{
  "resources": {
    "catalog": {
      "deprecated": true,
      "methods": {
        "search": {
          "id": "datacatalog.catalog.search",
          "parameters": {},
          "flatPath": "v1beta1/catalog:search",
          "request": {
            "$ref": "GoogleCloudDatacatalogV1beta1SearchCatalogRequest"
          },
          "response": {
            "$ref": "GoogleCloudDatacatalogV1beta1SearchCatalogResponse"
          },
          "path": "v1beta1/catalog:search",
          "deprecated": true,
          "description": "Searches Data Catalog for multiple resources like entries, tags that match a query. 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 subsequently call `Get` methods. Note that Data Catalog search queries do not guarantee full recall. Query results that match your query may not be returned, even in subsequent result pages. Also note that results returned (and not returned) can vary across repeated search queries. See [Data Catalog Search Syntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference) for more information.",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "parameterOrder": [],
          "httpMethod": "POST"
        }
      }
    },
    "projects": {
      "resources": {
        "locations": {
          "resources": {
            "entryGroups": {
              "methods": {
                "delete": {
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
                  "id": "datacatalog.projects.locations.entryGroups.delete",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                      "type": "string",
                      "description": "Required. The name of the entry group. For example, `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.",
                      "required": true,
                      "location": "path"
                    },
                    "force": {
                      "location": "query",
                      "description": "Optional. If true, deletes all entries in the entry group.",
                      "type": "boolean"
                    }
                  },
                  "response": {
                    "$ref": "Empty"
                  },
                  "path": "v1beta1/{+name}",
                  "deprecated": true,
                  "description": "Deletes an EntryGroup. Only entry groups that do not contain entries can be deleted. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "DELETE",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "getIamPolicy": {
                  "path": "v1beta1/{+resource}:getIamPolicy",
                  "deprecated": true,
                  "description": "Gets the access control policy for a resource. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `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.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "resource"
                  ],
                  "httpMethod": "POST",
                  "id": "datacatalog.projects.locations.entryGroups.getIamPolicy",
                  "parameters": {
                    "resource": {
                      "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "required": true,
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                      "type": "string"
                    }
                  },
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:getIamPolicy",
                  "request": {
                    "$ref": "GetIamPolicyRequest"
                  },
                  "response": {
                    "$ref": "Policy"
                  }
                },
                "create": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "parent"
                  ],
                  "httpMethod": "POST",
                  "path": "v1beta1/{+parent}/entryGroups",
                  "deprecated": true,
                  "description": "A maximum of 10,000 entry groups may be created per organization across all locations. Users should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                  "response": {
                    "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
                  },
                  "id": "datacatalog.projects.locations.entryGroups.create",
                  "parameters": {
                    "parent": {
                      "location": "path",
                      "description": "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.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string"
                    },
                    "entryGroupId": {
                      "location": "query",
                      "description": "Required. The id of the entry group to create. The id must begin with a letter or underscore, contain only English letters, numbers and underscores, and be at most 64 characters.",
                      "type": "string"
                    }
                  },
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups",
                  "request": {
                    "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
                  }
                },
                "patch": {
                  "response": {
                    "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
                  },
                  "id": "datacatalog.projects.locations.entryGroups.patch",
                  "parameters": {
                    "updateMask": {
                      "description": "Names of fields whose values to overwrite on an entry group. If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.",
                      "type": "string",
                      "location": "query",
                      "format": "google-fieldmask"
                    },
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                      "type": "string",
                      "location": "path",
                      "description": "Identifier. 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.",
                      "required": true
                    }
                  },
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
                  "request": {
                    "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "PATCH",
                  "path": "v1beta1/{+name}",
                  "deprecated": true,
                  "description": "Updates an EntryGroup. The user should enable the Data Catalog API in the project identified by the `entry_group.name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information)."
                },
                "list": {
                  "id": "datacatalog.projects.locations.entryGroups.list",
                  "parameters": {
                    "pageToken": {
                      "location": "query",
                      "description": "Optional. Token that specifies which page is requested. If empty, the first page is returned.",
                      "type": "string"
                    },
                    "parent": {
                      "description": "Required. The name of the location that contains the entry groups, which can be provided in URL format. Example: * projects/{project_id}/locations/{location}",
                      "required": true,
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string"
                    },
                    "pageSize": {
                      "location": "query",
                      "format": "int32",
                      "description": "Optional. The maximum number of items to return. Default is 10. Max limit is 1000. Throws an invalid argument for `page_size \u003e 1000`.",
                      "type": "integer"
                    }
                  },
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups",
                  "response": {
                    "$ref": "GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse"
                  },
                  "path": "v1beta1/{+parent}/entryGroups",
                  "deprecated": true,
                  "description": "Lists entry groups.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "parent"
                  ],
                  "httpMethod": "GET"
                },
                "get": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "GET",
                  "path": "v1beta1/{+name}",
                  "deprecated": true,
                  "description": "Gets an EntryGroup.",
                  "response": {
                    "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
                  },
                  "id": "datacatalog.projects.locations.entryGroups.get",
                  "parameters": {
                    "readMask": {
                      "description": "The fields to return. If not set or empty, all fields are returned.",
                      "type": "string",
                      "location": "query",
                      "format": "google-fieldmask"
                    },
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                      "type": "string",
                      "description": "Required. The name of the entry group. For example, `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.",
                      "required": true,
                      "location": "path"
                    }
                  },
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}"
                },
                "setIamPolicy": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "resource"
                  ],
                  "httpMethod": "POST",
                  "path": "v1beta1/{+resource}:setIamPolicy",
                  "deprecated": true,
                  "description": "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, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `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.",
                  "response": {
                    "$ref": "Policy"
                  },
                  "id": "datacatalog.projects.locations.entryGroups.setIamPolicy",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                      "type": "string",
                      "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "required": true,
                      "location": "path"
                    }
                  },
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:setIamPolicy",
                  "request": {
                    "$ref": "SetIamPolicyRequest"
                  }
                },
                "testIamPermissions": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1beta1/{+resource}:testIamPermissions",
                  "deprecated": true,
                  "description": "Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. A caller is not required to have Google IAM permission to make this request.",
                  "response": {
                    "$ref": "TestIamPermissionsResponse"
                  },
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:testIamPermissions",
                  "request": {
                    "$ref": "TestIamPermissionsRequest"
                  },
                  "id": "datacatalog.projects.locations.entryGroups.testIamPermissions",
                  "parameters": {
                    "resource": {
                      "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "required": true,
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                      "type": "string"
                    }
                  }
                }
              },
              "resources": {
                "entries": {
                  "methods": {
                    "list": {
                      "response": {
                        "$ref": "GoogleCloudDatacatalogV1beta1ListEntriesResponse"
                      },
                      "id": "datacatalog.projects.locations.entryGroups.entries.list",
                      "parameters": {
                        "pageToken": {
                          "description": "Token that specifies which page is requested. If empty, the first page is returned.",
                          "type": "string",
                          "location": "query"
                        },
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                          "type": "string",
                          "location": "path",
                          "description": "Required. The name of the entry group that contains the entries, which can be provided in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}",
                          "required": true
                        },
                        "readMask": {
                          "location": "query",
                          "format": "google-fieldmask",
                          "description": "The fields to return for each Entry. If not set or empty, all fields are returned. For example, setting read_mask to contain only one path \"name\" will cause ListEntries to return a list of Entries with only \"name\" field.",
                          "type": "string"
                        },
                        "pageSize": {
                          "location": "query",
                          "format": "int32",
                          "description": "The maximum number of items to return. Default is 10. Max limit is 1000. Throws an invalid argument for `page_size \u003e 1000`.",
                          "type": "integer"
                        }
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries",
                      "parameterOrder": [
                        "parent"
                      ],
                      "httpMethod": "GET",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Lists entries.",
                      "path": "v1beta1/{+parent}/entries",
                      "deprecated": true
                    },
                    "delete": {
                      "response": {
                        "$ref": "Empty"
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
                      "id": "datacatalog.projects.locations.entryGroups.entries.delete",
                      "parameters": {
                        "name": {
                          "location": "path",
                          "description": "Required. The name of the entry. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
                          "type": "string"
                        }
                      },
                      "httpMethod": "DELETE",
                      "parameterOrder": [
                        "name"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Deletes an existing entry. Only entries created through CreateEntry method can be deleted. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                      "path": "v1beta1/{+name}",
                      "deprecated": true
                    },
                    "getIamPolicy": {
                      "response": {
                        "$ref": "Policy"
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:getIamPolicy",
                      "request": {
                        "$ref": "GetIamPolicyRequest"
                      },
                      "id": "datacatalog.projects.locations.entryGroups.entries.getIamPolicy",
                      "parameters": {
                        "resource": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
                          "type": "string",
                          "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                          "required": true,
                          "location": "path"
                        }
                      },
                      "httpMethod": "POST",
                      "parameterOrder": [
                        "resource"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Gets the access control policy for a resource. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `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.",
                      "path": "v1beta1/{+resource}:getIamPolicy",
                      "deprecated": true
                    },
                    "create": {
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries",
                      "request": {
                        "$ref": "GoogleCloudDatacatalogV1beta1Entry"
                      },
                      "id": "datacatalog.projects.locations.entryGroups.entries.create",
                      "parameters": {
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                          "type": "string",
                          "location": "path",
                          "description": "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.",
                          "required": true
                        },
                        "entryId": {
                          "location": "query",
                          "description": "Required. The id of the entry to create.",
                          "type": "string"
                        }
                      },
                      "response": {
                        "$ref": "GoogleCloudDatacatalogV1beta1Entry"
                      },
                      "path": "v1beta1/{+parent}/entries",
                      "deprecated": true,
                      "description": "Creates an entry. Only entries of 'FILESET' type or user-specified type can be created. Users should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information). A maximum of 100,000 entries may be created per entry group.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "httpMethod": "POST",
                      "parameterOrder": [
                        "parent"
                      ]
                    },
                    "patch": {
                      "description": "Updates an existing entry. Users should enable the Data Catalog API in the project identified by the `entry.name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                      "path": "v1beta1/{+name}",
                      "deprecated": true,
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "PATCH",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "id": "datacatalog.projects.locations.entryGroups.entries.patch",
                      "parameters": {
                        "updateMask": {
                          "description": "Names of fields whose values to overwrite on an entry. If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied. 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` * For entries with `user_specified_type`: * `schema` * `display_name` * `description` * `user_specified_type` * `user_specified_system` * `linked_resource` * `source_system_timestamps`",
                          "type": "string",
                          "location": "query",
                          "format": "google-fieldmask"
                        },
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
                          "type": "string",
                          "location": "path",
                          "description": "Output only. Identifier. 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.",
                          "required": true
                        }
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
                      "request": {
                        "$ref": "GoogleCloudDatacatalogV1beta1Entry"
                      },
                      "response": {
                        "$ref": "GoogleCloudDatacatalogV1beta1Entry"
                      }
                    },
                    "testIamPermissions": {
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:testIamPermissions",
                      "request": {
                        "$ref": "TestIamPermissionsRequest"
                      },
                      "id": "datacatalog.projects.locations.entryGroups.entries.testIamPermissions",
                      "parameters": {
                        "resource": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
                          "type": "string",
                          "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                          "required": true,
                          "location": "path"
                        }
                      },
                      "response": {
                        "$ref": "TestIamPermissionsResponse"
                      },
                      "description": "Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. A caller is not required to have Google IAM permission to make this request.",
                      "path": "v1beta1/{+resource}:testIamPermissions",
                      "deprecated": true,
                      "httpMethod": "POST",
                      "parameterOrder": [
                        "resource"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "get": {
                      "response": {
                        "$ref": "GoogleCloudDatacatalogV1beta1Entry"
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
                      "id": "datacatalog.projects.locations.entryGroups.entries.get",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
                          "type": "string",
                          "location": "path",
                          "description": "Required. The name of the entry. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
                          "required": true
                        }
                      },
                      "httpMethod": "GET",
                      "parameterOrder": [
                        "name"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Gets an entry.",
                      "path": "v1beta1/{+name}",
                      "deprecated": true
                    }
                  },
                  "resources": {
                    "tags": {
                      "methods": {
                        "list": {
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "httpMethod": "GET",
                          "parameterOrder": [
                            "parent"
                          ],
                          "path": "v1beta1/{+parent}/tags",
                          "deprecated": true,
                          "description": "Lists tags assigned to an Entry. The columns in the response are lowercased.",
                          "response": {
                            "$ref": "GoogleCloudDatacatalogV1beta1ListTagsResponse"
                          },
                          "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags",
                          "id": "datacatalog.projects.locations.entryGroups.entries.tags.list",
                          "parameters": {
                            "pageToken": {
                              "location": "query",
                              "description": "Token that specifies which page is requested. If empty, the first page is returned.",
                              "type": "string"
                            },
                            "parent": {
                              "location": "path",
                              "description": "Required. The name of the Data Catalog resource to list the tags of. The resource could be an Entry or an EntryGroup. Examples: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
                              "required": true,
                              "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
                              "type": "string"
                            },
                            "pageSize": {
                              "location": "query",
                              "format": "int32",
                              "description": "The maximum number of tags to return. Default is 10. Max limit is 1000.",
                              "type": "integer"
                            }
                          }
                        },
                        "create": {
                          "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags",
                          "request": {
                            "$ref": "GoogleCloudDatacatalogV1beta1Tag"
                          },
                          "id": "datacatalog.projects.locations.entryGroups.entries.tags.create",
                          "parameters": {
                            "parent": {
                              "location": "path",
                              "description": "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.",
                              "required": true,
                              "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
                              "type": "string"
                            }
                          },
                          "response": {
                            "$ref": "GoogleCloudDatacatalogV1beta1Tag"
                          },
                          "path": "v1beta1/{+parent}/tags",
                          "deprecated": true,
                          "description": "Creates a tag on an Entry. Note: The project identified by the `parent` parameter for the [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be from the same organization.",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "httpMethod": "POST",
                          "parameterOrder": [
                            "parent"
                          ]
                        },
                        "patch": {
                          "httpMethod": "PATCH",
                          "parameterOrder": [
                            "name"
                          ],
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Updates an existing tag.",
                          "path": "v1beta1/{+name}",
                          "deprecated": true,
                          "response": {
                            "$ref": "GoogleCloudDatacatalogV1beta1Tag"
                          },
                          "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags/{tagsId}",
                          "request": {
                            "$ref": "GoogleCloudDatacatalogV1beta1Tag"
                          },
                          "id": "datacatalog.projects.locations.entryGroups.entries.tags.patch",
                          "parameters": {
                            "name": {
                              "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$",
                              "type": "string",
                              "location": "path",
                              "description": "Identifier. 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.",
                              "required": true
                            },
                            "updateMask": {
                              "description": "Note: Currently, this parameter can only take `\"fields\"` as value. Names of fields whose values to overwrite on a tag. Currently, a tag has the only modifiable field with the name `fields`. In general, if this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.",
                              "type": "string",
                              "location": "query",
                              "format": "google-fieldmask"
                            }
                          }
                        },
                        "delete": {
                          "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags/{tagsId}",
                          "id": "datacatalog.projects.locations.entryGroups.entries.tags.delete",
                          "parameters": {
                            "name": {
                              "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$",
                              "type": "string",
                              "description": "Required. The name of the tag to delete. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}",
                              "required": true,
                              "location": "path"
                            }
                          },
                          "response": {
                            "$ref": "Empty"
                          },
                          "path": "v1beta1/{+name}",
                          "deprecated": true,
                          "description": "Deletes a tag.",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "httpMethod": "DELETE",
                          "parameterOrder": [
                            "name"
                          ]
                        }
                      },
                      "deprecated": true
                    }
                  }
                },
                "tags": {
                  "methods": {
                    "list": {
                      "path": "v1beta1/{+parent}/tags",
                      "deprecated": true,
                      "description": "Lists tags assigned to an Entry. The columns in the response are lowercased.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "httpMethod": "GET",
                      "parameterOrder": [
                        "parent"
                      ],
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags",
                      "id": "datacatalog.projects.locations.entryGroups.tags.list",
                      "parameters": {
                        "parent": {
                          "description": "Required. The name of the Data Catalog resource to list the tags of. The resource could be an Entry or an EntryGroup. Examples: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
                          "required": true,
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                          "type": "string"
                        },
                        "pageSize": {
                          "location": "query",
                          "format": "int32",
                          "description": "The maximum number of tags to return. Default is 10. Max limit is 1000.",
                          "type": "integer"
                        },
                        "pageToken": {
                          "location": "query",
                          "description": "Token that specifies which page is requested. If empty, the first page is returned.",
                          "type": "string"
                        }
                      },
                      "response": {
                        "$ref": "GoogleCloudDatacatalogV1beta1ListTagsResponse"
                      }
                    },
                    "create": {
                      "response": {
                        "$ref": "GoogleCloudDatacatalogV1beta1Tag"
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags",
                      "request": {
                        "$ref": "GoogleCloudDatacatalogV1beta1Tag"
                      },
                      "id": "datacatalog.projects.locations.entryGroups.tags.create",
                      "parameters": {
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                          "type": "string",
                          "location": "path",
                          "description": "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.",
                          "required": true
                        }
                      },
                      "httpMethod": "POST",
                      "parameterOrder": [
                        "parent"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Creates a tag on an Entry. Note: The project identified by the `parent` parameter for the [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be from the same organization.",
                      "path": "v1beta1/{+parent}/tags",
                      "deprecated": true
                    },
                    "patch": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "httpMethod": "PATCH",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1beta1/{+name}",
                      "deprecated": true,
                      "description": "Updates an existing tag.",
                      "response": {
                        "$ref": "GoogleCloudDatacatalogV1beta1Tag"
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags/{tagsId}",
                      "request": {
                        "$ref": "GoogleCloudDatacatalogV1beta1Tag"
                      },
                      "id": "datacatalog.projects.locations.entryGroups.tags.patch",
                      "parameters": {
                        "name": {
                          "description": "Identifier. 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.",
                          "required": true,
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$",
                          "type": "string"
                        },
                        "updateMask": {
                          "description": "Note: Currently, this parameter can only take `\"fields\"` as value. Names of fields whose values to overwrite on a tag. Currently, a tag has the only modifiable field with the name `fields`. In general, if this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.",
                          "type": "string",
                          "location": "query",
                          "format": "google-fieldmask"
                        }
                      }
                    },
                    "delete": {
                      "response": {
                        "$ref": "Empty"
                      },
                      "id": "datacatalog.projects.locations.entryGroups.tags.delete",
                      "parameters": {
                        "name": {
                          "location": "path",
                          "description": "Required. The name of the tag to delete. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$",
                          "type": "string"
                        }
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags/{tagsId}",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "DELETE",
                      "path": "v1beta1/{+name}",
                      "deprecated": true,
                      "description": "Deletes a tag."
                    }
                  },
                  "deprecated": true
                }
              }
            },
            "taxonomies": {
              "methods": {
                "get": {
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}",
                  "id": "datacatalog.projects.locations.taxonomies.get",
                  "parameters": {
                    "name": {
                      "description": "Required. Resource name of the requested taxonomy.",
                      "required": true,
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
                  },
                  "path": "v1beta1/{+name}",
                  "description": "Gets a taxonomy.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "GET",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "import": {
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "parent"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Imports all taxonomies and their policy tags to a project as new taxonomies. This method provides a bulk taxonomy / policy tag creation using nested proto structure.",
                  "path": "v1beta1/{+parent}/taxonomies:import",
                  "response": {
                    "$ref": "GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse"
                  },
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies:import",
                  "request": {
                    "$ref": "GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest"
                  },
                  "id": "datacatalog.projects.locations.taxonomies.import",
                  "parameters": {
                    "parent": {
                      "description": "Required. Resource name of project that the imported taxonomies will belong to.",
                      "required": true,
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string"
                    }
                  }
                },
                "setIamPolicy": {
                  "id": "datacatalog.projects.locations.taxonomies.setIamPolicy",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
                      "type": "string",
                      "location": "path",
                      "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "required": true
                    }
                  },
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}:setIamPolicy",
                  "request": {
                    "$ref": "SetIamPolicyRequest"
                  },
                  "response": {
                    "$ref": "Policy"
                  },
                  "path": "v1beta1/{+resource}:setIamPolicy",
                  "description": "Sets the IAM policy for a taxonomy or a policy tag.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "resource"
                  ],
                  "httpMethod": "POST"
                },
                "testIamPermissions": {
                  "parameterOrder": [
                    "resource"
                  ],
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Returns the permissions that a caller has on the specified taxonomy or policy tag.",
                  "path": "v1beta1/{+resource}:testIamPermissions",
                  "response": {
                    "$ref": "TestIamPermissionsResponse"
                  },
                  "id": "datacatalog.projects.locations.taxonomies.testIamPermissions",
                  "parameters": {
                    "resource": {
                      "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "required": true,
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
                      "type": "string"
                    }
                  },
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}:testIamPermissions",
                  "request": {
                    "$ref": "TestIamPermissionsRequest"
                  }
                },
                "create": {
                  "id": "datacatalog.projects.locations.taxonomies.create",
                  "parameters": {
                    "parent": {
                      "location": "path",
                      "description": "Required. Resource name of the project that the taxonomy will belong to.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string"
                    }
                  },
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies",
                  "request": {
                    "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
                  },
                  "response": {
                    "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
                  },
                  "path": "v1beta1/{+parent}/taxonomies",
                  "description": "Creates a taxonomy in the specified project.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "parent"
                  ],
                  "httpMethod": "POST"
                },
                "patch": {
                  "path": "v1beta1/{+name}",
                  "description": "Updates a taxonomy.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "PATCH",
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}",
                  "request": {
                    "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
                  },
                  "id": "datacatalog.projects.locations.taxonomies.patch",
                  "parameters": {
                    "name": {
                      "description": "Identifier. Resource name of this taxonomy, whose format is: \"projects/{project_number}/locations/{location_id}/taxonomies/{id}\".",
                      "required": true,
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
                      "type": "string"
                    },
                    "updateMask": {
                      "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If not set, defaults to all of the fields that are allowed to update.",
                      "type": "string",
                      "location": "query",
                      "format": "google-fieldmask"
                    }
                  },
                  "response": {
                    "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
                  }
                },
                "delete": {
                  "id": "datacatalog.projects.locations.taxonomies.delete",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "description": "Required. Resource name of the taxonomy to be deleted. All policy tags in this taxonomy will also be deleted.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
                      "type": "string"
                    }
                  },
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}",
                  "response": {
                    "$ref": "Empty"
                  },
                  "description": "Deletes a taxonomy. This operation will also delete all policy tags in this taxonomy along with their associated policies.",
                  "path": "v1beta1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "DELETE",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "getIamPolicy": {
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}:getIamPolicy",
                  "request": {
                    "$ref": "GetIamPolicyRequest"
                  },
                  "id": "datacatalog.projects.locations.taxonomies.getIamPolicy",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
                      "type": "string",
                      "location": "path",
                      "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "required": true
                    }
                  },
                  "response": {
                    "$ref": "Policy"
                  },
                  "path": "v1beta1/{+resource}:getIamPolicy",
                  "description": "Gets the IAM policy for a taxonomy or a policy tag.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "resource"
                  ]
                },
                "export": {
                  "response": {
                    "$ref": "GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse"
                  },
                  "id": "datacatalog.projects.locations.taxonomies.export",
                  "parameters": {
                    "serializedTaxonomies": {
                      "description": "Export taxonomies as serialized taxonomies.",
                      "type": "boolean",
                      "location": "query"
                    },
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string",
                      "description": "Required. Resource name of the project that taxonomies to be exported will share.",
                      "required": true,
                      "location": "path"
                    },
                    "taxonomies": {
                      "location": "query",
                      "repeated": true,
                      "description": "Required. Resource names of the taxonomies to be exported.",
                      "type": "string"
                    }
                  },
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies:export",
                  "parameterOrder": [
                    "parent"
                  ],
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Exports all taxonomies and their policy tags in a project. This method generates SerializedTaxonomy protos with nested policy tags that can be used as an input for future ImportTaxonomies calls.",
                  "path": "v1beta1/{+parent}/taxonomies:export"
                },
                "list": {
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies",
                  "id": "datacatalog.projects.locations.taxonomies.list",
                  "parameters": {
                    "filter": {
                      "description": "Supported field for filter is 'service' and value is 'dataplex'. Eg: service=dataplex.",
                      "type": "string",
                      "location": "query"
                    },
                    "pageToken": {
                      "description": "The next_page_token value returned from a previous list request, if any. If not set, defaults to an empty string.",
                      "type": "string",
                      "location": "query"
                    },
                    "pageSize": {
                      "description": "The maximum number of items to return. Must be a value between 1 and 1000. If not set, defaults to 50.",
                      "type": "integer",
                      "location": "query",
                      "format": "int32"
                    },
                    "parent": {
                      "location": "path",
                      "description": "Required. Resource name of the project to list the taxonomies of.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse"
                  },
                  "path": "v1beta1/{+parent}/taxonomies",
                  "description": "Lists all taxonomies in a project in a particular location that the caller has permission to view.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "GET",
                  "parameterOrder": [
                    "parent"
                  ]
                }
              },
              "resources": {
                "policyTags": {
                  "methods": {
                    "get": {
                      "description": "Gets a policy tag.",
                      "path": "v1beta1/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "GET",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "id": "datacatalog.projects.locations.taxonomies.policyTags.get",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
                          "type": "string",
                          "description": "Required. Resource name of the requested policy tag.",
                          "required": true,
                          "location": "path"
                        }
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}",
                      "response": {
                        "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
                      }
                    },
                    "setIamPolicy": {
                      "response": {
                        "$ref": "Policy"
                      },
                      "id": "datacatalog.projects.locations.taxonomies.policyTags.setIamPolicy",
                      "parameters": {
                        "resource": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
                          "type": "string",
                          "location": "path",
                          "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                          "required": true
                        }
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}:setIamPolicy",
                      "request": {
                        "$ref": "SetIamPolicyRequest"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "resource"
                      ],
                      "httpMethod": "POST",
                      "path": "v1beta1/{+resource}:setIamPolicy",
                      "description": "Sets the IAM policy for a taxonomy or a policy tag."
                    },
                    "testIamPermissions": {
                      "parameterOrder": [
                        "resource"
                      ],
                      "httpMethod": "POST",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Returns the permissions that a caller has on the specified taxonomy or policy tag.",
                      "path": "v1beta1/{+resource}:testIamPermissions",
                      "response": {
                        "$ref": "TestIamPermissionsResponse"
                      },
                      "id": "datacatalog.projects.locations.taxonomies.policyTags.testIamPermissions",
                      "parameters": {
                        "resource": {
                          "location": "path",
                          "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
                          "type": "string"
                        }
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}:testIamPermissions",
                      "request": {
                        "$ref": "TestIamPermissionsRequest"
                      }
                    },
                    "create": {
                      "id": "datacatalog.projects.locations.taxonomies.policyTags.create",
                      "parameters": {
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
                          "type": "string",
                          "description": "Required. Resource name of the taxonomy that the policy tag will belong to.",
                          "required": true,
                          "location": "path"
                        }
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags",
                      "request": {
                        "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
                      },
                      "response": {
                        "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
                      },
                      "description": "Creates a policy tag in the specified taxonomy.",
                      "path": "v1beta1/{+parent}/policyTags",
                      "parameterOrder": [
                        "parent"
                      ],
                      "httpMethod": "POST",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "patch": {
                      "path": "v1beta1/{+name}",
                      "description": "Updates a policy tag.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "httpMethod": "PATCH",
                      "parameterOrder": [
                        "name"
                      ],
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}",
                      "request": {
                        "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
                      },
                      "id": "datacatalog.projects.locations.taxonomies.policyTags.patch",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
                          "type": "string",
                          "location": "path",
                          "description": "Identifier. Resource name of this policy tag, whose format is: \"projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{id}\".",
                          "required": true
                        },
                        "updateMask": {
                          "location": "query",
                          "format": "google-fieldmask",
                          "description": "The update mask applies to the resource. Only display_name, description and parent_policy_tag can be updated and thus can be listed in the mask. If update_mask is not provided, all allowed fields (i.e. display_name, description and parent) will be updated. For more information including the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If not set, defaults to all of the fields that are allowed to update.",
                          "type": "string"
                        }
                      },
                      "response": {
                        "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
                      }
                    },
                    "delete": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "httpMethod": "DELETE",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1beta1/{+name}",
                      "description": "Deletes a policy tag. Also deletes all of its descendant policy tags.",
                      "response": {
                        "$ref": "Empty"
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}",
                      "id": "datacatalog.projects.locations.taxonomies.policyTags.delete",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
                          "type": "string",
                          "description": "Required. Resource name of the policy tag to be deleted. All of its descendant policy tags will also be deleted.",
                          "required": true,
                          "location": "path"
                        }
                      }
                    },
                    "getIamPolicy": {
                      "response": {
                        "$ref": "Policy"
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}:getIamPolicy",
                      "request": {
                        "$ref": "GetIamPolicyRequest"
                      },
                      "id": "datacatalog.projects.locations.taxonomies.policyTags.getIamPolicy",
                      "parameters": {
                        "resource": {
                          "location": "path",
                          "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
                          "type": "string"
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "httpMethod": "POST",
                      "parameterOrder": [
                        "resource"
                      ],
                      "path": "v1beta1/{+resource}:getIamPolicy",
                      "description": "Gets the IAM policy for a taxonomy or a policy tag."
                    },
                    "list": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "parent"
                      ],
                      "httpMethod": "GET",
                      "path": "v1beta1/{+parent}/policyTags",
                      "description": "Lists all policy tags in a taxonomy.",
                      "response": {
                        "$ref": "GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse"
                      },
                      "id": "datacatalog.projects.locations.taxonomies.policyTags.list",
                      "parameters": {
                        "pageToken": {
                          "description": "The next_page_token value returned from a previous List request, if any. If not set, defaults to an empty string.",
                          "type": "string",
                          "location": "query"
                        },
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
                          "type": "string",
                          "location": "path",
                          "description": "Required. Resource name of the taxonomy to list the policy tags of.",
                          "required": true
                        },
                        "pageSize": {
                          "description": "The maximum number of items to return. Must be a value between 1 and 1000. If not set, defaults to 50.",
                          "type": "integer",
                          "location": "query",
                          "format": "int32"
                        }
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags"
                    }
                  }
                }
              }
            },
            "tagTemplates": {
              "methods": {
                "setIamPolicy": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1beta1/{+resource}:setIamPolicy",
                  "deprecated": true,
                  "description": "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, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `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.",
                  "response": {
                    "$ref": "Policy"
                  },
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:setIamPolicy",
                  "request": {
                    "$ref": "SetIamPolicyRequest"
                  },
                  "id": "datacatalog.projects.locations.tagTemplates.setIamPolicy",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
                      "type": "string",
                      "location": "path",
                      "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "required": true
                    }
                  }
                },
                "testIamPermissions": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "resource"
                  ],
                  "httpMethod": "POST",
                  "path": "v1beta1/{+resource}:testIamPermissions",
                  "deprecated": true,
                  "description": "Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. A caller is not required to have Google IAM permission to make this request.",
                  "response": {
                    "$ref": "TestIamPermissionsResponse"
                  },
                  "id": "datacatalog.projects.locations.tagTemplates.testIamPermissions",
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
                      "type": "string"
                    }
                  },
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:testIamPermissions",
                  "request": {
                    "$ref": "TestIamPermissionsRequest"
                  }
                },
                "get": {
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}",
                  "id": "datacatalog.projects.locations.tagTemplates.get",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "description": "Required. The name of the tag template. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
                  },
                  "description": "Gets a tag template.",
                  "path": "v1beta1/{+name}",
                  "deprecated": true,
                  "httpMethod": "GET",
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "create": {
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "parent"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "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](https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                  "path": "v1beta1/{+parent}/tagTemplates",
                  "deprecated": true,
                  "response": {
                    "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
                  },
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates",
                  "request": {
                    "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
                  },
                  "id": "datacatalog.projects.locations.tagTemplates.create",
                  "parameters": {
                    "parent": {
                      "location": "path",
                      "description": "Required. The name of the project and the template location [region](https://cloud.google.com/data-catalog/docs/concepts/regions. Example: * projects/{project_id}/locations/us-central1",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string"
                    },
                    "tagTemplateId": {
                      "location": "query",
                      "description": "Required. The id of the tag template to create.",
                      "type": "string"
                    }
                  }
                },
                "patch": {
                  "id": "datacatalog.projects.locations.tagTemplates.patch",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
                      "type": "string",
                      "description": "Identifier. 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.",
                      "required": true,
                      "location": "path"
                    },
                    "updateMask": {
                      "location": "query",
                      "format": "google-fieldmask",
                      "description": "Names of fields whose values to overwrite on a tag template. Currently, only `display_name` can be overwritten. In general, if this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.",
                      "type": "string"
                    }
                  },
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}",
                  "request": {
                    "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
                  },
                  "response": {
                    "$ref": "GoogleCloudDatacatalogV1beta1TagTemplate"
                  },
                  "description": "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. Users should enable the Data Catalog API in the project identified by the `tag_template.name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                  "path": "v1beta1/{+name}",
                  "deprecated": true,
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "PATCH",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "delete": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "DELETE",
                  "path": "v1beta1/{+name}",
                  "deprecated": true,
                  "description": "Deletes a tag template and all tags using the template. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                  "response": {
                    "$ref": "Empty"
                  },
                  "id": "datacatalog.projects.locations.tagTemplates.delete",
                  "parameters": {
                    "name": {
                      "description": "Required. The name of the tag template to delete. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}",
                      "required": true,
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
                      "type": "string"
                    },
                    "force": {
                      "location": "query",
                      "description": "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.",
                      "type": "boolean"
                    }
                  },
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}"
                },
                "getIamPolicy": {
                  "description": "Gets the access control policy for a resource. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `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.",
                  "path": "v1beta1/{+resource}:getIamPolicy",
                  "deprecated": true,
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "resource"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:getIamPolicy",
                  "request": {
                    "$ref": "GetIamPolicyRequest"
                  },
                  "id": "datacatalog.projects.locations.tagTemplates.getIamPolicy",
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "Policy"
                  }
                }
              },
              "resources": {
                "fields": {
                  "methods": {
                    "create": {
                      "parameterOrder": [
                        "parent"
                      ],
                      "httpMethod": "POST",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "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](https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                      "path": "v1beta1/{+parent}/fields",
                      "deprecated": true,
                      "response": {
                        "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
                      },
                      "id": "datacatalog.projects.locations.tagTemplates.fields.create",
                      "parameters": {
                        "parent": {
                          "description": "Required. The name of the project and the template location [region](https://cloud.google.com/data-catalog/docs/concepts/regions). Example: * projects/{project_id}/locations/us-central1/tagTemplates/{tag_template_id}",
                          "required": true,
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
                          "type": "string"
                        },
                        "tagTemplateFieldId": {
                          "location": "query",
                          "description": "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 within their template.",
                          "type": "string"
                        }
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields",
                      "request": {
                        "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
                      }
                    },
                    "patch": {
                      "id": "datacatalog.projects.locations.tagTemplates.fields.patch",
                      "parameters": {
                        "updateMask": {
                          "location": "query",
                          "format": "google-fieldmask",
                          "description": "Optional. Names of fields whose values to overwrite on an individual field of a tag template. The following fields are modifiable: * `display_name` * `type.enum_type` * `is_required` If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied with one exception: when updating an enum type, the provided values are merged with the existing values. Therefore, enum values can only be added, existing enum values cannot be deleted or renamed. Additionally, updating a template field from optional to required is *not* allowed.",
                          "type": "string"
                        },
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
                          "type": "string",
                          "location": "path",
                          "description": "Required. The name of the tag template field. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
                          "required": true
                        }
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}",
                      "request": {
                        "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
                      },
                      "response": {
                        "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
                      },
                      "path": "v1beta1/{+name}",
                      "deprecated": true,
                      "description": "Updates a field in a tag template. This method cannot be used to update the field type. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "PATCH"
                    },
                    "rename": {
                      "description": "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](https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                      "path": "v1beta1/{+name}:rename",
                      "deprecated": true,
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "POST",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "id": "datacatalog.projects.locations.tagTemplates.fields.rename",
                      "parameters": {
                        "name": {
                          "description": "Required. The name of the tag template. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
                          "required": true,
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
                          "type": "string"
                        }
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}:rename",
                      "request": {
                        "$ref": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest"
                      },
                      "response": {
                        "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
                      }
                    },
                    "delete": {
                      "httpMethod": "DELETE",
                      "parameterOrder": [
                        "name"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Deletes a field in a tag template and all uses of that field. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                      "path": "v1beta1/{+name}",
                      "deprecated": true,
                      "response": {
                        "$ref": "Empty"
                      },
                      "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}",
                      "id": "datacatalog.projects.locations.tagTemplates.fields.delete",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
                          "type": "string",
                          "location": "path",
                          "description": "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}",
                          "required": true
                        },
                        "force": {
                          "location": "query",
                          "description": "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.",
                          "type": "boolean"
                        }
                      }
                    }
                  },
                  "resources": {
                    "enumValues": {
                      "methods": {
                        "rename": {
                          "httpMethod": "POST",
                          "parameterOrder": [
                            "name"
                          ],
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Renames an enum value in a tag template. The enum values have to be unique within one enum field. Thus, an enum value cannot be renamed with a name used in any other enum value within the same enum field.",
                          "path": "v1beta1/{+name}:rename",
                          "deprecated": true,
                          "response": {
                            "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
                          },
                          "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}/enumValues/{enumValuesId}:rename",
                          "request": {
                            "$ref": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest"
                          },
                          "id": "datacatalog.projects.locations.tagTemplates.fields.enumValues.rename",
                          "parameters": {
                            "name": {
                              "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+/enumValues/[^/]+$",
                              "type": "string",
                              "description": "Required. The name of the enum field value. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}/enumValues/{enum_value_display_name}",
                              "required": true,
                              "location": "path"
                            }
                          }
                        }
                      },
                      "deprecated": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "entries": {
      "deprecated": true,
      "methods": {
        "lookup": {
          "response": {
            "$ref": "GoogleCloudDatacatalogV1beta1Entry"
          },
          "id": "datacatalog.entries.lookup",
          "parameters": {
            "linkedResource": {
              "location": "query",
              "description": "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. Full names are case-sensitive. Examples: * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId * //pubsub.googleapis.com/projects/projectId/topics/topicId",
              "type": "string"
            },
            "sqlResource": {
              "location": "query",
              "description": "The SQL name of the entry. SQL names are case-sensitive. Examples: * `pubsub.project_id.topic_id` * ``pubsub.project_id.`topic.id.with.dots` `` * `bigquery.table.project_id.dataset_id.table_id` * `bigquery.dataset.project_id.dataset_id` * `datacatalog.entry.project_id.location_id.entry_group_id.entry_id` `*_id`s should satisfy the GoogleSQL rules for identifiers. https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.",
              "type": "string"
            }
          },
          "flatPath": "v1beta1/entries:lookup",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "parameterOrder": [],
          "httpMethod": "GET",
          "path": "v1beta1/entries:lookup",
          "deprecated": true,
          "description": "Get an entry by target resource name. This method allows clients to use the resource name from the source Google Cloud Platform service to get the Data Catalog Entry."
        }
      }
    }
  },
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
        }
      }
    }
  },
  "revision": "20260506",
  "name": "datacatalog",
  "fullyEncodeReservedExpansion": true,
  "documentationLink": "https://cloud.google.com/data-catalog/docs/",
  "description": "A fully managed and highly scalable data discovery and metadata management service. ",
  "version": "v1beta1",
  "version_module": true,
  "ownerName": "Google",
  "servicePath": "",
  "title": "Google Cloud Data Catalog API",
  "rootUrl": "https://datacatalog.googleapis.com/",
  "baseUrl": "https://datacatalog.googleapis.com/",
  "schemas": {
    "GoogleCloudDatacatalogV1CloudBigtableInstanceSpecCloudBigtableClusterSpec": {
      "description": "Spec that applies to clusters of an Instance of Cloud Bigtable.",
      "type": "object",
      "properties": {
        "type": {
          "description": "Type of the resource. For a cluster this would be \"CLUSTER\".",
          "type": "string"
        },
        "displayName": {
          "description": "Name of the cluster.",
          "type": "string"
        },
        "location": {
          "description": "Location of the cluster, typically a Cloud zone.",
          "type": "string"
        },
        "linkedResource": {
          "description": "A link back to the parent resource, in this case Instance.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1CloudBigtableInstanceSpecCloudBigtableClusterSpec"
    },
    "GoogleCloudDatacatalogV1GcsFileSpec": {
      "properties": {
        "gcsTimestamps": {
          "description": "Output only. Creation, modification, and expiration timestamps of a Cloud Storage file.",
          "readOnly": true,
          "$ref": "GoogleCloudDatacatalogV1SystemTimestamps"
        },
        "filePath": {
          "description": "Required. Full file path. Example: `gs://bucket_name/a/b.txt`.",
          "type": "string"
        },
        "sizeBytes": {
          "format": "int64",
          "description": "Output only. File size in bytes.",
          "type": "string",
          "readOnly": true
        }
      },
      "id": "GoogleCloudDatacatalogV1GcsFileSpec",
      "description": "Specification of a single file in Cloud Storage.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1PhysicalSchemaOrcSchema": {
      "properties": {},
      "id": "GoogleCloudDatacatalogV1PhysicalSchemaOrcSchema",
      "description": "Marks an ORC-encoded data source.",
      "type": "object"
    },
    "Policy": {
      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
      "type": "object",
      "properties": {
        "version": {
          "format": "int32",
          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
          "type": "integer"
        },
        "bindings": {
          "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.",
          "type": "array",
          "items": {
            "$ref": "Binding"
          }
        },
        "etag": {
          "format": "byte",
          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
          "type": "string"
        }
      },
      "id": "Policy"
    },
    "GoogleCloudDatacatalogV1beta1TaxonomyService": {
      "id": "GoogleCloudDatacatalogV1beta1TaxonomyService",
      "properties": {
        "name": {
          "enum": [
            "MANAGING_SYSTEM_UNSPECIFIED",
            "MANAGING_SYSTEM_DATAPLEX",
            "MANAGING_SYSTEM_OTHER"
          ],
          "enumDescriptions": [
            "Default value",
            "Dataplex Universal Catalog.",
            "Other"
          ],
          "description": "The Google Cloud service name.",
          "type": "string"
        },
        "identity": {
          "description": "The service agent for the service.",
          "type": "string"
        }
      },
      "description": "The source system of the Taxonomy.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1SpannerTableSpecSpannerForeignKey": {
      "id": "GoogleCloudDatacatalogV1SpannerTableSpecSpannerForeignKey",
      "properties": {
        "name": {
          "readOnly": true,
          "description": "Output only. The constraint_name of the foreign key, for example, FK_CustomerOrder.",
          "type": "string"
        },
        "entry": {
          "readOnly": true,
          "description": "Output only. The table name this foreign key referenced to. Format: `projects/{PROJECT_ID}/locations/{LOCATION}/entryGroups/{ENTRY_GROUP_ID}/entries/{ENTRY_ID}`",
          "type": "string"
        },
        "columnMappings": {
          "description": "Output only. The ordered list of column mappings for this foreign key.",
          "type": "array",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDatacatalogV1SpannerTableSpecSpannerForeignKeyForeignKeyColumnMapping"
          }
        }
      },
      "description": "Specification of a Spanner foreign key.",
      "type": "object"
    },
    "GetIamPolicyRequest": {
      "properties": {
        "options": {
          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.",
          "$ref": "GetPolicyOptions"
        }
      },
      "id": "GetIamPolicyRequest",
      "description": "Request message for `GetIamPolicy` method.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest": {
      "id": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest",
      "properties": {
        "newEnumValueDisplayName": {
          "description": "Required. The new display name of the enum value. For example, `my_new_enum_value`.",
          "type": "string"
        }
      },
      "description": "Request message for RenameTagTemplateFieldEnumValue.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1GraphSpec": {
      "description": "Specification that applies to a graph.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1GraphSpec",
      "properties": {
        "name": {
          "readOnly": true,
          "description": "Output only. Fully qualified graph name. e.g. `named_catalog.MyGraph`",
          "type": "string"
        },
        "nodeTables": {
          "description": "Required. Node tables of the graph.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogV1GraphSpecGraphElementTable"
          }
        },
        "edgeTables": {
          "items": {
            "$ref": "GoogleCloudDatacatalogV1GraphSpecGraphElementTable"
          },
          "description": "Optional. Edge tables of the graph.",
          "type": "array"
        }
      }
    },
    "Empty": {
      "properties": {},
      "id": "Empty",
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1SpannerTableSpec": {
      "properties": {
        "foreignKeys": {
          "description": "Output only. The foreign keys of the table.",
          "type": "array",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDatacatalogV1SpannerTableSpecSpannerForeignKey"
          }
        },
        "primaryKey": {
          "$ref": "GoogleCloudDatacatalogV1SpannerTableSpecSpannerPrimaryKey",
          "description": "Output only. The primary key of the table.",
          "readOnly": true
        }
      },
      "id": "GoogleCloudDatacatalogV1SpannerTableSpec",
      "description": "Specification of a Spanner table.",
      "type": "object"
    },
    "Binding": {
      "properties": {
        "role": {
          "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).",
          "type": "string"
        },
        "members": {
          "items": {
            "type": "string"
          },
          "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.",
          "type": "array"
        },
        "condition": {
          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
          "$ref": "Expr"
        }
      },
      "id": "Binding",
      "description": "Associates `members`, or principals, with a `role`.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1SqlDatabaseSystemSpec": {
      "description": "Specification that applies to entries that are part `SQL_DATABASE` system (user_specified_type)",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1SqlDatabaseSystemSpec",
      "properties": {
        "sqlEngine": {
          "description": "SQL Database Engine. enum SqlEngine { UNDEFINED = 0; MY_SQL = 1; POSTGRE_SQL = 2; SQL_SERVER = 3; } Engine of the enclosing database instance.",
          "type": "string"
        },
        "databaseVersion": {
          "description": "Version of the database engine.",
          "type": "string"
        },
        "instanceHost": {
          "description": "Host of the SQL database enum InstanceHost { UNDEFINED = 0; SELF_HOSTED = 1; CLOUD_SQL = 2; AMAZON_RDS = 3; AZURE_SQL = 4; } Host of the enclousing database instance.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDatacatalogV1UsageStats": {
      "description": "Detailed statistics on the entry's usage. Usage statistics have the following limitations: - Only BigQuery tables have them. - They only include BigQuery query jobs. - They might be underestimated because wildcard table references are not yet counted. For more information, see [Querying multiple tables using a wildcard table] (https://cloud.google.com/bigquery/docs/querying-wildcard-tables)",
      "type": "object",
      "properties": {
        "totalCancellations": {
          "description": "The number of cancelled attempts to use the underlying entry.",
          "type": "number",
          "format": "float"
        },
        "totalFailures": {
          "format": "float",
          "description": "The number of failed attempts to use the underlying entry.",
          "type": "number"
        },
        "totalCompletions": {
          "format": "float",
          "description": "The number of successful uses of the underlying entry.",
          "type": "number"
        },
        "totalExecutionTimeForCompletionsMillis": {
          "description": "Total time spent only on successful uses, in milliseconds.",
          "type": "number",
          "format": "float"
        }
      },
      "id": "GoogleCloudDatacatalogV1UsageStats"
    },
    "GoogleCloudDatacatalogV1Contacts": {
      "description": "Contact people for the entry.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1Contacts",
      "properties": {
        "people": {
          "description": "The list of contact people for the entry.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogV1ContactsPerson"
          }
        }
      }
    },
    "GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse": {
      "properties": {
        "nextPageToken": {
          "description": "Token used to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        },
        "policyTags": {
          "description": "The policy tags that are in the requested taxonomy.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogV1beta1PolicyTag"
          }
        }
      },
      "id": "GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse",
      "description": "Response message for ListPolicyTags.",
      "type": "object"
    },
    "Expr": {
      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
      "type": "object",
      "properties": {
        "description": {
          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
          "type": "string"
        },
        "expression": {
          "description": "Textual representation of an expression in Common Expression Language syntax.",
          "type": "string"
        },
        "title": {
          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
          "type": "string"
        },
        "location": {
          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
          "type": "string"
        }
      },
      "id": "Expr"
    },
    "GoogleCloudDatacatalogV1PhysicalSchemaParquetSchema": {
      "description": "Marks a Parquet-encoded data source.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1PhysicalSchemaParquetSchema",
      "properties": {}
    },
    "GoogleCloudDatacatalogV1beta1Schema": {
      "id": "GoogleCloudDatacatalogV1beta1Schema",
      "properties": {
        "columns": {
          "items": {
            "$ref": "GoogleCloudDatacatalogV1beta1ColumnSchema"
          },
          "description": "Required. Schema of columns. A maximum of 10,000 columns and sub-columns can be specified.",
          "type": "array"
        }
      },
      "description": "Represents a schema (e.g. BigQuery, GoogleSQL, Avro schema).",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest": {
      "id": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest",
      "properties": {
        "newTagTemplateFieldId": {
          "description": "Required. The new ID of this tag template field. For example, `my_new_field`.",
          "type": "string"
        }
      },
      "description": "Request message for RenameTagTemplateField.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1TagField": {
      "properties": {
        "displayName": {
          "description": "Output only. The display name of this field.",
          "type": "string",
          "readOnly": true
        },
        "enumValue": {
          "description": "Holds the value for a tag field with enum type. This value must be one of the allowed values in the definition of this enum.",
          "$ref": "GoogleCloudDatacatalogV1beta1TagFieldEnumValue"
        },
        "stringValue": {
          "description": "Holds the value for a tag field with string type.",
          "type": "string"
        },
        "timestampValue": {
          "description": "Holds the value for a tag field with timestamp type.",
          "type": "string",
          "format": "google-datetime"
        },
        "boolValue": {
          "description": "Holds the value for a tag field with boolean type.",
          "type": "boolean"
        },
        "order": {
          "readOnly": true,
          "description": "Output only. The order of this field with respect to other fields in this tag. It can be set in Tag. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential.",
          "type": "integer",
          "format": "int32"
        },
        "doubleValue": {
          "format": "double",
          "description": "Holds the value for a tag field with double type.",
          "type": "number"
        }
      },
      "id": "GoogleCloudDatacatalogV1beta1TagField",
      "description": "Contains the value and supporting information for a field within a Tag.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1VertexModelSourceInfo": {
      "description": "Detail description of the source information of a Vertex model.",
      "type": "object",
      "properties": {
        "sourceType": {
          "enumDescriptions": [
            "Should not be used.",
            "The Model is uploaded by automl training pipeline.",
            "The Model is uploaded by user or custom training pipeline.",
            "The Model is registered and sync'ed from BigQuery ML.",
            "The Model is saved or tuned from Model Garden.",
            "The Model is saved or tuned from Genie.",
            "The Model is uploaded by text embedding finetuning pipeline.",
            "The Model is saved or tuned from Marketplace."
          ],
          "description": "Type of the model source.",
          "type": "string",
          "enum": [
            "MODEL_SOURCE_TYPE_UNSPECIFIED",
            "AUTOML",
            "CUSTOM",
            "BQML",
            "MODEL_GARDEN",
            "GENIE",
            "CUSTOM_TEXT_EMBEDDING",
            "MARKETPLACE"
          ]
        },
        "copy": {
          "description": "If this Model is copy of another Model. If true then source_type pertains to the original.",
          "type": "boolean"
        }
      },
      "id": "GoogleCloudDatacatalogV1VertexModelSourceInfo"
    },
    "GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec": {
      "id": "GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec",
      "properties": {
        "tablePrefix": {
          "description": "Output only. The table name prefix of the shards. The name of any given shard is `[table_prefix]YYYYMMDD`, for example, for shard `MyTable20180101`, the `table_prefix` is `MyTable`.",
          "type": "string",
          "readOnly": true
        },
        "dataset": {
          "description": "Output only. The Data Catalog resource name of the dataset entry the current table belongs to, for example, `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.",
          "type": "string",
          "readOnly": true
        },
        "shardCount": {
          "description": "Output only. Total number of shards.",
          "type": "string",
          "readOnly": true,
          "format": "int64"
        }
      },
      "description": "Spec for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`. Context: https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1SerializedTaxonomy": {
      "description": "Message capturing a taxonomy and its policy tag hierarchy as a nested proto. Used for taxonomy import/export and mutation.",
      "type": "object",
      "properties": {
        "description": {
          "description": "Description of the serialized taxonomy. The length of the description is limited to 2000 bytes when encoded in UTF-8. If not set, defaults to an empty description.",
          "type": "string"
        },
        "policyTags": {
          "description": "Top level policy tags associated with the taxonomy if any.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogV1beta1SerializedPolicyTag"
          }
        },
        "displayName": {
          "description": "Required. Display name of the taxonomy. Max 200 bytes when encoded in UTF-8.",
          "type": "string"
        },
        "activatedPolicyTypes": {
          "items": {
            "enum": [
              "POLICY_TYPE_UNSPECIFIED",
              "FINE_GRAINED_ACCESS_CONTROL"
            ],
            "type": "string",
            "enumDescriptions": [
              "Unspecified policy type.",
              "Fine grained access control policy, which enables access control on tagged resources."
            ]
          },
          "description": "A list of policy types that are activated for a taxonomy.",
          "type": "array"
        }
      },
      "id": "GoogleCloudDatacatalogV1beta1SerializedTaxonomy"
    },
    "GoogleCloudDatacatalogV1ServiceSpec": {
      "properties": {
        "cloudBigtableInstanceSpec": {
          "description": "Specification that applies to Instance entries of `CLOUD_BIGTABLE` system.",
          "$ref": "GoogleCloudDatacatalogV1CloudBigtableInstanceSpec"
        }
      },
      "id": "GoogleCloudDatacatalogV1ServiceSpec",
      "description": "Specification that applies to a Service resource. Valid only for entries with the `SERVICE` type.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1ContactsPerson": {
      "description": "A contact person for the entry.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1ContactsPerson",
      "properties": {
        "designation": {
          "description": "Designation of the person, for example, Data Steward.",
          "type": "string"
        },
        "email": {
          "description": "Email of the person in the format of `john.doe@xyz`, ``, or `John Doe`.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDatacatalogV1LookerSystemSpec": {
      "id": "GoogleCloudDatacatalogV1LookerSystemSpec",
      "properties": {
        "parentViewDisplayName": {
          "description": "Name of the parent View. Empty if it does not exist.",
          "type": "string"
        },
        "parentInstanceDisplayName": {
          "description": "Name of the parent Looker Instance. Empty if it does not exist.",
          "type": "string"
        },
        "parentInstanceId": {
          "description": "ID of the parent Looker Instance. Empty if it does not exist. Example value: `someinstance.looker.com`",
          "type": "string"
        },
        "parentViewId": {
          "description": "ID of the parent View. Empty if it does not exist.",
          "type": "string"
        },
        "parentModelId": {
          "description": "ID of the parent Model. Empty if it does not exist.",
          "type": "string"
        },
        "parentModelDisplayName": {
          "description": "Name of the parent Model. Empty if it does not exist.",
          "type": "string"
        }
      },
      "description": "Specification that applies to entries that are part `LOOKER` system (user_specified_type)",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1UsageStats": {
      "id": "GoogleCloudDatacatalogV1beta1UsageStats",
      "properties": {
        "totalFailures": {
          "description": "The number of times that the underlying entry was attempted to be used but failed.",
          "type": "number",
          "format": "float"
        },
        "totalCancellations": {
          "format": "float",
          "description": "The number of times that the underlying entry was attempted to be used but was cancelled by the user.",
          "type": "number"
        },
        "totalExecutionTimeForCompletionsMillis": {
          "format": "float",
          "description": "Total time spent (in milliseconds) during uses the resulted in completions.",
          "type": "number"
        },
        "totalCompletions": {
          "format": "float",
          "description": "The number of times that the underlying entry was successfully used.",
          "type": "number"
        }
      },
      "description": "Detailed counts on the entry's usage. Caveats: - Only BigQuery tables have usage stats - The usage stats only include BigQuery query jobs - The usage stats might be underestimated, e.g. wildcard table references are not yet counted in usage computation https://cloud.google.com/bigquery/docs/querying-wildcard-tables",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1DataSource": {
      "description": "Physical location of an entry.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1DataSource",
      "properties": {
        "sourceEntry": {
          "readOnly": true,
          "description": "Output only. Data Catalog entry name, if applicable.",
          "type": "string"
        },
        "storageProperties": {
          "description": "Detailed properties of the underlying storage.",
          "$ref": "GoogleCloudDatacatalogV1StorageProperties"
        },
        "service": {
          "enum": [
            "SERVICE_UNSPECIFIED",
            "CLOUD_STORAGE",
            "BIGQUERY"
          ],
          "description": "Service that physically stores the data.",
          "type": "string",
          "enumDescriptions": [
            "Default unknown service.",
            "Google Cloud Storage service.",
            "BigQuery service."
          ]
        },
        "resource": {
          "description": "Full name of a resource as defined by the service. For example: `//bigquery.googleapis.com/projects/{PROJECT_ID}/locations/{LOCATION}/datasets/{DATASET_ID}/tables/{TABLE_ID}`",
          "type": "string"
        }
      }
    },
    "GoogleCloudDatacatalogV1beta1GcsFileSpec": {
      "properties": {
        "filePath": {
          "description": "Required. The full file path. Example: `gs://bucket_name/a/b.txt`.",
          "type": "string"
        },
        "sizeBytes": {
          "description": "Output only. The size of the file, in bytes.",
          "type": "string",
          "readOnly": true,
          "format": "int64"
        },
        "gcsTimestamps": {
          "$ref": "GoogleCloudDatacatalogV1beta1SystemTimestamps",
          "description": "Output only. Timestamps about the Cloud Storage file.",
          "readOnly": true
        }
      },
      "id": "GoogleCloudDatacatalogV1beta1GcsFileSpec",
      "description": "Specifications of a single file in Cloud Storage.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1ListTagsResponse": {
      "description": "Response message for ListTags.",
      "type": "object",
      "properties": {
        "tags": {
          "items": {
            "$ref": "GoogleCloudDatacatalogV1beta1Tag"
          },
          "description": "Tag details.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results. It is set to empty if no items remain in results.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1beta1ListTagsResponse"
    },
    "TestIamPermissionsResponse": {
      "id": "TestIamPermissionsResponse",
      "properties": {
        "permissions": {
          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "description": "Response message for `TestIamPermissions` method.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1GcsFilesetSpec": {
      "description": "Describes a Cloud Storage fileset entry.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1GcsFilesetSpec",
      "properties": {
        "filePatterns": {
          "items": {
            "type": "string"
          },
          "description": "Required. Patterns to identify a set of files in Google Cloud Storage. For more information, see [Wildcard Names] (https://cloud.google.com/storage/docs/wildcards). Note: Currently, bucket wildcards are not supported. Examples of valid `file_patterns`: * `gs://bucket_name/dir/*`: matches all files in `bucket_name/dir` directory * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir` and all subdirectories * `gs://bucket_name/file*`: matches files prefixed by `file` in `bucket_name` * `gs://bucket_name/??.txt`: matches files with two characters followed by `.txt` in `bucket_name` * `gs://bucket_name/[aeiou].txt`: matches files that contain a single vowel character followed by `.txt` in `bucket_name` * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ... or `m` followed by `.txt` in `bucket_name` * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match the `a/*/b` pattern, such as `a/c/b`, `a/d/b` * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt` You can combine wildcards to match complex sets of files, for example: `gs://bucket_name/[a-m]??.j*g`",
          "type": "array"
        },
        "sampleGcsFileSpecs": {
          "description": "Output only. Sample files contained in this fileset, not all files contained in this fileset are represented here.",
          "type": "array",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDatacatalogV1GcsFileSpec"
          }
        }
      }
    },
    "GoogleCloudDatacatalogV1beta1Taxonomy": {
      "properties": {
        "displayName": {
          "description": "Required. User defined name of this taxonomy. It must: contain only unicode letters, numbers, underscores, dashes and spaces; not start or end with spaces; and be at most 200 bytes long when encoded in UTF-8. The taxonomy display name must be unique within an organization.",
          "type": "string"
        },
        "policyTagCount": {
          "format": "int32",
          "description": "Output only. Number of policy tags contained in this taxonomy.",
          "type": "integer",
          "readOnly": true
        },
        "activatedPolicyTypes": {
          "description": "Optional. A list of policy types that are activated for this taxonomy. If not set, defaults to an empty list.",
          "type": "array",
          "items": {
            "enum": [
              "POLICY_TYPE_UNSPECIFIED",
              "FINE_GRAINED_ACCESS_CONTROL"
            ],
            "enumDescriptions": [
              "Unspecified policy type.",
              "Fine grained access control policy, which enables access control on tagged resources."
            ],
            "type": "string"
          }
        },
        "taxonomyTimestamps": {
          "description": "Output only. Timestamps about this taxonomy. Only create_time and update_time are used.",
          "readOnly": true,
          "$ref": "GoogleCloudDatacatalogV1beta1SystemTimestamps"
        },
        "description": {
          "description": "Optional. Description of this taxonomy. It must: contain only unicode characters, tabs, newlines, carriage returns and page breaks; and be at most 2000 bytes long when encoded in UTF-8. If not set, defaults to an empty description.",
          "type": "string"
        },
        "service": {
          "$ref": "GoogleCloudDatacatalogV1beta1TaxonomyService",
          "description": "Output only. Identity of the service which owns the Taxonomy. This field is only populated when the taxonomy is created by a Google Cloud service. Currently only 'DATAPLEX' is supported.",
          "readOnly": true
        },
        "name": {
          "description": "Identifier. Resource name of this taxonomy, whose format is: \"projects/{project_number}/locations/{location_id}/taxonomies/{id}\".",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1beta1Taxonomy",
      "description": "A taxonomy is a collection of policy tags that classify data along a common axis. For instance a data *sensitivity* taxonomy could contain policy tags denoting PII such as age, zipcode, and SSN. A data *origin* taxonomy could contain policy tags to distinguish user data, employee data, partner data, public data.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1DumpItem": {
      "description": "Wrapper for any item that can be contained in the dump.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1DumpItem",
      "properties": {
        "taggedEntry": {
          "description": "Entry and its tags.",
          "$ref": "GoogleCloudDatacatalogV1TaggedEntry"
        }
      }
    },
    "GoogleCloudDatacatalogV1beta1Entry": {
      "description": "Entry Metadata. A Data Catalog Entry resource represents another resource in Google Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic), or outside of Google Cloud Platform. 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.",
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "ENTRY_TYPE_UNSPECIFIED",
            "TABLE",
            "MODEL",
            "DATA_STREAM",
            "FILESET"
          ],
          "description": "The type of the entry. Only used for Entries with types in the EntryType enum.",
          "type": "string",
          "enumDescriptions": [
            "Default unknown type.",
            "Output only. The type of entry that has a GoogleSQL schema, including logical views.",
            "Output only. The type of models. https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro",
            "Output only. An entry type which is used for streaming entries. Example: Pub/Sub topic.",
            "An entry type which is a set of files or objects. Example: Cloud Storage fileset."
          ]
        },
        "sourceSystemTimestamps": {
          "$ref": "GoogleCloudDatacatalogV1beta1SystemTimestamps",
          "readOnly": true,
          "description": "Output only. Timestamps about the underlying resource, not about this Data Catalog entry. Output only when Entry is of type in the EntryType enum. For entries with user_specified_type, this field is optional and defaults to an empty timestamp."
        },
        "displayName": {
          "description": "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.",
          "type": "string"
        },
        "description": {
          "description": "Entry description, which can consist of several sentences or paragraphs that describe entry contents. Default value is an empty string.",
          "type": "string"
        },
        "schema": {
          "description": "Schema of the entry. An entry might not have any schema attached to it.",
          "$ref": "GoogleCloudDatacatalogV1beta1Schema"
        },
        "integratedSystem": {
          "description": "Output only. This field indicates the entry's source system that Data Catalog integrates with, such as BigQuery or Pub/Sub.",
          "enumDescriptions": [
            "Default unknown system.",
            "BigQuery.",
            "Cloud Pub/Sub."
          ],
          "enum": [
            "INTEGRATED_SYSTEM_UNSPECIFIED",
            "BIGQUERY",
            "CLOUD_PUBSUB"
          ],
          "type": "string",
          "readOnly": true
        },
        "name": {
          "description": "Output only. Identifier. 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.",
          "type": "string",
          "readOnly": true
        },
        "userSpecifiedSystem": {
          "description": "This field indicates the entry's source system that Data Catalog does not integrate with. `user_specified_system` strings must begin with a letter or underscore and can only contain letters, numbers, and underscores; are case insensitive; must be at least 1 character and at most 64 characters long.",
          "type": "string"
        },
        "linkedResource": {
          "description": "The resource this metadata entry refers to. 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 Output only when Entry is of type in the EntryType enum. For entries with user_specified_type, this field is optional and defaults to an empty string.",
          "type": "string"
        },
        "bigqueryTableSpec": {
          "description": "Specification that applies to a BigQuery table. This is only valid on entries of type `TABLE`.",
          "$ref": "GoogleCloudDatacatalogV1beta1BigQueryTableSpec"
        },
        "gcsFilesetSpec": {
          "description": "Specification that applies to a Cloud Storage fileset. This is only valid on entries of type FILESET.",
          "$ref": "GoogleCloudDatacatalogV1beta1GcsFilesetSpec"
        },
        "usageSignal": {
          "description": "Output only. Statistics on the usage level of the resource.",
          "readOnly": true,
          "$ref": "GoogleCloudDatacatalogV1beta1UsageSignal"
        },
        "bigqueryDateShardedSpec": {
          "description": "Specification for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`. Context: https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding.",
          "$ref": "GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec"
        },
        "userSpecifiedType": {
          "description": "Entry type if it does not fit any of the input-allowed values listed in `EntryType` enum above. When creating an entry, users should check the enum values first, if nothing matches the entry to be created, then provide a custom value, for example \"my_special_type\". `user_specified_type` strings must begin with a letter or underscore and can only contain letters, numbers, and underscores; are case insensitive; must be at least 1 character and at most 64 characters long. Currently, only FILESET enum value is allowed. All other entries created through Data Catalog must use `user_specified_type`.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1beta1Entry"
    },
    "GoogleCloudDatacatalogV1BigQueryConnectionSpec": {
      "properties": {
        "hasCredential": {
          "description": "True if there are credentials attached to the BigQuery connection; false otherwise.",
          "type": "boolean"
        },
        "connectionType": {
          "enum": [
            "CONNECTION_TYPE_UNSPECIFIED",
            "CLOUD_SQL"
          ],
          "enumDescriptions": [
            "Unspecified type.",
            "Cloud SQL connection."
          ],
          "description": "The type of the BigQuery connection.",
          "type": "string"
        },
        "cloudSql": {
          "description": "Specification for the BigQuery connection to a Cloud SQL instance.",
          "$ref": "GoogleCloudDatacatalogV1CloudSqlBigQueryConnectionSpec"
        }
      },
      "id": "GoogleCloudDatacatalogV1BigQueryConnectionSpec",
      "description": "Specification for the BigQuery connection.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1SearchCatalogRequest": {
      "id": "GoogleCloudDatacatalogV1beta1SearchCatalogRequest",
      "properties": {
        "scope": {
          "description": "Required. The scope of this search request. A `scope` that has empty `include_org_ids`, `include_project_ids` AND false `include_gcp_public_datasets` is considered invalid. Data Catalog will return an error in such a case.",
          "$ref": "GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope"
        },
        "orderBy": {
          "description": "Specifies the ordering of results, currently supported case-sensitive choices are: * `relevance`, only supports descending * `last_modified_timestamp [asc|desc]`, defaults to descending if not specified * `default` that can only be descending If not specified, defaults to `relevance` descending.",
          "type": "string"
        },
        "query": {
          "description": "Optional. The query string in search query syntax. An empty query string will result in all data assets (in the specified scope) that the user has access to. Query strings can be simple as \"x\" or more qualified as: * name:x * column:x * description:y Note: Query tokens need to have a minimum of 3 characters for substring matching to work correctly. See [Data Catalog Search Syntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference) for more information.",
          "type": "string"
        },
        "pageSize": {
          "description": "Number of results in the search page. If \u003c=0 then defaults to 10. Max limit for page_size is 1000. Throws an invalid argument for page_size \u003e 1000.",
          "type": "integer",
          "format": "int32"
        },
        "pageToken": {
          "description": "Optional. Pagination token returned in an earlier SearchCatalogResponse.next_page_token, which indicates that this is a continuation of a prior SearchCatalogRequest call, and that the system should return the next page of data. If empty, the first page is returned.",
          "type": "string"
        }
      },
      "description": "Request message for SearchCatalog.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1InlineSource": {
      "description": "Inline source used for taxonomies import.",
      "type": "object",
      "properties": {
        "taxonomies": {
          "items": {
            "$ref": "GoogleCloudDatacatalogV1beta1SerializedTaxonomy"
          },
          "description": "Required. Taxonomies to be imported.",
          "type": "array"
        }
      },
      "id": "GoogleCloudDatacatalogV1beta1InlineSource"
    },
    "GoogleCloudDatacatalogV1GraphSpecGraphElementTable": {
      "properties": {
        "destinationNodeReference": {
          "description": "Optional. The destination node reference of the edge.",
          "$ref": "GoogleCloudDatacatalogV1GraphSpecGraphElementTableGraphNodeReference"
        },
        "elementKeys": {
          "description": "Required. The name of the keys of the elements in the table.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "dynamicLabelColumn": {
          "description": "Optional. If set, this is the input column for dynamic label in schemaless data model.",
          "type": "string"
        },
        "sourceNodeReference": {
          "description": "Optional. The source node reference of the edge.",
          "$ref": "GoogleCloudDatacatalogV1GraphSpecGraphElementTableGraphNodeReference"
        },
        "alias": {
          "description": "Required. The alias name of the graph element.",
          "type": "string"
        },
        "inputSource": {
          "enum": [
            "INPUT_SOURCE_UNSPECIFIED",
            "TABLE",
            "VIEW"
          ],
          "enumDescriptions": [
            "Default unknown input source.",
            "Table input source.",
            "View input source."
          ],
          "description": "Required. The input source of the graph element.",
          "type": "string"
        },
        "labelAndProperties": {
          "description": "Required. The labels and their properties for the graph element.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogV1GraphSpecGraphElementTableLabelAndProperties"
          }
        },
        "dynamicPropertiesColumn": {
          "description": "Optional. If set, this is the input column for dynamic properties in schemaless data model.",
          "type": "string"
        },
        "dataSource": {
          "description": "Required. The name of the data source. This is either a table name or a view name that is used for graph element input source. E.g. `Person` table or `PersonView` view.",
          "type": "string"
        },
        "kind": {
          "enum": [
            "KIND_UNSPECIFIED",
            "NODE",
            "EDGE"
          ],
          "enumDescriptions": [
            "Default unknown kind.",
            "Node kind.",
            "Edge kind."
          ],
          "description": "Required. The kind of the graph element.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1GraphSpecGraphElementTable",
      "description": "Element table definition.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1BusinessContext": {
      "description": "Business Context of the entry.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1BusinessContext",
      "properties": {
        "entryOverview": {
          "description": "Entry overview fields for rich text descriptions of entries.",
          "$ref": "GoogleCloudDatacatalogV1EntryOverview"
        },
        "contacts": {
          "description": "Contact people for the entry.",
          "$ref": "GoogleCloudDatacatalogV1Contacts"
        }
      }
    },
    "GoogleCloudDatacatalogV1ColumnSchemaLookerColumnSpec": {
      "properties": {
        "type": {
          "enum": [
            "LOOKER_COLUMN_TYPE_UNSPECIFIED",
            "DIMENSION",
            "DIMENSION_GROUP",
            "FILTER",
            "MEASURE",
            "PARAMETER"
          ],
          "enumDescriptions": [
            "Unspecified.",
            "Dimension.",
            "Dimension group - parent for Dimension.",
            "Filter.",
            "Measure.",
            "Parameter."
          ],
          "description": "Looker specific column type of this column.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1ColumnSchemaLookerColumnSpec",
      "description": "Column info specific to Looker System.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1CloudBigtableSystemSpec": {
      "properties": {
        "instanceDisplayName": {
          "description": "Display name of the Instance. This is user specified and different from the resource name.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1CloudBigtableSystemSpec",
      "description": "Specification that applies to all entries that are part of `CLOUD_BIGTABLE` system (user_specified_type)",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1SearchCatalogResult": {
      "id": "GoogleCloudDatacatalogV1beta1SearchCatalogResult",
      "properties": {
        "searchResultSubtype": {
          "description": "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`.",
          "type": "string"
        },
        "relativeResourceName": {
          "description": "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}`",
          "type": "string"
        },
        "linkedResource": {
          "description": "The full name of the cloud resource the entry belongs to. See: https://cloud.google.com/apis/design/resource_names#full_resource_name. Example: * `//bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId`",
          "type": "string"
        },
        "searchResultType": {
          "enum": [
            "SEARCH_RESULT_TYPE_UNSPECIFIED",
            "ENTRY",
            "TAG_TEMPLATE",
            "ENTRY_GROUP"
          ],
          "enumDescriptions": [
            "Default unknown type.",
            "An Entry.",
            "A TagTemplate.",
            "An EntryGroup."
          ],
          "description": "Type of the search result. This field can be used to determine which Get method to call to fetch the full resource.",
          "type": "string"
        },
        "modifyTime": {
          "format": "google-datetime",
          "description": "Last-modified timestamp of the entry from the managing system.",
          "type": "string"
        }
      },
      "description": "A result that appears in the response of a search request. Each result captures details of one entry that matches the search.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse": {
      "description": "Response message for ImportTaxonomies.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse",
      "properties": {
        "taxonomies": {
          "description": "Taxonomies that were imported.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
          }
        }
      }
    },
    "GoogleCloudDatacatalogV1Tag": {
      "properties": {
        "column": {
          "description": "Resources like entry can have schemas associated with them. This scope allows you to attach tags to an individual column based on that schema. To attach a tag to a nested column, separate column names with a dot (`.`). Example: `column.nested_column`.",
          "type": "string"
        },
        "dataplexTransferStatus": {
          "type": "string",
          "readOnly": true,
          "enum": [
            "DATAPLEX_TRANSFER_STATUS_UNSPECIFIED",
            "MIGRATED",
            "TRANSFERRED"
          ],
          "description": "Output only. Denotes the transfer status of the Tag Template.",
          "enumDescriptions": [
            "Default value. TagTemplate and its tags are only visible and editable in Data Catalog.",
            "TagTemplate and its tags are auto-copied to Dataplex Universal Catalog service. Visible in both services. Editable in Data Catalog, read-only in Dataplex Universal Catalog. Deprecated: Individual TagTemplate migration is deprecated in favor of organization or project wide TagTemplate migration opt-in.",
            "TagTemplate and its tags are auto-copied to Dataplex Universal Catalog service. Visible in both services. Editable in Dataplex Universal Catalog, read-only in Data Catalog."
          ],
          "enumDeprecated": [
            false,
            true,
            false
          ]
        },
        "fields": {
          "additionalProperties": {
            "$ref": "GoogleCloudDatacatalogV1TagField"
          },
          "description": "Required. Maps the ID of a tag field to its value and additional information about that field. Tag template defines valid field IDs. A tag must have at least 1 field and at most 500 fields.",
          "type": "object"
        },
        "templateDisplayName": {
          "description": "Output only. The display name of the tag template.",
          "type": "string",
          "readOnly": true
        },
        "name": {
          "description": "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.",
          "type": "string"
        },
        "template": {
          "description": "Required. The resource name of the tag template this tag uses. Example: `projects/{PROJECT_ID}/locations/{LOCATION}/tagTemplates/{TAG_TEMPLATE_ID}` This field cannot be modified after creation.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1Tag",
      "description": "Tags contain custom metadata and are attached to Data Catalog resources. Tags conform with the specification of their tag template. See [Data Catalog IAM](https://cloud.google.com/data-catalog/docs/concepts/iam) for information on the permissions needed to create or view tags.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1CloudBigtableInstanceSpec": {
      "description": "Specification that applies to Instance entries that are part of `CLOUD_BIGTABLE` system. (user_specified_type)",
      "type": "object",
      "properties": {
        "cloudBigtableClusterSpecs": {
          "items": {
            "$ref": "GoogleCloudDatacatalogV1CloudBigtableInstanceSpecCloudBigtableClusterSpec"
          },
          "description": "The list of clusters for the Instance.",
          "type": "array"
        }
      },
      "id": "GoogleCloudDatacatalogV1CloudBigtableInstanceSpec"
    },
    "GoogleCloudDatacatalogV1ModelSpec": {
      "id": "GoogleCloudDatacatalogV1ModelSpec",
      "properties": {
        "vertexModelSpec": {
          "description": "Specification for vertex model resources.",
          "$ref": "GoogleCloudDatacatalogV1VertexModelSpec"
        }
      },
      "description": "Specification that applies to a model. Valid only for entries with the `MODEL` type.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1FieldType": {
      "properties": {
        "enumType": {
          "description": "Represents an enum type.",
          "$ref": "GoogleCloudDatacatalogV1beta1FieldTypeEnumType"
        },
        "primitiveType": {
          "description": "Represents primitive types - string, bool etc.",
          "type": "string",
          "enumDescriptions": [
            "This is the default invalid value for a type.",
            "A double precision number.",
            "An UTF-8 string.",
            "A boolean value.",
            "A timestamp."
          ],
          "enum": [
            "PRIMITIVE_TYPE_UNSPECIFIED",
            "DOUBLE",
            "STRING",
            "BOOL",
            "TIMESTAMP"
          ]
        }
      },
      "id": "GoogleCloudDatacatalogV1beta1FieldType",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1BigQueryTableSpec": {
      "description": "Describes a BigQuery table.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1BigQueryTableSpec",
      "properties": {
        "tableSourceType": {
          "type": "string",
          "readOnly": true,
          "enum": [
            "TABLE_SOURCE_TYPE_UNSPECIFIED",
            "BIGQUERY_VIEW",
            "BIGQUERY_TABLE",
            "BIGQUERY_MATERIALIZED_VIEW"
          ],
          "description": "Output only. The table source type.",
          "enumDescriptions": [
            "Default unknown type.",
            "Table view.",
            "BigQuery native table.",
            "BigQuery materialized view."
          ]
        },
        "viewSpec": {
          "description": "Table view specification. Populated only if the `table_source_type` is `BIGQUERY_VIEW`.",
          "$ref": "GoogleCloudDatacatalogV1ViewSpec"
        },
        "tableSpec": {
          "description": "Specification of a BigQuery table. Populated only if the `table_source_type` is `BIGQUERY_TABLE`.",
          "$ref": "GoogleCloudDatacatalogV1TableSpec"
        }
      }
    },
    "GoogleCloudDatacatalogV1PhysicalSchema": {
      "properties": {
        "protobuf": {
          "description": "Schema in protocol buffer format.",
          "$ref": "GoogleCloudDatacatalogV1PhysicalSchemaProtobufSchema"
        },
        "orc": {
          "description": "Marks an ORC-encoded data source.",
          "$ref": "GoogleCloudDatacatalogV1PhysicalSchemaOrcSchema"
        },
        "thrift": {
          "description": "Schema in Thrift format.",
          "$ref": "GoogleCloudDatacatalogV1PhysicalSchemaThriftSchema"
        },
        "avro": {
          "description": "Schema in Avro JSON format.",
          "$ref": "GoogleCloudDatacatalogV1PhysicalSchemaAvroSchema"
        },
        "csv": {
          "description": "Marks a CSV-encoded data source.",
          "$ref": "GoogleCloudDatacatalogV1PhysicalSchemaCsvSchema"
        },
        "parquet": {
          "description": "Marks a Parquet-encoded data source.",
          "$ref": "GoogleCloudDatacatalogV1PhysicalSchemaParquetSchema"
        }
      },
      "id": "GoogleCloudDatacatalogV1PhysicalSchema",
      "description": "Native schema used by a resource represented as an entry. Used by query engines for deserializing and parsing source data.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1RoutineSpec": {
      "description": "Specification that applies to a routine. Valid only for entries with the `ROUTINE` type.",
      "type": "object",
      "properties": {
        "bigqueryRoutineSpec": {
          "description": "Fields specific for BigQuery routines.",
          "$ref": "GoogleCloudDatacatalogV1BigQueryRoutineSpec"
        },
        "returnType": {
          "description": "Return type of the argument. The exact value depends on the source system and the language.",
          "type": "string"
        },
        "definitionBody": {
          "description": "The body of the routine.",
          "type": "string"
        },
        "routineArguments": {
          "items": {
            "$ref": "GoogleCloudDatacatalogV1RoutineSpecArgument"
          },
          "description": "Arguments of the routine.",
          "type": "array"
        },
        "routineType": {
          "enum": [
            "ROUTINE_TYPE_UNSPECIFIED",
            "SCALAR_FUNCTION",
            "PROCEDURE"
          ],
          "enumDescriptions": [
            "Unspecified type.",
            "Non-builtin permanent scalar function.",
            "Stored procedure."
          ],
          "description": "The type of the routine.",
          "type": "string"
        },
        "language": {
          "description": "The language the routine is written in. The exact value depends on the source system. For BigQuery routines, possible values are: * `SQL` * `JAVASCRIPT`",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1RoutineSpec"
    },
    "GoogleCloudDatacatalogV1beta1TableSpec": {
      "properties": {
        "groupedEntry": {
          "description": "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.",
          "type": "string",
          "readOnly": true
        }
      },
      "id": "GoogleCloudDatacatalogV1beta1TableSpec",
      "description": "Normal BigQuery table spec.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1FilesetSpec": {
      "description": "Specification that applies to a fileset. Valid only for entries with the 'FILESET' type.",
      "type": "object",
      "properties": {
        "dataplexFileset": {
          "description": "Fields specific to a Dataplex Universal Catalog fileset and present only in the Dataplex Universal Catalog fileset entries.",
          "$ref": "GoogleCloudDatacatalogV1DataplexFilesetSpec"
        }
      },
      "id": "GoogleCloudDatacatalogV1FilesetSpec"
    },
    "GoogleCloudDatacatalogV1DataplexTableSpec": {
      "id": "GoogleCloudDatacatalogV1DataplexTableSpec",
      "properties": {
        "externalTables": {
          "items": {
            "$ref": "GoogleCloudDatacatalogV1DataplexExternalTable"
          },
          "description": "List of external tables registered by Dataplex Universal Catalog in other systems based on the same underlying data. External tables allow to query this data in those systems.",
          "type": "array"
        },
        "dataplexSpec": {
          "description": "Common Dataplex Universal Catalog fields.",
          "$ref": "GoogleCloudDatacatalogV1DataplexSpec"
        },
        "userManaged": {
          "description": "Indicates if the table schema is managed by the user or not.",
          "type": "boolean"
        }
      },
      "description": "Entry specification for a Dataplex Universal Catalog table.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse": {
      "description": "Response message for ExportTaxonomies.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse",
      "properties": {
        "taxonomies": {
          "description": "List of taxonomies and policy tags in a tree structure.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogV1beta1SerializedTaxonomy"
          }
        }
      }
    },
    "GoogleCloudDatacatalogV1GraphSpecGraphElementTableProperty": {
      "properties": {
        "name": {
          "description": "Required. Property name.",
          "type": "string"
        },
        "type": {
          "description": "Required. Property data type.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1GraphSpecGraphElementTableProperty",
      "description": "A property declaration.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1EntryGroup": {
      "id": "GoogleCloudDatacatalogV1beta1EntryGroup",
      "properties": {
        "displayName": {
          "description": "A short name to identify the entry group, for example, \"analytics data - jan 2011\". Default value is an empty string.",
          "type": "string"
        },
        "dataCatalogTimestamps": {
          "description": "Output only. Timestamps about this EntryGroup. Default value is empty timestamps.",
          "readOnly": true,
          "$ref": "GoogleCloudDatacatalogV1beta1SystemTimestamps"
        },
        "name": {
          "description": "Identifier. 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.",
          "type": "string"
        },
        "description": {
          "description": "Entry group description, which can consist of several sentences or paragraphs that describe entry group contents. Default value is an empty string.",
          "type": "string"
        }
      },
      "description": "EntryGroup Metadata. An EntryGroup resource represents a logical grouping of zero or more Data Catalog Entry resources.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1RoutineSpecArgument": {
      "properties": {
        "name": {
          "description": "The name of the argument. A return argument of a function might not have a name.",
          "type": "string"
        },
        "mode": {
          "enum": [
            "MODE_UNSPECIFIED",
            "IN",
            "OUT",
            "INOUT"
          ],
          "enumDescriptions": [
            "Unspecified mode.",
            "The argument is input-only.",
            "The argument is output-only.",
            "The argument is both an input and an output."
          ],
          "description": "Specifies whether the argument is input or output.",
          "type": "string"
        },
        "type": {
          "description": "Type of the argument. The exact value depends on the source system and the language.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1RoutineSpecArgument",
      "description": "Input or output argument of a function or stored procedure.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1ImportEntriesMetadata": {
      "properties": {
        "state": {
          "enum": [
            "IMPORT_STATE_UNSPECIFIED",
            "IMPORT_QUEUED",
            "IMPORT_IN_PROGRESS",
            "IMPORT_DONE",
            "IMPORT_OBSOLETE"
          ],
          "enumDescriptions": [
            "Default value. This value is unused.",
            "The dump with entries has been queued for import.",
            "The import of entries is in progress.",
            "The import of entries has been finished.",
            "The import of entries has been abandoned in favor of a newer request."
          ],
          "description": "State of the import operation.",
          "type": "string"
        },
        "errors": {
          "items": {
            "$ref": "Status"
          },
          "description": "Partial errors that are encountered during the ImportEntries operation. There is no guarantee that all the encountered errors are reported. However, if no errors are reported, it means that no errors were encountered.",
          "type": "array"
        }
      },
      "id": "GoogleCloudDatacatalogV1ImportEntriesMetadata",
      "description": "Metadata message for long-running operation returned by the ImportEntries.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1DataplexExternalTable": {
      "properties": {
        "fullyQualifiedName": {
          "description": "Fully qualified name (FQN) of the external table.",
          "type": "string"
        },
        "googleCloudResource": {
          "description": "Google Cloud resource name of the external table.",
          "type": "string"
        },
        "system": {
          "description": "Service in which the external table is registered.",
          "type": "string",
          "enumDescriptions": [
            "Default unknown system.",
            "BigQuery.",
            "Cloud Pub/Sub.",
            "Dataproc Metastore.",
            "Dataplex Universal Catalog.",
            "Cloud Spanner",
            "Cloud Bigtable",
            "Cloud Sql",
            "Looker",
            "Vertex AI"
          ],
          "enum": [
            "INTEGRATED_SYSTEM_UNSPECIFIED",
            "BIGQUERY",
            "CLOUD_PUBSUB",
            "DATAPROC_METASTORE",
            "DATAPLEX",
            "CLOUD_SPANNER",
            "CLOUD_BIGTABLE",
            "CLOUD_SQL",
            "LOOKER",
            "VERTEX_AI"
          ]
        },
        "dataCatalogEntry": {
          "description": "Name of the Data Catalog entry representing the external table.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1DataplexExternalTable",
      "description": "External table registered by Dataplex Universal Catalog. Dataplex Universal Catalog publishes data discovered from an asset into multiple other systems (BigQuery, DPMS) in form of tables. We call them \"external tables\". External tables are also synced into the Data Catalog. This message contains pointers to those external tables (fully qualified name, resource name et cetera) within the Data Catalog.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse": {
      "description": "Response message for ListEntryGroups.",
      "type": "object",
      "properties": {
        "entryGroups": {
          "description": "EntryGroup details.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogV1beta1EntryGroup"
          }
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results. It is set to empty if no items remain in results.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse"
    },
    "GoogleCloudDatacatalogV1Entry": {
      "properties": {
        "bigqueryTableSpec": {
          "description": "Output only. Specification that applies to a BigQuery table. Valid only for entries with the `TABLE` type.",
          "readOnly": true,
          "$ref": "GoogleCloudDatacatalogV1BigQueryTableSpec"
        },
        "integratedSystem": {
          "type": "string",
          "readOnly": true,
          "enum": [
            "INTEGRATED_SYSTEM_UNSPECIFIED",
            "BIGQUERY",
            "CLOUD_PUBSUB",
            "DATAPROC_METASTORE",
            "DATAPLEX",
            "CLOUD_SPANNER",
            "CLOUD_BIGTABLE",
            "CLOUD_SQL",
            "LOOKER",
            "VERTEX_AI"
          ],
          "description": "Output only. Indicates the entry's source system that Data Catalog integrates with, such as BigQuery, Pub/Sub, or Dataproc Metastore.",
          "enumDescriptions": [
            "Default unknown system.",
            "BigQuery.",
            "Cloud Pub/Sub.",
            "Dataproc Metastore.",
            "Dataplex Universal Catalog.",
            "Cloud Spanner",
            "Cloud Bigtable",
            "Cloud Sql",
            "Looker",
            "Vertex AI"
          ]
        },
        "name": {
          "readOnly": true,
          "description": "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.",
          "type": "string"
        },
        "displayName": {
          "description": "Display name of an entry. The maximum size is 500 bytes when encoded in UTF-8. Default value is an empty string.",
          "type": "string"
        },
        "dataSourceConnectionSpec": {
          "description": "Specification that applies to a data source connection. Valid only for entries with the `DATA_SOURCE_CONNECTION` type.",
          "$ref": "GoogleCloudDatacatalogV1DataSourceConnectionSpec"
        },
        "description": {
          "description": "Entry description that can consist of several sentences or paragraphs that describe entry contents. The description must not contain Unicode non-characters as well as C0 and C1 control codes except tabs (HT), new lines (LF), carriage returns (CR), and page breaks (FF). The maximum size is 2000 bytes when encoded in UTF-8. Default value is an empty string.",
          "type": "string"
        },
        "databaseTableSpec": {
          "description": "Specification that applies to a table resource. Valid only for entries with the `TABLE` or `EXPLORE` type.",
          "$ref": "GoogleCloudDatacatalogV1DatabaseTableSpec"
        },
        "businessContext": {
          "description": "Business Context of the entry. Not supported for BigQuery datasets",
          "$ref": "GoogleCloudDatacatalogV1BusinessContext"
        },
        "personalDetails": {
          "description": "Output only. Additional information related to the entry. Private to the current user.",
          "readOnly": true,
          "$ref": "GoogleCloudDatacatalogV1PersonalDetails"
        },
        "type": {
          "enum": [
            "ENTRY_TYPE_UNSPECIFIED",
            "TABLE",
            "MODEL",
            "DATA_STREAM",
            "FILESET",
            "CLUSTER",
            "DATABASE",
            "DATA_SOURCE_CONNECTION",
            "ROUTINE",
            "LAKE",
            "ZONE",
            "SERVICE",
            "DATABASE_SCHEMA",
            "DASHBOARD",
            "EXPLORE",
            "LOOK",
            "FEATURE_ONLINE_STORE",
            "FEATURE_VIEW",
            "FEATURE_GROUP",
            "GRAPH"
          ],
          "description": "The type of the entry. For details, see [`EntryType`](#entrytype).",
          "type": "string",
          "enumDescriptions": [
            "Default unknown type.",
            "The entry type that has a GoogleSQL schema, including logical views.",
            "The type of models. For more information, see [Supported models in BigQuery ML](/bigquery/docs/bqml-introduction#supported_models).",
            "An entry type for streaming entries. For example, a Pub/Sub topic.",
            "An entry type for a set of files or objects. For example, a Cloud Storage fileset.",
            "A group of servers that work together. For example, a Kafka cluster.",
            "A database.",
            "Connection to a data source. For example, a BigQuery connection.",
            "Routine, for example, a BigQuery routine.",
            "A Dataplex Universal Catalog lake.",
            "A Dataplex Universal Catalog zone.",
            "A service, for example, a Dataproc Metastore service.",
            "Schema within a relational database.",
            "A Dashboard, for example from Looker.",
            "A Looker Explore. For more information, see [Looker Explore API] (https://developers.looker.com/api/explorer/4.0/methods/LookmlModel/lookml_model_explore).",
            "A Looker Look. For more information, see [Looker Look API] (https://developers.looker.com/api/explorer/4.0/methods/Look).",
            "Feature Online Store resource in Vertex AI Feature Store.",
            "Feature View resource in Vertex AI Feature Store.",
            "Feature Group resource in Vertex AI Feature Store.",
            "An entry type for a graph."
          ]
        },
        "userSpecifiedType": {
          "description": "Custom entry type that doesn't match any of the values allowed for input and listed in the `EntryType` enum. When creating an entry, first check the type values in the enum. If there are no appropriate types for the new entry, provide a custom value, for example, `my_special_type`. The `user_specified_type` string has the following limitations: * Is case insensitive. * Must begin with a letter or underscore. * Can only contain letters, numbers, and underscores. * Must be at least 1 character and at most 64 characters long.",
          "type": "string"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Cloud labels attached to the entry. In Data Catalog, you can create and modify labels attached only to custom entries. Synced entries have unmodifiable labels that come from the source system.",
          "type": "object"
        },
        "dataSource": {
          "description": "Output only. Physical location of the entry.",
          "readOnly": true,
          "$ref": "GoogleCloudDatacatalogV1DataSource"
        },
        "usageSignal": {
          "description": "Resource usage statistics.",
          "$ref": "GoogleCloudDatacatalogV1UsageSignal"
        },
        "cloudBigtableSystemSpec": {
          "description": "Specification that applies to Cloud Bigtable system. Only settable when `integrated_system` is equal to `CLOUD_BIGTABLE`",
          "$ref": "GoogleCloudDatacatalogV1CloudBigtableSystemSpec"
        },
        "sqlDatabaseSystemSpec": {
          "description": "Specification that applies to a relational database system. Only settable when `user_specified_system` is equal to `SQL_DATABASE`",
          "$ref": "GoogleCloudDatacatalogV1SqlDatabaseSystemSpec"
        },
        "modelSpec": {
          "description": "Model specification.",
          "$ref": "GoogleCloudDatacatalogV1ModelSpec"
        },
        "linkedResource": {
          "description": "The resource this metadata entry refers to. For Google Cloud Platform resources, `linked_resource` is the [Full Resource Name] (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/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{TABLE_ID}` Output only when the entry is one of the types in the `EntryType` enum. For entries with a `user_specified_type`, this field is optional and defaults to an empty string. The resource string must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), periods (.), colons (:), slashes (/), dashes (-), and hashes (#). The maximum size is 200 bytes when encoded in UTF-8.",
          "type": "string"
        },
        "graphSpec": {
          "description": "Spec for graph.",
          "$ref": "GoogleCloudDatacatalogV1GraphSpec"
        },
        "userSpecifiedSystem": {
          "description": "Indicates the entry's source system that Data Catalog doesn't automatically integrate with. The `user_specified_system` string has the following limitations: * Is case insensitive. * Must begin with a letter or underscore. * Can only contain letters, numbers, and underscores. * Must be at least 1 character and at most 64 characters long.",
          "type": "string"
        },
        "routineSpec": {
          "description": "Specification that applies to a user-defined function or procedure. Valid only for entries with the `ROUTINE` type.",
          "$ref": "GoogleCloudDatacatalogV1RoutineSpec"
        },
        "filesetSpec": {
          "description": "Specification that applies to a fileset resource. Valid only for entries with the `FILESET` type.",
          "$ref": "GoogleCloudDatacatalogV1FilesetSpec"
        },
        "schema": {
          "description": "Schema of the entry. An entry might not have any schema attached to it.",
          "$ref": "GoogleCloudDatacatalogV1Schema"
        },
        "sourceSystemTimestamps": {
          "description": "Timestamps from the underlying resource, not from the Data Catalog entry. Output only when the entry has a system listed in the `IntegratedSystem` enum. For entries with `user_specified_system`, this field is optional and defaults to an empty timestamp.",
          "$ref": "GoogleCloudDatacatalogV1SystemTimestamps"
        },
        "lookerSystemSpec": {
          "description": "Specification that applies to Looker sysstem. Only settable when `user_specified_system` is equal to `LOOKER`",
          "$ref": "GoogleCloudDatacatalogV1LookerSystemSpec"
        },
        "fullyQualifiedName": {
          "description": "[Fully Qualified Name (FQN)](https://cloud.google.com//data-catalog/docs/fully-qualified-names) of the resource. Set automatically for entries representing resources from synced systems. Settable only during creation, and read-only later. Can be used for search and lookup of the entries. ",
          "type": "string"
        },
        "bigqueryDateShardedSpec": {
          "$ref": "GoogleCloudDatacatalogV1BigQueryDateShardedSpec",
          "readOnly": true,
          "description": "Output only. Specification for a group of BigQuery tables with the `[prefix]YYYYMMDD` name pattern. For more information, see [Introduction to partitioned tables] (https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding)."
        },
        "spannerTableSpec": {
          "description": "Specification of a Spanner table.",
          "$ref": "GoogleCloudDatacatalogV1SpannerTableSpec"
        },
        "datasetSpec": {
          "description": "Specification that applies to a dataset.",
          "$ref": "GoogleCloudDatacatalogV1DatasetSpec"
        },
        "featureOnlineStoreSpec": {
          "description": "FeatureonlineStore spec for Vertex AI Feature Store.",
          "$ref": "GoogleCloudDatacatalogV1FeatureOnlineStoreSpec"
        },
        "gcsFilesetSpec": {
          "description": "Specification that applies to a Cloud Storage fileset. Valid only for entries with the `FILESET` type.",
          "$ref": "GoogleCloudDatacatalogV1GcsFilesetSpec"
        },
        "serviceSpec": {
          "description": "Specification that applies to a Service resource.",
          "$ref": "GoogleCloudDatacatalogV1ServiceSpec"
        }
      },
      "id": "GoogleCloudDatacatalogV1Entry",
      "description": "Entry metadata. A Data Catalog entry represents another resource in Google Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic) or outside of it. You 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, for example, its schema. Additionally, you can attach flexible metadata to an entry in the form of a Tag.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1SystemTimestamps": {
      "id": "GoogleCloudDatacatalogV1SystemTimestamps",
      "properties": {
        "createTime": {
          "description": "Creation timestamp of the resource within the given system.",
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Timestamp of the last modification of the resource or its metadata within a given system. Note: Depending on the source system, not every modification updates this timestamp. For example, BigQuery timestamps every metadata modification but not data or permission changes.",
          "type": "string",
          "format": "google-datetime"
        },
        "expireTime": {
          "description": "Output only. Expiration timestamp of the resource within the given system. Currently only applicable to BigQuery resources.",
          "type": "string",
          "readOnly": true,
          "format": "google-datetime"
        }
      },
      "description": "Timestamps associated with this resource in a particular system.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1BigQueryRoutineSpec": {
      "properties": {
        "importedLibraries": {
          "items": {
            "type": "string"
          },
          "description": "Paths of the imported libraries.",
          "type": "array"
        }
      },
      "id": "GoogleCloudDatacatalogV1BigQueryRoutineSpec",
      "description": "Fields specific for BigQuery routines.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1ImportEntriesResponse": {
      "properties": {
        "deletedEntriesCount": {
          "description": "Number of entries deleted as a result of import operation.",
          "type": "string",
          "format": "int64"
        },
        "upsertedEntriesCount": {
          "format": "int64",
          "description": "Cumulative number of entries created and entries updated as a result of import operation.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1ImportEntriesResponse",
      "description": "Response message for long-running operation returned by the ImportEntries.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1StorageProperties": {
      "properties": {
        "filePattern": {
          "items": {
            "type": "string"
          },
          "description": "Patterns to identify a set of files for this fileset. Examples of a valid `file_pattern`: * `gs://bucket_name/dir/*`: matches all files in the `bucket_name/dir` directory * `gs://bucket_name/dir/**`: matches all files in the `bucket_name/dir` and all subdirectories recursively * `gs://bucket_name/file*`: matches files prefixed by `file` in `bucket_name` * `gs://bucket_name/??.txt`: matches files with two characters followed by `.txt` in `bucket_name` * `gs://bucket_name/[aeiou].txt`: matches files that contain a single vowel character followed by `.txt` in `bucket_name` * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ... or `m` followed by `.txt` in `bucket_name` * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match the `a/*/b` pattern, such as `a/c/b`, `a/d/b` * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt`",
          "type": "array"
        },
        "fileType": {
          "description": "File type in MIME format, for example, `text/plain`.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1StorageProperties",
      "description": "Details the properties of the underlying storage.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope": {
      "description": "The criteria that select the subspace used for query matching.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope",
      "properties": {
        "includeGcpPublicDatasets": {
          "description": "If `true`, include Google Cloud public datasets in the search results. Info on Google Cloud public datasets is available at https://cloud.google.com/public-datasets/. By default, Google Cloud public datasets are excluded.",
          "type": "boolean"
        },
        "restrictedLocations": {
          "items": {
            "type": "string"
          },
          "description": "Optional. The list of locations to search within. 1. If empty, search will be performed in all locations; 2. If any of the locations are NOT in the valid locations list, error will be returned; 3. Otherwise, search only the given locations for matching results. Typical usage is to leave this field empty. When a location is unreachable as returned in the `SearchCatalogResponse.unreachable` field, users can repeat the search request with this parameter set to get additional information on the error. Valid locations: * asia-east1 * asia-east2 * asia-northeast1 * asia-northeast2 * asia-northeast3 * asia-south1 * asia-southeast1 * australia-southeast1 * eu * europe-north1 * europe-west1 * europe-west2 * europe-west3 * europe-west4 * europe-west6 * global * northamerica-northeast1 * southamerica-east1 * us * us-central1 * us-east1 * us-east4 * us-west1 * us-west2",
          "type": "array"
        },
        "includeOrgIds": {
          "description": "The 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.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "includeProjectIds": {
          "items": {
            "type": "string"
          },
          "description": "The 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.",
          "type": "array"
        }
      }
    },
    "GoogleCloudDatacatalogV1SpannerTableSpecSpannerPrimaryKey": {
      "id": "GoogleCloudDatacatalogV1SpannerTableSpecSpannerPrimaryKey",
      "properties": {
        "columns": {
          "description": "Output only. Column names of the primary key.",
          "type": "array",
          "readOnly": true,
          "items": {
            "type": "string"
          }
        }
      },
      "description": "Specification of a Spanner primary key.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1SystemTimestamps": {
      "id": "GoogleCloudDatacatalogV1beta1SystemTimestamps",
      "properties": {
        "expireTime": {
          "description": "Output only. The expiration time of the resource within the given system. Currently only apllicable to BigQuery resources.",
          "type": "string",
          "readOnly": true,
          "format": "google-datetime"
        },
        "createTime": {
          "format": "google-datetime",
          "description": "The creation time of the resource within the given system.",
          "type": "string"
        },
        "updateTime": {
          "format": "google-datetime",
          "description": "The last-modified time of the resource within the given system.",
          "type": "string"
        }
      },
      "description": "Timestamps about this resource according to a particular system.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1ViewSpec": {
      "description": "Table view specification.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1beta1ViewSpec",
      "properties": {
        "viewQuery": {
          "description": "Output only. The query that defines the table view.",
          "type": "string",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDatacatalogV1DataplexSpec": {
      "description": "Common Dataplex Universal Catalog fields.",
      "type": "object",
      "properties": {
        "asset": {
          "description": "Fully qualified resource name of an asset in Dataplex Universal Catalog, to which the underlying data source (Cloud Storage bucket or BigQuery dataset) of the entity is attached.",
          "type": "string"
        },
        "dataFormat": {
          "description": "Format of the data.",
          "$ref": "GoogleCloudDatacatalogV1PhysicalSchema"
        },
        "compressionFormat": {
          "description": "Compression format of the data, e.g., zip, gzip etc.",
          "type": "string"
        },
        "projectId": {
          "description": "Project ID of the underlying Cloud Storage or BigQuery data. Note that this may not be the same project as the corresponding Dataplex Universal Catalog lake / zone / asset.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1DataplexSpec"
    },
    "GoogleCloudDatacatalogV1beta1ListEntriesResponse": {
      "description": "Response message for ListEntries.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1beta1ListEntriesResponse",
      "properties": {
        "nextPageToken": {
          "description": "Token to retrieve the next page of results. It is set to empty if no items remain in results.",
          "type": "string"
        },
        "entries": {
          "description": "Entry details.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogV1beta1Entry"
          }
        }
      }
    },
    "GoogleCloudDatacatalogV1ReconcileTagsResponse": {
      "description": "Long-running operation response message returned by ReconcileTags.",
      "type": "object",
      "properties": {
        "deletedTagsCount": {
          "format": "int64",
          "description": "Number of tags deleted in the request.",
          "type": "string"
        },
        "createdTagsCount": {
          "format": "int64",
          "description": "Number of tags created in the request.",
          "type": "string"
        },
        "updatedTagsCount": {
          "format": "int64",
          "description": "Number of tags updated in the request.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1ReconcileTagsResponse"
    },
    "GoogleCloudDatacatalogV1DatabaseTableSpec": {
      "properties": {
        "databaseViewSpec": {
          "description": "Spec what applies to tables that are actually views. Not set for \"real\" tables.",
          "$ref": "GoogleCloudDatacatalogV1DatabaseTableSpecDatabaseViewSpec"
        },
        "type": {
          "enum": [
            "TABLE_TYPE_UNSPECIFIED",
            "NATIVE",
            "EXTERNAL"
          ],
          "enumDescriptions": [
            "Default unknown table type.",
            "Native table.",
            "External table."
          ],
          "description": "Type of this table.",
          "type": "string"
        },
        "dataplexTable": {
          "description": "Output only. Fields specific to a Dataplex Universal Catalog table and present only in the Dataplex Universal Catalog table entries.",
          "readOnly": true,
          "$ref": "GoogleCloudDatacatalogV1DataplexTableSpec"
        }
      },
      "id": "GoogleCloudDatacatalogV1DatabaseTableSpec",
      "description": "Specification that applies to a table resource. Valid only for entries with the `TABLE` type.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1PersonalDetails": {
      "description": "Entry metadata relevant only to the user and private to them.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1PersonalDetails",
      "properties": {
        "starred": {
          "description": "True if the entry is starred by the user; false otherwise.",
          "type": "boolean"
        },
        "starTime": {
          "description": "Set if the entry is starred; unset otherwise.",
          "type": "string",
          "format": "google-datetime"
        }
      }
    },
    "GoogleCloudDatacatalogV1beta1TagTemplate": {
      "description": "A tag template defines a tag, which can have one or more typed fields. The template is used to create and attach the tag to Google Cloud resources. [Tag template roles](https://cloud.google.com/iam/docs/roles-permissions/datacatalog) provide permissions to create, edit, and use the template. See, for example, the [TagTemplate User](https://cloud.google.com/data-catalog/docs/how-to/template-user) role, which includes permission to use the tag template to tag resources.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1beta1TagTemplate",
      "properties": {
        "fields": {
          "additionalProperties": {
            "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
          },
          "description": "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.",
          "type": "object"
        },
        "displayName": {
          "description": "The display name for this template. Defaults to an empty string.",
          "type": "string"
        },
        "dataplexTransferStatus": {
          "enumDeprecated": [
            false,
            true
          ],
          "enumDescriptions": [
            "Default value. TagTemplate and its tags are only visible and editable in DataCatalog.",
            "TagTemplate and its tags are auto-copied to Dataplex Universal Catalog service. Visible in both services. Editable in Data Catalog, read-only in Dataplex Universal Catalog. Deprecated: Individual TagTemplate migration is deprecated in favor of organization or project wide TagTemplate migration opt-in."
          ],
          "description": "Output only. Transfer status of the TagTemplate",
          "enum": [
            "DATAPLEX_TRANSFER_STATUS_UNSPECIFIED",
            "MIGRATED"
          ],
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "description": "Identifier. 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.",
          "type": "string"
        }
      }
    },
    "Status": {
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
      "type": "object",
      "properties": {
        "message": {
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
          "type": "string"
        },
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "type": "integer",
          "format": "int32"
        },
        "details": {
          "items": {
            "type": "object",
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            }
          },
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "type": "array"
        }
      },
      "id": "Status"
    },
    "GetPolicyOptions": {
      "id": "GetPolicyOptions",
      "properties": {
        "requestedPolicyVersion": {
          "format": "int32",
          "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
          "type": "integer"
        }
      },
      "description": "Encapsulates settings provided to GetIamPolicy.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1DatabaseTableSpecDatabaseViewSpec": {
      "description": "Specification that applies to database view.",
      "type": "object",
      "properties": {
        "viewType": {
          "description": "Type of this view.",
          "type": "string",
          "enumDescriptions": [
            "Default unknown view type.",
            "Standard view.",
            "Materialized view."
          ],
          "enum": [
            "VIEW_TYPE_UNSPECIFIED",
            "STANDARD_VIEW",
            "MATERIALIZED_VIEW"
          ]
        },
        "sqlQuery": {
          "description": "SQL query used to generate this view.",
          "type": "string"
        },
        "baseTable": {
          "description": "Name of a singular table this view reflects one to one.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1DatabaseTableSpecDatabaseViewSpec"
    },
    "GoogleCloudDatacatalogV1DataSourceConnectionSpec": {
      "id": "GoogleCloudDatacatalogV1DataSourceConnectionSpec",
      "properties": {
        "bigqueryConnectionSpec": {
          "description": "Output only. Fields specific to BigQuery connections.",
          "$ref": "GoogleCloudDatacatalogV1BigQueryConnectionSpec"
        }
      },
      "description": "Specification that applies to a data source connection. Valid only for entries with the `DATA_SOURCE_CONNECTION` type. Only one of internal specs can be set at the time, and cannot be changed later.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1TagFieldEnumValue": {
      "description": "An enum value.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1TagFieldEnumValue",
      "properties": {
        "displayName": {
          "description": "The display name of the enum value.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDatacatalogV1beta1TagTemplateField": {
      "description": "The template for an individual field within a tag template.",
      "type": "object",
      "properties": {
        "displayName": {
          "description": "The display name for this field. Defaults to an empty string.",
          "type": "string"
        },
        "isRequired": {
          "description": "Whether this is a required field. Defaults to false.",
          "type": "boolean"
        },
        "description": {
          "description": "The description for this field. Defaults to an empty string.",
          "type": "string"
        },
        "order": {
          "description": "The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential.",
          "type": "integer",
          "format": "int32"
        },
        "name": {
          "readOnly": true,
          "description": "Output only. Identifier. 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.",
          "type": "string"
        },
        "type": {
          "description": "Required. The type of value this tag field can contain.",
          "$ref": "GoogleCloudDatacatalogV1beta1FieldType"
        }
      },
      "id": "GoogleCloudDatacatalogV1beta1TagTemplateField"
    },
    "GoogleCloudDatacatalogV1PhysicalSchemaAvroSchema": {
      "description": "Schema in Avro JSON format.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1PhysicalSchemaAvroSchema",
      "properties": {
        "text": {
          "description": "JSON source of the Avro schema.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDatacatalogV1beta1TagFieldEnumValue": {
      "id": "GoogleCloudDatacatalogV1beta1TagFieldEnumValue",
      "properties": {
        "displayName": {
          "description": "The display name of the enum value.",
          "type": "string"
        }
      },
      "description": "Holds an enum value.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1PolicyTag": {
      "properties": {
        "description": {
          "description": "Description of this policy tag. It must: contain only unicode characters, tabs, newlines, carriage returns and page breaks; and be at most 2000 bytes long when encoded in UTF-8. If not set, defaults to an empty description. If not set, defaults to an empty description.",
          "type": "string"
        },
        "displayName": {
          "description": "Required. User defined name of this policy tag. It must: be unique within the parent taxonomy; contain only unicode letters, numbers, underscores, dashes and spaces; not start or end with spaces; and be at most 200 bytes long when encoded in UTF-8.",
          "type": "string"
        },
        "parentPolicyTag": {
          "description": "Resource name of this policy tag's parent policy tag (e.g. for the \"LatLong\" policy tag in the example above, this field contains the resource name of the \"Geolocation\" policy tag). If empty, it means this policy tag is a top level policy tag (e.g. this field is empty for the \"Geolocation\" policy tag in the example above). If not set, defaults to an empty string.",
          "type": "string"
        },
        "childPolicyTags": {
          "items": {
            "type": "string"
          },
          "readOnly": true,
          "description": "Output only. Resource names of child policy tags of this policy tag.",
          "type": "array"
        },
        "name": {
          "description": "Identifier. Resource name of this policy tag, whose format is: \"projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{id}\".",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1beta1PolicyTag",
      "description": "Denotes one policy tag in a taxonomy (e.g. ssn). Policy Tags can be defined in a hierarchy. For example, consider the following hierarchy: Geolocation -\u003e (LatLong, City, ZipCode). PolicyTag \"Geolocation\" contains three child policy tags: \"LatLong\", \"City\", and \"ZipCode\".",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1BigQueryDateShardedSpec": {
      "id": "GoogleCloudDatacatalogV1BigQueryDateShardedSpec",
      "properties": {
        "latestShardResource": {
          "description": "Output only. BigQuery resource name of the latest shard.",
          "type": "string",
          "readOnly": true
        },
        "dataset": {
          "readOnly": true,
          "description": "Output only. The Data Catalog resource name of the dataset entry the current table belongs to. For example: `projects/{PROJECT_ID}/locations/{LOCATION}/entrygroups/{ENTRY_GROUP_ID}/entries/{ENTRY_ID}`.",
          "type": "string"
        },
        "shardCount": {
          "format": "int64",
          "description": "Output only. Total number of shards.",
          "type": "string",
          "readOnly": true
        },
        "tablePrefix": {
          "description": "Output only. The table name prefix of the shards. The name of any given shard is `[table_prefix]YYYYMMDD`. For example, for the `MyTable20180101` shard, the `table_prefix` is `MyTable`.",
          "type": "string",
          "readOnly": true
        }
      },
      "description": "Specification for a group of BigQuery tables with the `[prefix]YYYYMMDD` name pattern. For more information, see [Introduction to partitioned tables] (https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding).",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1GcsFilesetSpec": {
      "description": "Describes a Cloud Storage fileset entry.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1beta1GcsFilesetSpec",
      "properties": {
        "filePatterns": {
          "description": "Required. Patterns to identify a set of files in Google Cloud Storage. See [Cloud Storage documentation](https://cloud.google.com/storage/docs/wildcards) for more information. Note that bucket wildcards are currently not supported. Examples of valid file_patterns: * `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir` directory. * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir` spanning all subdirectories. * `gs://bucket_name/file*`: matches files prefixed by `file` in `bucket_name` * `gs://bucket_name/??.txt`: matches files with two characters followed by `.txt` in `bucket_name` * `gs://bucket_name/[aeiou].txt`: matches files that contain a single vowel character followed by `.txt` in `bucket_name` * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ... or `m` followed by `.txt` 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` You can combine wildcards to provide more powerful matches, for example: * `gs://bucket_name/[a-m]??.j*g`",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "sampleGcsFileSpecs": {
          "readOnly": true,
          "description": "Output only. Sample files contained in this fileset, not all files contained in this fileset are represented here.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogV1beta1GcsFileSpec"
          }
        }
      }
    },
    "GoogleCloudDatacatalogV1TaggedEntry": {
      "id": "GoogleCloudDatacatalogV1TaggedEntry",
      "properties": {
        "v1Entry": {
          "description": "Non-encrypted Data Catalog v1 Entry.",
          "$ref": "GoogleCloudDatacatalogV1Entry"
        },
        "absentTags": {
          "description": "Optional. Tags that should be deleted from the Data Catalog. Caller should populate template name and column only.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogV1Tag"
          }
        },
        "presentTags": {
          "description": "Optional. Tags that should be ingested into the Data Catalog. Caller should populate template name, column and fields.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogV1Tag"
          }
        }
      },
      "description": "Wrapper containing Entry and information about Tags that should and should not be attached to it.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1DatasetSpec": {
      "properties": {
        "vertexDatasetSpec": {
          "description": "Vertex AI Dataset specific fields",
          "$ref": "GoogleCloudDatacatalogV1VertexDatasetSpec"
        }
      },
      "id": "GoogleCloudDatacatalogV1DatasetSpec",
      "description": "Specification that applies to a dataset. Valid only for entries with the `DATASET` type.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1CloudSqlBigQueryConnectionSpec": {
      "properties": {
        "type": {
          "enum": [
            "DATABASE_TYPE_UNSPECIFIED",
            "POSTGRES",
            "MYSQL"
          ],
          "enumDescriptions": [
            "Unspecified database type.",
            "Cloud SQL for PostgreSQL.",
            "Cloud SQL for MySQL."
          ],
          "description": "Type of the Cloud SQL database.",
          "type": "string"
        },
        "instanceId": {
          "description": "Cloud SQL instance ID in the format of `project:location:instance`.",
          "type": "string"
        },
        "database": {
          "description": "Database name.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1CloudSqlBigQueryConnectionSpec",
      "description": "Specification for the BigQuery connection to a Cloud SQL instance.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1GraphSpecGraphElementTableLabelAndProperties": {
      "description": "The label and its properties. Each label is associated with a set of properties.",
      "type": "object",
      "properties": {
        "label": {
          "description": "Required. The name of the label.",
          "type": "string"
        },
        "properties": {
          "items": {
            "$ref": "GoogleCloudDatacatalogV1GraphSpecGraphElementTableProperty"
          },
          "description": "Optional. The properties associated with the label.",
          "type": "array"
        }
      },
      "id": "GoogleCloudDatacatalogV1GraphSpecGraphElementTableLabelAndProperties"
    },
    "GoogleCloudDatacatalogV1EntryOverview": {
      "description": "Entry overview fields for rich text descriptions of entries.",
      "type": "object",
      "properties": {
        "overview": {
          "description": "Entry overview with support for rich text. The overview must only contain Unicode characters, and should be formatted using HTML. The maximum length is 10 MiB as this value holds HTML descriptions including encoded images. The maximum length of the text without images is 100 KiB.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1EntryOverview"
    },
    "GoogleCloudDatacatalogV1ViewSpec": {
      "description": "Table view specification.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1ViewSpec",
      "properties": {
        "viewQuery": {
          "description": "Output only. The query that defines the table view.",
          "type": "string",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue": {
      "type": "object",
      "properties": {
        "displayName": {
          "description": "Required. The display name of the enum value. Must not be an empty string.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue"
    },
    "GoogleCloudDatacatalogV1SpannerTableSpecSpannerForeignKeyForeignKeyColumnMapping": {
      "description": "Column mapping for a Spanner foreign key.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1SpannerTableSpecSpannerForeignKeyForeignKeyColumnMapping",
      "properties": {
        "referenceColumn": {
          "readOnly": true,
          "description": "Output only. The column in the referenced table that is part of the foreign key.",
          "type": "string"
        },
        "column": {
          "readOnly": true,
          "description": "Output only. The column in the current table that is part of the foreign key.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDatacatalogV1TagField": {
      "description": "Contains the value and additional information on a field within a Tag.",
      "type": "object",
      "properties": {
        "enumValue": {
          "description": "The value of a tag field with an enum type. This value must be one of the allowed values listed in this enum.",
          "$ref": "GoogleCloudDatacatalogV1TagFieldEnumValue"
        },
        "displayName": {
          "description": "Output only. The display name of this field.",
          "type": "string",
          "readOnly": true
        },
        "doubleValue": {
          "format": "double",
          "description": "The value of a tag field with a double type.",
          "type": "number"
        },
        "boolValue": {
          "description": "The value of a tag field with a boolean type.",
          "type": "boolean"
        },
        "order": {
          "format": "int32",
          "readOnly": true,
          "description": "Output only. The order of this field with respect to other fields in this tag. Can be set by Tag. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag don't have to be sequential.",
          "type": "integer"
        },
        "timestampValue": {
          "description": "The value of a tag field with a timestamp type.",
          "type": "string",
          "format": "google-datetime"
        },
        "richtextValue": {
          "description": "The value of a tag field with a rich text type. The maximum length is 10 MiB as this value holds HTML descriptions including encoded images. The maximum length of the text without images is 100 KiB.",
          "type": "string"
        },
        "stringValue": {
          "description": "The value of a tag field with a string type. The maximum length is 2000 UTF-8 characters.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1TagField"
    },
    "GoogleCloudDatacatalogV1FeatureOnlineStoreSpec": {
      "description": "Detail description of the source information of a Vertex Feature Online Store.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1FeatureOnlineStoreSpec",
      "properties": {
        "storageType": {
          "description": "Output only. Type of underlying storage for the FeatureOnlineStore.",
          "enumDescriptions": [
            "Should not be used.",
            "Underlsying storgae is Bigtable.",
            "Underlying is optimized online server (Lightning)."
          ],
          "type": "string",
          "readOnly": true,
          "enum": [
            "STORAGE_TYPE_UNSPECIFIED",
            "BIGTABLE",
            "OPTIMIZED"
          ]
        }
      }
    },
    "GoogleCloudDatacatalogV1beta1FieldTypeEnumType": {
      "id": "GoogleCloudDatacatalogV1beta1FieldTypeEnumType",
      "properties": {
        "allowedValues": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue"
          }
        }
      },
      "type": "object"
    },
    "GoogleCloudDatacatalogV1PhysicalSchemaThriftSchema": {
      "description": "Schema in Thrift format.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1PhysicalSchemaThriftSchema",
      "properties": {
        "text": {
          "description": "Thrift IDL source of the schema.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDatacatalogV1CommonUsageStats": {
      "id": "GoogleCloudDatacatalogV1CommonUsageStats",
      "properties": {
        "viewCount": {
          "format": "int64",
          "description": "View count in source system.",
          "type": "string"
        }
      },
      "description": "Common statistics on the entry's usage. They can be set on any system.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1Tag": {
      "description": "Tags are used to attach custom metadata to Data Catalog resources. Tags conform to the specifications within their tag template. See [Data Catalog IAM](https://cloud.google.com/data-catalog/docs/concepts/iam) for information on the permissions needed to create or view tags.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1beta1Tag",
      "properties": {
        "template": {
          "description": "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.",
          "type": "string"
        },
        "templateDisplayName": {
          "description": "Output only. The display name of the tag template.",
          "type": "string",
          "readOnly": true
        },
        "name": {
          "description": "Identifier. 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.",
          "type": "string"
        },
        "column": {
          "description": "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. Example: * `outer_column.inner_column`",
          "type": "string"
        },
        "fields": {
          "description": "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.",
          "type": "object",
          "additionalProperties": {
            "$ref": "GoogleCloudDatacatalogV1beta1TagField"
          }
        }
      }
    },
    "TestIamPermissionsRequest": {
      "properties": {
        "permissions": {
          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "TestIamPermissionsRequest",
      "description": "Request message for `TestIamPermissions` method.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1VertexModelSpec": {
      "properties": {
        "vertexModelSourceInfo": {
          "description": "Source of a Vertex model.",
          "$ref": "GoogleCloudDatacatalogV1VertexModelSourceInfo"
        },
        "versionAliases": {
          "items": {
            "type": "string"
          },
          "description": "User provided version aliases so that a model version can be referenced via alias",
          "type": "array"
        },
        "containerImageUri": {
          "description": "URI of the Docker image to be used as the custom container for serving predictions.",
          "type": "string"
        },
        "versionId": {
          "description": "The version ID of the model.",
          "type": "string"
        },
        "versionDescription": {
          "description": "The description of this version.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1VertexModelSpec",
      "description": "Specification for vertex model resources.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1ColumnSchemaFieldElementType": {
      "properties": {
        "type": {
          "description": "Required. The type of a field element. See ColumnSchema.type.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1ColumnSchemaFieldElementType",
      "description": "Represents the type of a field element.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1ColumnSchema": {
      "description": "Representation of a column within a schema. Columns could be nested inside other columns.",
      "type": "object",
      "properties": {
        "description": {
          "description": "Optional. Description of the column. Default value is an empty string.",
          "type": "string"
        },
        "subcolumns": {
          "items": {
            "$ref": "GoogleCloudDatacatalogV1beta1ColumnSchema"
          },
          "description": "Optional. Schema of sub-columns. A column can have zero or more sub-columns.",
          "type": "array"
        },
        "column": {
          "description": "Required. Name of the column.",
          "type": "string"
        },
        "type": {
          "description": "Required. Type of the column.",
          "type": "string"
        },
        "mode": {
          "description": "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`.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1beta1ColumnSchema"
    },
    "GoogleCloudDatacatalogV1TableSpec": {
      "description": "Normal BigQuery table specification.",
      "type": "object",
      "properties": {
        "groupedEntry": {
          "readOnly": true,
          "description": "Output only. If the table is date-sharded, that is, it matches the `[prefix]YYYYMMDD` name pattern, this field 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.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1TableSpec"
    },
    "GoogleCloudDatacatalogV1PhysicalSchemaProtobufSchema": {
      "description": "Schema in protocol buffer format.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1PhysicalSchemaProtobufSchema",
      "properties": {
        "text": {
          "description": "Protocol buffer source of the schema.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDatacatalogV1Schema": {
      "description": "Represents a schema, for example, a BigQuery, GoogleSQL, or Avro schema.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1Schema",
      "properties": {
        "columns": {
          "description": "The unified GoogleSQL-like schema of columns. The overall maximum number of columns and nested columns is 10,000. The maximum nested depth is 15 levels.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogV1ColumnSchema"
          }
        }
      }
    },
    "GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest": {
      "properties": {
        "inlineSource": {
          "description": "Inline source used for taxonomies to be imported.",
          "$ref": "GoogleCloudDatacatalogV1beta1InlineSource"
        }
      },
      "id": "GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest",
      "description": "Request message for ImportTaxonomies.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1PhysicalSchemaCsvSchema": {
      "description": "Marks a CSV-encoded data source.",
      "type": "object",
      "properties": {},
      "id": "GoogleCloudDatacatalogV1PhysicalSchemaCsvSchema"
    },
    "GoogleCloudDatacatalogV1ReconcileTagsMetadata": {
      "properties": {
        "state": {
          "enum": [
            "RECONCILIATION_STATE_UNSPECIFIED",
            "RECONCILIATION_QUEUED",
            "RECONCILIATION_IN_PROGRESS",
            "RECONCILIATION_DONE"
          ],
          "description": "State of the reconciliation operation.",
          "type": "string",
          "enumDescriptions": [
            "Default value. This value is unused.",
            "The reconciliation has been queued and awaits for execution.",
            "The reconciliation is in progress.",
            "The reconciliation has been finished."
          ]
        },
        "errors": {
          "description": "Maps the name of each tagged column (or empty string for a sole entry) to tagging operation status.",
          "type": "object",
          "additionalProperties": {
            "$ref": "Status"
          }
        }
      },
      "id": "GoogleCloudDatacatalogV1ReconcileTagsMetadata",
      "description": "Long-running operation metadata message returned by the ReconcileTags.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse": {
      "properties": {
        "taxonomies": {
          "description": "Taxonomies that the project contains.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogV1beta1Taxonomy"
          }
        },
        "nextPageToken": {
          "description": "Token used to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse",
      "description": "Response message for ListTaxonomies.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1UsageSignal": {
      "id": "GoogleCloudDatacatalogV1beta1UsageSignal",
      "properties": {
        "usageWithinTimeRange": {
          "description": "Usage statistics over each of the pre-defined time ranges, supported strings for time ranges are {\"24H\", \"7D\", \"30D\"}.",
          "type": "object",
          "additionalProperties": {
            "$ref": "GoogleCloudDatacatalogV1beta1UsageStats"
          }
        },
        "updateTime": {
          "format": "google-datetime",
          "description": "The timestamp of the end of the usage statistics duration.",
          "type": "string"
        }
      },
      "description": "The set of all usage signals that we store in Data Catalog.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1beta1BigQueryTableSpec": {
      "description": "Describes a BigQuery table.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1beta1BigQueryTableSpec",
      "properties": {
        "tableSpec": {
          "description": "Spec of a BigQuery table. This field should only be populated if `table_source_type` is `BIGQUERY_TABLE`.",
          "$ref": "GoogleCloudDatacatalogV1beta1TableSpec"
        },
        "tableSourceType": {
          "enumDescriptions": [
            "Default unknown type.",
            "Table view.",
            "BigQuery native table.",
            "BigQuery materialized view."
          ],
          "description": "Output only. The table source type.",
          "readOnly": true,
          "type": "string",
          "enum": [
            "TABLE_SOURCE_TYPE_UNSPECIFIED",
            "BIGQUERY_VIEW",
            "BIGQUERY_TABLE",
            "BIGQUERY_MATERIALIZED_VIEW"
          ]
        },
        "viewSpec": {
          "description": "Table view specification. This field should only be populated if `table_source_type` is `BIGQUERY_VIEW`.",
          "$ref": "GoogleCloudDatacatalogV1beta1ViewSpec"
        }
      }
    },
    "GoogleCloudDatacatalogV1beta1SerializedPolicyTag": {
      "properties": {
        "description": {
          "description": "Description of the serialized policy tag. The length of the description is limited to 2000 bytes when encoded in UTF-8. If not set, defaults to an empty description.",
          "type": "string"
        },
        "childPolicyTags": {
          "description": "Children of the policy tag if any.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogV1beta1SerializedPolicyTag"
          }
        },
        "policyTag": {
          "description": "Resource name of the policy tag. This field will be ignored when calling ImportTaxonomies.",
          "type": "string"
        },
        "displayName": {
          "description": "Required. Display name of the policy tag. Max 200 bytes when encoded in UTF-8.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogV1beta1SerializedPolicyTag",
      "description": "Message representing one policy tag when exported as a nested proto.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1VertexDatasetSpec": {
      "properties": {
        "dataItemCount": {
          "description": "The number of DataItems in this Dataset. Only apply for non-structured Dataset.",
          "type": "string",
          "format": "int64"
        },
        "dataType": {
          "enumDescriptions": [
            "Should not be used.",
            "Structured data dataset.",
            "Image dataset which supports ImageClassification, ImageObjectDetection and ImageSegmentation problems.",
            "Document dataset which supports TextClassification, TextExtraction and TextSentiment problems.",
            "Video dataset which supports VideoClassification, VideoObjectTracking and VideoActionRecognition problems.",
            "Conversation dataset which supports conversation problems.",
            "TimeSeries dataset.",
            "Document dataset which supports DocumentAnnotation problems.",
            "TextToSpeech dataset which supports TextToSpeech problems.",
            "Translation dataset which supports Translation problems.",
            "Store Vision dataset which is used for HITL integration.",
            "Enterprise Knowledge Graph dataset which is used for HITL labeling integration.",
            "Text prompt dataset which supports Large Language Models."
          ],
          "description": "Type of the dataset.",
          "type": "string",
          "enum": [
            "DATA_TYPE_UNSPECIFIED",
            "TABLE",
            "IMAGE",
            "TEXT",
            "VIDEO",
            "CONVERSATION",
            "TIME_SERIES",
            "DOCUMENT",
            "TEXT_TO_SPEECH",
            "TRANSLATION",
            "STORE_VISION",
            "ENTERPRISE_KNOWLEDGE_GRAPH",
            "TEXT_PROMPT"
          ]
        }
      },
      "id": "GoogleCloudDatacatalogV1VertexDatasetSpec",
      "description": "Specification for vertex dataset resources.",
      "type": "object"
    },
    "SetIamPolicyRequest": {
      "description": "Request message for `SetIamPolicy` method.",
      "type": "object",
      "id": "SetIamPolicyRequest",
      "properties": {
        "policy": {
          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them.",
          "$ref": "Policy"
        }
      }
    },
    "GoogleCloudDatacatalogV1DataplexFilesetSpec": {
      "description": "Entry specification for a Dataplex Universal Catalog fileset.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1DataplexFilesetSpec",
      "properties": {
        "dataplexSpec": {
          "description": "Common Dataplex Universal Catalog fields.",
          "$ref": "GoogleCloudDatacatalogV1DataplexSpec"
        }
      }
    },
    "GoogleCloudDatacatalogV1beta1SearchCatalogResponse": {
      "description": "Response message for SearchCatalog.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1beta1SearchCatalogResponse",
      "properties": {
        "totalSize": {
          "description": "The approximate total number of entries matched by the query.",
          "type": "integer",
          "format": "int32"
        },
        "nextPageToken": {
          "description": "The token that can be used to retrieve the next page of results.",
          "type": "string"
        },
        "results": {
          "description": "Search results.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogV1beta1SearchCatalogResult"
          }
        },
        "unreachable": {
          "description": "Unreachable locations. Search result does not include data from those locations. Users can get additional information on the error by repeating the search request with a more restrictive parameter -- setting the value for `SearchDataCatalogRequest.scope.restricted_locations`.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudDatacatalogV1ColumnSchema": {
      "description": "A column within a schema. Columns can be nested inside other columns.",
      "type": "object",
      "id": "GoogleCloudDatacatalogV1ColumnSchema",
      "properties": {
        "defaultValue": {
          "description": "Optional. Default value for the column.",
          "type": "string"
        },
        "highestIndexingType": {
          "description": "Optional. Most important inclusion of this column.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified.",
            "Column not a part of an index.",
            "Column Part of non unique index.",
            "Column part of unique index.",
            "Column part of the primary key."
          ],
          "enum": [
            "INDEXING_TYPE_UNSPECIFIED",
            "INDEXING_TYPE_NONE",
            "INDEXING_TYPE_NON_UNIQUE",
            "INDEXING_TYPE_UNIQUE",
            "INDEXING_TYPE_PRIMARY_KEY"
          ]
        },
        "ordinalPosition": {
          "format": "int32",
          "description": "Optional. Ordinal position",
          "type": "integer"
        },
        "mode": {
          "description": "Optional. A column's mode indicates whether values in this column are required, nullable, or repeated. Only `NULLABLE`, `REQUIRED`, and `REPEATED` values are supported. Default mode is `NULLABLE`.",
          "type": "string"
        },
        "rangeElementType": {
          "description": "Optional. The subtype of the RANGE, if the type of this field is RANGE. If the type is RANGE, this field is required. Possible values for the field element type of a RANGE include: * DATE * DATETIME * TIMESTAMP",
          "$ref": "GoogleCloudDatacatalogV1ColumnSchemaFieldElementType"
        },
        "description": {
          "description": "Optional. Description of the column. Default value is an empty string. The description must be a UTF-8 string with the maximum size of 2000 bytes.",
          "type": "string"
        },
        "subcolumns": {
          "items": {
            "$ref": "GoogleCloudDatacatalogV1ColumnSchema"
          },
          "description": "Optional. Schema of sub-columns. A column can have zero or more sub-columns.",
          "type": "array"
        },
        "type": {
          "description": "Required. Type of the column. Must be a UTF-8 string with the maximum size of 128 bytes.",
          "type": "string"
        },
        "lookerColumnSpec": {
          "description": "Looker specific column info of this column.",
          "$ref": "GoogleCloudDatacatalogV1ColumnSchemaLookerColumnSpec"
        },
        "gcRule": {
          "description": "Optional. Garbage collection policy for the column or column family. Applies to systems like Cloud Bigtable.",
          "type": "string"
        },
        "column": {
          "description": "Required. Name of the column. Must be a UTF-8 string without dots (.). The maximum size is 64 bytes.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDatacatalogV1GraphSpecGraphElementTableGraphNodeReference": {
      "id": "GoogleCloudDatacatalogV1GraphSpecGraphElementTableGraphNodeReference",
      "properties": {
        "edgeTableColumns": {
          "description": "Required. The referencing columns in the edge table. The size of `edge_table_columns` must be equal to the size of `node_table_columns`.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "nodeTableColumns": {
          "items": {
            "type": "string"
          },
          "description": "Required. The referenced columns of the source node table.",
          "type": "array"
        },
        "nodeAlias": {
          "description": "Required. The reference to the source/destination node of the edge. This name must be a valid `alias` of a node element in the same graph. Example, `Person` node can be a source node name of an edge element `Person_to_Address`.",
          "type": "string"
        }
      },
      "description": "A reference to a source or destination node in a graph edge.",
      "type": "object"
    },
    "GoogleCloudDatacatalogV1UsageSignal": {
      "properties": {
        "favoriteCount": {
          "format": "int64",
          "description": "Favorite count in the source system.",
          "type": "string"
        },
        "updateTime": {
          "description": "The end timestamp of the duration of usage statistics.",
          "type": "string",
          "format": "google-datetime"
        },
        "commonUsageWithinTimeRange": {
          "description": "Common usage statistics over each of the predefined time ranges. Supported time ranges are `{\"24H\", \"7D\", \"30D\", \"Lifetime\"}`.",
          "type": "object",
          "additionalProperties": {
            "$ref": "GoogleCloudDatacatalogV1CommonUsageStats"
          }
        },
        "usageWithinTimeRange": {
          "readOnly": true,
          "additionalProperties": {
            "$ref": "GoogleCloudDatacatalogV1UsageStats"
          },
          "description": "Output only. BigQuery usage statistics over each of the predefined time ranges. Supported time ranges are `{\"24H\", \"7D\", \"30D\"}`.",
          "type": "object"
        }
      },
      "id": "GoogleCloudDatacatalogV1UsageSignal",
      "description": "The set of all usage signals that Data Catalog stores. Note: Usually, these signals are updated daily. In rare cases, an update may fail but will be performed again on the next day.",
      "type": "object"
    }
  },
  "basePath": "",
  "kind": "discovery#restDescription",
  "mtlsRootUrl": "https://datacatalog.mtls.googleapis.com/",
  "protocol": "rest",
  "ownerDomain": "google.com",
  "parameters": {
    "fields": {
      "location": "query",
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response."
    },
    "alt": {
      "default": "json",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "description": "Data format for response.",
      "location": "query",
      "type": "string",
      "enum": [
        "json",
        "media",
        "proto"
      ]
    },
    "quotaUser": {
      "type": "string",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query"
    },
    "callback": {
      "location": "query",
      "type": "string",
      "description": "JSONP"
    },
    "oauth_token": {
      "location": "query",
      "type": "string",
      "description": "OAuth 2.0 token for the current user."
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    },
    "key": {
      "type": "string",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query"
    },
    "access_token": {
      "location": "query",
      "type": "string",
      "description": "OAuth access token."
    },
    "prettyPrint": {
      "location": "query",
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "default": "true"
    },
    "upload_protocol": {
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query"
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string",
      "enum": [
        "1",
        "2"
      ]
    }
  },
  "id": "datacatalog:v1beta1",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "discoveryVersion": "v1",
  "canonicalName": "Data Catalog",
  "batchPath": "batch"
}
