diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/gapic/data_catalog_client.py b/datacatalog/google/cloud/datacatalog_v1beta1/gapic/data_catalog_client.py index 3be193c2d2f0..cea50cd34f7f 100644 --- a/datacatalog/google/cloud/datacatalog_v1beta1/gapic/data_catalog_client.py +++ b/datacatalog/google/cloud/datacatalog_v1beta1/gapic/data_catalog_client.py @@ -96,6 +96,16 @@ def entry_path(cls, project, location, entry_group, entry): entry=entry, ) + @classmethod + def entry_group_path(cls, project, location, entry_group): + """Return a fully-qualified entry_group string.""" + return google.api_core.path_template.expand( + "projects/{project}/locations/{location}/entryGroups/{entry_group}", + project=project, + location=location, + entry_group=entry_group, + ) + @classmethod def field_path(cls, project, location, tag_template, field): """Return a fully-qualified field string.""" @@ -268,7 +278,7 @@ def search_catalog( This is a custom method (https://cloud.google.com/apis/design/custom\_methods) and does not return the complete resource, only the resource identifier and high - level fields. Clients can subsequentally call Get methods. + level fields. Clients can subsequentally call ``Get`` methods. Note that searches do not have full recall. There may be results that match your query but are not returned, even in subsequent pages of @@ -330,15 +340,13 @@ def search_catalog( order_by (str): Specifies the ordering of results, currently supported case-sensitive choices are: - .. raw:: html + - ``relevance``, only supports desecending + - ``last_access_timestamp [asc|desc]``, defaults to descending if not + specified + - ``last_modified_timestamp [asc|desc]``, defaults to descending if not + specified - + If not specified, defaults to ``relevance`` descending. retry (Optional[google.api_core.retry.Retry]): A retry object used to retry requests. If ``None`` is specified, requests will be retried using a default configuration. @@ -390,6 +398,338 @@ def search_catalog( ) return iterator + def create_entry_group( + self, + parent, + entry_group_id, + entry_group, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Alpha feature. Creates an EntryGroup. The user should enable the Data + Catalog API in the project identified by the ``parent`` parameter (see + [Data Catalog Resource Project] + (/data-catalog/docs/concepts/resource-project) for more information). + + Example: + >>> from google.cloud import datacatalog_v1beta1 + >>> + >>> client = datacatalog_v1beta1.DataCatalogClient() + >>> + >>> parent = client.location_path('[PROJECT]', '[LOCATION]') + >>> + >>> # TODO: Initialize `entry_group_id`: + >>> entry_group_id = '' + >>> + >>> # TODO: Initialize `entry_group`: + >>> entry_group = {} + >>> + >>> response = client.create_entry_group(parent, entry_group_id, entry_group) + + Args: + parent (str): Required. The name of the project this entry group is in. Example: + + - projects/{project\_id}/locations/{location} + + Note that this EntryGroup and its child resources may not actually be + stored in the location in this name. + entry_group_id (str): Required. The id of the entry group to create. + entry_group (Union[dict, ~google.cloud.datacatalog_v1beta1.types.EntryGroup]): The entry group to create. Defaults to an empty entry group. + + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.datacatalog_v1beta1.types.EntryGroup` + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Returns: + A :class:`~google.cloud.datacatalog_v1beta1.types.EntryGroup` instance. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "create_entry_group" not in self._inner_api_calls: + self._inner_api_calls[ + "create_entry_group" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.create_entry_group, + default_retry=self._method_configs["CreateEntryGroup"].retry, + default_timeout=self._method_configs["CreateEntryGroup"].timeout, + client_info=self._client_info, + ) + + request = datacatalog_pb2.CreateEntryGroupRequest( + parent=parent, entry_group_id=entry_group_id, entry_group=entry_group + ) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("parent", parent)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + return self._inner_api_calls["create_entry_group"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + + def get_entry_group( + self, + name, + read_mask=None, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Alpha feature. + Gets an EntryGroup. + + Example: + >>> from google.cloud import datacatalog_v1beta1 + >>> + >>> client = datacatalog_v1beta1.DataCatalogClient() + >>> + >>> name = client.entry_group_path('[PROJECT]', '[LOCATION]', '[ENTRY_GROUP]') + >>> + >>> response = client.get_entry_group(name) + + Args: + name (str): Required. The name of the entry group. For example, + ``projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}``. + read_mask (Union[dict, ~google.cloud.datacatalog_v1beta1.types.FieldMask]): The fields to return. If not set or empty, all fields are returned. + + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.datacatalog_v1beta1.types.FieldMask` + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Returns: + A :class:`~google.cloud.datacatalog_v1beta1.types.EntryGroup` instance. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "get_entry_group" not in self._inner_api_calls: + self._inner_api_calls[ + "get_entry_group" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.get_entry_group, + default_retry=self._method_configs["GetEntryGroup"].retry, + default_timeout=self._method_configs["GetEntryGroup"].timeout, + client_info=self._client_info, + ) + + request = datacatalog_pb2.GetEntryGroupRequest(name=name, read_mask=read_mask) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("name", name)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + return self._inner_api_calls["get_entry_group"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + + def delete_entry_group( + self, + name, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Alpha feature. Deletes an EntryGroup. Only entry groups that do not + contain entries can be deleted. The user should enable the Data Catalog + API in the project identified by the ``name`` parameter (see [Data + Catalog Resource Project] (/data-catalog/docs/concepts/resource-project) + for more information). + + Example: + >>> from google.cloud import datacatalog_v1beta1 + >>> + >>> client = datacatalog_v1beta1.DataCatalogClient() + >>> + >>> name = client.entry_group_path('[PROJECT]', '[LOCATION]', '[ENTRY_GROUP]') + >>> + >>> client.delete_entry_group(name) + + Args: + name (str): Required. The name of the entry group. For example, + ``projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}``. + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "delete_entry_group" not in self._inner_api_calls: + self._inner_api_calls[ + "delete_entry_group" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.delete_entry_group, + default_retry=self._method_configs["DeleteEntryGroup"].retry, + default_timeout=self._method_configs["DeleteEntryGroup"].timeout, + client_info=self._client_info, + ) + + request = datacatalog_pb2.DeleteEntryGroupRequest(name=name) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("name", name)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + self._inner_api_calls["delete_entry_group"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + + def create_entry( + self, + parent, + entry_id, + entry, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Alpha feature. Creates an entry. Currently only entries of 'FILESET' + type can be created. The user should enable the Data Catalog API in the + project identified by the ``parent`` parameter (see [Data Catalog + Resource Project] (/data-catalog/docs/concepts/resource-project) for + more information). + + Example: + >>> from google.cloud import datacatalog_v1beta1 + >>> + >>> client = datacatalog_v1beta1.DataCatalogClient() + >>> + >>> parent = client.entry_group_path('[PROJECT]', '[LOCATION]', '[ENTRY_GROUP]') + >>> + >>> # TODO: Initialize `entry_id`: + >>> entry_id = '' + >>> + >>> # TODO: Initialize `entry`: + >>> entry = {} + >>> + >>> response = client.create_entry(parent, entry_id, entry) + + Args: + parent (str): Required. The name of the entry group this entry is in. Example: + + - projects/{project\_id}/locations/{location}/entryGroups/{entry\_group\_id} + + Note that this Entry and its child resources may not actually be stored + in the location in this name. + entry_id (str): Required. The id of the entry to create. + entry (Union[dict, ~google.cloud.datacatalog_v1beta1.types.Entry]): Required. The entry to create. + + If a dict is provided, it must be of the same form as the protobuf + message :class:`~google.cloud.datacatalog_v1beta1.types.Entry` + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Returns: + A :class:`~google.cloud.datacatalog_v1beta1.types.Entry` instance. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "create_entry" not in self._inner_api_calls: + self._inner_api_calls[ + "create_entry" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.create_entry, + default_retry=self._method_configs["CreateEntry"].retry, + default_timeout=self._method_configs["CreateEntry"].timeout, + client_info=self._client_info, + ) + + request = datacatalog_pb2.CreateEntryRequest( + parent=parent, entry_id=entry_id, entry=entry + ) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("parent", parent)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + return self._inner_api_calls["create_entry"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + def update_entry( self, entry, @@ -399,7 +739,10 @@ def update_entry( metadata=None, ): """ - Updates an existing entry. + Updates an existing entry. The user should enable the Data Catalog API + in the project identified by the ``entry.name`` parameter (see [Data + Catalog Resource Project] (/data-catalog/docs/concepts/resource-project) + for more information). Example: >>> from google.cloud import datacatalog_v1beta1 @@ -412,22 +755,26 @@ def update_entry( >>> response = client.update_entry(entry) Args: - entry (Union[dict, ~google.cloud.datacatalog_v1beta1.types.Entry]): Required. The updated Entry. + entry (Union[dict, ~google.cloud.datacatalog_v1beta1.types.Entry]): Required. The updated entry. The "name" field must be set. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.datacatalog_v1beta1.types.Entry` - update_mask (Union[dict, ~google.cloud.datacatalog_v1beta1.types.FieldMask]): Optional. The fields to update on the entry. If absent or empty, all - modifiable fields are updated. + update_mask (Union[dict, ~google.cloud.datacatalog_v1beta1.types.FieldMask]): The fields to update on the entry. If absent or empty, all modifiable + fields are updated. - Modifiable fields in synced entries: + The following fields are modifiable: - 1. schema (Pub/Sub topics only) + - For entries with type ``DATA_STREAM``: - Modifiable fields in native entries: + - ``schema`` - 1. display\_name - 2. description - 3. schema + - For entries with type ``FILESET`` + + - ``schema`` + - ``display_name`` + - ``description`` + - ``gcs_fileset_spec`` + - ``gcs_fileset_spec.file_patterns`` If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.datacatalog_v1beta1.types.FieldMask` @@ -481,6 +828,78 @@ def update_entry( request, retry=retry, timeout=timeout, metadata=metadata ) + def delete_entry( + self, + name, + retry=google.api_core.gapic_v1.method.DEFAULT, + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None, + ): + """ + Alpha feature. Deletes an existing entry. Only entries created through + ``CreateEntry`` method can be deleted. The user should enable the Data + Catalog API in the project identified by the ``name`` parameter (see + [Data Catalog Resource Project] + (/data-catalog/docs/concepts/resource-project) for more information). + + Example: + >>> from google.cloud import datacatalog_v1beta1 + >>> + >>> client = datacatalog_v1beta1.DataCatalogClient() + >>> + >>> name = client.entry_path('[PROJECT]', '[LOCATION]', '[ENTRY_GROUP]', '[ENTRY]') + >>> + >>> client.delete_entry(name) + + Args: + name (str): Required. The name of the entry. Example: + + - projects/{project\_id}/locations/{location}/entryGroups/{entry\_group\_id}/entries/{entry\_id} + retry (Optional[google.api_core.retry.Retry]): A retry object used + to retry requests. If ``None`` is specified, requests will + be retried using a default configuration. + timeout (Optional[float]): The amount of time, in seconds, to wait + for the request to complete. Note that if ``retry`` is + specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. + + Raises: + google.api_core.exceptions.GoogleAPICallError: If the request + failed for any reason. + google.api_core.exceptions.RetryError: If the request failed due + to a retryable error and retry attempts failed. + ValueError: If the parameters are invalid. + """ + # Wrap the transport method to add retry and timeout logic. + if "delete_entry" not in self._inner_api_calls: + self._inner_api_calls[ + "delete_entry" + ] = google.api_core.gapic_v1.method.wrap_method( + self.transport.delete_entry, + default_retry=self._method_configs["DeleteEntry"].retry, + default_timeout=self._method_configs["DeleteEntry"].timeout, + client_info=self._client_info, + ) + + request = datacatalog_pb2.DeleteEntryRequest(name=name) + if metadata is None: + metadata = [] + metadata = list(metadata) + try: + routing_header = [("name", name)] + except AttributeError: + pass + else: + routing_metadata = google.api_core.gapic_v1.routing_header.to_grpc_metadata( + routing_header + ) + metadata.append(routing_metadata) + + self._inner_api_calls["delete_entry"]( + request, retry=retry, timeout=timeout, metadata=metadata + ) + def get_entry( self, name, @@ -501,8 +920,14 @@ def get_entry( >>> response = client.get_entry(name) Args: - name (str): Required. The name of the entry. For example, - "projects/{project\_id}/locations/{location}/entryGroups/{entry\_group\_id}/entries/{entry\_id}". + name (str): Required. The name of the entry. Example: + + - projects/{project\_id}/locations/{location}/entryGroups/{entry\_group\_id}/entries/{entry\_id} + + Entry groups are logical groupings of entries. Currently, users cannot + create/modify entry groups. They are created by Data Catalog; they + include ``@bigquery`` for all BigQuery entries, and ``@pubsub`` for all + Cloud Pub/Sub entries. retry (Optional[google.api_core.retry.Retry]): A retry object used to retry requests. If ``None`` is specified, requests will be retried using a default configuration. @@ -574,26 +999,24 @@ def lookup_entry( Args: linked_resource (str): The full name of the Google Cloud Platform resource the Data Catalog entry represents. See: - https://cloud.google.com/apis/design/resource\_names#full\_resource\_name + https://cloud.google.com/apis/design/resource\_names#full\_resource\_name. Full names are case-sensitive. Examples: - "//bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId". - "//pubsub.googleapis.com/projects/projectId/topics/topicId" + + - //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId + - //pubsub.googleapis.com/projects/projectId/topics/topicId sql_resource (str): The SQL name of the entry. SQL names are case-sensitive. Examples: - .. raw:: html + - ``cloud_pubsub.project_id.topic_id`` + - ``pubsub.project_id.`topic.id.with.dots``` + - ``bigquery.project_id.dataset_id.table_id`` + - ``datacatalog.project_id.location_id.entry_group_id.entry_id`` - - *_ids shoud satisfy the standard SQL rules for identifiers. - https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical + ``*_id``\ s shoud satisfy the standard SQL rules for identifiers. + https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical. retry (Optional[google.api_core.retry.Retry]): A retry object used to retry requests. If ``None`` is specified, requests will be retried using a default configuration. @@ -647,7 +1070,11 @@ def create_tag_template( metadata=None, ): """ - Creates a tag template. + Creates a tag template. The user should enable the Data Catalog API in + the project identified by the ``parent`` parameter (see `Data Catalog + Resource + Project `__ + for more information). Example: >>> from google.cloud import datacatalog_v1beta1 @@ -666,7 +1093,10 @@ def create_tag_template( Args: parent (str): Required. The name of the project and the location this template is in. - Example: "projects/{project\_id}/locations/{location}". Note that this + Example: + + - projects/{project\_id}/locations/{location} + TagTemplate and its child resources may not actually be stored in the location in this name. tag_template_id (str): Required. The id of the tag template to create. @@ -744,8 +1174,9 @@ def get_tag_template( >>> response = client.get_tag_template(name) Args: - name (str): Required. The name of the tag template. For example, - "projects/{project\_id}/locations/{location}/tagTemplates/{tag\_template\_id}". + name (str): Required. The name of the tag template. Example: + + - projects/{project\_id}/locations/{location}/tagTemplates/{tag\_template\_id} retry (Optional[google.api_core.retry.Retry]): A retry object used to retry requests. If ``None`` is specified, requests will be retried using a default configuration. @@ -803,9 +1234,13 @@ def update_tag_template( metadata=None, ): """ - Updates a tag template. This method cannot be used to update the fields of - a template. The tag template fields are represented as separate resources - and should be updated using their own create/update/delete methods. + Updates a tag template. This method cannot be used to update the fields + of a template. The tag template fields are represented as separate + resources and should be updated using their own create/update/delete + methods. The user should enable the Data Catalog API in the project + identified by the ``tag_template.name`` parameter (see [Data Catalog + Resource Project] (/data-catalog/docs/concepts/resource-project) for + more information). Example: >>> from google.cloud import datacatalog_v1beta1 @@ -818,19 +1253,17 @@ def update_tag_template( >>> response = client.update_tag_template(tag_template) Args: - tag_template (Union[dict, ~google.cloud.datacatalog_v1beta1.types.TagTemplate]): Required. The template to update. + tag_template (Union[dict, ~google.cloud.datacatalog_v1beta1.types.TagTemplate]): Required. The template to update. The "name" field must be set. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.datacatalog_v1beta1.types.TagTemplate` - update_mask (Union[dict, ~google.cloud.datacatalog_v1beta1.types.FieldMask]): Optional. The field mask specifies the parts of the template to - overwrite. + update_mask (Union[dict, ~google.cloud.datacatalog_v1beta1.types.FieldMask]): The field mask specifies the parts of the template to overwrite. Allowed fields: - - display\_name + - ``display_name`` - If update\_mask is omitted, all of the allowed fields above will be - updated. + If absent or empty, all of the allowed fields above will be updated. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.datacatalog_v1beta1.types.FieldMask` @@ -893,7 +1326,10 @@ def delete_tag_template( metadata=None, ): """ - Deletes a tag template and all tags using the template. + Deletes a tag template and all tags using the template. The user should + enable the Data Catalog API in the project identified by the ``name`` + parameter (see [Data Catalog Resource Project] + (/data-catalog/docs/concepts/resource-project) for more information). Example: >>> from google.cloud import datacatalog_v1beta1 @@ -908,11 +1344,12 @@ def delete_tag_template( >>> client.delete_tag_template(name, force) Args: - name (str): Required. The name of the tag template to delete. For example, - "projects/{project\_id}/locations/{location}/tagTemplates/{tag\_template\_id}". - force (bool): Required. Currently, this field must always be set to true. - This confirms the deletion of any possible tags using this template. - force = false will be supported in the future. + name (str): Required. The name of the tag template to delete. Example: + + - projects/{project\_id}/locations/{location}/tagTemplates/{tag\_template\_id} + force (bool): Required. Currently, this field must always be set to ``true``. This + confirms the deletion of any possible tags using this template. + ``force = false`` will be supported in the future. retry (Optional[google.api_core.retry.Retry]): A retry object used to retry requests. If ``None`` is specified, requests will be retried using a default configuration. @@ -968,7 +1405,11 @@ def create_tag_template_field( metadata=None, ): """ - Creates a field in a tag template. + Creates a field in a tag template. The user should enable the Data + Catalog API in the project identified by the ``parent`` parameter (see + `Data Catalog Resource + Project `__ + for more information). Example: >>> from google.cloud import datacatalog_v1beta1 @@ -987,14 +1428,16 @@ def create_tag_template_field( Args: parent (str): Required. The name of the project this template is in. Example: - "projects/{project\_id}/locations/{location}/tagTemplates/{tag\_template\_id}". + + - projects/{project\_id}/locations/{location}/tagTemplates/{tag\_template\_id} + Note that this TagTemplateField may not actually be stored in the location in this name. - tag_template_field_id (str): Required. The id of the tag template field to create. Field ids can + tag_template_field_id (str): Required. The ID of the tag template field to create. Field ids can contain letters (both uppercase and lowercase), numbers (0-9), - underscores (\_) and dashes (-). Field ids must be at least 1 character - long and at most 128 characters long. Field ids must also be unique to - their template. + underscores (\_) and dashes (-). Field IDs must be at least 1 character + long and at most 128 characters long. Field IDs must also be unique + within their template. tag_template_field (Union[dict, ~google.cloud.datacatalog_v1beta1.types.TagTemplateField]): Required. The tag template field to create. If a dict is provided, it must be of the same form as the protobuf @@ -1061,8 +1504,11 @@ def update_tag_template_field( metadata=None, ): """ - Updates a field in a tag template. This method cannot be used to update the - field type. + Updates a field in a tag template. This method cannot be used to update + the field type. The user should enable the Data Catalog API in the + project identified by the ``name`` parameter (see [Data Catalog Resource + Project] (/data-catalog/docs/concepts/resource-project) for more + information). Example: >>> from google.cloud import datacatalog_v1beta1 @@ -1077,20 +1523,21 @@ def update_tag_template_field( >>> response = client.update_tag_template_field(name, tag_template_field) Args: - name (str): Required. The name of the tag template field. For example, - "projects/{project\_id}/locations/{location}/tagTemplates/{tag\_template\_id}/fields/{tag\_template\_field\_id}". + name (str): Required. The name of the tag template field. Example: + + - projects/{project\_id}/locations/{location}/tagTemplates/{tag\_template\_id}/fields/{tag\_template\_field\_id} tag_template_field (Union[dict, ~google.cloud.datacatalog_v1beta1.types.TagTemplateField]): Required. The template to update. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.datacatalog_v1beta1.types.TagTemplateField` - update_mask (Union[dict, ~google.cloud.datacatalog_v1beta1.types.FieldMask]): Optional. The field mask specifies the parts of the template to - overwrite. Allowed fields: + update_mask (Union[dict, ~google.cloud.datacatalog_v1beta1.types.FieldMask]): The field mask specifies the parts of the template to be updated. + Allowed fields: - - display\_name - - type.enum\_type + - ``display_name`` + - ``type.enum_type`` - If update\_mask is omitted, all of the allowed fields above will be - updated. + If ``update_mask`` is not set or empty, all of the allowed fields above + will be updated. When updating an enum type, the provided values will be merged with the existing values. Therefore, enum values can only be added, existing enum @@ -1157,7 +1604,11 @@ def rename_tag_template_field( metadata=None, ): """ - Renames a field in a tag template. + Renames a field in a tag template. The user should enable the Data + Catalog API in the project identified by the ``name`` parameter (see + `Data Catalog Resource + Project `__ + for more information). Example: >>> from google.cloud import datacatalog_v1beta1 @@ -1172,10 +1623,11 @@ def rename_tag_template_field( >>> response = client.rename_tag_template_field(name, new_tag_template_field_id) Args: - name (str): Required. The name of the tag template. For example, - "projects/{project\_id}/locations/{location}/tagTemplates/{tag\_template\_id}/fields/{tag\_template\_field\_id}". + name (str): Required. The name of the tag template. Example: + + - projects/{project\_id}/locations/{location}/tagTemplates/{tag\_template\_id}/fields/{tag\_template\_field\_id} new_tag_template_field_id (str): Required. The new ID of this tag template field. For example, - "my\_new\_field". + ``my_new_field``. retry (Optional[google.api_core.retry.Retry]): A retry object used to retry requests. If ``None`` is specified, requests will be retried using a default configuration. @@ -1235,7 +1687,10 @@ def delete_tag_template_field( metadata=None, ): """ - Deletes a field in a tag template and all uses of that field. + Deletes a field in a tag template and all uses of that field. The user + should enable the Data Catalog API in the project identified by the + ``name`` parameter (see [Data Catalog Resource Project] + (/data-catalog/docs/concepts/resource-project) for more information). Example: >>> from google.cloud import datacatalog_v1beta1 @@ -1250,11 +1705,12 @@ def delete_tag_template_field( >>> client.delete_tag_template_field(name, force) Args: - name (str): Required. The name of the tag template field to delete. For example, - "projects/{project\_id}/locations/{location}/tagTemplates/{tag\_template\_id}/fields/{tag\_template\_field\_id}". - force (bool): Required. Currently, this field must always be set to true. - This confirms the deletion of this field from any tags using this field. - force = false will be supported in the future. + name (str): Required. The name of the tag template field to delete. Example: + + - projects/{project\_id}/locations/{location}/tagTemplates/{tag\_template\_id}/fields/{tag\_template\_field\_id} + force (bool): Required. Currently, this field must always be set to ``true``. This + confirms the deletion of this field from any tags using this field. + ``force = false`` will be supported in the future. retry (Optional[google.api_core.retry.Retry]): A retry object used to retry requests. If ``None`` is specified, requests will be retried using a default configuration. @@ -1309,7 +1765,12 @@ def create_tag( metadata=None, ): """ - Creates a tag on an ``Entry``. + Creates a tag on an ``Entry``. Note: The project identified by the + ``parent`` parameter for the + `tag `__ + and the `tag + template `__ + used to create the tag must be from the same organization. Example: >>> from google.cloud import datacatalog_v1beta1 @@ -1325,8 +1786,10 @@ def create_tag( Args: parent (str): Required. The name of the resource to attach this tag to. Tags can be - attached to Entries. (example: - "projects/{project\_id}/locations/{location}/entryGroups/{entry\_group\_id}/entries/{entry\_id}"). + attached to Entries. Example: + + - projects/{project\_id}/locations/{location}/entryGroups/{entry\_group\_id}/entries/{entry\_id} + Note that this Tag and its child resources may not actually be stored in the location in this name. tag (Union[dict, ~google.cloud.datacatalog_v1beta1.types.Tag]): Required. The tag to create. @@ -1403,13 +1866,13 @@ def update_tag( >>> response = client.update_tag(tag) Args: - tag (Union[dict, ~google.cloud.datacatalog_v1beta1.types.Tag]): Required. The updated tag. + tag (Union[dict, ~google.cloud.datacatalog_v1beta1.types.Tag]): Required. The updated tag. The "name" field must be set. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.datacatalog_v1beta1.types.Tag` - update_mask (Union[dict, ~google.cloud.datacatalog_v1beta1.types.FieldMask]): Optional. The fields to update on the Tag. If absent or empty, all - modifiable fields are updated. Currently the only modifiable field is - the field ``fields``. + update_mask (Union[dict, ~google.cloud.datacatalog_v1beta1.types.FieldMask]): The fields to update on the Tag. If absent or empty, all modifiable + fields are updated. Currently the only modifiable field is the field + ``fields``. If a dict is provided, it must be of the same form as the protobuf message :class:`~google.cloud.datacatalog_v1beta1.types.FieldMask` @@ -1481,8 +1944,9 @@ def delete_tag( >>> client.delete_tag(name) Args: - name (str): Required. The name of the tag to delete. For example, - "projects/{project\_id}/locations/{location}/entryGroups/{entry\_group\_id}/entries/{entry\_id}/tags/{tag\_id}". + name (str): Required. The name of the tag to delete. Example: + + - projects/{project\_id}/locations/{location}/entryGroups/{entry\_group\_id}/entries/{entry\_id}/tags/{tag\_id} retry (Optional[google.api_core.retry.Retry]): A retry object used to retry requests. If ``None`` is specified, requests will be retried using a default configuration. @@ -1642,13 +2106,19 @@ def set_iam_policy( Sets the access control policy for a resource. Replaces any existing policy. Supported resources are: - - Tag templates. Note, this method cannot be used to manage policies - for BigQuery, Cloud Pub/Sub and any external Google Cloud Platform + - Tag templates. + - Entries. + - Entry groups. Note, this method cannot be used to manage policies for + BigQuery, Cloud Pub/Sub and any external Google Cloud Platform resources synced to Cloud Data Catalog. Callers must have following Google IAM permission - ``datacatalog.tagTemplates.setIamPolicy`` to set policies on tag - templates. + + - ``datacatalog.tagTemplates.setIamPolicy`` to set policies on tag + templates. + - ``datacatalog.entries.setIamPolicy`` to set policies on entries. + - ``datacatalog.entryGroups.setIamPolicy`` to set policies on entry + groups. Example: >>> from google.cloud import datacatalog_v1beta1 @@ -1735,13 +2205,19 @@ def get_iam_policy( Supported resources are: - - Tag templates. Note, this method cannot be used to manage policies - for BigQuery, Cloud Pub/Sub and any external Google Cloud Platform + - Tag templates. + - Entries. + - Entry groups. Note, this method cannot be used to manage policies for + BigQuery, Cloud Pub/Sub and any external Google Cloud Platform resources synced to Cloud Data Catalog. Callers must have following Google IAM permission - ``datacatalog.tagTemplates.getIamPolicy`` to get policies on tag - templates. + + - ``datacatalog.tagTemplates.getIamPolicy`` to get policies on tag + templates. + - ``datacatalog.entries.getIamPolicy`` to get policies on entries. + - ``datacatalog.entryGroups.getIamPolicy`` to get policies on entry + groups. Example: >>> from google.cloud import datacatalog_v1beta1 @@ -1823,10 +2299,12 @@ def test_iam_permissions( exist, an empty set of permissions is returned (We don't return a ``NOT_FOUND`` error). - Supported resource are: + Supported resources are: - - tag templates. Note, this method cannot be used to manage policies - for BigQuery, Cloud Pub/Sub and any external Google Cloud Platform + - Tag templates. + - Entries. + - Entry groups. Note, this method cannot be used to manage policies for + BigQuery, Cloud Pub/Sub and any external Google Cloud Platform resources synced to Cloud Data Catalog. A caller is not required to have Google IAM permission to make this diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/gapic/data_catalog_client_config.py b/datacatalog/google/cloud/datacatalog_v1beta1/gapic/data_catalog_client_config.py index a1bda46164f0..065f9970864c 100644 --- a/datacatalog/google/cloud/datacatalog_v1beta1/gapic/data_catalog_client_config.py +++ b/datacatalog/google/cloud/datacatalog_v1beta1/gapic/data_catalog_client_config.py @@ -22,11 +22,36 @@ "retry_codes_name": "non_idempotent", "retry_params_name": "default", }, + "CreateEntryGroup": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default", + }, + "GetEntryGroup": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default", + }, + "DeleteEntryGroup": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default", + }, + "CreateEntry": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default", + }, "UpdateEntry": { "timeout_millis": 60000, "retry_codes_name": "non_idempotent", "retry_params_name": "default", }, + "DeleteEntry": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default", + }, "GetEntry": { "timeout_millis": 60000, "retry_codes_name": "idempotent", diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/gapic/enums.py b/datacatalog/google/cloud/datacatalog_v1beta1/gapic/enums.py index 954b282e5021..de76fc9f8a3b 100644 --- a/datacatalog/google/cloud/datacatalog_v1beta1/gapic/enums.py +++ b/datacatalog/google/cloud/datacatalog_v1beta1/gapic/enums.py @@ -21,19 +21,24 @@ class EntryType(enum.IntEnum): """ - Entry resources in Data Catalog can be of different types e.g. BigQuery - Table entry is of type 'TABLE'. This enum describes all the possible types - Data Catalog contains. + Entry resources in Data Catalog can be of different types e.g. a + BigQuery Table entry is of type ``TABLE``. This enum describes all the + possible types Data Catalog contains. Attributes: ENTRY_TYPE_UNSPECIFIED (int): Default unknown type - TABLE (int): The type of entry that has a GoogleSQL schema, including logical views. - DATA_STREAM (int): An entry type which is used for streaming entries. Example - Pub/Sub. + TABLE (int): Output only. The type of entry that has a GoogleSQL schema, including + logical views. + DATA_STREAM (int): Output only. An entry type which is used for streaming entries. Example: + Cloud Pub/Sub topic. + FILESET (int): Alpha feature. An entry type which is a set of files or objects. Example: + Cloud Storage fileset. """ ENTRY_TYPE_UNSPECIFIED = 0 TABLE = 2 DATA_STREAM = 3 + FILESET = 4 class SearchResultType(enum.IntEnum): diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/gapic/transports/data_catalog_grpc_transport.py b/datacatalog/google/cloud/datacatalog_v1beta1/gapic/transports/data_catalog_grpc_transport.py index 5f1e9639e7a6..2cbeb340f133 100644 --- a/datacatalog/google/cloud/datacatalog_v1beta1/gapic/transports/data_catalog_grpc_transport.py +++ b/datacatalog/google/cloud/datacatalog_v1beta1/gapic/transports/data_catalog_grpc_transport.py @@ -117,7 +117,7 @@ def search_catalog(self): This is a custom method (https://cloud.google.com/apis/design/custom\_methods) and does not return the complete resource, only the resource identifier and high - level fields. Clients can subsequentally call Get methods. + level fields. Clients can subsequentally call ``Get`` methods. Note that searches do not have full recall. There may be results that match your query but are not returned, even in subsequent pages of @@ -135,11 +135,78 @@ def search_catalog(self): """ return self._stubs["data_catalog_stub"].SearchCatalog + @property + def create_entry_group(self): + """Return the gRPC stub for :meth:`DataCatalogClient.create_entry_group`. + + Alpha feature. Creates an EntryGroup. The user should enable the Data + Catalog API in the project identified by the ``parent`` parameter (see + [Data Catalog Resource Project] + (/data-catalog/docs/concepts/resource-project) for more information). + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["data_catalog_stub"].CreateEntryGroup + + @property + def get_entry_group(self): + """Return the gRPC stub for :meth:`DataCatalogClient.get_entry_group`. + + Alpha feature. + Gets an EntryGroup. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["data_catalog_stub"].GetEntryGroup + + @property + def delete_entry_group(self): + """Return the gRPC stub for :meth:`DataCatalogClient.delete_entry_group`. + + Alpha feature. Deletes an EntryGroup. Only entry groups that do not + contain entries can be deleted. The user should enable the Data Catalog + API in the project identified by the ``name`` parameter (see [Data + Catalog Resource Project] (/data-catalog/docs/concepts/resource-project) + for more information). + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["data_catalog_stub"].DeleteEntryGroup + + @property + def create_entry(self): + """Return the gRPC stub for :meth:`DataCatalogClient.create_entry`. + + Alpha feature. Creates an entry. Currently only entries of 'FILESET' + type can be created. The user should enable the Data Catalog API in the + project identified by the ``parent`` parameter (see [Data Catalog + Resource Project] (/data-catalog/docs/concepts/resource-project) for + more information). + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["data_catalog_stub"].CreateEntry + @property def update_entry(self): """Return the gRPC stub for :meth:`DataCatalogClient.update_entry`. - Updates an existing entry. + Updates an existing entry. The user should enable the Data Catalog API + in the project identified by the ``entry.name`` parameter (see [Data + Catalog Resource Project] (/data-catalog/docs/concepts/resource-project) + for more information). Returns: Callable: A callable which accepts the appropriate @@ -148,6 +215,23 @@ def update_entry(self): """ return self._stubs["data_catalog_stub"].UpdateEntry + @property + def delete_entry(self): + """Return the gRPC stub for :meth:`DataCatalogClient.delete_entry`. + + Alpha feature. Deletes an existing entry. Only entries created through + ``CreateEntry`` method can be deleted. The user should enable the Data + Catalog API in the project identified by the ``name`` parameter (see + [Data Catalog Resource Project] + (/data-catalog/docs/concepts/resource-project) for more information). + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs["data_catalog_stub"].DeleteEntry + @property def get_entry(self): """Return the gRPC stub for :meth:`DataCatalogClient.get_entry`. @@ -180,7 +264,11 @@ def lookup_entry(self): def create_tag_template(self): """Return the gRPC stub for :meth:`DataCatalogClient.create_tag_template`. - Creates a tag template. + Creates a tag template. The user should enable the Data Catalog API in + the project identified by the ``parent`` parameter (see `Data Catalog + Resource + Project `__ + for more information). Returns: Callable: A callable which accepts the appropriate @@ -206,9 +294,13 @@ def get_tag_template(self): def update_tag_template(self): """Return the gRPC stub for :meth:`DataCatalogClient.update_tag_template`. - Updates a tag template. This method cannot be used to update the fields of - a template. The tag template fields are represented as separate resources - and should be updated using their own create/update/delete methods. + Updates a tag template. This method cannot be used to update the fields + of a template. The tag template fields are represented as separate + resources and should be updated using their own create/update/delete + methods. The user should enable the Data Catalog API in the project + identified by the ``tag_template.name`` parameter (see [Data Catalog + Resource Project] (/data-catalog/docs/concepts/resource-project) for + more information). Returns: Callable: A callable which accepts the appropriate @@ -221,7 +313,10 @@ def update_tag_template(self): def delete_tag_template(self): """Return the gRPC stub for :meth:`DataCatalogClient.delete_tag_template`. - Deletes a tag template and all tags using the template. + Deletes a tag template and all tags using the template. The user should + enable the Data Catalog API in the project identified by the ``name`` + parameter (see [Data Catalog Resource Project] + (/data-catalog/docs/concepts/resource-project) for more information). Returns: Callable: A callable which accepts the appropriate @@ -234,7 +329,11 @@ def delete_tag_template(self): def create_tag_template_field(self): """Return the gRPC stub for :meth:`DataCatalogClient.create_tag_template_field`. - Creates a field in a tag template. + Creates a field in a tag template. The user should enable the Data + Catalog API in the project identified by the ``parent`` parameter (see + `Data Catalog Resource + Project `__ + for more information). Returns: Callable: A callable which accepts the appropriate @@ -247,8 +346,11 @@ def create_tag_template_field(self): def update_tag_template_field(self): """Return the gRPC stub for :meth:`DataCatalogClient.update_tag_template_field`. - Updates a field in a tag template. This method cannot be used to update the - field type. + Updates a field in a tag template. This method cannot be used to update + the field type. The user should enable the Data Catalog API in the + project identified by the ``name`` parameter (see [Data Catalog Resource + Project] (/data-catalog/docs/concepts/resource-project) for more + information). Returns: Callable: A callable which accepts the appropriate @@ -261,7 +363,11 @@ def update_tag_template_field(self): def rename_tag_template_field(self): """Return the gRPC stub for :meth:`DataCatalogClient.rename_tag_template_field`. - Renames a field in a tag template. + Renames a field in a tag template. The user should enable the Data + Catalog API in the project identified by the ``name`` parameter (see + `Data Catalog Resource + Project `__ + for more information). Returns: Callable: A callable which accepts the appropriate @@ -274,7 +380,10 @@ def rename_tag_template_field(self): def delete_tag_template_field(self): """Return the gRPC stub for :meth:`DataCatalogClient.delete_tag_template_field`. - Deletes a field in a tag template and all uses of that field. + Deletes a field in a tag template and all uses of that field. The user + should enable the Data Catalog API in the project identified by the + ``name`` parameter (see [Data Catalog Resource Project] + (/data-catalog/docs/concepts/resource-project) for more information). Returns: Callable: A callable which accepts the appropriate @@ -287,7 +396,12 @@ def delete_tag_template_field(self): def create_tag(self): """Return the gRPC stub for :meth:`DataCatalogClient.create_tag`. - Creates a tag on an ``Entry``. + Creates a tag on an ``Entry``. Note: The project identified by the + ``parent`` parameter for the + `tag `__ + and the `tag + template `__ + used to create the tag must be from the same organization. Returns: Callable: A callable which accepts the appropriate @@ -342,13 +456,19 @@ def set_iam_policy(self): Sets the access control policy for a resource. Replaces any existing policy. Supported resources are: - - Tag templates. Note, this method cannot be used to manage policies - for BigQuery, Cloud Pub/Sub and any external Google Cloud Platform + - Tag templates. + - Entries. + - Entry groups. Note, this method cannot be used to manage policies for + BigQuery, Cloud Pub/Sub and any external Google Cloud Platform resources synced to Cloud Data Catalog. Callers must have following Google IAM permission - ``datacatalog.tagTemplates.setIamPolicy`` to set policies on tag - templates. + + - ``datacatalog.tagTemplates.setIamPolicy`` to set policies on tag + templates. + - ``datacatalog.entries.setIamPolicy`` to set policies on entries. + - ``datacatalog.entryGroups.setIamPolicy`` to set policies on entry + groups. Returns: Callable: A callable which accepts the appropriate @@ -367,13 +487,19 @@ def get_iam_policy(self): Supported resources are: - - Tag templates. Note, this method cannot be used to manage policies - for BigQuery, Cloud Pub/Sub and any external Google Cloud Platform + - Tag templates. + - Entries. + - Entry groups. Note, this method cannot be used to manage policies for + BigQuery, Cloud Pub/Sub and any external Google Cloud Platform resources synced to Cloud Data Catalog. Callers must have following Google IAM permission - ``datacatalog.tagTemplates.getIamPolicy`` to get policies on tag - templates. + + - ``datacatalog.tagTemplates.getIamPolicy`` to get policies on tag + templates. + - ``datacatalog.entries.getIamPolicy`` to get policies on entries. + - ``datacatalog.entryGroups.getIamPolicy`` to get policies on entry + groups. Returns: Callable: A callable which accepts the appropriate @@ -390,10 +516,12 @@ def test_iam_permissions(self): exist, an empty set of permissions is returned (We don't return a ``NOT_FOUND`` error). - Supported resource are: + Supported resources are: - - tag templates. Note, this method cannot be used to manage policies - for BigQuery, Cloud Pub/Sub and any external Google Cloud Platform + - Tag templates. + - Entries. + - Entry groups. Note, this method cannot be used to manage policies for + BigQuery, Cloud Pub/Sub and any external Google Cloud Platform resources synced to Cloud Data Catalog. A caller is not required to have Google IAM permission to make this diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/proto/datacatalog.proto b/datacatalog/google/cloud/datacatalog_v1beta1/proto/datacatalog.proto index e89e7ad62671..8b67be1a0d29 100644 --- a/datacatalog/google/cloud/datacatalog_v1beta1/proto/datacatalog.proto +++ b/datacatalog/google/cloud/datacatalog_v1beta1/proto/datacatalog.proto @@ -18,6 +18,10 @@ syntax = "proto3"; package google.cloud.datacatalog.v1beta1; import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/datacatalog/v1beta1/gcs_fileset_spec.proto"; import "google/cloud/datacatalog/v1beta1/schema.proto"; import "google/cloud/datacatalog/v1beta1/search.proto"; import "google/cloud/datacatalog/v1beta1/table_spec.proto"; @@ -27,7 +31,6 @@ import "google/iam/v1/iam_policy.proto"; import "google/iam/v1/policy.proto"; import "google/protobuf/empty.proto"; import "google/protobuf/field_mask.proto"; -import "google/api/client.proto"; option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog"; @@ -38,7 +41,8 @@ option java_package = "com.google.cloud.datacatalog"; // their data. service DataCatalog { option (google.api.default_host) = "datacatalog.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; // Searches Data Catalog for multiple resources like entries, tags that // match a query. @@ -46,7 +50,7 @@ service DataCatalog { // This is a custom method // (https://cloud.google.com/apis/design/custom_methods) and does not return // the complete resource, only the resource identifier and high level - // fields. Clients can subsequentally call Get methods. + // fields. Clients can subsequentally call `Get` methods. // // Note that searches do not have full recall. There may be results that match // your query but are not returned, even in subsequent pages of results. These @@ -60,14 +64,83 @@ service DataCatalog { post: "/v1beta1/catalog:search" body: "*" }; + option (google.api.method_signature) = "scope,query"; + } + + // Alpha feature. + // Creates an EntryGroup. + // The user should enable the Data Catalog API in the project identified by + // the `parent` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + rpc CreateEntryGroup(CreateEntryGroupRequest) returns (EntryGroup) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*}/entryGroups" + body: "entry_group" + }; + option (google.api.method_signature) = "parent,entry_group_id,entry_group"; + } + + // Alpha feature. + // Gets an EntryGroup. + rpc GetEntryGroup(GetEntryGroupRequest) returns (EntryGroup) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/entryGroups/*}" + }; + option (google.api.method_signature) = "name"; + option (google.api.method_signature) = "name,read_mask"; + } + + // Alpha feature. + // Deletes an EntryGroup. Only entry groups that do not contain entries can be + // deleted. The user should enable the Data Catalog API in the project + // identified by the `name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + rpc DeleteEntryGroup(DeleteEntryGroupRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/entryGroups/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Alpha feature. + // Creates an entry. Currently only entries of 'FILESET' type can be created. + // The user should enable the Data Catalog API in the project identified by + // the `parent` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + rpc CreateEntry(CreateEntryRequest) returns (Entry) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*/entryGroups/*}/entries" + body: "entry" + }; + option (google.api.method_signature) = "parent,entry_id,entry"; } // Updates an existing entry. + // The user should enable the Data Catalog API in the project identified by + // the `entry.name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). rpc UpdateEntry(UpdateEntryRequest) returns (Entry) { option (google.api.http) = { patch: "/v1beta1/{entry.name=projects/*/locations/*/entryGroups/*/entries/*}" body: "entry" }; + option (google.api.method_signature) = "entry"; + option (google.api.method_signature) = "entry,update_mask"; + } + + // Alpha feature. + // Deletes an existing entry. Only entries created through + // [CreateEntry][google.cloud.datacatalog.v1beta1.DataCatalog.CreateEntry] + // method can be deleted. + // The user should enable the Data Catalog API in the project identified by + // the `name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + rpc DeleteEntry(DeleteEntryRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/entryGroups/*/entries/*}" + }; + option (google.api.method_signature) = "name"; } // Gets an entry. @@ -75,6 +148,7 @@ service DataCatalog { option (google.api.http) = { get: "/v1beta1/{name=projects/*/locations/*/entryGroups/*/entries/*}" }; + option (google.api.method_signature) = "name"; } // Get an entry by target resource name. This method allows clients to use @@ -86,12 +160,17 @@ service DataCatalog { }; } - // Creates a tag template. + // Creates a tag template. The user should enable the Data Catalog API in + // the project identified by the `parent` parameter (see [Data Catalog + // Resource Project](/data-catalog/docs/concepts/resource-project) for more + // information). rpc CreateTagTemplate(CreateTagTemplateRequest) returns (TagTemplate) { option (google.api.http) = { post: "/v1beta1/{parent=projects/*/locations/*}/tagTemplates" body: "tag_template" }; + option (google.api.method_signature) = + "parent,tag_template_id,tag_template"; } // Gets a tag template. @@ -99,63 +178,104 @@ service DataCatalog { option (google.api.http) = { get: "/v1beta1/{name=projects/*/locations/*/tagTemplates/*}" }; + option (google.api.method_signature) = "name"; } // Updates a tag template. This method cannot be used to update the fields of // a template. The tag template fields are represented as separate resources // and should be updated using their own create/update/delete methods. + // The user should enable the Data Catalog API in the project identified by + // the `tag_template.name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). rpc UpdateTagTemplate(UpdateTagTemplateRequest) returns (TagTemplate) { option (google.api.http) = { patch: "/v1beta1/{tag_template.name=projects/*/locations/*/tagTemplates/*}" body: "tag_template" }; + option (google.api.method_signature) = "tag_template"; + option (google.api.method_signature) = "tag_template,update_mask"; } // Deletes a tag template and all tags using the template. - rpc DeleteTagTemplate(DeleteTagTemplateRequest) returns (google.protobuf.Empty) { + // The user should enable the Data Catalog API in the project identified by + // the `name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + rpc DeleteTagTemplate(DeleteTagTemplateRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1beta1/{name=projects/*/locations/*/tagTemplates/*}" }; + option (google.api.method_signature) = "name,force"; } - // Creates a field in a tag template. - rpc CreateTagTemplateField(CreateTagTemplateFieldRequest) returns (TagTemplateField) { + // Creates a field in a tag template. The user should enable the Data Catalog + // API in the project identified by the `parent` parameter (see + // [Data Catalog Resource + // Project](/data-catalog/docs/concepts/resource-project) for more + // information). + rpc CreateTagTemplateField(CreateTagTemplateFieldRequest) + returns (TagTemplateField) { option (google.api.http) = { post: "/v1beta1/{parent=projects/*/locations/*/tagTemplates/*}/fields" body: "tag_template_field" }; + option (google.api.method_signature) = + "parent,tag_template_field_id,tag_template_field"; } // Updates a field in a tag template. This method cannot be used to update the - // field type. - rpc UpdateTagTemplateField(UpdateTagTemplateFieldRequest) returns (TagTemplateField) { + // field type. The user should enable the Data Catalog API in the project + // identified by the `name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + rpc UpdateTagTemplateField(UpdateTagTemplateFieldRequest) + returns (TagTemplateField) { option (google.api.http) = { patch: "/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}" body: "tag_template_field" }; + option (google.api.method_signature) = "name,tag_template_field"; + option (google.api.method_signature) = + "name,tag_template_field,update_mask"; } - // Renames a field in a tag template. - rpc RenameTagTemplateField(RenameTagTemplateFieldRequest) returns (TagTemplateField) { + // Renames a field in a tag template. The user should enable the Data Catalog + // API in the project identified by the `name` parameter (see [Data Catalog + // Resource Project](/data-catalog/docs/concepts/resource-project) for more + // information). + rpc RenameTagTemplateField(RenameTagTemplateFieldRequest) + returns (TagTemplateField) { option (google.api.http) = { post: "/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}:rename" body: "*" }; + option (google.api.method_signature) = "name,new_tag_template_field_id"; } // Deletes a field in a tag template and all uses of that field. - rpc DeleteTagTemplateField(DeleteTagTemplateFieldRequest) returns (google.protobuf.Empty) { + // The user should enable the Data Catalog API in the project identified by + // the `name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + rpc DeleteTagTemplateField(DeleteTagTemplateFieldRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}" }; + option (google.api.method_signature) = "name,force"; } // Creates a tag on an [Entry][google.cloud.datacatalog.v1beta1.Entry]. + // Note: The project identified by the `parent` parameter for the + // [tag](/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters) + // and the + // [tag + // template](/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters) + // used to create the tag must be from the same organization. rpc CreateTag(CreateTagRequest) returns (Tag) { option (google.api.http) = { post: "/v1beta1/{parent=projects/*/locations/*/entryGroups/*/entries/*}/tags" body: "tag" }; + option (google.api.method_signature) = "parent,tag"; } // Updates an existing tag. @@ -164,6 +284,8 @@ service DataCatalog { patch: "/v1beta1/{tag.name=projects/*/locations/*/entryGroups/*/entries/*/tags/*}" body: "tag" }; + option (google.api.method_signature) = "tag"; + option (google.api.method_signature) = "tag,update_mask"; } // Deletes a tag. @@ -171,6 +293,7 @@ service DataCatalog { option (google.api.http) = { delete: "/v1beta1/{name=projects/*/locations/*/entryGroups/*/entries/*/tags/*}" }; + option (google.api.method_signature) = "name"; } // Lists the tags on an [Entry][google.cloud.datacatalog.v1beta1.Entry]. @@ -178,22 +301,37 @@ service DataCatalog { option (google.api.http) = { get: "/v1beta1/{parent=projects/*/locations/*/entryGroups/*/entries/*}/tags" }; + option (google.api.method_signature) = "parent"; } // Sets the access control policy for a resource. Replaces any existing // policy. // Supported resources are: // - Tag templates. + // - Entries. + // - Entry groups. // Note, this method cannot be used to manage policies for BigQuery, Cloud // Pub/Sub and any external Google Cloud Platform resources synced to Cloud // Data Catalog. // // Callers must have following Google IAM permission - // `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) { + // - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag + // templates. + // - `datacatalog.entries.setIamPolicy` to set policies on entries. + // - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups. + rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) + returns (google.iam.v1.Policy) { option (google.api.http) = { post: "/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:setIamPolicy" body: "*" + additional_bindings { + post: "/v1beta1/{resource=projects/*/locations/*/entryGroups/*}:setIamPolicy" + body: "*" + } + additional_bindings { + post: "/v1beta1/{resource=projects/*/locations/*/entryGroups/*/entries/*}:setIamPolicy" + body: "*" + } }; } @@ -203,16 +341,30 @@ service DataCatalog { // // Supported resources are: // - Tag templates. + // - Entries. + // - Entry groups. // Note, this method cannot be used to manage policies for BigQuery, Cloud // Pub/Sub and any external Google Cloud Platform resources synced to Cloud // Data Catalog. // // Callers must have following Google IAM permission - // `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) { + // - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag + // templates. + // - `datacatalog.entries.getIamPolicy` to get policies on entries. + // - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. + rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) + returns (google.iam.v1.Policy) { option (google.api.http) = { post: "/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:getIamPolicy" body: "*" + additional_bindings { + post: "/v1beta1/{resource=projects/*/locations/*/entryGroups/*}:getIamPolicy" + body: "*" + } + additional_bindings { + post: "/v1beta1/{resource=projects/*/locations/*/entryGroups/*/entries/*}:getIamPolicy" + body: "*" + } }; } @@ -220,18 +372,29 @@ service DataCatalog { // If the resource does not exist, an empty set of permissions is returned // (We don't return a `NOT_FOUND` error). // - // Supported resource are: - // - tag templates. + // Supported resources are: + // - Tag templates. + // - Entries. + // - Entry groups. // Note, this method cannot be used to manage policies for BigQuery, Cloud // Pub/Sub and any external Google Cloud Platform resources synced to Cloud // Data Catalog. // // A caller is not required to have Google IAM permission to make this // request. - rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) { + rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) + returns (google.iam.v1.TestIamPermissionsResponse) { option (google.api.http) = { post: "/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:testIamPermissions" body: "*" + additional_bindings { + post: "/v1beta1/{resource=projects/*/locations/*/entryGroups/*}:testIamPermissions" + body: "*" + } + additional_bindings { + post: "/v1beta1/{resource=projects/*/locations/*/entryGroups/*/entries/*}:testIamPermissions" + body: "*" + } }; } } @@ -242,21 +405,21 @@ message SearchCatalogRequest { message Scope { // Data Catalog tries to automatically choose the right corpus of data to // search through. You can ensure an organization is included by adding it - // to "include_org_ids". You can ensure a project's org is included with - // "include_project_ids". You must specify at least one organization - // using "include_org_ids" or "include_project_ids" in all search requests. + // to `include_org_ids`. You can ensure a project's org is included with + // `include_project_ids`. You must specify at least one organization + // using `include_org_ids` or `include_project_ids` in all search requests. // // List of organization IDs to search within. To find your organization ID, // follow instructions in - // https://cloud.google.com/resource-manager/docs/creating-managing-organization + // https://cloud.google.com/resource-manager/docs/creating-managing-organization. repeated string include_org_ids = 2; // List of project IDs to search within. To learn more about the // distinction between project names/IDs/numbers, go to - // https://cloud.google.com/docs/overview/#projects + // https://cloud.google.com/docs/overview/#projects. repeated string include_project_ids = 3; - // If true, include Google Cloud Platform (GCP) public datasets in the + // If `true`, include Google Cloud Platform (GCP) public datasets in the // search results. Info on GCP public datasets is available at // https://cloud.google.com/public-datasets/. By default, GCP public // datasets are excluded. @@ -264,7 +427,7 @@ message SearchCatalogRequest { } // Required. The scope of this search request. - Scope scope = 6; + Scope scope = 6 [(google.api.field_behavior) = REQUIRED]; // Required. The query string in search query syntax. The query must be // non-empty. @@ -278,36 +441,37 @@ message SearchCatalogRequest { // Note: Query tokens need to have a minimum of 3 characters for substring // matching to work correctly. See [Data Catalog Search // Syntax](/data-catalog/docs/how-to/search-reference) for more information. - string query = 1; + string query = 1 [(google.api.field_behavior) = REQUIRED]; // Number of results in the search page. If <=0 then defaults to 10. Max limit // for page_size is 1000. Throws an invalid argument for page_size > 1000. int32 page_size = 2; - // Optional pagination token returned in an earlier - // [SearchCatalogResponse.next_page_token][google.cloud.datacatalog.v1beta1.DataCatalog.SearchCatalogResponse.next_page_token]; - // indicates that this is a continuation of a prior - // [SearchCatalog][google.cloud.datacatalog.v1beta1.DataCatalog.SearchCatalog] - // call, and that the system should return the next page of data. If empty - // then the first page is returned. - string page_token = 3; + // Optional. Pagination token returned in an earlier + // [SearchCatalogResponse.next_page_token][google.cloud.datacatalog.v1beta1.SearchCatalogResponse.next_page_token], + // which indicates that this is a continuation of a prior + // [SearchCatalogRequest][google.cloud.datacatalog.v1beta1.DataCatalog.SearchCatalog] + // call, and that the system should return the next page of data. If empty, + // the first page is returned. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; // Specifies the ordering of results, currently supported case-sensitive // choices are: - //
    - //
  • relevance
  • - //
  • last_access_timestamp [asc|desc], defaults to descending if not - // specified,
  • - //
  • last_modified_timestamp [asc|desc], defaults to descending if not - // specified.
  • - //
+ // + // * `relevance`, only supports desecending + // * `last_access_timestamp [asc|desc]`, defaults to descending if not + // specified + // * `last_modified_timestamp [asc|desc]`, defaults to descending if not + // specified + // + // If not specified, defaults to `relevance` descending. string order_by = 5; } // Response message for // [SearchCatalog][google.cloud.datacatalog.v1beta1.DataCatalog.SearchCatalog]. message SearchCatalogResponse { - // Search results in descending order of relevance. + // Search results. repeated SearchCatalogResult results = 1; // The token that can be used to retrieve the next page of results. @@ -315,32 +479,132 @@ message SearchCatalogResponse { } // Request message for -// [UpdateEntry][google.cloud.datacatalog.v1beta1.DataCatalog.UpdateEntry]. -message UpdateEntryRequest { - // Required. The updated Entry. - Entry entry = 1; - - // Optional. The fields to update on the entry. If absent or empty, all - // modifiable fields are updated. +// [CreateEntryGroup][google.cloud.datacatalog.v1beta1.DataCatalog.CreateEntryGroup]. +message CreateEntryGroupRequest { + // Required. The name of the project this entry group is in. Example: // - // Modifiable fields in synced entries: + // * projects/{project_id}/locations/{location} // - // 1. schema (Pub/Sub topics only) + // Note that this EntryGroup and its child resources may not actually be + // stored in the location in this name. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datacatalog.googleapis.com/EntryGroup" + } + ]; + + // Required. The id of the entry group to create. + string entry_group_id = 3 [(google.api.field_behavior) = REQUIRED]; + + // The entry group to create. Defaults to an empty entry group. + EntryGroup entry_group = 2; +} + +// Request message for +// [GetEntryGroup][google.cloud.datacatalog.v1beta1.DataCatalog.GetEntryGroup]. +message GetEntryGroupRequest { + // Required. The name of the entry group. For example, + // `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datacatalog.googleapis.com/EntryGroup" + } + ]; + + // The fields to return. If not set or empty, all fields are returned. + google.protobuf.FieldMask read_mask = 2; +} + +// Request message for +// [DeleteEntryGroup][google.cloud.datacatalog.v1beta1.DataCatalog.DeleteEntryGroup]. +message DeleteEntryGroupRequest { + // Required. The name of the entry group. For example, + // `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datacatalog.googleapis.com/EntryGroup" + } + ]; +} + +// Request message for +// [CreateEntry][google.cloud.datacatalog.v1beta1.DataCatalog.CreateEntry]. +message CreateEntryRequest { + // Required. The name of the entry group this entry is in. Example: // - // Modifiable fields in native entries: + // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} // - // 1. display_name - // 2. description - // 3. schema + // Note that this Entry and its child resources may not actually be stored in + // the location in this name. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datacatalog.googleapis.com/EntryGroup" + } + ]; + + // Required. The id of the entry to create. + string entry_id = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The entry to create. + Entry entry = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for +// [UpdateEntry][google.cloud.datacatalog.v1beta1.DataCatalog.UpdateEntry]. +message UpdateEntryRequest { + // Required. The updated entry. The "name" field must be set. + Entry entry = 1 [(google.api.field_behavior) = REQUIRED]; + + // The fields to update on the entry. If absent or empty, all modifiable + // fields are updated. + // + // The following fields are modifiable: + // * For entries with type `DATA_STREAM`: + // * `schema` + // * For entries with type `FILESET` + // * `schema` + // * `display_name` + // * `description` + // * `gcs_fileset_spec` + // * `gcs_fileset_spec.file_patterns` google.protobuf.FieldMask update_mask = 2; } +// Request message for +// [DeleteEntry][google.cloud.datacatalog.v1beta1.DataCatalog.DeleteEntry]. +message DeleteEntryRequest { + // Required. The name of the entry. Example: + // + // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datacatalog.googleapis.com/Entry" + } + ]; +} + // Request message for // [GetEntry][google.cloud.datacatalog.v1beta1.DataCatalog.GetEntry]. message GetEntryRequest { - // Required. The name of the entry. For example, - // "projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}". - string name = 1; + // Required. The name of the entry. Example: + // + // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} + // + // Entry groups are logical groupings of entries. Currently, users cannot + // create/modify entry groups. They are created by Data Catalog; they include + // `@bigquery` for all BigQuery entries, and `@pubsub` for all Cloud Pub/Sub + // entries. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datacatalog.googleapis.com/Entry" + } + ]; } // Request message for @@ -351,215 +615,327 @@ message LookupEntryRequest { oneof target_name { // The full name of the Google Cloud Platform resource the Data Catalog // entry represents. See: - // https://cloud.google.com/apis/design/resource_names#full_resource_name + // https://cloud.google.com/apis/design/resource_names#full_resource_name. // Full names are case-sensitive. // // Examples: - // "//bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId". - // "//pubsub.googleapis.com/projects/projectId/topics/topicId" + // + // * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId + // * //pubsub.googleapis.com/projects/projectId/topics/topicId string linked_resource = 1; // The SQL name of the entry. SQL names are case-sensitive. // // Examples: - //
    - //
  • cloud_pubsub.project_id.topic_id
  • - //
  • pubsub.project_id.`topic.id.with.dots`
  • - //
  • bigquery.project_id.dataset_id.table_id
  • - //
  • datacatalog.project_id.location_id.entry_group_id.entry_id
  • - //
- // *_ids shoud satisfy the standard SQL rules for identifiers. - // https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical + // + // * `cloud_pubsub.project_id.topic_id` + // * ``pubsub.project_id.`topic.id.with.dots` `` + // * `bigquery.project_id.dataset_id.table_id` + // * `datacatalog.project_id.location_id.entry_group_id.entry_id` + // + // `*_id`s shoud satisfy the standard SQL rules for identifiers. + // https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical. string sql_resource = 3; } } // Entry Metadata. // A Data Catalog Entry resource represents another resource in Google -// Cloud Platform, such as a BigQuery Dataset or a Pub/Sub Topic. Clients can -// use the `linked_resource` field in the Entry resource to refer to the -// original resource id of the source system. +// Cloud Platform, such as a BigQuery dataset or a Cloud Pub/Sub topic. +// Clients can use the `linked_resource` field in the Entry resource to refer to +// the original resource ID of the source system. // // An Entry resource contains resource details, such as its schema. An Entry can // also be used to attach flexible metadata, such as a // [Tag][google.cloud.datacatalog.v1beta1.Tag]. message Entry { - // Required when used in - // [UpdateEntryRequest][google.cloud.datacatalog.v1beta1.UpdateEntryRequest]. - // The Data Catalog resource name of the entry in URL format. For example, - // "projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}". + option (google.api.resource) = { + type: "datacatalog.googleapis.com/Entry" + pattern: "projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}" + }; + + // The Data Catalog resource name of the entry in URL format. Example: + // + // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} + // // Note that this Entry and its child resources may not actually be stored in // the location in this name. - string name = 1; + string name = 1 [(google.api.resource_reference) = { + type: "datacatalog.googleapis.com/EntryGroup" + }]; - // Output only. The full name of the cloud resource the entry belongs to. See: - // https://cloud.google.com/apis/design/resource_names#full_resource_name + // Output only. The resource this metadata entry refers to. // - // Data Catalog supports resources from select Google Cloud Platform systems. - // `linked_resource` is the full name of the Google Cloud Platform resource. + // For Google Cloud Platform resources, `linked_resource` is the [full name of + // the + // resource](https://cloud.google.com/apis/design/resource_names#full_resource_name). // For example, the `linked_resource` for a table resource from BigQuery is: // - // "//bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId". - string linked_resource = 9; + // * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId + string linked_resource = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Required. Type of entry. - EntryType type = 2; + // Required. Entry type. + oneof entry_type { + // The type of the entry. + EntryType type = 2; + } - // Optional. Type specification information. + // Type specification information. oneof type_spec { + // Specification that applies to a Cloud Storage fileset. This is only valid + // on entries of type FILESET. + GcsFilesetSpec gcs_fileset_spec = 6; + // Specification that applies to a BigQuery table. This is only valid on - // entries of type TABLE. + // entries of type `TABLE`. BigQueryTableSpec bigquery_table_spec = 12; // Specification for a group of BigQuery tables with name pattern - // [prefix]YYYYMMDD. Context: - // https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding + // `[prefix]YYYYMMDD`. Context: + // https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding. BigQueryDateShardedSpec bigquery_date_sharded_spec = 15; } - // Optional. Display information such as title and description. A short name - // to identify the entry, for example, "Analytics Data - Jan 2011". Default - // value is an empty string. + // Display information such as title and description. A short name to identify + // the entry, for example, "Analytics Data - Jan 2011". Default value is an + // empty string. string display_name = 3; - // Optional. Entry description, which can consist of several sentences or - // paragraphs that describe entry contents. Default value is an empty string. + // Entry description, which can consist of several sentences or paragraphs + // that describe entry contents. Default value is an empty string. string description = 4; - // Optional. Schema of the entry. An entry might not have any schema attached - // to it. + // Schema of the entry. An entry might not have any schema attached to it. Schema schema = 5; - // Output only. Timestamps about the underlying Google Cloud Platform resource - // -- not about this Data Catalog Entry. - SystemTimestamps source_system_timestamps = 7; + // Output only. Timestamps about the underlying Google Cloud Platform + // resource, not about this Data Catalog Entry. + SystemTimestamps source_system_timestamps = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// EntryGroup Metadata. +// An EntryGroup resource represents a logical grouping of zero or more +// Data Catalog [Entry][google.cloud.datacatalog.v1beta1.Entry] resources. +message EntryGroup { + option (google.api.resource) = { + type: "datacatalog.googleapis.com/EntryGroup" + pattern: "projects/{project}/locations/{location}/entryGroups/{entry_group}" + }; + + // The resource name of the entry group in URL format. Example: + // + // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} + // + // Note that this EntryGroup and its child resources may not actually be + // stored in the location in this name. + string name = 1; + + // A short name to identify the entry group, for example, + // "analytics data - jan 2011". Default value is an empty string. + string display_name = 2; + + // Entry group description, which can consist of several sentences or + // paragraphs that describe entry group contents. Default value is an empty + // string. + string description = 3; + + // Output only. Timestamps about this EntryGroup. Default value is empty + // timestamps. + SystemTimestamps data_catalog_timestamps = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; } // Request message for // [CreateTagTemplate][google.cloud.datacatalog.v1beta1.DataCatalog.CreateTagTemplate]. message CreateTagTemplateRequest { // Required. The name of the project and the location this template is in. - // Example: "projects/{project_id}/locations/{location}". Note that this + // Example: + // + // * projects/{project_id}/locations/{location} + // // TagTemplate and its child resources may not actually be stored in the // location in this name. - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datacatalog.googleapis.com/TagTemplate" + } + ]; // Required. The id of the tag template to create. - string tag_template_id = 3; + string tag_template_id = 3 [(google.api.field_behavior) = REQUIRED]; // Required. The tag template to create. - TagTemplate tag_template = 2; + TagTemplate tag_template = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for // [GetTagTemplate][google.cloud.datacatalog.v1beta1.DataCatalog.GetTagTemplate]. message GetTagTemplateRequest { - // Required. The name of the tag template. For example, - // "projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}". - string name = 1; + // Required. The name of the tag template. Example: + // + // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datacatalog.googleapis.com/TagTemplate" + } + ]; +} + +// Entry resources in Data Catalog can be of different types e.g. a BigQuery +// Table entry is of type `TABLE`. This enum describes all the possible types +// Data Catalog contains. +enum EntryType { + // Default unknown type + ENTRY_TYPE_UNSPECIFIED = 0; + + // Output only. The type of entry that has a GoogleSQL schema, including + // logical views. + TABLE = 2; + + // Output only. An entry type which is used for streaming entries. Example: + // Cloud Pub/Sub topic. + DATA_STREAM = 3; + + // Alpha feature. An entry type which is a set of files or objects. Example: + // Cloud Storage fileset. + FILESET = 4; } // Request message for // [UpdateTagTemplate][google.cloud.datacatalog.v1beta1.DataCatalog.UpdateTagTemplate]. message UpdateTagTemplateRequest { - // Required. The template to update. - TagTemplate tag_template = 1; + // Required. The template to update. The "name" field must be set. + TagTemplate tag_template = 1 [(google.api.field_behavior) = REQUIRED]; - // Optional. The field mask specifies the parts of the template to overwrite. + // The field mask specifies the parts of the template to overwrite. // // Allowed fields: // - // * display_name + // * `display_name` // - // If update_mask is omitted, all of the allowed fields above will be updated. + // If absent or empty, all of the allowed fields above will be updated. google.protobuf.FieldMask update_mask = 2; } // Request message for // [DeleteTagTemplate][google.cloud.datacatalog.v1beta1.DataCatalog.DeleteTagTemplate]. message DeleteTagTemplateRequest { - // Required. The name of the tag template to delete. For example, - // "projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}". - string name = 1; - - // Required. Currently, this field must always be set to true. + // Required. The name of the tag template to delete. Example: + // + // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datacatalog.googleapis.com/TagTemplate" + } + ]; + + // Required. Currently, this field must always be set to `true`. // This confirms the deletion of any possible tags using this template. - // force = false will be supported in the future. - bool force = 2; + // `force = false` will be supported in the future. + bool force = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for // [CreateTag][google.cloud.datacatalog.v1beta1.DataCatalog.CreateTag]. message CreateTagRequest { - // Required. - // The name of the resource to attach this tag to. Tags can be attached to - // Entries. (example: - // "projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}"). + // Required. The name of the resource to attach this tag to. Tags can be + // attached to Entries. Example: + // + // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} + // // Note that this Tag and its child resources may not actually be stored in // the location in this name. - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "datacatalog.googleapis.com/Tag" } + ]; // Required. The tag to create. - Tag tag = 2; + Tag tag = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for // [UpdateTag][google.cloud.datacatalog.v1beta1.DataCatalog.UpdateTag]. message UpdateTagRequest { - // Required. The updated tag. - Tag tag = 1; + // Required. The updated tag. The "name" field must be set. + Tag tag = 1 [(google.api.field_behavior) = REQUIRED]; - // Optional. The fields to update on the Tag. If absent or empty, all - // modifiable fields are updated. Currently the only modifiable field is the - // field `fields`. + // The fields to update on the Tag. If absent or empty, all modifiable fields + // are updated. Currently the only modifiable field is the field `fields`. google.protobuf.FieldMask update_mask = 2; } // Request message for // [DeleteTag][google.cloud.datacatalog.v1beta1.DataCatalog.DeleteTag]. message DeleteTagRequest { - // Required. The name of the tag to delete. For example, - // "projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}". - string name = 1; + // Required. The name of the tag to delete. Example: + // + // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datacatalog.googleapis.com/Tag" + } + ]; } // Request message for // [CreateTagTemplateField][google.cloud.datacatalog.v1beta1.DataCatalog.CreateTagTemplateField]. message CreateTagTemplateFieldRequest { // Required. The name of the project this template is in. Example: - // "projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}". + // + // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} + // // Note that this TagTemplateField may not actually be stored in the location // in this name. - string parent = 1; - - // Required. The id of the tag template field to create. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datacatalog.googleapis.com/TagTemplate" + } + ]; + + // Required. The ID of the tag template field to create. // Field ids can contain letters (both uppercase and lowercase), numbers - // (0-9), underscores (_) and dashes (-). Field ids must be at least 1 - // character long and at most 128 characters long. Field ids must also be - // unique to their template. - string tag_template_field_id = 2; + // (0-9), underscores (_) and dashes (-). Field IDs must be at least 1 + // character long and at most 128 characters long. Field IDs must also be + // unique within their template. + string tag_template_field_id = 2 [(google.api.field_behavior) = REQUIRED]; // Required. The tag template field to create. - TagTemplateField tag_template_field = 3; + TagTemplateField tag_template_field = 3 + [(google.api.field_behavior) = REQUIRED]; } // Request message for // [UpdateTagTemplateField][google.cloud.datacatalog.v1beta1.DataCatalog.UpdateTagTemplateField]. message UpdateTagTemplateFieldRequest { - // Required. The name of the tag template field. For example, - // "projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}". - string name = 1; + // Required. The name of the tag template field. Example: + // + // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datacatalog.googleapis.com/TagTemplateField" + } + ]; // Required. The template to update. - TagTemplateField tag_template_field = 2; + TagTemplateField tag_template_field = 2 + [(google.api.field_behavior) = REQUIRED]; - // Optional. The field mask specifies the parts of the template to overwrite. + // The field mask specifies the parts of the template to be updated. // Allowed fields: // - // * display_name - // * type.enum_type + // * `display_name` + // * `type.enum_type` // - // If update_mask is omitted, all of the allowed fields above will be updated. + // If `update_mask` is not set or empty, all of the allowed fields above will + // be updated. // // When updating an enum type, the provided values will be merged with the // existing values. Therefore, enum values can only be added, existing enum @@ -570,40 +946,38 @@ message UpdateTagTemplateFieldRequest { // Request message for // [RenameTagTemplateField][google.cloud.datacatalog.v1beta1.DataCatalog.RenameTagTemplateField]. message RenameTagTemplateFieldRequest { - // Required. The name of the tag template. For example, - // "projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}". - string name = 1; + // Required. The name of the tag template. Example: + // + // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datacatalog.googleapis.com/TagTemplateField" + } + ]; // Required. The new ID of this tag template field. For example, - // "my_new_field". - string new_tag_template_field_id = 2; -} - -// Entry resources in Data Catalog can be of different types e.g. BigQuery -// Table entry is of type 'TABLE'. This enum describes all the possible types -// Data Catalog contains. -enum EntryType { - // Default unknown type - ENTRY_TYPE_UNSPECIFIED = 0; - - // The type of entry that has a GoogleSQL schema, including logical views. - TABLE = 2; - - // An entry type which is used for streaming entries. Example - Pub/Sub. - DATA_STREAM = 3; + // `my_new_field`. + string new_tag_template_field_id = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for // [DeleteTagTemplateField][google.cloud.datacatalog.v1beta1.DataCatalog.DeleteTagTemplateField]. message DeleteTagTemplateFieldRequest { - // Required. The name of the tag template field to delete. For example, - // "projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}". - string name = 1; - - // Required. Currently, this field must always be set to true. + // Required. The name of the tag template field to delete. Example: + // + // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "datacatalog.googleapis.com/TagTemplateField" + } + ]; + + // Required. Currently, this field must always be set to `true`. // This confirms the deletion of this field from any tags using this field. - // force = false will be supported in the future. - bool force = 2; + // `force = false` will be supported in the future. + bool force = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for @@ -611,14 +985,18 @@ message DeleteTagTemplateFieldRequest { message ListTagsRequest { // Required. The name of the Data Catalog resource to list the tags of. The // resource could be an [Entry][google.cloud.datacatalog.v1beta1.Entry]. - string parent = 1; - - // Optional. The maximum number of tags to return. Default is 10. Max limit is - // 1000. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "datacatalog.googleapis.com/Tag" + } + ]; + + // The maximum number of tags to return. Default is 10. Max limit is 1000. int32 page_size = 2; - // Optional. Token that specifies which page is requested. If empty, the first - // page is returned. + // Token that specifies which page is requested. If empty, the first page is + // returned. string page_token = 3; } diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/proto/datacatalog_pb2.py b/datacatalog/google/cloud/datacatalog_v1beta1/proto/datacatalog_pb2.py index 10641f51e1ab..01f2e79352d9 100644 --- a/datacatalog/google/cloud/datacatalog_v1beta1/proto/datacatalog_pb2.py +++ b/datacatalog/google/cloud/datacatalog_v1beta1/proto/datacatalog_pb2.py @@ -17,6 +17,12 @@ from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from google.api import client_pb2 as google_dot_api_dot_client__pb2 +from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 +from google.api import resource_pb2 as google_dot_api_dot_resource__pb2 +from google.cloud.datacatalog_v1beta1.proto import ( + gcs_fileset_spec_pb2 as google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_gcs__fileset__spec__pb2, +) from google.cloud.datacatalog_v1beta1.proto import ( schema_pb2 as google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_schema__pb2, ) @@ -36,7 +42,6 @@ from google.iam.v1 import policy_pb2 as google_dot_iam_dot_v1_dot_policy__pb2 from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2 -from google.api import client_pb2 as google_dot_api_dot_client__pb2 DESCRIPTOR = _descriptor.FileDescriptor( @@ -47,10 +52,14 @@ "\n\034com.google.cloud.datacatalogP\001ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\370\001\001" ), serialized_pb=_b( - '\n8google/cloud/datacatalog_v1beta1/proto/datacatalog.proto\x12 google.cloud.datacatalog.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a\x33google/cloud/datacatalog_v1beta1/proto/schema.proto\x1a\x33google/cloud/datacatalog_v1beta1/proto/search.proto\x1a\x37google/cloud/datacatalog_v1beta1/proto/table_spec.proto\x1a\x31google/cloud/datacatalog_v1beta1/proto/tags.proto\x1a\x37google/cloud/datacatalog_v1beta1/proto/timestamps.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x17google/api/client.proto"\x8f\x02\n\x14SearchCatalogRequest\x12K\n\x05scope\x18\x06 \x01(\x0b\x32<.google.cloud.datacatalog.v1beta1.SearchCatalogRequest.Scope\x12\r\n\x05query\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\x1a\x62\n\x05Scope\x12\x17\n\x0finclude_org_ids\x18\x02 \x03(\t\x12\x1b\n\x13include_project_ids\x18\x03 \x03(\t\x12#\n\x1binclude_gcp_public_datasets\x18\x07 \x01(\x08"x\n\x15SearchCatalogResponse\x12\x46\n\x07results\x18\x01 \x03(\x0b\x32\x35.google.cloud.datacatalog.v1beta1.SearchCatalogResult\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\t"}\n\x12UpdateEntryRequest\x12\x36\n\x05\x65ntry\x18\x01 \x01(\x0b\x32\'.google.cloud.datacatalog.v1beta1.Entry\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask"\x1f\n\x0fGetEntryRequest\x12\x0c\n\x04name\x18\x01 \x01(\t"V\n\x12LookupEntryRequest\x12\x19\n\x0flinked_resource\x18\x01 \x01(\tH\x00\x12\x16\n\x0csql_resource\x18\x03 \x01(\tH\x00\x42\r\n\x0btarget_name"\xe6\x03\n\x05\x45ntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x17\n\x0flinked_resource\x18\t \x01(\t\x12\x39\n\x04type\x18\x02 \x01(\x0e\x32+.google.cloud.datacatalog.v1beta1.EntryType\x12R\n\x13\x62igquery_table_spec\x18\x0c \x01(\x0b\x32\x33.google.cloud.datacatalog.v1beta1.BigQueryTableSpecH\x00\x12_\n\x1a\x62igquery_date_sharded_spec\x18\x0f \x01(\x0b\x32\x39.google.cloud.datacatalog.v1beta1.BigQueryDateShardedSpecH\x00\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x38\n\x06schema\x18\x05 \x01(\x0b\x32(.google.cloud.datacatalog.v1beta1.Schema\x12T\n\x18source_system_timestamps\x18\x07 \x01(\x0b\x32\x32.google.cloud.datacatalog.v1beta1.SystemTimestampsB\x0b\n\ttype_spec"\x88\x01\n\x18\x43reateTagTemplateRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x17\n\x0ftag_template_id\x18\x03 \x01(\t\x12\x43\n\x0ctag_template\x18\x02 \x01(\x0b\x32-.google.cloud.datacatalog.v1beta1.TagTemplate"%\n\x15GetTagTemplateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t"\x90\x01\n\x18UpdateTagTemplateRequest\x12\x43\n\x0ctag_template\x18\x01 \x01(\x0b\x32-.google.cloud.datacatalog.v1beta1.TagTemplate\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask"7\n\x18\x44\x65leteTagTemplateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x66orce\x18\x02 \x01(\x08"V\n\x10\x43reateTagRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x32\n\x03tag\x18\x02 \x01(\x0b\x32%.google.cloud.datacatalog.v1beta1.Tag"w\n\x10UpdateTagRequest\x12\x32\n\x03tag\x18\x01 \x01(\x0b\x32%.google.cloud.datacatalog.v1beta1.Tag\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask" \n\x10\x44\x65leteTagRequest\x12\x0c\n\x04name\x18\x01 \x01(\t"\x9e\x01\n\x1d\x43reateTagTemplateFieldRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x1d\n\x15tag_template_field_id\x18\x02 \x01(\t\x12N\n\x12tag_template_field\x18\x03 \x01(\x0b\x32\x32.google.cloud.datacatalog.v1beta1.TagTemplateField"\xae\x01\n\x1dUpdateTagTemplateFieldRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12N\n\x12tag_template_field\x18\x02 \x01(\x0b\x32\x32.google.cloud.datacatalog.v1beta1.TagTemplateField\x12/\n\x0bupdate_mask\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.FieldMask"P\n\x1dRenameTagTemplateFieldRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12!\n\x19new_tag_template_field_id\x18\x02 \x01(\t"<\n\x1d\x44\x65leteTagTemplateFieldRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x66orce\x18\x02 \x01(\x08"H\n\x0fListTagsRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t"`\n\x10ListTagsResponse\x12\x33\n\x04tags\x18\x01 \x03(\x0b\x32%.google.cloud.datacatalog.v1beta1.Tag\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t*C\n\tEntryType\x12\x1a\n\x16\x45NTRY_TYPE_UNSPECIFIED\x10\x00\x12\t\n\x05TABLE\x10\x02\x12\x0f\n\x0b\x44\x41TA_STREAM\x10\x03\x32\xf8\x1c\n\x0b\x44\x61taCatalog\x12\xa4\x01\n\rSearchCatalog\x12\x36.google.cloud.datacatalog.v1beta1.SearchCatalogRequest\x1a\x37.google.cloud.datacatalog.v1beta1.SearchCatalogResponse""\x82\xd3\xe4\x93\x02\x1c"\x17/v1beta1/catalog:search:\x01*\x12\xc1\x01\n\x0bUpdateEntry\x12\x34.google.cloud.datacatalog.v1beta1.UpdateEntryRequest\x1a\'.google.cloud.datacatalog.v1beta1.Entry"S\x82\xd3\xe4\x93\x02M2D/v1beta1/{entry.name=projects/*/locations/*/entryGroups/*/entries/*}:\x05\x65ntry\x12\xae\x01\n\x08GetEntry\x12\x31.google.cloud.datacatalog.v1beta1.GetEntryRequest\x1a\'.google.cloud.datacatalog.v1beta1.Entry"F\x82\xd3\xe4\x93\x02@\x12>/v1beta1/{name=projects/*/locations/*/entryGroups/*/entries/*}\x12\x8d\x01\n\x0bLookupEntry\x12\x34.google.cloud.datacatalog.v1beta1.LookupEntryRequest\x1a\'.google.cloud.datacatalog.v1beta1.Entry"\x1f\x82\xd3\xe4\x93\x02\x19\x12\x17/v1beta1/entries:lookup\x12\xcb\x01\n\x11\x43reateTagTemplate\x12:.google.cloud.datacatalog.v1beta1.CreateTagTemplateRequest\x1a-.google.cloud.datacatalog.v1beta1.TagTemplate"K\x82\xd3\xe4\x93\x02\x45"5/v1beta1/{parent=projects/*/locations/*}/tagTemplates:\x0ctag_template\x12\xb7\x01\n\x0eGetTagTemplate\x12\x37.google.cloud.datacatalog.v1beta1.GetTagTemplateRequest\x1a-.google.cloud.datacatalog.v1beta1.TagTemplate"=\x82\xd3\xe4\x93\x02\x37\x12\x35/v1beta1/{name=projects/*/locations/*/tagTemplates/*}\x12\xd8\x01\n\x11UpdateTagTemplate\x12:.google.cloud.datacatalog.v1beta1.UpdateTagTemplateRequest\x1a-.google.cloud.datacatalog.v1beta1.TagTemplate"X\x82\xd3\xe4\x93\x02R2B/v1beta1/{tag_template.name=projects/*/locations/*/tagTemplates/*}:\x0ctag_template\x12\xa6\x01\n\x11\x44\x65leteTagTemplate\x12:.google.cloud.datacatalog.v1beta1.DeleteTagTemplateRequest\x1a\x16.google.protobuf.Empty"=\x82\xd3\xe4\x93\x02\x37*5/v1beta1/{name=projects/*/locations/*/tagTemplates/*}\x12\xe9\x01\n\x16\x43reateTagTemplateField\x12?.google.cloud.datacatalog.v1beta1.CreateTagTemplateFieldRequest\x1a\x32.google.cloud.datacatalog.v1beta1.TagTemplateField"Z\x82\xd3\xe4\x93\x02T">/v1beta1/{parent=projects/*/locations/*/tagTemplates/*}/fields:\x12tag_template_field\x12\xe9\x01\n\x16UpdateTagTemplateField\x12?.google.cloud.datacatalog.v1beta1.UpdateTagTemplateFieldRequest\x1a\x32.google.cloud.datacatalog.v1beta1.TagTemplateField"Z\x82\xd3\xe4\x93\x02T2>/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}:\x12tag_template_field\x12\xdf\x01\n\x16RenameTagTemplateField\x12?.google.cloud.datacatalog.v1beta1.RenameTagTemplateFieldRequest\x1a\x32.google.cloud.datacatalog.v1beta1.TagTemplateField"P\x82\xd3\xe4\x93\x02J"E/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}:rename:\x01*\x12\xb9\x01\n\x16\x44\x65leteTagTemplateField\x12?.google.cloud.datacatalog.v1beta1.DeleteTagTemplateFieldRequest\x1a\x16.google.protobuf.Empty"F\x82\xd3\xe4\x93\x02@*>/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}\x12\xba\x01\n\tCreateTag\x12\x32.google.cloud.datacatalog.v1beta1.CreateTagRequest\x1a%.google.cloud.datacatalog.v1beta1.Tag"R\x82\xd3\xe4\x93\x02L"E/v1beta1/{parent=projects/*/locations/*/entryGroups/*/entries/*}/tags:\x03tag\x12\xbe\x01\n\tUpdateTag\x12\x32.google.cloud.datacatalog.v1beta1.UpdateTagRequest\x1a%.google.cloud.datacatalog.v1beta1.Tag"V\x82\xd3\xe4\x93\x02P2I/v1beta1/{tag.name=projects/*/locations/*/entryGroups/*/entries/*/tags/*}:\x03tag\x12\xa6\x01\n\tDeleteTag\x12\x32.google.cloud.datacatalog.v1beta1.DeleteTagRequest\x1a\x16.google.protobuf.Empty"M\x82\xd3\xe4\x93\x02G*E/v1beta1/{name=projects/*/locations/*/entryGroups/*/entries/*/tags/*}\x12\xc0\x01\n\x08ListTags\x12\x31.google.cloud.datacatalog.v1beta1.ListTagsRequest\x1a\x32.google.cloud.datacatalog.v1beta1.ListTagsResponse"M\x82\xd3\xe4\x93\x02G\x12\x45/v1beta1/{parent=projects/*/locations/*/entryGroups/*/entries/*}/tags\x12\x9c\x01\n\x0cSetIamPolicy\x12".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy"Q\x82\xd3\xe4\x93\x02K"F/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:setIamPolicy:\x01*\x12\x9c\x01\n\x0cGetIamPolicy\x12".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy"Q\x82\xd3\xe4\x93\x02K"F/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:getIamPolicy:\x01*\x12\xc2\x01\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse"W\x82\xd3\xe4\x93\x02Q"L/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:testIamPermissions:\x01*\x1aN\xca\x41\x1a\x64\x61tacatalog.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformBp\n\x1c\x63om.google.cloud.datacatalogP\x01ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\xf8\x01\x01\x62\x06proto3' + '\n8google/cloud/datacatalog_v1beta1/proto/datacatalog.proto\x12 google.cloud.datacatalog.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a=google/cloud/datacatalog_v1beta1/proto/gcs_fileset_spec.proto\x1a\x33google/cloud/datacatalog_v1beta1/proto/schema.proto\x1a\x33google/cloud/datacatalog_v1beta1/proto/search.proto\x1a\x37google/cloud/datacatalog_v1beta1/proto/table_spec.proto\x1a\x31google/cloud/datacatalog_v1beta1/proto/tags.proto\x1a\x37google/cloud/datacatalog_v1beta1/proto/timestamps.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto"\x9e\x02\n\x14SearchCatalogRequest\x12P\n\x05scope\x18\x06 \x01(\x0b\x32<.google.cloud.datacatalog.v1beta1.SearchCatalogRequest.ScopeB\x03\xe0\x41\x02\x12\x12\n\x05query\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x10\n\x08order_by\x18\x05 \x01(\t\x1a\x62\n\x05Scope\x12\x17\n\x0finclude_org_ids\x18\x02 \x03(\t\x12\x1b\n\x13include_project_ids\x18\x03 \x03(\t\x12#\n\x1binclude_gcp_public_datasets\x18\x07 \x01(\x08"x\n\x15SearchCatalogResponse\x12\x46\n\x07results\x18\x01 \x03(\x0b\x32\x35.google.cloud.datacatalog.v1beta1.SearchCatalogResult\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\t"\xb8\x01\n\x17\x43reateEntryGroupRequest\x12=\n\x06parent\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\x12%datacatalog.googleapis.com/EntryGroup\x12\x1b\n\x0e\x65ntry_group_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x41\n\x0b\x65ntry_group\x18\x02 \x01(\x0b\x32,.google.cloud.datacatalog.v1beta1.EntryGroup"\x82\x01\n\x14GetEntryGroupRequest\x12;\n\x04name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%datacatalog.googleapis.com/EntryGroup\x12-\n\tread_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask"V\n\x17\x44\x65leteEntryGroupRequest\x12;\n\x04name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%datacatalog.googleapis.com/EntryGroup"\xa7\x01\n\x12\x43reateEntryRequest\x12=\n\x06parent\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%datacatalog.googleapis.com/EntryGroup\x12\x15\n\x08\x65ntry_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12;\n\x05\x65ntry\x18\x02 \x01(\x0b\x32\'.google.cloud.datacatalog.v1beta1.EntryB\x03\xe0\x41\x02"\x82\x01\n\x12UpdateEntryRequest\x12;\n\x05\x65ntry\x18\x01 \x01(\x0b\x32\'.google.cloud.datacatalog.v1beta1.EntryB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask"L\n\x12\x44\x65leteEntryRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41"\n datacatalog.googleapis.com/Entry"I\n\x0fGetEntryRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41"\n datacatalog.googleapis.com/Entry"V\n\x12LookupEntryRequest\x12\x19\n\x0flinked_resource\x18\x01 \x01(\tH\x00\x12\x16\n\x0csql_resource\x18\x03 \x01(\tH\x00\x42\r\n\x0btarget_name"\xf4\x05\n\x05\x45ntry\x12\x38\n\x04name\x18\x01 \x01(\tB*\xfa\x41\'\n%datacatalog.googleapis.com/EntryGroup\x12\x1c\n\x0flinked_resource\x18\t \x01(\tB\x03\xe0\x41\x03\x12;\n\x04type\x18\x02 \x01(\x0e\x32+.google.cloud.datacatalog.v1beta1.EntryTypeH\x00\x12L\n\x10gcs_fileset_spec\x18\x06 \x01(\x0b\x32\x30.google.cloud.datacatalog.v1beta1.GcsFilesetSpecH\x01\x12R\n\x13\x62igquery_table_spec\x18\x0c \x01(\x0b\x32\x33.google.cloud.datacatalog.v1beta1.BigQueryTableSpecH\x01\x12_\n\x1a\x62igquery_date_sharded_spec\x18\x0f \x01(\x0b\x32\x39.google.cloud.datacatalog.v1beta1.BigQueryDateShardedSpecH\x01\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x38\n\x06schema\x18\x05 \x01(\x0b\x32(.google.cloud.datacatalog.v1beta1.Schema\x12Y\n\x18source_system_timestamps\x18\x07 \x01(\x0b\x32\x32.google.cloud.datacatalog.v1beta1.SystemTimestampsB\x03\xe0\x41\x03:x\xea\x41u\n datacatalog.googleapis.com/Entry\x12Qprojects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}B\x0c\n\nentry_typeB\x0b\n\ttype_spec"\x8e\x02\n\nEntryGroup\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12X\n\x17\x64\x61ta_catalog_timestamps\x18\x04 \x01(\x0b\x32\x32.google.cloud.datacatalog.v1beta1.SystemTimestampsB\x03\xe0\x41\x03:m\xea\x41j\n%datacatalog.googleapis.com/EntryGroup\x12\x41projects/{project}/locations/{location}/entryGroups/{entry_group}"\xc2\x01\n\x18\x43reateTagTemplateRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\x12&datacatalog.googleapis.com/TagTemplate\x12\x1c\n\x0ftag_template_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12H\n\x0ctag_template\x18\x02 \x01(\x0b\x32-.google.cloud.datacatalog.v1beta1.TagTemplateB\x03\xe0\x41\x02"U\n\x15GetTagTemplateRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&datacatalog.googleapis.com/TagTemplate"\x95\x01\n\x18UpdateTagTemplateRequest\x12H\n\x0ctag_template\x18\x01 \x01(\x0b\x32-.google.cloud.datacatalog.v1beta1.TagTemplateB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask"l\n\x18\x44\x65leteTagTemplateRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&datacatalog.googleapis.com/TagTemplate\x12\x12\n\x05\x66orce\x18\x02 \x01(\x08\x42\x03\xe0\x41\x02"\x83\x01\n\x10\x43reateTagRequest\x12\x36\n\x06parent\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x64\x61tacatalog.googleapis.com/Tag\x12\x37\n\x03tag\x18\x02 \x01(\x0b\x32%.google.cloud.datacatalog.v1beta1.TagB\x03\xe0\x41\x02"|\n\x10UpdateTagRequest\x12\x37\n\x03tag\x18\x01 \x01(\x0b\x32%.google.cloud.datacatalog.v1beta1.TagB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask"H\n\x10\x44\x65leteTagRequest\x12\x34\n\x04name\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \x12\x1e\x64\x61tacatalog.googleapis.com/Tag"\xd8\x01\n\x1d\x43reateTagTemplateFieldRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&datacatalog.googleapis.com/TagTemplate\x12"\n\x15tag_template_field_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12S\n\x12tag_template_field\x18\x03 \x01(\x0b\x32\x32.google.cloud.datacatalog.v1beta1.TagTemplateFieldB\x03\xe0\x41\x02"\xe8\x01\n\x1dUpdateTagTemplateFieldRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+datacatalog.googleapis.com/TagTemplateField\x12S\n\x12tag_template_field\x18\x02 \x01(\x0b\x32\x32.google.cloud.datacatalog.v1beta1.TagTemplateFieldB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.FieldMask"\x8a\x01\n\x1dRenameTagTemplateFieldRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+datacatalog.googleapis.com/TagTemplateField\x12&\n\x19new_tag_template_field_id\x18\x02 \x01(\tB\x03\xe0\x41\x02"v\n\x1d\x44\x65leteTagTemplateFieldRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+datacatalog.googleapis.com/TagTemplateField\x12\x12\n\x05\x66orce\x18\x02 \x01(\x08\x42\x03\xe0\x41\x02"p\n\x0fListTagsRequest\x12\x36\n\x06parent\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \x12\x1e\x64\x61tacatalog.googleapis.com/Tag\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t"`\n\x10ListTagsResponse\x12\x33\n\x04tags\x18\x01 \x03(\x0b\x32%.google.cloud.datacatalog.v1beta1.Tag\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t*P\n\tEntryType\x12\x1a\n\x16\x45NTRY_TYPE_UNSPECIFIED\x10\x00\x12\t\n\x05TABLE\x10\x02\x12\x0f\n\x0b\x44\x41TA_STREAM\x10\x03\x12\x0b\n\x07\x46ILESET\x10\x04\x32\xc8+\n\x0b\x44\x61taCatalog\x12\xb2\x01\n\rSearchCatalog\x12\x36.google.cloud.datacatalog.v1beta1.SearchCatalogRequest\x1a\x37.google.cloud.datacatalog.v1beta1.SearchCatalogResponse"0\x82\xd3\xe4\x93\x02\x1c"\x17/v1beta1/catalog:search:\x01*\xda\x41\x0bscope,query\x12\xea\x01\n\x10\x43reateEntryGroup\x12\x39.google.cloud.datacatalog.v1beta1.CreateEntryGroupRequest\x1a,.google.cloud.datacatalog.v1beta1.EntryGroup"m\x82\xd3\xe4\x93\x02\x43"4/v1beta1/{parent=projects/*/locations/*}/entryGroups:\x0b\x65ntry_group\xda\x41!parent,entry_group_id,entry_group\x12\xcb\x01\n\rGetEntryGroup\x12\x36.google.cloud.datacatalog.v1beta1.GetEntryGroupRequest\x1a,.google.cloud.datacatalog.v1beta1.EntryGroup"T\x82\xd3\xe4\x93\x02\x36\x12\x34/v1beta1/{name=projects/*/locations/*/entryGroups/*}\xda\x41\x04name\xda\x41\x0ename,read_mask\x12\xaa\x01\n\x10\x44\x65leteEntryGroup\x12\x39.google.cloud.datacatalog.v1beta1.DeleteEntryGroupRequest\x1a\x16.google.protobuf.Empty"C\x82\xd3\xe4\x93\x02\x36*4/v1beta1/{name=projects/*/locations/*/entryGroups/*}\xda\x41\x04name\x12\xd3\x01\n\x0b\x43reateEntry\x12\x34.google.cloud.datacatalog.v1beta1.CreateEntryRequest\x1a\'.google.cloud.datacatalog.v1beta1.Entry"e\x82\xd3\xe4\x93\x02G">/v1beta1/{parent=projects/*/locations/*/entryGroups/*}/entries:\x05\x65ntry\xda\x41\x15parent,entry_id,entry\x12\xdd\x01\n\x0bUpdateEntry\x12\x34.google.cloud.datacatalog.v1beta1.UpdateEntryRequest\x1a\'.google.cloud.datacatalog.v1beta1.Entry"o\x82\xd3\xe4\x93\x02M2D/v1beta1/{entry.name=projects/*/locations/*/entryGroups/*/entries/*}:\x05\x65ntry\xda\x41\x05\x65ntry\xda\x41\x11\x65ntry,update_mask\x12\xaa\x01\n\x0b\x44\x65leteEntry\x12\x34.google.cloud.datacatalog.v1beta1.DeleteEntryRequest\x1a\x16.google.protobuf.Empty"M\x82\xd3\xe4\x93\x02@*>/v1beta1/{name=projects/*/locations/*/entryGroups/*/entries/*}\xda\x41\x04name\x12\xb5\x01\n\x08GetEntry\x12\x31.google.cloud.datacatalog.v1beta1.GetEntryRequest\x1a\'.google.cloud.datacatalog.v1beta1.Entry"M\x82\xd3\xe4\x93\x02@\x12>/v1beta1/{name=projects/*/locations/*/entryGroups/*/entries/*}\xda\x41\x04name\x12\x8d\x01\n\x0bLookupEntry\x12\x34.google.cloud.datacatalog.v1beta1.LookupEntryRequest\x1a\'.google.cloud.datacatalog.v1beta1.Entry"\x1f\x82\xd3\xe4\x93\x02\x19\x12\x17/v1beta1/entries:lookup\x12\xf1\x01\n\x11\x43reateTagTemplate\x12:.google.cloud.datacatalog.v1beta1.CreateTagTemplateRequest\x1a-.google.cloud.datacatalog.v1beta1.TagTemplate"q\x82\xd3\xe4\x93\x02\x45"5/v1beta1/{parent=projects/*/locations/*}/tagTemplates:\x0ctag_template\xda\x41#parent,tag_template_id,tag_template\x12\xbe\x01\n\x0eGetTagTemplate\x12\x37.google.cloud.datacatalog.v1beta1.GetTagTemplateRequest\x1a-.google.cloud.datacatalog.v1beta1.TagTemplate"D\x82\xd3\xe4\x93\x02\x37\x12\x35/v1beta1/{name=projects/*/locations/*/tagTemplates/*}\xda\x41\x04name\x12\x83\x02\n\x11UpdateTagTemplate\x12:.google.cloud.datacatalog.v1beta1.UpdateTagTemplateRequest\x1a-.google.cloud.datacatalog.v1beta1.TagTemplate"\x82\x01\x82\xd3\xe4\x93\x02R2B/v1beta1/{tag_template.name=projects/*/locations/*/tagTemplates/*}:\x0ctag_template\xda\x41\x0ctag_template\xda\x41\x18tag_template,update_mask\x12\xb3\x01\n\x11\x44\x65leteTagTemplate\x12:.google.cloud.datacatalog.v1beta1.DeleteTagTemplateRequest\x1a\x16.google.protobuf.Empty"J\x82\xd3\xe4\x93\x02\x37*5/v1beta1/{name=projects/*/locations/*/tagTemplates/*}\xda\x41\nname,force\x12\x9c\x02\n\x16\x43reateTagTemplateField\x12?.google.cloud.datacatalog.v1beta1.CreateTagTemplateFieldRequest\x1a\x32.google.cloud.datacatalog.v1beta1.TagTemplateField"\x8c\x01\x82\xd3\xe4\x93\x02T">/v1beta1/{parent=projects/*/locations/*/tagTemplates/*}/fields:\x12tag_template_field\xda\x41/parent,tag_template_field_id,tag_template_field\x12\xaa\x02\n\x16UpdateTagTemplateField\x12?.google.cloud.datacatalog.v1beta1.UpdateTagTemplateFieldRequest\x1a\x32.google.cloud.datacatalog.v1beta1.TagTemplateField"\x9a\x01\x82\xd3\xe4\x93\x02T2>/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}:\x12tag_template_field\xda\x41\x17name,tag_template_field\xda\x41#name,tag_template_field,update_mask\x12\x80\x02\n\x16RenameTagTemplateField\x12?.google.cloud.datacatalog.v1beta1.RenameTagTemplateFieldRequest\x1a\x32.google.cloud.datacatalog.v1beta1.TagTemplateField"q\x82\xd3\xe4\x93\x02J"E/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}:rename:\x01*\xda\x41\x1ename,new_tag_template_field_id\x12\xc6\x01\n\x16\x44\x65leteTagTemplateField\x12?.google.cloud.datacatalog.v1beta1.DeleteTagTemplateFieldRequest\x1a\x16.google.protobuf.Empty"S\x82\xd3\xe4\x93\x02@*>/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}\xda\x41\nname,force\x12\xc7\x01\n\tCreateTag\x12\x32.google.cloud.datacatalog.v1beta1.CreateTagRequest\x1a%.google.cloud.datacatalog.v1beta1.Tag"_\x82\xd3\xe4\x93\x02L"E/v1beta1/{parent=projects/*/locations/*/entryGroups/*/entries/*}/tags:\x03tag\xda\x41\nparent,tag\x12\xd6\x01\n\tUpdateTag\x12\x32.google.cloud.datacatalog.v1beta1.UpdateTagRequest\x1a%.google.cloud.datacatalog.v1beta1.Tag"n\x82\xd3\xe4\x93\x02P2I/v1beta1/{tag.name=projects/*/locations/*/entryGroups/*/entries/*/tags/*}:\x03tag\xda\x41\x03tag\xda\x41\x0ftag,update_mask\x12\xad\x01\n\tDeleteTag\x12\x32.google.cloud.datacatalog.v1beta1.DeleteTagRequest\x1a\x16.google.protobuf.Empty"T\x82\xd3\xe4\x93\x02G*E/v1beta1/{name=projects/*/locations/*/entryGroups/*/entries/*/tags/*}\xda\x41\x04name\x12\xc9\x01\n\x08ListTags\x12\x31.google.cloud.datacatalog.v1beta1.ListTagsRequest\x1a\x32.google.cloud.datacatalog.v1beta1.ListTagsResponse"V\x82\xd3\xe4\x93\x02G\x12\x45/v1beta1/{parent=projects/*/locations/*/entryGroups/*/entries/*}/tags\xda\x41\x06parent\x12\xc0\x02\n\x0cSetIamPolicy\x12".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy"\xf4\x01\x82\xd3\xe4\x93\x02\xed\x01"F/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:setIamPolicy:\x01*ZJ"E/v1beta1/{resource=projects/*/locations/*/entryGroups/*}:setIamPolicy:\x01*ZT"O/v1beta1/{resource=projects/*/locations/*/entryGroups/*/entries/*}:setIamPolicy:\x01*\x12\xc0\x02\n\x0cGetIamPolicy\x12".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy"\xf4\x01\x82\xd3\xe4\x93\x02\xed\x01"F/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:getIamPolicy:\x01*ZJ"E/v1beta1/{resource=projects/*/locations/*/entryGroups/*}:getIamPolicy:\x01*ZT"O/v1beta1/{resource=projects/*/locations/*/entryGroups/*/entries/*}:getIamPolicy:\x01*\x12\xf2\x02\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse"\x86\x02\x82\xd3\xe4\x93\x02\xff\x01"L/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:testIamPermissions:\x01*ZP"K/v1beta1/{resource=projects/*/locations/*/entryGroups/*}:testIamPermissions:\x01*ZZ"U/v1beta1/{resource=projects/*/locations/*/entryGroups/*/entries/*}:testIamPermissions:\x01*\x1aN\xca\x41\x1a\x64\x61tacatalog.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformBp\n\x1c\x63om.google.cloud.datacatalogP\x01ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\xf8\x01\x01\x62\x06proto3' ), dependencies=[ google_dot_api_dot_annotations__pb2.DESCRIPTOR, + google_dot_api_dot_client__pb2.DESCRIPTOR, + google_dot_api_dot_field__behavior__pb2.DESCRIPTOR, + google_dot_api_dot_resource__pb2.DESCRIPTOR, + google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_gcs__fileset__spec__pb2.DESCRIPTOR, google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_schema__pb2.DESCRIPTOR, google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_search__pb2.DESCRIPTOR, google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_table__spec__pb2.DESCRIPTOR, @@ -60,7 +69,6 @@ google_dot_iam_dot_v1_dot_policy__pb2.DESCRIPTOR, google_dot_protobuf_dot_empty__pb2.DESCRIPTOR, google_dot_protobuf_dot_field__mask__pb2.DESCRIPTOR, - google_dot_api_dot_client__pb2.DESCRIPTOR, ], ) @@ -83,11 +91,14 @@ _descriptor.EnumValueDescriptor( name="DATA_STREAM", index=2, number=3, serialized_options=None, type=None ), + _descriptor.EnumValueDescriptor( + name="FILESET", index=3, number=4, serialized_options=None, type=None + ), ], containing_type=None, serialized_options=None, - serialized_start=2955, - serialized_end=3022, + serialized_start=4868, + serialized_end=4948, ) _sym_db.RegisterEnumDescriptor(_ENTRYTYPE) @@ -95,6 +106,7 @@ ENTRY_TYPE_UNSPECIFIED = 0 TABLE = 2 DATA_STREAM = 3 +FILESET = 4 _SEARCHCATALOGREQUEST_SCOPE = _descriptor.Descriptor( @@ -167,8 +179,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=717, - serialized_end=815, + serialized_start=855, + serialized_end=953, ) _SEARCHCATALOGREQUEST = _descriptor.Descriptor( @@ -193,7 +205,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -211,7 +223,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -247,7 +259,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\001"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -277,8 +289,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=544, - serialized_end=815, + serialized_start=667, + serialized_end=953, ) @@ -334,8 +346,262 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=817, - serialized_end=937, + serialized_start=955, + serialized_end=1075, +) + + +_CREATEENTRYGROUPREQUEST = _descriptor.Descriptor( + name="CreateEntryGroupRequest", + full_name="google.cloud.datacatalog.v1beta1.CreateEntryGroupRequest", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="parent", + full_name="google.cloud.datacatalog.v1beta1.CreateEntryGroupRequest.parent", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b( + "\340A\002\372A'\022%datacatalog.googleapis.com/EntryGroup" + ), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="entry_group_id", + full_name="google.cloud.datacatalog.v1beta1.CreateEntryGroupRequest.entry_group_id", + index=1, + number=3, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\002"), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="entry_group", + full_name="google.cloud.datacatalog.v1beta1.CreateEntryGroupRequest.entry_group", + index=2, + number=2, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=1078, + serialized_end=1262, +) + + +_GETENTRYGROUPREQUEST = _descriptor.Descriptor( + name="GetEntryGroupRequest", + full_name="google.cloud.datacatalog.v1beta1.GetEntryGroupRequest", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="name", + full_name="google.cloud.datacatalog.v1beta1.GetEntryGroupRequest.name", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b( + "\340A\002\372A'\n%datacatalog.googleapis.com/EntryGroup" + ), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="read_mask", + full_name="google.cloud.datacatalog.v1beta1.GetEntryGroupRequest.read_mask", + index=1, + number=2, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=1265, + serialized_end=1395, +) + + +_DELETEENTRYGROUPREQUEST = _descriptor.Descriptor( + name="DeleteEntryGroupRequest", + full_name="google.cloud.datacatalog.v1beta1.DeleteEntryGroupRequest", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="name", + full_name="google.cloud.datacatalog.v1beta1.DeleteEntryGroupRequest.name", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b( + "\340A\002\372A'\n%datacatalog.googleapis.com/EntryGroup" + ), + file=DESCRIPTOR, + ) + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=1397, + serialized_end=1483, +) + + +_CREATEENTRYREQUEST = _descriptor.Descriptor( + name="CreateEntryRequest", + full_name="google.cloud.datacatalog.v1beta1.CreateEntryRequest", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="parent", + full_name="google.cloud.datacatalog.v1beta1.CreateEntryRequest.parent", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b( + "\340A\002\372A'\n%datacatalog.googleapis.com/EntryGroup" + ), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="entry_id", + full_name="google.cloud.datacatalog.v1beta1.CreateEntryRequest.entry_id", + index=1, + number=3, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\002"), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="entry", + full_name="google.cloud.datacatalog.v1beta1.CreateEntryRequest.entry", + index=2, + number=2, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\002"), + file=DESCRIPTOR, + ), + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=1486, + serialized_end=1653, ) @@ -361,7 +627,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -391,8 +657,47 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=939, - serialized_end=1064, + serialized_start=1656, + serialized_end=1786, +) + + +_DELETEENTRYREQUEST = _descriptor.Descriptor( + name="DeleteEntryRequest", + full_name="google.cloud.datacatalog.v1beta1.DeleteEntryRequest", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="name", + full_name="google.cloud.datacatalog.v1beta1.DeleteEntryRequest.name", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b('\340A\002\372A"\n datacatalog.googleapis.com/Entry'), + file=DESCRIPTOR, + ) + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=1788, + serialized_end=1864, ) @@ -418,7 +723,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b('\340A\002\372A"\n datacatalog.googleapis.com/Entry'), file=DESCRIPTOR, ) ], @@ -430,8 +735,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=1066, - serialized_end=1097, + serialized_start=1866, + serialized_end=1939, ) @@ -495,8 +800,8 @@ fields=[], ) ], - serialized_start=1099, - serialized_end=1185, + serialized_start=1941, + serialized_end=2027, ) @@ -522,7 +827,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\372A'\n%datacatalog.googleapis.com/EntryGroup"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -540,7 +845,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\003"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -561,10 +866,28 @@ serialized_options=None, file=DESCRIPTOR, ), + _descriptor.FieldDescriptor( + name="gcs_fileset_spec", + full_name="google.cloud.datacatalog.v1beta1.Entry.gcs_fileset_spec", + index=3, + number=6, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), _descriptor.FieldDescriptor( name="bigquery_table_spec", full_name="google.cloud.datacatalog.v1beta1.Entry.bigquery_table_spec", - index=3, + index=4, number=12, type=11, cpp_type=10, @@ -582,7 +905,7 @@ _descriptor.FieldDescriptor( name="bigquery_date_sharded_spec", full_name="google.cloud.datacatalog.v1beta1.Entry.bigquery_date_sharded_spec", - index=4, + index=5, number=15, type=11, cpp_type=10, @@ -598,10 +921,120 @@ file=DESCRIPTOR, ), _descriptor.FieldDescriptor( - name="display_name", - full_name="google.cloud.datacatalog.v1beta1.Entry.display_name", - index=5, - number=3, + name="display_name", + full_name="google.cloud.datacatalog.v1beta1.Entry.display_name", + index=6, + number=3, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="description", + full_name="google.cloud.datacatalog.v1beta1.Entry.description", + index=7, + number=4, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="schema", + full_name="google.cloud.datacatalog.v1beta1.Entry.schema", + index=8, + number=5, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="source_system_timestamps", + full_name="google.cloud.datacatalog.v1beta1.Entry.source_system_timestamps", + index=9, + number=7, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\003"), + file=DESCRIPTOR, + ), + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=_b( + "\352Au\n datacatalog.googleapis.com/Entry\022Qprojects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}" + ), + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name="entry_type", + full_name="google.cloud.datacatalog.v1beta1.Entry.entry_type", + index=0, + containing_type=None, + fields=[], + ), + _descriptor.OneofDescriptor( + name="type_spec", + full_name="google.cloud.datacatalog.v1beta1.Entry.type_spec", + index=1, + containing_type=None, + fields=[], + ), + ], + serialized_start=2030, + serialized_end=2786, +) + + +_ENTRYGROUP = _descriptor.Descriptor( + name="EntryGroup", + full_name="google.cloud.datacatalog.v1beta1.EntryGroup", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="name", + full_name="google.cloud.datacatalog.v1beta1.EntryGroup.name", + index=0, + number=1, type=9, cpp_type=9, label=1, @@ -616,10 +1049,10 @@ file=DESCRIPTOR, ), _descriptor.FieldDescriptor( - name="description", - full_name="google.cloud.datacatalog.v1beta1.Entry.description", - index=6, - number=4, + name="display_name", + full_name="google.cloud.datacatalog.v1beta1.EntryGroup.display_name", + index=1, + number=2, type=9, cpp_type=9, label=1, @@ -634,15 +1067,15 @@ file=DESCRIPTOR, ), _descriptor.FieldDescriptor( - name="schema", - full_name="google.cloud.datacatalog.v1beta1.Entry.schema", - index=7, - number=5, - type=11, - cpp_type=10, + name="description", + full_name="google.cloud.datacatalog.v1beta1.EntryGroup.description", + index=2, + number=3, + type=9, + cpp_type=9, label=1, has_default_value=False, - default_value=None, + default_value=_b("").decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -652,10 +1085,10 @@ file=DESCRIPTOR, ), _descriptor.FieldDescriptor( - name="source_system_timestamps", - full_name="google.cloud.datacatalog.v1beta1.Entry.source_system_timestamps", - index=8, - number=7, + name="data_catalog_timestamps", + full_name="google.cloud.datacatalog.v1beta1.EntryGroup.data_catalog_timestamps", + index=3, + number=4, type=11, cpp_type=10, label=1, @@ -666,28 +1099,22 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\003"), file=DESCRIPTOR, ), ], extensions=[], nested_types=[], enum_types=[], - serialized_options=None, + serialized_options=_b( + "\352Aj\n%datacatalog.googleapis.com/EntryGroup\022Aprojects/{project}/locations/{location}/entryGroups/{entry_group}" + ), is_extendable=False, syntax="proto3", extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name="type_spec", - full_name="google.cloud.datacatalog.v1beta1.Entry.type_spec", - index=0, - containing_type=None, - fields=[], - ) - ], - serialized_start=1188, - serialized_end=1674, + oneofs=[], + serialized_start=2789, + serialized_end=3059, ) @@ -713,7 +1140,9 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b( + "\340A\002\372A(\022&datacatalog.googleapis.com/TagTemplate" + ), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -731,7 +1160,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -749,7 +1178,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), ], @@ -761,8 +1190,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=1677, - serialized_end=1813, + serialized_start=3062, + serialized_end=3256, ) @@ -788,7 +1217,9 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b( + "\340A\002\372A(\n&datacatalog.googleapis.com/TagTemplate" + ), file=DESCRIPTOR, ) ], @@ -800,8 +1231,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=1815, - serialized_end=1852, + serialized_start=3258, + serialized_end=3343, ) @@ -827,7 +1258,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -857,8 +1288,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=1855, - serialized_end=1999, + serialized_start=3346, + serialized_end=3495, ) @@ -884,7 +1315,9 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b( + "\340A\002\372A(\n&datacatalog.googleapis.com/TagTemplate" + ), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -902,7 +1335,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), ], @@ -914,8 +1347,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=2001, - serialized_end=2056, + serialized_start=3497, + serialized_end=3605, ) @@ -941,7 +1374,9 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b( + "\340A\002\372A \n\036datacatalog.googleapis.com/Tag" + ), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -959,7 +1394,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), ], @@ -971,8 +1406,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=2058, - serialized_end=2144, + serialized_start=3608, + serialized_end=3739, ) @@ -998,7 +1433,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -1028,8 +1463,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=2146, - serialized_end=2265, + serialized_start=3741, + serialized_end=3865, ) @@ -1055,7 +1490,9 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b( + "\340A\002\372A \022\036datacatalog.googleapis.com/Tag" + ), file=DESCRIPTOR, ) ], @@ -1067,8 +1504,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=2267, - serialized_end=2299, + serialized_start=3867, + serialized_end=3939, ) @@ -1094,7 +1531,9 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b( + "\340A\002\372A(\n&datacatalog.googleapis.com/TagTemplate" + ), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -1112,7 +1551,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -1130,7 +1569,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), ], @@ -1142,8 +1581,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=2302, - serialized_end=2460, + serialized_start=3942, + serialized_end=4158, ) @@ -1169,7 +1608,9 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b( + "\340A\002\372A-\n+datacatalog.googleapis.com/TagTemplateField" + ), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -1187,7 +1628,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -1217,8 +1658,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=2463, - serialized_end=2637, + serialized_start=4161, + serialized_end=4393, ) @@ -1244,7 +1685,9 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b( + "\340A\002\372A-\n+datacatalog.googleapis.com/TagTemplateField" + ), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -1262,7 +1705,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), ], @@ -1274,8 +1717,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=2639, - serialized_end=2719, + serialized_start=4396, + serialized_end=4534, ) @@ -1301,7 +1744,9 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b( + "\340A\002\372A-\n+datacatalog.googleapis.com/TagTemplateField" + ), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -1319,7 +1764,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), ], @@ -1331,8 +1776,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=2721, - serialized_end=2781, + serialized_start=4536, + serialized_end=4654, ) @@ -1358,7 +1803,9 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b( + "\340A\002\372A \022\036datacatalog.googleapis.com/Tag" + ), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -1406,8 +1853,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=2783, - serialized_end=2855, + serialized_start=4656, + serialized_end=4768, ) @@ -1463,8 +1910,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=2857, - serialized_end=2953, + serialized_start=4770, + serialized_end=4866, ) _SEARCHCATALOGREQUEST_SCOPE.containing_type = _SEARCHCATALOGREQUEST @@ -1474,6 +1921,11 @@ ].message_type = ( google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_search__pb2._SEARCHCATALOGRESULT ) +_CREATEENTRYGROUPREQUEST.fields_by_name["entry_group"].message_type = _ENTRYGROUP +_GETENTRYGROUPREQUEST.fields_by_name[ + "read_mask" +].message_type = google_dot_protobuf_dot_field__mask__pb2._FIELDMASK +_CREATEENTRYREQUEST.fields_by_name["entry"].message_type = _ENTRY _UPDATEENTRYREQUEST.fields_by_name["entry"].message_type = _ENTRY _UPDATEENTRYREQUEST.fields_by_name[ "update_mask" @@ -1491,6 +1943,11 @@ "sql_resource" ].containing_oneof = _LOOKUPENTRYREQUEST.oneofs_by_name["target_name"] _ENTRY.fields_by_name["type"].enum_type = _ENTRYTYPE +_ENTRY.fields_by_name[ + "gcs_fileset_spec" +].message_type = ( + google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_gcs__fileset__spec__pb2._GCSFILESETSPEC +) _ENTRY.fields_by_name[ "bigquery_table_spec" ].message_type = ( @@ -1511,6 +1968,14 @@ ].message_type = ( google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_timestamps__pb2._SYSTEMTIMESTAMPS ) +_ENTRY.oneofs_by_name["entry_type"].fields.append(_ENTRY.fields_by_name["type"]) +_ENTRY.fields_by_name["type"].containing_oneof = _ENTRY.oneofs_by_name["entry_type"] +_ENTRY.oneofs_by_name["type_spec"].fields.append( + _ENTRY.fields_by_name["gcs_fileset_spec"] +) +_ENTRY.fields_by_name["gcs_fileset_spec"].containing_oneof = _ENTRY.oneofs_by_name[ + "type_spec" +] _ENTRY.oneofs_by_name["type_spec"].fields.append( _ENTRY.fields_by_name["bigquery_table_spec"] ) @@ -1523,6 +1988,11 @@ _ENTRY.fields_by_name[ "bigquery_date_sharded_spec" ].containing_oneof = _ENTRY.oneofs_by_name["type_spec"] +_ENTRYGROUP.fields_by_name[ + "data_catalog_timestamps" +].message_type = ( + google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_timestamps__pb2._SYSTEMTIMESTAMPS +) _CREATETAGTEMPLATEREQUEST.fields_by_name[ "tag_template" ].message_type = ( @@ -1563,10 +2033,16 @@ ].message_type = google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_tags__pb2._TAG DESCRIPTOR.message_types_by_name["SearchCatalogRequest"] = _SEARCHCATALOGREQUEST DESCRIPTOR.message_types_by_name["SearchCatalogResponse"] = _SEARCHCATALOGRESPONSE +DESCRIPTOR.message_types_by_name["CreateEntryGroupRequest"] = _CREATEENTRYGROUPREQUEST +DESCRIPTOR.message_types_by_name["GetEntryGroupRequest"] = _GETENTRYGROUPREQUEST +DESCRIPTOR.message_types_by_name["DeleteEntryGroupRequest"] = _DELETEENTRYGROUPREQUEST +DESCRIPTOR.message_types_by_name["CreateEntryRequest"] = _CREATEENTRYREQUEST DESCRIPTOR.message_types_by_name["UpdateEntryRequest"] = _UPDATEENTRYREQUEST +DESCRIPTOR.message_types_by_name["DeleteEntryRequest"] = _DELETEENTRYREQUEST DESCRIPTOR.message_types_by_name["GetEntryRequest"] = _GETENTRYREQUEST DESCRIPTOR.message_types_by_name["LookupEntryRequest"] = _LOOKUPENTRYREQUEST DESCRIPTOR.message_types_by_name["Entry"] = _ENTRY +DESCRIPTOR.message_types_by_name["EntryGroup"] = _ENTRYGROUP DESCRIPTOR.message_types_by_name["CreateTagTemplateRequest"] = _CREATETAGTEMPLATEREQUEST DESCRIPTOR.message_types_by_name["GetTagTemplateRequest"] = _GETTAGTEMPLATEREQUEST DESCRIPTOR.message_types_by_name["UpdateTagTemplateRequest"] = _UPDATETAGTEMPLATEREQUEST @@ -1606,21 +2082,21 @@ include_org_ids: Data Catalog tries to automatically choose the right corpus of data to search through. You can ensure an organization is - included by adding it to "include\_org\_ids". You can ensure a - project's org is included with "include\_project\_ids". You + included by adding it to ``include_org_ids``. You can ensure a + project's org is included with ``include_project_ids``. You must specify at least one organization using - "include\_org\_ids" or "include\_project\_ids" in all search + ``include_org_ids`` or ``include_project_ids`` in all search requests. List of organization IDs to search within. To find your organization ID, follow instructions in https://cloud.google.com/resource-manager/docs/creating- - managing-organization + managing-organization. include_project_ids: List of project IDs to search within. To learn more about the distinction between project names/IDs/numbers, go to - https://cloud.google.com/docs/overview/#projects + https://cloud.google.com/docs/overview/#projects. include_gcp_public_datasets: - If true, include Google Cloud Platform (GCP) public datasets - in the search results. Info on GCP public datasets is + If ``true``, include Google Cloud Platform (GCP) public + datasets in the search results. Info on GCP public datasets is available at https://cloud.google.com/public-datasets/. By default, GCP public datasets are excluded. """, @@ -1649,22 +2125,20 @@ 10. Max limit for page\_size is 1000. Throws an invalid argument for page\_size > 1000. page_token: - Optional pagination token returned in an earlier [SearchCatalo - gResponse.next\_page\_token][google.cloud.datacatalog.v1beta1. - DataCatalog.SearchCatalogResponse.next\_page\_token]; - indicates that this is a continuation of a prior [SearchCatalo - g][google.cloud.datacatalog.v1beta1.DataCatalog.SearchCatalog] + Optional. Pagination token returned in an earlier [SearchCatal + ogResponse.next\_page\_token][google.cloud.datacatalog.v1beta1 + .SearchCatalogResponse.next\_page\_token], which indicates + that this is a continuation of a prior [SearchCatalogRequest][ + google.cloud.datacatalog.v1beta1.DataCatalog.SearchCatalog] call, and that the system should return the next page of data. - If empty then the first page is returned. + If empty, the first page is returned. order_by: Specifies the ordering of results, currently supported case- - sensitive choices are: .. raw:: html
    .. raw:: html -
  • relevance .. raw:: html
  • .. raw:: html -
  • last\_access\_timestamp [asc\|desc], defaults to - descending if not specified, .. raw:: html
  • .. - raw:: html
  • last\_modified\_timestamp [asc\|desc], - defaults to descending if not specified. .. raw:: html -
  • .. raw:: html
+ sensitive choices are: - ``relevance``, only supports + desecending - ``last_access_timestamp [asc|desc]``, defaults + to descending if not specified - ``last_modified_timestamp + [asc|desc]``, defaults to descending if not specified If + not specified, defaults to ``relevance`` descending. """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.SearchCatalogRequest) ), @@ -1684,7 +2158,7 @@ Attributes: results: - Search results in descending order of relevance. + Search results. next_page_token: The token that can be used to retrieve the next page of results. @@ -1694,6 +2168,104 @@ ) _sym_db.RegisterMessage(SearchCatalogResponse) +CreateEntryGroupRequest = _reflection.GeneratedProtocolMessageType( + "CreateEntryGroupRequest", + (_message.Message,), + dict( + DESCRIPTOR=_CREATEENTRYGROUPREQUEST, + __module__="google.cloud.datacatalog_v1beta1.proto.datacatalog_pb2", + __doc__="""Request message for + [CreateEntryGroup][google.cloud.datacatalog.v1beta1.DataCatalog.CreateEntryGroup]. + + + Attributes: + parent: + Required. The name of the project this entry group is in. + Example: - projects/{project\_id}/locations/{location} Note + that this EntryGroup and its child resources may not actually + be stored in the location in this name. + entry_group_id: + Required. The id of the entry group to create. + entry_group: + The entry group to create. Defaults to an empty entry group. + """, + # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.CreateEntryGroupRequest) + ), +) +_sym_db.RegisterMessage(CreateEntryGroupRequest) + +GetEntryGroupRequest = _reflection.GeneratedProtocolMessageType( + "GetEntryGroupRequest", + (_message.Message,), + dict( + DESCRIPTOR=_GETENTRYGROUPREQUEST, + __module__="google.cloud.datacatalog_v1beta1.proto.datacatalog_pb2", + __doc__="""Request message for + [GetEntryGroup][google.cloud.datacatalog.v1beta1.DataCatalog.GetEntryGroup]. + + + Attributes: + name: + Required. The name of the entry group. For example, ``projects + /{project_id}/locations/{location}/entryGroups/{entry_group_id + }``. + read_mask: + The fields to return. If not set or empty, all fields are + returned. + """, + # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.GetEntryGroupRequest) + ), +) +_sym_db.RegisterMessage(GetEntryGroupRequest) + +DeleteEntryGroupRequest = _reflection.GeneratedProtocolMessageType( + "DeleteEntryGroupRequest", + (_message.Message,), + dict( + DESCRIPTOR=_DELETEENTRYGROUPREQUEST, + __module__="google.cloud.datacatalog_v1beta1.proto.datacatalog_pb2", + __doc__="""Request message for + [DeleteEntryGroup][google.cloud.datacatalog.v1beta1.DataCatalog.DeleteEntryGroup]. + + + Attributes: + name: + Required. The name of the entry group. For example, ``projects + /{project_id}/locations/{location}/entryGroups/{entry_group_id + }``. + """, + # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.DeleteEntryGroupRequest) + ), +) +_sym_db.RegisterMessage(DeleteEntryGroupRequest) + +CreateEntryRequest = _reflection.GeneratedProtocolMessageType( + "CreateEntryRequest", + (_message.Message,), + dict( + DESCRIPTOR=_CREATEENTRYREQUEST, + __module__="google.cloud.datacatalog_v1beta1.proto.datacatalog_pb2", + __doc__="""Request message for + [CreateEntry][google.cloud.datacatalog.v1beta1.DataCatalog.CreateEntry]. + + + Attributes: + parent: + Required. The name of the entry group this entry is in. + Example: - projects/{project\_id}/locations/{location}/entry + Groups/{entry\_group\_id} Note that this Entry and its child + resources may not actually be stored in the location in this + name. + entry_id: + Required. The id of the entry to create. + entry: + Required. The entry to create. + """, + # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.CreateEntryRequest) + ), +) +_sym_db.RegisterMessage(CreateEntryRequest) + UpdateEntryRequest = _reflection.GeneratedProtocolMessageType( "UpdateEntryRequest", (_message.Message,), @@ -1706,19 +2278,41 @@ Attributes: entry: - Required. The updated Entry. + Required. The updated entry. The "name" field must be set. update_mask: - Optional. The fields to update on the entry. If absent or - empty, all modifiable fields are updated. Modifiable fields - in synced entries: 1. schema (Pub/Sub topics only) - Modifiable fields in native entries: 1. display\_name 2. - description 3. schema + The fields to update on the entry. If absent or empty, all + modifiable fields are updated. The following fields are + modifiable: \* For entries with type ``DATA_STREAM``: \* + ``schema`` \* For entries with type ``FILESET`` \* ``schema`` + \* ``display_name`` \* ``description`` \* ``gcs_fileset_spec`` + \* ``gcs_fileset_spec.file_patterns`` """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.UpdateEntryRequest) ), ) _sym_db.RegisterMessage(UpdateEntryRequest) +DeleteEntryRequest = _reflection.GeneratedProtocolMessageType( + "DeleteEntryRequest", + (_message.Message,), + dict( + DESCRIPTOR=_DELETEENTRYREQUEST, + __module__="google.cloud.datacatalog_v1beta1.proto.datacatalog_pb2", + __doc__="""Request message for + [DeleteEntry][google.cloud.datacatalog.v1beta1.DataCatalog.DeleteEntry]. + + + Attributes: + name: + Required. The name of the entry. Example: - projects/{projec + t\_id}/locations/{location}/entryGroups/{entry\_group\_id}/ent + ries/{entry\_id} + """, + # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.DeleteEntryRequest) + ), +) +_sym_db.RegisterMessage(DeleteEntryRequest) + GetEntryRequest = _reflection.GeneratedProtocolMessageType( "GetEntryRequest", (_message.Message,), @@ -1731,9 +2325,13 @@ Attributes: name: - Required. The name of the entry. For example, "projects/{proje - ct\_id}/locations/{location}/entryGroups/{entry\_group\_id}/en - tries/{entry\_id}". + Required. The name of the entry. Example: - projects/{projec + t\_id}/locations/{location}/entryGroups/{entry\_group\_id}/ent + ries/{entry\_id} Entry groups are logical groupings of + entries. Currently, users cannot create/modify entry groups. + They are created by Data Catalog; they include ``@bigquery`` + for all BigQuery entries, and ``@pubsub`` for all Cloud + Pub/Sub entries. """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.GetEntryRequest) ), @@ -1757,23 +2355,20 @@ linked_resource: The full name of the Google Cloud Platform resource the Data Catalog entry represents. See: https://cloud.google.com/apis/d - esign/resource\_names#full\_resource\_name Full names are - case-sensitive. Examples: "//bigquery.googleapis.com/projects - /projectId/datasets/datasetId/tables/tableId". - "//pubsub.googleapis.com/projects/projectId/topics/topicId" + esign/resource\_names#full\_resource\_name. Full names are + case-sensitive. Examples: - //bigquery.googleapis.com/proje + cts/projectId/datasets/datasetId/tables/tableId - + //pubsub.googleapis.com/projects/projectId/topics/topicId sql_resource: The SQL name of the entry. SQL names are case-sensitive. - Examples: .. raw:: html
    .. raw:: html
  • - cloud\_pubsub.project\_id.topic\_id .. raw:: html
  • - .. raw:: html
  • pubsub.project\_id.\ - ``topic.id.with.dots`` .. raw:: html
  • .. raw:: html -
  • bigquery.project\_id.dataset\_id.table\_id .. raw:: - html
  • .. raw:: html
  • datacatalog.project\_i - d.location\_id.entry\_group\_id.entry\_id .. raw:: html -
  • .. raw:: html
\*\_ids shoud satisfy the - standard SQL rules for identifiers. + Examples: - ``cloud_pubsub.project_id.topic_id`` - + ``pubsub.project_id.`topic.id.with.dots``` - + ``bigquery.project_id.dataset_id.table_id`` - + ``datacatalog.project_id.location_id.entry_group_id.entry_id`` + ``*_id``\ s shoud satisfy the standard SQL rules for + identifiers. https://cloud.google.com/bigquery/docs/reference/standard- - sql/lexical + sql/lexical. """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.LookupEntryRequest) ), @@ -1787,9 +2382,9 @@ DESCRIPTOR=_ENTRY, __module__="google.cloud.datacatalog_v1beta1.proto.datacatalog_pb2", __doc__="""Entry Metadata. A Data Catalog Entry resource represents another - resource in Google Cloud Platform, such as a BigQuery Dataset or a - Pub/Sub Topic. Clients can use the ``linked_resource`` field in the - Entry resource to refer to the original resource id of the source + resource in Google Cloud Platform, such as a BigQuery dataset or a Cloud + Pub/Sub topic. Clients can use the ``linked_resource`` field in the + Entry resource to refer to the original resource ID of the source system. An Entry resource contains resource details, such as its schema. An @@ -1799,54 +2394,90 @@ Attributes: name: - Required when used in [UpdateEntryRequest][google.cloud.dataca - talog.v1beta1.UpdateEntryRequest]. The Data Catalog resource - name of the entry in URL format. For example, "projects/{proje - ct\_id}/locations/{location}/entryGroups/{entry\_group\_id}/en - tries/{entry\_id}". Note that this Entry and its child - resources may not actually be stored in the location in this - name. + The Data Catalog resource name of the entry in URL format. + Example: - projects/{project\_id}/locations/{location}/entry + Groups/{entry\_group\_id}/entries/{entry\_id} Note that this + Entry and its child resources may not actually be stored in + the location in this name. linked_resource: - Output only. The full name of the cloud resource the entry - belongs to. See: https://cloud.google.com/apis/design/resource - \_names#full\_resource\_name Data Catalog supports resources - from select Google Cloud Platform systems. ``linked_resource`` - is the full name of the Google Cloud Platform resource. For - example, the ``linked_resource`` for a table resource from - BigQuery is: "//bigquery.googleapis.com/projects/projectId/da - tasets/datasetId/tables/tableId". + Output only. The resource this metadata entry refers to. For + Google Cloud Platform resources, ``linked_resource`` is the + `full name of the resource `__. For example, the + ``linked_resource`` for a table resource from BigQuery is: - + //bigquery.googleapis.com/projects/projectId/datasets/datasetI + d/tables/tableId + entry_type: + Required. Entry type. type: - Required. Type of entry. + The type of the entry. type_spec: - Optional. Type specification information. + Type specification information. + gcs_fileset_spec: + Specification that applies to a Cloud Storage fileset. This is + only valid on entries of type FILESET. bigquery_table_spec: Specification that applies to a BigQuery table. This is only - valid on entries of type TABLE. + valid on entries of type ``TABLE``. bigquery_date_sharded_spec: Specification for a group of BigQuery tables with name pattern - [prefix]YYYYMMDD. Context: + ``[prefix]YYYYMMDD``. Context: https://cloud.google.com/bigquery/docs/partitioned- - tables#partitioning\_versus\_sharding + tables#partitioning\_versus\_sharding. display_name: - Optional. Display information such as title and description. A - short name to identify the entry, for example, "Analytics Data - - Jan 2011". Default value is an empty string. + Display information such as title and description. A short + name to identify the entry, for example, "Analytics Data - Jan + 2011". Default value is an empty string. description: - Optional. Entry description, which can consist of several - sentences or paragraphs that describe entry contents. Default - value is an empty string. + Entry description, which can consist of several sentences or + paragraphs that describe entry contents. Default value is an + empty string. schema: - Optional. Schema of the entry. An entry might not have any - schema attached to it. + Schema of the entry. An entry might not have any schema + attached to it. source_system_timestamps: Output only. Timestamps about the underlying Google Cloud - Platform resource -- not about this Data Catalog Entry. + Platform resource, not about this Data Catalog Entry. """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.Entry) ), ) _sym_db.RegisterMessage(Entry) +EntryGroup = _reflection.GeneratedProtocolMessageType( + "EntryGroup", + (_message.Message,), + dict( + DESCRIPTOR=_ENTRYGROUP, + __module__="google.cloud.datacatalog_v1beta1.proto.datacatalog_pb2", + __doc__="""EntryGroup Metadata. An EntryGroup resource represents a logical + grouping of zero or more Data Catalog + [Entry][google.cloud.datacatalog.v1beta1.Entry] resources. + + + Attributes: + name: + The resource name of the entry group in URL format. Example: + - projects/{project\_id}/locations/{location}/entryGroups/{en + try\_group\_id} Note that this EntryGroup and its child + resources may not actually be stored in the location in this + name. + display_name: + A short name to identify the entry group, for example, + "analytics data - jan 2011". Default value is an empty string. + description: + Entry group description, which can consist of several + sentences or paragraphs that describe entry group contents. + Default value is an empty string. + data_catalog_timestamps: + Output only. Timestamps about this EntryGroup. Default value + is empty timestamps. + """, + # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.EntryGroup) + ), +) +_sym_db.RegisterMessage(EntryGroup) + CreateTagTemplateRequest = _reflection.GeneratedProtocolMessageType( "CreateTagTemplateRequest", (_message.Message,), @@ -1860,10 +2491,10 @@ Attributes: parent: Required. The name of the project and the location this - template is in. Example: - "projects/{project\_id}/locations/{location}". Note that this - TagTemplate and its child resources may not actually be stored - in the location in this name. + template is in. Example: - + projects/{project\_id}/locations/{location} TagTemplate and + its child resources may not actually be stored in the location + in this name. tag_template_id: Required. The id of the tag template to create. tag_template: @@ -1886,9 +2517,9 @@ Attributes: name: - Required. The name of the tag template. For example, "projects - /{project\_id}/locations/{location}/tagTemplates/{tag\_templat - e\_id}". + Required. The name of the tag template. Example: - projects/ + {project\_id}/locations/{location}/tagTemplates/{tag\_template + \_id} """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.GetTagTemplateRequest) ), @@ -1907,12 +2538,12 @@ Attributes: tag_template: - Required. The template to update. + Required. The template to update. The "name" field must be + set. update_mask: - Optional. The field mask specifies the parts of the template - to overwrite. Allowed fields: - display\_name If - update\_mask is omitted, all of the allowed fields above will - be updated. + The field mask specifies the parts of the template to + overwrite. Allowed fields: - ``display_name`` If absent or + empty, all of the allowed fields above will be updated. """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.UpdateTagTemplateRequest) ), @@ -1931,13 +2562,14 @@ Attributes: name: - Required. The name of the tag template to delete. For example, - "projects/{project\_id}/locations/{location}/tagTemplates/{tag - \_template\_id}". + Required. The name of the tag template to delete. Example: - + projects/{project\_id}/locations/{location}/tagTemplates/{tag\ + _template\_id} force: - Required. Currently, this field must always be set to true. - This confirms the deletion of any possible tags using this - template. force = false will be supported in the future. + Required. Currently, this field must always be set to + ``true``. This confirms the deletion of any possible tags + using this template. ``force = false`` will be supported in + the future. """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.DeleteTagTemplateRequest) ), @@ -1957,9 +2589,9 @@ Attributes: parent: Required. The name of the resource to attach this tag to. Tags - can be attached to Entries. (example: "projects/{project\_id}/ - locations/{location}/entryGroups/{entry\_group\_id}/entries/{e - ntry\_id}"). Note that this Tag and its child resources may + can be attached to Entries. Example: - projects/{project\_id + }/locations/{location}/entryGroups/{entry\_group\_id}/entries/ + {entry\_id} Note that this Tag and its child resources may not actually be stored in the location in this name. tag: Required. The tag to create. @@ -1981,11 +2613,11 @@ Attributes: tag: - Required. The updated tag. + Required. The updated tag. The "name" field must be set. update_mask: - Optional. The fields to update on the Tag. If absent or empty, - all modifiable fields are updated. Currently the only - modifiable field is the field ``fields``. + The fields to update on the Tag. If absent or empty, all + modifiable fields are updated. Currently the only modifiable + field is the field ``fields``. """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.UpdateTagRequest) ), @@ -2004,9 +2636,9 @@ Attributes: name: - Required. The name of the tag to delete. For example, "project - s/{project\_id}/locations/{location}/entryGroups/{entry\_group - \_id}/entries/{entry\_id}/tags/{tag\_id}". + Required. The name of the tag to delete. Example: - projects + /{project\_id}/locations/{location}/entryGroups/{entry\_group\ + _id}/entries/{entry\_id}/tags/{tag\_id} """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.DeleteTagRequest) ), @@ -2026,15 +2658,15 @@ Attributes: parent: Required. The name of the project this template is in. - Example: "projects/{project\_id}/locations/{location}/tagTempl - ates/{tag\_template\_id}". Note that this TagTemplateField may - not actually be stored in the location in this name. + Example: - projects/{project\_id}/locations/{location}/tagTe + mplates/{tag\_template\_id} Note that this TagTemplateField + may not actually be stored in the location in this name. tag_template_field_id: - Required. The id of the tag template field to create. Field + Required. The ID of the tag template field to create. Field ids can contain letters (both uppercase and lowercase), - numbers (0-9), underscores (\_) and dashes (-). Field ids must + numbers (0-9), underscores (\_) and dashes (-). Field IDs must be at least 1 character long and at most 128 characters long. - Field ids must also be unique to their template. + Field IDs must also be unique within their template. tag_template_field: Required. The tag template field to create. """, @@ -2055,19 +2687,19 @@ Attributes: name: - Required. The name of the tag template field. For example, "pr - ojects/{project\_id}/locations/{location}/tagTemplates/{tag\_t - emplate\_id}/fields/{tag\_template\_field\_id}". + Required. The name of the tag template field. Example: - pro + jects/{project\_id}/locations/{location}/tagTemplates/{tag\_te + mplate\_id}/fields/{tag\_template\_field\_id} tag_template_field: Required. The template to update. update_mask: - Optional. The field mask specifies the parts of the template - to overwrite. Allowed fields: - display\_name - - type.enum\_type If update\_mask is omitted, all of the - allowed fields above will be updated. When updating an enum - type, the provided values will be merged with the existing - values. Therefore, enum values can only be added, existing - enum values cannot be deleted nor renamed. + The field mask specifies the parts of the template to be + updated. Allowed fields: - ``display_name`` - + ``type.enum_type`` If ``update_mask`` is not set or empty, + all of the allowed fields above will be updated. When + updating an enum type, the provided values will be merged with + the existing values. Therefore, enum values can only be added, + existing enum values cannot be deleted nor renamed. """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.UpdateTagTemplateFieldRequest) ), @@ -2086,12 +2718,12 @@ Attributes: name: - Required. The name of the tag template. For example, "projects - /{project\_id}/locations/{location}/tagTemplates/{tag\_templat - e\_id}/fields/{tag\_template\_field\_id}". + Required. The name of the tag template. Example: - projects/ + {project\_id}/locations/{location}/tagTemplates/{tag\_template + \_id}/fields/{tag\_template\_field\_id} new_tag_template_field_id: Required. The new ID of this tag template field. For example, - "my\_new\_field". + ``my_new_field``. """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.RenameTagTemplateFieldRequest) ), @@ -2110,13 +2742,14 @@ Attributes: name: - Required. The name of the tag template field to delete. For - example, "projects/{project\_id}/locations/{location}/tagTempl - ates/{tag\_template\_id}/fields/{tag\_template\_field\_id}". + Required. The name of the tag template field to delete. + Example: - projects/{project\_id}/locations/{location}/tagTe + mplates/{tag\_template\_id}/fields/{tag\_template\_field\_id} force: - Required. Currently, this field must always be set to true. - This confirms the deletion of this field from any tags using - this field. force = false will be supported in the future. + Required. Currently, this field must always be set to + ``true``. This confirms the deletion of this field from any + tags using this field. ``force = false`` will be supported in + the future. """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.DeleteTagTemplateFieldRequest) ), @@ -2139,11 +2772,11 @@ tags of. The resource could be an [Entry][google.cloud.datacatalog.v1beta1.Entry]. page_size: - Optional. The maximum number of tags to return. Default is 10. - Max limit is 1000. + The maximum number of tags to return. Default is 10. Max limit + is 1000. page_token: - Optional. Token that specifies which page is requested. If - empty, the first page is returned. + Token that specifies which page is requested. If empty, the + first page is returned. """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.ListTagsRequest) ), @@ -2174,6 +2807,48 @@ DESCRIPTOR._options = None +_SEARCHCATALOGREQUEST.fields_by_name["scope"]._options = None +_SEARCHCATALOGREQUEST.fields_by_name["query"]._options = None +_SEARCHCATALOGREQUEST.fields_by_name["page_token"]._options = None +_CREATEENTRYGROUPREQUEST.fields_by_name["parent"]._options = None +_CREATEENTRYGROUPREQUEST.fields_by_name["entry_group_id"]._options = None +_GETENTRYGROUPREQUEST.fields_by_name["name"]._options = None +_DELETEENTRYGROUPREQUEST.fields_by_name["name"]._options = None +_CREATEENTRYREQUEST.fields_by_name["parent"]._options = None +_CREATEENTRYREQUEST.fields_by_name["entry_id"]._options = None +_CREATEENTRYREQUEST.fields_by_name["entry"]._options = None +_UPDATEENTRYREQUEST.fields_by_name["entry"]._options = None +_DELETEENTRYREQUEST.fields_by_name["name"]._options = None +_GETENTRYREQUEST.fields_by_name["name"]._options = None +_ENTRY.fields_by_name["name"]._options = None +_ENTRY.fields_by_name["linked_resource"]._options = None +_ENTRY.fields_by_name["source_system_timestamps"]._options = None +_ENTRY._options = None +_ENTRYGROUP.fields_by_name["data_catalog_timestamps"]._options = None +_ENTRYGROUP._options = None +_CREATETAGTEMPLATEREQUEST.fields_by_name["parent"]._options = None +_CREATETAGTEMPLATEREQUEST.fields_by_name["tag_template_id"]._options = None +_CREATETAGTEMPLATEREQUEST.fields_by_name["tag_template"]._options = None +_GETTAGTEMPLATEREQUEST.fields_by_name["name"]._options = None +_UPDATETAGTEMPLATEREQUEST.fields_by_name["tag_template"]._options = None +_DELETETAGTEMPLATEREQUEST.fields_by_name["name"]._options = None +_DELETETAGTEMPLATEREQUEST.fields_by_name["force"]._options = None +_CREATETAGREQUEST.fields_by_name["parent"]._options = None +_CREATETAGREQUEST.fields_by_name["tag"]._options = None +_UPDATETAGREQUEST.fields_by_name["tag"]._options = None +_DELETETAGREQUEST.fields_by_name["name"]._options = None +_CREATETAGTEMPLATEFIELDREQUEST.fields_by_name["parent"]._options = None +_CREATETAGTEMPLATEFIELDREQUEST.fields_by_name["tag_template_field_id"]._options = None +_CREATETAGTEMPLATEFIELDREQUEST.fields_by_name["tag_template_field"]._options = None +_UPDATETAGTEMPLATEFIELDREQUEST.fields_by_name["name"]._options = None +_UPDATETAGTEMPLATEFIELDREQUEST.fields_by_name["tag_template_field"]._options = None +_RENAMETAGTEMPLATEFIELDREQUEST.fields_by_name["name"]._options = None +_RENAMETAGTEMPLATEFIELDREQUEST.fields_by_name[ + "new_tag_template_field_id" +]._options = None +_DELETETAGTEMPLATEFIELDREQUEST.fields_by_name["name"]._options = None +_DELETETAGTEMPLATEFIELDREQUEST.fields_by_name["force"]._options = None +_LISTTAGSREQUEST.fields_by_name["parent"]._options = None _DATACATALOG = _descriptor.ServiceDescriptor( name="DataCatalog", @@ -2183,8 +2858,8 @@ serialized_options=_b( "\312A\032datacatalog.googleapis.com\322A.https://www.googleapis.com/auth/cloud-platform" ), - serialized_start=3025, - serialized_end=6729, + serialized_start=4951, + serialized_end=10527, methods=[ _descriptor.MethodDescriptor( name="SearchCatalog", @@ -2194,35 +2869,90 @@ input_type=_SEARCHCATALOGREQUEST, output_type=_SEARCHCATALOGRESPONSE, serialized_options=_b( - '\202\323\344\223\002\034"\027/v1beta1/catalog:search:\001*' + '\202\323\344\223\002\034"\027/v1beta1/catalog:search:\001*\332A\013scope,query' + ), + ), + _descriptor.MethodDescriptor( + name="CreateEntryGroup", + full_name="google.cloud.datacatalog.v1beta1.DataCatalog.CreateEntryGroup", + index=1, + containing_service=None, + input_type=_CREATEENTRYGROUPREQUEST, + output_type=_ENTRYGROUP, + serialized_options=_b( + '\202\323\344\223\002C"4/v1beta1/{parent=projects/*/locations/*}/entryGroups:\013entry_group\332A!parent,entry_group_id,entry_group' + ), + ), + _descriptor.MethodDescriptor( + name="GetEntryGroup", + full_name="google.cloud.datacatalog.v1beta1.DataCatalog.GetEntryGroup", + index=2, + containing_service=None, + input_type=_GETENTRYGROUPREQUEST, + output_type=_ENTRYGROUP, + serialized_options=_b( + "\202\323\344\223\0026\0224/v1beta1/{name=projects/*/locations/*/entryGroups/*}\332A\004name\332A\016name,read_mask" + ), + ), + _descriptor.MethodDescriptor( + name="DeleteEntryGroup", + full_name="google.cloud.datacatalog.v1beta1.DataCatalog.DeleteEntryGroup", + index=3, + containing_service=None, + input_type=_DELETEENTRYGROUPREQUEST, + output_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + serialized_options=_b( + "\202\323\344\223\0026*4/v1beta1/{name=projects/*/locations/*/entryGroups/*}\332A\004name" + ), + ), + _descriptor.MethodDescriptor( + name="CreateEntry", + full_name="google.cloud.datacatalog.v1beta1.DataCatalog.CreateEntry", + index=4, + containing_service=None, + input_type=_CREATEENTRYREQUEST, + output_type=_ENTRY, + serialized_options=_b( + '\202\323\344\223\002G">/v1beta1/{parent=projects/*/locations/*/entryGroups/*}/entries:\005entry\332A\025parent,entry_id,entry' ), ), _descriptor.MethodDescriptor( name="UpdateEntry", full_name="google.cloud.datacatalog.v1beta1.DataCatalog.UpdateEntry", - index=1, + index=5, containing_service=None, input_type=_UPDATEENTRYREQUEST, output_type=_ENTRY, serialized_options=_b( - "\202\323\344\223\002M2D/v1beta1/{entry.name=projects/*/locations/*/entryGroups/*/entries/*}:\005entry" + "\202\323\344\223\002M2D/v1beta1/{entry.name=projects/*/locations/*/entryGroups/*/entries/*}:\005entry\332A\005entry\332A\021entry,update_mask" + ), + ), + _descriptor.MethodDescriptor( + name="DeleteEntry", + full_name="google.cloud.datacatalog.v1beta1.DataCatalog.DeleteEntry", + index=6, + containing_service=None, + input_type=_DELETEENTRYREQUEST, + output_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + serialized_options=_b( + "\202\323\344\223\002@*>/v1beta1/{name=projects/*/locations/*/entryGroups/*/entries/*}\332A\004name" ), ), _descriptor.MethodDescriptor( name="GetEntry", full_name="google.cloud.datacatalog.v1beta1.DataCatalog.GetEntry", - index=2, + index=7, containing_service=None, input_type=_GETENTRYREQUEST, output_type=_ENTRY, serialized_options=_b( - "\202\323\344\223\002@\022>/v1beta1/{name=projects/*/locations/*/entryGroups/*/entries/*}" + "\202\323\344\223\002@\022>/v1beta1/{name=projects/*/locations/*/entryGroups/*/entries/*}\332A\004name" ), ), _descriptor.MethodDescriptor( name="LookupEntry", full_name="google.cloud.datacatalog.v1beta1.DataCatalog.LookupEntry", - index=3, + index=8, containing_service=None, input_type=_LOOKUPENTRYREQUEST, output_type=_ENTRY, @@ -2233,166 +2963,166 @@ _descriptor.MethodDescriptor( name="CreateTagTemplate", full_name="google.cloud.datacatalog.v1beta1.DataCatalog.CreateTagTemplate", - index=4, + index=9, containing_service=None, input_type=_CREATETAGTEMPLATEREQUEST, output_type=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_tags__pb2._TAGTEMPLATE, serialized_options=_b( - '\202\323\344\223\002E"5/v1beta1/{parent=projects/*/locations/*}/tagTemplates:\014tag_template' + '\202\323\344\223\002E"5/v1beta1/{parent=projects/*/locations/*}/tagTemplates:\014tag_template\332A#parent,tag_template_id,tag_template' ), ), _descriptor.MethodDescriptor( name="GetTagTemplate", full_name="google.cloud.datacatalog.v1beta1.DataCatalog.GetTagTemplate", - index=5, + index=10, containing_service=None, input_type=_GETTAGTEMPLATEREQUEST, output_type=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_tags__pb2._TAGTEMPLATE, serialized_options=_b( - "\202\323\344\223\0027\0225/v1beta1/{name=projects/*/locations/*/tagTemplates/*}" + "\202\323\344\223\0027\0225/v1beta1/{name=projects/*/locations/*/tagTemplates/*}\332A\004name" ), ), _descriptor.MethodDescriptor( name="UpdateTagTemplate", full_name="google.cloud.datacatalog.v1beta1.DataCatalog.UpdateTagTemplate", - index=6, + index=11, containing_service=None, input_type=_UPDATETAGTEMPLATEREQUEST, output_type=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_tags__pb2._TAGTEMPLATE, serialized_options=_b( - "\202\323\344\223\002R2B/v1beta1/{tag_template.name=projects/*/locations/*/tagTemplates/*}:\014tag_template" + "\202\323\344\223\002R2B/v1beta1/{tag_template.name=projects/*/locations/*/tagTemplates/*}:\014tag_template\332A\014tag_template\332A\030tag_template,update_mask" ), ), _descriptor.MethodDescriptor( name="DeleteTagTemplate", full_name="google.cloud.datacatalog.v1beta1.DataCatalog.DeleteTagTemplate", - index=7, + index=12, containing_service=None, input_type=_DELETETAGTEMPLATEREQUEST, output_type=google_dot_protobuf_dot_empty__pb2._EMPTY, serialized_options=_b( - "\202\323\344\223\0027*5/v1beta1/{name=projects/*/locations/*/tagTemplates/*}" + "\202\323\344\223\0027*5/v1beta1/{name=projects/*/locations/*/tagTemplates/*}\332A\nname,force" ), ), _descriptor.MethodDescriptor( name="CreateTagTemplateField", full_name="google.cloud.datacatalog.v1beta1.DataCatalog.CreateTagTemplateField", - index=8, + index=13, containing_service=None, input_type=_CREATETAGTEMPLATEFIELDREQUEST, output_type=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_tags__pb2._TAGTEMPLATEFIELD, serialized_options=_b( - '\202\323\344\223\002T">/v1beta1/{parent=projects/*/locations/*/tagTemplates/*}/fields:\022tag_template_field' + '\202\323\344\223\002T">/v1beta1/{parent=projects/*/locations/*/tagTemplates/*}/fields:\022tag_template_field\332A/parent,tag_template_field_id,tag_template_field' ), ), _descriptor.MethodDescriptor( name="UpdateTagTemplateField", full_name="google.cloud.datacatalog.v1beta1.DataCatalog.UpdateTagTemplateField", - index=9, + index=14, containing_service=None, input_type=_UPDATETAGTEMPLATEFIELDREQUEST, output_type=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_tags__pb2._TAGTEMPLATEFIELD, serialized_options=_b( - "\202\323\344\223\002T2>/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}:\022tag_template_field" + "\202\323\344\223\002T2>/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}:\022tag_template_field\332A\027name,tag_template_field\332A#name,tag_template_field,update_mask" ), ), _descriptor.MethodDescriptor( name="RenameTagTemplateField", full_name="google.cloud.datacatalog.v1beta1.DataCatalog.RenameTagTemplateField", - index=10, + index=15, containing_service=None, input_type=_RENAMETAGTEMPLATEFIELDREQUEST, output_type=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_tags__pb2._TAGTEMPLATEFIELD, serialized_options=_b( - '\202\323\344\223\002J"E/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}:rename:\001*' + '\202\323\344\223\002J"E/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}:rename:\001*\332A\036name,new_tag_template_field_id' ), ), _descriptor.MethodDescriptor( name="DeleteTagTemplateField", full_name="google.cloud.datacatalog.v1beta1.DataCatalog.DeleteTagTemplateField", - index=11, + index=16, containing_service=None, input_type=_DELETETAGTEMPLATEFIELDREQUEST, output_type=google_dot_protobuf_dot_empty__pb2._EMPTY, serialized_options=_b( - "\202\323\344\223\002@*>/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}" + "\202\323\344\223\002@*>/v1beta1/{name=projects/*/locations/*/tagTemplates/*/fields/*}\332A\nname,force" ), ), _descriptor.MethodDescriptor( name="CreateTag", full_name="google.cloud.datacatalog.v1beta1.DataCatalog.CreateTag", - index=12, + index=17, containing_service=None, input_type=_CREATETAGREQUEST, output_type=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_tags__pb2._TAG, serialized_options=_b( - '\202\323\344\223\002L"E/v1beta1/{parent=projects/*/locations/*/entryGroups/*/entries/*}/tags:\003tag' + '\202\323\344\223\002L"E/v1beta1/{parent=projects/*/locations/*/entryGroups/*/entries/*}/tags:\003tag\332A\nparent,tag' ), ), _descriptor.MethodDescriptor( name="UpdateTag", full_name="google.cloud.datacatalog.v1beta1.DataCatalog.UpdateTag", - index=13, + index=18, containing_service=None, input_type=_UPDATETAGREQUEST, output_type=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_tags__pb2._TAG, serialized_options=_b( - "\202\323\344\223\002P2I/v1beta1/{tag.name=projects/*/locations/*/entryGroups/*/entries/*/tags/*}:\003tag" + "\202\323\344\223\002P2I/v1beta1/{tag.name=projects/*/locations/*/entryGroups/*/entries/*/tags/*}:\003tag\332A\003tag\332A\017tag,update_mask" ), ), _descriptor.MethodDescriptor( name="DeleteTag", full_name="google.cloud.datacatalog.v1beta1.DataCatalog.DeleteTag", - index=14, + index=19, containing_service=None, input_type=_DELETETAGREQUEST, output_type=google_dot_protobuf_dot_empty__pb2._EMPTY, serialized_options=_b( - "\202\323\344\223\002G*E/v1beta1/{name=projects/*/locations/*/entryGroups/*/entries/*/tags/*}" + "\202\323\344\223\002G*E/v1beta1/{name=projects/*/locations/*/entryGroups/*/entries/*/tags/*}\332A\004name" ), ), _descriptor.MethodDescriptor( name="ListTags", full_name="google.cloud.datacatalog.v1beta1.DataCatalog.ListTags", - index=15, + index=20, containing_service=None, input_type=_LISTTAGSREQUEST, output_type=_LISTTAGSRESPONSE, serialized_options=_b( - "\202\323\344\223\002G\022E/v1beta1/{parent=projects/*/locations/*/entryGroups/*/entries/*}/tags" + "\202\323\344\223\002G\022E/v1beta1/{parent=projects/*/locations/*/entryGroups/*/entries/*}/tags\332A\006parent" ), ), _descriptor.MethodDescriptor( name="SetIamPolicy", full_name="google.cloud.datacatalog.v1beta1.DataCatalog.SetIamPolicy", - index=16, + index=21, containing_service=None, input_type=google_dot_iam_dot_v1_dot_iam__policy__pb2._SETIAMPOLICYREQUEST, output_type=google_dot_iam_dot_v1_dot_policy__pb2._POLICY, serialized_options=_b( - '\202\323\344\223\002K"F/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:setIamPolicy:\001*' + '\202\323\344\223\002\355\001"F/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:setIamPolicy:\001*ZJ"E/v1beta1/{resource=projects/*/locations/*/entryGroups/*}:setIamPolicy:\001*ZT"O/v1beta1/{resource=projects/*/locations/*/entryGroups/*/entries/*}:setIamPolicy:\001*' ), ), _descriptor.MethodDescriptor( name="GetIamPolicy", full_name="google.cloud.datacatalog.v1beta1.DataCatalog.GetIamPolicy", - index=17, + index=22, containing_service=None, input_type=google_dot_iam_dot_v1_dot_iam__policy__pb2._GETIAMPOLICYREQUEST, output_type=google_dot_iam_dot_v1_dot_policy__pb2._POLICY, serialized_options=_b( - '\202\323\344\223\002K"F/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:getIamPolicy:\001*' + '\202\323\344\223\002\355\001"F/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:getIamPolicy:\001*ZJ"E/v1beta1/{resource=projects/*/locations/*/entryGroups/*}:getIamPolicy:\001*ZT"O/v1beta1/{resource=projects/*/locations/*/entryGroups/*/entries/*}:getIamPolicy:\001*' ), ), _descriptor.MethodDescriptor( name="TestIamPermissions", full_name="google.cloud.datacatalog.v1beta1.DataCatalog.TestIamPermissions", - index=18, + index=23, containing_service=None, input_type=google_dot_iam_dot_v1_dot_iam__policy__pb2._TESTIAMPERMISSIONSREQUEST, output_type=google_dot_iam_dot_v1_dot_iam__policy__pb2._TESTIAMPERMISSIONSRESPONSE, serialized_options=_b( - '\202\323\344\223\002Q"L/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:testIamPermissions:\001*' + '\202\323\344\223\002\377\001"L/v1beta1/{resource=projects/*/locations/*/tagTemplates/*}:testIamPermissions:\001*ZP"K/v1beta1/{resource=projects/*/locations/*/entryGroups/*}:testIamPermissions:\001*ZZ"U/v1beta1/{resource=projects/*/locations/*/entryGroups/*/entries/*}:testIamPermissions:\001*' ), ), ], diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/proto/datacatalog_pb2_grpc.py b/datacatalog/google/cloud/datacatalog_v1beta1/proto/datacatalog_pb2_grpc.py index c9af06b41c0c..3364f7f20fb4 100644 --- a/datacatalog/google/cloud/datacatalog_v1beta1/proto/datacatalog_pb2_grpc.py +++ b/datacatalog/google/cloud/datacatalog_v1beta1/proto/datacatalog_pb2_grpc.py @@ -28,11 +28,36 @@ def __init__(self, channel): request_serializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.SearchCatalogRequest.SerializeToString, response_deserializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.SearchCatalogResponse.FromString, ) + self.CreateEntryGroup = channel.unary_unary( + "/google.cloud.datacatalog.v1beta1.DataCatalog/CreateEntryGroup", + request_serializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.CreateEntryGroupRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.EntryGroup.FromString, + ) + self.GetEntryGroup = channel.unary_unary( + "/google.cloud.datacatalog.v1beta1.DataCatalog/GetEntryGroup", + request_serializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.GetEntryGroupRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.EntryGroup.FromString, + ) + self.DeleteEntryGroup = channel.unary_unary( + "/google.cloud.datacatalog.v1beta1.DataCatalog/DeleteEntryGroup", + request_serializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.DeleteEntryGroupRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.CreateEntry = channel.unary_unary( + "/google.cloud.datacatalog.v1beta1.DataCatalog/CreateEntry", + request_serializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.CreateEntryRequest.SerializeToString, + response_deserializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.Entry.FromString, + ) self.UpdateEntry = channel.unary_unary( "/google.cloud.datacatalog.v1beta1.DataCatalog/UpdateEntry", request_serializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.UpdateEntryRequest.SerializeToString, response_deserializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.Entry.FromString, ) + self.DeleteEntry = channel.unary_unary( + "/google.cloud.datacatalog.v1beta1.DataCatalog/DeleteEntry", + request_serializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.DeleteEntryRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) self.GetEntry = channel.unary_unary( "/google.cloud.datacatalog.v1beta1.DataCatalog/GetEntry", request_serializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.GetEntryRequest.SerializeToString, @@ -132,7 +157,7 @@ def SearchCatalog(self, request, context): This is a custom method (https://cloud.google.com/apis/design/custom_methods) and does not return the complete resource, only the resource identifier and high level - fields. Clients can subsequentally call Get methods. + fields. Clients can subsequentally call `Get` methods. Note that searches do not have full recall. There may be results that match your query but are not returned, even in subsequent pages of results. These @@ -146,8 +171,65 @@ def SearchCatalog(self, request, context): context.set_details("Method not implemented!") raise NotImplementedError("Method not implemented!") + def CreateEntryGroup(self, request, context): + """Alpha feature. + Creates an EntryGroup. + The user should enable the Data Catalog API in the project identified by + the `parent` parameter (see [Data Catalog Resource Project] + (/data-catalog/docs/concepts/resource-project) for more information). + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + + def GetEntryGroup(self, request, context): + """Alpha feature. + Gets an EntryGroup. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + + def DeleteEntryGroup(self, request, context): + """Alpha feature. + Deletes an EntryGroup. Only entry groups that do not contain entries can be + deleted. The user should enable the Data Catalog API in the project + identified by the `name` parameter (see [Data Catalog Resource Project] + (/data-catalog/docs/concepts/resource-project) for more information). + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + + def CreateEntry(self, request, context): + """Alpha feature. + Creates an entry. Currently only entries of 'FILESET' type can be created. + The user should enable the Data Catalog API in the project identified by + the `parent` parameter (see [Data Catalog Resource Project] + (/data-catalog/docs/concepts/resource-project) for more information). + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + def UpdateEntry(self, request, context): """Updates an existing entry. + The user should enable the Data Catalog API in the project identified by + the `entry.name` parameter (see [Data Catalog Resource Project] + (/data-catalog/docs/concepts/resource-project) for more information). + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details("Method not implemented!") + raise NotImplementedError("Method not implemented!") + + def DeleteEntry(self, request, context): + """Alpha feature. + Deletes an existing entry. Only entries created through + [CreateEntry][google.cloud.datacatalog.v1beta1.DataCatalog.CreateEntry] + method can be deleted. + The user should enable the Data Catalog API in the project identified by + the `name` parameter (see [Data Catalog Resource Project] + (/data-catalog/docs/concepts/resource-project) for more information). """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details("Method not implemented!") @@ -170,7 +252,10 @@ def LookupEntry(self, request, context): raise NotImplementedError("Method not implemented!") def CreateTagTemplate(self, request, context): - """Creates a tag template. + """Creates a tag template. The user should enable the Data Catalog API in + the project identified by the `parent` parameter (see [Data Catalog + Resource Project](/data-catalog/docs/concepts/resource-project) for more + information). """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details("Method not implemented!") @@ -187,6 +272,9 @@ def UpdateTagTemplate(self, request, context): """Updates a tag template. This method cannot be used to update the fields of a template. The tag template fields are represented as separate resources and should be updated using their own create/update/delete methods. + The user should enable the Data Catalog API in the project identified by + the `tag_template.name` parameter (see [Data Catalog Resource Project] + (/data-catalog/docs/concepts/resource-project) for more information). """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details("Method not implemented!") @@ -194,13 +282,20 @@ def UpdateTagTemplate(self, request, context): def DeleteTagTemplate(self, request, context): """Deletes a tag template and all tags using the template. + The user should enable the Data Catalog API in the project identified by + the `name` parameter (see [Data Catalog Resource Project] + (/data-catalog/docs/concepts/resource-project) for more information). """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details("Method not implemented!") raise NotImplementedError("Method not implemented!") def CreateTagTemplateField(self, request, context): - """Creates a field in a tag template. + """Creates a field in a tag template. The user should enable the Data Catalog + API in the project identified by the `parent` parameter (see + [Data Catalog Resource + Project](/data-catalog/docs/concepts/resource-project) for more + information). """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details("Method not implemented!") @@ -208,14 +303,19 @@ def CreateTagTemplateField(self, request, context): def UpdateTagTemplateField(self, request, context): """Updates a field in a tag template. This method cannot be used to update the - field type. + field type. The user should enable the Data Catalog API in the project + identified by the `name` parameter (see [Data Catalog Resource Project] + (/data-catalog/docs/concepts/resource-project) for more information). """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details("Method not implemented!") raise NotImplementedError("Method not implemented!") def RenameTagTemplateField(self, request, context): - """Renames a field in a tag template. + """Renames a field in a tag template. The user should enable the Data Catalog + API in the project identified by the `name` parameter (see [Data Catalog + Resource Project](/data-catalog/docs/concepts/resource-project) for more + information). """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details("Method not implemented!") @@ -223,6 +323,9 @@ def RenameTagTemplateField(self, request, context): def DeleteTagTemplateField(self, request, context): """Deletes a field in a tag template and all uses of that field. + The user should enable the Data Catalog API in the project identified by + the `name` parameter (see [Data Catalog Resource Project] + (/data-catalog/docs/concepts/resource-project) for more information). """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details("Method not implemented!") @@ -230,6 +333,12 @@ def DeleteTagTemplateField(self, request, context): def CreateTag(self, request, context): """Creates a tag on an [Entry][google.cloud.datacatalog.v1beta1.Entry]. + Note: The project identified by the `parent` parameter for the + [tag](/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters) + and the + [tag + template](/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters) + used to create the tag must be from the same organization. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details("Method not implemented!") @@ -261,12 +370,17 @@ def SetIamPolicy(self, request, context): policy. Supported resources are: - Tag templates. + - Entries. + - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Cloud Pub/Sub and any external Google Cloud Platform resources synced to Cloud Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. + - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag + templates. + - `datacatalog.entries.setIamPolicy` to set policies on entries. + - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details("Method not implemented!") @@ -279,12 +393,17 @@ def GetIamPolicy(self, request, context): Supported resources are: - Tag templates. + - Entries. + - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Cloud Pub/Sub and any external Google Cloud Platform resources synced to Cloud Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. + - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag + templates. + - `datacatalog.entries.getIamPolicy` to get policies on entries. + - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details("Method not implemented!") @@ -295,8 +414,10 @@ def TestIamPermissions(self, request, context): If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). - Supported resource are: - - tag templates. + Supported resources are: + - Tag templates. + - Entries. + - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Cloud Pub/Sub and any external Google Cloud Platform resources synced to Cloud Data Catalog. @@ -316,11 +437,36 @@ def add_DataCatalogServicer_to_server(servicer, server): request_deserializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.SearchCatalogRequest.FromString, response_serializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.SearchCatalogResponse.SerializeToString, ), + "CreateEntryGroup": grpc.unary_unary_rpc_method_handler( + servicer.CreateEntryGroup, + request_deserializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.CreateEntryGroupRequest.FromString, + response_serializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.EntryGroup.SerializeToString, + ), + "GetEntryGroup": grpc.unary_unary_rpc_method_handler( + servicer.GetEntryGroup, + request_deserializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.GetEntryGroupRequest.FromString, + response_serializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.EntryGroup.SerializeToString, + ), + "DeleteEntryGroup": grpc.unary_unary_rpc_method_handler( + servicer.DeleteEntryGroup, + request_deserializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.DeleteEntryGroupRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + "CreateEntry": grpc.unary_unary_rpc_method_handler( + servicer.CreateEntry, + request_deserializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.CreateEntryRequest.FromString, + response_serializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.Entry.SerializeToString, + ), "UpdateEntry": grpc.unary_unary_rpc_method_handler( servicer.UpdateEntry, request_deserializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.UpdateEntryRequest.FromString, response_serializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.Entry.SerializeToString, ), + "DeleteEntry": grpc.unary_unary_rpc_method_handler( + servicer.DeleteEntry, + request_deserializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.DeleteEntryRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), "GetEntry": grpc.unary_unary_rpc_method_handler( servicer.GetEntry, request_deserializer=google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_datacatalog__pb2.GetEntryRequest.FromString, diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/proto/gcs_fileset_spec.proto b/datacatalog/google/cloud/datacatalog_v1beta1/proto/gcs_fileset_spec.proto new file mode 100644 index 000000000000..e7397d054365 --- /dev/null +++ b/datacatalog/google/cloud/datacatalog_v1beta1/proto/gcs_fileset_spec.proto @@ -0,0 +1,59 @@ +// Copyright 2019 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package google.cloud.datacatalog.v1beta1; + +import "google/api/field_behavior.proto"; +import "google/cloud/datacatalog/v1beta1/timestamps.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog"; +option java_multiple_files = true; +option java_package = "com.google.cloud.datacatalog"; + +// Describes a Cloud Storage fileset entry. +message GcsFilesetSpec { + // Required. Patterns to identify a set of files in Google Cloud Storage. + // + // Examples of valid file_patterns: + // + // * `gs://bucket_name/*`: matches all files in `bucket_name` + // * `gs://bucket_name/file*`: matches files prefixed by `file` in + // `bucket_name` + // * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match + // `a/*/b` pattern, such as `a/c/b`, `a/d/b` + // * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt` + repeated string file_patterns = 1 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Sample files contained in this fileset, not all files + // contained in this fileset are represented here. + repeated GcsFileSpec sample_gcs_file_specs = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Specifications of a single file in GCS. +message GcsFileSpec { + // Required. The full file path. Example: `gs://bucket_name/a/b.txt`. + string file_path = 1 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Timestamps about the GCS file. + SystemTimestamps gcs_timestamps = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The size of the file, in bytes. + int64 size_bytes = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/proto/gcs_fileset_spec_pb2.py b/datacatalog/google/cloud/datacatalog_v1beta1/proto/gcs_fileset_spec_pb2.py new file mode 100644 index 000000000000..94aee77c5677 --- /dev/null +++ b/datacatalog/google/cloud/datacatalog_v1beta1/proto/gcs_fileset_spec_pb2.py @@ -0,0 +1,240 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/cloud/datacatalog_v1beta1/proto/gcs_fileset_spec.proto + +import sys + +_b = sys.version_info[0] < 3 and (lambda x: x) or (lambda x: x.encode("latin1")) +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database + +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 +from google.cloud.datacatalog_v1beta1.proto import ( + timestamps_pb2 as google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_timestamps__pb2, +) + + +DESCRIPTOR = _descriptor.FileDescriptor( + name="google/cloud/datacatalog_v1beta1/proto/gcs_fileset_spec.proto", + package="google.cloud.datacatalog.v1beta1", + syntax="proto3", + serialized_options=_b( + "\n\034com.google.cloud.datacatalogP\001ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\370\001\001" + ), + serialized_pb=_b( + '\n=google/cloud/datacatalog_v1beta1/proto/gcs_fileset_spec.proto\x12 google.cloud.datacatalog.v1beta1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x37google/cloud/datacatalog_v1beta1/proto/timestamps.proto"\x7f\n\x0eGcsFilesetSpec\x12\x1a\n\rfile_patterns\x18\x01 \x03(\tB\x03\xe0\x41\x02\x12Q\n\x15sample_gcs_file_specs\x18\x02 \x03(\x0b\x32-.google.cloud.datacatalog.v1beta1.GcsFileSpecB\x03\xe0\x41\x03"\x8f\x01\n\x0bGcsFileSpec\x12\x16\n\tfile_path\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12O\n\x0egcs_timestamps\x18\x02 \x01(\x0b\x32\x32.google.cloud.datacatalog.v1beta1.SystemTimestampsB\x03\xe0\x41\x03\x12\x17\n\nsize_bytes\x18\x04 \x01(\x03\x42\x03\xe0\x41\x03\x42p\n\x1c\x63om.google.cloud.datacatalogP\x01ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\xf8\x01\x01\x62\x06proto3' + ), + dependencies=[ + google_dot_api_dot_field__behavior__pb2.DESCRIPTOR, + google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_timestamps__pb2.DESCRIPTOR, + ], +) + + +_GCSFILESETSPEC = _descriptor.Descriptor( + name="GcsFilesetSpec", + full_name="google.cloud.datacatalog.v1beta1.GcsFilesetSpec", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="file_patterns", + full_name="google.cloud.datacatalog.v1beta1.GcsFilesetSpec.file_patterns", + index=0, + number=1, + type=9, + cpp_type=9, + label=3, + has_default_value=False, + default_value=[], + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\002"), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="sample_gcs_file_specs", + full_name="google.cloud.datacatalog.v1beta1.GcsFilesetSpec.sample_gcs_file_specs", + index=1, + number=2, + type=11, + cpp_type=10, + label=3, + has_default_value=False, + default_value=[], + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\003"), + file=DESCRIPTOR, + ), + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=189, + serialized_end=316, +) + + +_GCSFILESPEC = _descriptor.Descriptor( + name="GcsFileSpec", + full_name="google.cloud.datacatalog.v1beta1.GcsFileSpec", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="file_path", + full_name="google.cloud.datacatalog.v1beta1.GcsFileSpec.file_path", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\002"), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="gcs_timestamps", + full_name="google.cloud.datacatalog.v1beta1.GcsFileSpec.gcs_timestamps", + index=1, + number=2, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\003"), + file=DESCRIPTOR, + ), + _descriptor.FieldDescriptor( + name="size_bytes", + full_name="google.cloud.datacatalog.v1beta1.GcsFileSpec.size_bytes", + index=2, + number=4, + type=3, + cpp_type=2, + label=1, + has_default_value=False, + default_value=0, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\003"), + file=DESCRIPTOR, + ), + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=319, + serialized_end=462, +) + +_GCSFILESETSPEC.fields_by_name["sample_gcs_file_specs"].message_type = _GCSFILESPEC +_GCSFILESPEC.fields_by_name[ + "gcs_timestamps" +].message_type = ( + google_dot_cloud_dot_datacatalog__v1beta1_dot_proto_dot_timestamps__pb2._SYSTEMTIMESTAMPS +) +DESCRIPTOR.message_types_by_name["GcsFilesetSpec"] = _GCSFILESETSPEC +DESCRIPTOR.message_types_by_name["GcsFileSpec"] = _GCSFILESPEC +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +GcsFilesetSpec = _reflection.GeneratedProtocolMessageType( + "GcsFilesetSpec", + (_message.Message,), + dict( + DESCRIPTOR=_GCSFILESETSPEC, + __module__="google.cloud.datacatalog_v1beta1.proto.gcs_fileset_spec_pb2", + __doc__="""Describes a Cloud Storage fileset entry. + + + Attributes: + file_patterns: + Required. Patterns to identify a set of files in Google Cloud + Storage. Examples of valid file\_patterns: - + ``gs://bucket_name/*``: matches all files in ``bucket_name`` - + ``gs://bucket_name/file*``: matches files prefixed by ``file`` + in ``bucket_name`` - ``gs://bucket_name/a/*/b``: matches + all files in ``bucket_name`` that match ``a/*/b`` pattern, + such as ``a/c/b``, ``a/d/b`` - ``gs://another_bucket/a.txt``: + matches ``gs://another_bucket/a.txt`` + sample_gcs_file_specs: + Output only. Sample files contained in this fileset, not all + files contained in this fileset are represented here. + """, + # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.GcsFilesetSpec) + ), +) +_sym_db.RegisterMessage(GcsFilesetSpec) + +GcsFileSpec = _reflection.GeneratedProtocolMessageType( + "GcsFileSpec", + (_message.Message,), + dict( + DESCRIPTOR=_GCSFILESPEC, + __module__="google.cloud.datacatalog_v1beta1.proto.gcs_fileset_spec_pb2", + __doc__="""Specifications of a single file in GCS. + + + Attributes: + file_path: + Required. The full file path. Example: + ``gs://bucket_name/a/b.txt``. + gcs_timestamps: + Output only. Timestamps about the GCS file. + size_bytes: + Output only. The size of the file, in bytes. + """, + # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.GcsFileSpec) + ), +) +_sym_db.RegisterMessage(GcsFileSpec) + + +DESCRIPTOR._options = None +_GCSFILESETSPEC.fields_by_name["file_patterns"]._options = None +_GCSFILESETSPEC.fields_by_name["sample_gcs_file_specs"]._options = None +_GCSFILESPEC.fields_by_name["file_path"]._options = None +_GCSFILESPEC.fields_by_name["gcs_timestamps"]._options = None +_GCSFILESPEC.fields_by_name["size_bytes"]._options = None +# @@protoc_insertion_point(module_scope) diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/proto/gcs_fileset_spec_pb2_grpc.py b/datacatalog/google/cloud/datacatalog_v1beta1/proto/gcs_fileset_spec_pb2_grpc.py new file mode 100644 index 000000000000..07cb78fe03a9 --- /dev/null +++ b/datacatalog/google/cloud/datacatalog_v1beta1/proto/gcs_fileset_spec_pb2_grpc.py @@ -0,0 +1,2 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +import grpc diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/proto/schema.proto b/datacatalog/google/cloud/datacatalog_v1beta1/proto/schema.proto index 839ef1d8ca50..aca588b4503b 100644 --- a/datacatalog/google/cloud/datacatalog_v1beta1/proto/schema.proto +++ b/datacatalog/google/cloud/datacatalog_v1beta1/proto/schema.proto @@ -17,6 +17,8 @@ syntax = "proto3"; package google.cloud.datacatalog.v1beta1; +import "google/api/field_behavior.proto"; + option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog"; option java_multiple_files = true; @@ -26,27 +28,27 @@ option java_package = "com.google.cloud.datacatalog"; message Schema { // Required. Schema of columns. A maximum of 10,000 columns and sub-columns // can be specified. - repeated ColumnSchema columns = 2; + repeated ColumnSchema columns = 2 [(google.api.field_behavior) = REQUIRED]; } // Representation of a column within a schema. Columns could be nested inside // other columns. message ColumnSchema { // Required. Name of the column. - string column = 6; + string column = 6 [(google.api.field_behavior) = REQUIRED]; // Required. Type of the column. - string type = 1; + string type = 1 [(google.api.field_behavior) = REQUIRED]; // Optional. Description of the column. Default value is an empty string. - string description = 2; + string description = 2 [(google.api.field_behavior) = OPTIONAL]; // Optional. A column's mode indicates whether the values in this column are - // required, nullable, etc. Only 'NULLABLE', 'REQUIRED' and 'REPEATED' are - // supported. Default mode is 'NULLABLE'. - string mode = 3; + // required, nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are + // supported. Default mode is `NULLABLE`. + string mode = 3 [(google.api.field_behavior) = OPTIONAL]; // Optional. Schema of sub-columns. A column can have zero or more // sub-columns. - repeated ColumnSchema subcolumns = 7; + repeated ColumnSchema subcolumns = 7 [(google.api.field_behavior) = OPTIONAL]; } diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/proto/schema_pb2.py b/datacatalog/google/cloud/datacatalog_v1beta1/proto/schema_pb2.py index e7643ae11df4..b5ac8e07cc8c 100644 --- a/datacatalog/google/cloud/datacatalog_v1beta1/proto/schema_pb2.py +++ b/datacatalog/google/cloud/datacatalog_v1beta1/proto/schema_pb2.py @@ -15,6 +15,9 @@ _sym_db = _symbol_database.Default() +from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 + + DESCRIPTOR = _descriptor.FileDescriptor( name="google/cloud/datacatalog_v1beta1/proto/schema.proto", package="google.cloud.datacatalog.v1beta1", @@ -23,8 +26,9 @@ "\n\034com.google.cloud.datacatalogP\001ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\370\001\001" ), serialized_pb=_b( - '\n3google/cloud/datacatalog_v1beta1/proto/schema.proto\x12 google.cloud.datacatalog.v1beta1"I\n\x06Schema\x12?\n\x07\x63olumns\x18\x02 \x03(\x0b\x32..google.cloud.datacatalog.v1beta1.ColumnSchema"\x93\x01\n\x0c\x43olumnSchema\x12\x0e\n\x06\x63olumn\x18\x06 \x01(\t\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04mode\x18\x03 \x01(\t\x12\x42\n\nsubcolumns\x18\x07 \x03(\x0b\x32..google.cloud.datacatalog.v1beta1.ColumnSchemaBp\n\x1c\x63om.google.cloud.datacatalogP\x01ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\xf8\x01\x01\x62\x06proto3' + '\n3google/cloud/datacatalog_v1beta1/proto/schema.proto\x12 google.cloud.datacatalog.v1beta1\x1a\x1fgoogle/api/field_behavior.proto"N\n\x06Schema\x12\x44\n\x07\x63olumns\x18\x02 \x03(\x0b\x32..google.cloud.datacatalog.v1beta1.ColumnSchemaB\x03\xe0\x41\x02"\xac\x01\n\x0c\x43olumnSchema\x12\x13\n\x06\x63olumn\x18\x06 \x01(\tB\x03\xe0\x41\x02\x12\x11\n\x04type\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x11\n\x04mode\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12G\n\nsubcolumns\x18\x07 \x03(\x0b\x32..google.cloud.datacatalog.v1beta1.ColumnSchemaB\x03\xe0\x41\x01\x42p\n\x1c\x63om.google.cloud.datacatalogP\x01ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\xf8\x01\x01\x62\x06proto3' ), + dependencies=[google_dot_api_dot_field__behavior__pb2.DESCRIPTOR], ) @@ -50,7 +54,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ) ], @@ -62,8 +66,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=89, - serialized_end=162, + serialized_start=122, + serialized_end=200, ) @@ -89,7 +93,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -107,7 +111,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -125,7 +129,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\001"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -143,7 +147,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\001"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -161,7 +165,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\001"), file=DESCRIPTOR, ), ], @@ -173,8 +177,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=165, - serialized_end=312, + serialized_start=203, + serialized_end=375, ) _SCHEMA.fields_by_name["columns"].message_type = _COLUMNSCHEMA @@ -222,9 +226,9 @@ string. mode: Optional. A column's mode indicates whether the values in this - column are required, nullable, etc. Only 'NULLABLE', - 'REQUIRED' and 'REPEATED' are supported. Default mode is - 'NULLABLE'. + column are required, nullable, etc. Only ``NULLABLE``, + ``REQUIRED`` and ``REPEATED`` are supported. Default mode is + ``NULLABLE``. subcolumns: Optional. Schema of sub-columns. A column can have zero or more sub-columns. @@ -236,4 +240,10 @@ DESCRIPTOR._options = None +_SCHEMA.fields_by_name["columns"]._options = None +_COLUMNSCHEMA.fields_by_name["column"]._options = None +_COLUMNSCHEMA.fields_by_name["type"]._options = None +_COLUMNSCHEMA.fields_by_name["description"]._options = None +_COLUMNSCHEMA.fields_by_name["mode"]._options = None +_COLUMNSCHEMA.fields_by_name["subcolumns"]._options = None # @@protoc_insertion_point(module_scope) diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/proto/search.proto b/datacatalog/google/cloud/datacatalog_v1beta1/proto/search.proto index 2a31dd94543a..372c1573c3db 100644 --- a/datacatalog/google/cloud/datacatalog_v1beta1/proto/search.proto +++ b/datacatalog/google/cloud/datacatalog_v1beta1/proto/search.proto @@ -17,7 +17,7 @@ syntax = "proto3"; package google.cloud.datacatalog.v1beta1; -import "google/api/annotations.proto"; +import "google/api/field_behavior.proto"; import "google/protobuf/timestamp.proto"; option cc_enable_arenas = true; @@ -34,20 +34,22 @@ message SearchCatalogResult { // Sub-type of the search result. This is a dot-delimited description of the // resource's full type, and is the same as the value callers would provide in - // the "type" search facet. Examples: "entry.table", "entry.dataStream", - // "tagTemplate" + // the "type" search facet. Examples: `entry.table`, `entry.dataStream`, + // `tagTemplate`. string search_result_subtype = 2; // The relative resource name of the resource in URL format. // Examples: - // "projects/{project_id}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}". - // "projects/{project_id}/tagTemplates/{tag_template_id}". + // + // * `projects/{project_id}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}` + // * `projects/{project_id}/tagTemplates/{tag_template_id}` string relative_resource_name = 3; // The full name of the cloud resource the entry belongs to. See: - // https://cloud.google.com/apis/design/resource_names#full_resource_name + // https://cloud.google.com/apis/design/resource_names#full_resource_name. // Example: - // "//bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId". + // + // * `//bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId` string linked_resource = 4; } diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/proto/search_pb2.py b/datacatalog/google/cloud/datacatalog_v1beta1/proto/search_pb2.py index 5c7ea4466f44..480288089982 100644 --- a/datacatalog/google/cloud/datacatalog_v1beta1/proto/search_pb2.py +++ b/datacatalog/google/cloud/datacatalog_v1beta1/proto/search_pb2.py @@ -16,7 +16,7 @@ _sym_db = _symbol_database.Default() -from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 @@ -28,10 +28,10 @@ "\n\034com.google.cloud.datacatalogP\001ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\370\001\001" ), serialized_pb=_b( - '\n3google/cloud/datacatalog_v1beta1/proto/search.proto\x12 google.cloud.datacatalog.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xbd\x01\n\x13SearchCatalogResult\x12N\n\x12search_result_type\x18\x01 \x01(\x0e\x32\x32.google.cloud.datacatalog.v1beta1.SearchResultType\x12\x1d\n\x15search_result_subtype\x18\x02 \x01(\t\x12\x1e\n\x16relative_resource_name\x18\x03 \x01(\t\x12\x17\n\x0flinked_resource\x18\x04 \x01(\t*d\n\x10SearchResultType\x12"\n\x1eSEARCH_RESULT_TYPE_UNSPECIFIED\x10\x00\x12\t\n\x05\x45NTRY\x10\x01\x12\x10\n\x0cTAG_TEMPLATE\x10\x02\x12\x0f\n\x0b\x45NTRY_GROUP\x10\x03\x42p\n\x1c\x63om.google.cloud.datacatalogP\x01ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\xf8\x01\x01\x62\x06proto3' + '\n3google/cloud/datacatalog_v1beta1/proto/search.proto\x12 google.cloud.datacatalog.v1beta1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xbd\x01\n\x13SearchCatalogResult\x12N\n\x12search_result_type\x18\x01 \x01(\x0e\x32\x32.google.cloud.datacatalog.v1beta1.SearchResultType\x12\x1d\n\x15search_result_subtype\x18\x02 \x01(\t\x12\x1e\n\x16relative_resource_name\x18\x03 \x01(\t\x12\x17\n\x0flinked_resource\x18\x04 \x01(\t*d\n\x10SearchResultType\x12"\n\x1eSEARCH_RESULT_TYPE_UNSPECIFIED\x10\x00\x12\t\n\x05\x45NTRY\x10\x01\x12\x10\n\x0cTAG_TEMPLATE\x10\x02\x12\x0f\n\x0b\x45NTRY_GROUP\x10\x03\x42p\n\x1c\x63om.google.cloud.datacatalogP\x01ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\xf8\x01\x01\x62\x06proto3' ), dependencies=[ - google_dot_api_dot_annotations__pb2.DESCRIPTOR, + google_dot_api_dot_field__behavior__pb2.DESCRIPTOR, google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR, ], ) @@ -61,8 +61,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=344, - serialized_end=444, + serialized_start=347, + serialized_end=447, ) _sym_db.RegisterEnumDescriptor(_SEARCHRESULTTYPE) @@ -161,8 +161,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=153, - serialized_end=342, + serialized_start=156, + serialized_end=345, ) _SEARCHCATALOGRESULT.fields_by_name["search_result_type"].enum_type = _SEARCHRESULTTYPE @@ -188,17 +188,18 @@ Sub-type of the search result. This is a dot-delimited description of the resource's full type, and is the same as the value callers would provide in the "type" search facet. - Examples: "entry.table", "entry.dataStream", "tagTemplate" + Examples: ``entry.table``, ``entry.dataStream``, + ``tagTemplate``. relative_resource_name: The relative resource name of the resource in URL format. - Examples: "projects/{project\_id}/locations/{location\_id}/ent - ryGroups/{entry\_group\_id}/entries/{entry\_id}". - "projects/{project\_id}/tagTemplates/{tag\_template\_id}". + Examples: - ``projects/{project_id}/locations/{location_id}/ + entryGroups/{entry_group_id}/entries/{entry_id}`` - + ``projects/{project_id}/tagTemplates/{tag_template_id}`` linked_resource: The full name of the cloud resource the entry belongs to. See: https://cloud.google.com/apis/design/resource\_names#full\_res - ource\_name Example: "//bigquery.googleapis.com/projects/proje - ctId/datasets/datasetId/tables/tableId". + ource\_name. Example: - ``//bigquery.googleapis.com/projects + /projectId/datasets/datasetId/tables/tableId`` """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.SearchCatalogResult) ), diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/proto/table_spec.proto b/datacatalog/google/cloud/datacatalog_v1beta1/proto/table_spec.proto index 8e9547fea783..4f9fddaaf97b 100644 --- a/datacatalog/google/cloud/datacatalog_v1beta1/proto/table_spec.proto +++ b/datacatalog/google/cloud/datacatalog_v1beta1/proto/table_spec.proto @@ -17,6 +17,9 @@ syntax = "proto3"; package google.cloud.datacatalog.v1beta1; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog"; option java_multiple_files = true; @@ -25,16 +28,17 @@ option java_package = "com.google.cloud.datacatalog"; // Describes a BigQuery table. message BigQueryTableSpec { // Output only. The table source type. - TableSourceType table_source_type = 1; + TableSourceType table_source_type = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. oneof type_spec { // Table view specification. This field should only be populated if - // table_source_type is BIGQUERY_VIEW. + // `table_source_type` is `BIGQUERY_VIEW`. ViewSpec view_spec = 2; // Spec of a BigQuery table. This field should only be populated if - // table_source_type is BIGQUERY_TABLE. + // `table_source_type` is `BIGQUERY_TABLE`. TableSpec table_spec = 3; } } @@ -54,35 +58,44 @@ enum TableSourceType { // Table view specification. message ViewSpec { // Output only. The query that defines the table view. - string view_query = 1; + string view_query = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Normal BigQuery table spec. message TableSpec { - // Output only. If the table is a dated shard, i.e. with name pattern - // [prefix]YYYYMMDD, grouped_entry is the Data Catalog resource name of the - // date sharded grouped entry, e.g. - // projects/{project_id}/locations/{location}/entrygroups/{entry_group_id} - // /entries/{entry_id}. - // Otherwise, grouped_entry will be empty. - string grouped_entry = 1; + // Output only. If the table is a dated shard, i.e., with name pattern + // `[prefix]YYYYMMDD`, `grouped_entry` is the Data Catalog resource name of + // the date sharded grouped entry, for example, + // `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`. + // Otherwise, `grouped_entry` is empty. + string grouped_entry = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "datacatalog.googleapis.com/Entry" + } + ]; } -// Spec for a group of BigQuery tables with name pattern [prefix]YYYYMMDD. +// Spec for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`. // Context: // https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding message BigQueryDateShardedSpec { // Output only. The Data Catalog resource name of the dataset entry the - // current table belongs to, e.g. - // projects/{project_id}/locations/{location}/entrygroups/{entry_group_id} - // /entries/{entry_id} - string dataset = 1; + // current table belongs to, for example, + // `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`. + string dataset = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "datacatalog.googleapis.com/Entry" + } + ]; // Output only. The table name prefix of the shards. The name of any given - // shard is [table_prefix]YYYYMMDD, e.g. for shard MyTable20180101, the - // table_prefix is "MyTable" - string table_prefix = 2; + // shard is + // `[table_prefix]YYYYMMDD`, for example, for shard `MyTable20180101`, the + // `table_prefix` is `MyTable`. + string table_prefix = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Total number of shards. - int64 shard_count = 3; + int64 shard_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/proto/table_spec_pb2.py b/datacatalog/google/cloud/datacatalog_v1beta1/proto/table_spec_pb2.py index c2fcf4ba9ea1..95d06ed5d360 100644 --- a/datacatalog/google/cloud/datacatalog_v1beta1/proto/table_spec_pb2.py +++ b/datacatalog/google/cloud/datacatalog_v1beta1/proto/table_spec_pb2.py @@ -16,6 +16,10 @@ _sym_db = _symbol_database.Default() +from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 +from google.api import resource_pb2 as google_dot_api_dot_resource__pb2 + + DESCRIPTOR = _descriptor.FileDescriptor( name="google/cloud/datacatalog_v1beta1/proto/table_spec.proto", package="google.cloud.datacatalog.v1beta1", @@ -24,8 +28,12 @@ "\n\034com.google.cloud.datacatalogP\001ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\370\001\001" ), serialized_pb=_b( - '\n7google/cloud/datacatalog_v1beta1/proto/table_spec.proto\x12 google.cloud.datacatalog.v1beta1"\xf2\x01\n\x11\x42igQueryTableSpec\x12L\n\x11table_source_type\x18\x01 \x01(\x0e\x32\x31.google.cloud.datacatalog.v1beta1.TableSourceType\x12?\n\tview_spec\x18\x02 \x01(\x0b\x32*.google.cloud.datacatalog.v1beta1.ViewSpecH\x00\x12\x41\n\ntable_spec\x18\x03 \x01(\x0b\x32+.google.cloud.datacatalog.v1beta1.TableSpecH\x00\x42\x0b\n\ttype_spec"\x1e\n\x08ViewSpec\x12\x12\n\nview_query\x18\x01 \x01(\t""\n\tTableSpec\x12\x15\n\rgrouped_entry\x18\x01 \x01(\t"U\n\x17\x42igQueryDateShardedSpec\x12\x0f\n\x07\x64\x61taset\x18\x01 \x01(\t\x12\x14\n\x0ctable_prefix\x18\x02 \x01(\t\x12\x13\n\x0bshard_count\x18\x03 \x01(\x03*[\n\x0fTableSourceType\x12!\n\x1dTABLE_SOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x11\n\rBIGQUERY_VIEW\x10\x02\x12\x12\n\x0e\x42IGQUERY_TABLE\x10\x05\x42p\n\x1c\x63om.google.cloud.datacatalogP\x01ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\xf8\x01\x01\x62\x06proto3' + '\n7google/cloud/datacatalog_v1beta1/proto/table_spec.proto\x12 google.cloud.datacatalog.v1beta1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto"\xf7\x01\n\x11\x42igQueryTableSpec\x12Q\n\x11table_source_type\x18\x01 \x01(\x0e\x32\x31.google.cloud.datacatalog.v1beta1.TableSourceTypeB\x03\xe0\x41\x03\x12?\n\tview_spec\x18\x02 \x01(\x0b\x32*.google.cloud.datacatalog.v1beta1.ViewSpecH\x00\x12\x41\n\ntable_spec\x18\x03 \x01(\x0b\x32+.google.cloud.datacatalog.v1beta1.TableSpecH\x00\x42\x0b\n\ttype_spec"#\n\x08ViewSpec\x12\x17\n\nview_query\x18\x01 \x01(\tB\x03\xe0\x41\x03"L\n\tTableSpec\x12?\n\rgrouped_entry\x18\x01 \x01(\tB(\xe0\x41\x03\xfa\x41"\n datacatalog.googleapis.com/Entry"\x89\x01\n\x17\x42igQueryDateShardedSpec\x12\x39\n\x07\x64\x61taset\x18\x01 \x01(\tB(\xe0\x41\x03\xfa\x41"\n datacatalog.googleapis.com/Entry\x12\x19\n\x0ctable_prefix\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0bshard_count\x18\x03 \x01(\x03\x42\x03\xe0\x41\x03*[\n\x0fTableSourceType\x12!\n\x1dTABLE_SOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x11\n\rBIGQUERY_VIEW\x10\x02\x12\x12\n\x0e\x42IGQUERY_TABLE\x10\x05\x42p\n\x1c\x63om.google.cloud.datacatalogP\x01ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\xf8\x01\x01\x62\x06proto3' ), + dependencies=[ + google_dot_api_dot_field__behavior__pb2.DESCRIPTOR, + google_dot_api_dot_resource__pb2.DESCRIPTOR, + ], ) _TABLESOURCETYPE = _descriptor.EnumDescriptor( @@ -50,8 +58,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=493, - serialized_end=584, + serialized_start=658, + serialized_end=749, ) _sym_db.RegisterEnumDescriptor(_TABLESOURCETYPE) @@ -83,7 +91,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\003"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -139,8 +147,8 @@ fields=[], ) ], - serialized_start=94, - serialized_end=336, + serialized_start=154, + serialized_end=401, ) @@ -166,7 +174,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\003"), file=DESCRIPTOR, ) ], @@ -178,8 +186,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=338, - serialized_end=368, + serialized_start=403, + serialized_end=438, ) @@ -205,7 +213,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b('\340A\003\372A"\n datacatalog.googleapis.com/Entry'), file=DESCRIPTOR, ) ], @@ -217,8 +225,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=370, - serialized_end=404, + serialized_start=440, + serialized_end=516, ) @@ -244,7 +252,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b('\340A\003\372A"\n datacatalog.googleapis.com/Entry'), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -262,7 +270,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\003"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -280,7 +288,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\003"), file=DESCRIPTOR, ), ], @@ -292,8 +300,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=406, - serialized_end=491, + serialized_start=519, + serialized_end=656, ) _BIGQUERYTABLESPEC.fields_by_name["table_source_type"].enum_type = _TABLESOURCETYPE @@ -334,10 +342,10 @@ Output only. view_spec: Table view specification. This field should only be populated - if table\_source\_type is BIGQUERY\_VIEW. + if ``table_source_type`` is ``BIGQUERY_VIEW``. table_spec: Spec of a BigQuery table. This field should only be populated - if table\_source\_type is BIGQUERY\_TABLE. + if ``table_source_type`` is ``BIGQUERY_TABLE``. """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.BigQueryTableSpec) ), @@ -373,12 +381,12 @@ Attributes: grouped_entry: - Output only. If the table is a dated shard, i.e. with name - pattern [prefix]YYYYMMDD, grouped\_entry is the Data Catalog - resource name of the date sharded grouped entry, e.g. projects - /{project\_id}/locations/{location}/entrygroups/{entry\_group\ - _id} /entries/{entry\_id}. Otherwise, grouped\_entry will be - empty. + Output only. If the table is a dated shard, i.e., with name + pattern ``[prefix]YYYYMMDD``, ``grouped_entry`` is the Data + Catalog resource name of the date sharded grouped entry, for + example, ``projects/{project_id}/locations/{location}/entrygro + ups/{entry_group_id}/entries/{entry_id}``. Otherwise, + ``grouped_entry`` is empty. """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.TableSpec) ), @@ -391,21 +399,22 @@ dict( DESCRIPTOR=_BIGQUERYDATESHARDEDSPEC, __module__="google.cloud.datacatalog_v1beta1.proto.table_spec_pb2", - __doc__="""Spec for a group of BigQuery tables with name pattern [prefix]YYYYMMDD. - Context: + __doc__="""Spec for a group of BigQuery tables with name pattern + ``[prefix]YYYYMMDD``. Context: https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning\_versus\_sharding Attributes: dataset: Output only. The Data Catalog resource name of the dataset - entry the current table belongs to, e.g. projects/{project\_id - }/locations/{location}/entrygroups/{entry\_group\_id} - /entries/{entry\_id} + entry the current table belongs to, for example, ``projects/{p + roject_id}/locations/{location}/entrygroups/{entry_group_id}/e + ntries/{entry_id}``. table_prefix: Output only. The table name prefix of the shards. The name of - any given shard is [table\_prefix]YYYYMMDD, e.g. for shard - MyTable20180101, the table\_prefix is "MyTable" + any given shard is ``[table_prefix]YYYYMMDD``, for example, + for shard ``MyTable20180101``, the ``table_prefix`` is + ``MyTable``. shard_count: Output only. Total number of shards. """, @@ -416,4 +425,10 @@ DESCRIPTOR._options = None +_BIGQUERYTABLESPEC.fields_by_name["table_source_type"]._options = None +_VIEWSPEC.fields_by_name["view_query"]._options = None +_TABLESPEC.fields_by_name["grouped_entry"]._options = None +_BIGQUERYDATESHARDEDSPEC.fields_by_name["dataset"]._options = None +_BIGQUERYDATESHARDEDSPEC.fields_by_name["table_prefix"]._options = None +_BIGQUERYDATESHARDEDSPEC.fields_by_name["shard_count"]._options = None # @@protoc_insertion_point(module_scope) diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/proto/tags.proto b/datacatalog/google/cloud/datacatalog_v1beta1/proto/tags.proto index f01843c206e9..c2fc2da43467 100644 --- a/datacatalog/google/cloud/datacatalog_v1beta1/proto/tags.proto +++ b/datacatalog/google/cloud/datacatalog_v1beta1/proto/tags.proto @@ -17,6 +17,8 @@ syntax = "proto3"; package google.cloud.datacatalog.v1beta1; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/protobuf/timestamp.proto"; option cc_enable_arenas = true; @@ -27,40 +29,49 @@ option java_package = "com.google.cloud.datacatalog"; // Tags are used to attach custom metadata to Data Catalog resources. Tags // conform to the specifications within their tag template. message Tag { - // Required when used in - // [UpdateTagRequest][google.cloud.datacatalog.v1beta1.UpdateTagRequest]. The - // resource name of the tag in URL format. For example, - // projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}", - // where tag_id is a system-generated identifier. Note that this Tag may not - // actually be stored in the location in this name. + option (google.api.resource) = { + type: "datacatalog.googleapis.com/Tag" + pattern: "projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}/tags/{tag}" + }; + + // The resource name of the tag in URL format. Example: + // + // * projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id} + // + // where `tag_id` is a system-generated identifier. + // Note that this Tag may not actually be stored in the location in this name. string name = 1; - // Required. The resource name of the tag template that this tag uses. For - // example, - // projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}. + // Required. The resource name of the tag template that this tag uses. + // Example: + // + // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} + // // This field cannot be modified after creation. - string template = 2; + string template = 2 [(google.api.field_behavior) = REQUIRED]; // Output only. The display name of the tag template. - string template_display_name = 5; + string template_display_name = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Optional. The scope within the parent resource that this tag is attached - // to. If not provided, the tag is attached to the parent resource itself. + // The scope within the parent resource that this tag is attached to. If not + // provided, the tag is attached to the parent resource itself. // Deleting the scope from the parent resource will delete all tags attached // to that scope. These fields cannot be updated after creation. oneof scope { // Resources like Entry can have schemas associated with them. This scope // allows users to attach tags to an individual column based on that schema. // - // For attaching a tag to a nested column, use '.' to separate the column - // names: "outer_column.inner_column". + // For attaching a tag to a nested column, use `.` to separate the column + // names. Example: + // + // * `outer_column.inner_column` string column = 4; } - // Required. This maps the id of a tag field to the value of & additional + // Required. This maps the ID of a tag field to the value of and additional // information about that field. Valid field IDs are defined by the tag's // template. A tag must have at least 1 field and at most 500 fields. - map fields = 3; + map fields = 3 [(google.api.field_behavior) = REQUIRED]; } // Contains the value and supporting information for a field within @@ -73,7 +84,7 @@ message TagField { } // Output only. The display name of this field. - string display_name = 1; + string display_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Required. The value of this field. oneof kind { @@ -95,41 +106,59 @@ message TagField { } } -// Tag templates defines the schema of the tags used to attach to Data Catalog +// A tag template defines the schema of the tags used to attach to Data Catalog // resources. It defines the mapping of accepted field names and types that can // be used within the tag. The tag template also controls the access to the tag. message TagTemplate { - // Required when used in - // [UpdateTagTemplateRequest][google.cloud.datacatalog.v1beta1.UpdateTagTemplateRequest]. - // The resource name of the tag template in URL format. For example, - // projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}. + option (google.api.resource) = { + type: "datacatalog.googleapis.com/TagTemplate" + pattern: "projects/{project}/locations/{location}/tagTemplates/{tag_template}" + }; + + // The resource name of the tag template in URL format. Example: + // + // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} + // // Note that this TagTemplate and its child resources may not actually be // stored in the location in this name. string name = 1; - // Optional. The display name for this template. Default value is an empty - // string. + // The display name for this template. Defaults to an empty string. string display_name = 2; - // Required. Map of tag template field ids to the settings for the field. + // Required. Map of tag template field IDs to the settings for the field. // This map is an exhaustive list of the allowed fields. This map must contain // at least one field and at most 500 fields. // // The keys to this map are tag template field IDs. Field IDs can contain // letters (both uppercase and lowercase), numbers (0-9) and underscores (_). - // Field IDs must be at least 1 character long and at most 64 characters long. - // Field IDs must start with a letter or underscore. - map fields = 3; + // Field IDs must be at least 1 character long and at most + // 64 characters long. Field IDs must start with a letter or underscore. + map fields = 3 + [(google.api.field_behavior) = REQUIRED]; } // The template for an individual field within a tag template. message TagTemplateField { - // Optional. The display name for this field. Default value is an empty - // string. + option (google.api.resource) = { + type: "datacatalog.googleapis.com/TagTemplateField" + pattern: "projects/{project}/locations/{location}/tagTemplates/{tag_template}/fields/{field}" + }; + + // Output only. The resource name of the tag template field in URL format. + // Example: + // + // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template}/fields/{field} + // + // Note that this TagTemplateField may not actually be stored in the location + // in this name. + string name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The display name for this field. Defaults to an empty string. string display_name = 1; // Required. The type of value this tag field can contain. - FieldType type = 2; + FieldType type = 2 [(google.api.field_behavior) = REQUIRED]; } message FieldType { @@ -137,15 +166,15 @@ message FieldType { message EnumValue { // Required. The display name of the enum value. Must not be an empty // string. - string display_name = 1; + string display_name = 1 [(google.api.field_behavior) = REQUIRED]; } - // Required. The set of allowed values for this enum. This set must not be - // empty, the display names of the values in this set must not be empty and - // the display names of the values must be case-insensitively unique within - // this set. Currently, enum values can only be added to the list of allowed - // values. Deletion and renaming of enum values are not supported. Can have - // up to 500 allowed values. + // Required on create; optional on update. The set of allowed values for + // this enum. This set must not be empty, the display names of the values in + // this set must not be empty and the display names of the values must be + // case-insensitively unique within this set. Currently, enum values can + // only be added to the list of allowed values. Deletion and renaming of + // enum values are not supported. Can have up to 500 allowed values. repeated EnumValue allowed_values = 1; } diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/proto/tags_pb2.py b/datacatalog/google/cloud/datacatalog_v1beta1/proto/tags_pb2.py index c9d36922e79e..379a68564735 100644 --- a/datacatalog/google/cloud/datacatalog_v1beta1/proto/tags_pb2.py +++ b/datacatalog/google/cloud/datacatalog_v1beta1/proto/tags_pb2.py @@ -15,6 +15,8 @@ _sym_db = _symbol_database.Default() +from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 +from google.api import resource_pb2 as google_dot_api_dot_resource__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 @@ -26,9 +28,13 @@ "\n\034com.google.cloud.datacatalogP\001ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\370\001\001" ), serialized_pb=_b( - '\n1google/cloud/datacatalog_v1beta1/proto/tags.proto\x12 google.cloud.datacatalog.v1beta1\x1a\x1fgoogle/protobuf/timestamp.proto"\xfd\x01\n\x03Tag\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08template\x18\x02 \x01(\t\x12\x1d\n\x15template_display_name\x18\x05 \x01(\t\x12\x10\n\x06\x63olumn\x18\x04 \x01(\tH\x00\x12\x41\n\x06\x66ields\x18\x03 \x03(\x0b\x32\x31.google.cloud.datacatalog.v1beta1.Tag.FieldsEntry\x1aY\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32*.google.cloud.datacatalog.v1beta1.TagField:\x02\x38\x01\x42\x07\n\x05scope"\x94\x02\n\x08TagField\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x16\n\x0c\x64ouble_value\x18\x02 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x03 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x04 \x01(\x08H\x00\x12\x35\n\x0ftimestamp_value\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12J\n\nenum_value\x18\x06 \x01(\x0b\x32\x34.google.cloud.datacatalog.v1beta1.TagField.EnumValueH\x00\x1a!\n\tEnumValue\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\tB\x06\n\x04kind"\xdf\x01\n\x0bTagTemplate\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12I\n\x06\x66ields\x18\x03 \x03(\x0b\x32\x39.google.cloud.datacatalog.v1beta1.TagTemplate.FieldsEntry\x1a\x61\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x41\n\x05value\x18\x02 \x01(\x0b\x32\x32.google.cloud.datacatalog.v1beta1.TagTemplateField:\x02\x38\x01"c\n\x10TagTemplateField\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x39\n\x04type\x18\x02 \x01(\x0b\x32+.google.cloud.datacatalog.v1beta1.FieldType"\xa2\x03\n\tFieldType\x12S\n\x0eprimitive_type\x18\x01 \x01(\x0e\x32\x39.google.cloud.datacatalog.v1beta1.FieldType.PrimitiveTypeH\x00\x12I\n\tenum_type\x18\x02 \x01(\x0b\x32\x34.google.cloud.datacatalog.v1beta1.FieldType.EnumTypeH\x00\x1a\x85\x01\n\x08\x45numType\x12V\n\x0e\x61llowed_values\x18\x01 \x03(\x0b\x32>.google.cloud.datacatalog.v1beta1.FieldType.EnumType.EnumValue\x1a!\n\tEnumValue\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t"`\n\rPrimitiveType\x12\x1e\n\x1aPRIMITIVE_TYPE_UNSPECIFIED\x10\x00\x12\n\n\x06\x44OUBLE\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x12\r\n\tTIMESTAMP\x10\x04\x42\x0b\n\ttype_declBp\n\x1c\x63om.google.cloud.datacatalogP\x01ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\xf8\x01\x01\x62\x06proto3' + '\n1google/cloud/datacatalog_v1beta1/proto/tags.proto\x12 google.cloud.datacatalog.v1beta1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x90\x03\n\x03Tag\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\x08template\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12"\n\x15template_display_name\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12\x10\n\x06\x63olumn\x18\x04 \x01(\tH\x00\x12\x46\n\x06\x66ields\x18\x03 \x03(\x0b\x32\x31.google.cloud.datacatalog.v1beta1.Tag.FieldsEntryB\x03\xe0\x41\x02\x1aY\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32*.google.cloud.datacatalog.v1beta1.TagField:\x02\x38\x01:\x81\x01\xea\x41~\n\x1e\x64\x61tacatalog.googleapis.com/Tag\x12\\projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}/tags/{tag}B\x07\n\x05scope"\x99\x02\n\x08TagField\x12\x19\n\x0c\x64isplay_name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x16\n\x0c\x64ouble_value\x18\x02 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x03 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x04 \x01(\x08H\x00\x12\x35\n\x0ftimestamp_value\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12J\n\nenum_value\x18\x06 \x01(\x0b\x32\x34.google.cloud.datacatalog.v1beta1.TagField.EnumValueH\x00\x1a!\n\tEnumValue\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\tB\x06\n\x04kind"\xd6\x02\n\x0bTagTemplate\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12N\n\x06\x66ields\x18\x03 \x03(\x0b\x32\x39.google.cloud.datacatalog.v1beta1.TagTemplate.FieldsEntryB\x03\xe0\x41\x02\x1a\x61\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x41\n\x05value\x18\x02 \x01(\x0b\x32\x32.google.cloud.datacatalog.v1beta1.TagTemplateField:\x02\x38\x01:p\xea\x41m\n&datacatalog.googleapis.com/TagTemplate\x12\x43projects/{project}/locations/{location}/tagTemplates/{tag_template}"\x83\x02\n\x10TagTemplateField\x12\x11\n\x04name\x18\x06 \x01(\tB\x03\xe0\x41\x03\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12>\n\x04type\x18\x02 \x01(\x0b\x32+.google.cloud.datacatalog.v1beta1.FieldTypeB\x03\xe0\x41\x02:\x85\x01\xea\x41\x81\x01\n+datacatalog.googleapis.com/TagTemplateField\x12Rprojects/{project}/locations/{location}/tagTemplates/{tag_template}/fields/{field}"\xa7\x03\n\tFieldType\x12S\n\x0eprimitive_type\x18\x01 \x01(\x0e\x32\x39.google.cloud.datacatalog.v1beta1.FieldType.PrimitiveTypeH\x00\x12I\n\tenum_type\x18\x02 \x01(\x0b\x32\x34.google.cloud.datacatalog.v1beta1.FieldType.EnumTypeH\x00\x1a\x8a\x01\n\x08\x45numType\x12V\n\x0e\x61llowed_values\x18\x01 \x03(\x0b\x32>.google.cloud.datacatalog.v1beta1.FieldType.EnumType.EnumValue\x1a&\n\tEnumValue\x12\x19\n\x0c\x64isplay_name\x18\x01 \x01(\tB\x03\xe0\x41\x02"`\n\rPrimitiveType\x12\x1e\n\x1aPRIMITIVE_TYPE_UNSPECIFIED\x10\x00\x12\n\n\x06\x44OUBLE\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x12\r\n\tTIMESTAMP\x10\x04\x42\x0b\n\ttype_declBp\n\x1c\x63om.google.cloud.datacatalogP\x01ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\xf8\x01\x01\x62\x06proto3' ), - dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR], + dependencies=[ + google_dot_api_dot_field__behavior__pb2.DESCRIPTOR, + google_dot_api_dot_resource__pb2.DESCRIPTOR, + google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR, + ], ) @@ -60,8 +66,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=1292, - serialized_end=1388, + serialized_start=1789, + serialized_end=1885, ) _sym_db.RegisterEnumDescriptor(_FIELDTYPE_PRIMITIVETYPE) @@ -118,8 +124,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=276, - serialized_end=365, + serialized_start=351, + serialized_end=440, ) _TAG = _descriptor.Descriptor( @@ -162,7 +168,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -180,7 +186,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\003"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -216,14 +222,16 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), ], extensions=[], nested_types=[_TAG_FIELDSENTRY], enum_types=[], - serialized_options=None, + serialized_options=_b( + "\352A~\n\036datacatalog.googleapis.com/Tag\022\\projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}/tags/{tag}" + ), is_extendable=False, syntax="proto3", extension_ranges=[], @@ -236,8 +244,8 @@ fields=[], ) ], - serialized_start=121, - serialized_end=374, + serialized_start=181, + serialized_end=581, ) @@ -275,8 +283,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=612, - serialized_end=645, + serialized_start=824, + serialized_end=857, ) _TAGFIELD = _descriptor.Descriptor( @@ -301,7 +309,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\003"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -411,8 +419,8 @@ fields=[], ) ], - serialized_start=377, - serialized_end=653, + serialized_start=584, + serialized_end=865, ) @@ -468,8 +476,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=782, - serialized_end=879, + serialized_start=999, + serialized_end=1096, ) _TAGTEMPLATE = _descriptor.Descriptor( @@ -530,20 +538,22 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), ], extensions=[], nested_types=[_TAGTEMPLATE_FIELDSENTRY], enum_types=[], - serialized_options=None, + serialized_options=_b( + "\352Am\n&datacatalog.googleapis.com/TagTemplate\022Cprojects/{project}/locations/{location}/tagTemplates/{tag_template}" + ), is_extendable=False, syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=656, - serialized_end=879, + serialized_start=868, + serialized_end=1210, ) @@ -554,10 +564,28 @@ file=DESCRIPTOR, containing_type=None, fields=[ + _descriptor.FieldDescriptor( + name="name", + full_name="google.cloud.datacatalog.v1beta1.TagTemplateField.name", + index=0, + number=6, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=_b("\340A\003"), + file=DESCRIPTOR, + ), _descriptor.FieldDescriptor( name="display_name", full_name="google.cloud.datacatalog.v1beta1.TagTemplateField.display_name", - index=0, + index=1, number=1, type=9, cpp_type=9, @@ -575,7 +603,7 @@ _descriptor.FieldDescriptor( name="type", full_name="google.cloud.datacatalog.v1beta1.TagTemplateField.type", - index=1, + index=2, number=2, type=11, cpp_type=10, @@ -587,20 +615,22 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ), ], extensions=[], nested_types=[], enum_types=[], - serialized_options=None, + serialized_options=_b( + "\352A\201\001\n+datacatalog.googleapis.com/TagTemplateField\022Rprojects/{project}/locations/{location}/tagTemplates/{tag_template}/fields/{field}" + ), is_extendable=False, syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=881, - serialized_end=980, + serialized_start=1213, + serialized_end=1472, ) @@ -626,7 +656,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\002"), file=DESCRIPTOR, ) ], @@ -638,8 +668,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=612, - serialized_end=645, + serialized_start=1749, + serialized_end=1787, ) _FIELDTYPE_ENUMTYPE = _descriptor.Descriptor( @@ -676,8 +706,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=1157, - serialized_end=1290, + serialized_start=1649, + serialized_end=1787, ) _FIELDTYPE = _descriptor.Descriptor( @@ -740,8 +770,8 @@ fields=[], ) ], - serialized_start=983, - serialized_end=1401, + serialized_start=1475, + serialized_end=1898, ) _TAG_FIELDSENTRY.fields_by_name["value"].message_type = _TAGFIELD @@ -828,34 +858,32 @@ Attributes: name: - Required when used in [UpdateTagRequest][google.cloud.datacata - log.v1beta1.UpdateTagRequest]. The resource name of the tag in - URL format. For example, projects/{project\_id}/locations/{loc - ation}/entrygroups/{entry\_group\_id}/entries/{entry\_id}/tags - /{tag\_id}", where tag\_id is a system-generated identifier. - Note that this Tag may not actually be stored in the location - in this name. + The resource name of the tag in URL format. Example: - proje + cts/{project\_id}/locations/{location}/entrygroups/{entry\_gro + up\_id}/entries/{entry\_id}/tags/{tag\_id} where ``tag_id`` + is a system-generated identifier. Note that this Tag may not + actually be stored in the location in this name. template: Required. The resource name of the tag template that this tag - uses. For example, projects/{project\_id}/locations/{location} - /tagTemplates/{tag\_template\_id}. This field cannot be + uses. Example: - projects/{project\_id}/locations/{location} + /tagTemplates/{tag\_template\_id} This field cannot be modified after creation. template_display_name: Output only. The display name of the tag template. scope: - Optional. The scope within the parent resource that this tag - is attached to. If not provided, the tag is attached to the - parent resource itself. Deleting the scope from the parent - resource will delete all tags attached to that scope. These - fields cannot be updated after creation. + The scope within the parent resource that this tag is attached + to. If not provided, the tag is attached to the parent + resource itself. Deleting the scope from the parent resource + will delete all tags attached to that scope. These fields + cannot be updated after creation. column: Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an individual column based on that schema. For attaching a tag to a nested column, - use '.' to separate the column names: - "outer\_column.inner\_column". + use ``.`` to separate the column names. Example: - + ``outer_column.inner_column`` fields: - Required. This maps the id of a tag field to the value of & + Required. This maps the ID of a tag field to the value of and additional information about that field. Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields. @@ -931,7 +959,7 @@ ), DESCRIPTOR=_TAGTEMPLATE, __module__="google.cloud.datacatalog_v1beta1.proto.tags_pb2", - __doc__="""Tag templates defines the schema of the tags used to attach to Data + __doc__="""A tag template defines the schema of the tags used to attach to Data Catalog resources. It defines the mapping of accepted field names and types that can be used within the tag. The tag template also controls the access to the tag. @@ -939,17 +967,16 @@ Attributes: name: - Required when used in [UpdateTagTemplateRequest][google.cloud. - datacatalog.v1beta1.UpdateTagTemplateRequest]. The resource - name of the tag template in URL format. For example, projects/ - {project\_id}/locations/{location}/tagTemplates/{tag\_template - \_id}. Note that this TagTemplate and its child resources may - not actually be stored in the location in this name. + The resource name of the tag template in URL format. Example: + - projects/{project\_id}/locations/{location}/tagTemplates/{t + ag\_template\_id} Note that this TagTemplate and its child + resources may not actually be stored in the location in this + name. display_name: - Optional. The display name for this template. Default value is - an empty string. + The display name for this template. Defaults to an empty + string. fields: - Required. Map of tag template field ids to the settings for + Required. Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. @@ -974,9 +1001,14 @@ Attributes: + name: + Output only. The resource name of the tag template field in + URL format. Example: - projects/{project\_id}/locations/{loc + ation}/tagTemplates/{tag\_template}/fields/{field} Note that + this TagTemplateField may not actually be stored in the + location in this name. display_name: - Optional. The display name for this field. Default value is an - empty string. + The display name for this field. Defaults to an empty string. type: Required. The type of value this tag field can contain. """, @@ -1013,13 +1045,13 @@ __doc__=""" Attributes: allowed_values: - Required. The set of allowed values for this enum. This set - must not be empty, the display names of the values in this set - must not be empty and the display names of the values must be - case-insensitively unique within this set. Currently, enum - values can only be added to the list of allowed values. - Deletion and renaming of enum values are not supported. Can - have up to 500 allowed values. + Required on create; optional on update. The set of allowed + values for this enum. This set must not be empty, the display + names of the values in this set must not be empty and the + display names of the values must be case-insensitively unique + within this set. Currently, enum values can only be added to + the list of allowed values. Deletion and renaming of enum + values are not supported. Can have up to 500 allowed values. """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.FieldType.EnumType) ), @@ -1045,5 +1077,16 @@ DESCRIPTOR._options = None _TAG_FIELDSENTRY._options = None +_TAG.fields_by_name["template"]._options = None +_TAG.fields_by_name["template_display_name"]._options = None +_TAG.fields_by_name["fields"]._options = None +_TAG._options = None +_TAGFIELD.fields_by_name["display_name"]._options = None _TAGTEMPLATE_FIELDSENTRY._options = None +_TAGTEMPLATE.fields_by_name["fields"]._options = None +_TAGTEMPLATE._options = None +_TAGTEMPLATEFIELD.fields_by_name["name"]._options = None +_TAGTEMPLATEFIELD.fields_by_name["type"]._options = None +_TAGTEMPLATEFIELD._options = None +_FIELDTYPE_ENUMTYPE_ENUMVALUE.fields_by_name["display_name"]._options = None # @@protoc_insertion_point(module_scope) diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/proto/timestamps.proto b/datacatalog/google/cloud/datacatalog_v1beta1/proto/timestamps.proto index bb048b915223..9a3d640e411c 100644 --- a/datacatalog/google/cloud/datacatalog_v1beta1/proto/timestamps.proto +++ b/datacatalog/google/cloud/datacatalog_v1beta1/proto/timestamps.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.cloud.datacatalog.v1beta1; +import "google/api/field_behavior.proto"; import "google/protobuf/timestamp.proto"; option cc_enable_arenas = true; @@ -26,13 +27,14 @@ option java_package = "com.google.cloud.datacatalog"; // Timestamps about this resource according to a particular system. message SystemTimestamps { - // Output only. The creation time of the resource within the given system. + // The creation time of the resource within the given system. google.protobuf.Timestamp create_time = 1; - // Output only. The last-modified time of the resource within the given - // system. + // The last-modified time of the resource within the given system. google.protobuf.Timestamp update_time = 2; // Output only. The expiration time of the resource within the given system. - google.protobuf.Timestamp expire_time = 3; + // Currently only apllicable to BigQuery resources. + google.protobuf.Timestamp expire_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/proto/timestamps_pb2.py b/datacatalog/google/cloud/datacatalog_v1beta1/proto/timestamps_pb2.py index 3c1c341f65ce..4dff9fc23fa7 100644 --- a/datacatalog/google/cloud/datacatalog_v1beta1/proto/timestamps_pb2.py +++ b/datacatalog/google/cloud/datacatalog_v1beta1/proto/timestamps_pb2.py @@ -15,6 +15,7 @@ _sym_db = _symbol_database.Default() +from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 @@ -26,9 +27,12 @@ "\n\034com.google.cloud.datacatalogP\001ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\370\001\001" ), serialized_pb=_b( - '\n7google/cloud/datacatalog_v1beta1/proto/timestamps.proto\x12 google.cloud.datacatalog.v1beta1\x1a\x1fgoogle/protobuf/timestamp.proto"\xa5\x01\n\x10SystemTimestamps\x12/\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x65xpire_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampBp\n\x1c\x63om.google.cloud.datacatalogP\x01ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\xf8\x01\x01\x62\x06proto3' + '\n7google/cloud/datacatalog_v1beta1/proto/timestamps.proto\x12 google.cloud.datacatalog.v1beta1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xaa\x01\n\x10SystemTimestamps\x12/\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x0b\x65xpire_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x42p\n\x1c\x63om.google.cloud.datacatalogP\x01ZKgoogle.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1;datacatalog\xf8\x01\x01\x62\x06proto3' ), - dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR], + dependencies=[ + google_dot_api_dot_field__behavior__pb2.DESCRIPTOR, + google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR, + ], ) @@ -90,7 +94,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, + serialized_options=_b("\340A\003"), file=DESCRIPTOR, ), ], @@ -102,8 +106,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=127, - serialized_end=292, + serialized_start=160, + serialized_end=330, ) _SYSTEMTIMESTAMPS.fields_by_name[ @@ -129,14 +133,13 @@ Attributes: create_time: - Output only. The creation time of the resource within the - given system. + The creation time of the resource within the given system. update_time: - Output only. The last-modified time of the resource within the - given system. + The last-modified time of the resource within the given + system. expire_time: Output only. The expiration time of the resource within the - given system. + given system. Currently only apllicable to BigQuery resources. """, # @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.SystemTimestamps) ), @@ -145,4 +148,5 @@ DESCRIPTOR._options = None +_SYSTEMTIMESTAMPS.fields_by_name["expire_time"]._options = None # @@protoc_insertion_point(module_scope) diff --git a/datacatalog/google/cloud/datacatalog_v1beta1/types.py b/datacatalog/google/cloud/datacatalog_v1beta1/types.py index 05d90716fc84..e72d22d4ec84 100644 --- a/datacatalog/google/cloud/datacatalog_v1beta1/types.py +++ b/datacatalog/google/cloud/datacatalog_v1beta1/types.py @@ -21,6 +21,7 @@ from google.api_core.protobuf_helpers import get_messages from google.cloud.datacatalog_v1beta1.proto import datacatalog_pb2 +from google.cloud.datacatalog_v1beta1.proto import gcs_fileset_spec_pb2 from google.cloud.datacatalog_v1beta1.proto import schema_pb2 from google.cloud.datacatalog_v1beta1.proto import search_pb2 from google.cloud.datacatalog_v1beta1.proto import table_spec_pb2 @@ -47,6 +48,7 @@ _local_modules = [ datacatalog_pb2, + gcs_fileset_spec_pb2, schema_pb2, search_pb2, table_spec_pb2, diff --git a/datacatalog/synth.metadata b/datacatalog/synth.metadata index 39cb85fb4bd1..422d34666ecd 100644 --- a/datacatalog/synth.metadata +++ b/datacatalog/synth.metadata @@ -1,26 +1,26 @@ { - "updateTime": "2019-08-27T12:16:56.566500Z", + "updateTime": "2019-10-23T12:17:52.391296Z", "sources": [ { "generator": { "name": "artman", - "version": "0.35.1", - "dockerImage": "googleapis/artman@sha256:b11c7ea0d0831c54016fb50f4b796d24d1971439b30fbc32a369ba1ac887c384" + "version": "0.40.2", + "dockerImage": "googleapis/artman@sha256:3b8f7d9b4c206843ce08053474f5c64ae4d388ff7d995e68b59fb65edf73eeb9" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "650caad718bb063f189405c23972dc9818886358", - "internalRef": "265565344" + "sha": "0d0dc5172f16c9815a5eda6e99408fb96282f608", + "internalRef": "276178557" } }, { "template": { "name": "python_library", "origin": "synthtool.gcp", - "version": "2019.5.2" + "version": "2019.10.17" } } ], diff --git a/datacatalog/tests/unit/gapic/v1beta1/test_data_catalog_client_v1beta1.py b/datacatalog/tests/unit/gapic/v1beta1/test_data_catalog_client_v1beta1.py index 35dc0b31db1a..61c35d263299 100644 --- a/datacatalog/tests/unit/gapic/v1beta1/test_data_catalog_client_v1beta1.py +++ b/datacatalog/tests/unit/gapic/v1beta1/test_data_catalog_client_v1beta1.py @@ -112,6 +112,183 @@ def test_search_catalog_exception(self): with pytest.raises(CustomException): list(paged_list_response) + def test_create_entry_group(self): + # Setup Expected Response + name = "name3373707" + display_name = "displayName1615086568" + description = "description-1724546052" + expected_response = { + "name": name, + "display_name": display_name, + "description": description, + } + expected_response = datacatalog_pb2.EntryGroup(**expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = datacatalog_v1beta1.DataCatalogClient() + + # Setup Request + parent = client.location_path("[PROJECT]", "[LOCATION]") + entry_group_id = "entryGroupId-43122680" + entry_group = {} + + response = client.create_entry_group(parent, entry_group_id, entry_group) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = datacatalog_pb2.CreateEntryGroupRequest( + parent=parent, entry_group_id=entry_group_id, entry_group=entry_group + ) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_create_entry_group_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = datacatalog_v1beta1.DataCatalogClient() + + # Setup request + parent = client.location_path("[PROJECT]", "[LOCATION]") + entry_group_id = "entryGroupId-43122680" + entry_group = {} + + with pytest.raises(CustomException): + client.create_entry_group(parent, entry_group_id, entry_group) + + def test_get_entry_group(self): + # Setup Expected Response + name_2 = "name2-1052831874" + display_name = "displayName1615086568" + description = "description-1724546052" + expected_response = { + "name": name_2, + "display_name": display_name, + "description": description, + } + expected_response = datacatalog_pb2.EntryGroup(**expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = datacatalog_v1beta1.DataCatalogClient() + + # Setup Request + name = client.entry_group_path("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]") + + response = client.get_entry_group(name) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = datacatalog_pb2.GetEntryGroupRequest(name=name) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_get_entry_group_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = datacatalog_v1beta1.DataCatalogClient() + + # Setup request + name = client.entry_group_path("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]") + + with pytest.raises(CustomException): + client.get_entry_group(name) + + def test_delete_entry_group(self): + channel = ChannelStub() + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = datacatalog_v1beta1.DataCatalogClient() + + # Setup Request + name = client.entry_group_path("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]") + + client.delete_entry_group(name) + + assert len(channel.requests) == 1 + expected_request = datacatalog_pb2.DeleteEntryGroupRequest(name=name) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_delete_entry_group_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = datacatalog_v1beta1.DataCatalogClient() + + # Setup request + name = client.entry_group_path("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]") + + with pytest.raises(CustomException): + client.delete_entry_group(name) + + def test_create_entry(self): + # Setup Expected Response + name = "name3373707" + linked_resource = "linkedResource1544625012" + display_name = "displayName1615086568" + description = "description-1724546052" + expected_response = { + "name": name, + "linked_resource": linked_resource, + "display_name": display_name, + "description": description, + } + expected_response = datacatalog_pb2.Entry(**expected_response) + + # Mock the API response + channel = ChannelStub(responses=[expected_response]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = datacatalog_v1beta1.DataCatalogClient() + + # Setup Request + parent = client.entry_group_path("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]") + entry_id = "entryId-2093663224" + entry = {} + + response = client.create_entry(parent, entry_id, entry) + assert expected_response == response + + assert len(channel.requests) == 1 + expected_request = datacatalog_pb2.CreateEntryRequest( + parent=parent, entry_id=entry_id, entry=entry + ) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_create_entry_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = datacatalog_v1beta1.DataCatalogClient() + + # Setup request + parent = client.entry_group_path("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]") + entry_id = "entryId-2093663224" + entry = {} + + with pytest.raises(CustomException): + client.create_entry(parent, entry_id, entry) + def test_update_entry(self): # Setup Expected Response name = "name3373707" @@ -158,6 +335,37 @@ def test_update_entry_exception(self): with pytest.raises(CustomException): client.update_entry(entry) + def test_delete_entry(self): + channel = ChannelStub() + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = datacatalog_v1beta1.DataCatalogClient() + + # Setup Request + name = client.entry_path("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]") + + client.delete_entry(name) + + assert len(channel.requests) == 1 + expected_request = datacatalog_pb2.DeleteEntryRequest(name=name) + actual_request = channel.requests[0][1] + assert expected_request == actual_request + + def test_delete_entry_exception(self): + # Mock the API response + channel = ChannelStub(responses=[CustomException()]) + patch = mock.patch("google.api_core.grpc_helpers.create_channel") + with patch as create_channel: + create_channel.return_value = channel + client = datacatalog_v1beta1.DataCatalogClient() + + # Setup request + name = client.entry_path("[PROJECT]", "[LOCATION]", "[ENTRY_GROUP]", "[ENTRY]") + + with pytest.raises(CustomException): + client.delete_entry(name) + def test_get_entry(self): # Setup Expected Response name_2 = "name2-1052831874" @@ -406,8 +614,9 @@ def test_delete_tag_template_exception(self): def test_create_tag_template_field(self): # Setup Expected Response + name = "name3373707" display_name = "displayName1615086568" - expected_response = {"display_name": display_name} + expected_response = {"name": name, "display_name": display_name} expected_response = tags_pb2.TagTemplateField(**expected_response) # Mock the API response @@ -456,8 +665,9 @@ def test_create_tag_template_field_exception(self): def test_update_tag_template_field(self): # Setup Expected Response + name_2 = "name2-1052831874" display_name = "displayName1615086568" - expected_response = {"display_name": display_name} + expected_response = {"name": name_2, "display_name": display_name} expected_response = tags_pb2.TagTemplateField(**expected_response) # Mock the API response @@ -498,8 +708,9 @@ def test_update_tag_template_field_exception(self): def test_rename_tag_template_field(self): # Setup Expected Response + name_2 = "name2-1052831874" display_name = "displayName1615086568" - expected_response = {"display_name": display_name} + expected_response = {"name": name_2, "display_name": display_name} expected_response = tags_pb2.TagTemplateField(**expected_response) # Mock the API response