diff --git a/packages/google-cloud-datacatalog/google/cloud/datacatalog/__init__.py b/packages/google-cloud-datacatalog/google/cloud/datacatalog/__init__.py index d5c767f5dfb2..da20333a8aae 100644 --- a/packages/google-cloud-datacatalog/google/cloud/datacatalog/__init__.py +++ b/packages/google-cloud-datacatalog/google/cloud/datacatalog/__init__.py @@ -67,6 +67,7 @@ EntryGroup, EntryOverview, EntryType, + FeatureOnlineStoreSpec, FilesetSpec, GetEntryGroupRequest, GetEntryRequest, @@ -208,6 +209,7 @@ "Entry", "EntryGroup", "EntryOverview", + "FeatureOnlineStoreSpec", "FilesetSpec", "GetEntryGroupRequest", "GetEntryRequest", diff --git a/packages/google-cloud-datacatalog/google/cloud/datacatalog/gapic_version.py b/packages/google-cloud-datacatalog/google/cloud/datacatalog/gapic_version.py index cb24f2360f5a..558c8aab67c5 100644 --- a/packages/google-cloud-datacatalog/google/cloud/datacatalog/gapic_version.py +++ b/packages/google-cloud-datacatalog/google/cloud/datacatalog/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "3.21.1" # {x-release-please-version} +__version__ = "0.0.0" # {x-release-please-version} diff --git a/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/__init__.py b/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/__init__.py index bf565e644780..536da4f57ba5 100644 --- a/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/__init__.py +++ b/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/__init__.py @@ -56,6 +56,7 @@ EntryGroup, EntryOverview, EntryType, + FeatureOnlineStoreSpec, FilesetSpec, GetEntryGroupRequest, GetEntryRequest, @@ -192,6 +193,7 @@ "EntryType", "ExportTaxonomiesRequest", "ExportTaxonomiesResponse", + "FeatureOnlineStoreSpec", "FieldType", "FilesetSpec", "GcsFileSpec", diff --git a/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/gapic_version.py b/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/gapic_version.py index cb24f2360f5a..558c8aab67c5 100644 --- a/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/gapic_version.py +++ b/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "3.21.1" # {x-release-please-version} +__version__ = "0.0.0" # {x-release-please-version} diff --git a/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/services/data_catalog/async_client.py b/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/services/data_catalog/async_client.py index d847eb74711f..6785e64350d2 100644 --- a/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/services/data_catalog/async_client.py +++ b/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/services/data_catalog/async_client.py @@ -1121,7 +1121,7 @@ async def sample_create_entry(): # Initialize request argument(s) entry = datacatalog_v1.Entry() - entry.type_ = "LOOK" + entry.type_ = "FEATURE_GROUP" entry.integrated_system = "VERTEX_AI" entry.gcs_fileset_spec.file_patterns = ['file_patterns_value1', 'file_patterns_value2'] @@ -1271,7 +1271,7 @@ async def sample_update_entry(): # Initialize request argument(s) entry = datacatalog_v1.Entry() - entry.type_ = "LOOK" + entry.type_ = "FEATURE_GROUP" entry.integrated_system = "VERTEX_AI" entry.gcs_fileset_spec.file_patterns = ['file_patterns_value1', 'file_patterns_value2'] diff --git a/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/services/data_catalog/client.py b/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/services/data_catalog/client.py index ab94e4e24b8c..44b6750c9ecd 100644 --- a/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/services/data_catalog/client.py +++ b/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/services/data_catalog/client.py @@ -1597,7 +1597,7 @@ def sample_create_entry(): # Initialize request argument(s) entry = datacatalog_v1.Entry() - entry.type_ = "LOOK" + entry.type_ = "FEATURE_GROUP" entry.integrated_system = "VERTEX_AI" entry.gcs_fileset_spec.file_patterns = ['file_patterns_value1', 'file_patterns_value2'] @@ -1744,7 +1744,7 @@ def sample_update_entry(): # Initialize request argument(s) entry = datacatalog_v1.Entry() - entry.type_ = "LOOK" + entry.type_ = "FEATURE_GROUP" entry.integrated_system = "VERTEX_AI" entry.gcs_fileset_spec.file_patterns = ['file_patterns_value1', 'file_patterns_value2'] diff --git a/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/types/__init__.py b/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/types/__init__.py index 60ae405e068e..51f266aa7f41 100644 --- a/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/types/__init__.py +++ b/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/types/__init__.py @@ -42,6 +42,7 @@ EntryGroup, EntryOverview, EntryType, + FeatureOnlineStoreSpec, FilesetSpec, GetEntryGroupRequest, GetEntryRequest, @@ -161,6 +162,7 @@ "Entry", "EntryGroup", "EntryOverview", + "FeatureOnlineStoreSpec", "FilesetSpec", "GetEntryGroupRequest", "GetEntryRequest", diff --git a/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/types/datacatalog.py b/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/types/datacatalog.py index 8e10df67fcf5..fc838af60aad 100644 --- a/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/types/datacatalog.py +++ b/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/types/datacatalog.py @@ -62,6 +62,7 @@ "VertexModelSpec", "VertexDatasetSpec", "ModelSpec", + "FeatureOnlineStoreSpec", "BusinessContext", "EntryOverview", "Contacts", @@ -161,6 +162,15 @@ class EntryType(proto.Enum): For more information, see [Looker Look API] (https://developers.looker.com/api/explorer/4.0/methods/Look). + FEATURE_ONLINE_STORE (19): + Feature Online Store resource in Vertex AI + Feature Store. + FEATURE_VIEW (20): + Feature View resource in Vertex AI Feature + Store. + FEATURE_GROUP (21): + Feature Group resource in Vertex AI Feature + Store. """ ENTRY_TYPE_UNSPECIFIED = 0 TABLE = 2 @@ -178,6 +188,9 @@ class EntryType(proto.Enum): DASHBOARD = 16 EXPLORE = 17 LOOK = 18 + FEATURE_ONLINE_STORE = 19 + FEATURE_VIEW = 20 + FEATURE_GROUP = 21 class SearchCatalogRequest(proto.Message): @@ -807,8 +820,8 @@ class Entry(proto.Message): Attributes: name (str): - Output only. The resource name of an entry in - URL format. + Output only. Identifier. The resource name of + an entry in URL format. Note: The entry itself and its child resources might not be stored in the location specified in its name. @@ -953,6 +966,11 @@ class Entry(proto.Message): model_spec (google.cloud.datacatalog_v1.types.ModelSpec): Model specification. + This field is a member of `oneof`_ ``spec``. + feature_online_store_spec (google.cloud.datacatalog_v1.types.FeatureOnlineStoreSpec): + FeatureonlineStore spec for Vertex AI Feature + Store. + This field is a member of `oneof`_ ``spec``. display_name (str): Display name of an entry. @@ -1112,6 +1130,12 @@ class Entry(proto.Message): oneof="spec", message="ModelSpec", ) + feature_online_store_spec: "FeatureOnlineStoreSpec" = proto.Field( + proto.MESSAGE, + number=45, + oneof="spec", + message="FeatureOnlineStoreSpec", + ) display_name: str = proto.Field( proto.STRING, number=3, @@ -1644,12 +1668,22 @@ class ModelSourceType(proto.Enum): MODEL_GARDEN (4): The Model is saved or tuned from Model Garden. + GENIE (5): + The Model is saved or tuned from Genie. + CUSTOM_TEXT_EMBEDDING (6): + The Model is uploaded by text embedding + finetuning pipeline. + MARKETPLACE (7): + The Model is saved or tuned from Marketplace. """ MODEL_SOURCE_TYPE_UNSPECIFIED = 0 AUTOML = 1 CUSTOM = 2 BQML = 3 MODEL_GARDEN = 4 + GENIE = 5 + CUSTOM_TEXT_EMBEDDING = 6 + MARKETPLACE = 7 source_type: ModelSourceType = proto.Field( proto.ENUM, @@ -1805,6 +1839,39 @@ class ModelSpec(proto.Message): ) +class FeatureOnlineStoreSpec(proto.Message): + r"""Detail description of the source information of a Vertex + Feature Online Store. + + Attributes: + storage_type (google.cloud.datacatalog_v1.types.FeatureOnlineStoreSpec.StorageType): + Output only. Type of underelaying storage for + the FeatureOnlineStore. + """ + + class StorageType(proto.Enum): + r"""Type of underlaying storage type. + + Values: + STORAGE_TYPE_UNSPECIFIED (0): + Should not be used. + BIGTABLE (1): + Underlsying storgae is Bigtable. + OPTIMIZED (2): + Underlaying is optimized online server + (Lightning). + """ + STORAGE_TYPE_UNSPECIFIED = 0 + BIGTABLE = 1 + OPTIMIZED = 2 + + storage_type: StorageType = proto.Field( + proto.ENUM, + number=1, + enum=StorageType, + ) + + class BusinessContext(proto.Message): r"""Business Context of the entry. @@ -1894,8 +1961,8 @@ class EntryGroup(proto.Message): Attributes: name (str): - The resource name of the entry group in URL - format. + Identifier. The resource name of the entry + group in URL format. Note: The entry group itself and its child resources might not be stored in the location specified in its name. diff --git a/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/types/tags.py b/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/types/tags.py index 47d189fc3b8a..34eb0556571a 100644 --- a/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/types/tags.py +++ b/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1/types/tags.py @@ -46,8 +46,9 @@ class Tag(proto.Message): Attributes: name (str): - The resource name of the tag in URL format - where tag ID is a system-generated identifier. + Identifier. The resource name of the tag in + URL format where tag ID is a system-generated + identifier. Note: The tag itself might not be stored in the location specified in its name. @@ -234,8 +235,8 @@ class TagTemplate(proto.Message): Attributes: name (str): - The resource name of the tag template in URL - format. + Identifier. The resource name of the tag + template in URL format. Note: The tag template itself and its child resources might not be stored in the location specified in its name. @@ -268,8 +269,29 @@ class TagTemplate(proto.Message): - Must be at least 1 character and at most 64 characters long. - Must start with a letter or underscore. + dataplex_transfer_status (google.cloud.datacatalog_v1.types.TagTemplate.DataplexTransferStatus): + Optional. Transfer status of the TagTemplate """ + class DataplexTransferStatus(proto.Enum): + r"""This enum describes TagTemplate transfer status to Dataplex + service. + + Values: + DATAPLEX_TRANSFER_STATUS_UNSPECIFIED (0): + Default value. TagTemplate and its tags are + only visible and editable in DataCatalog. + MIGRATED (1): + TagTemplate and its tags are auto-copied to + Dataplex service. Visible in both services. + Editable in DataCatalog, read-only in Dataplex. + Deprecated: Individual TagTemplate migration is + deprecated in favor of organization or project + wide TagTemplate migration opt-in. + """ + DATAPLEX_TRANSFER_STATUS_UNSPECIFIED = 0 + MIGRATED = 1 + name: str = proto.Field( proto.STRING, number=1, @@ -288,6 +310,11 @@ class TagTemplate(proto.Message): number=3, message="TagTemplateField", ) + dataplex_transfer_status: DataplexTransferStatus = proto.Field( + proto.ENUM, + number=7, + enum=DataplexTransferStatus, + ) class TagTemplateField(proto.Message): @@ -295,7 +322,7 @@ class TagTemplateField(proto.Message): Attributes: name (str): - Output only. The resource name of the tag template field in + Identifier. The resource name of the tag template field in URL format. Example: ``projects/{PROJECT_ID}/locations/{LOCATION}/tagTemplates/{TAG_TEMPLATE}/fields/{FIELD}`` diff --git a/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1beta1/gapic_version.py b/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1beta1/gapic_version.py index cb24f2360f5a..558c8aab67c5 100644 --- a/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1beta1/gapic_version.py +++ b/packages/google-cloud-datacatalog/google/cloud/datacatalog_v1beta1/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "3.21.1" # {x-release-please-version} +__version__ = "0.0.0" # {x-release-please-version} diff --git a/packages/google-cloud-datacatalog/samples/generated_samples/datacatalog_v1_generated_data_catalog_create_entry_async.py b/packages/google-cloud-datacatalog/samples/generated_samples/datacatalog_v1_generated_data_catalog_create_entry_async.py index c8b3b05f21a9..2aa80b39f302 100644 --- a/packages/google-cloud-datacatalog/samples/generated_samples/datacatalog_v1_generated_data_catalog_create_entry_async.py +++ b/packages/google-cloud-datacatalog/samples/generated_samples/datacatalog_v1_generated_data_catalog_create_entry_async.py @@ -40,7 +40,7 @@ async def sample_create_entry(): # Initialize request argument(s) entry = datacatalog_v1.Entry() - entry.type_ = "LOOK" + entry.type_ = "FEATURE_GROUP" entry.integrated_system = "VERTEX_AI" entry.gcs_fileset_spec.file_patterns = ['file_patterns_value1', 'file_patterns_value2'] diff --git a/packages/google-cloud-datacatalog/samples/generated_samples/datacatalog_v1_generated_data_catalog_create_entry_sync.py b/packages/google-cloud-datacatalog/samples/generated_samples/datacatalog_v1_generated_data_catalog_create_entry_sync.py index a76e2368d193..abc38c514485 100644 --- a/packages/google-cloud-datacatalog/samples/generated_samples/datacatalog_v1_generated_data_catalog_create_entry_sync.py +++ b/packages/google-cloud-datacatalog/samples/generated_samples/datacatalog_v1_generated_data_catalog_create_entry_sync.py @@ -40,7 +40,7 @@ def sample_create_entry(): # Initialize request argument(s) entry = datacatalog_v1.Entry() - entry.type_ = "LOOK" + entry.type_ = "FEATURE_GROUP" entry.integrated_system = "VERTEX_AI" entry.gcs_fileset_spec.file_patterns = ['file_patterns_value1', 'file_patterns_value2'] diff --git a/packages/google-cloud-datacatalog/samples/generated_samples/datacatalog_v1_generated_data_catalog_update_entry_async.py b/packages/google-cloud-datacatalog/samples/generated_samples/datacatalog_v1_generated_data_catalog_update_entry_async.py index 85a0380f4b6b..16c53a700109 100644 --- a/packages/google-cloud-datacatalog/samples/generated_samples/datacatalog_v1_generated_data_catalog_update_entry_async.py +++ b/packages/google-cloud-datacatalog/samples/generated_samples/datacatalog_v1_generated_data_catalog_update_entry_async.py @@ -40,7 +40,7 @@ async def sample_update_entry(): # Initialize request argument(s) entry = datacatalog_v1.Entry() - entry.type_ = "LOOK" + entry.type_ = "FEATURE_GROUP" entry.integrated_system = "VERTEX_AI" entry.gcs_fileset_spec.file_patterns = ['file_patterns_value1', 'file_patterns_value2'] diff --git a/packages/google-cloud-datacatalog/samples/generated_samples/datacatalog_v1_generated_data_catalog_update_entry_sync.py b/packages/google-cloud-datacatalog/samples/generated_samples/datacatalog_v1_generated_data_catalog_update_entry_sync.py index bc3a7bafc1ea..28c2995b78ee 100644 --- a/packages/google-cloud-datacatalog/samples/generated_samples/datacatalog_v1_generated_data_catalog_update_entry_sync.py +++ b/packages/google-cloud-datacatalog/samples/generated_samples/datacatalog_v1_generated_data_catalog_update_entry_sync.py @@ -40,7 +40,7 @@ def sample_update_entry(): # Initialize request argument(s) entry = datacatalog_v1.Entry() - entry.type_ = "LOOK" + entry.type_ = "FEATURE_GROUP" entry.integrated_system = "VERTEX_AI" entry.gcs_fileset_spec.file_patterns = ['file_patterns_value1', 'file_patterns_value2'] diff --git a/packages/google-cloud-datacatalog/samples/generated_samples/snippet_metadata_google.cloud.datacatalog.v1.json b/packages/google-cloud-datacatalog/samples/generated_samples/snippet_metadata_google.cloud.datacatalog.v1.json index d2f74c49388e..1659a652e62c 100644 --- a/packages/google-cloud-datacatalog/samples/generated_samples/snippet_metadata_google.cloud.datacatalog.v1.json +++ b/packages/google-cloud-datacatalog/samples/generated_samples/snippet_metadata_google.cloud.datacatalog.v1.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-datacatalog", - "version": "3.21.1" + "version": "0.1.0" }, "snippets": [ { diff --git a/packages/google-cloud-datacatalog/samples/generated_samples/snippet_metadata_google.cloud.datacatalog.v1beta1.json b/packages/google-cloud-datacatalog/samples/generated_samples/snippet_metadata_google.cloud.datacatalog.v1beta1.json index 16437f0e222d..14e0e75feb01 100644 --- a/packages/google-cloud-datacatalog/samples/generated_samples/snippet_metadata_google.cloud.datacatalog.v1beta1.json +++ b/packages/google-cloud-datacatalog/samples/generated_samples/snippet_metadata_google.cloud.datacatalog.v1beta1.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-datacatalog", - "version": "3.21.1" + "version": "0.1.0" }, "snippets": [ { diff --git a/packages/google-cloud-datacatalog/tests/unit/gapic/datacatalog_v1/test_data_catalog.py b/packages/google-cloud-datacatalog/tests/unit/gapic/datacatalog_v1/test_data_catalog.py index a330df809776..11794b0701f9 100644 --- a/packages/google-cloud-datacatalog/tests/unit/gapic/datacatalog_v1/test_data_catalog.py +++ b/packages/google-cloud-datacatalog/tests/unit/gapic/datacatalog_v1/test_data_catalog.py @@ -6062,6 +6062,7 @@ def test_create_tag_template(request_type, transport: str = "grpc"): name="name_value", display_name="display_name_value", is_publicly_readable=True, + dataplex_transfer_status=tags.TagTemplate.DataplexTransferStatus.MIGRATED, ) response = client.create_tag_template(request) @@ -6076,6 +6077,10 @@ def test_create_tag_template(request_type, transport: str = "grpc"): assert response.name == "name_value" assert response.display_name == "display_name_value" assert response.is_publicly_readable is True + assert ( + response.dataplex_transfer_status + == tags.TagTemplate.DataplexTransferStatus.MIGRATED + ) def test_create_tag_template_non_empty_request_with_auto_populated_field(): @@ -6214,6 +6219,7 @@ async def test_create_tag_template_async( name="name_value", display_name="display_name_value", is_publicly_readable=True, + dataplex_transfer_status=tags.TagTemplate.DataplexTransferStatus.MIGRATED, ) ) response = await client.create_tag_template(request) @@ -6229,6 +6235,10 @@ async def test_create_tag_template_async( assert response.name == "name_value" assert response.display_name == "display_name_value" assert response.is_publicly_readable is True + assert ( + response.dataplex_transfer_status + == tags.TagTemplate.DataplexTransferStatus.MIGRATED + ) @pytest.mark.asyncio @@ -6427,6 +6437,7 @@ def test_get_tag_template(request_type, transport: str = "grpc"): name="name_value", display_name="display_name_value", is_publicly_readable=True, + dataplex_transfer_status=tags.TagTemplate.DataplexTransferStatus.MIGRATED, ) response = client.get_tag_template(request) @@ -6441,6 +6452,10 @@ def test_get_tag_template(request_type, transport: str = "grpc"): assert response.name == "name_value" assert response.display_name == "display_name_value" assert response.is_publicly_readable is True + assert ( + response.dataplex_transfer_status + == tags.TagTemplate.DataplexTransferStatus.MIGRATED + ) def test_get_tag_template_non_empty_request_with_auto_populated_field(): @@ -6571,6 +6586,7 @@ async def test_get_tag_template_async( name="name_value", display_name="display_name_value", is_publicly_readable=True, + dataplex_transfer_status=tags.TagTemplate.DataplexTransferStatus.MIGRATED, ) ) response = await client.get_tag_template(request) @@ -6586,6 +6602,10 @@ async def test_get_tag_template_async( assert response.name == "name_value" assert response.display_name == "display_name_value" assert response.is_publicly_readable is True + assert ( + response.dataplex_transfer_status + == tags.TagTemplate.DataplexTransferStatus.MIGRATED + ) @pytest.mark.asyncio @@ -6758,6 +6778,7 @@ def test_update_tag_template(request_type, transport: str = "grpc"): name="name_value", display_name="display_name_value", is_publicly_readable=True, + dataplex_transfer_status=tags.TagTemplate.DataplexTransferStatus.MIGRATED, ) response = client.update_tag_template(request) @@ -6772,6 +6793,10 @@ def test_update_tag_template(request_type, transport: str = "grpc"): assert response.name == "name_value" assert response.display_name == "display_name_value" assert response.is_publicly_readable is True + assert ( + response.dataplex_transfer_status + == tags.TagTemplate.DataplexTransferStatus.MIGRATED + ) def test_update_tag_template_non_empty_request_with_auto_populated_field(): @@ -6904,6 +6929,7 @@ async def test_update_tag_template_async( name="name_value", display_name="display_name_value", is_publicly_readable=True, + dataplex_transfer_status=tags.TagTemplate.DataplexTransferStatus.MIGRATED, ) ) response = await client.update_tag_template(request) @@ -6919,6 +6945,10 @@ async def test_update_tag_template_async( assert response.name == "name_value" assert response.display_name == "display_name_value" assert response.is_publicly_readable is True + assert ( + response.dataplex_transfer_status + == tags.TagTemplate.DataplexTransferStatus.MIGRATED + ) @pytest.mark.asyncio @@ -14129,6 +14159,7 @@ async def test_create_tag_template_empty_call_grpc_asyncio(): name="name_value", display_name="display_name_value", is_publicly_readable=True, + dataplex_transfer_status=tags.TagTemplate.DataplexTransferStatus.MIGRATED, ) ) await client.create_tag_template(request=None) @@ -14158,6 +14189,7 @@ async def test_get_tag_template_empty_call_grpc_asyncio(): name="name_value", display_name="display_name_value", is_publicly_readable=True, + dataplex_transfer_status=tags.TagTemplate.DataplexTransferStatus.MIGRATED, ) ) await client.get_tag_template(request=None) @@ -14189,6 +14221,7 @@ async def test_update_tag_template_empty_call_grpc_asyncio(): name="name_value", display_name="display_name_value", is_publicly_readable=True, + dataplex_transfer_status=tags.TagTemplate.DataplexTransferStatus.MIGRATED, ) ) await client.update_tag_template(request=None)