Skip to content

Commit cfb493f

Browse files
yoshi-automationtswast
authored andcommitted
feat(datacatalog): add entry group operations (#9520)
1 parent 4098386 commit cfb493f

23 files changed

Lines changed: 3347 additions & 822 deletions

datacatalog/google/cloud/datacatalog_v1beta1/gapic/data_catalog_client.py

Lines changed: 576 additions & 98 deletions
Large diffs are not rendered by default.

datacatalog/google/cloud/datacatalog_v1beta1/gapic/data_catalog_client_config.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,36 @@
2222
"retry_codes_name": "non_idempotent",
2323
"retry_params_name": "default",
2424
},
25+
"CreateEntryGroup": {
26+
"timeout_millis": 60000,
27+
"retry_codes_name": "non_idempotent",
28+
"retry_params_name": "default",
29+
},
30+
"GetEntryGroup": {
31+
"timeout_millis": 60000,
32+
"retry_codes_name": "idempotent",
33+
"retry_params_name": "default",
34+
},
35+
"DeleteEntryGroup": {
36+
"timeout_millis": 60000,
37+
"retry_codes_name": "idempotent",
38+
"retry_params_name": "default",
39+
},
40+
"CreateEntry": {
41+
"timeout_millis": 60000,
42+
"retry_codes_name": "non_idempotent",
43+
"retry_params_name": "default",
44+
},
2545
"UpdateEntry": {
2646
"timeout_millis": 60000,
2747
"retry_codes_name": "non_idempotent",
2848
"retry_params_name": "default",
2949
},
50+
"DeleteEntry": {
51+
"timeout_millis": 60000,
52+
"retry_codes_name": "idempotent",
53+
"retry_params_name": "default",
54+
},
3055
"GetEntry": {
3156
"timeout_millis": 60000,
3257
"retry_codes_name": "idempotent",

datacatalog/google/cloud/datacatalog_v1beta1/gapic/enums.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,24 @@
2121

2222
class EntryType(enum.IntEnum):
2323
"""
24-
Entry resources in Data Catalog can be of different types e.g. BigQuery
25-
Table entry is of type 'TABLE'. This enum describes all the possible types
26-
Data Catalog contains.
24+
Entry resources in Data Catalog can be of different types e.g. a
25+
BigQuery Table entry is of type ``TABLE``. This enum describes all the
26+
possible types Data Catalog contains.
2727
2828
Attributes:
2929
ENTRY_TYPE_UNSPECIFIED (int): Default unknown type
30-
TABLE (int): The type of entry that has a GoogleSQL schema, including logical views.
31-
DATA_STREAM (int): An entry type which is used for streaming entries. Example - Pub/Sub.
30+
TABLE (int): Output only. The type of entry that has a GoogleSQL schema, including
31+
logical views.
32+
DATA_STREAM (int): Output only. An entry type which is used for streaming entries. Example:
33+
Cloud Pub/Sub topic.
34+
FILESET (int): Alpha feature. An entry type which is a set of files or objects. Example:
35+
Cloud Storage fileset.
3236
"""
3337

3438
ENTRY_TYPE_UNSPECIFIED = 0
3539
TABLE = 2
3640
DATA_STREAM = 3
41+
FILESET = 4
3742

3843

3944
class SearchResultType(enum.IntEnum):

datacatalog/google/cloud/datacatalog_v1beta1/gapic/transports/data_catalog_grpc_transport.py

Lines changed: 152 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ def search_catalog(self):
117117
This is a custom method
118118
(https://cloud.google.com/apis/design/custom\_methods) and does not
119119
return the complete resource, only the resource identifier and high
120-
level fields. Clients can subsequentally call Get methods.
120+
level fields. Clients can subsequentally call ``Get`` methods.
121121
122122
Note that searches do not have full recall. There may be results that
123123
match your query but are not returned, even in subsequent pages of
@@ -135,11 +135,78 @@ def search_catalog(self):
135135
"""
136136
return self._stubs["data_catalog_stub"].SearchCatalog
137137

138+
@property
139+
def create_entry_group(self):
140+
"""Return the gRPC stub for :meth:`DataCatalogClient.create_entry_group`.
141+
142+
Alpha feature. Creates an EntryGroup. The user should enable the Data
143+
Catalog API in the project identified by the ``parent`` parameter (see
144+
[Data Catalog Resource Project]
145+
(/data-catalog/docs/concepts/resource-project) for more information).
146+
147+
Returns:
148+
Callable: A callable which accepts the appropriate
149+
deserialized request object and returns a
150+
deserialized response object.
151+
"""
152+
return self._stubs["data_catalog_stub"].CreateEntryGroup
153+
154+
@property
155+
def get_entry_group(self):
156+
"""Return the gRPC stub for :meth:`DataCatalogClient.get_entry_group`.
157+
158+
Alpha feature.
159+
Gets an EntryGroup.
160+
161+
Returns:
162+
Callable: A callable which accepts the appropriate
163+
deserialized request object and returns a
164+
deserialized response object.
165+
"""
166+
return self._stubs["data_catalog_stub"].GetEntryGroup
167+
168+
@property
169+
def delete_entry_group(self):
170+
"""Return the gRPC stub for :meth:`DataCatalogClient.delete_entry_group`.
171+
172+
Alpha feature. Deletes an EntryGroup. Only entry groups that do not
173+
contain entries can be deleted. The user should enable the Data Catalog
174+
API in the project identified by the ``name`` parameter (see [Data
175+
Catalog Resource Project] (/data-catalog/docs/concepts/resource-project)
176+
for more information).
177+
178+
Returns:
179+
Callable: A callable which accepts the appropriate
180+
deserialized request object and returns a
181+
deserialized response object.
182+
"""
183+
return self._stubs["data_catalog_stub"].DeleteEntryGroup
184+
185+
@property
186+
def create_entry(self):
187+
"""Return the gRPC stub for :meth:`DataCatalogClient.create_entry`.
188+
189+
Alpha feature. Creates an entry. Currently only entries of 'FILESET'
190+
type can be created. The user should enable the Data Catalog API in the
191+
project identified by the ``parent`` parameter (see [Data Catalog
192+
Resource Project] (/data-catalog/docs/concepts/resource-project) for
193+
more information).
194+
195+
Returns:
196+
Callable: A callable which accepts the appropriate
197+
deserialized request object and returns a
198+
deserialized response object.
199+
"""
200+
return self._stubs["data_catalog_stub"].CreateEntry
201+
138202
@property
139203
def update_entry(self):
140204
"""Return the gRPC stub for :meth:`DataCatalogClient.update_entry`.
141205
142-
Updates an existing entry.
206+
Updates an existing entry. The user should enable the Data Catalog API
207+
in the project identified by the ``entry.name`` parameter (see [Data
208+
Catalog Resource Project] (/data-catalog/docs/concepts/resource-project)
209+
for more information).
143210
144211
Returns:
145212
Callable: A callable which accepts the appropriate
@@ -148,6 +215,23 @@ def update_entry(self):
148215
"""
149216
return self._stubs["data_catalog_stub"].UpdateEntry
150217

218+
@property
219+
def delete_entry(self):
220+
"""Return the gRPC stub for :meth:`DataCatalogClient.delete_entry`.
221+
222+
Alpha feature. Deletes an existing entry. Only entries created through
223+
``CreateEntry`` method can be deleted. The user should enable the Data
224+
Catalog API in the project identified by the ``name`` parameter (see
225+
[Data Catalog Resource Project]
226+
(/data-catalog/docs/concepts/resource-project) for more information).
227+
228+
Returns:
229+
Callable: A callable which accepts the appropriate
230+
deserialized request object and returns a
231+
deserialized response object.
232+
"""
233+
return self._stubs["data_catalog_stub"].DeleteEntry
234+
151235
@property
152236
def get_entry(self):
153237
"""Return the gRPC stub for :meth:`DataCatalogClient.get_entry`.
@@ -180,7 +264,11 @@ def lookup_entry(self):
180264
def create_tag_template(self):
181265
"""Return the gRPC stub for :meth:`DataCatalogClient.create_tag_template`.
182266
183-
Creates a tag template.
267+
Creates a tag template. The user should enable the Data Catalog API in
268+
the project identified by the ``parent`` parameter (see `Data Catalog
269+
Resource
270+
Project <https://cloud.google.com/data-catalog/docs/concepts/resource-project>`__
271+
for more information).
184272
185273
Returns:
186274
Callable: A callable which accepts the appropriate
@@ -206,9 +294,13 @@ def get_tag_template(self):
206294
def update_tag_template(self):
207295
"""Return the gRPC stub for :meth:`DataCatalogClient.update_tag_template`.
208296
209-
Updates a tag template. This method cannot be used to update the fields of
210-
a template. The tag template fields are represented as separate resources
211-
and should be updated using their own create/update/delete methods.
297+
Updates a tag template. This method cannot be used to update the fields
298+
of a template. The tag template fields are represented as separate
299+
resources and should be updated using their own create/update/delete
300+
methods. The user should enable the Data Catalog API in the project
301+
identified by the ``tag_template.name`` parameter (see [Data Catalog
302+
Resource Project] (/data-catalog/docs/concepts/resource-project) for
303+
more information).
212304
213305
Returns:
214306
Callable: A callable which accepts the appropriate
@@ -221,7 +313,10 @@ def update_tag_template(self):
221313
def delete_tag_template(self):
222314
"""Return the gRPC stub for :meth:`DataCatalogClient.delete_tag_template`.
223315
224-
Deletes a tag template and all tags using the template.
316+
Deletes a tag template and all tags using the template. The user should
317+
enable the Data Catalog API in the project identified by the ``name``
318+
parameter (see [Data Catalog Resource Project]
319+
(/data-catalog/docs/concepts/resource-project) for more information).
225320
226321
Returns:
227322
Callable: A callable which accepts the appropriate
@@ -234,7 +329,11 @@ def delete_tag_template(self):
234329
def create_tag_template_field(self):
235330
"""Return the gRPC stub for :meth:`DataCatalogClient.create_tag_template_field`.
236331
237-
Creates a field in a tag template.
332+
Creates a field in a tag template. The user should enable the Data
333+
Catalog API in the project identified by the ``parent`` parameter (see
334+
`Data Catalog Resource
335+
Project <https://cloud.google.com/data-catalog/docs/concepts/resource-project>`__
336+
for more information).
238337
239338
Returns:
240339
Callable: A callable which accepts the appropriate
@@ -247,8 +346,11 @@ def create_tag_template_field(self):
247346
def update_tag_template_field(self):
248347
"""Return the gRPC stub for :meth:`DataCatalogClient.update_tag_template_field`.
249348
250-
Updates a field in a tag template. This method cannot be used to update the
251-
field type.
349+
Updates a field in a tag template. This method cannot be used to update
350+
the field type. The user should enable the Data Catalog API in the
351+
project identified by the ``name`` parameter (see [Data Catalog Resource
352+
Project] (/data-catalog/docs/concepts/resource-project) for more
353+
information).
252354
253355
Returns:
254356
Callable: A callable which accepts the appropriate
@@ -261,7 +363,11 @@ def update_tag_template_field(self):
261363
def rename_tag_template_field(self):
262364
"""Return the gRPC stub for :meth:`DataCatalogClient.rename_tag_template_field`.
263365
264-
Renames a field in a tag template.
366+
Renames a field in a tag template. The user should enable the Data
367+
Catalog API in the project identified by the ``name`` parameter (see
368+
`Data Catalog Resource
369+
Project <https://cloud.google.com/data-catalog/docs/concepts/resource-project>`__
370+
for more information).
265371
266372
Returns:
267373
Callable: A callable which accepts the appropriate
@@ -274,7 +380,10 @@ def rename_tag_template_field(self):
274380
def delete_tag_template_field(self):
275381
"""Return the gRPC stub for :meth:`DataCatalogClient.delete_tag_template_field`.
276382
277-
Deletes a field in a tag template and all uses of that field.
383+
Deletes a field in a tag template and all uses of that field. The user
384+
should enable the Data Catalog API in the project identified by the
385+
``name`` parameter (see [Data Catalog Resource Project]
386+
(/data-catalog/docs/concepts/resource-project) for more information).
278387
279388
Returns:
280389
Callable: A callable which accepts the appropriate
@@ -287,7 +396,12 @@ def delete_tag_template_field(self):
287396
def create_tag(self):
288397
"""Return the gRPC stub for :meth:`DataCatalogClient.create_tag`.
289398
290-
Creates a tag on an ``Entry``.
399+
Creates a tag on an ``Entry``. Note: The project identified by the
400+
``parent`` parameter for the
401+
`tag <https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters>`__
402+
and the `tag
403+
template <https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters>`__
404+
used to create the tag must be from the same organization.
291405
292406
Returns:
293407
Callable: A callable which accepts the appropriate
@@ -342,13 +456,19 @@ def set_iam_policy(self):
342456
Sets the access control policy for a resource. Replaces any existing
343457
policy. Supported resources are:
344458
345-
- Tag templates. Note, this method cannot be used to manage policies
346-
for BigQuery, Cloud Pub/Sub and any external Google Cloud Platform
459+
- Tag templates.
460+
- Entries.
461+
- Entry groups. Note, this method cannot be used to manage policies for
462+
BigQuery, Cloud Pub/Sub and any external Google Cloud Platform
347463
resources synced to Cloud Data Catalog.
348464
349465
Callers must have following Google IAM permission
350-
``datacatalog.tagTemplates.setIamPolicy`` to set policies on tag
351-
templates.
466+
467+
- ``datacatalog.tagTemplates.setIamPolicy`` to set policies on tag
468+
templates.
469+
- ``datacatalog.entries.setIamPolicy`` to set policies on entries.
470+
- ``datacatalog.entryGroups.setIamPolicy`` to set policies on entry
471+
groups.
352472
353473
Returns:
354474
Callable: A callable which accepts the appropriate
@@ -367,13 +487,19 @@ def get_iam_policy(self):
367487
368488
Supported resources are:
369489
370-
- Tag templates. Note, this method cannot be used to manage policies
371-
for BigQuery, Cloud Pub/Sub and any external Google Cloud Platform
490+
- Tag templates.
491+
- Entries.
492+
- Entry groups. Note, this method cannot be used to manage policies for
493+
BigQuery, Cloud Pub/Sub and any external Google Cloud Platform
372494
resources synced to Cloud Data Catalog.
373495
374496
Callers must have following Google IAM permission
375-
``datacatalog.tagTemplates.getIamPolicy`` to get policies on tag
376-
templates.
497+
498+
- ``datacatalog.tagTemplates.getIamPolicy`` to get policies on tag
499+
templates.
500+
- ``datacatalog.entries.getIamPolicy`` to get policies on entries.
501+
- ``datacatalog.entryGroups.getIamPolicy`` to get policies on entry
502+
groups.
377503
378504
Returns:
379505
Callable: A callable which accepts the appropriate
@@ -390,10 +516,12 @@ def test_iam_permissions(self):
390516
exist, an empty set of permissions is returned (We don't return a
391517
``NOT_FOUND`` error).
392518
393-
Supported resource are:
519+
Supported resources are:
394520
395-
- tag templates. Note, this method cannot be used to manage policies
396-
for BigQuery, Cloud Pub/Sub and any external Google Cloud Platform
521+
- Tag templates.
522+
- Entries.
523+
- Entry groups. Note, this method cannot be used to manage policies for
524+
BigQuery, Cloud Pub/Sub and any external Google Cloud Platform
397525
resources synced to Cloud Data Catalog.
398526
399527
A caller is not required to have Google IAM permission to make this

0 commit comments

Comments
 (0)