{
  "fullyEncodeReservedExpansion": true,
  "ownerDomain": "google.com",
  "version": "v1",
  "schemas": {
    "GoogleCloudDataplexV1DiscoveryEventTableDetails": {
      "type": "object",
      "properties": {
        "type": {
          "description": "The type of the table resource.",
          "type": "string",
          "enumDescriptions": [
            "An unspecified table type.",
            "External table type.",
            "BigLake table type.",
            "Object table type for unstructured data."
          ],
          "enum": [
            "TABLE_TYPE_UNSPECIFIED",
            "EXTERNAL_TABLE",
            "BIGLAKE_TABLE",
            "OBJECT_TABLE"
          ]
        },
        "table": {
          "type": "string",
          "description": "The fully-qualified resource name of the table resource."
        }
      },
      "id": "GoogleCloudDataplexV1DiscoveryEventTableDetails",
      "description": "Details about the published table."
    },
    "GoogleCloudDataplexV1Zone": {
      "id": "GoogleCloudDataplexV1Zone",
      "description": "A zone represents a logical group of related assets within a lake. A zone can be used to map to organizational structure or represent stages of data readiness from raw to curated. It provides managing behavior that is shared or inherited by all contained assets.",
      "type": "object",
      "properties": {
        "displayName": {
          "type": "string",
          "description": "Optional. User friendly display name."
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the zone was last updated.",
          "readOnly": true
        },
        "name": {
          "type": "string",
          "description": "Output only. The relative resource name of the zone, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.",
          "readOnly": true
        },
        "type": {
          "description": "Required. Immutable. The type of the zone.",
          "type": "string",
          "enumDescriptions": [
            "Zone type not specified.",
            "A zone that contains data that needs further processing before it is considered generally ready for consumption and analytics workloads.",
            "A zone that contains data that is considered to be ready for broader consumption and analytics workloads. Curated structured data stored in Cloud Storage must conform to certain file formats (parquet, avro and orc) and organized in a hive-compatible directory layout."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "RAW",
            "CURATED"
          ]
        },
        "resourceSpec": {
          "description": "Required. Specification of the resources that are referenced by the assets within this zone.",
          "$ref": "GoogleCloudDataplexV1ZoneResourceSpec"
        },
        "assetStatus": {
          "description": "Output only. Aggregated status of the underlying assets of the zone.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1AssetStatus"
        },
        "description": {
          "description": "Optional. Description of the zone.",
          "type": "string"
        },
        "uid": {
          "type": "string",
          "description": "Output only. System generated globally unique ID for the zone. This ID will be different if the zone is deleted and re-created with the same name.",
          "readOnly": true
        },
        "state": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "State is not specified.",
            "Resource is active, i.e., ready to use.",
            "Resource is under creation.",
            "Resource is under deletion.",
            "Resource is active but has unresolved actions."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "CREATING",
            "DELETING",
            "ACTION_REQUIRED"
          ],
          "description": "Output only. Current state of the zone."
        },
        "discoverySpec": {
          "$ref": "GoogleCloudDataplexV1ZoneDiscoverySpec",
          "description": "Optional. Specification of the discovery feature applied to data in this zone."
        },
        "createTime": {
          "description": "Output only. The time when the zone was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "labels": {
          "type": "object",
          "description": "Optional. User defined labels for the zone.",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudDataplexV1DataDocumentationResultField": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Output only. The name of the column.",
          "readOnly": true
        },
        "fields": {
          "type": "array",
          "description": "Output only. Nested fields.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataDocumentationResultField"
          }
        },
        "description": {
          "type": "string",
          "description": "Output only. Generated description for columns and fields.",
          "readOnly": true
        }
      },
      "id": "GoogleCloudDataplexV1DataDocumentationResultField",
      "description": "Column of a table with generated metadata and nested fields."
    },
    "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigUnstructuredDataOptions": {
      "id": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigUnstructuredDataOptions",
      "description": "Describes options for unstructured data discovery.",
      "type": "object",
      "properties": {
        "entityInferenceEnabled": {
          "deprecated": true,
          "type": "boolean",
          "description": "Optional. Deprecated: Use semantic_inference_enabled instead. Specifies whether deeper entity inference over the objects' contents using GenAI is enabled."
        },
        "semanticInferenceEnabled": {
          "type": "boolean",
          "description": "Optional. Specifies whether deeper semantic inference over the objects' contents using GenAI is enabled."
        }
      }
    },
    "GoogleCloudDataplexV1MetadataJobImportJobSpec": {
      "id": "GoogleCloudDataplexV1MetadataJobImportJobSpec",
      "description": "Job specification for a metadata import job.You can run the following kinds of metadata import jobs: Full sync of entries with incremental import of their aspects. Supported for custom entries. Incremental import of aspects only. Supported for aspects that belong to custom entries and system entries. For custom entries, you can modify both optional aspects and required aspects. For system entries, you can modify optional aspects.",
      "type": "object",
      "properties": {
        "logLevel": {
          "description": "Optional. The level of logs to write to Cloud Logging for this job.Debug-level logs provide highly-detailed information for troubleshooting, but their increased verbosity could incur additional costs (https://cloud.google.com/stackdriver/pricing) that might not be merited for all jobs.If unspecified, defaults to INFO.",
          "type": "string",
          "enumDescriptions": [
            "Log level unspecified.",
            "Debug-level logging. Captures detailed logs for each import item. Use debug-level logging to troubleshoot issues with specific import items. For example, use debug-level logging to identify resources that are missing from the job scope, entries or aspects that don't conform to the associated entry type or aspect type, or other misconfigurations with the metadata import file.Depending on the size of your metadata job and the number of logs that are generated, debug-level logging might incur additional costs (https://cloud.google.com/stackdriver/pricing).",
            "Info-level logging. Captures logs at the overall job level. Includes aggregate logs about import items, but doesn't specify which import item has an error."
          ],
          "enum": [
            "LOG_LEVEL_UNSPECIFIED",
            "DEBUG",
            "INFO"
          ]
        },
        "sourceStorageUri": {
          "description": "Optional. The URI of a Cloud Storage bucket or folder (beginning with gs:// and ending with /) that contains the metadata import files for this job.A metadata import file defines the values to set for each of the entries and aspects in a metadata import job. For more information about how to create a metadata import file and the file requirements, see Metadata import file (https://cloud.google.com/dataplex/docs/import-metadata#metadata-import-file).You can provide multiple metadata import files in the same metadata job. The bucket or folder must contain at least one metadata import file, in JSON Lines format (either .json or .jsonl file extension).In FULL entry sync mode, don't save the metadata import file in a folder named SOURCE_STORAGE_URI/deletions/.Caution: If the metadata import file contains no data, all entries and aspects that belong to the job's scope are deleted.",
          "type": "string"
        },
        "scope": {
          "description": "Required. A boundary on the scope of impact that the metadata import job can have.",
          "$ref": "GoogleCloudDataplexV1MetadataJobImportJobSpecImportJobScope"
        },
        "entrySyncMode": {
          "description": "Required. The sync mode for entries.",
          "type": "string",
          "enumDescriptions": [
            "Sync mode unspecified.",
            "All resources in the job's scope are modified. If a resource exists in Dataplex Universal Catalog but isn't included in the metadata import file, the resource is deleted when you run the metadata job. Use this mode to perform a full sync of the set of entries in the job scope.This sync mode is supported for entries.",
            "Only the resources that are explicitly included in the metadata import file are modified. Use this mode to modify a subset of resources while leaving unreferenced resources unchanged.This sync mode is supported for aspects.",
            "If entry sync mode is NONE, then aspects are modified according to the aspect sync mode. Other metadata that belongs to entries in the job's scope isn't modified.This sync mode is supported for entries."
          ],
          "enum": [
            "SYNC_MODE_UNSPECIFIED",
            "FULL",
            "INCREMENTAL",
            "NONE"
          ]
        },
        "aspectSyncMode": {
          "type": "string",
          "enumDescriptions": [
            "Sync mode unspecified.",
            "All resources in the job's scope are modified. If a resource exists in Dataplex Universal Catalog but isn't included in the metadata import file, the resource is deleted when you run the metadata job. Use this mode to perform a full sync of the set of entries in the job scope.This sync mode is supported for entries.",
            "Only the resources that are explicitly included in the metadata import file are modified. Use this mode to modify a subset of resources while leaving unreferenced resources unchanged.This sync mode is supported for aspects.",
            "If entry sync mode is NONE, then aspects are modified according to the aspect sync mode. Other metadata that belongs to entries in the job's scope isn't modified.This sync mode is supported for entries."
          ],
          "enum": [
            "SYNC_MODE_UNSPECIFIED",
            "FULL",
            "INCREMENTAL",
            "NONE"
          ],
          "description": "Required. The sync mode for aspects."
        },
        "sourceCreateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Optional. The time when the process that created the metadata import files began."
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResult": {
      "id": "GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResult",
      "description": "Contains a single result from the debug query.",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "Represents the value of the result as a string."
        },
        "name": {
          "type": "string",
          "description": "Specifies the name of the result. Available if provided with an explicit alias using [AS] alias."
        },
        "type": {
          "type": "string",
          "description": "Indicates the data type of the result. For more information, see BigQuery data types (https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types)."
        }
      }
    },
    "GoogleCloudDataplexV1ActionInvalidDataFormat": {
      "type": "object",
      "properties": {
        "sampledDataLocations": {
          "description": "The list of data locations sampled and used for format/schema inference.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "expectedFormat": {
          "description": "The expected data format of the entity.",
          "type": "string"
        },
        "newFormat": {
          "description": "The new unexpected data format within the entity.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1ActionInvalidDataFormat",
      "description": "Action details for invalid or unsupported data files detected by discovery."
    },
    "GoogleCloudDataplexV1Asset": {
      "id": "GoogleCloudDataplexV1Asset",
      "description": "An asset represents a cloud resource that is being managed within a lake as a member of a zone.",
      "type": "object",
      "properties": {
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the asset was created.",
          "readOnly": true
        },
        "uid": {
          "type": "string",
          "description": "Output only. System generated globally unique ID for the asset. This ID will be different if the asset is deleted and re-created with the same name.",
          "readOnly": true
        },
        "state": {
          "type": "string",
          "enumDescriptions": [
            "State is not specified.",
            "Resource is active, i.e., ready to use.",
            "Resource is under creation.",
            "Resource is under deletion.",
            "Resource is active but has unresolved actions."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "CREATING",
            "DELETING",
            "ACTION_REQUIRED"
          ],
          "description": "Output only. Current state of the asset.",
          "readOnly": true
        },
        "name": {
          "type": "string",
          "description": "Output only. The relative resource name of the asset, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}.",
          "readOnly": true
        },
        "resourceStatus": {
          "description": "Output only. Status of the resource referenced by this asset.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1AssetResourceStatus"
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the asset."
        },
        "displayName": {
          "type": "string",
          "description": "Optional. User friendly display name."
        },
        "securityStatus": {
          "$ref": "GoogleCloudDataplexV1AssetSecurityStatus",
          "description": "Output only. Status of the security policy applied to resource referenced by this asset.",
          "readOnly": true
        },
        "labels": {
          "description": "Optional. User defined labels for the asset.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "discoverySpec": {
          "$ref": "GoogleCloudDataplexV1AssetDiscoverySpec",
          "description": "Optional. Specification of the discovery feature applied to data referenced by this asset. When this spec is left unset, the asset will use the spec set on the parent zone."
        },
        "resourceSpec": {
          "$ref": "GoogleCloudDataplexV1AssetResourceSpec",
          "description": "Required. Specification of the resource that is referenced by this asset."
        },
        "updateTime": {
          "description": "Output only. The time when the asset was last updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "discoveryStatus": {
          "$ref": "GoogleCloudDataplexV1AssetDiscoveryStatus",
          "description": "Output only. Status of the discovery feature applied to data referenced by this asset.",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1Entity": {
      "id": "GoogleCloudDataplexV1Entity",
      "description": "Represents tables and fileset metadata contained within a zone.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. The resource name of the entity, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{id}.",
          "readOnly": true,
          "type": "string"
        },
        "catalogEntry": {
          "description": "Output only. The name of the associated Data Catalog entry.",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "description": "Optional. User friendly longer description text. Must be shorter than or equal to 1024 characters.",
          "type": "string"
        },
        "displayName": {
          "description": "Optional. Display name must be shorter than or equal to 256 characters.",
          "type": "string"
        },
        "compatibility": {
          "$ref": "GoogleCloudDataplexV1EntityCompatibilityStatus",
          "description": "Output only. Metadata stores that the entity is compatible with.",
          "readOnly": true
        },
        "dataPathPattern": {
          "description": "Optional. The set of items within the data path constituting the data in the entity, represented as a glob path. Example: gs://bucket/path/to/data/**/*.csv.",
          "type": "string"
        },
        "createTime": {
          "description": "Output only. The time when the entity was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "system": {
          "type": "string",
          "enumDescriptions": [
            "Storage system unspecified.",
            "The entity data is contained within a Cloud Storage bucket.",
            "The entity data is contained within a BigQuery dataset."
          ],
          "enum": [
            "STORAGE_SYSTEM_UNSPECIFIED",
            "CLOUD_STORAGE",
            "BIGQUERY"
          ],
          "description": "Required. Immutable. Identifies the storage system of the entity data."
        },
        "format": {
          "description": "Required. Identifies the storage format of the entity data. It does not apply to entities with data stored in BigQuery.",
          "$ref": "GoogleCloudDataplexV1StorageFormat"
        },
        "access": {
          "description": "Output only. Identifies the access mechanism to the entity. Not user settable.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1StorageAccess"
        },
        "dataPath": {
          "description": "Required. Immutable. The storage path of the entity data. For Cloud Storage data, this is the fully-qualified path to the entity, such as gs://bucket/path/to/data. For BigQuery data, this is the name of the table resource, such as projects/project_id/datasets/dataset_id/tables/table_id.",
          "type": "string"
        },
        "uid": {
          "description": "Output only. System generated unique ID for the Entity. This ID will be different if the Entity is deleted and re-created with the same name.",
          "readOnly": true,
          "type": "string"
        },
        "updateTime": {
          "description": "Output only. The time when the entity was last updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "etag": {
          "type": "string",
          "description": "Optional. The etag associated with the entity, which can be retrieved with a GetEntity request. Required for update and delete requests."
        },
        "type": {
          "description": "Required. Immutable. The type of entity.",
          "type": "string",
          "enumDescriptions": [
            "Type unspecified.",
            "Structured and semi-structured data.",
            "Unstructured data."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "TABLE",
            "FILESET"
          ]
        },
        "schema": {
          "description": "Required. The description of the data structure and layout. The schema is not included in list responses. It is only included in SCHEMA and FULL entity views of a GetEntity response.",
          "$ref": "GoogleCloudDataplexV1Schema"
        },
        "id": {
          "type": "string",
          "description": "Required. A user-provided entity ID. It is mutable, and will be used as the published table name. Specifying a new ID in an update entity request will override the existing value. The ID must contain only letters (a-z, A-Z), numbers (0-9), and underscores, and consist of 256 or fewer characters."
        },
        "asset": {
          "type": "string",
          "description": "Required. Immutable. The ID of the asset associated with the storage location containing the entity data. The entity must be with in the same zone with the asset."
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityRuleRuleSourceRulePathElementEntrySource": {
      "id": "GoogleCloudDataplexV1DataQualityRuleRuleSourceRulePathElementEntrySource",
      "description": "Entry source represents information about the related source entry.",
      "type": "object",
      "properties": {
        "entry": {
          "type": "string",
          "description": "Output only. The entry name in the form of: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}",
          "readOnly": true
        },
        "entryType": {
          "description": "Output only. The entry type to represent the current characteristics of the entry in the form of: projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry-type-id}.",
          "readOnly": true,
          "type": "string"
        },
        "displayName": {
          "type": "string",
          "description": "Output only. The display name of the entry.",
          "readOnly": true
        }
      }
    },
    "GoogleCloudLocationLocation": {
      "type": "object",
      "properties": {
        "locationId": {
          "description": "The canonical id for this location. For example: \"us-east1\".",
          "type": "string"
        },
        "displayName": {
          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
          "type": "string"
        },
        "name": {
          "description": "Resource name for the location, which may vary between implementations. For example: \"projects/example-project/locations/us-east1\"",
          "type": "string"
        },
        "metadata": {
          "description": "Service-specific metadata. For example the available capacity at the given location.",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "type": "object"
        },
        "labels": {
          "type": "object",
          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"} ",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "id": "GoogleCloudLocationLocation",
      "description": "A resource that represents a Google Cloud location."
    },
    "GoogleCloudDataplexV1DataScanEventDataProfileAppliedConfigs": {
      "type": "object",
      "properties": {
        "samplingPercent": {
          "description": "The percentage of the records selected from the dataset for DataScan. Value ranges between 0.0 and 100.0. Value 0.0 or 100.0 imply that sampling was not applied.",
          "type": "number",
          "format": "float"
        },
        "columnFilterApplied": {
          "type": "boolean",
          "description": "Boolean indicating whether a column filter was applied in the DataScan job."
        },
        "rowFilterApplied": {
          "type": "boolean",
          "description": "Boolean indicating whether a row filter was applied in the DataScan job."
        }
      },
      "id": "GoogleCloudDataplexV1DataScanEventDataProfileAppliedConfigs",
      "description": "Applied configs for data profile type data scan job."
    },
    "GoogleCloudDataplexV1DataQualitySpecPostScanActionsJobEndTrigger": {
      "id": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsJobEndTrigger",
      "description": "This trigger is triggered whenever a scan job run ends, regardless of the result.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudDataplexV1MetadataJobImportJobResult": {
      "type": "object",
      "properties": {
        "createdEntryLinks": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The total number of entry links that were successfully created.",
          "readOnly": true
        },
        "updateTime": {
          "description": "Output only. The time when the status was updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "unchangedEntryLinks": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The total number of entry links that were left unchanged.",
          "readOnly": true
        },
        "unchangedEntries": {
          "description": "Output only. The total number of entries that were unchanged.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "recreatedEntries": {
          "description": "Output only. The total number of entries that were recreated.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "updatedEntries": {
          "description": "Output only. The total number of entries that were updated.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "createdEntries": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The total number of entries that were created.",
          "readOnly": true
        },
        "deletedEntryLinks": {
          "description": "Output only. The total number of entry links that were successfully deleted.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "deletedEntries": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The total number of entries that were deleted.",
          "readOnly": true
        }
      },
      "id": "GoogleCloudDataplexV1MetadataJobImportJobResult",
      "description": "Results from a metadata import job."
    },
    "GoogleCloudDataplexV1DataProfileSpecSelectedFields": {
      "id": "GoogleCloudDataplexV1DataProfileSpecSelectedFields",
      "description": "The specification for fields to include or exclude in data profile scan.",
      "type": "object",
      "properties": {
        "fieldNames": {
          "description": "Optional. Expected input is a list of fully qualified names of fields as in the schema.Only top-level field names for nested fields are supported. For instance, if 'x' is of nested field type, listing 'x' is supported but 'x.y.z' is not supported. Here 'y' and 'y.z' are nested fields of 'x'.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "GoogleCloudDataplexV1MetadataJob": {
      "id": "GoogleCloudDataplexV1MetadataJob",
      "description": "A metadata job resource.",
      "type": "object",
      "properties": {
        "exportSpec": {
          "$ref": "GoogleCloudDataplexV1MetadataJobExportJobSpec",
          "description": "Export job specification."
        },
        "status": {
          "description": "Output only. Metadata job status.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1MetadataJobStatus"
        },
        "updateTime": {
          "description": "Output only. The time when the metadata job was updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "name": {
          "type": "string",
          "description": "Output only. Identifier. The name of the resource that the configuration is applied to, in the format projects/{project_number}/locations/{location_id}/metadataJobs/{metadata_job_id}.",
          "readOnly": true
        },
        "type": {
          "type": "string",
          "enumDescriptions": [
            "Unspecified.",
            "Import job.",
            "Export job."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "IMPORT",
            "EXPORT"
          ],
          "description": "Required. Metadata job type."
        },
        "importSpec": {
          "$ref": "GoogleCloudDataplexV1MetadataJobImportJobSpec",
          "description": "Import job specification."
        },
        "uid": {
          "type": "string",
          "description": "Output only. A system-generated, globally unique ID for the metadata job. If the metadata job is deleted and then re-created with the same name, this ID is different.",
          "readOnly": true
        },
        "importResult": {
          "description": "Output only. Import job result.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1MetadataJobImportJobResult"
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the metadata job was created.",
          "readOnly": true
        },
        "labels": {
          "description": "Optional. User-defined labels.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "exportResult": {
          "description": "Output only. Export job result.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1MetadataJobExportJobResult"
        }
      }
    },
    "GoogleCloudDataplexV1DataQualitySpecPostScanActionsRecipients": {
      "type": "object",
      "properties": {
        "emails": {
          "description": "Optional. The email recipients who will receive the DataQualityScan results report.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "id": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsRecipients",
      "description": "The individuals or groups who are designated to receive notifications upon triggers."
    },
    "GoogleCloudDataplexV1StorageFormat": {
      "id": "GoogleCloudDataplexV1StorageFormat",
      "description": "Describes the format of the data within its storage location.",
      "type": "object",
      "properties": {
        "mimeType": {
          "description": "Required. The mime type descriptor for the data. Must match the pattern {type}/{subtype}. Supported values: application/x-parquet application/x-avro application/x-orc application/x-tfrecord application/x-parquet+iceberg application/x-avro+iceberg application/x-orc+iceberg application/json application/{subtypes} text/csv text/ image/{image subtype} video/{video subtype} audio/{audio subtype}",
          "type": "string"
        },
        "json": {
          "$ref": "GoogleCloudDataplexV1StorageFormatJsonOptions",
          "description": "Optional. Additional information about CSV formatted data."
        },
        "iceberg": {
          "$ref": "GoogleCloudDataplexV1StorageFormatIcebergOptions",
          "description": "Optional. Additional information about iceberg tables."
        },
        "format": {
          "type": "string",
          "enumDescriptions": [
            "Format unspecified.",
            "Parquet-formatted structured data.",
            "Avro-formatted structured data.",
            "Orc-formatted structured data.",
            "Csv-formatted semi-structured data.",
            "Json-formatted semi-structured data.",
            "Image data formats (such as jpg and png).",
            "Audio data formats (such as mp3, and wav).",
            "Video data formats (such as mp4 and mpg).",
            "Textual data formats (such as txt and xml).",
            "TensorFlow record format.",
            "Data that doesn't match a specific format.",
            "Data of an unknown format."
          ],
          "enum": [
            "FORMAT_UNSPECIFIED",
            "PARQUET",
            "AVRO",
            "ORC",
            "CSV",
            "JSON",
            "IMAGE",
            "AUDIO",
            "VIDEO",
            "TEXT",
            "TFRECORD",
            "OTHER",
            "UNKNOWN"
          ],
          "description": "Output only. The data format associated with the stored data, which represents content type values. The value is inferred from mime type.",
          "readOnly": true
        },
        "csv": {
          "description": "Optional. Additional information about CSV formatted data.",
          "$ref": "GoogleCloudDataplexV1StorageFormatCsvOptions"
        },
        "compressionFormat": {
          "description": "Optional. The compression type associated with the stored data. If unspecified, the data is uncompressed.",
          "type": "string",
          "enumDescriptions": [
            "CompressionFormat unspecified. Implies uncompressed data.",
            "GZip compressed set of files.",
            "BZip2 compressed set of files."
          ],
          "enum": [
            "COMPRESSION_FORMAT_UNSPECIFIED",
            "GZIP",
            "BZIP2"
          ]
        }
      }
    },
    "GoogleCloudDataplexV1DataDocumentationResultTableResult": {
      "id": "GoogleCloudDataplexV1DataDocumentationResultTableResult",
      "description": "Insights for a table resource.",
      "type": "object",
      "properties": {
        "schema": {
          "$ref": "GoogleCloudDataplexV1DataDocumentationResultSchema",
          "description": "Output only. Schema of the table with generated metadata of the columns in the schema.",
          "readOnly": true
        },
        "name": {
          "description": "Output only. The service-qualified full resource name of the cloud resource. Ex: //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID",
          "readOnly": true,
          "type": "string"
        },
        "queries": {
          "description": "Output only. Sample SQL queries for the table.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataDocumentationResultQuery"
          },
          "type": "array"
        },
        "overview": {
          "type": "string",
          "description": "Output only. Generated description of the table.",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1DataScanExecutionStatus": {
      "id": "GoogleCloudDataplexV1DataScanExecutionStatus",
      "description": "Status of the data scan execution.",
      "type": "object",
      "properties": {
        "latestJobStartTime": {
          "description": "Optional. The time when the latest DataScanJob started.",
          "type": "string",
          "format": "google-datetime"
        },
        "latestJobEndTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Optional. The time when the latest DataScanJob ended."
        },
        "latestJobCreateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Optional. The time when the DataScanJob execution was created."
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityDimension": {
      "id": "GoogleCloudDataplexV1DataQualityDimension",
      "description": "A dimension captures data quality intent about a defined subset of the rules specified.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. The dimension name a rule belongs to. Custom dimension name is supported with all uppercase letters and maximum length of 30 characters.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoStringFieldInfo": {
      "type": "object",
      "properties": {
        "averageLength": {
          "description": "Output only. Average length of non-null values in the scanned data.",
          "readOnly": true,
          "type": "number",
          "format": "double"
        },
        "maxLength": {
          "type": "string",
          "format": "int64",
          "description": "Output only. Maximum length of non-null values in the scanned data.",
          "readOnly": true
        },
        "minLength": {
          "description": "Output only. Minimum length of non-null values in the scanned data.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        }
      },
      "id": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoStringFieldInfo",
      "description": "The profile information for a string type field."
    },
    "GoogleCloudDataplexV1LakeMetastoreStatus": {
      "id": "GoogleCloudDataplexV1LakeMetastoreStatus",
      "description": "Status of Lake and Dataproc Metastore service instance association.",
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Additional information about the current status."
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Last update time of the metastore status of the lake."
        },
        "state": {
          "type": "string",
          "enumDescriptions": [
            "Unspecified.",
            "A Metastore service instance is not associated with the lake.",
            "A Metastore service instance is attached to the lake.",
            "Attach/detach is in progress.",
            "Attach/detach could not be done due to errors."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "NONE",
            "READY",
            "UPDATING",
            "ERROR"
          ],
          "description": "Current state of association."
        },
        "endpoint": {
          "type": "string",
          "description": "The URI of the endpoint used to access the Metastore service."
        }
      }
    },
    "GoogleCloudDataplexV1DataQualitySpecPostScanActionsJobFailureTrigger": {
      "id": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsJobFailureTrigger",
      "description": "This trigger is triggered when the scan job itself fails, regardless of the result.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudDataplexV1DataScanEventDataQualityAppliedConfigs": {
      "type": "object",
      "properties": {
        "rowFilterApplied": {
          "description": "Boolean indicating whether a row filter was applied in the DataScan job.",
          "type": "boolean"
        },
        "samplingPercent": {
          "description": "The percentage of the records selected from the dataset for DataScan. Value ranges between 0.0 and 100.0. Value 0.0 or 100.0 imply that sampling was not applied.",
          "type": "number",
          "format": "float"
        }
      },
      "id": "GoogleCloudDataplexV1DataScanEventDataQualityAppliedConfigs",
      "description": "Applied configs for data quality type data scan job."
    },
    "GoogleCloudDataplexV1GovernanceEvent": {
      "id": "GoogleCloudDataplexV1GovernanceEvent",
      "description": "Payload associated with Governance related log events.",
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "The log message."
        },
        "eventType": {
          "type": "string",
          "enumDescriptions": [
            "An unspecified event type.",
            "Resource IAM policy update event.",
            "BigQuery table create event.",
            "BigQuery table update event.",
            "BigQuery table delete event.",
            "BigQuery connection create event.",
            "BigQuery connection update event.",
            "BigQuery connection delete event.",
            "BigQuery taxonomy created.",
            "BigQuery policy tag created.",
            "BigQuery policy tag deleted.",
            "BigQuery set iam policy for policy tag.",
            "Access policy update event.",
            "Number of resources matched with particular Query.",
            "Rule processing exceeds the allowed limit.",
            "Rule processing errors.",
            "Governance rule processing Event."
          ],
          "enum": [
            "EVENT_TYPE_UNSPECIFIED",
            "RESOURCE_IAM_POLICY_UPDATE",
            "BIGQUERY_TABLE_CREATE",
            "BIGQUERY_TABLE_UPDATE",
            "BIGQUERY_TABLE_DELETE",
            "BIGQUERY_CONNECTION_CREATE",
            "BIGQUERY_CONNECTION_UPDATE",
            "BIGQUERY_CONNECTION_DELETE",
            "BIGQUERY_TAXONOMY_CREATE",
            "BIGQUERY_POLICY_TAG_CREATE",
            "BIGQUERY_POLICY_TAG_DELETE",
            "BIGQUERY_POLICY_TAG_SET_IAM_POLICY",
            "ACCESS_POLICY_UPDATE",
            "GOVERNANCE_RULE_MATCHED_RESOURCES",
            "GOVERNANCE_RULE_SEARCH_LIMIT_EXCEEDS",
            "GOVERNANCE_RULE_ERRORS",
            "GOVERNANCE_RULE_PROCESSING"
          ],
          "description": "The type of the event."
        },
        "entity": {
          "description": "Entity resource information if the log event is associated with a specific entity.",
          "$ref": "GoogleCloudDataplexV1GovernanceEventEntity"
        }
      }
    },
    "GoogleCloudDataplexV1DataProfileResultPostScanActionsResultBigQueryExportResult": {
      "id": "GoogleCloudDataplexV1DataProfileResultPostScanActionsResultBigQueryExportResult",
      "description": "The result of BigQuery export post scan action.",
      "type": "object",
      "properties": {
        "message": {
          "description": "Output only. Additional information about the BigQuery exporting.",
          "readOnly": true,
          "type": "string"
        },
        "state": {
          "readOnly": true,
          "description": "Output only. Execution state for the BigQuery exporting.",
          "type": "string",
          "enumDescriptions": [
            "The exporting state is unspecified.",
            "The exporting completed successfully.",
            "The exporting is no longer running due to an error.",
            "The exporting is skipped due to no valid scan result to export (usually caused by scan failed)."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "SUCCEEDED",
            "FAILED",
            "SKIPPED"
          ]
        }
      }
    },
    "GoogleCloudDataplexV1DataQualitySpecPostScanActionsBigQueryExport": {
      "id": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsBigQueryExport",
      "description": "The configuration of BigQuery export post scan action.",
      "type": "object",
      "properties": {
        "resultsTable": {
          "description": "Optional. The BigQuery table to export DataQualityScan results to. Format: //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID or projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1DataProfileSpec": {
      "type": "object",
      "properties": {
        "catalogPublishingEnabled": {
          "type": "boolean",
          "description": "Optional. If set, the latest DataScan job result will be published as Dataplex Universal Catalog metadata."
        },
        "samplingPercent": {
          "type": "number",
          "format": "float",
          "description": "Optional. The percentage of the records to be selected from the dataset for DataScan. Value can range between 0.0 and 100.0 with up to 3 significant decimal digits. Sampling is not applied if sampling_percent is not specified, 0 or 100."
        },
        "rowFilter": {
          "description": "Optional. A filter applied to all rows in a single DataScan job. The filter needs to be a valid SQL expression for a WHERE clause in BigQuery standard SQL syntax. Example: col1 \u003e= 0 AND col2 \u003c 10",
          "type": "string"
        },
        "postScanActions": {
          "$ref": "GoogleCloudDataplexV1DataProfileSpecPostScanActions",
          "description": "Optional. Actions to take upon job completion.."
        },
        "mode": {
          "type": "string",
          "enumDescriptions": [
            "Default value. This value is unused.",
            "Performs standard profiling. The behavior is controlled by other fields such as sampling_percent, row_filter, and column filters. This mode allows for full scans or custom sampling.",
            "Specifies lightweight profiling mode. This mode is optimized for low-latency low-fidelity profiling.When this mode is selected, the following fields must not be set: - sampling_percent - row_filter - include_fields - exclude_fields"
          ],
          "enum": [
            "MODE_UNSPECIFIED",
            "STANDARD",
            "LIGHTWEIGHT"
          ],
          "description": "Optional. The execution mode for the profile scan."
        },
        "includeFields": {
          "description": "Optional. The fields to include in data profile.If not specified, all fields at the time of profile scan job execution are included, except for ones listed in exclude_fields.",
          "$ref": "GoogleCloudDataplexV1DataProfileSpecSelectedFields"
        },
        "excludeFields": {
          "$ref": "GoogleCloudDataplexV1DataProfileSpecSelectedFields",
          "description": "Optional. The fields to exclude from data profile.If specified, the fields will be excluded from data profile, regardless of include_fields value."
        }
      },
      "id": "GoogleCloudDataplexV1DataProfileSpec",
      "description": "DataProfileScan related setting."
    },
    "GoogleCloudDataplexV1DiscoveryEventEntityDetails": {
      "id": "GoogleCloudDataplexV1DiscoveryEventEntityDetails",
      "description": "Details about the entity.",
      "type": "object",
      "properties": {
        "entity": {
          "type": "string",
          "description": "The name of the entity resource. The name is the fully-qualified resource name."
        },
        "type": {
          "description": "The type of the entity resource.",
          "type": "string",
          "enumDescriptions": [
            "An unspecified event type.",
            "Entities representing structured data.",
            "Entities representing unstructured data."
          ],
          "enum": [
            "ENTITY_TYPE_UNSPECIFIED",
            "TABLE",
            "FILESET"
          ]
        }
      }
    },
    "GoogleCloudDataplexV1ExecutionIdentityUserCredential": {
      "id": "GoogleCloudDataplexV1ExecutionIdentityUserCredential",
      "description": "The credential of the calling user.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudDataplexV1Partition": {
      "type": "object",
      "properties": {
        "values": {
          "type": "array",
          "description": "Required. Immutable. The set of values representing the partition, which correspond to the partition schema defined in the parent entity.",
          "items": {
            "type": "string"
          }
        },
        "name": {
          "type": "string",
          "description": "Output only. Partition values used in the HTTP URL must be double encoded. For example, url_encode(url_encode(value)) can be used to encode \"US:CA/CA#Sunnyvale so that the request URL ends with \"/partitions/US%253ACA/CA%2523Sunnyvale\". The name field in the response retains the encoded format.",
          "readOnly": true
        },
        "location": {
          "description": "Required. Immutable. The location of the entity data within the partition, for example, gs://bucket/path/to/entity/key1=value1/key2=value2. Or projects//datasets//tables/",
          "type": "string"
        },
        "etag": {
          "description": "Optional. The etag for this partition.",
          "deprecated": true,
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1Partition",
      "description": "Represents partition metadata contained within entity instances."
    },
    "GoogleCloudDataplexV1EntryLink": {
      "type": "object",
      "properties": {
        "createTime": {
          "description": "Output only. The time when the Entry Link was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the Entry Link was last updated.",
          "readOnly": true
        },
        "aspects": {
          "type": "object",
          "description": "Optional. The aspects that are attached to the entry link. The format of the aspect key has to be the following: {project_id_or_number}.{location_id}.{aspect_type_id} Currently, only a single aspect of a Dataplex-owned Aspect Type is allowed.",
          "additionalProperties": {
            "$ref": "GoogleCloudDataplexV1Aspect"
          }
        },
        "name": {
          "type": "string",
          "description": "Output only. Immutable. Identifier. The relative resource name of the Entry Link, of the form: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}",
          "readOnly": true
        },
        "entryReferences": {
          "description": "Required. Immutable. Specifies the Entries referenced in the Entry Link. There should be exactly two entry references.",
          "items": {
            "$ref": "GoogleCloudDataplexV1EntryLinkEntryReference"
          },
          "type": "array"
        },
        "entryLinkType": {
          "description": "Required. Immutable. Relative resource name of the Entry Link Type used to create this Entry Link. For example: Entry link between synonym terms in a glossary: projects/dataplex-types/locations/global/entryLinkTypes/synonym Entry link between related terms in a glossary: projects/dataplex-types/locations/global/entryLinkTypes/related Entry link between glossary terms and data assets: projects/dataplex-types/locations/global/entryLinkTypes/definition",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1EntryLink",
      "description": "EntryLink represents a link between two Entries."
    },
    "GoogleCloudDataplexV1DataQualityResult": {
      "type": "object",
      "properties": {
        "postScanActionsResult": {
          "description": "Output only. The result of post scan actions.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataQualityResultPostScanActionsResult"
        },
        "passed": {
          "type": "boolean",
          "description": "Output only. Overall data quality result -- true if all rules passed.",
          "readOnly": true
        },
        "columns": {
          "description": "Output only. A list of results at the column level.A column will have a corresponding DataQualityColumnResult if and only if there is at least one rule with the 'column' field set to it.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityColumnResult"
          },
          "type": "array"
        },
        "scannedData": {
          "description": "Output only. The data scanned for this result.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1ScannedData"
        },
        "catalogPublishingStatus": {
          "description": "Output only. The status of publishing the data scan as Dataplex Universal Catalog metadata.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataScanCatalogPublishingStatus"
        },
        "anomalyDetectionGeneratedAssets": {
          "description": "Output only. The generated assets for anomaly detection.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataQualityResultAnomalyDetectionGeneratedAssets"
        },
        "rowCount": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The count of rows processed.",
          "readOnly": true
        },
        "score": {
          "description": "Output only. The overall data quality score.The score ranges between 0, 100 (up to two decimal points).",
          "readOnly": true,
          "type": "number",
          "format": "float"
        },
        "dimensions": {
          "description": "Output only. A list of results at the dimension level.A dimension will have a corresponding DataQualityDimensionResult if and only if there is at least one rule with the 'dimension' field set to it.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityDimensionResult"
          },
          "type": "array"
        },
        "rules": {
          "description": "Output only. A list of all the rules in a job, and their results.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityRuleResult"
          },
          "type": "array"
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityResult",
      "description": "The output of a DataQualityScan."
    },
    "GoogleCloudDataplexV1Action": {
      "type": "object",
      "properties": {
        "invalidDataPartition": {
          "description": "Details for issues related to invalid or unsupported data partition structure.",
          "$ref": "GoogleCloudDataplexV1ActionInvalidDataPartition"
        },
        "issue": {
          "type": "string",
          "description": "Detailed description of the issue requiring action."
        },
        "category": {
          "type": "string",
          "enumDescriptions": [
            "Unspecified category.",
            "Resource management related issues.",
            "Security policy related issues.",
            "Data and discovery related issues."
          ],
          "enum": [
            "CATEGORY_UNSPECIFIED",
            "RESOURCE_MANAGEMENT",
            "SECURITY_POLICY",
            "DATA_DISCOVERY"
          ],
          "description": "The category of issue associated with the action."
        },
        "name": {
          "description": "Output only. The relative resource name of the action, of the form: projects/{project}/locations/{location}/lakes/{lake}/actions/{action} projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/actions/{action} projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/assets/{asset}/actions/{action}.",
          "readOnly": true,
          "type": "string"
        },
        "lake": {
          "type": "string",
          "description": "Output only. The relative resource name of the lake, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.",
          "readOnly": true
        },
        "incompatibleDataSchema": {
          "description": "Details for issues related to incompatible schemas detected within data.",
          "$ref": "GoogleCloudDataplexV1ActionIncompatibleDataSchema"
        },
        "detectTime": {
          "description": "The time that the issue was detected.",
          "type": "string",
          "format": "google-datetime"
        },
        "zone": {
          "type": "string",
          "description": "Output only. The relative resource name of the zone, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.",
          "readOnly": true
        },
        "invalidDataOrganization": {
          "$ref": "GoogleCloudDataplexV1ActionInvalidDataOrganization",
          "description": "Details for issues related to invalid data arrangement."
        },
        "asset": {
          "description": "Output only. The relative resource name of the asset, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}.",
          "readOnly": true,
          "type": "string"
        },
        "unauthorizedResource": {
          "$ref": "GoogleCloudDataplexV1ActionUnauthorizedResource",
          "description": "Details for issues related to lack of permissions to access data resources."
        },
        "invalidDataFormat": {
          "$ref": "GoogleCloudDataplexV1ActionInvalidDataFormat",
          "description": "Details for issues related to invalid or unsupported data formats."
        },
        "missingResource": {
          "description": "Details for issues related to absence of a managed resource.",
          "$ref": "GoogleCloudDataplexV1ActionMissingResource"
        },
        "failedSecurityPolicyApply": {
          "description": "Details for issues related to applying security policy.",
          "$ref": "GoogleCloudDataplexV1ActionFailedSecurityPolicyApply"
        },
        "dataLocations": {
          "type": "array",
          "description": "The list of data locations associated with this action. Cloud Storage locations are represented as URI paths(E.g. gs://bucket/table1/year=2020/month=Jan/). BigQuery locations refer to resource names(E.g. bigquery.googleapis.com/projects/project-id/datasets/dataset-id).",
          "items": {
            "type": "string"
          }
        },
        "missingData": {
          "$ref": "GoogleCloudDataplexV1ActionMissingData",
          "description": "Details for issues related to absence of data within managed resources."
        }
      },
      "id": "GoogleCloudDataplexV1Action",
      "description": "Action represents an issue requiring administrator action for resolution."
    },
    "GoogleCloudDataplexV1DataDiscoveryResult": {
      "id": "GoogleCloudDataplexV1DataDiscoveryResult",
      "description": "The output of a data discovery scan.",
      "type": "object",
      "properties": {
        "scanStatistics": {
          "$ref": "GoogleCloudDataplexV1DataDiscoveryResultScanStatistics",
          "description": "Output only. Describes result statistics of a data scan discovery job.",
          "readOnly": true
        },
        "bigqueryPublishing": {
          "$ref": "GoogleCloudDataplexV1DataDiscoveryResultBigQueryPublishing",
          "description": "Output only. Configuration for metadata publishing.",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1DataScanExecutionSpec": {
      "type": "object",
      "properties": {
        "trigger": {
          "description": "Optional. Spec related to how often and when a scan should be triggered.If not specified, the default is OnDemand, which means the scan will not run until the user calls RunDataScan API.",
          "$ref": "GoogleCloudDataplexV1Trigger"
        },
        "field": {
          "type": "string",
          "description": "Immutable. The unnested field (of type Date or Timestamp) that contains values which monotonically increase over time.If not specified, a data scan will run for all data in the table."
        }
      },
      "id": "GoogleCloudDataplexV1DataScanExecutionSpec",
      "description": "DataScan execution settings."
    },
    "GoogleCloudDataplexV1DataDocumentationResultSchema": {
      "id": "GoogleCloudDataplexV1DataDocumentationResultSchema",
      "description": "Schema of the table with generated metadata of columns.",
      "type": "object",
      "properties": {
        "fields": {
          "description": "Output only. The list of columns.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataDocumentationResultField"
          },
          "type": "array"
        }
      }
    },
    "GoogleCloudDataplexV1JobEvent": {
      "id": "GoogleCloudDataplexV1JobEvent",
      "description": "The payload associated with Job logs that contains events describing jobs that have run within a Lake.",
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enumDescriptions": [
            "Unspecified job type.",
            "Spark jobs.",
            "Notebook jobs."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "SPARK",
            "NOTEBOOK"
          ],
          "description": "The type of the job."
        },
        "serviceJob": {
          "description": "The reference to the job within the service.",
          "type": "string"
        },
        "jobId": {
          "type": "string",
          "description": "The unique id identifying the job."
        },
        "service": {
          "type": "string",
          "enumDescriptions": [
            "Unspecified service.",
            "Cloud Dataproc."
          ],
          "enum": [
            "SERVICE_UNSPECIFIED",
            "DATAPROC"
          ],
          "description": "The service used to execute the job."
        },
        "retries": {
          "type": "integer",
          "format": "int32",
          "description": "The number of retries."
        },
        "endTime": {
          "description": "The time when the job ended running.",
          "type": "string",
          "format": "google-datetime"
        },
        "startTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "The time when the job started running."
        },
        "message": {
          "description": "The log message.",
          "type": "string"
        },
        "state": {
          "description": "The job state on completion.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified job state.",
            "Job successfully completed.",
            "Job was unsuccessful.",
            "Job was cancelled by the user.",
            "Job was cancelled or aborted via the service executing the job."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "SUCCEEDED",
            "FAILED",
            "CANCELLED",
            "ABORTED"
          ]
        },
        "executionTrigger": {
          "type": "string",
          "enumDescriptions": [
            "The job execution trigger is unspecified.",
            "The job was triggered by Dataplex Universal Catalog based on trigger spec from task definition.",
            "The job was triggered by the explicit call of Task API."
          ],
          "enum": [
            "EXECUTION_TRIGGER_UNSPECIFIED",
            "TASK_CONFIG",
            "RUN_REQUEST"
          ],
          "description": "Job execution trigger."
        }
      }
    },
    "GoogleCloudDataplexV1DataAssetAccessGroupConfig": {
      "type": "object",
      "properties": {
        "iamRoles": {
          "type": "array",
          "description": "Optional. IAM roles granted on the resource to this access group. Role name follows https://cloud.google.com/iam/docs/reference/rest/v1/roles.Example: [ \"roles/bigquery.dataViewer\" ]",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "GoogleCloudDataplexV1DataAssetAccessGroupConfig",
      "description": "Configuration for access group inherited from the parent data product."
    },
    "GoogleCloudDataplexV1DataQualityDimensionResult": {
      "id": "GoogleCloudDataplexV1DataQualityDimensionResult",
      "description": "DataQualityDimensionResult provides a more detailed, per-dimension view of the results.",
      "type": "object",
      "properties": {
        "dimension": {
          "description": "Output only. The dimension config specified in the DataQualitySpec, as is.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataQualityDimension"
        },
        "passed": {
          "type": "boolean",
          "description": "Output only. Whether the dimension passed or failed.",
          "readOnly": true
        },
        "score": {
          "type": "number",
          "format": "float",
          "description": "Output only. The dimension-level data quality score for this data scan job if and only if the 'dimension' field is set.The score ranges between 0, 100 (up to two decimal points).",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1ListGlossaryTermsResponse": {
      "type": "object",
      "properties": {
        "terms": {
          "type": "array",
          "description": "Lists the GlossaryTerms in the specified parent.",
          "items": {
            "$ref": "GoogleCloudDataplexV1GlossaryTerm"
          }
        },
        "unreachableLocations": {
          "description": "Locations that the service couldn't reach.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1ListGlossaryTermsResponse",
      "description": "List GlossaryTerms Response"
    },
    "GoogleCloudDataplexV1ListActionsResponse": {
      "id": "GoogleCloudDataplexV1ListActionsResponse",
      "description": "List actions response.",
      "type": "object",
      "properties": {
        "actions": {
          "type": "array",
          "description": "Actions under the given parent lake/zone/asset.",
          "items": {
            "$ref": "GoogleCloudDataplexV1Action"
          }
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1TriggerOnDemand": {
      "type": "object",
      "properties": {},
      "id": "GoogleCloudDataplexV1TriggerOnDemand",
      "description": "The scan runs once via RunDataScan API."
    },
    "GoogleCloudDataplexV1ZoneResourceSpec": {
      "id": "GoogleCloudDataplexV1ZoneResourceSpec",
      "description": "Settings for resources attached as assets within a zone.",
      "type": "object",
      "properties": {
        "locationType": {
          "description": "Required. Immutable. The location type of the resources that are allowed to be attached to the assets within this zone.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified location type.",
            "Resources that are associated with a single region.",
            "Resources that are associated with a multi-region location."
          ],
          "enum": [
            "LOCATION_TYPE_UNSPECIFIED",
            "SINGLE_REGION",
            "MULTI_REGION"
          ]
        }
      }
    },
    "GoogleCloudDataplexV1DataQualitySpec": {
      "id": "GoogleCloudDataplexV1DataQualitySpec",
      "description": "DataQualityScan related setting.",
      "type": "object",
      "properties": {
        "catalogPublishingEnabled": {
          "type": "boolean",
          "description": "Optional. If set, the latest DataScan job result will be published as Dataplex Universal Catalog metadata."
        },
        "filter": {
          "type": "string",
          "description": "Optional. Filter for selectively running a subset of rules. You can filter the request by the name or attribute key-value pairs defined on the rule. If not specified, all rules are run. The filter is applicable to both, the rules retrieved from catalog and explicitly defined rules in the scan. Please see filter syntax (https://docs.cloud.google.com/dataplex/docs/auto-data-quality-overview#rule-filtering) for more details."
        },
        "samplingPercent": {
          "description": "Optional. The percentage of the records to be selected from the dataset for DataScan. Value can range between 0.0 and 100.0 with up to 3 significant decimal digits. Sampling is not applied if sampling_percent is not specified, 0 or 100.",
          "type": "number",
          "format": "float"
        },
        "rowFilter": {
          "type": "string",
          "description": "Optional. A filter applied to all rows in a single DataScan job. The filter needs to be a valid SQL expression for a WHERE clause in GoogleSQL syntax (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#where_clause).Example: col1 \u003e= 0 AND col2 \u003c 10"
        },
        "postScanActions": {
          "$ref": "GoogleCloudDataplexV1DataQualitySpecPostScanActions",
          "description": "Optional. Actions to take upon job completion."
        },
        "rules": {
          "type": "array",
          "description": "Required. The list of rules to evaluate against a data source. At least one rule is required.",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityRule"
          }
        },
        "enableCatalogBasedRules": {
          "type": "boolean",
          "description": "Optional. If enabled, the data scan will retrieve rules defined in the dataplex-types.global.data-rules aspect on all paths of the catalog entry corresponding to the BigQuery table resource and all attached glossary terms. The path that data-rules aspect is attached on the table entry defines the column that the rule will be evaluated against. For glossary terms, the path that the terms are attached on the table entry defines the column that the rule will be evaluated against. At the start of scan execution, the rules reflect the latest state retrieved from the catalog entry and any updates on the rules thereafter are ignored for that execution. The updates will be reflected from the next execution. Rules defined in the datascan must be empty if this field is enabled."
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityRuleNonNullExpectation": {
      "type": "object",
      "properties": {},
      "id": "GoogleCloudDataplexV1DataQualityRuleNonNullExpectation",
      "description": "Evaluates whether each column value is null."
    },
    "GoogleCloudDataplexV1DataQualityRuleSetExpectation": {
      "type": "object",
      "properties": {
        "values": {
          "type": "array",
          "description": "Optional. Expected values for the column value.",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityRuleSetExpectation",
      "description": "Evaluates whether each column value is contained by a specified set."
    },
    "GoogleCloudDataplexV1ExecutionIdentity": {
      "type": "object",
      "properties": {
        "userCredential": {
          "$ref": "GoogleCloudDataplexV1ExecutionIdentityUserCredential",
          "description": "Optional. The credential of the calling user. Supports only ONE_TIME trigger type."
        },
        "serviceAccount": {
          "description": "Optional. The provided service account.",
          "$ref": "GoogleCloudDataplexV1ExecutionIdentityServiceAccount"
        },
        "dataplexServiceAgent": {
          "description": "Optional. The Dataplex service agent associated with the user's project.",
          "$ref": "GoogleCloudDataplexV1ExecutionIdentityDataplexServiceAgent"
        }
      },
      "id": "GoogleCloudDataplexV1ExecutionIdentity",
      "description": "The identity to run the datascan."
    },
    "GoogleCloudDataplexV1DataQualityScanRuleResult": {
      "type": "object",
      "properties": {
        "passedRowCount": {
          "description": "The number of rows which passed a rule evaluation. This field is only valid for rules of PER_ROW evaluation type.",
          "type": "string",
          "format": "int64"
        },
        "ruleName": {
          "type": "string",
          "description": "The name of the data quality rule."
        },
        "assertionRowCount": {
          "description": "The number of rows returned by the SQL statement in a SQL assertion rule. This field is only valid for SQL assertion rules.",
          "type": "string",
          "format": "int64"
        },
        "result": {
          "description": "The result of the data quality rule.",
          "type": "string",
          "enumDescriptions": [
            "An unspecified result.",
            "The data quality rule passed.",
            "The data quality rule failed."
          ],
          "enum": [
            "RESULT_UNSPECIFIED",
            "PASSED",
            "FAILED"
          ]
        },
        "column": {
          "description": "The column which this rule is evaluated against.",
          "type": "string"
        },
        "ruleType": {
          "type": "string",
          "enumDescriptions": [
            "An unspecified rule type.",
            "See DataQualityRule.NonNullExpectation.",
            "See DataQualityRule.RangeExpectation.",
            "See DataQualityRule.RegexExpectation.",
            "See DataQualityRule.RowConditionExpectation.",
            "See DataQualityRule.SetExpectation.",
            "See DataQualityRule.StatisticRangeExpectation.",
            "See DataQualityRule.TableConditionExpectation.",
            "See DataQualityRule.UniquenessExpectation.",
            "See DataQualityRule.SqlAssertion.",
            "See DataQualityRule.TemplateReference."
          ],
          "enum": [
            "RULE_TYPE_UNSPECIFIED",
            "NON_NULL_EXPECTATION",
            "RANGE_EXPECTATION",
            "REGEX_EXPECTATION",
            "ROW_CONDITION_EXPECTATION",
            "SET_EXPECTATION",
            "STATISTIC_RANGE_EXPECTATION",
            "TABLE_CONDITION_EXPECTATION",
            "UNIQUENESS_EXPECTATION",
            "SQL_ASSERTION",
            "TEMPLATE_REFERENCE"
          ],
          "description": "The type of the data quality rule."
        },
        "evaluatedRowCount": {
          "description": "The number of rows evaluated against the data quality rule. This field is only valid for rules of PER_ROW evaluation type.",
          "type": "string",
          "format": "int64"
        },
        "evalutionType": {
          "description": "The evaluation type of the data quality rule.",
          "type": "string",
          "enumDescriptions": [
            "An unspecified evaluation type.",
            "The rule evaluation is done at per row level.",
            "The rule evaluation is done for an aggregate of rows."
          ],
          "enum": [
            "EVALUATION_TYPE_UNSPECIFIED",
            "PER_ROW",
            "AGGREGATE"
          ]
        },
        "dataSource": {
          "type": "string",
          "description": "The data source of the data scan (e.g. BigQuery table name)."
        },
        "nullRowCount": {
          "type": "string",
          "format": "int64",
          "description": "The number of rows with null values in the specified column."
        },
        "ruleDimension": {
          "type": "string",
          "description": "The dimension of the data quality rule."
        },
        "jobId": {
          "description": "Identifier of the specific data scan job this log entry is for.",
          "type": "string"
        },
        "thresholdPercent": {
          "type": "number",
          "format": "double",
          "description": "The passing threshold (0.0, 100.0) of the data quality rule."
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityScanRuleResult",
      "description": "Information about the result of a data quality rule for data quality scan. The monitored resource is 'DataScan'."
    },
    "GoogleIamV1Policy": {
      "type": "object",
      "properties": {
        "version": {
          "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 conditionsImportant: 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",
          "format": "int32"
        },
        "auditConfigs": {
          "description": "Specifies cloud audit logging configuration for this policy.",
          "items": {
            "$ref": "GoogleIamV1AuditConfig"
          },
          "type": "array"
        },
        "etag": {
          "type": "string",
          "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."
        },
        "bindings": {
          "type": "array",
          "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.",
          "items": {
            "$ref": "GoogleIamV1Binding"
          }
        }
      },
      "id": "GoogleIamV1Policy",
      "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/)."
    },
    "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoIntegerFieldInfo": {
      "id": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoIntegerFieldInfo",
      "description": "The profile information for an integer type field.",
      "type": "object",
      "properties": {
        "average": {
          "type": "number",
          "format": "double",
          "description": "Output only. Average of non-null values in the scanned data. NaN, if the field has a NaN.",
          "readOnly": true
        },
        "min": {
          "type": "string",
          "format": "int64",
          "description": "Output only. Minimum of non-null values in the scanned data. NaN, if the field has a NaN.",
          "readOnly": true
        },
        "max": {
          "description": "Output only. Maximum of non-null values in the scanned data. NaN, if the field has a NaN.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "quartiles": {
          "description": "Output only. A quartile divides the number of data points into four parts, or quarters, of more-or-less equal size. Three main quartiles used are: The first quartile (Q1) splits off the lowest 25% of data from the highest 75%. It is also known as the lower or 25th empirical quartile, as 25% of the data is below this point. The second quartile (Q2) is the median of a data set. So, 50% of the data lies below this point. The third quartile (Q3) splits off the highest 25% of data from the lowest 75%. It is known as the upper or 75th empirical quartile, as 75% of the data lies below this point. Here, the quartiles is provided as an ordered list of approximate quartile values for the scanned data, occurring in order Q1, median, Q3.",
          "readOnly": true,
          "items": {
            "type": "string",
            "format": "int64"
          },
          "type": "array"
        },
        "standardDeviation": {
          "type": "number",
          "format": "double",
          "description": "Output only. Standard deviation of non-null values in the scanned data. NaN, if the field has a NaN.",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1ActionMissingResource": {
      "id": "GoogleCloudDataplexV1ActionMissingResource",
      "description": "Action details for resource references in assets that cannot be located.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudDataplexV1ListDataProductsResponse": {
      "type": "object",
      "properties": {
        "dataProducts": {
          "description": "The data products for the requested filter criteria.",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataProduct"
          },
          "type": "array"
        },
        "unreachable": {
          "description": "Unordered list. Locations that the service couldn't reach.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as page_token to retrieve the next page. If this field is empty, then there are no subsequent pages."
        }
      },
      "id": "GoogleCloudDataplexV1ListDataProductsResponse",
      "description": "Response message for listing data products."
    },
    "GoogleCloudDataplexV1DataQualityRuleTableConditionExpectation": {
      "type": "object",
      "properties": {
        "sqlExpression": {
          "description": "Optional. The SQL expression.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityRuleTableConditionExpectation",
      "description": "Evaluates whether the provided expression is true.The SQL expression needs to use GoogleSQL syntax (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax) and should produce a scalar boolean result.Example: MIN(col1) \u003e= 0"
    },
    "GoogleCloudDataplexV1Entry": {
      "id": "GoogleCloudDataplexV1Entry",
      "description": "An entry is a representation of a data resource that can be described by various metadata.",
      "type": "object",
      "properties": {
        "entrySource": {
          "description": "Optional. Information related to the source system of the data resource that is represented by the entry.",
          "$ref": "GoogleCloudDataplexV1EntrySource"
        },
        "createTime": {
          "description": "Output only. The time when the entry was created in Dataplex Universal Catalog.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the entry was last updated in Dataplex Universal Catalog.",
          "readOnly": true
        },
        "aspects": {
          "description": "Optional. The aspects that are attached to the entry. Depending on how the aspect is attached to the entry, the format of the aspect key can be one of the following: If the aspect is attached directly to the entry: {project_id_or_number}.{location_id}.{aspect_type_id} If the aspect is attached to an entry's path: {project_id_or_number}.{location_id}.{aspect_type_id}@{path}",
          "additionalProperties": {
            "$ref": "GoogleCloudDataplexV1Aspect"
          },
          "type": "object"
        },
        "name": {
          "description": "Identifier. The relative resource name of the entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.",
          "type": "string"
        },
        "entryType": {
          "type": "string",
          "description": "Required. Immutable. The relative resource name of the entry type that was used to create this entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry_type_id}."
        },
        "fullyQualifiedName": {
          "type": "string",
          "description": "Optional. A name for the entry that can be referenced by an external system. For more information, see Fully qualified names (https://cloud.google.com/data-catalog/docs/fully-qualified-names). The maximum size of the field is 4000 characters."
        },
        "parentEntry": {
          "description": "Optional. Immutable. The resource name of the parent entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1TaskTriggerSpec": {
      "id": "GoogleCloudDataplexV1TaskTriggerSpec",
      "description": "Task scheduling and trigger settings.",
      "type": "object",
      "properties": {
        "maxRetries": {
          "description": "Optional. Number of retry attempts before aborting. Set to zero to never attempt to retry a failed task.",
          "type": "integer",
          "format": "int32"
        },
        "type": {
          "type": "string",
          "enumDescriptions": [
            "Unspecified trigger type.",
            "The task runs one-time shortly after Task Creation.",
            "The task is scheduled to run periodically."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "ON_DEMAND",
            "RECURRING"
          ],
          "description": "Required. Immutable. Trigger type of the user-specified Task."
        },
        "schedule": {
          "description": "Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running tasks periodically. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or \"TZ=${IANA_TIME_ZONE}\". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, CRON_TZ=America/New_York 1 * * * *, or TZ=America/New_York 1 * * * *. This field is required for RECURRING tasks.",
          "type": "string"
        },
        "disabled": {
          "description": "Optional. Prevent the task from executing. This does not cancel already running tasks. It is intended to temporarily disable RECURRING tasks.",
          "type": "boolean"
        },
        "startTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Optional. The first run of the task will be after this time. If not specified, the task will run shortly after being submitted if ON_DEMAND and based on the schedule if RECURRING."
        }
      }
    },
    "GoogleCloudDataplexV1MetadataJobExportJobSpec": {
      "id": "GoogleCloudDataplexV1MetadataJobExportJobSpec",
      "description": "Job specification for a metadata export job.",
      "type": "object",
      "properties": {
        "scope": {
          "$ref": "GoogleCloudDataplexV1MetadataJobExportJobSpecExportJobScope",
          "description": "Required. The scope of the export job."
        },
        "outputPath": {
          "description": "Required. The root path of the Cloud Storage bucket to export the metadata to, in the format gs://{bucket}/. You can optionally specify a custom prefix after the bucket name, in the format gs://{bucket}/{prefix}/. The maximum length of the custom prefix is 128 characters. Dataplex Universal Catalog constructs the object path for the exported files by using the bucket name and prefix that you provide, followed by a system-generated path.The bucket must be in the same VPC Service Controls perimeter as the job.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1DataProfileResultProfile": {
      "type": "object",
      "properties": {
        "fields": {
          "description": "Output only. List of fields with structural and profile information for each field.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataProfileResultProfileField"
          },
          "type": "array"
        }
      },
      "id": "GoogleCloudDataplexV1DataProfileResultProfile",
      "description": "Contains name, type, mode and field type specific profile information."
    },
    "GoogleCloudDataplexV1DataQualityRuleDebugQuery": {
      "type": "object",
      "properties": {
        "description": {
          "description": "Optional. Specifies the description of the debug query. The maximum length is 1,024 characters.",
          "type": "string"
        },
        "sqlStatement": {
          "description": "Required. Specifies the SQL statement to be executed.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityRuleDebugQuery",
      "description": "Specifies a SQL statement that is evaluated to return up to 10 scalar values that are used to debug rules. If the rule fails, the values can help diagnose the cause of the failure.The SQL statement must use GoogleSQL syntax (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax), and must not contain any semicolons.You can use the data reference parameter ${data()} to reference the source table with all of its precondition filters applied. Examples of precondition filters include row filters, incremental data filters, and sampling. For more information, see Data reference parameter (https://cloud.google.com/dataplex/docs/auto-data-quality-overview#data-reference-parameter).You can also name results with an explicit alias using [AS] alias. For more information, see BigQuery explicit aliases (https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#explicit_alias_syntax).Example: SELECT MIN(col1) AS min_col1, MAX(col1) AS max_col1 FROM ${data()}"
    },
    "GoogleCloudDataplexV1DataAttribute": {
      "description": "Denotes one dataAttribute in a dataTaxonomy, for example, PII. DataAttribute resources can be defined in a hierarchy. A single dataAttribute resource can contain specs of multiple types PII - ResourceAccessSpec : - readers :foo@bar.com - DataAccessSpec : - readers :bar@foo.com ",
      "deprecated": true,
      "type": "object",
      "properties": {
        "parentId": {
          "description": "Optional. The ID of the parent DataAttribute resource, should belong to the same data taxonomy. Circular dependency in parent chain is not valid. Maximum depth of the hierarchy allowed is 4. a -\u003e b -\u003e c -\u003e d -\u003e e, depth = 4",
          "type": "string"
        },
        "displayName": {
          "type": "string",
          "description": "Optional. User friendly display name."
        },
        "resourceAccessSpec": {
          "$ref": "GoogleCloudDataplexV1ResourceAccessSpec",
          "description": "Optional. Specified when applied to a resource (eg: Cloud Storage bucket, BigQuery dataset, BigQuery table)."
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the DataAttribute."
        },
        "updateTime": {
          "description": "Output only. The time when the DataAttribute was last updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "name": {
          "type": "string",
          "description": "Output only. The relative resource name of the dataAttribute, of the form: projects/{project_number}/locations/{location_id}/dataTaxonomies/{dataTaxonomy}/attributes/{data_attribute_id}.",
          "readOnly": true
        },
        "etag": {
          "type": "string",
          "description": "This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding."
        },
        "uid": {
          "type": "string",
          "description": "Output only. System generated globally unique ID for the DataAttribute. This ID will be different if the DataAttribute is deleted and re-created with the same name.",
          "readOnly": true
        },
        "dataAccessSpec": {
          "$ref": "GoogleCloudDataplexV1DataAccessSpec",
          "description": "Optional. Specified when applied to data stored on the resource (eg: rows, columns in BigQuery Tables)."
        },
        "createTime": {
          "description": "Output only. The time when the DataAttribute was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "labels": {
          "type": "object",
          "description": "Optional. User-defined labels for the DataAttribute.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "attributeCount": {
          "type": "integer",
          "format": "int32",
          "description": "Output only. The number of child attributes present for this attribute.",
          "readOnly": true
        }
      },
      "id": "GoogleCloudDataplexV1DataAttribute"
    },
    "GoogleCloudDataplexV1MetadataFeedScope": {
      "id": "GoogleCloudDataplexV1MetadataFeedScope",
      "description": "Scope defines the scope of the metadata feed. Scopes are exclusive. Only one of the scopes can be specified.",
      "type": "object",
      "properties": {
        "organizationLevel": {
          "description": "Optional. Whether the metadata feed is at the organization-level. If true, all changes happened to the entries in the same organization as the feed are published. If false, you must specify a list of projects or a list of entry groups whose entries you want to listen to.The default is false.",
          "type": "boolean"
        },
        "projects": {
          "description": "Optional. The projects whose entries you want to listen to. Must be in the same organization as the feed. Must be in the format: projects/{project_id_or_number}.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "entryGroups": {
          "description": "Optional. The entry groups whose entries you want to listen to. Must be in the format: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "GoogleCloudDataplexV1ActionFailedSecurityPolicyApply": {
      "id": "GoogleCloudDataplexV1ActionFailedSecurityPolicyApply",
      "description": "Failed to apply security policy to the managed resource(s) under a lake, zone or an asset. For a lake or zone resource, one or more underlying assets has a failure applying security policy to the associated managed resource.",
      "type": "object",
      "properties": {
        "asset": {
          "description": "Resource name of one of the assets with failing security policy application. Populated for a lake or zone resource only.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1DataDocumentationResultDatasetResult": {
      "type": "object",
      "properties": {
        "overview": {
          "description": "Output only. Generated Dataset description.",
          "readOnly": true,
          "type": "string"
        },
        "schemaRelationships": {
          "description": "Output only. Relationships suggesting how tables in the dataset are related to each other, based on their schema.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataDocumentationResultSchemaRelationship"
          },
          "type": "array"
        },
        "queries": {
          "description": "Output only. Sample SQL queries for the dataset.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataDocumentationResultQuery"
          },
          "type": "array"
        }
      },
      "id": "GoogleCloudDataplexV1DataDocumentationResultDatasetResult",
      "description": "Insights for a dataset resource."
    },
    "GoogleCloudDataplexV1DataDocumentationResultSchemaRelationshipSchemaPaths": {
      "type": "object",
      "properties": {
        "tableFqn": {
          "description": "Output only. The service-qualified full resource name of the table Ex: //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID",
          "readOnly": true,
          "type": "string"
        },
        "paths": {
          "type": "array",
          "description": "Output only. An ordered set of Paths to fields within the schema of the table. For fields nested within a top level field of type record, use '.' to separate field names. Examples: Top level field - top_level Nested field - top_level.child.sub_field",
          "readOnly": true,
          "items": {
            "type": "string"
          }
        }
      },
      "id": "GoogleCloudDataplexV1DataDocumentationResultSchemaRelationshipSchemaPaths",
      "description": "Represents an ordered set of paths within a table's schema."
    },
    "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigCsvOptions": {
      "id": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigCsvOptions",
      "description": "Describes CSV and similar semi-structured data formats.",
      "type": "object",
      "properties": {
        "delimiter": {
          "type": "string",
          "description": "Optional. The delimiter that is used to separate values. The default is , (comma)."
        },
        "encoding": {
          "description": "Optional. The character encoding of the data. The default is UTF-8.",
          "type": "string"
        },
        "headerRows": {
          "type": "integer",
          "format": "int32",
          "description": "Optional. The number of rows to interpret as header rows that should be skipped when reading data rows."
        },
        "quote": {
          "description": "Optional. The character used to quote column values. Accepts \" (double quotation mark) or ' (single quotation mark). If unspecified, defaults to \" (double quotation mark).",
          "type": "string"
        },
        "typeInferenceDisabled": {
          "description": "Optional. Whether to disable the inference of data types for CSV data. If true, all columns are registered as strings.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudDataplexV1DataProductPrincipal": {
      "type": "object",
      "properties": {
        "googleGroup": {
          "description": "Optional. Email of the Google Group, as per https://cloud.google.com/iam/docs/principals-overview#google-group.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1DataProductPrincipal",
      "description": "Represents the principal entity associated with an access group, as per https://cloud.google.com/iam/docs/principals-overview."
    },
    "GoogleCloudDataplexV1DataDiscoverySpec": {
      "id": "GoogleCloudDataplexV1DataDiscoverySpec",
      "description": "Spec for a data discovery scan.",
      "type": "object",
      "properties": {
        "bigqueryPublishingConfig": {
          "$ref": "GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig",
          "description": "Optional. Configuration for metadata publishing."
        },
        "storageConfig": {
          "$ref": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfig",
          "description": "Cloud Storage related configurations."
        }
      }
    },
    "GoogleCloudDataplexV1MetadataJobStatus": {
      "id": "GoogleCloudDataplexV1MetadataJobStatus",
      "description": "Metadata job status.",
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Output only. Message relating to the progression of a metadata job.",
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the status was updated.",
          "readOnly": true
        },
        "state": {
          "type": "string",
          "enumDescriptions": [
            "State unspecified.",
            "The job is queued.",
            "The job is running.",
            "The job is being canceled.",
            "The job is canceled.",
            "The job succeeded.",
            "The job failed.",
            "The job completed with some errors."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "QUEUED",
            "RUNNING",
            "CANCELING",
            "CANCELED",
            "SUCCEEDED",
            "FAILED",
            "SUCCEEDED_WITH_ERRORS"
          ],
          "description": "Output only. State of the metadata job.",
          "readOnly": true
        },
        "completionPercent": {
          "type": "integer",
          "format": "int32",
          "description": "Output only. Progress tracking.",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1DataScanEventPostScanActionsResult": {
      "type": "object",
      "properties": {
        "bigqueryExportResult": {
          "$ref": "GoogleCloudDataplexV1DataScanEventPostScanActionsResultBigQueryExportResult",
          "description": "The result of BigQuery export post scan action."
        }
      },
      "id": "GoogleCloudDataplexV1DataScanEventPostScanActionsResult",
      "description": "Post scan actions result for data scan job."
    },
    "GoogleCloudDataplexV1AspectTypeMetadataTemplateAnnotations": {
      "type": "object",
      "properties": {
        "description": {
          "description": "Optional. Description for a field.",
          "type": "string"
        },
        "stringType": {
          "description": "Optional. You can use String Type annotations to specify special meaning to string fields. The following values are supported: richText: The field must be interpreted as a rich text field. url: A fully qualified URL link. resource: A service qualified resource reference.",
          "type": "string"
        },
        "deprecated": {
          "description": "Optional. Marks a field as deprecated. You can include a deprecation message.",
          "type": "string"
        },
        "stringValues": {
          "type": "array",
          "description": "Optional. Suggested hints for string fields. You can use them to suggest values to users through console.",
          "items": {
            "type": "string"
          }
        },
        "displayName": {
          "description": "Optional. Display name for a field.",
          "type": "string"
        },
        "displayOrder": {
          "type": "integer",
          "format": "int32",
          "description": "Optional. Display order for a field. You can use this to reorder where a field is rendered."
        }
      },
      "id": "GoogleCloudDataplexV1AspectTypeMetadataTemplateAnnotations",
      "description": "Definition of the annotations of a field."
    },
    "GoogleCloudDataplexV1DataProfileResult": {
      "type": "object",
      "properties": {
        "postScanActionsResult": {
          "description": "Output only. The result of post scan actions.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataProfileResultPostScanActionsResult"
        },
        "scannedData": {
          "$ref": "GoogleCloudDataplexV1ScannedData",
          "description": "Output only. The data scanned for this result.",
          "readOnly": true
        },
        "catalogPublishingStatus": {
          "$ref": "GoogleCloudDataplexV1DataScanCatalogPublishingStatus",
          "description": "Output only. The status of publishing the data scan as Dataplex Universal Catalog metadata.",
          "readOnly": true
        },
        "profile": {
          "$ref": "GoogleCloudDataplexV1DataProfileResultProfile",
          "description": "Output only. The profile information per field.",
          "readOnly": true
        },
        "rowCount": {
          "description": "Output only. The count of rows scanned.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        }
      },
      "id": "GoogleCloudDataplexV1DataProfileResult",
      "description": "DataProfileResult defines the output of DataProfileScan. Each field of the table will have field type specific profile result."
    },
    "GoogleCloudDataplexV1SessionEvent": {
      "type": "object",
      "properties": {
        "sessionId": {
          "description": "Unique identifier for the session.",
          "type": "string"
        },
        "userId": {
          "description": "The information about the user that created the session. It will be the email address of the user.",
          "type": "string"
        },
        "eventSucceeded": {
          "description": "The status of the event.",
          "type": "boolean"
        },
        "message": {
          "type": "string",
          "description": "The log message."
        },
        "fastStartupEnabled": {
          "description": "If the session is associated with an environment with fast startup enabled, and was created before being assigned to a user.",
          "type": "boolean"
        },
        "unassignedDuration": {
          "type": "string",
          "format": "google-duration",
          "description": "The idle duration of a warm pooled session before it is assigned to user."
        },
        "type": {
          "description": "The type of the event.",
          "type": "string",
          "enumDescriptions": [
            "An unspecified event type.",
            "Event when the session is assigned to a user.",
            "Event for stop of a session.",
            "Query events in the session.",
            "Event for creation of a cluster. It is not yet assigned to a user. This comes before START in the sequence"
          ],
          "enum": [
            "EVENT_TYPE_UNSPECIFIED",
            "START",
            "STOP",
            "QUERY",
            "CREATE"
          ]
        },
        "query": {
          "description": "The execution details of the query.",
          "$ref": "GoogleCloudDataplexV1SessionEventQueryDetail"
        }
      },
      "id": "GoogleCloudDataplexV1SessionEvent",
      "description": "These messages contain information about sessions within an environment. The monitored resource is 'Environment'."
    },
    "GoogleTypeExpr": {
      "id": "GoogleTypeExpr",
      "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": {
        "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"
        },
        "expression": {
          "type": "string",
          "description": "Textual representation of an expression in Common Expression Language syntax."
        },
        "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"
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResultSet": {
      "id": "GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResultSet",
      "description": "Contains all results from a debug query.",
      "type": "object",
      "properties": {
        "results": {
          "type": "array",
          "description": "Output only. Contains all results. Up to 10 results can be returned.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResult"
          }
        }
      }
    },
    "GoogleCloudDataplexV1DataProfileSpecPostScanActionsBigQueryExport": {
      "id": "GoogleCloudDataplexV1DataProfileSpecPostScanActionsBigQueryExport",
      "description": "The configuration of BigQuery export post scan action.",
      "type": "object",
      "properties": {
        "resultsTable": {
          "description": "Optional. The BigQuery table to export DataProfileScan results to. Format: //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1DataDocumentationResultSchemaRelationship": {
      "id": "GoogleCloudDataplexV1DataDocumentationResultSchemaRelationship",
      "description": "Details of the relationship between the schema of two resources.",
      "type": "object",
      "properties": {
        "type": {
          "readOnly": true,
          "description": "Output only. The type of relationship between the schema paths.",
          "type": "string",
          "enumDescriptions": [
            "The type of the schema relationship is unspecified.",
            "Indicates a join relationship between the schema fields."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "SCHEMA_JOIN"
          ]
        },
        "leftSchemaPaths": {
          "$ref": "GoogleCloudDataplexV1DataDocumentationResultSchemaRelationshipSchemaPaths",
          "description": "Output only. An ordered list of fields for the join from the first table. The size of this list must be the same as right_schema_paths. Each field at index i in this list must correspond to a field at the same index in the right_schema_paths list.",
          "readOnly": true
        },
        "sources": {
          "description": "Output only. Sources which generated the schema relation edge.",
          "readOnly": true,
          "items": {
            "type": "string",
            "enumDescriptions": [
              "The source of the schema relationship is unspecified.",
              "The source of the schema relationship is agent.",
              "The source of the schema relationship is query history from the source system.",
              "The source of the schema relationship is table constraints added in the source system."
            ],
            "enum": [
              "SOURCE_UNSPECIFIED",
              "AGENT",
              "QUERY_HISTORY",
              "TABLE_CONSTRAINTS"
            ]
          },
          "type": "array"
        },
        "rightSchemaPaths": {
          "$ref": "GoogleCloudDataplexV1DataDocumentationResultSchemaRelationshipSchemaPaths",
          "description": "Output only. An ordered list of fields for the join from the second table. The size of this list must be the same as left_schema_paths. Each field at index i in this list must correspond to a field at the same index in the left_schema_paths list.",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1AssetResourceSpec": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Immutable. Relative name of the cloud resource that contains the data that is being managed within a lake. For example: projects/{project_number}/buckets/{bucket_id} projects/{project_number}/datasets/{dataset_id}",
          "type": "string"
        },
        "type": {
          "description": "Required. Immutable. Type of resource.",
          "type": "string",
          "enumDescriptions": [
            "Type not specified.",
            "Cloud Storage bucket.",
            "BigQuery dataset."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "STORAGE_BUCKET",
            "BIGQUERY_DATASET"
          ]
        },
        "readAccessMode": {
          "description": "Optional. Determines how read permissions are handled for each asset and their associated tables. Only available to storage buckets assets.",
          "type": "string",
          "enumDescriptions": [
            "Access mode unspecified.",
            "Default. Data is accessed directly using storage APIs.",
            "Data is accessed through a managed interface using BigQuery APIs."
          ],
          "enum": [
            "ACCESS_MODE_UNSPECIFIED",
            "DIRECT",
            "MANAGED"
          ]
        }
      },
      "id": "GoogleCloudDataplexV1AssetResourceSpec",
      "description": "Identifies the cloud resource that is referenced by this asset."
    },
    "GoogleCloudDataplexV1TaskInfrastructureSpec": {
      "type": "object",
      "properties": {
        "containerImage": {
          "description": "Container Image Runtime Configuration.",
          "$ref": "GoogleCloudDataplexV1TaskInfrastructureSpecContainerImageRuntime"
        },
        "vpcNetwork": {
          "$ref": "GoogleCloudDataplexV1TaskInfrastructureSpecVpcNetwork",
          "description": "Vpc network."
        },
        "batch": {
          "description": "Compute resources needed for a Task when using Dataproc Serverless.",
          "$ref": "GoogleCloudDataplexV1TaskInfrastructureSpecBatchComputeResources"
        }
      },
      "id": "GoogleCloudDataplexV1TaskInfrastructureSpec",
      "description": "Configuration for the underlying infrastructure used to run workloads."
    },
    "GoogleCloudDataplexV1DataAttributeBindingPath": {
      "id": "GoogleCloudDataplexV1DataAttributeBindingPath",
      "description": "Represents a subresource of the given resource, and associated bindings with it. Currently supported subresources are column and partition schema fields within a table.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Required. The name identifier of the path. Nested columns should be of the form: 'address.city'."
        },
        "attributes": {
          "type": "array",
          "description": "Optional. List of attributes to be associated with the path of the resource, provided in the form: projects/{project}/locations/{location}/dataTaxonomies/{dataTaxonomy}/attributes/{data_attribute_id}",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudDataplexV1ListPartitionsResponse": {
      "id": "GoogleCloudDataplexV1ListPartitionsResponse",
      "description": "List metadata partitions response.",
      "type": "object",
      "properties": {
        "partitions": {
          "type": "array",
          "description": "Partitions under the specified parent entity.",
          "items": {
            "$ref": "GoogleCloudDataplexV1Partition"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results, or empty if there are no remaining results in the list."
        }
      }
    },
    "GoogleCloudDataplexV1MetadataFeed": {
      "type": "object",
      "properties": {
        "filters": {
          "$ref": "GoogleCloudDataplexV1MetadataFeedFilters",
          "description": "Optional. The filters of the metadata feed. Only the changes that match the filters are published."
        },
        "uid": {
          "description": "Output only. A system-generated, globally unique ID for the metadata job. If the metadata job is deleted and then re-created with the same name, this ID is different.",
          "readOnly": true,
          "type": "string"
        },
        "pubsubTopic": {
          "type": "string",
          "description": "Optional. The pubsub topic that you want the metadata feed messages to publish to. Please grant Dataplex service account the permission to publish messages to the topic. The service account is: service-{PROJECT_NUMBER}@gcp-sa-dataplex.iam.gserviceaccount.com."
        },
        "scope": {
          "$ref": "GoogleCloudDataplexV1MetadataFeedScope",
          "description": "Required. The scope of the metadata feed. Only the in scope changes are published."
        },
        "name": {
          "description": "Identifier. The resource name of the metadata feed, in the format projects/{project_id_or_number}/locations/{location_id}/metadataFeeds/{metadata_feed_id}.",
          "type": "string"
        },
        "createTime": {
          "description": "Output only. The time when the feed was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the feed was updated.",
          "readOnly": true
        },
        "labels": {
          "description": "Optional. User-defined labels.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        }
      },
      "id": "GoogleCloudDataplexV1MetadataFeed",
      "description": "MetadataFeed contains information related to the metadata feed."
    },
    "GoogleCloudDataplexV1DataAccessSpec": {
      "id": "GoogleCloudDataplexV1DataAccessSpec",
      "description": "DataAccessSpec holds the access control configuration to be enforced on data stored within resources (eg: rows, columns in BigQuery Tables). When associated with data, the data is only accessible to principals explicitly granted access through the DataAccessSpec. Principals with access to the containing resource are not implicitly granted access.",
      "type": "object",
      "properties": {
        "readers": {
          "description": "Optional. The format of strings follows the pattern followed by IAM in the bindings. user:{email}, serviceAccount:{email} group:{email}. The set of principals to be granted reader role on data stored within resources.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "GoogleCloudDataplexV1TaskInfrastructureSpecVpcNetwork": {
      "id": "GoogleCloudDataplexV1TaskInfrastructureSpecVpcNetwork",
      "description": "Cloud VPC Network used to run the infrastructure.",
      "type": "object",
      "properties": {
        "network": {
          "type": "string",
          "description": "Optional. The Cloud VPC network in which the job is run. By default, the Cloud VPC network named Default within the project is used."
        },
        "networkTags": {
          "description": "Optional. List of network tags to apply to the job.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "subNetwork": {
          "type": "string",
          "description": "Optional. The Cloud VPC sub-network in which the job is run."
        }
      }
    },
    "GoogleCloudDataplexV1Schema": {
      "type": "object",
      "properties": {
        "fields": {
          "description": "Optional. The sequence of fields describing data in table entities. Note: BigQuery SchemaFields are immutable.",
          "items": {
            "$ref": "GoogleCloudDataplexV1SchemaSchemaField"
          },
          "type": "array"
        },
        "partitionFields": {
          "type": "array",
          "description": "Optional. The sequence of fields describing the partition structure in entities. If this field is empty, there are no partitions within the data.",
          "items": {
            "$ref": "GoogleCloudDataplexV1SchemaPartitionField"
          }
        },
        "partitionStyle": {
          "type": "string",
          "enumDescriptions": [
            "PartitionStyle unspecified",
            "Partitions are hive-compatible. Examples: gs://bucket/path/to/table/dt=2019-10-31/lang=en, gs://bucket/path/to/table/dt=2019-10-31/lang=en/late."
          ],
          "enum": [
            "PARTITION_STYLE_UNSPECIFIED",
            "HIVE_COMPATIBLE"
          ],
          "description": "Optional. The structure of paths containing partition data within the entity."
        },
        "userManaged": {
          "type": "boolean",
          "description": "Required. Set to true if user-managed or false if managed by Dataplex Universal Catalog. The default is false (managed by Dataplex Universal Catalog). Set to falseto enable Dataplex Universal Catalog discovery to update the schema. including new data discovery, schema inference, and schema evolution. Users retain the ability to input and edit the schema. Dataplex Universal Catalog treats schema input by the user as though produced by a previous Dataplex Universal Catalog discovery operation, and it will evolve the schema and take action based on that treatment. Set to true to fully manage the entity schema. This setting guarantees that Dataplex Universal Catalog will not change schema fields."
        }
      },
      "id": "GoogleCloudDataplexV1Schema",
      "description": "Schema information describing the structure and layout of the data."
    },
    "GoogleCloudDataplexV1DataDiscoveryResultBigQueryPublishing": {
      "id": "GoogleCloudDataplexV1DataDiscoveryResultBigQueryPublishing",
      "description": "Describes BigQuery publishing configurations.",
      "type": "object",
      "properties": {
        "dataset": {
          "type": "string",
          "description": "Output only. The BigQuery dataset the discovered tables are published to.",
          "readOnly": true
        },
        "location": {
          "type": "string",
          "description": "Output only. The location of the BigQuery publishing dataset.",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityRuleRuleSourceRulePathElementEntryLinkSource": {
      "type": "object",
      "properties": {
        "entryLink": {
          "type": "string",
          "description": "Output only. The entry link name in the form of: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}",
          "readOnly": true
        },
        "entryLinkType": {
          "type": "string",
          "description": "Output only. The entry link type to represent the current relationship between the entry and the next entry in the path. In the form of: projects/{project_id_or_number}/locations/{location_id}/entryLinkTypes/{entry_link_type_id}",
          "readOnly": true
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityRuleRuleSourceRulePathElementEntryLinkSource",
      "description": "Entry link source represents information about the entry link."
    },
    "GoogleCloudDataplexV1Trigger": {
      "id": "GoogleCloudDataplexV1Trigger",
      "description": "DataScan scheduling and trigger settings.",
      "type": "object",
      "properties": {
        "onDemand": {
          "$ref": "GoogleCloudDataplexV1TriggerOnDemand",
          "description": "The scan runs once via RunDataScan API."
        },
        "schedule": {
          "$ref": "GoogleCloudDataplexV1TriggerSchedule",
          "description": "The scan is scheduled to run periodically."
        },
        "oneTime": {
          "$ref": "GoogleCloudDataplexV1TriggerOneTime",
          "description": "The scan runs once, and does not create an associated ScanJob child resource."
        }
      }
    },
    "GoogleIamV1TestIamPermissionsResponse": {
      "id": "GoogleIamV1TestIamPermissionsResponse",
      "description": "Response message for TestIamPermissions method.",
      "type": "object",
      "properties": {
        "permissions": {
          "type": "array",
          "description": "A subset of TestPermissionsRequest.permissions that the caller is allowed.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudDataplexV1EntrySource": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "A description of the data resource. Maximum length is 2,000 characters."
        },
        "ancestors": {
          "description": "Immutable. The entries representing the ancestors of the data resource in the source system.",
          "items": {
            "$ref": "GoogleCloudDataplexV1EntrySourceAncestor"
          },
          "type": "array"
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "The time when the resource was last updated in the source system. If the entry exists in the system and its EntrySource has update_time populated, further updates to the EntrySource of the entry must provide incremental updates to its update_time."
        },
        "location": {
          "description": "Output only. Location of the resource in the source system. You can search the entry by this location. By default, this should match the location of the entry group containing this entry. A different value allows capturing the source location for data external to Google Cloud.",
          "readOnly": true,
          "type": "string"
        },
        "platform": {
          "description": "The platform containing the source system. Maximum length is 64 characters.",
          "type": "string"
        },
        "displayName": {
          "description": "A user-friendly display name. Maximum length is 500 characters.",
          "type": "string"
        },
        "labels": {
          "type": "object",
          "description": "User-defined labels. The maximum size of keys and values is 128 characters each.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "The time when the resource was created in the source system."
        },
        "system": {
          "description": "The name of the source system. Maximum length is 64 characters.",
          "type": "string"
        },
        "resource": {
          "description": "The name of the resource in the source system. Maximum length is 4,000 characters.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1EntrySource",
      "description": "Information related to the source system of the data resource that is represented by the entry."
    },
    "GoogleCloudDataplexV1DataQualitySpecPostScanActions": {
      "id": "GoogleCloudDataplexV1DataQualitySpecPostScanActions",
      "description": "The configuration of post scan actions of DataQualityScan.",
      "type": "object",
      "properties": {
        "bigqueryExport": {
          "$ref": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsBigQueryExport",
          "description": "Optional. If set, results will be exported to the provided BigQuery table."
        },
        "notificationReport": {
          "$ref": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsNotificationReport",
          "description": "Optional. If set, results will be sent to the provided notification receipts upon triggers."
        }
      }
    },
    "GoogleCloudDataplexV1AssetSecurityStatus": {
      "id": "GoogleCloudDataplexV1AssetSecurityStatus",
      "description": "Security policy status of the asset. Data security policy, i.e., readers, writers & owners, should be specified in the lake/zone/asset IAM policy.",
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Additional information about the current state."
        },
        "updateTime": {
          "description": "Last update time of the status.",
          "type": "string",
          "format": "google-datetime"
        },
        "state": {
          "description": "The current state of the security policy applied to the attached resource.",
          "type": "string",
          "enumDescriptions": [
            "State unspecified.",
            "Security policy has been successfully applied to the attached resource.",
            "Security policy is in the process of being applied to the attached resource.",
            "Security policy could not be applied to the attached resource due to errors."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "READY",
            "APPLYING",
            "ERROR"
          ]
        }
      }
    },
    "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigJsonOptions": {
      "id": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigJsonOptions",
      "description": "Describes JSON data format.",
      "type": "object",
      "properties": {
        "encoding": {
          "description": "Optional. The character encoding of the data. The default is UTF-8.",
          "type": "string"
        },
        "typeInferenceDisabled": {
          "description": "Optional. Whether to disable the inference of data types for JSON data. If true, all columns are registered as their primitive types (strings, number, or boolean).",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudDataplexV1Glossary": {
      "id": "GoogleCloudDataplexV1Glossary",
      "description": "A Glossary represents a collection of GlossaryCategories and GlossaryTerms defined by the user. Glossary is a top level resource and is the Google Cloud parent resource of all the GlossaryCategories and GlossaryTerms within it.",
      "type": "object",
      "properties": {
        "description": {
          "description": "Optional. The user-mutable description of the Glossary.",
          "type": "string"
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time at which the Glossary was last updated.",
          "readOnly": true
        },
        "name": {
          "description": "Output only. Identifier. The resource name of the Glossary. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}",
          "readOnly": true,
          "type": "string"
        },
        "etag": {
          "description": "Optional. Needed for resource freshness validation. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.",
          "type": "string"
        },
        "displayName": {
          "type": "string",
          "description": "Optional. User friendly display name of the Glossary. This is user-mutable. This will be same as the GlossaryId, if not specified."
        },
        "termCount": {
          "type": "integer",
          "format": "int32",
          "description": "Output only. The number of GlossaryTerms in the Glossary.",
          "readOnly": true
        },
        "createTime": {
          "description": "Output only. The time at which the Glossary was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "labels": {
          "type": "object",
          "description": "Optional. User-defined labels for the Glossary.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "uid": {
          "type": "string",
          "description": "Output only. System generated unique id for the Glossary. This ID will be different if the Glossary is deleted and re-created with the same name.",
          "readOnly": true
        },
        "categoryCount": {
          "description": "Output only. The number of GlossaryCategories in the Glossary.",
          "readOnly": true,
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "GoogleCloudDataplexV1ZoneDiscoverySpec": {
      "id": "GoogleCloudDataplexV1ZoneDiscoverySpec",
      "description": "Settings to manage the metadata discovery and publishing in a zone.",
      "type": "object",
      "properties": {
        "includePatterns": {
          "type": "array",
          "description": "Optional. The list of patterns to apply for selecting data to include during discovery if only a subset of the data should considered. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.",
          "items": {
            "type": "string"
          }
        },
        "enabled": {
          "type": "boolean",
          "description": "Required. Whether discovery is enabled."
        },
        "csvOptions": {
          "$ref": "GoogleCloudDataplexV1ZoneDiscoverySpecCsvOptions",
          "description": "Optional. Configuration for CSV data."
        },
        "jsonOptions": {
          "description": "Optional. Configuration for Json data.",
          "$ref": "GoogleCloudDataplexV1ZoneDiscoverySpecJsonOptions"
        },
        "excludePatterns": {
          "type": "array",
          "description": "Optional. The list of patterns to apply for selecting data to exclude during discovery. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.",
          "items": {
            "type": "string"
          }
        },
        "schedule": {
          "description": "Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running discovery periodically. Successive discovery runs must be scheduled at least 60 minutes apart. The default value is to run discovery every 60 minutes.To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or TZ=${IANA_TIME_ZONE}\". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, CRON_TZ=America/New_York 1 * * * *, or TZ=America/New_York 1 * * * *.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1RunTaskRequest": {
      "id": "GoogleCloudDataplexV1RunTaskRequest",
      "type": "object",
      "properties": {
        "args": {
          "description": "Optional. Execution spec arguments. If the map is left empty, the task will run with existing execution spec args from task definition. If the map contains an entry with a new key, the same will be added to existing set of args. If the map contains an entry with an existing arg key in task definition, the task will run with new arg value for that entry. Clearing an existing arg will require arg value to be explicitly set to a hyphen \"-\". The arg value cannot be empty.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "labels": {
          "description": "Optional. User-defined labels for the task. If the map is left empty, the task will run with existing labels from task definition. If the map contains an entry with a new key, the same will be added to existing set of labels. If the map contains an entry with an existing label key in task definition, the task will run with new label value for that entry. Clearing an existing label will require label value to be explicitly set to a hyphen \"-\". The label value cannot be empty.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        }
      }
    },
    "GoogleCloudDataplexV1ZoneDiscoverySpecJsonOptions": {
      "type": "object",
      "properties": {
        "encoding": {
          "type": "string",
          "description": "Optional. The character encoding of the data. The default is UTF-8."
        },
        "disableTypeInference": {
          "type": "boolean",
          "description": "Optional. Whether to disable the inference of data type for Json data. If true, all columns will be registered as their primitive types (strings, number or boolean)."
        }
      },
      "id": "GoogleCloudDataplexV1ZoneDiscoverySpecJsonOptions",
      "description": "Describe JSON data format."
    },
    "GoogleCloudDataplexV1CancelDataScanJobRequest": {
      "type": "object",
      "properties": {},
      "id": "GoogleCloudDataplexV1CancelDataScanJobRequest",
      "description": "Request message for the CancelDataScanJob method."
    },
    "GoogleRpcStatus": {
      "type": "object",
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "type": "integer",
          "format": "int32"
        },
        "message": {
          "type": "string",
          "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."
        },
        "details": {
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "items": {
            "type": "object",
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            }
          },
          "type": "array"
        }
      },
      "id": "GoogleRpcStatus",
      "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)."
    },
    "GoogleCloudDataplexV1AssetDiscoverySpec": {
      "id": "GoogleCloudDataplexV1AssetDiscoverySpec",
      "description": "Settings to manage the metadata discovery and publishing for an asset.",
      "type": "object",
      "properties": {
        "includePatterns": {
          "description": "Optional. The list of patterns to apply for selecting data to include during discovery if only a subset of the data should considered. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "enabled": {
          "description": "Optional. Whether discovery is enabled.",
          "type": "boolean"
        },
        "excludePatterns": {
          "description": "Optional. The list of patterns to apply for selecting data to exclude during discovery. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "schedule": {
          "description": "Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running discovery periodically. Successive discovery runs must be scheduled at least 60 minutes apart. The default value is to run discovery every 60 minutes.To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or TZ=${IANA_TIME_ZONE}\". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, CRON_TZ=America/New_York 1 * * * *, or TZ=America/New_York 1 * * * *.",
          "type": "string"
        },
        "csvOptions": {
          "$ref": "GoogleCloudDataplexV1AssetDiscoverySpecCsvOptions",
          "description": "Optional. Configuration for CSV data."
        },
        "jsonOptions": {
          "$ref": "GoogleCloudDataplexV1AssetDiscoverySpecJsonOptions",
          "description": "Optional. Configuration for Json data."
        }
      }
    },
    "GoogleCloudDataplexV1DiscoveryEvent": {
      "id": "GoogleCloudDataplexV1DiscoveryEvent",
      "description": "The payload associated with Discovery data processing.",
      "type": "object",
      "properties": {
        "table": {
          "description": "Details about the BigQuery table publishing associated with the event.",
          "$ref": "GoogleCloudDataplexV1DiscoveryEventTableDetails"
        },
        "partition": {
          "description": "Details about the partition associated with the event.",
          "$ref": "GoogleCloudDataplexV1DiscoveryEventPartitionDetails"
        },
        "datascanId": {
          "description": "The id of the associated datascan for standalone discovery.",
          "type": "string"
        },
        "entity": {
          "description": "Details about the entity associated with the event.",
          "$ref": "GoogleCloudDataplexV1DiscoveryEventEntityDetails"
        },
        "assetId": {
          "description": "The id of the associated asset.",
          "type": "string"
        },
        "zoneId": {
          "description": "The id of the associated zone.",
          "type": "string"
        },
        "type": {
          "description": "The type of the event being logged.",
          "type": "string",
          "enumDescriptions": [
            "An unspecified event type.",
            "An event representing discovery configuration in effect.",
            "An event representing a metadata entity being created.",
            "An event representing a metadata entity being updated.",
            "An event representing a metadata entity being deleted.",
            "An event representing a partition being created.",
            "An event representing a partition being updated.",
            "An event representing a partition being deleted.",
            "An event representing a table being published.",
            "An event representing a table being updated.",
            "An event representing a table being skipped in publishing.",
            "An event representing a table being deleted."
          ],
          "enum": [
            "EVENT_TYPE_UNSPECIFIED",
            "CONFIG",
            "ENTITY_CREATED",
            "ENTITY_UPDATED",
            "ENTITY_DELETED",
            "PARTITION_CREATED",
            "PARTITION_UPDATED",
            "PARTITION_DELETED",
            "TABLE_PUBLISHED",
            "TABLE_UPDATED",
            "TABLE_IGNORED",
            "TABLE_DELETED"
          ]
        },
        "config": {
          "$ref": "GoogleCloudDataplexV1DiscoveryEventConfigDetails",
          "description": "Details about discovery configuration in effect."
        },
        "action": {
          "$ref": "GoogleCloudDataplexV1DiscoveryEventActionDetails",
          "description": "Details about the action associated with the event."
        },
        "message": {
          "type": "string",
          "description": "The log message."
        },
        "lakeId": {
          "type": "string",
          "description": "The id of the associated lake."
        },
        "dataLocation": {
          "type": "string",
          "description": "The data location associated with the event."
        }
      }
    },
    "GoogleCloudDataplexV1Lake": {
      "type": "object",
      "properties": {
        "createTime": {
          "description": "Output only. The time when the lake was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "labels": {
          "type": "object",
          "description": "Optional. User-defined labels for the lake.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "serviceAccount": {
          "type": "string",
          "description": "Output only. Service account associated with this lake. This service account must be authorized to access or operate on resources managed by the lake.",
          "readOnly": true
        },
        "metastoreStatus": {
          "$ref": "GoogleCloudDataplexV1LakeMetastoreStatus",
          "description": "Output only. Metastore status of the lake.",
          "readOnly": true
        },
        "metastore": {
          "$ref": "GoogleCloudDataplexV1LakeMetastore",
          "description": "Optional. Settings to manage lake and Dataproc Metastore service instance association."
        },
        "uid": {
          "type": "string",
          "description": "Output only. System generated globally unique ID for the lake. This ID will be different if the lake is deleted and re-created with the same name.",
          "readOnly": true
        },
        "state": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "State is not specified.",
            "Resource is active, i.e., ready to use.",
            "Resource is under creation.",
            "Resource is under deletion.",
            "Resource is active but has unresolved actions."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "CREATING",
            "DELETING",
            "ACTION_REQUIRED"
          ],
          "description": "Output only. Current state of the lake."
        },
        "name": {
          "type": "string",
          "description": "Output only. The relative resource name of the lake, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.",
          "readOnly": true
        },
        "assetStatus": {
          "description": "Output only. Aggregated status of the underlying assets of the lake.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1AssetStatus"
        },
        "updateTime": {
          "description": "Output only. The time when the lake was last updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "description": {
          "description": "Optional. Description of the lake.",
          "type": "string"
        },
        "displayName": {
          "type": "string",
          "description": "Optional. User friendly display name."
        }
      },
      "id": "GoogleCloudDataplexV1Lake",
      "description": "A lake is a centralized repository for managing enterprise data across the organization distributed across many cloud projects, and stored in a variety of storage services such as Google Cloud Storage and BigQuery. The resources attached to a lake are referred to as managed resources. Data within these managed resources can be structured or unstructured. A lake provides data admins with tools to organize, secure and manage their data at scale, and provides data scientists and data engineers an integrated experience to easily search, discover, analyze and transform data and associated metadata."
    },
    "GoogleCloudDataplexV1DataScanCatalogPublishingStatus": {
      "type": "object",
      "properties": {
        "state": {
          "type": "string",
          "enumDescriptions": [
            "The publishing state is unspecified.",
            "Publishing to catalog completed successfully.",
            "Publish to catalog failed.",
            "Publishing to catalog was skipped."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "SUCCEEDED",
            "FAILED",
            "SKIPPED"
          ],
          "description": "Output only. Execution state for publishing.",
          "readOnly": true
        }
      },
      "id": "GoogleCloudDataplexV1DataScanCatalogPublishingStatus",
      "description": "The status of publishing the data scan result as Dataplex Universal Catalog metadata. Multiple DataScan log events may exist, each with different publishing information depending on the type of publishing triggered."
    },
    "GoogleCloudDataplexV1ListMetadataJobsResponse": {
      "id": "GoogleCloudDataplexV1ListMetadataJobsResponse",
      "description": "List metadata jobs response.",
      "type": "object",
      "properties": {
        "metadataJobs": {
          "description": "Metadata jobs under the specified parent location.",
          "items": {
            "$ref": "GoogleCloudDataplexV1MetadataJob"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. If there are no more results in the list, the value is empty.",
          "type": "string"
        },
        "unreachableLocations": {
          "type": "array",
          "description": "Locations that the service couldn't reach.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudDataplexV1ListZonesResponse": {
      "id": "GoogleCloudDataplexV1ListZonesResponse",
      "description": "List zones response.",
      "type": "object",
      "properties": {
        "zones": {
          "description": "Zones under the given parent lake.",
          "items": {
            "$ref": "GoogleCloudDataplexV1Zone"
          },
          "type": "array"
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list."
        }
      }
    },
    "GoogleCloudDataplexV1ListMetadataFeedsResponse": {
      "type": "object",
      "properties": {
        "metadataFeeds": {
          "description": "List of metadata feeds under the specified parent location.",
          "items": {
            "$ref": "GoogleCloudDataplexV1MetadataFeed"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. If there are no more results in the list, the value is empty.",
          "type": "string"
        },
        "unreachable": {
          "description": "Unordered list. Locations that the service couldn't reach.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "id": "GoogleCloudDataplexV1ListMetadataFeedsResponse",
      "description": "Response message for ListMetadataFeeds."
    },
    "GoogleCloudDataplexV1ExecutionIdentityDataplexServiceAgent": {
      "id": "GoogleCloudDataplexV1ExecutionIdentityDataplexServiceAgent",
      "description": "The Dataplex service agent associated with the user's project.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudDataplexV1DataQualitySpecPostScanActionsScoreThresholdTrigger": {
      "type": "object",
      "properties": {
        "scoreThreshold": {
          "type": "number",
          "format": "float",
          "description": "Optional. The score range is in 0,100."
        }
      },
      "id": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsScoreThresholdTrigger",
      "description": "This trigger is triggered when the DQ score in the job result is less than a specified input score."
    },
    "GoogleCloudDataplexV1DiscoveryEventConfigDetails": {
      "type": "object",
      "properties": {
        "parameters": {
          "description": "A list of discovery configuration parameters in effect. The keys are the field paths within DiscoverySpec. Eg. includePatterns, excludePatterns, csvOptions.disableTypeInference, etc.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        }
      },
      "id": "GoogleCloudDataplexV1DiscoveryEventConfigDetails",
      "description": "Details about configuration events."
    },
    "GoogleCloudDataplexV1ListEntriesResponse": {
      "type": "object",
      "properties": {
        "entries": {
          "type": "array",
          "description": "The list of entries under the given parent location.",
          "items": {
            "$ref": "GoogleCloudDataplexV1Entry"
          }
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1ListEntriesResponse",
      "description": "List Entries response."
    },
    "GoogleCloudDataplexV1MetadataFeedFilters": {
      "id": "GoogleCloudDataplexV1MetadataFeedFilters",
      "description": "Filters defines the type of changes that you want to listen to. You can have multiple entry type filters and multiple aspect type filters. All of the entry type filters are OR'ed together. All of the aspect type filters are OR'ed together. All of the entry type filters and aspect type filters are AND'ed together.",
      "type": "object",
      "properties": {
        "changeTypes": {
          "type": "array",
          "description": "Optional. The type of change that you want to listen to. If not specified, all changes are published.",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "Unspecified change type. Defaults to UNSPECIFIED.",
              "The change is a create event.",
              "The change is an update event.",
              "The change is a delete event."
            ],
            "enum": [
              "CHANGE_TYPE_UNSPECIFIED",
              "CREATE",
              "UPDATE",
              "DELETE"
            ]
          }
        },
        "aspectTypes": {
          "description": "Optional. The aspect types that you want to listen to. Depending on how the aspect is attached to the entry, in the format: projects/{project_id_or_number}/locations/{location}/aspectTypes/{aspect_type_id}.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "entryTypes": {
          "description": "Optional. The entry types that you want to listen to, specified as relative resource names in the format projects/{project_id_or_number}/locations/{location}/entryTypes/{entry_type_id}. Only entries that belong to the specified entry types are published.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "GoogleIamV1Binding": {
      "id": "GoogleIamV1Binding",
      "description": "Associates members, or principals, with a role.",
      "type": "object",
      "properties": {
        "members": {
          "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.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "condition": {
          "$ref": "GoogleTypeExpr",
          "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)."
        },
        "role": {
          "type": "string",
          "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)."
        }
      }
    },
    "GoogleCloudDataplexV1AssetResourceStatus": {
      "type": "object",
      "properties": {
        "state": {
          "type": "string",
          "enumDescriptions": [
            "State unspecified.",
            "Resource does not have any errors.",
            "Resource has errors."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "READY",
            "ERROR"
          ],
          "description": "The current state of the managed resource."
        },
        "updateTime": {
          "description": "Last update time of the status.",
          "type": "string",
          "format": "google-datetime"
        },
        "managedAccessIdentity": {
          "description": "Output only. Service account associated with the BigQuery Connection.",
          "readOnly": true,
          "type": "string"
        },
        "message": {
          "description": "Additional information about the current state.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1AssetResourceStatus",
      "description": "Status of the resource referenced by an asset."
    },
    "GoogleCloudDataplexV1DataProfileResultProfileField": {
      "id": "GoogleCloudDataplexV1DataProfileResultProfileField",
      "description": "A field within a table.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. The name of the field.",
          "readOnly": true,
          "type": "string"
        },
        "type": {
          "description": "Output only. The data type retrieved from the schema of the data source. For instance, for a BigQuery native table, it is the BigQuery Table Schema (https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#tablefieldschema). For a Dataplex Universal Catalog Entity, it is the Entity Schema (https://cloud.google.com/dataplex/docs/reference/rpc/google.cloud.dataplex.v1#type_3).",
          "readOnly": true,
          "type": "string"
        },
        "mode": {
          "type": "string",
          "description": "Output only. The mode of the field. Possible values include: REQUIRED, if it is a required field. NULLABLE, if it is an optional field. REPEATED, if it is a repeated field.",
          "readOnly": true
        },
        "profile": {
          "description": "Output only. Profile information for the corresponding field.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfo"
        }
      }
    },
    "GoogleCloudDataplexV1ListAssetsResponse": {
      "id": "GoogleCloudDataplexV1ListAssetsResponse",
      "description": "List assets response.",
      "type": "object",
      "properties": {
        "assets": {
          "type": "array",
          "description": "Asset under the given parent zone.",
          "items": {
            "$ref": "GoogleCloudDataplexV1Asset"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list."
        }
      }
    },
    "GoogleCloudDataplexV1DataScanEvent": {
      "id": "GoogleCloudDataplexV1DataScanEvent",
      "description": "These messages contain information about the execution of a datascan. The monitored resource is 'DataScan'",
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enumDescriptions": [
            "An unspecified data scan type.",
            "Data scan for data profile.",
            "Data scan for data quality.",
            "Data scan for data discovery."
          ],
          "enum": [
            "SCAN_TYPE_UNSPECIFIED",
            "DATA_PROFILE",
            "DATA_QUALITY",
            "DATA_DISCOVERY"
          ],
          "description": "The type of the data scan."
        },
        "catalogPublishingStatus": {
          "$ref": "GoogleCloudDataplexV1DataScanCatalogPublishingStatus",
          "description": "The status of publishing the data scan as Dataplex Universal Catalog metadata."
        },
        "dataProfileConfigs": {
          "$ref": "GoogleCloudDataplexV1DataScanEventDataProfileAppliedConfigs",
          "description": "Applied configs for data profile type data scan."
        },
        "postScanActionsResult": {
          "$ref": "GoogleCloudDataplexV1DataScanEventPostScanActionsResult",
          "description": "The result of post scan actions."
        },
        "dataQualityConfigs": {
          "$ref": "GoogleCloudDataplexV1DataScanEventDataQualityAppliedConfigs",
          "description": "Applied configs for data quality type data scan."
        },
        "dataProfile": {
          "$ref": "GoogleCloudDataplexV1DataScanEventDataProfileResult",
          "description": "Data profile result for data profile type data scan."
        },
        "scope": {
          "description": "The scope of the data scan (e.g. full, incremental).",
          "type": "string",
          "enumDescriptions": [
            "An unspecified scope type.",
            "Data scan runs on all of the data.",
            "Data scan runs on incremental data."
          ],
          "enum": [
            "SCOPE_UNSPECIFIED",
            "FULL",
            "INCREMENTAL"
          ]
        },
        "endTime": {
          "description": "The time when the data scan job finished.",
          "type": "string",
          "format": "google-datetime"
        },
        "dataSource": {
          "type": "string",
          "description": "The data source of the data scan"
        },
        "specVersion": {
          "description": "A version identifier of the spec which was used to execute this job.",
          "type": "string"
        },
        "jobId": {
          "type": "string",
          "description": "The identifier of the specific data scan job this log entry is for."
        },
        "dataQuality": {
          "description": "Data quality result for data quality type data scan.",
          "$ref": "GoogleCloudDataplexV1DataScanEventDataQualityResult"
        },
        "startTime": {
          "description": "The time when the data scan job started to run.",
          "type": "string",
          "format": "google-datetime"
        },
        "createTime": {
          "description": "The time when the data scan job was created.",
          "type": "string",
          "format": "google-datetime"
        },
        "state": {
          "description": "The status of the data scan job.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified job state.",
            "Data scan job started.",
            "Data scan job successfully completed.",
            "Data scan job was unsuccessful.",
            "Data scan job was cancelled.",
            "Data scan job was created."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "STARTED",
            "SUCCEEDED",
            "FAILED",
            "CANCELLED",
            "CREATED"
          ]
        },
        "message": {
          "type": "string",
          "description": "The message describing the data scan job event."
        },
        "trigger": {
          "type": "string",
          "enumDescriptions": [
            "An unspecified trigger type.",
            "Data scan triggers on demand.",
            "Data scan triggers as per schedule.",
            "Data scan is run one time on creation."
          ],
          "enum": [
            "TRIGGER_UNSPECIFIED",
            "ON_DEMAND",
            "SCHEDULE",
            "ONE_TIME"
          ],
          "description": "The trigger type of the data scan job."
        }
      }
    },
    "GoogleCloudDataplexV1SearchEntriesResult": {
      "id": "GoogleCloudDataplexV1SearchEntriesResult",
      "description": "A single result of a SearchEntries request.",
      "type": "object",
      "properties": {
        "dataplexEntry": {
          "$ref": "GoogleCloudDataplexV1Entry"
        },
        "linkedResource": {
          "deprecated": true,
          "type": "string",
          "description": "Linked resource name."
        },
        "snippets": {
          "deprecated": true,
          "$ref": "GoogleCloudDataplexV1SearchEntriesResultSnippets",
          "description": "Snippets."
        }
      }
    },
    "GoogleCloudDataplexV1ActionInvalidDataPartition": {
      "type": "object",
      "properties": {
        "expectedStructure": {
          "description": "The issue type of InvalidDataPartition.",
          "type": "string",
          "enumDescriptions": [
            "PartitionStructure unspecified.",
            "Consistent hive-style partition definition (both raw and curated zone).",
            "Hive style partition definition (curated zone only)."
          ],
          "enum": [
            "PARTITION_STRUCTURE_UNSPECIFIED",
            "CONSISTENT_KEYS",
            "HIVE_STYLE_KEYS"
          ]
        }
      },
      "id": "GoogleCloudDataplexV1ActionInvalidDataPartition",
      "description": "Action details for invalid or unsupported partitions detected by discovery."
    },
    "GoogleCloudDataplexV1AspectTypeMetadataTemplate": {
      "id": "GoogleCloudDataplexV1AspectTypeMetadataTemplate",
      "description": "MetadataTemplate definition for an AspectType.",
      "type": "object",
      "properties": {
        "constraints": {
          "description": "Optional. Specifies the constraints on this field.",
          "$ref": "GoogleCloudDataplexV1AspectTypeMetadataTemplateConstraints"
        },
        "annotations": {
          "$ref": "GoogleCloudDataplexV1AspectTypeMetadataTemplateAnnotations",
          "description": "Optional. Specifies annotations on this field."
        },
        "arrayItems": {
          "description": "Optional. If the type is array, set array_items. array_items can refer to a primitive field or a complex (record only) field. To specify a primitive field, you only need to set name and type in the nested MetadataTemplate. The recommended value for the name field is item, as this isn't used in the actual payload.",
          "$ref": "GoogleCloudDataplexV1AspectTypeMetadataTemplate"
        },
        "mapItems": {
          "description": "Optional. If the type is map, set map_items. map_items can refer to a primitive field or a complex (record only) field. To specify a primitive field, you only need to set name and type in the nested MetadataTemplate. The recommended value for the name field is item, as this isn't used in the actual payload.",
          "$ref": "GoogleCloudDataplexV1AspectTypeMetadataTemplate"
        },
        "enumValues": {
          "type": "array",
          "description": "Optional. The list of values for an enum type. You must define it if the type is enum.",
          "items": {
            "$ref": "GoogleCloudDataplexV1AspectTypeMetadataTemplateEnumValue"
          }
        },
        "name": {
          "description": "Required. The name of the field.",
          "type": "string"
        },
        "type": {
          "type": "string",
          "description": "Required. The datatype of this field. The following values are supported:Primitive types: string int bool double datetime. Must be of the format RFC3339 UTC \"Zulu\" (Examples: \"2014-10-02T15:01:23Z\" and \"2014-10-02T15:01:23.045123456Z\").Complex types: enum array map record"
        },
        "typeRef": {
          "description": "Optional. A reference to another field definition (not an inline definition). The value must be equal to the value of an id field defined elsewhere in the MetadataTemplate. Only fields with record type can refer to other fields.",
          "type": "string"
        },
        "recordFields": {
          "type": "array",
          "description": "Optional. Field definition. You must specify it if the type is record. It defines the nested fields.",
          "items": {
            "$ref": "GoogleCloudDataplexV1AspectTypeMetadataTemplate"
          }
        },
        "index": {
          "description": "Optional. Index is used to encode Template messages. The value of index can range between 1 and 2,147,483,647. Index must be unique within all fields in a Template. (Nested Templates can reuse indexes). Once a Template is defined, the index cannot be changed, because it identifies the field in the actual storage format. Index is a mandatory field, but it is optional for top level fields, and map/array \"values\" definitions.",
          "type": "integer",
          "format": "int32"
        },
        "typeId": {
          "description": "Optional. You can use type id if this definition of the field needs to be reused later. The type id must be unique across the entire template. You can only specify it if the field type is record.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1TaskInfrastructureSpecContainerImageRuntime": {
      "type": "object",
      "properties": {
        "javaJars": {
          "description": "Optional. A list of Java JARS to add to the classpath. Valid input includes Cloud Storage URIs to Jar binaries. For example, gs://bucket-name/my/path/to/file.jar",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "image": {
          "description": "Optional. Container image to use.",
          "type": "string"
        },
        "pythonPackages": {
          "type": "array",
          "description": "Optional. A list of python packages to be installed. Valid formats include Cloud Storage URI to a PIP installable library. For example, gs://bucket-name/my/path/to/lib.tar.gz",
          "items": {
            "type": "string"
          }
        },
        "properties": {
          "type": "object",
          "description": "Optional. Override to common configuration of open source components installed on the Dataproc cluster. The properties to set on daemon config files. Property keys are specified in prefix:property format, for example core:hadoop.tmp.dir. For more information, see Cluster properties (https://cloud.google.com/dataproc/docs/concepts/cluster-properties).",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "id": "GoogleCloudDataplexV1TaskInfrastructureSpecContainerImageRuntime",
      "description": "Container Image Runtime Configuration used with Batch execution."
    },
    "GoogleCloudDataplexV1DataDiscoveryResultScanStatistics": {
      "id": "GoogleCloudDataplexV1DataDiscoveryResultScanStatistics",
      "description": "Describes result statistics of a data scan discovery job.",
      "type": "object",
      "properties": {
        "tablesUpdated": {
          "type": "integer",
          "format": "int32",
          "description": "The number of tables updated."
        },
        "filesetsCreated": {
          "description": "The number of filesets created.",
          "type": "integer",
          "format": "int32"
        },
        "filesetsUpdated": {
          "description": "The number of filesets updated.",
          "type": "integer",
          "format": "int32"
        },
        "scannedFileCount": {
          "type": "integer",
          "format": "int32",
          "description": "The number of files scanned."
        },
        "dataProcessedBytes": {
          "description": "The data processed in bytes.",
          "type": "string",
          "format": "int64"
        },
        "tablesDeleted": {
          "description": "The number of tables deleted.",
          "type": "integer",
          "format": "int32"
        },
        "tablesCreated": {
          "type": "integer",
          "format": "int32",
          "description": "The number of tables created."
        },
        "filesetsDeleted": {
          "description": "The number of filesets deleted.",
          "type": "integer",
          "format": "int32"
        },
        "filesExcluded": {
          "description": "The number of files excluded.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "GoogleLongrunningOperation": {
      "type": "object",
      "properties": {
        "response": {
          "type": "object",
          "description": "The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          }
        },
        "done": {
          "description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.",
          "type": "boolean"
        },
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}.",
          "type": "string"
        },
        "metadata": {
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "type": "object"
        },
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "GoogleRpcStatus"
        }
      },
      "id": "GoogleLongrunningOperation",
      "description": "This resource represents a long-running operation that is the result of a network API call."
    },
    "GoogleCloudDataplexV1AssetDiscoverySpecCsvOptions": {
      "id": "GoogleCloudDataplexV1AssetDiscoverySpecCsvOptions",
      "description": "Describe CSV and similar semi-structured data formats.",
      "type": "object",
      "properties": {
        "encoding": {
          "description": "Optional. The character encoding of the data. The default is UTF-8.",
          "type": "string"
        },
        "disableTypeInference": {
          "type": "boolean",
          "description": "Optional. Whether to disable the inference of data type for CSV data. If true, all columns will be registered as strings."
        },
        "delimiter": {
          "type": "string",
          "description": "Optional. The delimiter being used to separate values. This defaults to ','."
        },
        "headerRows": {
          "type": "integer",
          "format": "int32",
          "description": "Optional. The number of rows to interpret as header rows that should be skipped when reading data rows."
        }
      }
    },
    "GoogleCloudDataplexV1DataAttributeBinding": {
      "id": "GoogleCloudDataplexV1DataAttributeBinding",
      "description": "DataAttributeBinding represents binding of attributes to resources. Eg: Bind 'CustomerInfo' entity with 'PII' attribute.",
      "deprecated": true,
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Output only. The relative resource name of the Data Attribute Binding, of the form: projects/{project_number}/locations/{location}/dataAttributeBindings/{data_attribute_binding_id}",
          "readOnly": true
        },
        "etag": {
          "description": "This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. Etags must be used when calling the DeleteDataAttributeBinding and the UpdateDataAttributeBinding method.",
          "type": "string"
        },
        "updateTime": {
          "description": "Output only. The time when the DataAttributeBinding was last updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "attributes": {
          "description": "Optional. List of attributes to be associated with the resource, provided in the form: projects/{project}/locations/{location}/dataTaxonomies/{dataTaxonomy}/attributes/{data_attribute_id}",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the DataAttributeBinding."
        },
        "displayName": {
          "description": "Optional. User friendly display name.",
          "type": "string"
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the DataAttributeBinding was created.",
          "readOnly": true
        },
        "labels": {
          "type": "object",
          "description": "Optional. User-defined labels for the DataAttributeBinding.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "uid": {
          "type": "string",
          "description": "Output only. System generated globally unique ID for the DataAttributeBinding. This ID will be different if the DataAttributeBinding is deleted and re-created with the same name.",
          "readOnly": true
        },
        "resource": {
          "type": "string",
          "description": "Optional. Immutable. The resource name of the resource that is associated to attributes. Presently, only entity resource is supported in the form: projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/entities/{entity_id} Must belong in the same project and region as the attribute binding, and there can only exist one active binding for a resource."
        },
        "paths": {
          "type": "array",
          "description": "Optional. The list of paths for items within the associated resource (eg. columns and partitions within a table) along with attribute bindings.",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataAttributeBindingPath"
          }
        }
      }
    },
    "GoogleCloudDataplexV1ListDataAssetsResponse": {
      "type": "object",
      "properties": {
        "dataAssets": {
          "type": "array",
          "description": "The data assets for the requested filter criteria.",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataAsset"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as page_token to retrieve the next page. If this field is empty, then there are no subsequent pages."
        }
      },
      "id": "GoogleCloudDataplexV1ListDataAssetsResponse",
      "description": "Response message for listing data assets."
    },
    "GoogleCloudDataplexV1ExecutionIdentityServiceAccount": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string",
          "description": "Required. Service account email. The datascan will execute with this service account's credentials. The user calling this API must have permissions to act as this service account. Dataplex service agent must be granted iam.serviceAccounts.getAccessToken permission on this service account, for example, through the iam.serviceAccountTokenCreator role ."
        }
      },
      "id": "GoogleCloudDataplexV1ExecutionIdentityServiceAccount",
      "description": "The service account"
    },
    "GoogleCloudDataplexV1BusinessGlossaryEvent": {
      "type": "object",
      "properties": {
        "resource": {
          "description": "Name of the resource.",
          "type": "string"
        },
        "message": {
          "type": "string",
          "description": "The log message."
        },
        "eventType": {
          "description": "The type of the event.",
          "type": "string",
          "enumDescriptions": [
            "An unspecified event type.",
            "Glossary create event.",
            "Glossary update event.",
            "Glossary delete event.",
            "Glossary category create event.",
            "Glossary category update event.",
            "Glossary category delete event.",
            "Glossary term create event.",
            "Glossary term update event.",
            "Glossary term delete event."
          ],
          "enum": [
            "EVENT_TYPE_UNSPECIFIED",
            "GLOSSARY_CREATE",
            "GLOSSARY_UPDATE",
            "GLOSSARY_DELETE",
            "GLOSSARY_CATEGORY_CREATE",
            "GLOSSARY_CATEGORY_UPDATE",
            "GLOSSARY_CATEGORY_DELETE",
            "GLOSSARY_TERM_CREATE",
            "GLOSSARY_TERM_UPDATE",
            "GLOSSARY_TERM_DELETE"
          ]
        }
      },
      "id": "GoogleCloudDataplexV1BusinessGlossaryEvent",
      "description": "Payload associated with Business Glossary related log events."
    },
    "GoogleCloudDataplexV1EncryptionConfig": {
      "type": "object",
      "properties": {
        "createTime": {
          "description": "Output only. The time when the Encryption configuration was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. The time when the Encryption configuration was last updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "name": {
          "description": "Identifier. The resource name of the EncryptionConfig. Format: organizations/{organization}/locations/{location}/encryptionConfigs/{encryption_config} Global location is not supported.",
          "type": "string"
        },
        "encryptionState": {
          "readOnly": true,
          "description": "Output only. The state of encryption of the databases.",
          "type": "string",
          "enumDescriptions": [
            "State is not specified.",
            "The encryption state of the database when the EncryptionConfig is created or updated. If the encryption fails, it is retried indefinitely and the state is shown as ENCRYPTING.",
            "The encryption of data has completed successfully.",
            "The encryption of data has failed. The state is set to FAILED when the encryption fails due to reasons like permission issues, invalid key etc."
          ],
          "enum": [
            "ENCRYPTION_STATE_UNSPECIFIED",
            "ENCRYPTING",
            "COMPLETED",
            "FAILED"
          ]
        },
        "etag": {
          "type": "string",
          "description": "Etag of the EncryptionConfig. This is a strong etag."
        },
        "failureDetails": {
          "description": "Output only. Details of the failure if anything related to Cmek db fails.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1EncryptionConfigFailureDetails"
        },
        "key": {
          "description": "Optional. If a key is chosen, it means that the customer is using CMEK. If a key is not chosen, it means that the customer is using Google managed encryption.",
          "type": "string"
        },
        "enableMetastoreEncryption": {
          "description": "Optional. Represent the state of CMEK opt-in for metastore.",
          "type": "boolean"
        }
      },
      "id": "GoogleCloudDataplexV1EncryptionConfig",
      "description": "A Resource designed to manage encryption configurations for customers to support Customer Managed Encryption Keys (CMEK)."
    },
    "GoogleCloudDataplexV1EncryptionConfigFailureDetails": {
      "id": "GoogleCloudDataplexV1EncryptionConfigFailureDetails",
      "description": "Details of the failure if anything related to Cmek db fails.",
      "type": "object",
      "properties": {
        "errorCode": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "The error code is not specified",
            "Error because of internal server error, will be retried automatically.",
            "User action is required to resolve the error."
          ],
          "enum": [
            "UNKNOWN",
            "INTERNAL_ERROR",
            "REQUIRE_USER_ACTION"
          ],
          "description": "Output only. The error code for the failure."
        },
        "errorMessage": {
          "type": "string",
          "description": "Output only. The error message will be shown to the user. Set only if the error code is REQUIRE_USER_ACTION.",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1TaskNotebookTaskConfig": {
      "id": "GoogleCloudDataplexV1TaskNotebookTaskConfig",
      "description": "Config for running scheduled notebooks.",
      "type": "object",
      "properties": {
        "archiveUris": {
          "type": "array",
          "description": "Optional. Cloud Storage URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.",
          "items": {
            "type": "string"
          }
        },
        "notebook": {
          "description": "Required. Path to input notebook. This can be the Cloud Storage URI of the notebook file or the path to a Notebook Content. The execution args are accessible as environment variables (TASK_key=value).",
          "type": "string"
        },
        "infrastructureSpec": {
          "description": "Optional. Infrastructure specification for the execution.",
          "$ref": "GoogleCloudDataplexV1TaskInfrastructureSpec"
        },
        "fileUris": {
          "type": "array",
          "description": "Optional. Cloud Storage URIs of files to be placed in the working directory of each executor.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudDataplexV1GlossaryCategory": {
      "id": "GoogleCloudDataplexV1GlossaryCategory",
      "description": "A GlossaryCategory represents a collection of GlossaryCategories and GlossaryTerms within a Glossary that are related to each other.",
      "type": "object",
      "properties": {
        "displayName": {
          "type": "string",
          "description": "Optional. User friendly display name of the GlossaryCategory. This is user-mutable. This will be same as the GlossaryCategoryId, if not specified."
        },
        "uid": {
          "type": "string",
          "description": "Output only. System generated unique id for the GlossaryCategory. This ID will be different if the GlossaryCategory is deleted and re-created with the same name.",
          "readOnly": true
        },
        "name": {
          "description": "Output only. Identifier. The resource name of the GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}",
          "readOnly": true,
          "type": "string"
        },
        "createTime": {
          "description": "Output only. The time at which the GlossaryCategory was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time at which the GlossaryCategory was last updated.",
          "readOnly": true
        },
        "labels": {
          "type": "object",
          "description": "Optional. User-defined labels for the GlossaryCategory.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "parent": {
          "type": "string",
          "description": "Required. The immediate parent of the GlossaryCategory in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}"
        },
        "description": {
          "type": "string",
          "description": "Optional. The user-mutable description of the GlossaryCategory."
        }
      }
    },
    "GoogleCloudDataplexV1OperationMetadata": {
      "type": "object",
      "properties": {
        "target": {
          "description": "Output only. Server-defined resource path for the target of the operation.",
          "readOnly": true,
          "type": "string"
        },
        "verb": {
          "type": "string",
          "description": "Output only. Name of the verb executed by the operation.",
          "readOnly": true
        },
        "apiVersion": {
          "description": "Output only. API version used to start the operation.",
          "readOnly": true,
          "type": "string"
        },
        "endTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time the operation finished running.",
          "readOnly": true
        },
        "createTime": {
          "description": "Output only. The time the operation was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "statusMessage": {
          "type": "string",
          "description": "Output only. Human-readable status of the operation, if any.",
          "readOnly": true
        },
        "requestedCancellation": {
          "type": "boolean",
          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.",
          "readOnly": true
        }
      },
      "id": "GoogleCloudDataplexV1OperationMetadata",
      "description": "Represents the metadata of a long-running operation."
    },
    "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoDoubleFieldInfo": {
      "type": "object",
      "properties": {
        "average": {
          "type": "number",
          "format": "double",
          "description": "Output only. Average of non-null values in the scanned data. NaN, if the field has a NaN.",
          "readOnly": true
        },
        "min": {
          "type": "number",
          "format": "double",
          "description": "Output only. Minimum of non-null values in the scanned data. NaN, if the field has a NaN.",
          "readOnly": true
        },
        "max": {
          "type": "number",
          "format": "double",
          "description": "Output only. Maximum of non-null values in the scanned data. NaN, if the field has a NaN.",
          "readOnly": true
        },
        "standardDeviation": {
          "type": "number",
          "format": "double",
          "description": "Output only. Standard deviation of non-null values in the scanned data. NaN, if the field has a NaN.",
          "readOnly": true
        },
        "quartiles": {
          "description": "Output only. A quartile divides the number of data points into four parts, or quarters, of more-or-less equal size. Three main quartiles used are: The first quartile (Q1) splits off the lowest 25% of data from the highest 75%. It is also known as the lower or 25th empirical quartile, as 25% of the data is below this point. The second quartile (Q2) is the median of a data set. So, 50% of the data lies below this point. The third quartile (Q3) splits off the highest 25% of data from the lowest 75%. It is known as the upper or 75th empirical quartile, as 75% of the data lies below this point. Here, the quartiles is provided as an ordered list of quartile values for the scanned data, occurring in order Q1, median, Q3.",
          "readOnly": true,
          "items": {
            "type": "number",
            "format": "double"
          },
          "type": "array"
        }
      },
      "id": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoDoubleFieldInfo",
      "description": "The profile information for a double type field."
    },
    "GoogleCloudDataplexV1ZoneDiscoverySpecCsvOptions": {
      "id": "GoogleCloudDataplexV1ZoneDiscoverySpecCsvOptions",
      "description": "Describe CSV and similar semi-structured data formats.",
      "type": "object",
      "properties": {
        "headerRows": {
          "description": "Optional. The number of rows to interpret as header rows that should be skipped when reading data rows.",
          "type": "integer",
          "format": "int32"
        },
        "delimiter": {
          "type": "string",
          "description": "Optional. The delimiter being used to separate values. This defaults to ','."
        },
        "encoding": {
          "description": "Optional. The character encoding of the data. The default is UTF-8.",
          "type": "string"
        },
        "disableTypeInference": {
          "description": "Optional. Whether to disable the inference of data type for CSV data. If true, all columns will be registered as strings.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudDataplexV1DataAsset": {
      "id": "GoogleCloudDataplexV1DataAsset",
      "description": "Represents a data asset resource that can be packaged and shared via a data product.",
      "type": "object",
      "properties": {
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time at which the data asset was created.",
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time at which the data asset was last updated.",
          "readOnly": true
        },
        "labels": {
          "type": "object",
          "description": "Optional. User-defined labels for the data asset.Example: { \"environment\": \"production\", \"billing\": \"marketing-department\" } ",
          "additionalProperties": {
            "type": "string"
          }
        },
        "name": {
          "description": "Identifier. Resource name of the data asset. Format: projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}/dataAssets/{data_asset_id}",
          "type": "string"
        },
        "etag": {
          "type": "string",
          "description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding."
        },
        "uid": {
          "type": "string",
          "description": "Output only. System generated globally unique ID for the data asset. This ID will be different if the data asset is deleted and re-created with the same name.",
          "readOnly": true
        },
        "resource": {
          "type": "string",
          "description": "Required. Immutable. Full resource name of the cloud resource represented by the data asset. This must follow https://cloud.google.com/iam/docs/full-resource-names. Example: //bigquery.googleapis.com/projects/my_project_123/datasets/dataset_456/tables/table_789 Only BigQuery tables and datasets are currently supported. Data asset creator must have getIamPolicy and setIamPolicy permissions on the resource. Data asset creator must also have resource specific get permission, for instance, bigquery.tables.get for BigQuery tables."
        },
        "accessGroupConfigs": {
          "type": "object",
          "description": "Optional. Access groups configurations for this data asset.The key is DataProduct.AccessGroup.id and the value is AccessGroupConfig.Example: { \"analyst\": { \"iamRoles\": [\"roles/bigquery.dataViewer\"] } } Currently, at most one IAM role is allowed per access group. For providing multiple predefined IAM roles, wrap them in a custom IAM role as per https://cloud.google.com/iam/docs/creating-custom-roles.",
          "additionalProperties": {
            "$ref": "GoogleCloudDataplexV1DataAssetAccessGroupConfig"
          }
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityResultPostScanActionsResult": {
      "type": "object",
      "properties": {
        "bigqueryExportResult": {
          "description": "Output only. The result of BigQuery export post scan action.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataQualityResultPostScanActionsResultBigQueryExportResult"
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityResultPostScanActionsResult",
      "description": "The result of post scan actions of DataQualityScan job."
    },
    "GoogleCloudDataplexV1EntryTypeAspectInfo": {
      "id": "GoogleCloudDataplexV1EntryTypeAspectInfo",
      "type": "object",
      "properties": {
        "type": {
          "description": "Required aspect type for the entry type.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1AssetDiscoveryStatusStats": {
      "id": "GoogleCloudDataplexV1AssetDiscoveryStatusStats",
      "description": "The aggregated data statistics for the asset reported by discovery.",
      "type": "object",
      "properties": {
        "dataSize": {
          "description": "The number of stored data bytes within the referenced resource.",
          "type": "string",
          "format": "int64"
        },
        "dataItems": {
          "description": "The count of data items within the referenced resource.",
          "type": "string",
          "format": "int64"
        },
        "tables": {
          "description": "The count of table entities within the referenced resource.",
          "type": "string",
          "format": "int64"
        },
        "filesets": {
          "description": "The count of fileset entities within the referenced resource.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleCloudDataplexV1AssetDiscoveryStatus": {
      "id": "GoogleCloudDataplexV1AssetDiscoveryStatus",
      "description": "Status of discovery for an asset.",
      "type": "object",
      "properties": {
        "lastRunTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "The start time of the last discovery run."
        },
        "state": {
          "description": "The current status of the discovery feature.",
          "type": "string",
          "enumDescriptions": [
            "State is unspecified.",
            "Discovery for the asset is scheduled.",
            "Discovery for the asset is running.",
            "Discovery for the asset is currently paused (e.g. due to a lack of available resources). It will be automatically resumed.",
            "Discovery for the asset is disabled."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "SCHEDULED",
            "IN_PROGRESS",
            "PAUSED",
            "DISABLED"
          ]
        },
        "message": {
          "type": "string",
          "description": "Additional information about the current state."
        },
        "lastRunDuration": {
          "type": "string",
          "format": "google-duration",
          "description": "The duration of the last discovery run."
        },
        "stats": {
          "$ref": "GoogleCloudDataplexV1AssetDiscoveryStatusStats",
          "description": "Data Stats of the asset reported by discovery."
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Last update time of the status."
        }
      }
    },
    "GoogleCloudDataplexV1ListEncryptionConfigsResponse": {
      "type": "object",
      "properties": {
        "unreachableLocations": {
          "type": "array",
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list."
        },
        "encryptionConfigs": {
          "description": "The list of EncryptionConfigs under the given parent location.",
          "items": {
            "$ref": "GoogleCloudDataplexV1EncryptionConfig"
          },
          "type": "array"
        }
      },
      "id": "GoogleCloudDataplexV1ListEncryptionConfigsResponse",
      "description": "List EncryptionConfigs Response"
    },
    "GoogleCloudDataplexV1AspectTypeMetadataTemplateEnumValue": {
      "type": "object",
      "properties": {
        "index": {
          "type": "integer",
          "format": "int32",
          "description": "Required. Index for the enum value. It can't be modified."
        },
        "name": {
          "description": "Required. Name of the enumvalue. This is the actual value that the aspect can contain.",
          "type": "string"
        },
        "deprecated": {
          "type": "string",
          "description": "Optional. You can set this message if you need to deprecate an enum value."
        }
      },
      "id": "GoogleCloudDataplexV1AspectTypeMetadataTemplateEnumValue",
      "description": "Definition of Enumvalue, to be used for enum fields."
    },
    "GoogleCloudDataplexV1EntityCompatibilityStatusCompatibility": {
      "id": "GoogleCloudDataplexV1EntityCompatibilityStatusCompatibility",
      "description": "Provides compatibility information for a specific metadata store.",
      "type": "object",
      "properties": {
        "reason": {
          "description": "Output only. Provides additional detail if the entity is incompatible with the metadata store.",
          "readOnly": true,
          "type": "string"
        },
        "compatible": {
          "description": "Output only. Whether the entity is compatible and can be represented in the metadata store.",
          "readOnly": true,
          "type": "boolean"
        }
      }
    },
    "GoogleCloudDataplexV1ListGlossariesResponse": {
      "type": "object",
      "properties": {
        "glossaries": {
          "description": "Lists the Glossaries in the specified parent.",
          "items": {
            "$ref": "GoogleCloudDataplexV1Glossary"
          },
          "type": "array"
        },
        "unreachableLocations": {
          "type": "array",
          "description": "Locations that the service couldn't reach.",
          "items": {
            "type": "string"
          }
        },
        "nextPageToken": {
          "description": "A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1ListGlossariesResponse",
      "description": "List Glossaries Response"
    },
    "GoogleCloudDataplexV1ListDataAttributesResponse": {
      "type": "object",
      "properties": {
        "dataAttributes": {
          "type": "array",
          "description": "DataAttributes under the given parent DataTaxonomy.",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataAttribute"
          }
        },
        "unreachableLocations": {
          "type": "array",
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          }
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1ListDataAttributesResponse",
      "description": "List DataAttributes response."
    },
    "GoogleCloudDataplexV1DataQualityRuleTemplate": {
      "type": "object",
      "properties": {
        "dimension": {
          "type": "string",
          "description": "Output only. The dimension a rule template belongs to. Rule level results are also aggregated at the dimension level.",
          "readOnly": true
        },
        "sqlCollection": {
          "description": "Output only. Collection of SQLs for data quality rules. Currently only one SQL is supported.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityRuleTemplateSql"
          },
          "type": "array"
        },
        "capabilities": {
          "type": "array",
          "description": "Output only. A list of features or properties supported by this rule template.",
          "readOnly": true,
          "items": {
            "type": "string"
          }
        },
        "name": {
          "description": "Output only. The name of the rule template in the format: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}",
          "readOnly": true,
          "type": "string"
        },
        "inputParameters": {
          "type": "object",
          "description": "Output only. Description for input parameters",
          "readOnly": true,
          "additionalProperties": {
            "$ref": "GoogleCloudDataplexV1DataQualityRuleTemplateParameterDescription"
          }
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityRuleTemplate",
      "description": "DataQualityRuleTemplate represents a template which can be reused across multiple data quality rules."
    },
    "GoogleCloudLocationListLocationsResponse": {
      "id": "GoogleCloudLocationListLocationsResponse",
      "description": "The response message for Locations.ListLocations.",
      "type": "object",
      "properties": {
        "locations": {
          "type": "array",
          "description": "A list of locations that matches the specified filter in the request.",
          "items": {
            "$ref": "GoogleCloudLocationLocation"
          }
        },
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityRuleRowConditionExpectation": {
      "type": "object",
      "properties": {
        "sqlExpression": {
          "type": "string",
          "description": "Optional. The SQL expression."
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityRuleRowConditionExpectation",
      "description": "Evaluates whether each row passes the specified condition.The SQL expression needs to use GoogleSQL syntax (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax) and should produce a boolean value per row as the result.Example: col1 \u003e= 0 AND col2 \u003c 10"
    },
    "GoogleCloudDataplexV1ListEntryTypesResponse": {
      "id": "GoogleCloudDataplexV1ListEntryTypesResponse",
      "description": "List EntryTypes response.",
      "type": "object",
      "properties": {
        "unreachableLocations": {
          "description": "Locations that the service couldn't reach.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "entryTypes": {
          "description": "EntryTypes under the given parent location.",
          "items": {
            "$ref": "GoogleCloudDataplexV1EntryType"
          },
          "type": "array"
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list."
        }
      }
    },
    "GoogleCloudDataplexV1LookupContextResponse": {
      "id": "GoogleCloudDataplexV1LookupContextResponse",
      "description": "Lookup Context response.",
      "type": "object",
      "properties": {
        "context": {
          "type": "string",
          "description": "Pre-formatted block of text containing the context for the requested resources."
        }
      }
    },
    "GoogleCloudDataplexV1AspectSource": {
      "type": "object",
      "properties": {
        "createTime": {
          "description": "The time the aspect was created in the source system.",
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "The time the aspect was last updated in the source system.",
          "type": "string",
          "format": "google-datetime"
        },
        "dataVersion": {
          "type": "string",
          "description": "The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc)."
        }
      },
      "id": "GoogleCloudDataplexV1AspectSource",
      "description": "Information related to the source system of the aspect."
    },
    "GoogleCloudDataplexV1ListLakesResponse": {
      "type": "object",
      "properties": {
        "unreachableLocations": {
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "lakes": {
          "description": "Lakes under the given parent location.",
          "items": {
            "$ref": "GoogleCloudDataplexV1Lake"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1ListLakesResponse",
      "description": "List lakes response."
    },
    "GoogleCloudDataplexV1DataProduct": {
      "type": "object",
      "properties": {
        "ownerEmails": {
          "type": "array",
          "description": "Required. Emails of the data product owners.",
          "items": {
            "type": "string"
          }
        },
        "accessGroups": {
          "description": "Optional. Data product access groups by access group id as key. If data product is used only for packaging data assets, then access groups may be empty. However, if a data product is used for sharing data assets, then at least one access group must be specified.Example: { \"analyst\": { \"id\": \"analyst\", \"displayName\": \"Analyst\", \"description\": \"Access group for analysts\", \"principal\": { \"googleGroup\": \"analysts@example.com\" } } } ",
          "additionalProperties": {
            "$ref": "GoogleCloudDataplexV1DataProductAccessGroup"
          },
          "type": "object"
        },
        "displayName": {
          "type": "string",
          "description": "Required. User-friendly display name of the data product."
        },
        "assetCount": {
          "description": "Output only. Number of data assets associated with this data product.",
          "readOnly": true,
          "type": "integer",
          "format": "int32"
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the data product."
        },
        "name": {
          "description": "Identifier. Resource name of the data product. Format: projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}.",
          "type": "string"
        },
        "etag": {
          "type": "string",
          "description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding."
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time at which the data product was last updated.",
          "readOnly": true
        },
        "icon": {
          "type": "string",
          "format": "byte",
          "description": "Optional. Base64 encoded image representing the data product. Max Size: 3.0MiB Expected image dimensions are 512x512 pixels, however the API only performs validation on size of the encoded data. Note: For byte fields, the content of the fields are base64-encoded (which increases the size of the data by 33-36%) when using JSON on the wire."
        },
        "uid": {
          "type": "string",
          "description": "Output only. System generated unique ID for the data product. This ID will be different if the data product is deleted and re-created with the same name.",
          "readOnly": true
        },
        "createTime": {
          "description": "Output only. The time at which the data product was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "labels": {
          "description": "Optional. User-defined labels for the data product.Example: { \"environment\": \"production\", \"billing\": \"marketing-department\" } ",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        }
      },
      "id": "GoogleCloudDataplexV1DataProduct",
      "description": "A data product is a curated collection of data assets, packaged to address specific use cases. It's a way to manage and share data in a more organized, product-like manner."
    },
    "GoogleCloudDataplexV1DataQualityRuleTemplateSql": {
      "type": "object",
      "properties": {
        "query": {
          "description": "Output only. Templatized SQL query for data quality rules.",
          "readOnly": true,
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityRuleTemplateSql",
      "description": "Templatized SQL query for data quality rules. It can have parameters that can be substituted with values when a rule is created using this template."
    },
    "GoogleCloudDataplexV1GenerateDataQualityRulesResponse": {
      "type": "object",
      "properties": {
        "rule": {
          "type": "array",
          "description": "The data quality rules that Dataplex Universal Catalog generates based on the results of a data profiling scan.",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityRule"
          }
        }
      },
      "id": "GoogleCloudDataplexV1GenerateDataQualityRulesResponse",
      "description": "Response details for data quality rule recommendations."
    },
    "GoogleCloudDataplexV1ActionInvalidDataOrganization": {
      "id": "GoogleCloudDataplexV1ActionInvalidDataOrganization",
      "description": "Action details for invalid data arrangement.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudDataplexV1DataQualityColumnResult": {
      "type": "object",
      "properties": {
        "column": {
          "description": "Output only. The column specified in the DataQualityRule.",
          "readOnly": true,
          "type": "string"
        },
        "score": {
          "description": "Output only. The column-level data quality score for this data scan job if and only if the 'column' field is set.The score ranges between between 0, 100 (up to two decimal points).",
          "readOnly": true,
          "type": "number",
          "format": "float"
        },
        "passed": {
          "description": "Output only. Whether the column passed or failed.",
          "readOnly": true,
          "type": "boolean"
        },
        "dimensions": {
          "description": "Output only. The dimension-level results for this column.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityDimensionResult"
          },
          "type": "array"
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityColumnResult",
      "description": "DataQualityColumnResult provides a more detailed, per-column view of the results."
    },
    "GoogleCloudDataplexV1EntryType": {
      "id": "GoogleCloudDataplexV1EntryType",
      "description": "Entry Type is a template for creating Entries.",
      "type": "object",
      "properties": {
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the EntryType was created.",
          "readOnly": true
        },
        "system": {
          "description": "Optional. The system that Entries of this type belongs to. Examples include CloudSQL, MariaDB etc",
          "type": "string"
        },
        "uid": {
          "description": "Output only. System generated globally unique ID for the EntryType. This ID will be different if the EntryType is deleted and re-created with the same name.",
          "readOnly": true,
          "type": "string"
        },
        "authorization": {
          "$ref": "GoogleCloudDataplexV1EntryTypeAuthorization",
          "description": "Immutable. Authorization defined for this type."
        },
        "description": {
          "description": "Optional. Description of the EntryType.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "Output only. The relative resource name of the EntryType, of the form: projects/{project_number}/locations/{location_id}/entryTypes/{entry_type_id}.",
          "readOnly": true
        },
        "requiredAspects": {
          "type": "array",
          "description": "AspectInfo for the entry type.",
          "items": {
            "$ref": "GoogleCloudDataplexV1EntryTypeAspectInfo"
          }
        },
        "displayName": {
          "type": "string",
          "description": "Optional. User friendly display name."
        },
        "platform": {
          "description": "Optional. The platform that Entries of this type belongs to.",
          "type": "string"
        },
        "labels": {
          "description": "Optional. User-defined labels for the EntryType.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "updateTime": {
          "description": "Output only. The time when the EntryType was last updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "etag": {
          "description": "Optional. This checksum is computed by the service, and might be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.",
          "type": "string"
        },
        "typeAliases": {
          "description": "Optional. Indicates the classes this Entry Type belongs to, for example, TABLE, DATABASE, MODEL.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "GoogleCloudDataplexV1MetadataJobExportJobSpecExportJobScope": {
      "type": "object",
      "properties": {
        "aspectTypes": {
          "description": "The aspect types that are in scope for the export job, specified as relative resource names in the format projects/{project_id_or_number}/locations/{location}/aspectTypes/{aspect_type_id}. Only aspects that belong to the specified aspect types are affected by the job.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "entryGroups": {
          "description": "The entry groups whose metadata you want to export, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}. Only the entries in the specified entry groups are exported.The entry groups must be in the same location and the same VPC Service Controls perimeter as the job.If you set the job scope to be a list of entry groups, then set the organization-level export flag to false and don't provide a list of projects.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "organizationLevel": {
          "type": "boolean",
          "description": "Whether the metadata export job is an organization-level export job. If true, the job exports the entries from the same organization and VPC Service Controls perimeter as the job. The project that the job belongs to determines the VPC Service Controls perimeter. If you set the job scope to be at the organization level, then don't provide a list of projects or entry groups. If false, you must specify a list of projects or a list of entry groups whose entries you want to export.The default is false."
        },
        "projects": {
          "description": "The projects whose metadata you want to export, in the format projects/{project_id_or_number}. Only the entries from the specified projects are exported.The projects must be in the same organization and VPC Service Controls perimeter as the job.If you set the job scope to be a list of projects, then set the organization-level export flag to false and don't provide a list of entry groups.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "entryTypes": {
          "description": "The entry types that are in scope for the export job, specified as relative resource names in the format projects/{project_id_or_number}/locations/{location}/entryTypes/{entry_type_id}. Only entries that belong to the specified entry types are affected by the job.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "id": "GoogleCloudDataplexV1MetadataJobExportJobSpecExportJobScope",
      "description": "The scope of the export job."
    },
    "GoogleCloudDataplexV1Task": {
      "id": "GoogleCloudDataplexV1Task",
      "description": "A task represents a user-visible job.",
      "type": "object",
      "properties": {
        "spark": {
          "$ref": "GoogleCloudDataplexV1TaskSparkTaskConfig",
          "description": "Config related to running custom Spark tasks."
        },
        "triggerSpec": {
          "description": "Required. Spec related to how often and when a task should be triggered.",
          "$ref": "GoogleCloudDataplexV1TaskTriggerSpec"
        },
        "updateTime": {
          "description": "Output only. The time when the task was last updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "executionStatus": {
          "description": "Output only. Status of the latest task executions.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1TaskExecutionStatus"
        },
        "executionSpec": {
          "$ref": "GoogleCloudDataplexV1TaskExecutionSpec",
          "description": "Required. Spec related to how a task is executed."
        },
        "labels": {
          "type": "object",
          "description": "Optional. User-defined labels for the task.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "displayName": {
          "type": "string",
          "description": "Optional. User friendly display name."
        },
        "name": {
          "description": "Output only. The relative resource name of the task, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/ tasks/{task_id}.",
          "readOnly": true,
          "type": "string"
        },
        "notebook": {
          "description": "Config related to running scheduled Notebooks.",
          "$ref": "GoogleCloudDataplexV1TaskNotebookTaskConfig"
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the task."
        },
        "uid": {
          "type": "string",
          "description": "Output only. System generated globally unique ID for the task. This ID will be different if the task is deleted and re-created with the same name.",
          "readOnly": true
        },
        "state": {
          "description": "Output only. Current state of the task.",
          "type": "string",
          "enumDescriptions": [
            "State is not specified.",
            "Resource is active, i.e., ready to use.",
            "Resource is under creation.",
            "Resource is under deletion.",
            "Resource is active but has unresolved actions."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "CREATING",
            "DELETING",
            "ACTION_REQUIRED"
          ],
          "readOnly": true
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the task was created.",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1AssetStatus": {
      "id": "GoogleCloudDataplexV1AssetStatus",
      "description": "Aggregated status of the underlying assets of a lake or zone.",
      "type": "object",
      "properties": {
        "activeAssets": {
          "type": "integer",
          "format": "int32",
          "description": "Number of active assets."
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Last update time of the status."
        },
        "securityPolicyApplyingAssets": {
          "type": "integer",
          "format": "int32",
          "description": "Number of assets that are in process of updating the security policy on attached resources."
        }
      }
    },
    "GoogleCloudDataplexV1DataProductAccessGroup": {
      "type": "object",
      "properties": {
        "principal": {
          "description": "Required. The principal entity associated with this access group.",
          "$ref": "GoogleCloudDataplexV1DataProductPrincipal"
        },
        "displayName": {
          "description": "Required. User friendly display name of the access group. Eg. \"Analyst\", \"Developer\", etc.",
          "type": "string"
        },
        "id": {
          "type": "string",
          "description": "Required. Unique identifier of the access group within the data product. User defined. Eg. \"analyst\", \"developer\", etc."
        },
        "description": {
          "description": "Optional. Description of the access group.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1DataProductAccessGroup",
      "description": "Custom user defined access groups at the data product level. These are used for granting different levels of access (IAM roles) on the individual data product's data assets."
    },
    "GoogleCloudDataplexV1DataScanEventDataQualityResult": {
      "type": "object",
      "properties": {
        "dimensionPassed": {
          "type": "object",
          "description": "The result of each dimension for data quality result. The key of the map is the name of the dimension. The value is the bool value depicting whether the dimension result was pass or not.",
          "additionalProperties": {
            "type": "boolean"
          }
        },
        "score": {
          "type": "number",
          "format": "float",
          "description": "The table-level data quality score for the data scan job.The data quality score ranges between 0, 100 (up to two decimal points)."
        },
        "rowCount": {
          "description": "The count of rows processed in the data scan job.",
          "type": "string",
          "format": "int64"
        },
        "columnScore": {
          "type": "object",
          "description": "The score of each column scanned in the data scan job. The key of the map is the name of the column. The value is the data quality score for the column.The score ranges between 0, 100 (up to two decimal points).",
          "additionalProperties": {
            "type": "number",
            "format": "float"
          }
        },
        "passed": {
          "type": "boolean",
          "description": "Whether the data quality result was pass or not."
        },
        "dimensionScore": {
          "type": "object",
          "description": "The score of each dimension for data quality result. The key of the map is the name of the dimension. The value is the data quality score for the dimension.The score ranges between 0, 100 (up to two decimal points).",
          "additionalProperties": {
            "type": "number",
            "format": "float"
          }
        }
      },
      "id": "GoogleCloudDataplexV1DataScanEventDataQualityResult",
      "description": "Data quality result for data scan job."
    },
    "GoogleCloudDataplexV1AspectTypeMetadataTemplateConstraints": {
      "id": "GoogleCloudDataplexV1AspectTypeMetadataTemplateConstraints",
      "description": "Definition of the constraints of a field.",
      "type": "object",
      "properties": {
        "required": {
          "type": "boolean",
          "description": "Optional. Marks this field as optional or required."
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityRuleTemplateReference": {
      "id": "GoogleCloudDataplexV1DataQualityRuleTemplateReference",
      "description": "A rule that constructs a SQL statement to evaluate using a rule template and parameter values. If the constructed statement returns any rows, this rule fails",
      "type": "object",
      "properties": {
        "values": {
          "type": "object",
          "description": "Optional. Provides the map of parameter name and value. The maximum size of the field is 120KB (encoded as UTF-8).",
          "additionalProperties": {
            "$ref": "GoogleCloudDataplexV1DataQualityRuleTemplateReferenceParameterValue"
          }
        },
        "resolvedSql": {
          "type": "string",
          "description": "Output only. The resolved SQL statement generated from the template with parameters substituted. It is only populated in the result.",
          "readOnly": true
        },
        "name": {
          "description": "Required. The template entry name. Entry must be of EntryType projects/dataplex-types/locations/global/entryTypes/data-quality-rule-template and contains top-level aspect of AspectType projects/dataplex-types/locations/global/aspectTypes/data-quality-rule-template. The format is: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}",
          "type": "string"
        },
        "ruleTemplate": {
          "description": "Output only. The rule template used to resolve the rule. It is only populated in the result.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataQualityRuleTemplate"
        }
      }
    },
    "GoogleCloudDataplexV1DataDocumentationSpec": {
      "type": "object",
      "properties": {
        "catalogPublishingEnabled": {
          "description": "Optional. Whether to publish result to Dataplex Catalog.",
          "type": "boolean"
        },
        "generationScopes": {
          "description": "Optional. Specifies which components of the data documentation to generate. Any component that is required to generate the specified components will also be generated. If no generation scope is specified, all available documentation components will be generated.",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "Unspecified generation scope. If no generation scope is specified, all available documentation components will be generated.",
              "All the possible results will be generated.",
              "Table and column descriptions will be generated.",
              "SQL queries will be generated."
            ],
            "enum": [
              "GENERATION_SCOPE_UNSPECIFIED",
              "ALL",
              "TABLE_AND_COLUMN_DESCRIPTIONS",
              "SQL_QUERIES"
            ]
          },
          "type": "array"
        }
      },
      "id": "GoogleCloudDataplexV1DataDocumentationSpec",
      "description": "DataDocumentation scan related spec."
    },
    "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfo": {
      "id": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfo",
      "description": "The profile information for each field type.",
      "type": "object",
      "properties": {
        "doubleProfile": {
          "$ref": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoDoubleFieldInfo",
          "description": "Double type field information."
        },
        "stringProfile": {
          "description": "String type field information.",
          "$ref": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoStringFieldInfo"
        },
        "nullRatio": {
          "type": "number",
          "format": "double",
          "description": "Output only. Ratio of rows with null value against total scanned rows.",
          "readOnly": true
        },
        "distinctRatio": {
          "description": "Output only. Ratio of rows with distinct values against total scanned rows. Not available for complex non-groupable field type, including RECORD, ARRAY, GEOGRAPHY, and JSON, as well as fields with REPEATABLE mode.",
          "readOnly": true,
          "type": "number",
          "format": "double"
        },
        "topNValues": {
          "type": "array",
          "description": "Output only. The list of top N non-null values, frequency and ratio with which they occur in the scanned data. N is 10 or equal to the number of distinct values in the field, whichever is smaller. Not available for complex non-groupable field type, including RECORD, ARRAY, GEOGRAPHY, and JSON, as well as fields with REPEATABLE mode.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoTopNValue"
          }
        },
        "integerProfile": {
          "$ref": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoIntegerFieldInfo",
          "description": "Integer type field information."
        }
      }
    },
    "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoTopNValue": {
      "type": "object",
      "properties": {
        "count": {
          "description": "Output only. Count of the corresponding value in the scanned data.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "ratio": {
          "description": "Output only. Ratio of the corresponding value in the field against the total number of rows in the scanned data.",
          "readOnly": true,
          "type": "number",
          "format": "double"
        },
        "value": {
          "description": "Output only. String value of a top N non-null value.",
          "readOnly": true,
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoTopNValue",
      "description": "Top N non-null values in the scanned data."
    },
    "GoogleCloudDataplexV1DataQualityRuleTemplateReferenceParameterValue": {
      "id": "GoogleCloudDataplexV1DataQualityRuleTemplateReferenceParameterValue",
      "description": "Represents a parameter value.",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "Required. Represents the string value of the parameter."
        }
      }
    },
    "GoogleCloudDataplexV1StorageFormatCsvOptions": {
      "type": "object",
      "properties": {
        "encoding": {
          "description": "Optional. The character encoding of the data. Accepts \"US-ASCII\", \"UTF-8\", and \"ISO-8859-1\". Defaults to UTF-8 if unspecified.",
          "type": "string"
        },
        "delimiter": {
          "type": "string",
          "description": "Optional. The delimiter used to separate values. Defaults to ','."
        },
        "quote": {
          "description": "Optional. The character used to quote column values. Accepts '\"' (double quotation mark) or ''' (single quotation mark). Defaults to '\"' (double quotation mark) if unspecified.",
          "type": "string"
        },
        "headerRows": {
          "type": "integer",
          "format": "int32",
          "description": "Optional. The number of rows to interpret as header rows that should be skipped when reading data rows. Defaults to 0."
        }
      },
      "id": "GoogleCloudDataplexV1StorageFormatCsvOptions",
      "description": "Describes CSV and similar semi-structured data formats."
    },
    "GoogleCloudDataplexV1SchemaPartitionField": {
      "id": "GoogleCloudDataplexV1SchemaPartitionField",
      "description": "Represents a key field within the entity's partition structure. You could have up to 20 partition fields, but only the first 10 partitions have the filtering ability due to performance consideration. Note: Partition fields are immutable.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Required. Partition field name must consist of letters, numbers, and underscores only, with a maximum of length of 256 characters, and must begin with a letter or underscore.."
        },
        "type": {
          "type": "string",
          "enumDescriptions": [
            "SchemaType unspecified.",
            "Boolean field.",
            "Single byte numeric field.",
            "16-bit numeric field.",
            "32-bit numeric field.",
            "64-bit numeric field.",
            "Floating point numeric field.",
            "Double precision numeric field.",
            "Real value numeric field.",
            "Sequence of characters field.",
            "Sequence of bytes field.",
            "Date and time field.",
            "Date field.",
            "Time field.",
            "Structured field. Nested fields that define the structure of the map. If all nested fields are nullable, this field represents a union.",
            "Null field that does not have values."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "BOOLEAN",
            "BYTE",
            "INT16",
            "INT32",
            "INT64",
            "FLOAT",
            "DOUBLE",
            "DECIMAL",
            "STRING",
            "BINARY",
            "TIMESTAMP",
            "DATE",
            "TIME",
            "RECORD",
            "NULL"
          ],
          "description": "Required. Immutable. The type of field."
        }
      }
    },
    "GoogleCloudDataplexV1AspectType": {
      "type": "object",
      "properties": {
        "authorization": {
          "description": "Immutable. Defines the Authorization for this type.",
          "$ref": "GoogleCloudDataplexV1AspectTypeAuthorization"
        },
        "dataClassification": {
          "description": "Optional. Immutable. Stores data classification of the aspect.",
          "type": "string",
          "enumDescriptions": [
            "Denotes that the aspect contains only metadata.",
            "Metadata and data classification."
          ],
          "enum": [
            "DATA_CLASSIFICATION_UNSPECIFIED",
            "METADATA_AND_DATA"
          ]
        },
        "transferStatus": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "The default value. It is set for resources that were not subject for migration from Data Catalog service.",
            "Indicates that a resource was migrated from Data Catalog service but it hasn't been transferred yet. In particular the resource cannot be updated from Dataplex API.",
            "Indicates that a resource was transferred from Data Catalog service. The resource can only be updated from Dataplex API."
          ],
          "enum": [
            "TRANSFER_STATUS_UNSPECIFIED",
            "TRANSFER_STATUS_MIGRATED",
            "TRANSFER_STATUS_TRANSFERRED"
          ],
          "description": "Output only. Denotes the transfer status of the Aspect Type. It is unspecified for Aspect Types created from Dataplex API."
        },
        "uid": {
          "description": "Output only. System generated globally unique ID for the AspectType. If you delete and recreate the AspectType with the same name, then this ID will be different.",
          "readOnly": true,
          "type": "string"
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the AspectType was created.",
          "readOnly": true
        },
        "labels": {
          "type": "object",
          "description": "Optional. User-defined labels for the AspectType.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "displayName": {
          "type": "string",
          "description": "Optional. User friendly display name."
        },
        "metadataTemplate": {
          "description": "Required. MetadataTemplate of the aspect.",
          "$ref": "GoogleCloudDataplexV1AspectTypeMetadataTemplate"
        },
        "name": {
          "description": "Output only. The relative resource name of the AspectType, of the form: projects/{project_number}/locations/{location_id}/aspectTypes/{aspect_type_id}.",
          "readOnly": true,
          "type": "string"
        },
        "etag": {
          "description": "The service computes this checksum. The client may send it on update and delete requests to ensure it has an up-to-date value before proceeding.",
          "type": "string"
        },
        "updateTime": {
          "description": "Output only. The time when the AspectType was last updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the AspectType."
        }
      },
      "id": "GoogleCloudDataplexV1AspectType",
      "description": "AspectType is a template for creating Aspects, and represents the JSON-schema for a given Entry, for example, BigQuery Table Schema."
    },
    "GoogleCloudDataplexV1StorageFormatIcebergOptions": {
      "type": "object",
      "properties": {
        "metadataLocation": {
          "description": "Optional. The location of where the iceberg metadata is present, must be within the table path",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1StorageFormatIcebergOptions",
      "description": "Describes Iceberg data format."
    },
    "GoogleCloudDataplexV1DataQualityRuleRangeExpectation": {
      "id": "GoogleCloudDataplexV1DataQualityRuleRangeExpectation",
      "description": "Evaluates whether each column value lies between a specified range.",
      "type": "object",
      "properties": {
        "minValue": {
          "description": "Optional. The minimum column value allowed for a row to pass this validation. At least one of min_value and max_value need to be provided.",
          "type": "string"
        },
        "maxValue": {
          "type": "string",
          "description": "Optional. The maximum column value allowed for a row to pass this validation. At least one of min_value and max_value need to be provided."
        },
        "strictMinEnabled": {
          "description": "Optional. Whether each value needs to be strictly greater than ('\u003e') the minimum, or if equality is allowed.Only relevant if a min_value has been defined. Default = false.",
          "type": "boolean"
        },
        "strictMaxEnabled": {
          "type": "boolean",
          "description": "Optional. Whether each value needs to be strictly lesser than ('\u003c') the maximum, or if equality is allowed.Only relevant if a max_value has been defined. Default = false."
        }
      }
    },
    "GoogleCloudDataplexV1LakeMetastore": {
      "type": "object",
      "properties": {
        "service": {
          "type": "string",
          "description": "Optional. A relative reference to the Dataproc Metastore (https://cloud.google.com/dataproc-metastore/docs) service associated with the lake: projects/{project_id}/locations/{location_id}/services/{service_id}"
        }
      },
      "id": "GoogleCloudDataplexV1LakeMetastore",
      "description": "Settings to manage association of Dataproc Metastore with a lake."
    },
    "GoogleCloudDataplexV1TaskSparkTaskConfig": {
      "type": "object",
      "properties": {
        "sqlScriptFile": {
          "description": "A reference to a query file. This should be the Cloud Storage URI of the query file. The execution args are used to declare a set of script variables (set key=\"value\";).",
          "type": "string"
        },
        "mainJarFileUri": {
          "type": "string",
          "description": "The Cloud Storage URI of the jar file that contains the main class. The execution args are passed in as a sequence of named process arguments (--key=value)."
        },
        "mainClass": {
          "description": "The name of the driver's main class. The jar file that contains the class must be in the default CLASSPATH or specified in jar_file_uris. The execution args are passed in as a sequence of named process arguments (--key=value).",
          "type": "string"
        },
        "sqlScript": {
          "type": "string",
          "description": "The query text. The execution args are used to declare a set of script variables (set key=\"value\";)."
        },
        "archiveUris": {
          "type": "array",
          "description": "Optional. Cloud Storage URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.",
          "items": {
            "type": "string"
          }
        },
        "pythonScriptFile": {
          "type": "string",
          "description": "The Gcloud Storage URI of the main Python file to use as the driver. Must be a .py file. The execution args are passed in as a sequence of named process arguments (--key=value)."
        },
        "fileUris": {
          "description": "Optional. Cloud Storage URIs of files to be placed in the working directory of each executor.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "infrastructureSpec": {
          "$ref": "GoogleCloudDataplexV1TaskInfrastructureSpec",
          "description": "Optional. Infrastructure specification for the execution."
        }
      },
      "id": "GoogleCloudDataplexV1TaskSparkTaskConfig",
      "description": "User-specified config for running a Spark task."
    },
    "GoogleCloudDataplexV1ListDataTaxonomiesResponse": {
      "id": "GoogleCloudDataplexV1ListDataTaxonomiesResponse",
      "description": "List DataTaxonomies response.",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        },
        "dataTaxonomies": {
          "type": "array",
          "description": "DataTaxonomies under the given parent location.",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataTaxonomy"
          }
        },
        "unreachableLocations": {
          "type": "array",
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleLongrunningCancelOperationRequest": {
      "id": "GoogleLongrunningCancelOperationRequest",
      "description": "The request message for Operations.CancelOperation.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudDataplexV1Aspect": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string",
          "description": "Output only. The path in the entry under which the aspect is attached.",
          "readOnly": true
        },
        "data": {
          "type": "object",
          "description": "Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          }
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the Aspect was created.",
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the Aspect was last updated.",
          "readOnly": true
        },
        "aspectType": {
          "type": "string",
          "description": "Output only. The resource name of the type used to create this Aspect.",
          "readOnly": true
        },
        "aspectSource": {
          "description": "Optional. Information related to the source system of the aspect.",
          "$ref": "GoogleCloudDataplexV1AspectSource"
        }
      },
      "id": "GoogleCloudDataplexV1Aspect",
      "description": "Represents a single piece of metadata describing an entry or entry link."
    },
    "GoogleCloudDataplexV1DataDocumentationResult": {
      "id": "GoogleCloudDataplexV1DataDocumentationResult",
      "description": "The output of a DataDocumentation scan.",
      "type": "object",
      "properties": {
        "datasetResult": {
          "$ref": "GoogleCloudDataplexV1DataDocumentationResultDatasetResult",
          "description": "Output only. Insights for a Dataset resource.",
          "readOnly": true
        },
        "tableResult": {
          "$ref": "GoogleCloudDataplexV1DataDocumentationResultTableResult",
          "description": "Output only. Insights for a Table resource.",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1GovernanceEventEntity": {
      "type": "object",
      "properties": {
        "entity": {
          "type": "string",
          "description": "The Entity resource the log event is associated with. Format: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}"
        },
        "entityType": {
          "type": "string",
          "enumDescriptions": [
            "An unspecified Entity type.",
            "Table entity type.",
            "Fileset entity type."
          ],
          "enum": [
            "ENTITY_TYPE_UNSPECIFIED",
            "TABLE",
            "FILESET"
          ],
          "description": "Type of entity."
        }
      },
      "id": "GoogleCloudDataplexV1GovernanceEventEntity",
      "description": "Information about Entity resource that the log event is associated with."
    },
    "GoogleCloudDataplexV1ModifyEntryRequest": {
      "type": "object",
      "properties": {
        "entry": {
          "description": "Required. The entry to modify.",
          "$ref": "GoogleCloudDataplexV1Entry"
        },
        "deleteMissingAspects": {
          "type": "boolean",
          "description": "Optional. If set to true, any aspects not specified in the request will be deleted. The default is false."
        },
        "updateMask": {
          "description": "Optional. Mask of fields to update. To update Aspects, the update_mask must contain the value \"aspects\".If the update_mask is empty, the service will update all modifiable fields present in the request.",
          "type": "string",
          "format": "google-fieldmask"
        },
        "aspectKeys": {
          "type": "array",
          "description": "Optional. The aspect keys which the service should modify. It supports the following syntaxes: - matches an aspect of the given type and empty path. @path - matches an aspect of the given type and specified path. For example, to attach an aspect to a field that is specified by the schema aspect, the path should have the format Schema.. @* - matches aspects of the given type for all paths. *@path - matches aspects of all types on the given path.The service will not remove existing aspects matching the syntax unless delete_missing_aspects is set to true.If this field is left empty, the service treats it as specifying exactly those Aspects present in the request.",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "GoogleCloudDataplexV1ModifyEntryRequest",
      "description": "Modify Entry request using permissions in the source system."
    },
    "GoogleCloudDataplexV1ListAspectTypesResponse": {
      "type": "object",
      "properties": {
        "unreachableLocations": {
          "type": "array",
          "description": "Locations that the service couldn't reach.",
          "items": {
            "type": "string"
          }
        },
        "aspectTypes": {
          "type": "array",
          "description": "AspectTypes under the given parent location.",
          "items": {
            "$ref": "GoogleCloudDataplexV1AspectType"
          }
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1ListAspectTypesResponse",
      "description": "List AspectTypes response."
    },
    "Empty": {
      "type": "object",
      "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); } "
    },
    "GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig": {
      "id": "GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig",
      "description": "Describes BigQuery publishing configurations.",
      "type": "object",
      "properties": {
        "connection": {
          "description": "Optional. The BigQuery connection used to create BigLake tables. Must be in the form projects/{project_id}/locations/{location_id}/connections/{connection_id}",
          "type": "string"
        },
        "location": {
          "description": "Optional. The location of the BigQuery dataset to publish BigLake external or non-BigLake external tables to. 1. If the Cloud Storage bucket is located in a multi-region bucket, then BigQuery dataset can be in the same multi-region bucket or any single region that is included in the same multi-region bucket. The datascan can be created in any single region that is included in the same multi-region bucket 2. If the Cloud Storage bucket is located in a dual-region bucket, then BigQuery dataset can be located in regions that are included in the dual-region bucket, or in a multi-region that includes the dual-region. The datascan can be created in any single region that is included in the same dual-region bucket. 3. If the Cloud Storage bucket is located in a single region, then BigQuery dataset can be in the same single region or any multi-region bucket that includes the same single region. The datascan will be created in the same single region as the bucket. 4. If the BigQuery dataset is in single region, it must be in the same single region as the datascan.For supported values, refer to https://cloud.google.com/bigquery/docs/locations#supported_locations.",
          "type": "string"
        },
        "project": {
          "description": "Optional. The project of the BigQuery dataset to publish BigLake external or non-BigLake external tables to. If not specified, the project of the Cloud Storage bucket will be used. The format is \"projects/{project_id_or_number}\".",
          "type": "string"
        },
        "tableType": {
          "type": "string",
          "enumDescriptions": [
            "Table type unspecified.",
            "Default. Discovered tables are published as BigQuery external tables whose data is accessed using the credentials of the user querying the table.",
            "Discovered tables are published as BigLake external tables whose data is accessed using the credentials of the associated BigQuery connection."
          ],
          "enum": [
            "TABLE_TYPE_UNSPECIFIED",
            "EXTERNAL",
            "BIGLAKE"
          ],
          "description": "Optional. Determines whether to publish discovered tables as BigLake external tables or non-BigLake external tables."
        }
      }
    },
    "GoogleIamV1AuditLogConfig": {
      "id": "GoogleIamV1AuditLogConfig",
      "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.",
      "type": "object",
      "properties": {
        "logType": {
          "type": "string",
          "enumDescriptions": [
            "Default case. Should never be this.",
            "Admin reads. Example: CloudIAM getIamPolicy",
            "Data writes. Example: CloudSQL Users create",
            "Data reads. Example: CloudSQL Users list"
          ],
          "enum": [
            "LOG_TYPE_UNSPECIFIED",
            "ADMIN_READ",
            "DATA_WRITE",
            "DATA_READ"
          ],
          "description": "The log type that this config enables."
        },
        "exemptedMembers": {
          "type": "array",
          "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudDataplexV1TriggerOneTime": {
      "type": "object",
      "properties": {
        "ttlAfterScanCompletion": {
          "description": "Optional. Time to live for OneTime scans. default value is 24 hours, minimum value is 0 seconds, and maximum value is 365 days. The time is calculated from the data scan job completion time. If value is set as 0 seconds, the scan will be immediately deleted upon job completion, regardless of whether the job succeeded or failed.",
          "type": "string",
          "format": "google-duration"
        }
      },
      "id": "GoogleCloudDataplexV1TriggerOneTime",
      "description": "The scan runs once using create API."
    },
    "GoogleCloudDataplexV1ActionMissingData": {
      "type": "object",
      "properties": {},
      "id": "GoogleCloudDataplexV1ActionMissingData",
      "description": "Action details for absence of data detected by discovery."
    },
    "GoogleCloudDataplexV1DataQualityRuleRuleSource": {
      "type": "object",
      "properties": {
        "rulePathElements": {
          "description": "Output only. Rule path elements represent information about the individual items in the relationship path between the scan resource and rule origin in that order.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityRuleRuleSourceRulePathElement"
          },
          "type": "array"
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityRuleRuleSource",
      "description": "Represents the rule source information from Catalog."
    },
    "GoogleCloudDataplexV1DataScanJob": {
      "type": "object",
      "properties": {
        "dataQualityResult": {
          "$ref": "GoogleCloudDataplexV1DataQualityResult",
          "description": "Output only. The result of a data quality scan.",
          "readOnly": true
        },
        "dataProfileSpec": {
          "$ref": "GoogleCloudDataplexV1DataProfileSpec",
          "description": "Output only. Settings for a data profile scan.",
          "readOnly": true
        },
        "endTime": {
          "description": "Output only. The time when the DataScanJob ended.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "type": {
          "readOnly": true,
          "description": "Output only. The type of the parent DataScan.",
          "type": "string",
          "enumDescriptions": [
            "The data scan type is unspecified.",
            "Data quality scan.",
            "Data profile scan.",
            "Data discovery scan.",
            "Data documentation scan."
          ],
          "enum": [
            "DATA_SCAN_TYPE_UNSPECIFIED",
            "DATA_QUALITY",
            "DATA_PROFILE",
            "DATA_DISCOVERY",
            "DATA_DOCUMENTATION"
          ]
        },
        "message": {
          "type": "string",
          "description": "Output only. Additional information about the current state.",
          "readOnly": true
        },
        "dataDiscoverySpec": {
          "description": "Output only. Settings for a data discovery scan.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataDiscoverySpec"
        },
        "dataProfileResult": {
          "$ref": "GoogleCloudDataplexV1DataProfileResult",
          "description": "Output only. The result of a data profile scan.",
          "readOnly": true
        },
        "uid": {
          "type": "string",
          "description": "Output only. System generated globally unique ID for the DataScanJob.",
          "readOnly": true
        },
        "state": {
          "description": "Output only. Execution state for the DataScanJob.",
          "type": "string",
          "enumDescriptions": [
            "The DataScanJob state is unspecified.",
            "The DataScanJob is running.",
            "The DataScanJob is canceling.",
            "The DataScanJob cancellation was successful.",
            "The DataScanJob completed successfully.",
            "The DataScanJob is no longer running due to an error.",
            "The DataScanJob has been created but not started to run yet.",
            "The DataScanJob succeeded with errors."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "RUNNING",
            "CANCELING",
            "CANCELLED",
            "SUCCEEDED",
            "FAILED",
            "PENDING",
            "SUCCEEDED_WITH_ERRORS"
          ],
          "readOnly": true
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the DataScanJob was created.",
          "readOnly": true
        },
        "dataDocumentationResult": {
          "$ref": "GoogleCloudDataplexV1DataDocumentationResult",
          "description": "Output only. The result of a data documentation scan.",
          "readOnly": true
        },
        "startTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the DataScanJob was started.",
          "readOnly": true
        },
        "dataDiscoveryResult": {
          "$ref": "GoogleCloudDataplexV1DataDiscoveryResult",
          "description": "Output only. The result of a data discovery scan.",
          "readOnly": true
        },
        "dataQualitySpec": {
          "description": "Output only. Settings for a data quality scan.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataQualitySpec"
        },
        "partialFailureMessage": {
          "description": "Output only. A message indicating partial failure details.",
          "readOnly": true,
          "type": "string"
        },
        "dataDocumentationSpec": {
          "$ref": "GoogleCloudDataplexV1DataDocumentationSpec",
          "description": "Output only. Settings for a data documentation scan.",
          "readOnly": true
        },
        "name": {
          "description": "Output only. Identifier. The relative resource name of the DataScanJob, of the form: projects/{project}/locations/{location_id}/dataScans/{datascan_id}/jobs/{job_id}, where project refers to a project_id or project_number and location_id refers to a Google Cloud region.",
          "readOnly": true,
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1DataScanJob",
      "description": "A DataScanJob represents an instance of DataScan execution."
    },
    "GoogleCloudDataplexV1DataQualityRuleRegexExpectation": {
      "type": "object",
      "properties": {
        "regex": {
          "description": "Optional. A regular expression the column value is expected to match.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityRuleRegexExpectation",
      "description": "Evaluates whether each column value matches a specified regex."
    },
    "GoogleCloudDataplexV1ListDataScanJobsResponse": {
      "id": "GoogleCloudDataplexV1ListDataScanJobsResponse",
      "description": "List DataScanJobs response.",
      "type": "object",
      "properties": {
        "dataScanJobs": {
          "description": "DataScanJobs (BASIC view only) under a given dataScan.",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataScanJob"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1ActionUnauthorizedResource": {
      "type": "object",
      "properties": {},
      "id": "GoogleCloudDataplexV1ActionUnauthorizedResource",
      "description": "Action details for unauthorized resource issues raised to indicate that the service account associated with the lake instance is not authorized to access or manage the resource associated with an asset."
    },
    "GoogleCloudDataplexV1RunDataScanRequest": {
      "id": "GoogleCloudDataplexV1RunDataScanRequest",
      "description": "Run DataScan Request",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudDataplexV1ActionIncompatibleDataSchema": {
      "type": "object",
      "properties": {
        "existingSchema": {
          "description": "The existing and expected schema of the table. The schema is provided as a JSON formatted structure listing columns and data types.",
          "type": "string"
        },
        "sampledDataLocations": {
          "description": "The list of data locations sampled and used for format/schema inference.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "schemaChange": {
          "type": "string",
          "enumDescriptions": [
            "Schema change unspecified.",
            "Newly discovered schema is incompatible with existing schema.",
            "Newly discovered schema has changed from existing schema for data in a curated zone."
          ],
          "enum": [
            "SCHEMA_CHANGE_UNSPECIFIED",
            "INCOMPATIBLE",
            "MODIFIED"
          ],
          "description": "Whether the action relates to a schema that is incompatible or modified."
        },
        "table": {
          "type": "string",
          "description": "The name of the table containing invalid data."
        },
        "newSchema": {
          "type": "string",
          "description": "The new and incompatible schema within the table. The schema is provided as a JSON formatted structured listing columns and data types."
        }
      },
      "id": "GoogleCloudDataplexV1ActionIncompatibleDataSchema",
      "description": "Action details for incompatible schemas detected by discovery."
    },
    "GoogleCloudDataplexV1SearchEntriesResponse": {
      "type": "object",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list."
        },
        "unreachable": {
          "description": "Locations that the service couldn't reach. Search results don't include data from these locations.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "results": {
          "type": "array",
          "description": "The results matching the search query.",
          "items": {
            "$ref": "GoogleCloudDataplexV1SearchEntriesResult"
          }
        },
        "totalSize": {
          "description": "The estimated total number of matching entries. This number isn't guaranteed to be accurate.",
          "type": "integer",
          "format": "int32"
        }
      },
      "id": "GoogleCloudDataplexV1SearchEntriesResponse"
    },
    "GoogleCloudDataplexV1DiscoveryEventPartitionDetails": {
      "id": "GoogleCloudDataplexV1DiscoveryEventPartitionDetails",
      "description": "Details about the partition.",
      "type": "object",
      "properties": {
        "entity": {
          "type": "string",
          "description": "The name to the containing entity resource. The name is the fully-qualified resource name."
        },
        "sampledDataLocations": {
          "type": "array",
          "description": "The locations of the data items (e.g., a Cloud Storage objects) sampled for metadata inference.",
          "items": {
            "type": "string"
          }
        },
        "partition": {
          "type": "string",
          "description": "The name to the partition resource. The name is the fully-qualified resource name."
        },
        "type": {
          "description": "The type of the containing entity resource.",
          "type": "string",
          "enumDescriptions": [
            "An unspecified event type.",
            "Entities representing structured data.",
            "Entities representing unstructured data."
          ],
          "enum": [
            "ENTITY_TYPE_UNSPECIFIED",
            "TABLE",
            "FILESET"
          ]
        }
      }
    },
    "GoogleCloudDataplexV1EntityCompatibilityStatus": {
      "id": "GoogleCloudDataplexV1EntityCompatibilityStatus",
      "description": "Provides compatibility information for various metadata stores.",
      "type": "object",
      "properties": {
        "bigquery": {
          "$ref": "GoogleCloudDataplexV1EntityCompatibilityStatusCompatibility",
          "description": "Output only. Whether this entity is compatible with BigQuery.",
          "readOnly": true
        },
        "hiveMetastore": {
          "$ref": "GoogleCloudDataplexV1EntityCompatibilityStatusCompatibility",
          "description": "Output only. Whether this entity is compatible with Hive Metastore.",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1TaskExecutionSpec": {
      "id": "GoogleCloudDataplexV1TaskExecutionSpec",
      "description": "Execution related settings, like retry and service_account.",
      "type": "object",
      "properties": {
        "kmsKey": {
          "type": "string",
          "description": "Optional. The Cloud KMS key to use for encryption, of the form: projects/{project_number}/locations/{location_id}/keyRings/{key-ring-name}/cryptoKeys/{key-name}."
        },
        "maxJobExecutionLifetime": {
          "type": "string",
          "format": "google-duration",
          "description": "Optional. The maximum duration after which the job execution is expired."
        },
        "project": {
          "description": "Optional. The project in which jobs are run. By default, the project containing the Lake is used. If a project is provided, the ExecutionSpec.service_account must belong to this project.",
          "type": "string"
        },
        "args": {
          "description": "Optional. The arguments to pass to the task. The args can use placeholders of the format ${placeholder} as part of key/value string. These will be interpolated before passing the args to the driver. Currently supported placeholders: - ${task_id} - ${job_time} To pass positional args, set the key as TASK_ARGS. The value should be a comma-separated string of all the positional arguments. To use a delimiter other than comma, refer to https://cloud.google.com/sdk/gcloud/reference/topic/escaping. In case of other keys being present in the args, then TASK_ARGS will be passed as the last argument.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "serviceAccount": {
          "description": "Required. Service account to use to execute a task. If not provided, the default Compute service account for the project is used.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1ImportItem": {
      "id": "GoogleCloudDataplexV1ImportItem",
      "description": "An object that describes the values that you want to set for an entry and its attached aspects when you import metadata. Used when you run a metadata import job. See CreateMetadataJob.You provide a collection of import items in a metadata import file. For more information about how to create a metadata import file, see Metadata import file (https://cloud.google.com/dataplex/docs/import-metadata#metadata-import-file).",
      "type": "object",
      "properties": {
        "aspectKeys": {
          "type": "array",
          "description": "The aspects to modify. Supports the following syntaxes: {aspect_type_reference}: matches aspects that belong to the specified aspect type and are attached directly to the entry. {aspect_type_reference}@{path}: matches aspects that belong to the specified aspect type and path. {aspect_type_reference}@* : matches aspects of the given type for all paths. *@path : matches aspects of all types on the given path.Replace {aspect_type_reference} with a reference to the aspect type, in the format {project_id_or_number}.{location_id}.{aspect_type_id}.In FULL entry sync mode, if you leave this field empty, it is treated as specifying exactly those aspects that are present within the specified entry. Dataplex Universal Catalog implicitly adds the keys for all of the required aspects of an entry.",
          "items": {
            "type": "string"
          }
        },
        "entryLink": {
          "description": "Information about the entry link. User should provide either one of the entry or entry_link. While providing entry_link, user should not provide update_mask and aspect_keys.",
          "$ref": "GoogleCloudDataplexV1EntryLink"
        },
        "updateMask": {
          "type": "string",
          "format": "google-fieldmask",
          "description": "The fields to update, in paths that are relative to the Entry resource. Separate each field with a comma.In FULL entry sync mode, Dataplex Universal Catalog includes the paths of all of the fields for an entry that can be modified, including aspects. This means that Dataplex Universal Catalog replaces the existing entry with the entry in the metadata import file. All modifiable fields are updated, regardless of the fields that are listed in the update mask, and regardless of whether a field is present in the entry object.The update_mask field is ignored when an entry is created or re-created.In an aspect-only metadata job (when entry sync mode is NONE), set this value to aspects.Dataplex Universal Catalog also determines which entries and aspects to modify by comparing the values and timestamps that you provide in the metadata import file with the values and timestamps that exist in your project. For more information, see Comparison logic (https://cloud.google.com/dataplex/docs/import-metadata#data-modification-logic)."
        },
        "entry": {
          "$ref": "GoogleCloudDataplexV1Entry",
          "description": "Information about an entry and its attached aspects."
        }
      }
    },
    "GoogleCloudDataplexV1Job": {
      "type": "object",
      "properties": {
        "service": {
          "description": "Output only. The underlying service running a job.",
          "type": "string",
          "enumDescriptions": [
            "Service used to run the job is unspecified.",
            "Dataproc service is used to run this job."
          ],
          "enum": [
            "SERVICE_UNSPECIFIED",
            "DATAPROC"
          ],
          "readOnly": true
        },
        "name": {
          "type": "string",
          "description": "Output only. The relative resource name of the job, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/tasks/{task_id}/jobs/{job_id}.",
          "readOnly": true
        },
        "retryCount": {
          "description": "Output only. The number of times the job has been retried (excluding the initial attempt).",
          "readOnly": true,
          "type": "integer",
          "format": "uint32"
        },
        "serviceJob": {
          "description": "Output only. The full resource name for the job run under a particular service.",
          "readOnly": true,
          "type": "string"
        },
        "message": {
          "type": "string",
          "description": "Output only. Additional information about the current state.",
          "readOnly": true
        },
        "trigger": {
          "description": "Output only. Job execution trigger.",
          "type": "string",
          "enumDescriptions": [
            "The trigger is unspecified.",
            "The job was triggered by Dataplex Universal Catalog based on trigger spec from task definition.",
            "The job was triggered by the explicit call of Task API."
          ],
          "enum": [
            "TRIGGER_UNSPECIFIED",
            "TASK_CONFIG",
            "RUN_REQUEST"
          ],
          "readOnly": true
        },
        "uid": {
          "description": "Output only. System generated globally unique ID for the job.",
          "readOnly": true,
          "type": "string"
        },
        "state": {
          "readOnly": true,
          "description": "Output only. Execution state for the job.",
          "type": "string",
          "enumDescriptions": [
            "The job state is unknown.",
            "The job is running.",
            "The job is cancelling.",
            "The job cancellation was successful.",
            "The job completed successfully.",
            "The job is no longer running due to an error.",
            "The job was cancelled outside of Dataplex Universal Catalog."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "RUNNING",
            "CANCELLING",
            "CANCELLED",
            "SUCCEEDED",
            "FAILED",
            "ABORTED"
          ]
        },
        "executionSpec": {
          "description": "Output only. Spec related to how a task is executed.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1TaskExecutionSpec"
        },
        "endTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the job ended.",
          "readOnly": true
        },
        "labels": {
          "description": "Output only. User-defined labels for the task.",
          "readOnly": true,
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "startTime": {
          "description": "Output only. The time when the job was started.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        }
      },
      "id": "GoogleCloudDataplexV1Job",
      "description": "A job represents an instance of a task."
    },
    "GoogleCloudDataplexV1DiscoveryEventActionDetails": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "The type of action. Eg. IncompatibleDataSchema, InvalidDataFormat"
        },
        "issue": {
          "type": "string",
          "description": "The human readable issue associated with the action."
        }
      },
      "id": "GoogleCloudDataplexV1DiscoveryEventActionDetails",
      "description": "Details about the action."
    },
    "GoogleCloudDataplexV1DataScanEventPostScanActionsResultBigQueryExportResult": {
      "id": "GoogleCloudDataplexV1DataScanEventPostScanActionsResultBigQueryExportResult",
      "description": "The result of BigQuery export post scan action.",
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Additional information about the BigQuery exporting."
        },
        "state": {
          "type": "string",
          "enumDescriptions": [
            "The exporting state is unspecified.",
            "The exporting completed successfully.",
            "The exporting is no longer running due to an error.",
            "The exporting is skipped due to no valid scan result to export (usually caused by scan failed)."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "SUCCEEDED",
            "FAILED",
            "SKIPPED"
          ],
          "description": "Execution state for the BigQuery exporting."
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityRuleTemplateParameterDescription": {
      "id": "GoogleCloudDataplexV1DataQualityRuleTemplateParameterDescription",
      "description": "Description of the input parameter. It can include the type(s) supported by the parameter and intended usage. It is for information purposes only and does not affect the behavior of the rule template.",
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Output only. Description of the input parameter. It can include the type(s) supported by the parameter and intended usage. It is for information purposes only and does not affect the behavior of the rule template.",
          "readOnly": true
        },
        "defaultValue": {
          "type": "string",
          "description": "Output only. The default value for the parameter if no value is provided.",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1CancelJobRequest": {
      "type": "object",
      "properties": {},
      "id": "GoogleCloudDataplexV1CancelJobRequest",
      "description": "Cancel task jobs."
    },
    "GoogleCloudDataplexV1ListGlossaryCategoriesResponse": {
      "id": "GoogleCloudDataplexV1ListGlossaryCategoriesResponse",
      "description": "List GlossaryCategories Response",
      "type": "object",
      "properties": {
        "categories": {
          "type": "array",
          "description": "Lists the GlossaryCategories in the specified parent.",
          "items": {
            "$ref": "GoogleCloudDataplexV1GlossaryCategory"
          }
        },
        "unreachableLocations": {
          "description": "Locations that the service couldn't reach.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1TriggerSchedule": {
      "id": "GoogleCloudDataplexV1TriggerSchedule",
      "description": "The scan is scheduled to run periodically.",
      "type": "object",
      "properties": {
        "cron": {
          "type": "string",
          "description": "Required. Cron (https://en.wikipedia.org/wiki/Cron) schedule for running scans periodically.To explicitly set a timezone in the cron tab, apply a prefix in the cron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or \"TZ=${IANA_TIME_ZONE}\". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database (wikipedia (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)). For example, CRON_TZ=America/New_York 1 * * * *, or TZ=America/New_York 1 * * * *.This field is required for Schedule scans."
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityResultPostScanActionsResultBigQueryExportResult": {
      "id": "GoogleCloudDataplexV1DataQualityResultPostScanActionsResultBigQueryExportResult",
      "description": "The result of BigQuery export post scan action.",
      "type": "object",
      "properties": {
        "message": {
          "description": "Output only. Additional information about the BigQuery exporting.",
          "readOnly": true,
          "type": "string"
        },
        "state": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "The exporting state is unspecified.",
            "The exporting completed successfully.",
            "The exporting is no longer running due to an error.",
            "The exporting is skipped due to no valid scan result to export (usually caused by scan failed)."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "SUCCEEDED",
            "FAILED",
            "SKIPPED"
          ],
          "description": "Output only. Execution state for the BigQuery exporting."
        }
      }
    },
    "GoogleCloudDataplexV1StorageAccess": {
      "type": "object",
      "properties": {
        "read": {
          "description": "Output only. Describes the read access mechanism of the data. Not user settable.",
          "type": "string",
          "enumDescriptions": [
            "Access mode unspecified.",
            "Default. Data is accessed directly using storage APIs.",
            "Data is accessed through a managed interface using BigQuery APIs."
          ],
          "enum": [
            "ACCESS_MODE_UNSPECIFIED",
            "DIRECT",
            "MANAGED"
          ],
          "readOnly": true
        }
      },
      "id": "GoogleCloudDataplexV1StorageAccess",
      "description": "Describes the access mechanism of the data within its storage location."
    },
    "GoogleCloudDataplexV1RunTaskResponse": {
      "type": "object",
      "properties": {
        "job": {
          "description": "Jobs created by RunTask API.",
          "$ref": "GoogleCloudDataplexV1Job"
        }
      },
      "id": "GoogleCloudDataplexV1RunTaskResponse"
    },
    "GoogleCloudDataplexV1EntryGroup": {
      "id": "GoogleCloudDataplexV1EntryGroup",
      "description": "An Entry Group represents a logical grouping of one or more Entries.",
      "type": "object",
      "properties": {
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the EntryGroup was created.",
          "readOnly": true
        },
        "labels": {
          "type": "object",
          "description": "Optional. User-defined labels for the EntryGroup.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "transferStatus": {
          "type": "string",
          "enumDescriptions": [
            "The default value. It is set for resources that were not subject for migration from Data Catalog service.",
            "Indicates that a resource was migrated from Data Catalog service but it hasn't been transferred yet. In particular the resource cannot be updated from Dataplex API.",
            "Indicates that a resource was transferred from Data Catalog service. The resource can only be updated from Dataplex API."
          ],
          "enum": [
            "TRANSFER_STATUS_UNSPECIFIED",
            "TRANSFER_STATUS_MIGRATED",
            "TRANSFER_STATUS_TRANSFERRED"
          ],
          "description": "Output only. Denotes the transfer status of the Entry Group. It is unspecified for Entry Group created from Dataplex API.",
          "readOnly": true
        },
        "uid": {
          "type": "string",
          "description": "Output only. System generated globally unique ID for the EntryGroup. If you delete and recreate the EntryGroup with the same name, this ID will be different.",
          "readOnly": true
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the EntryGroup."
        },
        "name": {
          "type": "string",
          "description": "Output only. The relative resource name of the EntryGroup, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}.",
          "readOnly": true
        },
        "etag": {
          "type": "string",
          "description": "This checksum is computed by the service, and might be sent on update and delete requests to ensure the client has an up-to-date value before proceeding."
        },
        "updateTime": {
          "description": "Output only. The time when the EntryGroup was last updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "displayName": {
          "type": "string",
          "description": "Optional. User friendly display name."
        }
      }
    },
    "GoogleCloudDataplexV1ListDataScansResponse": {
      "id": "GoogleCloudDataplexV1ListDataScansResponse",
      "description": "List dataScans response.",
      "type": "object",
      "properties": {
        "unreachable": {
          "type": "array",
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          }
        },
        "dataScans": {
          "type": "array",
          "description": "DataScans (BASIC view only) under the given parent location.",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataScan"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list."
        }
      }
    },
    "GoogleCloudDataplexV1DataQualitySpecPostScanActionsNotificationReport": {
      "id": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsNotificationReport",
      "description": "The configuration of notification report post scan action.",
      "type": "object",
      "properties": {
        "scoreThresholdTrigger": {
          "description": "Optional. If set, report will be sent when score threshold is met.",
          "$ref": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsScoreThresholdTrigger"
        },
        "jobFailureTrigger": {
          "$ref": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsJobFailureTrigger",
          "description": "Optional. If set, report will be sent when a scan job fails."
        },
        "recipients": {
          "$ref": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsRecipients",
          "description": "Required. The recipients who will receive the notification report."
        },
        "jobEndTrigger": {
          "$ref": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsJobEndTrigger",
          "description": "Optional. If set, report will be sent when a scan job ends."
        }
      }
    },
    "GoogleCloudDataplexV1RunDataScanResponse": {
      "type": "object",
      "properties": {
        "job": {
          "description": "DataScanJob created by RunDataScan request.",
          "$ref": "GoogleCloudDataplexV1DataScanJob"
        }
      },
      "id": "GoogleCloudDataplexV1RunDataScanResponse",
      "description": "Run DataScan Response."
    },
    "GoogleCloudDataplexV1DataProfileSpecPostScanActions": {
      "type": "object",
      "properties": {
        "bigqueryExport": {
          "$ref": "GoogleCloudDataplexV1DataProfileSpecPostScanActionsBigQueryExport",
          "description": "Optional. If set, results will be exported to the provided BigQuery table."
        }
      },
      "id": "GoogleCloudDataplexV1DataProfileSpecPostScanActions",
      "description": "The configuration of post scan actions of DataProfileScan job."
    },
    "GoogleCloudDataplexV1DataProfileResultPostScanActionsResult": {
      "id": "GoogleCloudDataplexV1DataProfileResultPostScanActionsResult",
      "description": "The result of post scan actions of DataProfileScan job.",
      "type": "object",
      "properties": {
        "bigqueryExportResult": {
          "description": "Output only. The result of BigQuery export post scan action.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataProfileResultPostScanActionsResultBigQueryExportResult"
        }
      }
    },
    "GoogleCloudDataplexV1MetadataJobImportJobSpecImportJobScope": {
      "id": "GoogleCloudDataplexV1MetadataJobImportJobSpecImportJobScope",
      "description": "A boundary on the scope of impact that the metadata import job can have.",
      "type": "object",
      "properties": {
        "referencedEntryScopes": {
          "description": "Optional. Defines the scope of entries that can be referenced in the entry links.Currently, projects are supported as valid scopes. Format: projects/{project_number_or_id}If the metadata import file attempts to create an entry link which references an entry that is not in the scope, the import job will skip that entry link.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "aspectTypes": {
          "type": "array",
          "description": "Optional. The aspect types that are in scope for the import job, specified as relative resource names in the format projects/{project_number_or_id}/locations/{location_id}/aspectTypes/{aspect_type_id}. The job modifies only the aspects that belong to these aspect types.This field is required when creating an aspect-only import job.If the metadata import file attempts to modify an aspect whose type isn't included in this list, the import job is halted before modifying any entries or aspects.The location of an aspect type must either match the location of the job, or the aspect type must be global.",
          "items": {
            "type": "string"
          }
        },
        "glossaries": {
          "type": "array",
          "description": "Optional. The glossaries that are in scope for the import job, specified as relative resource names in the format projects/{project_number_or_id}/locations/{location_id}/glossaries/{glossary_id}.While importing Business Glossary entries, the user must provide glossaries. While importing entries, the user does not have to provide glossaries. If the metadata import file attempts to modify Business Glossary entries whose glossary isn't included in this list, the import job will skip those entries.The location of a glossary must either match the location of the job, or the glossary must be global.",
          "items": {
            "type": "string"
          }
        },
        "entryLinkTypes": {
          "type": "array",
          "description": "Optional. The entry link types that are in scope for the import job, specified as relative resource names in the format projects/{project_number_or_id}/locations/{location_id}/entryLinkTypes/{entry_link_type_id}. The job modifies only the entryLinks that belong to these entry link types.If the metadata import file attempts to create or delete an entry link whose entry link type isn't included in this list, the import job will skip those entry links.",
          "items": {
            "type": "string"
          }
        },
        "entryTypes": {
          "description": "Required. The entry types that are in scope for the import job, specified as relative resource names in the format projects/{project_number_or_id}/locations/{location_id}/entryTypes/{entry_type_id}. The job modifies only the entries and aspects that belong to these entry types.If the metadata import file attempts to modify an entry whose type isn't included in this list, the import job is halted before modifying any entries or aspects.The location of an entry type must either match the location of the job, or the entry type must be global.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "entryGroups": {
          "type": "array",
          "description": "Required. The entry groups that are in scope for the import job, specified as relative resource names in the format projects/{project_number_or_id}/locations/{location_id}/entryGroups/{entry_group_id}. Only entries and aspects that belong to the specified entry groups are affected by the job.The entry groups and the job must be in the same location.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudDataplexV1SessionEventQueryDetail": {
      "id": "GoogleCloudDataplexV1SessionEventQueryDetail",
      "description": "Execution details of the query.",
      "type": "object",
      "properties": {
        "queryText": {
          "description": "The query text executed.",
          "type": "string"
        },
        "dataProcessedBytes": {
          "description": "The data processed by the query.",
          "type": "string",
          "format": "int64"
        },
        "resultSizeBytes": {
          "description": "The size of results the query produced.",
          "type": "string",
          "format": "int64"
        },
        "engine": {
          "type": "string",
          "enumDescriptions": [
            "An unspecified Engine type.",
            "Spark-sql engine is specified in Query.",
            "BigQuery engine is specified in Query."
          ],
          "enum": [
            "ENGINE_UNSPECIFIED",
            "SPARK_SQL",
            "BIGQUERY"
          ],
          "description": "Query Execution engine."
        },
        "duration": {
          "type": "string",
          "format": "google-duration",
          "description": "Time taken for execution of the query."
        },
        "queryId": {
          "type": "string",
          "description": "The unique Query id identifying the query."
        }
      }
    },
    "GoogleCloudDataplexV1ListEntryGroupsResponse": {
      "id": "GoogleCloudDataplexV1ListEntryGroupsResponse",
      "description": "List entry groups response.",
      "type": "object",
      "properties": {
        "unreachableLocations": {
          "type": "array",
          "description": "Locations that the service couldn't reach.",
          "items": {
            "type": "string"
          }
        },
        "entryGroups": {
          "description": "Entry groups under the given parent location.",
          "items": {
            "$ref": "GoogleCloudDataplexV1EntryGroup"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        }
      }
    },
    "GoogleIamV1SetIamPolicyRequest": {
      "type": "object",
      "properties": {
        "updateMask": {
          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used:paths: \"bindings, etag\"",
          "type": "string",
          "format": "google-fieldmask"
        },
        "policy": {
          "$ref": "GoogleIamV1Policy",
          "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."
        }
      },
      "id": "GoogleIamV1SetIamPolicyRequest",
      "description": "Request message for SetIamPolicy method."
    },
    "GoogleCloudDataplexV1EntrySourceAncestor": {
      "id": "GoogleCloudDataplexV1EntrySourceAncestor",
      "description": "Information about individual items in the hierarchy that is associated with the data resource.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Optional. The name of the ancestor resource.",
          "type": "string"
        },
        "type": {
          "type": "string",
          "description": "Optional. The type of the ancestor resource."
        }
      }
    },
    "GoogleCloudDataplexV1DataDocumentationResultQuery": {
      "id": "GoogleCloudDataplexV1DataDocumentationResultQuery",
      "description": "A sample SQL query in data documentation.",
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Output only. The description for the query.",
          "readOnly": true
        },
        "sql": {
          "type": "string",
          "description": "Output only. The SQL query string which can be executed.",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1StorageFormatJsonOptions": {
      "type": "object",
      "properties": {
        "encoding": {
          "type": "string",
          "description": "Optional. The character encoding of the data. Accepts \"US-ASCII\", \"UTF-8\" and \"ISO-8859-1\". Defaults to UTF-8 if not specified."
        }
      },
      "id": "GoogleCloudDataplexV1StorageFormatJsonOptions",
      "description": "Describes JSON data format."
    },
    "GoogleCloudDataplexV1ListDataAttributeBindingsResponse": {
      "type": "object",
      "properties": {
        "dataAttributeBindings": {
          "description": "DataAttributeBindings under the given parent Location.",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataAttributeBinding"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        },
        "unreachableLocations": {
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "id": "GoogleCloudDataplexV1ListDataAttributeBindingsResponse",
      "description": "List DataAttributeBindings response."
    },
    "GoogleCloudDataplexV1EntryTypeAuthorization": {
      "type": "object",
      "properties": {
        "alternateUsePermission": {
          "type": "string",
          "description": "Immutable. The IAM permission grantable on the Entry Group to allow access to instantiate Entries of Dataplex Universal Catalog owned Entry Types, only settable for Dataplex Universal Catalog owned Types."
        }
      },
      "id": "GoogleCloudDataplexV1EntryTypeAuthorization",
      "description": "Authorization for an Entry Type."
    },
    "GoogleCloudDataplexV1TaskExecutionStatus": {
      "type": "object",
      "properties": {
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Last update time of the status.",
          "readOnly": true
        },
        "latestJob": {
          "description": "Output only. latest job execution",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1Job"
        }
      },
      "id": "GoogleCloudDataplexV1TaskExecutionStatus",
      "description": "Status of the task execution (e.g. Jobs)."
    },
    "GoogleCloudDataplexV1TaskInfrastructureSpecBatchComputeResources": {
      "type": "object",
      "properties": {
        "maxExecutorsCount": {
          "description": "Optional. Max configurable executors. If max_executors_count \u003e executors_count, then auto-scaling is enabled. Max Executor Count should be between 2 and 1000. Default=1000",
          "type": "integer",
          "format": "int32"
        },
        "executorsCount": {
          "description": "Optional. Total number of job executors. Executor Count should be between 2 and 100. Default=2",
          "type": "integer",
          "format": "int32"
        }
      },
      "id": "GoogleCloudDataplexV1TaskInfrastructureSpecBatchComputeResources",
      "description": "Batch compute resources associated with the task."
    },
    "GoogleCloudDataplexV1EntryLinkEvent": {
      "type": "object",
      "properties": {
        "resource": {
          "description": "Name of the resource.",
          "type": "string"
        },
        "message": {
          "type": "string",
          "description": "The log message."
        },
        "eventType": {
          "description": "The type of the event.",
          "type": "string",
          "enumDescriptions": [
            "An unspecified event type.",
            "EntryLink create event.",
            "EntryLink delete event."
          ],
          "enum": [
            "EVENT_TYPE_UNSPECIFIED",
            "ENTRY_LINK_CREATE",
            "ENTRY_LINK_DELETE"
          ]
        }
      },
      "id": "GoogleCloudDataplexV1EntryLinkEvent",
      "description": "Payload associated with Entry related log events."
    },
    "GoogleLongrunningListOperationsResponse": {
      "type": "object",
      "properties": {
        "operations": {
          "description": "A list of operations that matches the specified filter in the request.",
          "items": {
            "$ref": "GoogleLongrunningOperation"
          },
          "type": "array"
        },
        "unreachable": {
          "type": "array",
          "description": "Unordered list. Unreachable resources. Populated when the request sets ListOperationsRequest.return_partial_success and reads across collections. For example, when attempting to list all resources across all supported locations.",
          "items": {
            "type": "string"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "The standard List next-page token."
        }
      },
      "id": "GoogleLongrunningListOperationsResponse",
      "description": "The response message for Operations.ListOperations."
    },
    "GoogleCloudDataplexV1CancelDataScanJobResponse": {
      "type": "object",
      "properties": {},
      "id": "GoogleCloudDataplexV1CancelDataScanJobResponse",
      "description": "Response message for the CancelDataScanJob method."
    },
    "GoogleCloudDataplexV1SchemaSchemaField": {
      "id": "GoogleCloudDataplexV1SchemaSchemaField",
      "description": "Represents a column field within a table schema.",
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Optional. User friendly field description. Must be less than or equal to 1024 characters."
        },
        "name": {
          "type": "string",
          "description": "Required. The name of the field. Must contain only letters, numbers and underscores, with a maximum length of 767 characters, and must begin with a letter or underscore."
        },
        "type": {
          "description": "Required. The type of field.",
          "type": "string",
          "enumDescriptions": [
            "SchemaType unspecified.",
            "Boolean field.",
            "Single byte numeric field.",
            "16-bit numeric field.",
            "32-bit numeric field.",
            "64-bit numeric field.",
            "Floating point numeric field.",
            "Double precision numeric field.",
            "Real value numeric field.",
            "Sequence of characters field.",
            "Sequence of bytes field.",
            "Date and time field.",
            "Date field.",
            "Time field.",
            "Structured field. Nested fields that define the structure of the map. If all nested fields are nullable, this field represents a union.",
            "Null field that does not have values."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "BOOLEAN",
            "BYTE",
            "INT16",
            "INT32",
            "INT64",
            "FLOAT",
            "DOUBLE",
            "DECIMAL",
            "STRING",
            "BINARY",
            "TIMESTAMP",
            "DATE",
            "TIME",
            "RECORD",
            "NULL"
          ]
        },
        "mode": {
          "description": "Required. Additional field semantics.",
          "type": "string",
          "enumDescriptions": [
            "Mode unspecified.",
            "The field has required semantics.",
            "The field has optional semantics, and may be null.",
            "The field has repeated (0 or more) semantics, and is a list of values."
          ],
          "enum": [
            "MODE_UNSPECIFIED",
            "REQUIRED",
            "NULLABLE",
            "REPEATED"
          ]
        },
        "fields": {
          "type": "array",
          "description": "Optional. Any nested field for complex types.",
          "items": {
            "$ref": "GoogleCloudDataplexV1SchemaSchemaField"
          }
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityRuleSqlAssertion": {
      "type": "object",
      "properties": {
        "sqlStatement": {
          "description": "Optional. The SQL statement.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityRuleSqlAssertion",
      "description": "A SQL statement that is evaluated to return rows that match an invalid state. If any rows are are returned, this rule fails.The SQL statement must use GoogleSQL syntax (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax), and must not contain any semicolons.You can use the data reference parameter ${data()} to reference the source table with all of its precondition filters applied. Examples of precondition filters include row filters, incremental data filters, and sampling. For more information, see Data reference parameter (https://cloud.google.com/dataplex/docs/auto-data-quality-overview#data-reference-parameter).Example: SELECT * FROM ${data()} WHERE price \u003c 0"
    },
    "GoogleCloudDataplexV1DataScanEventDataProfileResult": {
      "id": "GoogleCloudDataplexV1DataScanEventDataProfileResult",
      "description": "Data profile result for data scan job.",
      "type": "object",
      "properties": {
        "rowCount": {
          "type": "string",
          "format": "int64",
          "description": "The count of rows processed in the data scan job."
        }
      }
    },
    "GoogleCloudDataplexV1MetadataJobExportJobResult": {
      "type": "object",
      "properties": {
        "exportedEntries": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The number of entries that were exported.",
          "readOnly": true
        },
        "errorMessage": {
          "description": "Output only. The error message if the metadata export job failed.",
          "readOnly": true,
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1MetadataJobExportJobResult",
      "description": "Summary results from a metadata export job. The results are a snapshot of the metadata at the time when the job was created. The exported entries are saved to a Cloud Storage bucket."
    },
    "GoogleCloudDataplexV1ResourceAccessSpec": {
      "id": "GoogleCloudDataplexV1ResourceAccessSpec",
      "description": "ResourceAccessSpec holds the access control configuration to be enforced on the resources, for example, Cloud Storage bucket, BigQuery dataset, BigQuery table.",
      "type": "object",
      "properties": {
        "readers": {
          "description": "Optional. The format of strings follows the pattern followed by IAM in the bindings. user:{email}, serviceAccount:{email} group:{email}. The set of principals to be granted reader role on the resource.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "writers": {
          "description": "Optional. The set of principals to be granted writer role on the resource.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "owners": {
          "type": "array",
          "description": "Optional. The set of principals to be granted owner role on the resource.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityResultAnomalyDetectionGeneratedAssets": {
      "id": "GoogleCloudDataplexV1DataQualityResultAnomalyDetectionGeneratedAssets",
      "description": "The assets generated by Anomaly Detection Data Scan.",
      "type": "object",
      "properties": {
        "resultTable": {
          "type": "string",
          "description": "Output only. The result table for anomaly detection. Format: PROJECT_ID.DATASET_ID.TABLE_ID If the result table is set at AnomalyDetectionAssets, the result table here would be the same as the one set in the AnomalyDetectionAssets.result_table.",
          "readOnly": true
        },
        "dataIntermediateTable": {
          "description": "Output only. The intermediate table for data anomaly detection. Format: PROJECT_ID.DATASET_ID.TABLE_ID",
          "readOnly": true,
          "type": "string"
        },
        "freshnessIntermediateTable": {
          "description": "Output only. The intermediate table for freshness anomaly detection. Format: PROJECT_ID.DATASET_ID.TABLE_ID",
          "readOnly": true,
          "type": "string"
        },
        "volumeIntermediateTable": {
          "description": "Output only. The intermediate table for volume anomaly detection. Format: PROJECT_ID.DATASET_ID.TABLE_ID",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1CancelMetadataJobRequest": {
      "id": "GoogleCloudDataplexV1CancelMetadataJobRequest",
      "description": "Cancel metadata job request.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudDataplexV1ScannedData": {
      "id": "GoogleCloudDataplexV1ScannedData",
      "description": "The data scanned during processing (e.g. in incremental DataScan)",
      "type": "object",
      "properties": {
        "incrementalField": {
          "$ref": "GoogleCloudDataplexV1ScannedDataIncrementalField",
          "description": "The range denoted by values of an incremental field"
        }
      }
    },
    "GoogleCloudDataplexV1ListTasksResponse": {
      "id": "GoogleCloudDataplexV1ListTasksResponse",
      "description": "List tasks response.",
      "type": "object",
      "properties": {
        "unreachableLocations": {
          "type": "array",
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          }
        },
        "tasks": {
          "type": "array",
          "description": "Tasks under the given parent lake.",
          "items": {
            "$ref": "GoogleCloudDataplexV1Task"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list."
        }
      }
    },
    "GoogleCloudDataplexV1ScannedDataIncrementalField": {
      "type": "object",
      "properties": {
        "start": {
          "description": "Output only. Value that marks the start of the range.",
          "readOnly": true,
          "type": "string"
        },
        "end": {
          "type": "string",
          "description": "Output only. Value that marks the end of the range.",
          "readOnly": true
        },
        "field": {
          "type": "string",
          "description": "Output only. The field that contains values which monotonically increases over time (e.g. a timestamp column).",
          "readOnly": true
        }
      },
      "id": "GoogleCloudDataplexV1ScannedDataIncrementalField",
      "description": "A data range denoted by a pair of start/end values of a field."
    },
    "GoogleCloudDataplexV1LookupContextRequest": {
      "type": "object",
      "properties": {
        "resources": {
          "type": "array",
          "description": "Required. The entry names to look up the context for. The maximum number of resources for a request is limited to 10.Examples:projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}",
          "items": {
            "type": "string"
          }
        },
        "options": {
          "type": "object",
          "description": "Optional. Allows to configure the context.Supported options: format - The format of the context (one of yaml, xml, json, default is yaml). context_budget - If provided, the output will be intelligently truncated on a best-effort basis to contain approximately the desired amount of characters. There is no guarantee to achieve the specific amount.",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "id": "GoogleCloudDataplexV1LookupContextRequest",
      "description": "Lookup Context using permissions in the source system."
    },
    "GoogleCloudDataplexV1DataQualityRuleRuleSourceRulePathElement": {
      "id": "GoogleCloudDataplexV1DataQualityRuleRuleSourceRulePathElement",
      "description": "Path Element represents the direct relationship between the rule origin (aspects) to the BigQuery Entry. Ordering of the rule relationship will be maintained such that the first entry in the list is the closest ancestor (BigQuery table itself). A blank source denotes that the rule is derived directly from the DataScan itself.",
      "type": "object",
      "properties": {
        "entryLinkSource": {
          "$ref": "GoogleCloudDataplexV1DataQualityRuleRuleSourceRulePathElementEntryLinkSource",
          "description": "Output only. Entry link source represents information about the entry link.",
          "readOnly": true
        },
        "entrySource": {
          "description": "Output only. Entry source represents information about the related source entry.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataQualityRuleRuleSourceRulePathElementEntrySource"
        }
      }
    },
    "GoogleCloudDataplexV1GenerateDataQualityRulesRequest": {
      "id": "GoogleCloudDataplexV1GenerateDataQualityRulesRequest",
      "description": "Request details for generating data quality rule recommendations.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudDataplexV1GlossaryTerm": {
      "type": "object",
      "properties": {
        "uid": {
          "description": "Output only. System generated unique id for the GlossaryTerm. This ID will be different if the GlossaryTerm is deleted and re-created with the same name.",
          "readOnly": true,
          "type": "string"
        },
        "displayName": {
          "description": "Optional. User friendly display name of the GlossaryTerm. This is user-mutable. This will be same as the GlossaryTermId, if not specified.",
          "type": "string"
        },
        "description": {
          "description": "Optional. The user-mutable description of the GlossaryTerm.",
          "type": "string"
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time at which the GlossaryTerm was created.",
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time at which the GlossaryTerm was last updated.",
          "readOnly": true
        },
        "labels": {
          "type": "object",
          "description": "Optional. User-defined labels for the GlossaryTerm.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "parent": {
          "type": "string",
          "description": "Required. The immediate parent of the GlossaryTerm in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}"
        },
        "name": {
          "type": "string",
          "description": "Output only. Identifier. The resource name of the GlossaryTerm. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}",
          "readOnly": true
        }
      },
      "id": "GoogleCloudDataplexV1GlossaryTerm",
      "description": "GlossaryTerms are the core of Glossary. A GlossaryTerm holds a rich text description that can be attached to Entries or specific columns to enrich them."
    },
    "GoogleIamV1AuditConfig": {
      "id": "GoogleIamV1AuditConfig",
      "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.If there are AuditConfigs for both allServices and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted.Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.",
      "type": "object",
      "properties": {
        "service": {
          "description": "Specifies a service that will be enabled for audit logging. For example, storage.googleapis.com, cloudsql.googleapis.com. allServices is a special value that covers all services.",
          "type": "string"
        },
        "auditLogConfigs": {
          "description": "The configuration for logging of each type of permission.",
          "items": {
            "$ref": "GoogleIamV1AuditLogConfig"
          },
          "type": "array"
        }
      }
    },
    "GoogleCloudDataplexV1ListJobsResponse": {
      "id": "GoogleCloudDataplexV1ListJobsResponse",
      "description": "List jobs response.",
      "type": "object",
      "properties": {
        "jobs": {
          "description": "Jobs under a given task.",
          "items": {
            "$ref": "GoogleCloudDataplexV1Job"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1ListEntitiesResponse": {
      "id": "GoogleCloudDataplexV1ListEntitiesResponse",
      "description": "List metadata entities response.",
      "type": "object",
      "properties": {
        "entities": {
          "description": "Entities in the specified parent zone.",
          "items": {
            "$ref": "GoogleCloudDataplexV1Entity"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no remaining results in the list.",
          "type": "string"
        }
      }
    },
    "GoogleIamV1TestIamPermissionsRequest": {
      "type": "object",
      "properties": {
        "permissions": {
          "type": "array",
          "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).",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "GoogleIamV1TestIamPermissionsRequest",
      "description": "Request message for TestIamPermissions method."
    },
    "GoogleCloudDataplexV1DataScan": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enumDescriptions": [
            "The data scan type is unspecified.",
            "Data quality scan.",
            "Data profile scan.",
            "Data discovery scan.",
            "Data documentation scan."
          ],
          "enum": [
            "DATA_SCAN_TYPE_UNSPECIFIED",
            "DATA_QUALITY",
            "DATA_PROFILE",
            "DATA_DISCOVERY",
            "DATA_DOCUMENTATION"
          ],
          "description": "Output only. The type of DataScan.",
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the scan was last updated.",
          "readOnly": true
        },
        "data": {
          "$ref": "GoogleCloudDataplexV1DataSource",
          "description": "Required. The data source for DataScan."
        },
        "executionStatus": {
          "$ref": "GoogleCloudDataplexV1DataScanExecutionStatus",
          "description": "Output only. Status of the data scan execution.",
          "readOnly": true
        },
        "executionIdentity": {
          "description": "Optional. Immutable. The identity to run the datascan. If not specified, defaults to the Dataplex Service Agent.",
          "$ref": "GoogleCloudDataplexV1ExecutionIdentity"
        },
        "labels": {
          "description": "Optional. User-defined labels for the scan.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "dataQualityResult": {
          "$ref": "GoogleCloudDataplexV1DataQualityResult",
          "description": "Output only. The result of a data quality scan.",
          "readOnly": true
        },
        "executionSpec": {
          "$ref": "GoogleCloudDataplexV1DataScanExecutionSpec",
          "description": "Optional. DataScan execution settings.If not specified, the fields in it will use their default values."
        },
        "dataProfileSpec": {
          "description": "Settings for a data profile scan.",
          "$ref": "GoogleCloudDataplexV1DataProfileSpec"
        },
        "name": {
          "description": "Output only. Identifier. The relative resource name of the scan, of the form: projects/{project}/locations/{location_id}/dataScans/{datascan_id}, where project refers to a project_id or project_number and location_id refers to a Google Cloud region.",
          "readOnly": true,
          "type": "string"
        },
        "dataDocumentationSpec": {
          "$ref": "GoogleCloudDataplexV1DataDocumentationSpec",
          "description": "Settings for a data documentation scan."
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the scan. Must be between 1-1024 characters."
        },
        "dataQualitySpec": {
          "description": "Settings for a data quality scan.",
          "$ref": "GoogleCloudDataplexV1DataQualitySpec"
        },
        "displayName": {
          "type": "string",
          "description": "Optional. User friendly display name. Must be between 1-256 characters."
        },
        "dataDiscoveryResult": {
          "$ref": "GoogleCloudDataplexV1DataDiscoveryResult",
          "description": "Output only. The result of a data discovery scan.",
          "readOnly": true
        },
        "dataDocumentationResult": {
          "description": "Output only. The result of a data documentation scan.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataDocumentationResult"
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the scan was created.",
          "readOnly": true
        },
        "dataDiscoverySpec": {
          "$ref": "GoogleCloudDataplexV1DataDiscoverySpec",
          "description": "Settings for a data discovery scan."
        },
        "dataProfileResult": {
          "description": "Output only. The result of a data profile scan.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataProfileResult"
        },
        "uid": {
          "type": "string",
          "description": "Output only. System generated globally unique ID for the scan. This ID will be different if the scan is deleted and re-created with the same name.",
          "readOnly": true
        },
        "state": {
          "description": "Output only. Current state of the DataScan.",
          "type": "string",
          "enumDescriptions": [
            "State is not specified.",
            "Resource is active, i.e., ready to use.",
            "Resource is under creation.",
            "Resource is under deletion.",
            "Resource is active but has unresolved actions."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "CREATING",
            "DELETING",
            "ACTION_REQUIRED"
          ],
          "readOnly": true
        }
      },
      "id": "GoogleCloudDataplexV1DataScan",
      "description": "Represents a user-visible job which provides the insights for the related data source.For example: Data quality: generates queries based on the rules and runs against the data to get data quality check results. For more information, see Auto data quality overview (https://cloud.google.com/dataplex/docs/auto-data-quality-overview). Data profile: analyzes the data in tables and generates insights about the structure, content and relationships (such as null percent, cardinality, min/max/mean, etc). For more information, see About data profiling (https://cloud.google.com/dataplex/docs/data-profiling-overview). Data discovery: scans data in Cloud Storage buckets to extract and then catalog metadata. For more information, see Discover and catalog Cloud Storage data (https://cloud.google.com/bigquery/docs/automatic-discovery). Data documentation: analyzes the table or dataset metadata and generates insights. For tables, insights include descriptions and sample SQL queries. For datasets, insights include descriptions, schema relationships and sample SQL queries. For more information, see Generate data insights in BigQuery (https://cloud.google.com/bigquery/docs/data-insights)."
    },
    "GoogleCloudDataplexV1DataQualityRuleStatisticRangeExpectation": {
      "id": "GoogleCloudDataplexV1DataQualityRuleStatisticRangeExpectation",
      "description": "Evaluates whether the column aggregate statistic lies between a specified range.",
      "type": "object",
      "properties": {
        "minValue": {
          "description": "Optional. The minimum column statistic value allowed for a row to pass this validation.At least one of min_value and max_value need to be provided.",
          "type": "string"
        },
        "strictMinEnabled": {
          "description": "Optional. Whether column statistic needs to be strictly greater than ('\u003e') the minimum, or if equality is allowed.Only relevant if a min_value has been defined. Default = false.",
          "type": "boolean"
        },
        "maxValue": {
          "type": "string",
          "description": "Optional. The maximum column statistic value allowed for a row to pass this validation.At least one of min_value and max_value need to be provided."
        },
        "strictMaxEnabled": {
          "description": "Optional. Whether column statistic needs to be strictly lesser than ('\u003c') the maximum, or if equality is allowed.Only relevant if a max_value has been defined. Default = false.",
          "type": "boolean"
        },
        "statistic": {
          "type": "string",
          "enumDescriptions": [
            "Unspecified statistic type",
            "Evaluate the column mean",
            "Evaluate the column min",
            "Evaluate the column max"
          ],
          "enum": [
            "STATISTIC_UNDEFINED",
            "MEAN",
            "MIN",
            "MAX"
          ],
          "description": "Optional. The aggregate metric to evaluate."
        }
      }
    },
    "GoogleCloudDataplexV1AssetDiscoverySpecJsonOptions": {
      "type": "object",
      "properties": {
        "encoding": {
          "description": "Optional. The character encoding of the data. The default is UTF-8.",
          "type": "string"
        },
        "disableTypeInference": {
          "description": "Optional. Whether to disable the inference of data type for Json data. If true, all columns will be registered as their primitive types (strings, number or boolean).",
          "type": "boolean"
        }
      },
      "id": "GoogleCloudDataplexV1AssetDiscoverySpecJsonOptions",
      "description": "Describe JSON data format."
    },
    "GoogleCloudDataplexV1AspectTypeAuthorization": {
      "type": "object",
      "properties": {
        "alternateUsePermission": {
          "type": "string",
          "description": "Immutable. The IAM permission grantable on the EntryGroup to allow access to instantiate Aspects of Dataplex Universal Catalog owned AspectTypes, only settable for Dataplex Universal Catalog owned Types."
        }
      },
      "id": "GoogleCloudDataplexV1AspectTypeAuthorization",
      "description": "Authorization for an AspectType."
    },
    "GoogleCloudDataplexV1DataSource": {
      "id": "GoogleCloudDataplexV1DataSource",
      "description": "The data source for DataScan.",
      "type": "object",
      "properties": {
        "entity": {
          "description": "Immutable. The Dataplex Universal Catalog entity that represents the data source (e.g. BigQuery table) for DataScan, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}.",
          "type": "string"
        },
        "resource": {
          "description": "Immutable. The service-qualified full resource name of the cloud resource for a DataScan job to scan against. The field could either be: Cloud Storage bucket for DataDiscoveryScan Format: //storage.googleapis.com/projects/PROJECT_ID/buckets/BUCKET_ID or BigQuery table of type \"TABLE\" for DataProfileScan/DataQualityScan/DataDocumentationScan Format: //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID or BigQuery dataset for DataDocumentationScan only Format: //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityRuleUniquenessExpectation": {
      "id": "GoogleCloudDataplexV1DataQualityRuleUniquenessExpectation",
      "description": "Evaluates whether the column has duplicates.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudDataplexV1DataQualityRule": {
      "type": "object",
      "properties": {
        "suspended": {
          "description": "Optional. Whether the Rule is active or suspended. Default is false.",
          "type": "boolean"
        },
        "regexExpectation": {
          "description": "Row-level rule which evaluates whether each column value matches a specified regex.",
          "$ref": "GoogleCloudDataplexV1DataQualityRuleRegexExpectation"
        },
        "uniquenessExpectation": {
          "$ref": "GoogleCloudDataplexV1DataQualityRuleUniquenessExpectation",
          "description": "Row-level rule which evaluates whether each column value is unique."
        },
        "nonNullExpectation": {
          "description": "Row-level rule which evaluates whether each column value is null.",
          "$ref": "GoogleCloudDataplexV1DataQualityRuleNonNullExpectation"
        },
        "sqlAssertion": {
          "$ref": "GoogleCloudDataplexV1DataQualityRuleSqlAssertion",
          "description": "Aggregate rule which evaluates the number of rows returned for the provided statement. If any rows are returned, this rule fails."
        },
        "setExpectation": {
          "$ref": "GoogleCloudDataplexV1DataQualityRuleSetExpectation",
          "description": "Row-level rule which evaluates whether each column value is contained by a specified set."
        },
        "statisticRangeExpectation": {
          "description": "Aggregate rule which evaluates whether the column aggregate statistic lies between a specified range.",
          "$ref": "GoogleCloudDataplexV1DataQualityRuleStatisticRangeExpectation"
        },
        "ruleSource": {
          "description": "Output only. Contains information about the source of the rule and its relationship with the BigQuery table, where applicable.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataQualityRuleRuleSource"
        },
        "rowConditionExpectation": {
          "$ref": "GoogleCloudDataplexV1DataQualityRuleRowConditionExpectation",
          "description": "Row-level rule which evaluates whether each row in a table passes the specified condition."
        },
        "tableConditionExpectation": {
          "description": "Aggregate rule which evaluates whether the provided expression is true for a table.",
          "$ref": "GoogleCloudDataplexV1DataQualityRuleTableConditionExpectation"
        },
        "attributes": {
          "type": "object",
          "description": "Optional. Map of attribute name and value linked to the rule. The rules to evaluate can be filtered based on attributes provided here and a filter expression provided in the DataQualitySpec.filter field.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "templateReference": {
          "$ref": "GoogleCloudDataplexV1DataQualityRuleTemplateReference",
          "description": "Aggregate rule which references a rule template and provides the parameters to be substituted in the template. If any rows are returned, this rule fails."
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the rule. The maximum length is 1,024 characters."
        },
        "name": {
          "type": "string",
          "description": "Optional. A mutable name for the rule. The name must contain only letters (a-z, A-Z), numbers (0-9), or hyphens (-). The maximum length is 63 characters. Must start with a letter. Must end with a number or a letter."
        },
        "ignoreNull": {
          "description": "Optional. Rows with null values will automatically fail a rule, unless ignore_null is true. In that case, such null rows are trivially considered passing.This field is only valid for the following type of rules: RangeExpectation RegexExpectation SetExpectation UniquenessExpectation",
          "type": "boolean"
        },
        "threshold": {
          "type": "number",
          "format": "double",
          "description": "Optional. The minimum ratio of passing_rows / total_rows required to pass this rule, with a range of 0.0, 1.0.0 indicates default value (i.e. 1.0).This field is only valid for row-level type rules."
        },
        "dimension": {
          "type": "string",
          "description": "Optional. The dimension a rule belongs to. Results are also aggregated at the dimension level. Custom dimension name is supported with all uppercase letters and maximum length of 30 characters."
        },
        "debugQueries": {
          "description": "Optional. Specifies the debug queries for this rule. Currently, only one query is supported, but this may be expanded in the future.",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityRuleDebugQuery"
          },
          "type": "array"
        },
        "column": {
          "type": "string",
          "description": "Optional. The unnested column which this rule is evaluated against."
        },
        "rangeExpectation": {
          "$ref": "GoogleCloudDataplexV1DataQualityRuleRangeExpectation",
          "description": "Row-level rule which evaluates whether each column value lies between a specified range."
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityRule",
      "description": "A rule captures data quality intent about a data source."
    },
    "GoogleCloudDataplexV1DataQualityRuleResult": {
      "type": "object",
      "properties": {
        "rule": {
          "$ref": "GoogleCloudDataplexV1DataQualityRule",
          "description": "Output only. The rule specified in the DataQualitySpec, as is.",
          "readOnly": true
        },
        "evaluatedCount": {
          "description": "Output only. The number of rows a rule was evaluated against.This field is only valid for row-level type rules.Evaluated count can be configured to either include all rows (default) - with null rows automatically failing rule evaluation, or exclude null rows from the evaluated_count, by setting ignore_nulls = true.This field is not set for rule SqlAssertion.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "debugQueriesResultSets": {
          "type": "array",
          "description": "Output only. Contains the results of all debug queries for this rule. The number of result sets will correspond to the number of debug_queries.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResultSet"
          }
        },
        "passed": {
          "description": "Output only. Whether the rule passed or failed.",
          "readOnly": true,
          "type": "boolean"
        },
        "nullCount": {
          "description": "Output only. The number of rows with null values in the specified column.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "passRatio": {
          "description": "Output only. The ratio of passed_count / evaluated_count.This field is only valid for row-level type rules.",
          "readOnly": true,
          "type": "number",
          "format": "double"
        },
        "failingRowsQuery": {
          "description": "Output only. The query to find rows that did not pass this rule.This field is only valid for row-level type rules.",
          "readOnly": true,
          "type": "string"
        },
        "passedCount": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The number of rows which passed a rule evaluation.This field is only valid for row-level type rules.This field is not set for rule SqlAssertion.",
          "readOnly": true
        },
        "assertionRowCount": {
          "description": "Output only. The number of rows returned by the SQL statement in a SQL assertion rule.This field is only valid for SQL assertion rules.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityRuleResult",
      "description": "DataQualityRuleResult provides a more detailed, per-rule view of the results."
    },
    "GoogleCloudDataplexV1DataDiscoverySpecStorageConfig": {
      "id": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfig",
      "description": "Configurations related to Cloud Storage as the data source.",
      "type": "object",
      "properties": {
        "unstructuredDataOptions": {
          "$ref": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigUnstructuredDataOptions",
          "description": "Optional. Specifies configuration for unstructured data discovery."
        },
        "includePatterns": {
          "description": "Optional. Defines the data to include during discovery when only a subset of the data should be considered. Provide a list of patterns that identify the data to include. For Cloud Storage bucket assets, these patterns are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these patterns are interpreted as patterns to match table names.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "excludePatterns": {
          "type": "array",
          "description": "Optional. Defines the data to exclude during discovery. Provide a list of patterns that identify the data to exclude. For Cloud Storage bucket assets, these patterns are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these patterns are interpreted as patterns to match table names.",
          "items": {
            "type": "string"
          }
        },
        "csvOptions": {
          "$ref": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigCsvOptions",
          "description": "Optional. Configuration for CSV data."
        },
        "jsonOptions": {
          "description": "Optional. Configuration for JSON data.",
          "$ref": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigJsonOptions"
        }
      }
    },
    "GoogleCloudDataplexV1DataTaxonomy": {
      "id": "GoogleCloudDataplexV1DataTaxonomy",
      "deprecated": true,
      "type": "object",
      "properties": {
        "uid": {
          "type": "string",
          "description": "Output only. System generated globally unique ID for the dataTaxonomy. This ID will be different if the DataTaxonomy is deleted and re-created with the same name.",
          "readOnly": true
        },
        "createTime": {
          "description": "Output only. The time when the DataTaxonomy was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "labels": {
          "type": "object",
          "description": "Optional. User-defined labels for the DataTaxonomy.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "attributeCount": {
          "type": "integer",
          "format": "int32",
          "description": "Output only. The number of attributes in the DataTaxonomy.",
          "readOnly": true
        },
        "displayName": {
          "description": "Optional. User friendly display name.",
          "type": "string"
        },
        "name": {
          "description": "Output only. The relative resource name of the DataTaxonomy, of the form: projects/{project_number}/locations/{location_id}/dataTaxonomies/{data_taxonomy_id}.",
          "readOnly": true,
          "type": "string"
        },
        "etag": {
          "type": "string",
          "description": "This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding."
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the DataTaxonomy was last updated.",
          "readOnly": true
        },
        "classCount": {
          "description": "Output only. The number of classes in the DataTaxonomy.",
          "readOnly": true,
          "type": "integer",
          "format": "int32"
        },
        "description": {
          "description": "Optional. Description of the DataTaxonomy.",
          "type": "string"
        }
      },
      "description": "DataTaxonomy represents a set of hierarchical DataAttributes resources, grouped with a common theme Eg: 'SensitiveDataTaxonomy' can have attributes to manage PII data. It is defined at project level."
    },
    "GoogleCloudDataplexV1LookupEntryLinksResponse": {
      "type": "object",
      "properties": {
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        },
        "entryLinks": {
          "type": "array",
          "description": "List of entry links that reference the specified entry.",
          "items": {
            "$ref": "GoogleCloudDataplexV1EntryLink"
          }
        }
      },
      "id": "GoogleCloudDataplexV1LookupEntryLinksResponse",
      "description": "Response message for LookupEntryLinks."
    },
    "GoogleCloudDataplexV1SearchEntriesResultSnippets": {
      "id": "GoogleCloudDataplexV1SearchEntriesResultSnippets",
      "description": "Snippets for the entry, contains HTML-style highlighting for matched tokens, will be used in UI.",
      "deprecated": true,
      "type": "object",
      "properties": {
        "dataplexEntry": {
          "$ref": "GoogleCloudDataplexV1Entry",
          "description": "Entry",
          "deprecated": true
        }
      }
    },
    "GoogleCloudDataplexV1EntryLinkEntryReference": {
      "id": "GoogleCloudDataplexV1EntryLinkEntryReference",
      "description": "Reference to the Entry that is linked through the Entry Link.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Required. Immutable. The relative resource name of the referenced Entry, of the form: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}"
        },
        "type": {
          "description": "Required. Immutable. The reference type of the Entry.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified reference type. Implies that the Entry is referenced in a non-directional Entry Link.",
            "The Entry is referenced as the source of the directional Entry Link.",
            "The Entry is referenced as the target of the directional Entry Link."
          ],
          "enum": [
            "UNSPECIFIED",
            "SOURCE",
            "TARGET"
          ]
        },
        "path": {
          "description": "Immutable. The path in the Entry that is referenced in the Entry Link. Empty path denotes that the Entry itself is referenced in the Entry Link.",
          "type": "string"
        }
      }
    }
  },
  "rootUrl": "https://dataplex.googleapis.com/",
  "canonicalName": "Cloud Dataplex",
  "batchPath": "batch",
  "mtlsRootUrl": "https://dataplex.mtls.googleapis.com/",
  "servicePath": "",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform.read-only": {
          "description": "View your data across Google Cloud services and see the email address of your Google Account"
        },
        "https://www.googleapis.com/auth/dataplex.read-write": {
          "description": "See, edit, configure, and delete your Google Cloud Dataplex data and see the email address for your Google Account"
        },
        "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."
        },
        "https://www.googleapis.com/auth/dataplex.readonly": {
          "description": "See your Google Cloud Dataplex data and the email address of your Google Account"
        }
      }
    }
  },
  "title": "Cloud Dataplex API",
  "endpoints": [
    {
      "endpointUrl": "https://dataplex.africa-south1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "africa-south1"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.asia-east1.rep.googleapis.com/",
      "location": "asia-east1"
    },
    {
      "location": "asia-east2",
      "endpointUrl": "https://dataplex.asia-east2.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "location": "asia-northeast1",
      "endpointUrl": "https://dataplex.asia-northeast1.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "location": "asia-northeast2",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.asia-northeast2.rep.googleapis.com/"
    },
    {
      "location": "asia-northeast3",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.asia-northeast3.rep.googleapis.com/"
    },
    {
      "location": "asia-south1",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.asia-south1.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://dataplex.asia-south2.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "asia-south2"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.asia-southeast1.rep.googleapis.com/",
      "location": "asia-southeast1"
    },
    {
      "location": "asia-southeast2",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.asia-southeast2.rep.googleapis.com/"
    },
    {
      "location": "asia-southeast3",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.asia-southeast3.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://dataplex.australia-southeast1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "australia-southeast1"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.australia-southeast2.rep.googleapis.com/",
      "location": "australia-southeast2"
    },
    {
      "endpointUrl": "https://dataplex.europe-central2.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "europe-central2"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.europe-north1.rep.googleapis.com/",
      "location": "europe-north1"
    },
    {
      "endpointUrl": "https://dataplex.europe-north2.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "europe-north2"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.europe-southwest1.rep.googleapis.com/",
      "location": "europe-southwest1"
    },
    {
      "location": "europe-west1",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.europe-west1.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.europe-west10.rep.googleapis.com/",
      "location": "europe-west10"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.europe-west12.rep.googleapis.com/",
      "location": "europe-west12"
    },
    {
      "location": "europe-west15",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.europe-west15.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://dataplex.europe-west2.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "europe-west2"
    },
    {
      "location": "europe-west3",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.europe-west3.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.europe-west4.rep.googleapis.com/",
      "location": "europe-west4"
    },
    {
      "location": "europe-west6",
      "endpointUrl": "https://dataplex.europe-west6.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataplex.europe-west8.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "europe-west8"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.europe-west9.rep.googleapis.com/",
      "location": "europe-west9"
    },
    {
      "location": "me-central1",
      "endpointUrl": "https://dataplex.me-central1.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataplex.me-central2.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "me-central2"
    },
    {
      "location": "me-west1",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.me-west1.rep.googleapis.com/"
    },
    {
      "location": "northamerica-northeast1",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.northamerica-northeast1.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://dataplex.northamerica-northeast2.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "northamerica-northeast2"
    },
    {
      "location": "northamerica-south1",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.northamerica-south1.rep.googleapis.com/"
    },
    {
      "location": "southamerica-east1",
      "endpointUrl": "https://dataplex.southamerica-east1.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "location": "southamerica-west1",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.southamerica-west1.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.us-central1.rep.googleapis.com/",
      "location": "us-central1"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.us-central2.rep.googleapis.com/",
      "location": "us-central2"
    },
    {
      "location": "us-east1",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.us-east1.rep.googleapis.com/"
    },
    {
      "location": "us-east4",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.us-east4.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.us-east5.rep.googleapis.com/",
      "location": "us-east5"
    },
    {
      "endpointUrl": "https://dataplex.us-east7.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "us-east7"
    },
    {
      "location": "us-south1",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.us-south1.rep.googleapis.com/"
    },
    {
      "location": "us-west1",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.us-west1.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://dataplex.us-west2.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "us-west2"
    },
    {
      "location": "us-west3",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.us-west3.rep.googleapis.com/"
    },
    {
      "location": "us-west4",
      "endpointUrl": "https://dataplex.us-west4.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataplex.us-west8.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "us-west8"
    },
    {
      "location": "us",
      "endpointUrl": "https://dataplex.us.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.eu.rep.googleapis.com/",
      "location": "eu"
    }
  ],
  "ownerName": "Google",
  "parameters": {
    "quotaUser": {
      "type": "string",
      "location": "query",
      "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."
    },
    "access_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth access token."
    },
    "callback": {
      "type": "string",
      "location": "query",
      "description": "JSONP"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string",
      "location": "query"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "type": "string",
      "location": "query"
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "type": "string",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query"
    },
    "key": {
      "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.",
      "type": "string",
      "location": "query"
    },
    "uploadType": {
      "type": "string",
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "type": "boolean",
      "location": "query"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "type": "string",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query"
    },
    "upload_protocol": {
      "type": "string",
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    }
  },
  "id": "dataplex:v1",
  "protocol": "rest",
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "methods": {
            "lookupEntryLinks": {
              "response": {
                "$ref": "GoogleCloudDataplexV1LookupEntryLinksResponse"
              },
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:lookupEntryLinks",
              "id": "dataplex.projects.locations.lookupEntryLinks",
              "parameters": {
                "name": {
                  "description": "Required. The project to which the request should be attributed to Format: projects/{project_id_or_number}/locations/{location_id}.",
                  "location": "path",
                  "type": "string",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "required": true
                },
                "entryMode": {
                  "location": "query",
                  "type": "string",
                  "enumDescriptions": [
                    "Unspecified entry mode. Returns both directional and non-directional entry links which references the entry.",
                    "Returns all directed entry links which references the entry as source.",
                    "Return all directed entry links which references the entry as target."
                  ],
                  "enum": [
                    "ENTRY_MODE_UNSPECIFIED",
                    "SOURCE",
                    "TARGET"
                  ],
                  "description": "Mode of entry reference."
                },
                "pageSize": {
                  "description": "Maximum number of EntryLinks to return. The service may return fewer than this value. If unspecified, at most 10 EntryLinks will be returned. The maximum value is 10; values above 10 will be coerced to 10.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "entry": {
                  "location": "query",
                  "type": "string",
                  "description": "Required. The resource name of the referred Entry. Format: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}. Entry Links which references this entry will be returned in the response."
                },
                "entryLinkTypes": {
                  "description": "Entry link types to filter the response by. If empty, all entry link types will be returned. At most 10 entry link types can be specified.",
                  "location": "query",
                  "repeated": true,
                  "type": "string"
                },
                "pageToken": {
                  "location": "query",
                  "type": "string",
                  "description": "Page token received from a previous LookupEntryLinks call. Provide this to retrieve the subsequent page. When paginating, all other parameters that are provided to the LookupEntryLinks request must match the call that provided the page token."
                }
              },
              "path": "v1/{+name}:lookupEntryLinks",
              "parameterOrder": [
                "name"
              ],
              "httpMethod": "GET",
              "description": "Looks up Entry Links referencing the specified Entry.",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/dataplex.read-write"
              ]
            },
            "searchEntries": {
              "httpMethod": "POST",
              "description": "Searches for Entries matching the given query and scope.",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/cloud-platform.read-only",
                "https://www.googleapis.com/auth/dataplex.read-write",
                "https://www.googleapis.com/auth/dataplex.readonly"
              ],
              "parameters": {
                "orderBy": {
                  "description": "Optional. Specifies the ordering of results. Supported values are: relevance last_modified_timestamp last_modified_timestamp asc",
                  "location": "query",
                  "type": "string"
                },
                "scope": {
                  "description": "Optional. The scope under which the search should be operating. It must either be organizations/ or projects/. If it is unspecified, it defaults to the organization where the project provided in name is located.",
                  "location": "query",
                  "type": "string"
                },
                "semanticSearch": {
                  "description": "Optional. Specifies whether the search should understand the meaning and intent behind the query, rather than just matching keywords.",
                  "location": "query",
                  "type": "boolean"
                },
                "name": {
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "required": true,
                  "location": "path",
                  "type": "string",
                  "description": "Required. The project to which the request should be attributed in the following form: projects/{project}/locations/global."
                },
                "query": {
                  "description": "Required. The query against which entries in scope should be matched. The query syntax is defined in Search syntax for Dataplex Universal Catalog (https://cloud.google.com/dataplex/docs/search-syntax).",
                  "location": "query",
                  "type": "string"
                },
                "pageToken": {
                  "description": "Optional. Page token received from a previous SearchEntries call. Provide this to retrieve the subsequent page.",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "description": "Optional. 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.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                }
              },
              "id": "dataplex.projects.locations.searchEntries",
              "parameterOrder": [
                "name"
              ],
              "path": "v1/{+name}:searchEntries",
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:searchEntries",
              "response": {
                "$ref": "GoogleCloudDataplexV1SearchEntriesResponse"
              }
            },
            "list": {
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/dataplex.read-write"
              ],
              "httpMethod": "GET",
              "description": "Lists information about the supported locations for this service.This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: Global locations: If name is empty, the method lists the public locations available to all projects. Project-specific locations: If name follows the format projects/{project}, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project.For gRPC and client library implementations, the resource name is passed as the name field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.",
              "path": "v1/{+name}/locations",
              "parameterOrder": [
                "name"
              ],
              "id": "dataplex.projects.locations.list",
              "parameters": {
                "pageToken": {
                  "location": "query",
                  "type": "string",
                  "description": "A page token received from the next_page_token field in the response. Send that page token to receive the subsequent page."
                },
                "pageSize": {
                  "description": "The maximum number of results to return. If not set, the service selects a default.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "filter": {
                  "location": "query",
                  "type": "string",
                  "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in AIP-160 (https://google.aip.dev/160)."
                },
                "name": {
                  "description": "The resource that owns the locations collection, if applicable.",
                  "location": "path",
                  "type": "string",
                  "required": true,
                  "pattern": "^projects/[^/]+$"
                },
                "extraLocationTypes": {
                  "location": "query",
                  "repeated": true,
                  "type": "string",
                  "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage."
                }
              },
              "response": {
                "$ref": "GoogleCloudLocationListLocationsResponse"
              },
              "flatPath": "v1/projects/{projectsId}/locations"
            },
            "lookupEntry": {
              "response": {
                "$ref": "GoogleCloudDataplexV1Entry"
              },
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:lookupEntry",
              "id": "dataplex.projects.locations.lookupEntry",
              "parameters": {
                "view": {
                  "location": "query",
                  "type": "string",
                  "enumDescriptions": [
                    "Unspecified EntryView. Defaults to FULL.",
                    "Returns entry only, without aspects.",
                    "Returns all required aspects as well as the keys of all non-required aspects.",
                    "Returns aspects matching custom fields in GetEntryRequest. If the number of aspects exceeds 100, the first 100 will be returned.",
                    "Returns all aspects. If the number of aspects exceeds 100, the first 100 will be returned."
                  ],
                  "enum": [
                    "ENTRY_VIEW_UNSPECIFIED",
                    "BASIC",
                    "FULL",
                    "CUSTOM",
                    "ALL"
                  ],
                  "description": "Optional. View to control which parts of an entry the service should return."
                },
                "aspectTypes": {
                  "description": "Optional. Limits the aspects returned to the provided aspect types. It only works for CUSTOM view.",
                  "location": "query",
                  "repeated": true,
                  "type": "string"
                },
                "name": {
                  "required": true,
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "description": "Required. The project to which the request should be attributed in the following form: projects/{project}/locations/{location}.",
                  "location": "path",
                  "type": "string"
                },
                "paths": {
                  "location": "query",
                  "repeated": true,
                  "type": "string",
                  "description": "Optional. Limits the aspects returned to those associated with the provided paths within the Entry. It only works for CUSTOM view."
                },
                "entry": {
                  "description": "Required. The resource name of the Entry: projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}.",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/{+name}:lookupEntry",
              "parameterOrder": [
                "name"
              ],
              "httpMethod": "GET",
              "description": "Looks up an entry by name using the permission on the source system.",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/cloud-platform.read-only",
                "https://www.googleapis.com/auth/dataplex.read-write",
                "https://www.googleapis.com/auth/dataplex.readonly"
              ]
            },
            "modifyEntry": {
              "parameters": {
                "name": {
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "required": true,
                  "description": "Required. The project to which the request should be attributed in the following form: projects/{project}/locations/{location}.",
                  "location": "path",
                  "type": "string"
                }
              },
              "id": "dataplex.projects.locations.modifyEntry",
              "parameterOrder": [
                "name"
              ],
              "path": "v1/{+name}:modifyEntry",
              "httpMethod": "POST",
              "description": "Modifies an entry using the permission on the source system.",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/dataplex.read-write"
              ],
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:modifyEntry",
              "request": {
                "$ref": "GoogleCloudDataplexV1ModifyEntryRequest"
              },
              "response": {
                "$ref": "GoogleCloudDataplexV1Entry"
              }
            },
            "lookupContext": {
              "httpMethod": "POST",
              "description": "Looks up LLM Context for the specified resources.",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/cloud-platform.read-only",
                "https://www.googleapis.com/auth/dataplex.read-write",
                "https://www.googleapis.com/auth/dataplex.readonly"
              ],
              "parameters": {
                "name": {
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "required": true,
                  "location": "path",
                  "type": "string",
                  "description": "Required. The project to which the request should be attributed in the following form: projects/{project}/locations/{location}."
                }
              },
              "id": "dataplex.projects.locations.lookupContext",
              "parameterOrder": [
                "name"
              ],
              "path": "v1/{+name}:lookupContext",
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:lookupContext",
              "request": {
                "$ref": "GoogleCloudDataplexV1LookupContextRequest"
              },
              "response": {
                "$ref": "GoogleCloudDataplexV1LookupContextResponse"
              }
            },
            "get": {
              "parameterOrder": [
                "name"
              ],
              "path": "v1/{+name}",
              "parameters": {
                "name": {
                  "location": "path",
                  "type": "string",
                  "description": "Resource name for the location.",
                  "required": true,
                  "pattern": "^projects/[^/]+/locations/[^/]+$"
                }
              },
              "id": "dataplex.projects.locations.get",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/dataplex.read-write"
              ],
              "httpMethod": "GET",
              "description": "Gets information about a location.",
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}",
              "response": {
                "$ref": "GoogleCloudLocationLocation"
              }
            }
          },
          "resources": {
            "entryTypes": {
              "methods": {
                "getIamPolicy": {
                  "id": "dataplex.projects.locations.entryTypes.getIamPolicy",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryTypes/[^/]+$",
                      "required": true,
                      "location": "path",
                      "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."
                    },
                    "options.requestedPolicyVersion": {
                      "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).",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "path": "v1/{+resource}:getIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "httpMethod": "GET",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryTypes/{entryTypesId}:getIamPolicy"
                },
                "delete": {
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataplex.projects.locations.entryTypes.delete",
                  "parameters": {
                    "name": {
                      "description": "Required. The resource name of the EntryType: projects/{project_number}/locations/{location_id}/entryTypes/{entry_type_id}.",
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryTypes/[^/]+$",
                      "required": true
                    },
                    "etag": {
                      "description": "Optional. If the client provided etag value does not match the current etag value, the DeleteEntryTypeRequest method returns an ABORTED error response.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "DELETE",
                  "description": "Deletes an EntryType.",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryTypes/{entryTypesId}"
                },
                "get": {
                  "id": "dataplex.projects.locations.entryTypes.get",
                  "parameters": {
                    "name": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryTypes/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Required. The resource name of the EntryType: projects/{project_number}/locations/{location_id}/entryTypes/{entry_type_id}."
                    }
                  },
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "GET",
                  "description": "Gets an EntryType.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-platform.read-only",
                    "https://www.googleapis.com/auth/dataplex.read-write",
                    "https://www.googleapis.com/auth/dataplex.readonly"
                  ],
                  "response": {
                    "$ref": "GoogleCloudDataplexV1EntryType"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryTypes/{entryTypesId}"
                },
                "patch": {
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryTypes/{entryTypesId}",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1EntryType"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "PATCH",
                  "description": "Updates an EntryType.",
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataplex.projects.locations.entryTypes.patch",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "type": "string",
                      "description": "Output only. The relative resource name of the EntryType, of the form: projects/{project_number}/locations/{location_id}/entryTypes/{entry_type_id}.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryTypes/[^/]+$",
                      "required": true
                    },
                    "validateOnly": {
                      "description": "Optional. The service validates the request without performing any mutations. The default is false.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "updateMask": {
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask",
                      "description": "Required. Mask of fields to update."
                    }
                  }
                },
                "list": {
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListEntryTypesResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryTypes",
                  "httpMethod": "GET",
                  "description": "Lists EntryType resources in a project and location.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-platform.read-only",
                    "https://www.googleapis.com/auth/dataplex.read-write",
                    "https://www.googleapis.com/auth/dataplex.readonly"
                  ],
                  "id": "dataplex.projects.locations.entryTypes.list",
                  "parameters": {
                    "pageSize": {
                      "description": "Optional. Maximum number of EntryTypes to return. The service may return fewer than this value. If unspecified, the service returns at most 10 EntryTypes. The maximum value is 1000; values above 1000 will be coerced to 1000.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "Optional. Page token received from a previous ListEntryTypes call. Provide this to retrieve the subsequent page. When paginating, all other parameters you provided to ListEntryTypes must match the call that provided the page token.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "location": "path",
                      "type": "string",
                      "description": "Required. The resource name of the EntryType location, of the form: projects/{project_number}/locations/{location_id} where location_id refers to a Google Cloud region.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Filter request. Filters are case-sensitive. The service supports the following formats: labels.key1 = \"value1\" labels:key1 name = \"value\"These restrictions can be conjoined with AND, OR, and NOT conjunctions."
                    },
                    "orderBy": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Orders the result by name or create_time fields. If not specified, the ordering is undefined."
                    }
                  },
                  "path": "v1/{+parent}/entryTypes",
                  "parameterOrder": [
                    "parent"
                  ]
                },
                "setIamPolicy": {
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryTypes/{entryTypesId}:setIamPolicy",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "path": "v1/{+resource}:setIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataplex.projects.locations.entryTypes.setIamPolicy",
                  "parameters": {
                    "resource": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryTypes/[^/]+$",
                      "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.",
                      "location": "path",
                      "type": "string"
                    }
                  }
                },
                "create": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/entryTypes",
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "location": "path",
                      "type": "string",
                      "description": "Required. The resource name of the EntryType, of the form: projects/{project_number}/locations/{location_id} where location_id refers to a Google Cloud region."
                    },
                    "entryTypeId": {
                      "location": "query",
                      "type": "string",
                      "description": "Required. EntryType identifier."
                    },
                    "validateOnly": {
                      "description": "Optional. The service validates the request without performing any mutations. The default is false.",
                      "location": "query",
                      "type": "boolean"
                    }
                  },
                  "id": "dataplex.projects.locations.entryTypes.create",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Creates an EntryType.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryTypes",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1EntryType"
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  }
                },
                "testIamPermissions": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryTypes/{entryTypesId}:testIamPermissions",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:testIamPermissions",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryTypes/[^/]+$",
                      "required": true,
                      "location": "path",
                      "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."
                    }
                  },
                  "id": "dataplex.projects.locations.entryTypes.testIamPermissions",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning."
                }
              }
            },
            "dataAttributeBindings": {
              "methods": {
                "testIamPermissions": {
                  "httpMethod": "POST",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "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,
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAttributeBindings/[^/]+$"
                    }
                  },
                  "id": "dataplex.projects.locations.dataAttributeBindings.testIamPermissions",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:testIamPermissions",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataAttributeBindings/{dataAttributeBindingsId}:testIamPermissions",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  }
                },
                "create": {
                  "deprecated": true,
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataAttributeBindings",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1DataAttributeBinding"
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Create a DataAttributeBinding resource.",
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/dataAttributeBindings",
                  "parameters": {
                    "dataAttributeBindingId": {
                      "location": "query",
                      "type": "string",
                      "description": "Required. DataAttributeBinding identifier. * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the Location."
                    },
                    "parent": {
                      "description": "Required. The resource name of the parent data taxonomy projects/{project_number}/locations/{location_id}",
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true
                    },
                    "validateOnly": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                    }
                  },
                  "id": "dataplex.projects.locations.dataAttributeBindings.create"
                },
                "setIamPolicy": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataAttributeBindings/{dataAttributeBindingsId}:setIamPolicy",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "parameters": {
                    "resource": {
                      "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.",
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAttributeBindings/[^/]+$"
                    }
                  },
                  "id": "dataplex.projects.locations.dataAttributeBindings.setIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:setIamPolicy",
                  "httpMethod": "POST",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "list": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/dataAttributeBindings",
                  "parameters": {
                    "parent": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "Required. The resource name of the Location: projects/{project_number}/locations/{location_id}",
                      "location": "path",
                      "type": "string"
                    },
                    "filter": {
                      "description": "Optional. Filter request. Filter using resource: filter=resource:\"resource-name\" Filter using attribute: filter=attributes:\"attribute-name\" Filter using attribute in paths list: filter=paths.attributes:\"attribute-name\"",
                      "location": "query",
                      "type": "string"
                    },
                    "orderBy": {
                      "description": "Optional. Order by fields for the result.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Page token received from a previous ListDataAttributeBindings call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDataAttributeBindings must match the call that provided the page token."
                    },
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "format": "int32",
                      "description": "Optional. Maximum number of DataAttributeBindings to return. The service may return fewer than this value. If unspecified, at most 10 DataAttributeBindings will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000."
                    }
                  },
                  "id": "dataplex.projects.locations.dataAttributeBindings.list",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "GET",
                  "description": "Lists DataAttributeBinding resources in a project and location.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataAttributeBindings",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListDataAttributeBindingsResponse"
                  },
                  "deprecated": true
                },
                "patch": {
                  "deprecated": true,
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataAttributeBindings/{dataAttributeBindingsId}",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1DataAttributeBinding"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "PATCH",
                  "description": "Updates a DataAttributeBinding resource.",
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataplex.projects.locations.dataAttributeBindings.patch",
                  "parameters": {
                    "name": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAttributeBindings/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Output only. The relative resource name of the Data Attribute Binding, of the form: projects/{project_number}/locations/{location}/dataAttributeBindings/{data_attribute_binding_id}"
                    },
                    "validateOnly": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                    },
                    "updateMask": {
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask",
                      "description": "Required. Mask of fields to update."
                    }
                  }
                },
                "delete": {
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataAttributeBindings/{dataAttributeBindingsId}",
                  "deprecated": true,
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataplex.projects.locations.dataAttributeBindings.delete",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAttributeBindings/[^/]+$",
                      "required": true,
                      "location": "path",
                      "type": "string",
                      "description": "Required. The resource name of the DataAttributeBinding: projects/{project_number}/locations/{location_id}/dataAttributeBindings/{data_attribute_binding_id}"
                    },
                    "etag": {
                      "location": "query",
                      "type": "string",
                      "description": "Required. If the client provided etag value does not match the current etag value, the DeleteDataAttributeBindingRequest method returns an ABORTED error response. Etags must be used when calling the DeleteDataAttributeBinding."
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "DELETE",
                  "description": "Deletes a DataAttributeBinding resource. All attributes within the DataAttributeBinding must be deleted before the DataAttributeBinding can be deleted."
                },
                "get": {
                  "parameters": {
                    "name": {
                      "description": "Required. The resource name of the DataAttributeBinding: projects/{project_number}/locations/{location_id}/dataAttributeBindings/{data_attribute_binding_id}",
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAttributeBindings/[^/]+$"
                    }
                  },
                  "id": "dataplex.projects.locations.dataAttributeBindings.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "httpMethod": "GET",
                  "description": "Retrieves a DataAttributeBinding resource.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataAttributeBindings/{dataAttributeBindingsId}",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1DataAttributeBinding"
                  },
                  "deprecated": true
                },
                "getIamPolicy": {
                  "httpMethod": "GET",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAttributeBindings/[^/]+$",
                      "required": true,
                      "location": "path",
                      "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."
                    },
                    "options.requestedPolicyVersion": {
                      "location": "query",
                      "type": "integer",
                      "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)."
                    }
                  },
                  "id": "dataplex.projects.locations.dataAttributeBindings.getIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:getIamPolicy",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataAttributeBindings/{dataAttributeBindingsId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  }
                }
              }
            },
            "entryLinkTypes": {
              "methods": {
                "testIamPermissions": {
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryLinkTypes/{entryLinkTypesId}:testIamPermissions",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "id": "dataplex.projects.locations.entryLinkTypes.testIamPermissions",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryLinkTypes/[^/]+$",
                      "required": true,
                      "location": "path",
                      "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."
                    }
                  },
                  "path": "v1/{+resource}:testIamPermissions",
                  "parameterOrder": [
                    "resource"
                  ],
                  "httpMethod": "POST",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "setIamPolicy": {
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryLinkTypes/{entryLinkTypesId}:setIamPolicy",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "path": "v1/{+resource}:setIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataplex.projects.locations.entryLinkTypes.setIamPolicy",
                  "parameters": {
                    "resource": {
                      "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.",
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryLinkTypes/[^/]+$",
                      "required": true
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors."
                },
                "getIamPolicy": {
                  "path": "v1/{+resource}:getIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataplex.projects.locations.entryLinkTypes.getIamPolicy",
                  "parameters": {
                    "resource": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryLinkTypes/[^/]+$",
                      "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.",
                      "location": "path",
                      "type": "string"
                    },
                    "options.requestedPolicyVersion": {
                      "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).",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "GET",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryLinkTypes/{entryLinkTypesId}:getIamPolicy"
                }
              }
            },
            "aspectTypes": {
              "methods": {
                "patch": {
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/aspectTypes/{aspectTypesId}",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1AspectType"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "PATCH",
                  "description": "Updates an AspectType.",
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataplex.projects.locations.aspectTypes.patch",
                  "parameters": {
                    "name": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/aspectTypes/[^/]+$",
                      "description": "Output only. The relative resource name of the AspectType, of the form: projects/{project_number}/locations/{location_id}/aspectTypes/{aspect_type_id}.",
                      "location": "path",
                      "type": "string"
                    },
                    "validateOnly": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                    },
                    "updateMask": {
                      "description": "Required. Mask of fields to update.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    }
                  }
                },
                "delete": {
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataplex.projects.locations.aspectTypes.delete",
                  "parameters": {
                    "name": {
                      "description": "Required. The resource name of the AspectType: projects/{project_number}/locations/{location_id}/aspectTypes/{aspect_type_id}.",
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/aspectTypes/[^/]+$"
                    },
                    "etag": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. If the client provided etag value does not match the current etag value, the DeleteAspectTypeRequest method returns an ABORTED error response."
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "DELETE",
                  "description": "Deletes an AspectType.",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/aspectTypes/{aspectTypesId}"
                },
                "get": {
                  "httpMethod": "GET",
                  "description": "Gets an AspectType.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-platform.read-only",
                    "https://www.googleapis.com/auth/dataplex.read-write",
                    "https://www.googleapis.com/auth/dataplex.readonly"
                  ],
                  "id": "dataplex.projects.locations.aspectTypes.get",
                  "parameters": {
                    "name": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/aspectTypes/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Required. The resource name of the AspectType: projects/{project_number}/locations/{location_id}/aspectTypes/{aspect_type_id}."
                    }
                  },
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "GoogleCloudDataplexV1AspectType"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/aspectTypes/{aspectTypesId}"
                },
                "getIamPolicy": {
                  "httpMethod": "GET",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/aspectTypes/[^/]+$",
                      "required": true,
                      "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.",
                      "location": "path",
                      "type": "string"
                    },
                    "options.requestedPolicyVersion": {
                      "location": "query",
                      "type": "integer",
                      "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)."
                    }
                  },
                  "id": "dataplex.projects.locations.aspectTypes.getIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:getIamPolicy",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/aspectTypes/{aspectTypesId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  }
                },
                "create": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/aspectTypes",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1AspectType"
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "parameters": {
                    "parent": {
                      "description": "Required. The resource name of the AspectType, of the form: projects/{project_number}/locations/{location_id} where location_id refers to a Google Cloud region.",
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true
                    },
                    "aspectTypeId": {
                      "description": "Required. AspectType identifier.",
                      "location": "query",
                      "type": "string"
                    },
                    "validateOnly": {
                      "description": "Optional. The service validates the request without performing any mutations. The default is false.",
                      "location": "query",
                      "type": "boolean"
                    }
                  },
                  "id": "dataplex.projects.locations.aspectTypes.create",
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/aspectTypes",
                  "httpMethod": "POST",
                  "description": "Creates an AspectType.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "testIamPermissions": {
                  "httpMethod": "POST",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "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.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/aspectTypes/[^/]+$",
                      "required": true
                    }
                  },
                  "id": "dataplex.projects.locations.aspectTypes.testIamPermissions",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:testIamPermissions",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/aspectTypes/{aspectTypesId}:testIamPermissions",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  }
                },
                "list": {
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListAspectTypesResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/aspectTypes",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-platform.read-only",
                    "https://www.googleapis.com/auth/dataplex.read-write",
                    "https://www.googleapis.com/auth/dataplex.readonly"
                  ],
                  "httpMethod": "GET",
                  "description": "Lists AspectType resources in a project and location.",
                  "path": "v1/{+parent}/aspectTypes",
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "dataplex.projects.locations.aspectTypes.list",
                  "parameters": {
                    "parent": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "Required. The resource name of the AspectType location, of the form: projects/{project_number}/locations/{location_id} where location_id refers to a Google Cloud region.",
                      "location": "path",
                      "type": "string"
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Filter request. Filters are case-sensitive. The service supports the following formats: labels.key1 = \"value1\" labels:key1 name = \"value\"These restrictions can be conjoined with AND, OR, and NOT conjunctions."
                    },
                    "orderBy": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Orders the result by name or create_time fields. If not specified, the ordering is undefined."
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Page token received from a previous ListAspectTypes call. Provide this to retrieve the subsequent page. When paginating, all other parameters you provide to ListAspectTypes must match the call that provided the page token."
                    },
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "format": "int32",
                      "description": "Optional. Maximum number of AspectTypes to return. The service may return fewer than this value. If unspecified, the service returns at most 10 AspectTypes. The maximum value is 1000; values above 1000 will be coerced to 1000."
                    }
                  }
                },
                "setIamPolicy": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/aspectTypes/{aspectTypesId}:setIamPolicy",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "parameters": {
                    "resource": {
                      "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.",
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/aspectTypes/[^/]+$",
                      "required": true
                    }
                  },
                  "id": "dataplex.projects.locations.aspectTypes.setIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:setIamPolicy",
                  "httpMethod": "POST",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                }
              }
            },
            "governanceRules": {
              "methods": {
                "testIamPermissions": {
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/governanceRules/{governanceRulesId}:testIamPermissions",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                  "path": "v1/{+resource}:testIamPermissions",
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataplex.projects.locations.governanceRules.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.",
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/governanceRules/[^/]+$"
                    }
                  }
                },
                "setIamPolicy": {
                  "httpMethod": "POST",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.governanceRules.setIamPolicy",
                  "parameters": {
                    "resource": {
                      "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.",
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/governanceRules/[^/]+$",
                      "required": true
                    }
                  },
                  "path": "v1/{+resource}:setIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/governanceRules/{governanceRulesId}:setIamPolicy",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  }
                },
                "getIamPolicy": {
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "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,
                      "pattern": "^projects/[^/]+/locations/[^/]+/governanceRules/[^/]+$"
                    },
                    "options.requestedPolicyVersion": {
                      "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).",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "id": "dataplex.projects.locations.governanceRules.getIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:getIamPolicy",
                  "httpMethod": "GET",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/governanceRules/{governanceRulesId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  }
                }
              }
            },
            "dataDomains": {
              "methods": {
                "setIamPolicy": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:setIamPolicy",
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "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.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+$",
                      "required": true
                    }
                  },
                  "id": "dataplex.projects.locations.dataDomains.setIamPolicy",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}:setIamPolicy",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  }
                },
                "getIamPolicy": {
                  "path": "v1/{+resource}:getIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataplex.projects.locations.dataDomains.getIamPolicy",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+$",
                      "required": true,
                      "location": "path",
                      "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."
                    },
                    "options.requestedPolicyVersion": {
                      "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).",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "GET",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}:getIamPolicy"
                },
                "testIamPermissions": {
                  "httpMethod": "POST",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "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.",
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+$",
                      "required": true
                    }
                  },
                  "id": "dataplex.projects.locations.dataDomains.testIamPermissions",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:testIamPermissions",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}:testIamPermissions",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  }
                }
              }
            },
            "glossaries": {
              "methods": {
                "create": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1Glossary"
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/glossaries",
                  "parameters": {
                    "glossaryId": {
                      "description": "Required. Glossary ID: Glossary identifier.",
                      "location": "query",
                      "type": "string"
                    },
                    "validateOnly": {
                      "description": "Optional. Validates the request without actually creating the Glossary. Default: false.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "parent": {
                      "location": "path",
                      "type": "string",
                      "description": "Required. The parent resource where this Glossary will be created. Format: projects/{project_id_or_number}/locations/{location_id} where location_id refers to a Google Cloud region.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true
                    }
                  },
                  "id": "dataplex.projects.locations.glossaries.create",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Creates a new Glossary resource."
                },
                "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.",
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$",
                      "required": true
                    }
                  },
                  "id": "dataplex.projects.locations.glossaries.testIamPermissions",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:testIamPermissions",
                  "httpMethod": "POST",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}:testIamPermissions",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  }
                },
                "list": {
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListGlossariesResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-platform.read-only",
                    "https://www.googleapis.com/auth/dataplex.read-write",
                    "https://www.googleapis.com/auth/dataplex.readonly"
                  ],
                  "httpMethod": "GET",
                  "description": "Lists Glossary resources in a project and location.",
                  "path": "v1/{+parent}/glossaries",
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "dataplex.projects.locations.glossaries.list",
                  "parameters": {
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Filter expression that filters Glossaries listed in the response. Filters on proto fields of Glossary are supported. Examples of using a filter are: - display_name=\"my-glossary\" - categoryCount=1 - termCount=0"
                    },
                    "orderBy": {
                      "description": "Optional. Order by expression that orders Glossaries listed in the response. Order by fields are: name or create_time for the result. If not specified, the ordering is undefined.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "location": "path",
                      "type": "string",
                      "description": "Required. The parent, which has this collection of Glossaries. Format: projects/{project_id_or_number}/locations/{location_id} where location_id refers to a Google Cloud region."
                    },
                    "pageSize": {
                      "description": "Optional. The maximum number of Glossaries to return. The service may return fewer than this value. If unspecified, at most 50 Glossaries will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. A page token, received from a previous ListGlossaries call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListGlossaries must match the call that provided the page token."
                    }
                  }
                },
                "setIamPolicy": {
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$",
                      "required": true,
                      "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.",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "id": "dataplex.projects.locations.glossaries.setIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:setIamPolicy",
                  "httpMethod": "POST",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}:setIamPolicy",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  }
                },
                "delete": {
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}",
                  "httpMethod": "DELETE",
                  "description": "Deletes a Glossary resource. All the categories and terms within the Glossary must be deleted before the Glossary can be deleted.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.glossaries.delete",
                  "parameters": {
                    "name": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$",
                      "description": "Required. The name of the Glossary to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}",
                      "location": "path",
                      "type": "string"
                    },
                    "etag": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. The etag of the Glossary. If this is provided, it must match the server's etag. If the etag is provided and does not match the server-computed etag, the request must fail with a ABORTED error code."
                    }
                  },
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "get": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1Glossary"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$",
                      "required": true,
                      "description": "Required. The name of the Glossary to retrieve. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "id": "dataplex.projects.locations.glossaries.get",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-platform.read-only",
                    "https://www.googleapis.com/auth/dataplex.read-write",
                    "https://www.googleapis.com/auth/dataplex.readonly"
                  ],
                  "httpMethod": "GET",
                  "description": "Gets a Glossary resource."
                },
                "getIamPolicy": {
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:getIamPolicy",
                  "parameters": {
                    "resource": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$",
                      "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.",
                      "location": "path",
                      "type": "string"
                    },
                    "options.requestedPolicyVersion": {
                      "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).",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "id": "dataplex.projects.locations.glossaries.getIamPolicy",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "GET",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  }
                },
                "patch": {
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1Glossary"
                  },
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataplex.projects.locations.glossaries.patch",
                  "parameters": {
                    "updateMask": {
                      "description": "Required. The list of fields to update.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    },
                    "name": {
                      "location": "path",
                      "type": "string",
                      "description": "Output only. Identifier. The resource name of the Glossary. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}",
                      "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$",
                      "required": true
                    },
                    "validateOnly": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. Validates the request without actually updating the Glossary. Default: false."
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "PATCH",
                  "description": "Updates a Glossary resource."
                }
              },
              "resources": {
                "categories": {
                  "methods": {
                    "create": {
                      "response": {
                        "$ref": "GoogleCloudDataplexV1GlossaryCategory"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1GlossaryCategory"
                      },
                      "path": "v1/{+parent}/categories",
                      "parameterOrder": [
                        "parent"
                      ],
                      "id": "dataplex.projects.locations.glossaries.categories.create",
                      "parameters": {
                        "parent": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$",
                          "description": "Required. The parent resource where this GlossaryCategory will be created. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} where locationId refers to a Google Cloud region.",
                          "location": "path",
                          "type": "string"
                        },
                        "categoryId": {
                          "description": "Required. GlossaryCategory identifier.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "POST",
                      "description": "Creates a new GlossaryCategory resource."
                    },
                    "testIamPermissions": {
                      "httpMethod": "POST",
                      "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "id": "dataplex.projects.locations.glossaries.categories.testIamPermissions",
                      "parameters": {
                        "resource": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/categories/[^/]+$",
                          "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.",
                          "location": "path",
                          "type": "string"
                        }
                      },
                      "path": "v1/{+resource}:testIamPermissions",
                      "parameterOrder": [
                        "resource"
                      ],
                      "response": {
                        "$ref": "GoogleIamV1TestIamPermissionsResponse"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories/{categoriesId}:testIamPermissions",
                      "request": {
                        "$ref": "GoogleIamV1TestIamPermissionsRequest"
                      }
                    },
                    "list": {
                      "response": {
                        "$ref": "GoogleCloudDataplexV1ListGlossaryCategoriesResponse"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories",
                      "httpMethod": "GET",
                      "description": "Lists GlossaryCategory resources in a Glossary.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/cloud-platform.read-only",
                        "https://www.googleapis.com/auth/dataplex.read-write",
                        "https://www.googleapis.com/auth/dataplex.readonly"
                      ],
                      "id": "dataplex.projects.locations.glossaries.categories.list",
                      "parameters": {
                        "parent": {
                          "description": "Required. The parent, which has this collection of GlossaryCategories. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} Location is the Google Cloud region.",
                          "location": "path",
                          "type": "string",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$"
                        },
                        "filter": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. Filter expression that filters GlossaryCategories listed in the response. Filters are supported on the following fields: - immediate_parentExamples of using a filter are: - immediate_parent=\"projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}\" - immediate_parent=\"projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}\"This will only return the GlossaryCategories that are directly nested under the specified parent."
                        },
                        "orderBy": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. Order by expression that orders GlossaryCategories listed in the response. Order by fields are: name or create_time for the result. If not specified, the ordering is undefined."
                        },
                        "pageToken": {
                          "description": "Optional. A page token, received from a previous ListGlossaryCategories call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListGlossaryCategories must match the call that provided the page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "pageSize": {
                          "location": "query",
                          "type": "integer",
                          "format": "int32",
                          "description": "Optional. The maximum number of GlossaryCategories to return. The service may return fewer than this value. If unspecified, at most 50 GlossaryCategories will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000."
                        }
                      },
                      "path": "v1/{+parent}/categories",
                      "parameterOrder": [
                        "parent"
                      ]
                    },
                    "setIamPolicy": {
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories/{categoriesId}:setIamPolicy",
                      "request": {
                        "$ref": "GoogleIamV1SetIamPolicyRequest"
                      },
                      "id": "dataplex.projects.locations.glossaries.categories.setIamPolicy",
                      "parameters": {
                        "resource": {
                          "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.",
                          "location": "path",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/categories/[^/]+$",
                          "required": true
                        }
                      },
                      "path": "v1/{+resource}:setIamPolicy",
                      "parameterOrder": [
                        "resource"
                      ],
                      "httpMethod": "POST",
                      "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    },
                    "patch": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories/{categoriesId}",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1GlossaryCategory"
                      },
                      "response": {
                        "$ref": "GoogleCloudDataplexV1GlossaryCategory"
                      },
                      "parameters": {
                        "updateMask": {
                          "description": "Required. The list of fields to update.",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        },
                        "name": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/categories/[^/]+$",
                          "location": "path",
                          "type": "string",
                          "description": "Output only. Identifier. The resource name of the GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}"
                        }
                      },
                      "id": "dataplex.projects.locations.glossaries.categories.patch",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "httpMethod": "PATCH",
                      "description": "Updates a GlossaryCategory resource.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    },
                    "delete": {
                      "path": "v1/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "id": "dataplex.projects.locations.glossaries.categories.delete",
                      "parameters": {
                        "name": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/categories/[^/]+$",
                          "description": "Required. The name of the GlossaryCategory to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}",
                          "location": "path",
                          "type": "string"
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "DELETE",
                      "description": "Deletes a GlossaryCategory resource. All the GlossaryCategories and GlossaryTerms nested directly under the specified GlossaryCategory will be moved one level up to the parent in the hierarchy.",
                      "response": {
                        "$ref": "Empty"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories/{categoriesId}"
                    },
                    "get": {
                      "response": {
                        "$ref": "GoogleCloudDataplexV1GlossaryCategory"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories/{categoriesId}",
                      "httpMethod": "GET",
                      "description": "Gets a GlossaryCategory resource.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/cloud-platform.read-only",
                        "https://www.googleapis.com/auth/dataplex.read-write",
                        "https://www.googleapis.com/auth/dataplex.readonly"
                      ],
                      "id": "dataplex.projects.locations.glossaries.categories.get",
                      "parameters": {
                        "name": {
                          "location": "path",
                          "type": "string",
                          "description": "Required. The name of the GlossaryCategory to retrieve. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/categories/[^/]+$",
                          "required": true
                        }
                      },
                      "path": "v1/{+name}",
                      "parameterOrder": [
                        "name"
                      ]
                    },
                    "getIamPolicy": {
                      "httpMethod": "GET",
                      "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "id": "dataplex.projects.locations.glossaries.categories.getIamPolicy",
                      "parameters": {
                        "resource": {
                          "location": "path",
                          "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.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/categories/[^/]+$",
                          "required": true
                        },
                        "options.requestedPolicyVersion": {
                          "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).",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        }
                      },
                      "path": "v1/{+resource}:getIamPolicy",
                      "parameterOrder": [
                        "resource"
                      ],
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories/{categoriesId}:getIamPolicy"
                    }
                  }
                },
                "terms": {
                  "methods": {
                    "delete": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "DELETE",
                      "description": "Deletes a GlossaryTerm resource.",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/terms/[^/]+$",
                          "required": true,
                          "location": "path",
                          "type": "string",
                          "description": "Required. The name of the GlossaryTerm to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}"
                        }
                      },
                      "id": "dataplex.projects.locations.glossaries.terms.delete",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms/{termsId}",
                      "response": {
                        "$ref": "Empty"
                      }
                    },
                    "get": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/cloud-platform.read-only",
                        "https://www.googleapis.com/auth/dataplex.read-write",
                        "https://www.googleapis.com/auth/dataplex.readonly"
                      ],
                      "httpMethod": "GET",
                      "description": "Gets a GlossaryTerm resource.",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "parameters": {
                        "name": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/terms/[^/]+$",
                          "location": "path",
                          "type": "string",
                          "description": "Required. The name of the GlossaryTerm to retrieve. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}"
                        }
                      },
                      "id": "dataplex.projects.locations.glossaries.terms.get",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms/{termsId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1GlossaryTerm"
                      }
                    },
                    "getIamPolicy": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms/{termsId}:getIamPolicy",
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "httpMethod": "GET",
                      "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "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.",
                          "location": "path",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/terms/[^/]+$",
                          "required": true
                        },
                        "options.requestedPolicyVersion": {
                          "location": "query",
                          "type": "integer",
                          "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)."
                        }
                      },
                      "id": "dataplex.projects.locations.glossaries.terms.getIamPolicy",
                      "parameterOrder": [
                        "resource"
                      ],
                      "path": "v1/{+resource}:getIamPolicy"
                    },
                    "patch": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms/{termsId}",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1GlossaryTerm"
                      },
                      "response": {
                        "$ref": "GoogleCloudDataplexV1GlossaryTerm"
                      },
                      "parameters": {
                        "name": {
                          "location": "path",
                          "type": "string",
                          "description": "Output only. Identifier. The resource name of the GlossaryTerm. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/terms/[^/]+$",
                          "required": true
                        },
                        "updateMask": {
                          "description": "Required. The list of fields to update.",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        }
                      },
                      "id": "dataplex.projects.locations.glossaries.terms.patch",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "httpMethod": "PATCH",
                      "description": "Updates a GlossaryTerm resource.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    },
                    "create": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1GlossaryTerm"
                      },
                      "response": {
                        "$ref": "GoogleCloudDataplexV1GlossaryTerm"
                      },
                      "parameters": {
                        "parent": {
                          "description": "Required. The parent resource where the GlossaryTerm will be created. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} where location_id refers to a Google Cloud region.",
                          "location": "path",
                          "type": "string",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$"
                        },
                        "termId": {
                          "location": "query",
                          "type": "string",
                          "description": "Required. GlossaryTerm identifier."
                        }
                      },
                      "id": "dataplex.projects.locations.glossaries.terms.create",
                      "parameterOrder": [
                        "parent"
                      ],
                      "path": "v1/{+parent}/terms",
                      "httpMethod": "POST",
                      "description": "Creates a new GlossaryTerm resource.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    },
                    "testIamPermissions": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "POST",
                      "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                      "parameterOrder": [
                        "resource"
                      ],
                      "path": "v1/{+resource}:testIamPermissions",
                      "parameters": {
                        "resource": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/terms/[^/]+$",
                          "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.",
                          "location": "path",
                          "type": "string"
                        }
                      },
                      "id": "dataplex.projects.locations.glossaries.terms.testIamPermissions",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms/{termsId}:testIamPermissions",
                      "request": {
                        "$ref": "GoogleIamV1TestIamPermissionsRequest"
                      },
                      "response": {
                        "$ref": "GoogleIamV1TestIamPermissionsResponse"
                      }
                    },
                    "list": {
                      "response": {
                        "$ref": "GoogleCloudDataplexV1ListGlossaryTermsResponse"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms",
                      "id": "dataplex.projects.locations.glossaries.terms.list",
                      "parameters": {
                        "filter": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. Filter expression that filters GlossaryTerms listed in the response. Filters are supported on the following fields: - immediate_parentExamples of using a filter are: - immediate_parent=\"projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}\" - immediate_parent=\"projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}\"This will only return the GlossaryTerms that are directly nested under the specified parent."
                        },
                        "orderBy": {
                          "description": "Optional. Order by expression that orders GlossaryTerms listed in the response. Order by fields are: name or create_time for the result. If not specified, the ordering is undefined.",
                          "location": "query",
                          "type": "string"
                        },
                        "parent": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$",
                          "description": "Required. The parent, which has this collection of GlossaryTerms. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} where location_id refers to a Google Cloud region.",
                          "location": "path",
                          "type": "string"
                        },
                        "pageToken": {
                          "description": "Optional. A page token, received from a previous ListGlossaryTerms call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListGlossaryTerms must match the call that provided the page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "pageSize": {
                          "location": "query",
                          "type": "integer",
                          "format": "int32",
                          "description": "Optional. The maximum number of GlossaryTerms to return. The service may return fewer than this value. If unspecified, at most 50 GlossaryTerms will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000."
                        }
                      },
                      "path": "v1/{+parent}/terms",
                      "parameterOrder": [
                        "parent"
                      ],
                      "httpMethod": "GET",
                      "description": "Lists GlossaryTerm resources in a Glossary.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/cloud-platform.read-only",
                        "https://www.googleapis.com/auth/dataplex.read-write",
                        "https://www.googleapis.com/auth/dataplex.readonly"
                      ]
                    },
                    "setIamPolicy": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms/{termsId}:setIamPolicy",
                      "request": {
                        "$ref": "GoogleIamV1SetIamPolicyRequest"
                      },
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "POST",
                      "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                      "parameterOrder": [
                        "resource"
                      ],
                      "path": "v1/{+resource}:setIamPolicy",
                      "parameters": {
                        "resource": {
                          "location": "path",
                          "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.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/terms/[^/]+$",
                          "required": true
                        }
                      },
                      "id": "dataplex.projects.locations.glossaries.terms.setIamPolicy"
                    }
                  }
                }
              }
            },
            "lakes": {
              "methods": {
                "patch": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1Lake"
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "PATCH",
                  "description": "Updates a lake resource.",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "type": "string",
                      "description": "Output only. The relative resource name of the lake, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$",
                      "required": true
                    },
                    "validateOnly": {
                      "description": "Optional. Only validate the request, but do not perform mutations. The default is false.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "updateMask": {
                      "description": "Required. Mask of fields to update.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    }
                  },
                  "id": "dataplex.projects.locations.lakes.patch"
                },
                "getIamPolicy": {
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "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,
                      "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$"
                    },
                    "options.requestedPolicyVersion": {
                      "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).",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "id": "dataplex.projects.locations.lakes.getIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:getIamPolicy",
                  "httpMethod": "GET",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  }
                },
                "delete": {
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}",
                  "id": "dataplex.projects.locations.lakes.delete",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$",
                      "required": true,
                      "description": "Required. The resource name of the lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "DELETE",
                  "description": "Deletes a lake resource. All zones within the lake must be deleted before the lake can be deleted.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "get": {
                  "response": {
                    "$ref": "GoogleCloudDataplexV1Lake"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}",
                  "id": "dataplex.projects.locations.lakes.get",
                  "parameters": {
                    "name": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$",
                      "description": "Required. The resource name of the lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "GET",
                  "description": "Retrieves a lake resource.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-platform.read-only",
                    "https://www.googleapis.com/auth/dataplex.read-write",
                    "https://www.googleapis.com/auth/dataplex.readonly"
                  ]
                },
                "setIamPolicy": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "path": "v1/{+resource}:setIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataplex.projects.locations.lakes.setIamPolicy",
                  "parameters": {
                    "resource": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$",
                      "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.",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}:setIamPolicy",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  }
                },
                "list": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListLakesResponse"
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/lakes",
                  "parameters": {
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Filter request."
                    },
                    "orderBy": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Order by fields for the result."
                    },
                    "parent": {
                      "location": "path",
                      "type": "string",
                      "description": "Required. The resource name of the lake location, of the form: projects/{project_number}/locations/{location_id} where location_id refers to a Google Cloud region.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Page token received from a previous ListLakes call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListLakes must match the call that provided the page token."
                    },
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "format": "int32",
                      "description": "Optional. Maximum number of Lakes to return. The service may return fewer than this value. If unspecified, at most 10 lakes will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000."
                    }
                  },
                  "id": "dataplex.projects.locations.lakes.list",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-platform.read-only",
                    "https://www.googleapis.com/auth/dataplex.read-write",
                    "https://www.googleapis.com/auth/dataplex.readonly"
                  ],
                  "httpMethod": "GET",
                  "description": "Lists lake resources in a project and location."
                },
                "testIamPermissions": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}:testIamPermissions",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "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,
                      "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$"
                    }
                  },
                  "id": "dataplex.projects.locations.lakes.testIamPermissions",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:testIamPermissions",
                  "httpMethod": "POST",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "create": {
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1Lake"
                  },
                  "httpMethod": "POST",
                  "description": "Creates a lake resource.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.lakes.create",
                  "parameters": {
                    "lakeId": {
                      "location": "query",
                      "type": "string",
                      "description": "Required. Lake identifier. This ID will be used to generate names such as database and dataset names when publishing metadata to Hive Metastore and BigQuery. * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must end with a number or a letter. * Must be between 1-63 characters. * Must be unique within the customer project / location."
                    },
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "description": "Required. The resource name of the lake location, of the form: projects/{project_number}/locations/{location_id} where location_id refers to a Google Cloud region.",
                      "location": "path",
                      "type": "string"
                    },
                    "validateOnly": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                    }
                  },
                  "path": "v1/{+parent}/lakes",
                  "parameterOrder": [
                    "parent"
                  ]
                }
              },
              "resources": {
                "tasks": {
                  "methods": {
                    "getIamPolicy": {
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}:getIamPolicy",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "GET",
                      "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                      "path": "v1/{+resource}:getIamPolicy",
                      "parameterOrder": [
                        "resource"
                      ],
                      "id": "dataplex.projects.locations.lakes.tasks.getIamPolicy",
                      "parameters": {
                        "resource": {
                          "location": "path",
                          "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.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$",
                          "required": true
                        },
                        "options.requestedPolicyVersion": {
                          "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).",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        }
                      }
                    },
                    "patch": {
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1Task"
                      },
                      "id": "dataplex.projects.locations.lakes.tasks.patch",
                      "parameters": {
                        "updateMask": {
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask",
                          "description": "Required. Mask of fields to update."
                        },
                        "name": {
                          "location": "path",
                          "type": "string",
                          "description": "Output only. The relative resource name of the task, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/ tasks/{task_id}.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$",
                          "required": true
                        },
                        "validateOnly": {
                          "description": "Optional. Only validate the request, but do not perform mutations. The default is false.",
                          "location": "query",
                          "type": "boolean"
                        }
                      },
                      "path": "v1/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "PATCH",
                      "description": "Update the task resource.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    },
                    "list": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/cloud-platform.read-only",
                        "https://www.googleapis.com/auth/dataplex.read-write",
                        "https://www.googleapis.com/auth/dataplex.readonly"
                      ],
                      "httpMethod": "GET",
                      "description": "Lists tasks under the given lake.",
                      "path": "v1/{+parent}/tasks",
                      "parameterOrder": [
                        "parent"
                      ],
                      "id": "dataplex.projects.locations.lakes.tasks.list",
                      "parameters": {
                        "parent": {
                          "description": "Required. The resource name of the parent lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.",
                          "location": "path",
                          "type": "string",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$"
                        },
                        "filter": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. Filter request."
                        },
                        "orderBy": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. Order by fields for the result."
                        },
                        "pageToken": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. Page token received from a previous ListZones call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListZones must match the call that provided the page token."
                        },
                        "pageSize": {
                          "location": "query",
                          "type": "integer",
                          "format": "int32",
                          "description": "Optional. Maximum number of tasks to return. The service may return fewer than this value. If unspecified, at most 10 tasks will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000."
                        }
                      },
                      "response": {
                        "$ref": "GoogleCloudDataplexV1ListTasksResponse"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks"
                    },
                    "create": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1Task"
                      },
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "parameters": {
                        "taskId": {
                          "description": "Required. Task identifier.",
                          "location": "query",
                          "type": "string"
                        },
                        "validateOnly": {
                          "description": "Optional. Only validate the request, but do not perform mutations. The default is false.",
                          "location": "query",
                          "type": "boolean"
                        },
                        "parent": {
                          "description": "Required. The resource name of the parent lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.",
                          "location": "path",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$",
                          "required": true
                        }
                      },
                      "id": "dataplex.projects.locations.lakes.tasks.create",
                      "parameterOrder": [
                        "parent"
                      ],
                      "path": "v1/{+parent}/tasks",
                      "httpMethod": "POST",
                      "description": "Creates a task resource within a lake.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    },
                    "delete": {
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}",
                      "id": "dataplex.projects.locations.lakes.tasks.delete",
                      "parameters": {
                        "name": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$",
                          "location": "path",
                          "type": "string",
                          "description": "Required. The resource name of the task: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/task/{task_id}."
                        }
                      },
                      "path": "v1/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "DELETE",
                      "description": "Delete the task resource.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    },
                    "get": {
                      "httpMethod": "GET",
                      "description": "Get task resource.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/cloud-platform.read-only",
                        "https://www.googleapis.com/auth/dataplex.read-write",
                        "https://www.googleapis.com/auth/dataplex.readonly"
                      ],
                      "id": "dataplex.projects.locations.lakes.tasks.get",
                      "parameters": {
                        "name": {
                          "location": "path",
                          "type": "string",
                          "description": "Required. The resource name of the task: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/tasks/{tasks_id}.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$",
                          "required": true
                        }
                      },
                      "path": "v1/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "GoogleCloudDataplexV1Task"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}"
                    },
                    "run": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}:run",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1RunTaskRequest"
                      },
                      "response": {
                        "$ref": "GoogleCloudDataplexV1RunTaskResponse"
                      },
                      "httpMethod": "POST",
                      "description": "Run an on demand execution of a Task.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "parameters": {
                        "name": {
                          "description": "Required. The resource name of the task: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/tasks/{task_id}.",
                          "location": "path",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$",
                          "required": true
                        }
                      },
                      "id": "dataplex.projects.locations.lakes.tasks.run",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}:run"
                    },
                    "setIamPolicy": {
                      "httpMethod": "POST",
                      "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "id": "dataplex.projects.locations.lakes.tasks.setIamPolicy",
                      "parameters": {
                        "resource": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$",
                          "required": true,
                          "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.",
                          "location": "path",
                          "type": "string"
                        }
                      },
                      "path": "v1/{+resource}:setIamPolicy",
                      "parameterOrder": [
                        "resource"
                      ],
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}:setIamPolicy",
                      "request": {
                        "$ref": "GoogleIamV1SetIamPolicyRequest"
                      }
                    },
                    "testIamPermissions": {
                      "parameterOrder": [
                        "resource"
                      ],
                      "path": "v1/{+resource}:testIamPermissions",
                      "parameters": {
                        "resource": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$",
                          "required": true,
                          "location": "path",
                          "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."
                        }
                      },
                      "id": "dataplex.projects.locations.lakes.tasks.testIamPermissions",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "POST",
                      "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}:testIamPermissions",
                      "request": {
                        "$ref": "GoogleIamV1TestIamPermissionsRequest"
                      },
                      "response": {
                        "$ref": "GoogleIamV1TestIamPermissionsResponse"
                      }
                    }
                  },
                  "resources": {
                    "jobs": {
                      "methods": {
                        "get": {
                          "response": {
                            "$ref": "GoogleCloudDataplexV1Job"
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}/jobs/{jobsId}",
                          "httpMethod": "GET",
                          "description": "Get job resource.",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/cloud-platform.read-only",
                            "https://www.googleapis.com/auth/dataplex.read-write",
                            "https://www.googleapis.com/auth/dataplex.readonly"
                          ],
                          "id": "dataplex.projects.locations.lakes.tasks.jobs.get",
                          "parameters": {
                            "name": {
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+/jobs/[^/]+$",
                              "required": true,
                              "location": "path",
                              "type": "string",
                              "description": "Required. The resource name of the job: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/tasks/{task_id}/jobs/{job_id}."
                            }
                          },
                          "path": "v1/{+name}",
                          "parameterOrder": [
                            "name"
                          ]
                        },
                        "list": {
                          "response": {
                            "$ref": "GoogleCloudDataplexV1ListJobsResponse"
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}/jobs",
                          "id": "dataplex.projects.locations.lakes.tasks.jobs.list",
                          "parameters": {
                            "parent": {
                              "description": "Required. The resource name of the parent environment: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/tasks/{task_id}.",
                              "location": "path",
                              "type": "string",
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$",
                              "required": true
                            },
                            "pageToken": {
                              "location": "query",
                              "type": "string",
                              "description": "Optional. Page token received from a previous ListJobs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListJobs must match the call that provided the page token."
                            },
                            "pageSize": {
                              "location": "query",
                              "type": "integer",
                              "format": "int32",
                              "description": "Optional. Maximum number of jobs to return. The service may return fewer than this value. If unspecified, at most 10 jobs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000."
                            }
                          },
                          "path": "v1/{+parent}/jobs",
                          "parameterOrder": [
                            "parent"
                          ],
                          "httpMethod": "GET",
                          "description": "Lists Jobs under the given task.",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/cloud-platform.read-only",
                            "https://www.googleapis.com/auth/dataplex.read-write",
                            "https://www.googleapis.com/auth/dataplex.readonly"
                          ]
                        },
                        "cancel": {
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}/jobs/{jobsId}:cancel",
                          "request": {
                            "$ref": "GoogleCloudDataplexV1CancelJobRequest"
                          },
                          "response": {
                            "$ref": "Empty"
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "path": "v1/{+name}:cancel",
                          "parameters": {
                            "name": {
                              "required": true,
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+/jobs/[^/]+$",
                              "description": "Required. The resource name of the job: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/task/{task_id}/job/{job_id}.",
                              "location": "path",
                              "type": "string"
                            }
                          },
                          "id": "dataplex.projects.locations.lakes.tasks.jobs.cancel",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "httpMethod": "POST",
                          "description": "Cancel jobs running for the task resource."
                        }
                      }
                    }
                  }
                },
                "actions": {
                  "methods": {
                    "list": {
                      "parameters": {
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$",
                          "required": true,
                          "description": "Required. The resource name of the parent lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.",
                          "location": "path",
                          "type": "string"
                        },
                        "pageSize": {
                          "location": "query",
                          "type": "integer",
                          "format": "int32",
                          "description": "Optional. Maximum number of actions to return. The service may return fewer than this value. If unspecified, at most 10 actions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000."
                        },
                        "pageToken": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. Page token received from a previous ListLakeActions call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListLakeActions must match the call that provided the page token."
                        }
                      },
                      "id": "dataplex.projects.locations.lakes.actions.list",
                      "parameterOrder": [
                        "parent"
                      ],
                      "path": "v1/{+parent}/actions",
                      "httpMethod": "GET",
                      "description": "Lists action resources in a lake.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/cloud-platform.read-only",
                        "https://www.googleapis.com/auth/dataplex.read-write",
                        "https://www.googleapis.com/auth/dataplex.readonly"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/actions",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1ListActionsResponse"
                      }
                    }
                  }
                },
                "zones": {
                  "methods": {
                    "delete": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "DELETE",
                      "description": "Deletes a zone resource. All assets within a zone must be deleted before the zone can be deleted.",
                      "path": "v1/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "id": "dataplex.projects.locations.lakes.zones.delete",
                      "parameters": {
                        "name": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$",
                          "description": "Required. The resource name of the zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.",
                          "location": "path",
                          "type": "string"
                        }
                      },
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}"
                    },
                    "get": {
                      "httpMethod": "GET",
                      "description": "Retrieves a zone resource.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/cloud-platform.read-only",
                        "https://www.googleapis.com/auth/dataplex.read-write",
                        "https://www.googleapis.com/auth/dataplex.readonly"
                      ],
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$",
                          "required": true,
                          "description": "Required. The resource name of the zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.",
                          "location": "path",
                          "type": "string"
                        }
                      },
                      "id": "dataplex.projects.locations.lakes.zones.get",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1Zone"
                      }
                    },
                    "getIamPolicy": {
                      "parameterOrder": [
                        "resource"
                      ],
                      "path": "v1/{+resource}:getIamPolicy",
                      "parameters": {
                        "resource": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$",
                          "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.",
                          "location": "path",
                          "type": "string"
                        },
                        "options.requestedPolicyVersion": {
                          "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).",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        }
                      },
                      "id": "dataplex.projects.locations.lakes.zones.getIamPolicy",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "GET",
                      "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}:getIamPolicy",
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      }
                    },
                    "patch": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1Zone"
                      },
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "PATCH",
                      "description": "Updates a zone resource.",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "parameters": {
                        "name": {
                          "location": "path",
                          "type": "string",
                          "description": "Output only. The relative resource name of the zone, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$"
                        },
                        "validateOnly": {
                          "location": "query",
                          "type": "boolean",
                          "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                        },
                        "updateMask": {
                          "description": "Required. Mask of fields to update.",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        }
                      },
                      "id": "dataplex.projects.locations.lakes.zones.patch"
                    },
                    "testIamPermissions": {
                      "id": "dataplex.projects.locations.lakes.zones.testIamPermissions",
                      "parameters": {
                        "resource": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$",
                          "location": "path",
                          "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."
                        }
                      },
                      "path": "v1/{+resource}:testIamPermissions",
                      "parameterOrder": [
                        "resource"
                      ],
                      "httpMethod": "POST",
                      "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "response": {
                        "$ref": "GoogleIamV1TestIamPermissionsResponse"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}:testIamPermissions",
                      "request": {
                        "$ref": "GoogleIamV1TestIamPermissionsRequest"
                      }
                    },
                    "create": {
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1Zone"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "POST",
                      "description": "Creates a zone resource within a lake.",
                      "path": "v1/{+parent}/zones",
                      "parameterOrder": [
                        "parent"
                      ],
                      "id": "dataplex.projects.locations.lakes.zones.create",
                      "parameters": {
                        "parent": {
                          "location": "path",
                          "type": "string",
                          "description": "Required. The resource name of the parent lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$"
                        },
                        "zoneId": {
                          "description": "Required. Zone identifier. This ID will be used to generate names such as database and dataset names when publishing metadata to Hive Metastore and BigQuery. * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must end with a number or a letter. * Must be between 1-63 characters. * Must be unique across all lakes from all locations in a project. * Must not be one of the reserved IDs (i.e. \"default\", \"global-temp\")",
                          "location": "query",
                          "type": "string"
                        },
                        "validateOnly": {
                          "description": "Optional. Only validate the request, but do not perform mutations. The default is false.",
                          "location": "query",
                          "type": "boolean"
                        }
                      }
                    },
                    "setIamPolicy": {
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}:setIamPolicy",
                      "request": {
                        "$ref": "GoogleIamV1SetIamPolicyRequest"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "POST",
                      "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                      "path": "v1/{+resource}:setIamPolicy",
                      "parameterOrder": [
                        "resource"
                      ],
                      "id": "dataplex.projects.locations.lakes.zones.setIamPolicy",
                      "parameters": {
                        "resource": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$",
                          "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.",
                          "location": "path",
                          "type": "string"
                        }
                      }
                    },
                    "list": {
                      "httpMethod": "GET",
                      "description": "Lists zone resources in a lake.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/cloud-platform.read-only",
                        "https://www.googleapis.com/auth/dataplex.read-write",
                        "https://www.googleapis.com/auth/dataplex.readonly"
                      ],
                      "parameters": {
                        "pageSize": {
                          "location": "query",
                          "type": "integer",
                          "format": "int32",
                          "description": "Optional. Maximum number of zones to return. The service may return fewer than this value. If unspecified, at most 10 zones will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000."
                        },
                        "pageToken": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. Page token received from a previous ListZones call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListZones must match the call that provided the page token."
                        },
                        "parent": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$",
                          "location": "path",
                          "type": "string",
                          "description": "Required. The resource name of the parent lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}."
                        },
                        "filter": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. Filter request."
                        },
                        "orderBy": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. Order by fields for the result."
                        }
                      },
                      "id": "dataplex.projects.locations.lakes.zones.list",
                      "parameterOrder": [
                        "parent"
                      ],
                      "path": "v1/{+parent}/zones",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1ListZonesResponse"
                      }
                    }
                  },
                  "resources": {
                    "assets": {
                      "methods": {
                        "testIamPermissions": {
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}:testIamPermissions",
                          "request": {
                            "$ref": "GoogleIamV1TestIamPermissionsRequest"
                          },
                          "response": {
                            "$ref": "GoogleIamV1TestIamPermissionsResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "httpMethod": "POST",
                          "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                          "parameterOrder": [
                            "resource"
                          ],
                          "path": "v1/{+resource}:testIamPermissions",
                          "parameters": {
                            "resource": {
                              "location": "path",
                              "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.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$",
                              "required": true
                            }
                          },
                          "id": "dataplex.projects.locations.lakes.zones.assets.testIamPermissions"
                        },
                        "create": {
                          "parameterOrder": [
                            "parent"
                          ],
                          "path": "v1/{+parent}/assets",
                          "parameters": {
                            "validateOnly": {
                              "location": "query",
                              "type": "boolean",
                              "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                            },
                            "parent": {
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$",
                              "required": true,
                              "description": "Required. The resource name of the parent zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.",
                              "location": "path",
                              "type": "string"
                            },
                            "assetId": {
                              "description": "Required. Asset identifier. This ID will be used to generate names such as table names when publishing metadata to Hive Metastore and BigQuery. * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must end with a number or a letter. * Must be between 1-63 characters. * Must be unique within the zone.",
                              "location": "query",
                              "type": "string"
                            }
                          },
                          "id": "dataplex.projects.locations.lakes.zones.assets.create",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "httpMethod": "POST",
                          "description": "Creates an asset resource.",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets",
                          "request": {
                            "$ref": "GoogleCloudDataplexV1Asset"
                          },
                          "response": {
                            "$ref": "GoogleLongrunningOperation"
                          }
                        },
                        "setIamPolicy": {
                          "parameterOrder": [
                            "resource"
                          ],
                          "path": "v1/{+resource}:setIamPolicy",
                          "parameters": {
                            "resource": {
                              "location": "path",
                              "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.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$",
                              "required": true
                            }
                          },
                          "id": "dataplex.projects.locations.lakes.zones.assets.setIamPolicy",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "httpMethod": "POST",
                          "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}:setIamPolicy",
                          "request": {
                            "$ref": "GoogleIamV1SetIamPolicyRequest"
                          },
                          "response": {
                            "$ref": "GoogleIamV1Policy"
                          }
                        },
                        "list": {
                          "httpMethod": "GET",
                          "description": "Lists asset resources in a zone.",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/cloud-platform.read-only",
                            "https://www.googleapis.com/auth/dataplex.read-write",
                            "https://www.googleapis.com/auth/dataplex.readonly"
                          ],
                          "id": "dataplex.projects.locations.lakes.zones.assets.list",
                          "parameters": {
                            "filter": {
                              "description": "Optional. Filter request.",
                              "location": "query",
                              "type": "string"
                            },
                            "orderBy": {
                              "description": "Optional. Order by fields for the result.",
                              "location": "query",
                              "type": "string"
                            },
                            "parent": {
                              "location": "path",
                              "type": "string",
                              "description": "Required. The resource name of the parent zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$",
                              "required": true
                            },
                            "pageSize": {
                              "description": "Optional. Maximum number of asset to return. The service may return fewer than this value. If unspecified, at most 10 assets will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.",
                              "location": "query",
                              "type": "integer",
                              "format": "int32"
                            },
                            "pageToken": {
                              "description": "Optional. Page token received from a previous ListAssets call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListAssets must match the call that provided the page token.",
                              "location": "query",
                              "type": "string"
                            }
                          },
                          "path": "v1/{+parent}/assets",
                          "parameterOrder": [
                            "parent"
                          ],
                          "response": {
                            "$ref": "GoogleCloudDataplexV1ListAssetsResponse"
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets"
                        },
                        "delete": {
                          "httpMethod": "DELETE",
                          "description": "Deletes an asset resource. The referenced storage resource is detached (default) or deleted based on the associated Lifecycle policy.",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "parameters": {
                            "name": {
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$",
                              "required": true,
                              "location": "path",
                              "type": "string",
                              "description": "Required. The resource name of the asset: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}."
                            }
                          },
                          "id": "dataplex.projects.locations.lakes.zones.assets.delete",
                          "parameterOrder": [
                            "name"
                          ],
                          "path": "v1/{+name}",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}",
                          "response": {
                            "$ref": "GoogleLongrunningOperation"
                          }
                        },
                        "get": {
                          "response": {
                            "$ref": "GoogleCloudDataplexV1Asset"
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}",
                          "id": "dataplex.projects.locations.lakes.zones.assets.get",
                          "parameters": {
                            "name": {
                              "location": "path",
                              "type": "string",
                              "description": "Required. The resource name of the asset: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}.",
                              "required": true,
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$"
                            }
                          },
                          "path": "v1/{+name}",
                          "parameterOrder": [
                            "name"
                          ],
                          "httpMethod": "GET",
                          "description": "Retrieves an asset resource.",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/cloud-platform.read-only",
                            "https://www.googleapis.com/auth/dataplex.read-write",
                            "https://www.googleapis.com/auth/dataplex.readonly"
                          ]
                        },
                        "getIamPolicy": {
                          "path": "v1/{+resource}:getIamPolicy",
                          "parameterOrder": [
                            "resource"
                          ],
                          "id": "dataplex.projects.locations.lakes.zones.assets.getIamPolicy",
                          "parameters": {
                            "resource": {
                              "location": "path",
                              "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,
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$"
                            },
                            "options.requestedPolicyVersion": {
                              "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).",
                              "location": "query",
                              "type": "integer",
                              "format": "int32"
                            }
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "httpMethod": "GET",
                          "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                          "response": {
                            "$ref": "GoogleIamV1Policy"
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}:getIamPolicy"
                        },
                        "patch": {
                          "parameterOrder": [
                            "name"
                          ],
                          "path": "v1/{+name}",
                          "parameters": {
                            "updateMask": {
                              "location": "query",
                              "type": "string",
                              "format": "google-fieldmask",
                              "description": "Required. Mask of fields to update."
                            },
                            "name": {
                              "location": "path",
                              "type": "string",
                              "description": "Output only. The relative resource name of the asset, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}.",
                              "required": true,
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$"
                            },
                            "validateOnly": {
                              "description": "Optional. Only validate the request, but do not perform mutations. The default is false.",
                              "location": "query",
                              "type": "boolean"
                            }
                          },
                          "id": "dataplex.projects.locations.lakes.zones.assets.patch",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "httpMethod": "PATCH",
                          "description": "Updates an asset resource.",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}",
                          "request": {
                            "$ref": "GoogleCloudDataplexV1Asset"
                          },
                          "response": {
                            "$ref": "GoogleLongrunningOperation"
                          }
                        }
                      },
                      "resources": {
                        "actions": {
                          "methods": {
                            "list": {
                              "parameters": {
                                "pageToken": {
                                  "location": "query",
                                  "type": "string",
                                  "description": "Optional. Page token received from a previous ListAssetActions call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListAssetActions must match the call that provided the page token."
                                },
                                "pageSize": {
                                  "description": "Optional. Maximum number of actions to return. The service may return fewer than this value. If unspecified, at most 10 actions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.",
                                  "location": "query",
                                  "type": "integer",
                                  "format": "int32"
                                },
                                "parent": {
                                  "location": "path",
                                  "type": "string",
                                  "description": "Required. The resource name of the parent asset: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}.",
                                  "required": true,
                                  "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$"
                                }
                              },
                              "id": "dataplex.projects.locations.lakes.zones.assets.actions.list",
                              "parameterOrder": [
                                "parent"
                              ],
                              "path": "v1/{+parent}/actions",
                              "httpMethod": "GET",
                              "description": "Lists action resources in an asset.",
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform",
                                "https://www.googleapis.com/auth/cloud-platform.read-only",
                                "https://www.googleapis.com/auth/dataplex.read-write",
                                "https://www.googleapis.com/auth/dataplex.readonly"
                              ],
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}/actions",
                              "response": {
                                "$ref": "GoogleCloudDataplexV1ListActionsResponse"
                              }
                            }
                          }
                        }
                      }
                    },
                    "actions": {
                      "methods": {
                        "list": {
                          "response": {
                            "$ref": "GoogleCloudDataplexV1ListActionsResponse"
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/actions",
                          "httpMethod": "GET",
                          "description": "Lists action resources in a zone.",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/cloud-platform.read-only",
                            "https://www.googleapis.com/auth/dataplex.read-write",
                            "https://www.googleapis.com/auth/dataplex.readonly"
                          ],
                          "id": "dataplex.projects.locations.lakes.zones.actions.list",
                          "parameters": {
                            "parent": {
                              "description": "Required. The resource name of the parent zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.",
                              "location": "path",
                              "type": "string",
                              "required": true,
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$"
                            },
                            "pageSize": {
                              "location": "query",
                              "type": "integer",
                              "format": "int32",
                              "description": "Optional. Maximum number of actions to return. The service may return fewer than this value. If unspecified, at most 10 actions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000."
                            },
                            "pageToken": {
                              "description": "Optional. Page token received from a previous ListZoneActions call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListZoneActions must match the call that provided the page token.",
                              "location": "query",
                              "type": "string"
                            }
                          },
                          "path": "v1/{+parent}/actions",
                          "parameterOrder": [
                            "parent"
                          ]
                        }
                      }
                    },
                    "entities": {
                      "methods": {
                        "update": {
                          "response": {
                            "$ref": "GoogleCloudDataplexV1Entity"
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}",
                          "request": {
                            "$ref": "GoogleCloudDataplexV1Entity"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "httpMethod": "PUT",
                          "description": "Update a metadata entity. Only supports full resource update.",
                          "path": "v1/{+name}",
                          "parameterOrder": [
                            "name"
                          ],
                          "id": "dataplex.projects.locations.lakes.zones.entities.update",
                          "parameters": {
                            "name": {
                              "location": "path",
                              "type": "string",
                              "description": "Output only. The resource name of the entity, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{id}.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+$",
                              "required": true
                            },
                            "validateOnly": {
                              "location": "query",
                              "type": "boolean",
                              "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                            }
                          }
                        },
                        "delete": {
                          "response": {
                            "$ref": "Empty"
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "httpMethod": "DELETE",
                          "description": "Delete a metadata entity.",
                          "path": "v1/{+name}",
                          "parameterOrder": [
                            "name"
                          ],
                          "id": "dataplex.projects.locations.lakes.zones.entities.delete",
                          "parameters": {
                            "name": {
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+$",
                              "required": true,
                              "description": "Required. The resource name of the entity: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}.",
                              "location": "path",
                              "type": "string"
                            },
                            "etag": {
                              "description": "Required. The etag associated with the entity, which can be retrieved with a GetEntity request.",
                              "location": "query",
                              "type": "string"
                            }
                          }
                        },
                        "get": {
                          "response": {
                            "$ref": "GoogleCloudDataplexV1Entity"
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "httpMethod": "GET",
                          "description": "Get a metadata entity.",
                          "path": "v1/{+name}",
                          "parameterOrder": [
                            "name"
                          ],
                          "id": "dataplex.projects.locations.lakes.zones.entities.get",
                          "parameters": {
                            "name": {
                              "location": "path",
                              "type": "string",
                              "description": "Required. The resource name of the entity: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+$",
                              "required": true
                            },
                            "view": {
                              "description": "Optional. Used to select the subset of entity information to return. Defaults to BASIC.",
                              "location": "query",
                              "type": "string",
                              "enumDescriptions": [
                                "The API will default to the BASIC view.",
                                "Minimal view that does not include the schema.",
                                "Include basic information and schema.",
                                "Include everything. Currently, this is the same as the SCHEMA view."
                              ],
                              "enum": [
                                "ENTITY_VIEW_UNSPECIFIED",
                                "BASIC",
                                "SCHEMA",
                                "FULL"
                              ]
                            }
                          }
                        },
                        "list": {
                          "response": {
                            "$ref": "GoogleCloudDataplexV1ListEntitiesResponse"
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "httpMethod": "GET",
                          "description": "List metadata entities in a zone.",
                          "path": "v1/{+parent}/entities",
                          "parameterOrder": [
                            "parent"
                          ],
                          "id": "dataplex.projects.locations.lakes.zones.entities.list",
                          "parameters": {
                            "pageToken": {
                              "description": "Optional. Page token received from a previous ListEntities call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListEntities must match the call that provided the page token.",
                              "location": "query",
                              "type": "string"
                            },
                            "pageSize": {
                              "description": "Optional. Maximum number of entities to return. The service may return fewer than this value. If unspecified, 100 entities will be returned by default. The maximum value is 500; larger values will will be truncated to 500.",
                              "location": "query",
                              "type": "integer",
                              "format": "int32"
                            },
                            "parent": {
                              "description": "Required. The resource name of the parent zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.",
                              "location": "path",
                              "type": "string",
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$",
                              "required": true
                            },
                            "view": {
                              "description": "Required. Specify the entity view to make a partial list request.",
                              "location": "query",
                              "type": "string",
                              "enumDescriptions": [
                                "The default unset value. Return both table and fileset entities if unspecified.",
                                "Only list table entities.",
                                "Only list fileset entities."
                              ],
                              "enum": [
                                "ENTITY_VIEW_UNSPECIFIED",
                                "TABLES",
                                "FILESETS"
                              ]
                            },
                            "filter": {
                              "description": "Optional. The following filter parameters can be added to the URL to limit the entities returned by the API: Entity ID: ?filter=\"id=entityID\" Asset ID: ?filter=\"asset=assetID\" Data path ?filter=\"data_path=gs://my-bucket\" Is HIVE compatible: ?filter=\"hive_compatible=true\" Is BigQuery compatible: ?filter=\"bigquery_compatible=true\"",
                              "location": "query",
                              "type": "string"
                            }
                          }
                        },
                        "create": {
                          "response": {
                            "$ref": "GoogleCloudDataplexV1Entity"
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities",
                          "request": {
                            "$ref": "GoogleCloudDataplexV1Entity"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "httpMethod": "POST",
                          "description": "Create a metadata entity.",
                          "path": "v1/{+parent}/entities",
                          "parameterOrder": [
                            "parent"
                          ],
                          "id": "dataplex.projects.locations.lakes.zones.entities.create",
                          "parameters": {
                            "validateOnly": {
                              "location": "query",
                              "type": "boolean",
                              "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                            },
                            "parent": {
                              "location": "path",
                              "type": "string",
                              "description": "Required. The resource name of the parent zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$",
                              "required": true
                            }
                          }
                        }
                      },
                      "resources": {
                        "partitions": {
                          "methods": {
                            "list": {
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}/partitions",
                              "response": {
                                "$ref": "GoogleCloudDataplexV1ListPartitionsResponse"
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform",
                                "https://www.googleapis.com/auth/dataplex.read-write"
                              ],
                              "httpMethod": "GET",
                              "description": "List metadata partitions of an entity.",
                              "parameterOrder": [
                                "parent"
                              ],
                              "path": "v1/{+parent}/partitions",
                              "parameters": {
                                "pageSize": {
                                  "description": "Optional. Maximum number of partitions to return. The service may return fewer than this value. If unspecified, 100 partitions will be returned by default. The maximum page size is 500; larger values will will be truncated to 500.",
                                  "location": "query",
                                  "type": "integer",
                                  "format": "int32"
                                },
                                "filter": {
                                  "location": "query",
                                  "type": "string",
                                  "description": "Optional. Filter the partitions returned to the caller using a key value pair expression. Supported operators and syntax: logic operators: AND, OR comparison operators: \u003c, \u003e, \u003e=, \u003c= ,=, != LIKE operators: The right hand of a LIKE operator supports \".\" and \"*\" for wildcard searches, for example \"value1 LIKE \".*oo.*\" parenthetical grouping: ( )Sample filter expression: `?filter=\"key1 \u003c value1 OR key2 \u003e value2\"Notes: Keys to the left of operators are case insensitive. Partition results are sorted first by creation time, then by lexicographic order. Up to 20 key value filter pairs are allowed, but due to performance considerations, only the first 10 will be used as a filter."
                                },
                                "pageToken": {
                                  "description": "Optional. Page token received from a previous ListPartitions call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListPartitions must match the call that provided the page token.",
                                  "location": "query",
                                  "type": "string"
                                },
                                "parent": {
                                  "location": "path",
                                  "type": "string",
                                  "description": "Required. The resource name of the parent entity: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}.",
                                  "required": true,
                                  "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+$"
                                }
                              },
                              "id": "dataplex.projects.locations.lakes.zones.entities.partitions.list"
                            },
                            "create": {
                              "httpMethod": "POST",
                              "description": "Create a metadata partition.",
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform",
                                "https://www.googleapis.com/auth/dataplex.read-write"
                              ],
                              "parameters": {
                                "validateOnly": {
                                  "description": "Optional. Only validate the request, but do not perform mutations. The default is false.",
                                  "location": "query",
                                  "type": "boolean"
                                },
                                "parent": {
                                  "required": true,
                                  "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+$",
                                  "description": "Required. The resource name of the parent zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}.",
                                  "location": "path",
                                  "type": "string"
                                }
                              },
                              "id": "dataplex.projects.locations.lakes.zones.entities.partitions.create",
                              "parameterOrder": [
                                "parent"
                              ],
                              "path": "v1/{+parent}/partitions",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}/partitions",
                              "request": {
                                "$ref": "GoogleCloudDataplexV1Partition"
                              },
                              "response": {
                                "$ref": "GoogleCloudDataplexV1Partition"
                              }
                            },
                            "delete": {
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform",
                                "https://www.googleapis.com/auth/dataplex.read-write"
                              ],
                              "httpMethod": "DELETE",
                              "description": "Delete a metadata partition.",
                              "parameterOrder": [
                                "name"
                              ],
                              "path": "v1/{+name}",
                              "parameters": {
                                "name": {
                                  "required": true,
                                  "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+/partitions/.*$",
                                  "location": "path",
                                  "type": "string",
                                  "description": "Required. The resource name of the partition. format: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}/partitions/{partition_value_path}. The {partition_value_path} segment consists of an ordered sequence of partition values separated by \"/\". All values must be provided."
                                },
                                "etag": {
                                  "description": "Optional. The etag associated with the partition.",
                                  "location": "query",
                                  "deprecated": true,
                                  "type": "string"
                                }
                              },
                              "id": "dataplex.projects.locations.lakes.zones.entities.partitions.delete",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}/partitions/{partitionsId}",
                              "response": {
                                "$ref": "Empty"
                              }
                            },
                            "get": {
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}/partitions/{partitionsId}",
                              "response": {
                                "$ref": "GoogleCloudDataplexV1Partition"
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform",
                                "https://www.googleapis.com/auth/dataplex.read-write"
                              ],
                              "httpMethod": "GET",
                              "description": "Get a metadata partition of an entity.",
                              "parameterOrder": [
                                "name"
                              ],
                              "path": "v1/{+name}",
                              "parameters": {
                                "name": {
                                  "location": "path",
                                  "type": "string",
                                  "description": "Required. The resource name of the partition: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}/partitions/{partition_value_path}. The {partition_value_path} segment consists of an ordered sequence of partition values separated by \"/\". All values must be provided.",
                                  "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+/partitions/.*$",
                                  "required": true
                                }
                              },
                              "id": "dataplex.projects.locations.lakes.zones.entities.partitions.get"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "metadataJobs": {
              "methods": {
                "create": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Creates a metadata job. For example, use a metadata job to import metadata from a third-party system into Dataplex Universal Catalog.",
                  "path": "v1/{+parent}/metadataJobs",
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "dataplex.projects.locations.metadataJobs.create",
                  "parameters": {
                    "validateOnly": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. The service validates the request without performing any mutations. The default is false."
                    },
                    "parent": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "Required. The resource name of the parent location, in the format projects/{project_id_or_number}/locations/{location_id}",
                      "location": "path",
                      "type": "string"
                    },
                    "metadataJobId": {
                      "description": "Optional. The metadata job ID. If not provided, a unique ID is generated with the prefix metadata-job-.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataJobs",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1MetadataJob"
                  }
                },
                "get": {
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "type": "string",
                      "description": "Required. The resource name of the metadata job, in the format projects/{project_id_or_number}/locations/{location_id}/metadataJobs/{metadata_job_id}.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/metadataJobs/[^/]+$",
                      "required": true
                    }
                  },
                  "id": "dataplex.projects.locations.metadataJobs.get",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "GET",
                  "description": "Gets a metadata job.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataJobs/{metadataJobsId}",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1MetadataJob"
                  }
                },
                "list": {
                  "httpMethod": "GET",
                  "description": "Lists metadata jobs.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.metadataJobs.list",
                  "parameters": {
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "format": "int32",
                      "description": "Optional. The maximum number of metadata jobs to return. The service might return fewer jobs than this value. If unspecified, at most 10 jobs are returned. The maximum value is 1,000."
                    },
                    "pageToken": {
                      "description": "Optional. The page token received from a previous ListMetadataJobs call. Provide this token to retrieve the subsequent page of results. When paginating, all other parameters that are provided to the ListMetadataJobs request must match the call that provided the page token.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "location": "path",
                      "type": "string",
                      "description": "Required. The resource name of the parent location, in the format projects/{project_id_or_number}/locations/{location_id}",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Filter request. Filters are case-sensitive. The service supports the following formats: labels.key1 = \"value1\" labels:key1 name = \"value\"You can combine filters with AND, OR, and NOT operators."
                    },
                    "orderBy": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. The field to sort the results by, either name or create_time. If not specified, the ordering is undefined."
                    }
                  },
                  "path": "v1/{+parent}/metadataJobs",
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListMetadataJobsResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataJobs"
                },
                "cancel": {
                  "httpMethod": "POST",
                  "description": "Cancels a metadata job.If you cancel a metadata import job that is in progress, the changes in the job might be partially applied. We recommend that you reset the state of the entry groups in your project by running another metadata job that reverts the changes from the canceled job.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "name": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/metadataJobs/[^/]+$",
                      "description": "Required. The resource name of the job, in the format projects/{project_id_or_number}/locations/{location_id}/metadataJobs/{metadata_job_id}",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "id": "dataplex.projects.locations.metadataJobs.cancel",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}:cancel",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataJobs/{metadataJobsId}:cancel",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1CancelMetadataJobRequest"
                  },
                  "response": {
                    "$ref": "Empty"
                  }
                }
              }
            },
            "metadataFeeds": {
              "methods": {
                "patch": {
                  "httpMethod": "PATCH",
                  "description": "Updates a MetadataFeed.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "updateMask": {
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask",
                      "description": "Optional. Mask of fields to update."
                    },
                    "name": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/metadataFeeds/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Identifier. The resource name of the metadata feed, in the format projects/{project_id_or_number}/locations/{location_id}/metadataFeeds/{metadata_feed_id}."
                    },
                    "validateOnly": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                    }
                  },
                  "id": "dataplex.projects.locations.metadataFeeds.patch",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataFeeds/{metadataFeedsId}",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1MetadataFeed"
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  }
                },
                "get": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataFeeds/{metadataFeedsId}",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1MetadataFeed"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "GET",
                  "description": "Gets a MetadataFeed.",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/metadataFeeds/[^/]+$",
                      "description": "Required. The resource name of the metadata feed, in the format projects/{project_id_or_number}/locations/{location_id}/MetadataFeeds/{metadata_feed_id}.",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "id": "dataplex.projects.locations.metadataFeeds.get"
                },
                "delete": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataFeeds/{metadataFeedsId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "httpMethod": "DELETE",
                  "description": "Deletes a MetadataFeed.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "name": {
                      "description": "Required. The resource name of the metadata feed, in the format projects/{project_id_or_number}/locations/{location_id}/MetadataFeeds/{metadata_feed_id}.",
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/metadataFeeds/[^/]+$"
                    }
                  },
                  "id": "dataplex.projects.locations.metadataFeeds.delete",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}"
                },
                "create": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataFeeds",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1MetadataFeed"
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/metadataFeeds",
                  "parameters": {
                    "validateOnly": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. The service validates the request without performing any mutations. The default is false."
                    },
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "location": "path",
                      "type": "string",
                      "description": "Required. The resource name of the parent location, in the format projects/{project_id_or_number}/locations/{location_id}"
                    },
                    "metadataFeedId": {
                      "description": "Optional. The metadata job ID. If not provided, a unique ID is generated with the prefix metadata-job-.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "id": "dataplex.projects.locations.metadataFeeds.create",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Creates a MetadataFeed."
                },
                "list": {
                  "httpMethod": "GET",
                  "description": "Retrieve a list of MetadataFeeds.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.metadataFeeds.list",
                  "parameters": {
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Filter request. Filters are case-sensitive. The service supports the following formats: labels.key1 = \"value1\" labels:key1 name = \"value\"You can combine filters with AND, OR, and NOT operators."
                    },
                    "orderBy": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. The field to sort the results by, either name or create_time. If not specified, the ordering is undefined."
                    },
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "location": "path",
                      "type": "string",
                      "description": "Required. The resource name of the parent location, in the format projects/{project_id_or_number}/locations/{location_id}"
                    },
                    "pageToken": {
                      "description": "Optional. The page token received from a previous ListMetadataFeeds call. Provide this token to retrieve the subsequent page of results. When paginating, all other parameters that are provided to the ListMetadataFeeds request must match the call that provided the page token.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "Optional. The maximum number of metadata feeds to return. The service might return fewer feeds than this value. If unspecified, at most 10 feeds are returned. The maximum value is 1,000.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "path": "v1/{+parent}/metadataFeeds",
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListMetadataFeedsResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataFeeds"
                }
              }
            },
            "entryGroups": {
              "methods": {
                "create": {
                  "path": "v1/{+parent}/entryGroups",
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "dataplex.projects.locations.entryGroups.create",
                  "parameters": {
                    "validateOnly": {
                      "description": "Optional. The service validates the request without performing any mutations. The default is false.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "parent": {
                      "location": "path",
                      "type": "string",
                      "description": "Required. The resource name of the entryGroup, of the form: projects/{project_number}/locations/{location_id} where location_id refers to a Google Cloud region.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true
                    },
                    "entryGroupId": {
                      "location": "query",
                      "type": "string",
                      "description": "Required. EntryGroup identifier."
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Creates an EntryGroup.",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1EntryGroup"
                  }
                },
                "testIamPermissions": {
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:testIamPermissions",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "path": "v1/{+resource}:testIamPermissions",
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataplex.projects.locations.entryGroups.testIamPermissions",
                  "parameters": {
                    "resource": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                      "location": "path",
                      "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."
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning."
                },
                "list": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-platform.read-only",
                    "https://www.googleapis.com/auth/dataplex.read-write",
                    "https://www.googleapis.com/auth/dataplex.readonly"
                  ],
                  "httpMethod": "GET",
                  "description": "Lists EntryGroup resources in a project and location.",
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/entryGroups",
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "description": "Required. The resource name of the entryGroup location, of the form: projects/{project_number}/locations/{location_id} where location_id refers to a Google Cloud region.",
                      "location": "path",
                      "type": "string"
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Filter request."
                    },
                    "orderBy": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Order by fields for the result."
                    },
                    "pageSize": {
                      "description": "Optional. Maximum number of EntryGroups to return. The service may return fewer than this value. If unspecified, the service returns at most 10 EntryGroups. The maximum value is 1000; values above 1000 will be coerced to 1000.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Page token received from a previous ListEntryGroups call. Provide this to retrieve the subsequent page. When paginating, all other parameters you provide to ListEntryGroups must match the call that provided the page token."
                    }
                  },
                  "id": "dataplex.projects.locations.entryGroups.list",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListEntryGroupsResponse"
                  }
                },
                "setIamPolicy": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "path": "v1/{+resource}:setIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataplex.projects.locations.entryGroups.setIamPolicy",
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "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.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                      "required": true
                    }
                  },
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:setIamPolicy",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  }
                },
                "delete": {
                  "httpMethod": "DELETE",
                  "description": "Deletes an EntryGroup.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.entryGroups.delete",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "type": "string",
                      "description": "Required. The resource name of the EntryGroup: projects/{project_number}/locations/{location_id}/entryGroups/{entry_group_id}.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                      "required": true
                    },
                    "etag": {
                      "description": "Optional. If the client provided etag value does not match the current etag value, the DeleteEntryGroupRequest method returns an ABORTED error response.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}"
                },
                "get": {
                  "response": {
                    "$ref": "GoogleCloudDataplexV1EntryGroup"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
                  "id": "dataplex.projects.locations.entryGroups.get",
                  "parameters": {
                    "name": {
                      "description": "Required. The resource name of the EntryGroup: projects/{project_number}/locations/{location_id}/entryGroups/{entry_group_id}.",
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                      "required": true
                    }
                  },
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "GET",
                  "description": "Gets an EntryGroup.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-platform.read-only",
                    "https://www.googleapis.com/auth/dataplex.read-write",
                    "https://www.googleapis.com/auth/dataplex.readonly"
                  ]
                },
                "getIamPolicy": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "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.",
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$"
                    },
                    "options.requestedPolicyVersion": {
                      "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).",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "id": "dataplex.projects.locations.entryGroups.getIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:getIamPolicy",
                  "httpMethod": "GET",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "patch": {
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1EntryGroup"
                  },
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataplex.projects.locations.entryGroups.patch",
                  "parameters": {
                    "updateMask": {
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask",
                      "description": "Required. Mask of fields to update."
                    },
                    "name": {
                      "location": "path",
                      "type": "string",
                      "description": "Output only. The relative resource name of the EntryGroup, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$"
                    },
                    "validateOnly": {
                      "description": "Optional. The service validates the request, without performing any mutations. The default is false.",
                      "location": "query",
                      "type": "boolean"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "PATCH",
                  "description": "Updates an EntryGroup."
                }
              },
              "resources": {
                "entryLinks": {
                  "methods": {
                    "patch": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "PATCH",
                      "description": "Updates an Entry Link.",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "parameters": {
                        "name": {
                          "location": "path",
                          "type": "string",
                          "description": "Output only. Immutable. Identifier. The relative resource name of the Entry Link, of the form: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entryLinks/.*$",
                          "required": true
                        },
                        "allowMissing": {
                          "location": "query",
                          "type": "boolean",
                          "description": "Optional. If set to true and the entry link doesn't exist, the service will create it."
                        },
                        "aspectKeys": {
                          "description": "Optional. The map keys of the Aspects which the service should modify. It should be the aspect type reference in the format {project_id_or_number}.{location_id}.{aspect_type_id}.If this field is left empty, the service treats it as specifying exactly those Aspects present in the request.",
                          "location": "query",
                          "repeated": true,
                          "type": "string"
                        }
                      },
                      "id": "dataplex.projects.locations.entryGroups.entryLinks.patch",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entryLinks/{entryLinksId}",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1EntryLink"
                      },
                      "response": {
                        "$ref": "GoogleCloudDataplexV1EntryLink"
                      }
                    },
                    "create": {
                      "response": {
                        "$ref": "GoogleCloudDataplexV1EntryLink"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entryLinks",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1EntryLink"
                      },
                      "id": "dataplex.projects.locations.entryGroups.entryLinks.create",
                      "parameters": {
                        "parent": {
                          "location": "path",
                          "type": "string",
                          "description": "Required. The resource name of the parent Entry Group: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}.",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$"
                        },
                        "entryLinkId": {
                          "location": "query",
                          "type": "string",
                          "description": "Required. Entry Link identifier * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the EntryGroup."
                        }
                      },
                      "path": "v1/{+parent}/entryLinks",
                      "parameterOrder": [
                        "parent"
                      ],
                      "httpMethod": "POST",
                      "description": "Creates an Entry Link.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    },
                    "delete": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entryLinks/{entryLinksId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1EntryLink"
                      },
                      "httpMethod": "DELETE",
                      "description": "Deletes an Entry Link.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entryLinks/[^/]+$",
                          "required": true,
                          "location": "path",
                          "type": "string",
                          "description": "Required. The resource name of the Entry Link: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}."
                        }
                      },
                      "id": "dataplex.projects.locations.entryGroups.entryLinks.delete",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}"
                    },
                    "get": {
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entryLinks/[^/]+$",
                          "required": true,
                          "description": "Required. The resource name of the Entry Link: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}.",
                          "location": "path",
                          "type": "string"
                        }
                      },
                      "id": "dataplex.projects.locations.entryGroups.entryLinks.get",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "httpMethod": "GET",
                      "description": "Gets an Entry Link.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entryLinks/{entryLinksId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1EntryLink"
                      }
                    }
                  }
                },
                "entries": {
                  "methods": {
                    "patch": {
                      "httpMethod": "PATCH",
                      "description": "Updates an Entry.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "id": "dataplex.projects.locations.entryGroups.entries.patch",
                      "parameters": {
                        "updateMask": {
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask",
                          "description": "Optional. Mask of fields to update. To update Aspects, the update_mask must contain the value \"aspects\".If the update_mask is empty, the service will update all modifiable fields present in the request."
                        },
                        "allowMissing": {
                          "location": "query",
                          "type": "boolean",
                          "description": "Optional. If set to true and the entry doesn't exist, the service will create it."
                        },
                        "aspectKeys": {
                          "location": "query",
                          "repeated": true,
                          "type": "string",
                          "description": "Optional. The map keys of the Aspects which the service should modify. It supports the following syntaxes: - matches an aspect of the given type and empty path. @path - matches an aspect of the given type and specified path. For example, to attach an aspect to a field that is specified by the schema aspect, the path should have the format Schema.. @* - matches aspects of the given type for all paths. *@path - matches aspects of all types on the given path.The service will not remove existing aspects matching the syntax unless delete_missing_aspects is set to true.If this field is left empty, the service treats it as specifying exactly those Aspects present in the request."
                        },
                        "deleteMissingAspects": {
                          "description": "Optional. If set to true and the aspect_keys specify aspect ranges, the service deletes any existing aspects from that range that weren't provided in the request.",
                          "location": "query",
                          "type": "boolean"
                        },
                        "name": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/.*$",
                          "location": "path",
                          "type": "string",
                          "description": "Identifier. The relative resource name of the entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}."
                        }
                      },
                      "path": "v1/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "GoogleCloudDataplexV1Entry"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1Entry"
                      }
                    },
                    "delete": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "DELETE",
                      "description": "Deletes an Entry.",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "parameters": {
                        "name": {
                          "description": "Required. The resource name of the Entry: projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}.",
                          "location": "path",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/.*$",
                          "required": true
                        }
                      },
                      "id": "dataplex.projects.locations.entryGroups.entries.delete",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1Entry"
                      }
                    },
                    "get": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/cloud-platform.read-only",
                        "https://www.googleapis.com/auth/dataplex.read-write",
                        "https://www.googleapis.com/auth/dataplex.readonly"
                      ],
                      "httpMethod": "GET",
                      "description": "Gets an Entry.",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "parameters": {
                        "view": {
                          "description": "Optional. View to control which parts of an entry the service should return.",
                          "location": "query",
                          "type": "string",
                          "enumDescriptions": [
                            "Unspecified EntryView. Defaults to FULL.",
                            "Returns entry only, without aspects.",
                            "Returns all required aspects as well as the keys of all non-required aspects.",
                            "Returns aspects matching custom fields in GetEntryRequest. If the number of aspects exceeds 100, the first 100 will be returned.",
                            "Returns all aspects. If the number of aspects exceeds 100, the first 100 will be returned."
                          ],
                          "enum": [
                            "ENTRY_VIEW_UNSPECIFIED",
                            "BASIC",
                            "FULL",
                            "CUSTOM",
                            "ALL"
                          ]
                        },
                        "paths": {
                          "location": "query",
                          "repeated": true,
                          "type": "string",
                          "description": "Optional. Limits the aspects returned to those associated with the provided paths within the Entry. It only works for CUSTOM view."
                        },
                        "aspectTypes": {
                          "description": "Optional. Limits the aspects returned to the provided aspect types. It only works for CUSTOM view.",
                          "location": "query",
                          "repeated": true,
                          "type": "string"
                        },
                        "name": {
                          "location": "path",
                          "type": "string",
                          "description": "Required. The resource name of the Entry: projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}.",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/.*$"
                        }
                      },
                      "id": "dataplex.projects.locations.entryGroups.entries.get",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1Entry"
                      }
                    },
                    "create": {
                      "response": {
                        "$ref": "GoogleCloudDataplexV1Entry"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1Entry"
                      },
                      "id": "dataplex.projects.locations.entryGroups.entries.create",
                      "parameters": {
                        "parent": {
                          "location": "path",
                          "type": "string",
                          "description": "Required. The resource name of the parent Entry Group: projects/{project}/locations/{location}/entryGroups/{entry_group}.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                          "required": true
                        },
                        "entryId": {
                          "description": "Required. Entry identifier. It has to be unique within an Entry Group.Entries corresponding to Google Cloud resources use an Entry ID format based on full resource names (https://cloud.google.com/apis/design/resource_names#full_resource_name). The format is a full resource name of the resource without the prefix double slashes in the API service name part of the full resource name. This allows retrieval of entries using their associated resource name.For example, if the full resource name of a resource is //library.googleapis.com/shelves/shelf1/books/book2, then the suggested entry_id is library.googleapis.com/shelves/shelf1/books/book2.It is also suggested to follow the same convention for entries corresponding to resources from providers or systems other than Google Cloud.The maximum size of the field is 4000 characters.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "path": "v1/{+parent}/entries",
                      "parameterOrder": [
                        "parent"
                      ],
                      "httpMethod": "POST",
                      "description": "Creates an Entry.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    },
                    "list": {
                      "parameterOrder": [
                        "parent"
                      ],
                      "path": "v1/{+parent}/entries",
                      "parameters": {
                        "pageSize": {
                          "location": "query",
                          "type": "integer",
                          "format": "int32",
                          "description": "Optional. Number of items to return per page. If there are remaining results, the service returns a next_page_token. If unspecified, the service returns at most 10 Entries. The maximum value is 100; values above 100 will be coerced to 100."
                        },
                        "filter": {
                          "description": "Optional. A filter on the entries to return. Filters are case-sensitive. You can filter the request by the following fields: entry_type entry_source.display_name parent_entryThe comparison operators are =, !=, \u003c, \u003e, \u003c=, \u003e=. The service compares strings according to lexical order.You can use the logical operators AND, OR, NOT in the filter.You can use Wildcard \"*\", but for entry_type and parent_entry you need to provide the full project id or number.You cannot use parent_entry in conjunction with other fields.Example filter expressions: \"entry_source.display_name=AnExampleDisplayName\" \"entry_type=projects/example-project/locations/global/entryTypes/example-entry_type\" \"entry_type=projects/example-project/locations/us/entryTypes/a* OR entry_type=projects/another-project/locations/*\" \"NOT entry_source.display_name=AnotherExampleDisplayName\" \"parent_entry=projects/example-project/locations/us/entryGroups/example-entry-group/entries/example-entry\"",
                          "location": "query",
                          "type": "string"
                        },
                        "pageToken": {
                          "description": "Optional. Page token received from a previous ListEntries call. Provide this to retrieve the subsequent page.",
                          "location": "query",
                          "type": "string"
                        },
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                          "required": true,
                          "location": "path",
                          "type": "string",
                          "description": "Required. The resource name of the parent Entry Group: projects/{project}/locations/{location}/entryGroups/{entry_group}."
                        }
                      },
                      "id": "dataplex.projects.locations.entryGroups.entries.list",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/cloud-platform.read-only",
                        "https://www.googleapis.com/auth/dataplex.read-write",
                        "https://www.googleapis.com/auth/dataplex.readonly"
                      ],
                      "httpMethod": "GET",
                      "description": "Lists Entries within an EntryGroup.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1ListEntriesResponse"
                      }
                    }
                  }
                }
              }
            },
            "dataTaxonomies": {
              "methods": {
                "patch": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "PATCH",
                  "description": "Updates a DataTaxonomy resource.",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "parameters": {
                    "updateMask": {
                      "description": "Required. Mask of fields to update.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    },
                    "name": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Output only. The relative resource name of the DataTaxonomy, of the form: projects/{project_number}/locations/{location_id}/dataTaxonomies/{data_taxonomy_id}."
                    },
                    "validateOnly": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                    }
                  },
                  "id": "dataplex.projects.locations.dataTaxonomies.patch",
                  "deprecated": true,
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1DataTaxonomy"
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  }
                },
                "delete": {
                  "httpMethod": "DELETE",
                  "description": "Deletes a DataTaxonomy resource. All attributes within the DataTaxonomy must be deleted before the DataTaxonomy can be deleted.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "name": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Required. The resource name of the DataTaxonomy: projects/{project_number}/locations/{location_id}/dataTaxonomies/{data_taxonomy_id}"
                    },
                    "etag": {
                      "description": "Optional. If the client provided etag value does not match the current etag value,the DeleteDataTaxonomy method returns an ABORTED error.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "id": "dataplex.projects.locations.dataTaxonomies.delete",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "deprecated": true,
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  }
                },
                "get": {
                  "httpMethod": "GET",
                  "description": "Retrieves a DataTaxonomy resource.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.dataTaxonomies.get",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+$"
                    }
                  },
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "deprecated": true,
                  "response": {
                    "$ref": "GoogleCloudDataplexV1DataTaxonomy"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}"
                },
                "getIamPolicy": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "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.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+$",
                      "required": true
                    },
                    "options.requestedPolicyVersion": {
                      "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).",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "id": "dataplex.projects.locations.dataTaxonomies.getIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:getIamPolicy",
                  "httpMethod": "GET",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "testIamPermissions": {
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+$",
                      "required": true,
                      "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.",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "id": "dataplex.projects.locations.dataTaxonomies.testIamPermissions",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:testIamPermissions",
                  "httpMethod": "POST",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}:testIamPermissions",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  }
                },
                "create": {
                  "httpMethod": "POST",
                  "description": "Create a DataTaxonomy resource.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "dataTaxonomyId": {
                      "location": "query",
                      "type": "string",
                      "description": "Required. DataTaxonomy identifier. * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the Project."
                    },
                    "validateOnly": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                    },
                    "parent": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "id": "dataplex.projects.locations.dataTaxonomies.create",
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/dataTaxonomies",
                  "deprecated": true,
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1DataTaxonomy"
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  }
                },
                "setIamPolicy": {
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:setIamPolicy",
                  "parameters": {
                    "resource": {
                      "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.",
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+$"
                    }
                  },
                  "id": "dataplex.projects.locations.dataTaxonomies.setIamPolicy",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}:setIamPolicy",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  }
                },
                "list": {
                  "httpMethod": "GET",
                  "description": "Lists DataTaxonomy resources in a project and location.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.dataTaxonomies.list",
                  "parameters": {
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Page token received from a previous ListDataTaxonomies call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDataTaxonomies must match the call that provided the page token."
                    },
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "format": "int32",
                      "description": "Optional. Maximum number of DataTaxonomies to return. The service may return fewer than this value. If unspecified, at most 10 DataTaxonomies will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000."
                    },
                    "parent": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Required. The resource name of the DataTaxonomy location, of the form: projects/{project_number}/locations/{location_id} where location_id refers to a Google Cloud region."
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Filter request."
                    },
                    "orderBy": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Order by fields for the result."
                    }
                  },
                  "path": "v1/{+parent}/dataTaxonomies",
                  "parameterOrder": [
                    "parent"
                  ],
                  "deprecated": true,
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListDataTaxonomiesResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies"
                }
              },
              "resources": {
                "attributes": {
                  "methods": {
                    "setIamPolicy": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}/attributes/{attributesId}:setIamPolicy",
                      "request": {
                        "$ref": "GoogleIamV1SetIamPolicyRequest"
                      },
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "parameters": {
                        "resource": {
                          "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.",
                          "location": "path",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+/attributes/[^/]+$",
                          "required": true
                        }
                      },
                      "id": "dataplex.projects.locations.dataTaxonomies.attributes.setIamPolicy",
                      "parameterOrder": [
                        "resource"
                      ],
                      "path": "v1/{+resource}:setIamPolicy",
                      "httpMethod": "POST",
                      "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    },
                    "list": {
                      "httpMethod": "GET",
                      "description": "Lists Data Attribute resources in a DataTaxonomy.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "id": "dataplex.projects.locations.dataTaxonomies.attributes.list",
                      "parameters": {
                        "pageSize": {
                          "location": "query",
                          "type": "integer",
                          "format": "int32",
                          "description": "Optional. Maximum number of DataAttributes to return. The service may return fewer than this value. If unspecified, at most 10 dataAttributes will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000."
                        },
                        "pageToken": {
                          "description": "Optional. Page token received from a previous ListDataAttributes call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDataAttributes must match the call that provided the page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+$",
                          "required": true,
                          "description": "Required. The resource name of the DataTaxonomy: projects/{project_number}/locations/{location_id}/dataTaxonomies/{data_taxonomy_id}",
                          "location": "path",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Optional. Filter request.",
                          "location": "query",
                          "type": "string"
                        },
                        "orderBy": {
                          "description": "Optional. Order by fields for the result.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "path": "v1/{+parent}/attributes",
                      "parameterOrder": [
                        "parent"
                      ],
                      "deprecated": true,
                      "response": {
                        "$ref": "GoogleCloudDataplexV1ListDataAttributesResponse"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}/attributes"
                    },
                    "testIamPermissions": {
                      "path": "v1/{+resource}:testIamPermissions",
                      "parameterOrder": [
                        "resource"
                      ],
                      "id": "dataplex.projects.locations.dataTaxonomies.attributes.testIamPermissions",
                      "parameters": {
                        "resource": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+/attributes/[^/]+$",
                          "required": true,
                          "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.",
                          "location": "path",
                          "type": "string"
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "POST",
                      "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                      "response": {
                        "$ref": "GoogleIamV1TestIamPermissionsResponse"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}/attributes/{attributesId}:testIamPermissions",
                      "request": {
                        "$ref": "GoogleIamV1TestIamPermissionsRequest"
                      }
                    },
                    "create": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "POST",
                      "description": "Create a DataAttribute resource.",
                      "path": "v1/{+parent}/attributes",
                      "parameterOrder": [
                        "parent"
                      ],
                      "id": "dataplex.projects.locations.dataTaxonomies.attributes.create",
                      "parameters": {
                        "validateOnly": {
                          "location": "query",
                          "type": "boolean",
                          "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                        },
                        "parent": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+$",
                          "description": "Required. The resource name of the parent data taxonomy projects/{project_number}/locations/{location_id}/dataTaxonomies/{data_taxonomy_id}",
                          "location": "path",
                          "type": "string"
                        },
                        "dataAttributeId": {
                          "description": "Required. DataAttribute identifier. * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the DataTaxonomy.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "deprecated": true,
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}/attributes",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1DataAttribute"
                      }
                    },
                    "getIamPolicy": {
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}/attributes/{attributesId}:getIamPolicy",
                      "id": "dataplex.projects.locations.dataTaxonomies.attributes.getIamPolicy",
                      "parameters": {
                        "resource": {
                          "location": "path",
                          "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.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+/attributes/[^/]+$",
                          "required": true
                        },
                        "options.requestedPolicyVersion": {
                          "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).",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        }
                      },
                      "path": "v1/{+resource}:getIamPolicy",
                      "parameterOrder": [
                        "resource"
                      ],
                      "httpMethod": "GET",
                      "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    },
                    "delete": {
                      "deprecated": true,
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}/attributes/{attributesId}",
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "DELETE",
                      "description": "Deletes a Data Attribute resource.",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+/attributes/[^/]+$",
                          "required": true,
                          "location": "path",
                          "type": "string",
                          "description": "Required. The resource name of the DataAttribute: projects/{project_number}/locations/{location_id}/dataTaxonomies/{dataTaxonomy}/attributes/{data_attribute_id}"
                        },
                        "etag": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. If the client provided etag value does not match the current etag value, the DeleteDataAttribute method returns an ABORTED error response."
                        }
                      },
                      "id": "dataplex.projects.locations.dataTaxonomies.attributes.delete"
                    },
                    "get": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}/attributes/{attributesId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1DataAttribute"
                      },
                      "deprecated": true,
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+/attributes/[^/]+$",
                          "required": true,
                          "description": "Required. The resource name of the dataAttribute: projects/{project_number}/locations/{location_id}/dataTaxonomies/{dataTaxonomy}/attributes/{data_attribute_id}",
                          "location": "path",
                          "type": "string"
                        }
                      },
                      "id": "dataplex.projects.locations.dataTaxonomies.attributes.get",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "GET",
                      "description": "Retrieves a Data Attribute resource."
                    },
                    "patch": {
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}/attributes/{attributesId}",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1DataAttribute"
                      },
                      "deprecated": true,
                      "id": "dataplex.projects.locations.dataTaxonomies.attributes.patch",
                      "parameters": {
                        "name": {
                          "description": "Output only. The relative resource name of the dataAttribute, of the form: projects/{project_number}/locations/{location_id}/dataTaxonomies/{dataTaxonomy}/attributes/{data_attribute_id}.",
                          "location": "path",
                          "type": "string",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+/attributes/[^/]+$"
                        },
                        "validateOnly": {
                          "description": "Optional. Only validate the request, but do not perform mutations. The default is false.",
                          "location": "query",
                          "type": "boolean"
                        },
                        "updateMask": {
                          "description": "Required. Mask of fields to update.",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        }
                      },
                      "path": "v1/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "PATCH",
                      "description": "Updates a DataAttribute resource.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    }
                  }
                }
              }
            },
            "dataProducts": {
              "methods": {
                "testIamPermissions": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}:testIamPermissions",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "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.",
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+$",
                      "required": true
                    }
                  },
                  "id": "dataplex.projects.locations.dataProducts.testIamPermissions",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:testIamPermissions",
                  "httpMethod": "POST",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "create": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1DataProduct"
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "httpMethod": "POST",
                  "description": "Creates a data product.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "dataProductId": {
                      "description": "Optional. The ID of the data product to create.The ID must conform to RFC-1034 and contain only lower-case letters (a-z), numbers (0-9), or hyphens, with the first character a letter, the last a letter or a number, and a 63 character maximum. Characters outside of ASCII are not permitted. Valid format regex: ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$ If not provided, a system generated ID will be used.",
                      "location": "query",
                      "type": "string"
                    },
                    "validateOnly": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. Validates the request without actually creating the data product. Default: false."
                    },
                    "parent": {
                      "location": "path",
                      "type": "string",
                      "description": "Required. The parent resource where this data product will be created. Format: projects/{project_id_or_number}/locations/{location_id}",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    }
                  },
                  "id": "dataplex.projects.locations.dataProducts.create",
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/dataProducts"
                },
                "setIamPolicy": {
                  "httpMethod": "POST",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "resource": {
                      "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.",
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+$"
                    }
                  },
                  "id": "dataplex.projects.locations.dataProducts.setIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:setIamPolicy",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}:setIamPolicy",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  }
                },
                "list": {
                  "path": "v1/{+parent}/dataProducts",
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "dataplex.projects.locations.dataProducts.list",
                  "parameters": {
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "format": "int32",
                      "description": "Optional. The maximum number of data products to return. The service may return fewer than this value. If unspecified, at most 50 data products will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000."
                    },
                    "pageToken": {
                      "description": "Optional. A page token, received from a previous ListDataProducts call. Provide this to retrieve the subsequent page.When paginating, all other parameters provided to ListDataProducts must match the call that provided the page token.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Required. The parent, which has this collection of data products.Format: projects/{project_id_or_number}/locations/{location_id}.Supports listing across all locations with the wildcard - (hyphen) character. Example: projects/{project_id_or_number}/locations/-"
                    },
                    "filter": {
                      "description": "Optional. Filter expression that filters data products listed in the response.Example of using this filter is: display_name=\"my-data-product\"",
                      "location": "query",
                      "type": "string"
                    },
                    "orderBy": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Order by expression that orders data products listed in the response.Supported Order by fields are: name or create_time.If not specified, the ordering is undefined.Ordering by create_time is not supported when listing resources across locations (i.e. when request contains /locations/-)."
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-platform.read-only",
                    "https://www.googleapis.com/auth/dataplex.read-write",
                    "https://www.googleapis.com/auth/dataplex.readonly"
                  ],
                  "httpMethod": "GET",
                  "description": "Lists data products for a given project.",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListDataProductsResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts"
                },
                "patch": {
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1DataProduct"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "PATCH",
                  "description": "Updates a data product.",
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataplex.projects.locations.dataProducts.patch",
                  "parameters": {
                    "updateMask": {
                      "description": "Optional. The list of fields to update. If this is empty or not set, then all the fields will be updated.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    },
                    "name": {
                      "location": "path",
                      "type": "string",
                      "description": "Identifier. Resource name of the data product. Format: projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+$"
                    },
                    "validateOnly": {
                      "description": "Optional. Validates the request without actually updating the data product. Default: false.",
                      "location": "query",
                      "type": "boolean"
                    }
                  }
                },
                "delete": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "DELETE",
                  "description": "Deletes a data product. The deletion will fail if the data product is not empty (i.e. contains at least one data asset).",
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataplex.projects.locations.dataProducts.delete",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "type": "string",
                      "description": "Required. The name of the data product to delete. Format: projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+$"
                    },
                    "etag": {
                      "description": "Optional. The etag of the data product.If an etag is provided and does not match the current etag of the data product, then the deletion will be blocked and an ABORTED error will be returned.",
                      "location": "query",
                      "type": "string"
                    },
                    "validateOnly": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. Validates the request without actually deleting the data product. Default: false."
                    }
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}"
                },
                "get": {
                  "httpMethod": "GET",
                  "description": "Gets a data product.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-platform.read-only",
                    "https://www.googleapis.com/auth/dataplex.read-write",
                    "https://www.googleapis.com/auth/dataplex.readonly"
                  ],
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+$",
                      "required": true,
                      "description": "Required. The name of the data product to retrieve. Format: projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "id": "dataplex.projects.locations.dataProducts.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1DataProduct"
                  }
                },
                "getIamPolicy": {
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}:getIamPolicy",
                  "id": "dataplex.projects.locations.dataProducts.getIamPolicy",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+$",
                      "required": true,
                      "location": "path",
                      "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."
                    },
                    "options.requestedPolicyVersion": {
                      "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).",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "path": "v1/{+resource}:getIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "httpMethod": "GET",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                }
              },
              "resources": {
                "dataAssets": {
                  "methods": {
                    "create": {
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}/dataAssets",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1DataAsset"
                      },
                      "id": "dataplex.projects.locations.dataProducts.dataAssets.create",
                      "parameters": {
                        "validateOnly": {
                          "description": "Optional. Validates the request without actually creating the data asset. Defaults to false.",
                          "location": "query",
                          "type": "boolean"
                        },
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+$",
                          "required": true,
                          "description": "Required. The parent resource where this data asset will be created. Format: projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}",
                          "location": "path",
                          "type": "string"
                        },
                        "dataAssetId": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. The ID of the data asset to create.The ID must conform to RFC-1034 and contain only lower-case letters (a-z), numbers (0-9), or hyphens, with the first character a letter, the last a letter or a number, and a 63 character maximum. Characters outside of ASCII are not permitted. Valid format regex: ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$ If not provided, a system generated ID will be used."
                        }
                      },
                      "path": "v1/{+parent}/dataAssets",
                      "parameterOrder": [
                        "parent"
                      ],
                      "httpMethod": "POST",
                      "description": "Creates a data asset.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    },
                    "list": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}/dataAssets",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1ListDataAssetsResponse"
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "path": "v1/{+parent}/dataAssets",
                      "parameters": {
                        "pageSize": {
                          "description": "Optional. The maximum number of data assets to return. The service may return fewer than this value. If unspecified, at most 50 data assets will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. A page token, received from a previous ListDataAssets call. Provide this to retrieve the subsequent page.When paginating, all other parameters provided to ListDataAssets must match the call that provided the page token."
                        },
                        "filter": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. Filter expression that filters data assets listed in the response."
                        },
                        "orderBy": {
                          "description": "Optional. Order by expression that orders data assets listed in the response.Supported order_by fields are: name or create_time.If not specified, the ordering is undefined.",
                          "location": "query",
                          "type": "string"
                        },
                        "parent": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+$",
                          "location": "path",
                          "type": "string",
                          "description": "Required. The parent, which has this collection of data assets. Format: projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}"
                        }
                      },
                      "id": "dataplex.projects.locations.dataProducts.dataAssets.list",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/cloud-platform.read-only",
                        "https://www.googleapis.com/auth/dataplex.read-write",
                        "https://www.googleapis.com/auth/dataplex.readonly"
                      ],
                      "httpMethod": "GET",
                      "description": "Lists data assets for a given data product."
                    },
                    "patch": {
                      "httpMethod": "PATCH",
                      "description": "Updates a data asset.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "id": "dataplex.projects.locations.dataProducts.dataAssets.patch",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+/dataAssets/[^/]+$",
                          "required": true,
                          "location": "path",
                          "type": "string",
                          "description": "Identifier. Resource name of the data asset. Format: projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}/dataAssets/{data_asset_id}"
                        },
                        "validateOnly": {
                          "location": "query",
                          "type": "boolean",
                          "description": "Optional. Validates the request without actually updating the data asset. Defaults to false."
                        },
                        "updateMask": {
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask",
                          "description": "Optional. The list of fields to update. If this is empty or not set, then all the fields will be updated."
                        }
                      },
                      "path": "v1/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}/dataAssets/{dataAssetsId}",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1DataAsset"
                      }
                    },
                    "delete": {
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}/dataAssets/{dataAssetsId}",
                      "id": "dataplex.projects.locations.dataProducts.dataAssets.delete",
                      "parameters": {
                        "name": {
                          "description": "Required. The name of the data asset to delete. Format: projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}/dataAssets/{data_asset_id}",
                          "location": "path",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+/dataAssets/[^/]+$",
                          "required": true
                        },
                        "etag": {
                          "description": "Optional. The etag of the data asset. If this is provided, it must match the server's etag. If the etag is provided and does not match the server-computed etag, the request must fail with a ABORTED error code.",
                          "location": "query",
                          "type": "string"
                        },
                        "validateOnly": {
                          "location": "query",
                          "type": "boolean",
                          "description": "Optional. Validates the request without actually deleting the data asset. Defaults to false."
                        }
                      },
                      "path": "v1/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "DELETE",
                      "description": "Deletes a data asset.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    },
                    "get": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}/dataAssets/{dataAssetsId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1DataAsset"
                      },
                      "parameters": {
                        "name": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+/dataAssets/[^/]+$",
                          "description": "Required. The name of the data asset to retrieve. Format: projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}/dataAssets/{data_asset_id}",
                          "location": "path",
                          "type": "string"
                        }
                      },
                      "id": "dataplex.projects.locations.dataProducts.dataAssets.get",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "httpMethod": "GET",
                      "description": "Gets a data asset.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/cloud-platform.read-only",
                        "https://www.googleapis.com/auth/dataplex.read-write",
                        "https://www.googleapis.com/auth/dataplex.readonly"
                      ]
                    }
                  }
                }
              }
            },
            "dataScans": {
              "methods": {
                "getIamPolicy": {
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$",
                      "required": true,
                      "location": "path",
                      "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."
                    },
                    "options.requestedPolicyVersion": {
                      "location": "query",
                      "type": "integer",
                      "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)."
                    }
                  },
                  "id": "dataplex.projects.locations.dataScans.getIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:getIamPolicy",
                  "httpMethod": "GET",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  }
                },
                "patch": {
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1DataScan"
                  },
                  "id": "dataplex.projects.locations.dataScans.patch",
                  "parameters": {
                    "name": {
                      "description": "Output only. Identifier. The relative resource name of the scan, of the form: projects/{project}/locations/{location_id}/dataScans/{datascan_id}, where project refers to a project_id or project_number and location_id refers to a Google Cloud region.",
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$",
                      "required": true
                    },
                    "validateOnly": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                    },
                    "updateMask": {
                      "description": "Optional. Mask of fields to update.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    }
                  },
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "PATCH",
                  "description": "Updates a DataScan resource.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "create": {
                  "parameters": {
                    "validateOnly": {
                      "description": "Optional. Only validate the request, but do not perform mutations. The default is false.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "description": "Required. The resource name of the parent location: projects/{project}/locations/{location_id} where project refers to a project_id or project_number and location_id refers to a Google Cloud region.",
                      "location": "path",
                      "type": "string"
                    },
                    "dataScanId": {
                      "description": "Required. DataScan identifier. Must contain only lowercase letters, numbers and hyphens. Must start with a letter. Must end with a number or a letter. Must be between 1-63 characters. Must be unique within the customer project / location.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "id": "dataplex.projects.locations.dataScans.create",
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/dataScans",
                  "httpMethod": "POST",
                  "description": "Creates a DataScan resource.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1DataScan"
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  }
                },
                "list": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-platform.read-only",
                    "https://www.googleapis.com/auth/dataplex.read-write",
                    "https://www.googleapis.com/auth/dataplex.readonly"
                  ],
                  "httpMethod": "GET",
                  "description": "Lists DataScans.",
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/dataScans",
                  "parameters": {
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Filter request."
                    },
                    "orderBy": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Order by fields (name or create_time) for the result. If not specified, the ordering is undefined."
                    },
                    "parent": {
                      "location": "path",
                      "type": "string",
                      "description": "Required. The resource name of the parent location: projects/{project}/locations/{location_id} where project refers to a project_id or project_number and location_id refers to a Google Cloud region.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true
                    },
                    "pageToken": {
                      "description": "Optional. Page token received from a previous ListDataScans call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDataScans must match the call that provided the page token.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "Optional. Maximum number of dataScans to return. The service may return fewer than this value. If unspecified, at most 500 scans will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "id": "dataplex.projects.locations.dataScans.list",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListDataScansResponse"
                  }
                },
                "generateDataQualityRules": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}:generateDataQualityRules",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1GenerateDataQualityRulesRequest"
                  },
                  "response": {
                    "$ref": "GoogleCloudDataplexV1GenerateDataQualityRulesResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Generates recommended data quality rules based on the results of a data profiling scan.Use the recommendations to build rules for a data quality scan.",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}:generateDataQualityRules",
                  "parameters": {
                    "name": {
                      "description": "Required. The name must be one of the following: The name of a data scan with at least one successful, completed data profiling job The name of a successful, completed data profiling job (a data scan job where the job type is data profiling)",
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$",
                      "required": true
                    }
                  },
                  "id": "dataplex.projects.locations.dataScans.generateDataQualityRules"
                },
                "delete": {
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}",
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataplex.projects.locations.dataScans.delete",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "type": "string",
                      "description": "Required. The resource name of the dataScan: projects/{project}/locations/{location_id}/dataScans/{data_scan_id} where project refers to a project_id or project_number and location_id refers to a Google Cloud region.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$"
                    },
                    "force": {
                      "description": "Optional. If set to true, any child resources of this data scan will also be deleted. (Otherwise, the request will only work if the data scan has no child resources.)",
                      "location": "query",
                      "type": "boolean"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "DELETE",
                  "description": "Deletes a DataScan resource."
                },
                "get": {
                  "parameters": {
                    "view": {
                      "description": "Optional. Select the DataScan view to return. Defaults to BASIC.",
                      "location": "query",
                      "type": "string",
                      "enumDescriptions": [
                        "The API will default to the BASIC view.",
                        "Basic view that does not include spec and result.",
                        "Include everything."
                      ],
                      "enum": [
                        "DATA_SCAN_VIEW_UNSPECIFIED",
                        "BASIC",
                        "FULL"
                      ]
                    },
                    "name": {
                      "description": "Required. The resource name of the dataScan: projects/{project}/locations/{location_id}/dataScans/{data_scan_id} where project refers to a project_id or project_number and location_id refers to a Google Cloud region.",
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$"
                    }
                  },
                  "id": "dataplex.projects.locations.dataScans.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "httpMethod": "GET",
                  "description": "Gets a DataScan resource.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/cloud-platform.read-only",
                    "https://www.googleapis.com/auth/dataplex.read-write",
                    "https://www.googleapis.com/auth/dataplex.readonly"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1DataScan"
                  }
                },
                "run": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Runs an on-demand execution of a DataScan",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}:run",
                  "parameters": {
                    "name": {
                      "description": "Required. The resource name of the DataScan: projects/{project}/locations/{location_id}/dataScans/{data_scan_id}. where project refers to a project_id or project_number and location_id refers to a Google Cloud region.Only OnDemand data scans are allowed.",
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$",
                      "required": true
                    }
                  },
                  "id": "dataplex.projects.locations.dataScans.run",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}:run",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1RunDataScanRequest"
                  },
                  "response": {
                    "$ref": "GoogleCloudDataplexV1RunDataScanResponse"
                  }
                },
                "testIamPermissions": {
                  "httpMethod": "POST",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$",
                      "required": true,
                      "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.",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "id": "dataplex.projects.locations.dataScans.testIamPermissions",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:testIamPermissions",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}:testIamPermissions",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  }
                },
                "setIamPolicy": {
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}:setIamPolicy",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "path": "v1/{+resource}:setIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataplex.projects.locations.dataScans.setIamPolicy",
                  "parameters": {
                    "resource": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$",
                      "location": "path",
                      "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."
                    }
                  }
                }
              },
              "resources": {
                "jobs": {
                  "methods": {
                    "get": {
                      "path": "v1/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "id": "dataplex.projects.locations.dataScans.jobs.get",
                      "parameters": {
                        "view": {
                          "location": "query",
                          "type": "string",
                          "enumDescriptions": [
                            "The API will default to the BASIC view.",
                            "Basic view that does not include spec and result.",
                            "Include everything."
                          ],
                          "enum": [
                            "DATA_SCAN_JOB_VIEW_UNSPECIFIED",
                            "BASIC",
                            "FULL"
                          ],
                          "description": "Optional. Select the DataScanJob view to return. Defaults to BASIC."
                        },
                        "name": {
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+/jobs/[^/]+$",
                          "location": "path",
                          "type": "string",
                          "description": "Required. The resource name of the DataScanJob: projects/{project}/locations/{location_id}/dataScans/{data_scan_id}/jobs/{data_scan_job_id} where project refers to a project_id or project_number and location_id refers to a Google Cloud region."
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/cloud-platform.read-only",
                        "https://www.googleapis.com/auth/dataplex.read-write",
                        "https://www.googleapis.com/auth/dataplex.readonly"
                      ],
                      "httpMethod": "GET",
                      "description": "Gets a DataScanJob resource.",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1DataScanJob"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}/jobs/{jobsId}"
                    },
                    "list": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}/jobs",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1ListDataScanJobsResponse"
                      },
                      "httpMethod": "GET",
                      "description": "Lists DataScanJobs under the given DataScan.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/cloud-platform.read-only",
                        "https://www.googleapis.com/auth/dataplex.read-write",
                        "https://www.googleapis.com/auth/dataplex.readonly"
                      ],
                      "parameters": {
                        "parent": {
                          "description": "Required. The resource name of the parent environment: projects/{project}/locations/{location_id}/dataScans/{data_scan_id} where project refers to a project_id or project_number and location_id refers to a Google Cloud region.",
                          "location": "path",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$",
                          "required": true
                        },
                        "pageToken": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. Page token received from a previous ListDataScanJobs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDataScanJobs must match the call that provided the page token."
                        },
                        "pageSize": {
                          "description": "Optional. Maximum number of DataScanJobs to return. The service may return fewer than this value. If unspecified, at most 10 DataScanJobs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "filter": {
                          "description": "Optional. An expression for filtering the results of the ListDataScanJobs request.If unspecified, all datascan jobs will be returned. Multiple filters can be applied (with AND, OR logical operators). Filters are case-sensitive.Allowed fields are: start_time end_timestart_time and end_time expect RFC-3339 formatted strings (e.g. 2018-10-08T18:30:00-07:00).For instance, 'start_time \u003e 2018-10-08T00:00:00.123456789Z AND end_time \u003c 2018-10-09T00:00:00.123456789Z' limits results to DataScanJobs between specified start and end times.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "id": "dataplex.projects.locations.dataScans.jobs.list",
                      "parameterOrder": [
                        "parent"
                      ],
                      "path": "v1/{+parent}/jobs"
                    },
                    "generateDataQualityRules": {
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}:generateDataQualityRules",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+/jobs/[^/]+$",
                          "required": true,
                          "location": "path",
                          "type": "string",
                          "description": "Required. The name must be one of the following: The name of a data scan with at least one successful, completed data profiling job The name of a successful, completed data profiling job (a data scan job where the job type is data profiling)"
                        }
                      },
                      "id": "dataplex.projects.locations.dataScans.jobs.generateDataQualityRules",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "POST",
                      "description": "Generates recommended data quality rules based on the results of a data profiling scan.Use the recommendations to build rules for a data quality scan.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}/jobs/{jobsId}:generateDataQualityRules",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1GenerateDataQualityRulesRequest"
                      },
                      "response": {
                        "$ref": "GoogleCloudDataplexV1GenerateDataQualityRulesResponse"
                      }
                    },
                    "cancel": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "httpMethod": "POST",
                      "description": "Cancels a running/pending DataScan job.",
                      "path": "v1/{+name}:cancel",
                      "parameterOrder": [
                        "name"
                      ],
                      "id": "dataplex.projects.locations.dataScans.jobs.cancel",
                      "parameters": {
                        "name": {
                          "location": "path",
                          "type": "string",
                          "description": "Required. The resource name of the DataScanJob: projects/{project_id_or_number}/locations/{location_id}/dataScans/{data_scan_id}/jobs/{data_scan_job_id} where project_id_or_number refers to a project_id or project_number and location_id refers to a Google Cloud region.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+/jobs/[^/]+$",
                          "required": true
                        }
                      },
                      "response": {
                        "$ref": "GoogleCloudDataplexV1CancelDataScanJobResponse"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}/jobs/{jobsId}:cancel",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1CancelDataScanJobRequest"
                      }
                    }
                  }
                }
              }
            },
            "policyIntents": {
              "methods": {
                "setIamPolicy": {
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/policyIntents/{policyIntentsId}:setIamPolicy",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "path": "v1/{+resource}:setIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataplex.projects.locations.policyIntents.setIamPolicy",
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "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,
                      "pattern": "^projects/[^/]+/locations/[^/]+/policyIntents/[^/]+$"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors."
                },
                "getIamPolicy": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/policyIntents/{policyIntentsId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:getIamPolicy",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/policyIntents/[^/]+$",
                      "required": true,
                      "location": "path",
                      "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."
                    },
                    "options.requestedPolicyVersion": {
                      "location": "query",
                      "type": "integer",
                      "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)."
                    }
                  },
                  "id": "dataplex.projects.locations.policyIntents.getIamPolicy",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "GET",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set."
                },
                "testIamPermissions": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/policyIntents/{policyIntentsId}:testIamPermissions",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "httpMethod": "POST",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "resource": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/policyIntents/[^/]+$",
                      "location": "path",
                      "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."
                    }
                  },
                  "id": "dataplex.projects.locations.policyIntents.testIamPermissions",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:testIamPermissions"
                }
              }
            },
            "operations": {
              "methods": {
                "list": {
                  "httpMethod": "GET",
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "format": "int32",
                      "description": "The standard list page size."
                    },
                    "returnPartialSuccess": {
                      "location": "query",
                      "type": "boolean",
                      "description": "When set to true, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field.This can only be true when reading across collections. For example, when parent is set to \"projects/example/locations/-\".This field is not supported by default and will result in an UNIMPLEMENTED error if set unless explicitly documented otherwise in service or product specific documentation."
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "The standard list page token."
                    },
                    "name": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "The name of the operation's parent resource.",
                      "location": "path",
                      "type": "string"
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "The standard list filter."
                    }
                  },
                  "id": "dataplex.projects.locations.operations.list",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}/operations",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations",
                  "response": {
                    "$ref": "GoogleLongrunningListOperationsResponse"
                  }
                },
                "get": {
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "id": "dataplex.projects.locations.operations.get",
                  "parameters": {
                    "name": {
                      "description": "The name of the operation resource.",
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "required": true
                    }
                  },
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "GET",
                  "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "delete": {
                  "response": {
                    "$ref": "Empty"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "DELETE",
                  "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED.",
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataplex.projects.locations.operations.delete",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "required": true,
                      "description": "The name of the operation resource to be deleted.",
                      "location": "path",
                      "type": "string"
                    }
                  }
                },
                "cancel": {
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}:cancel",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "required": true,
                      "location": "path",
                      "type": "string",
                      "description": "The name of the operation resource to be cancelled."
                    }
                  },
                  "id": "dataplex.projects.locations.operations.cancel",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "request": {
                    "$ref": "GoogleLongrunningCancelOperationRequest"
                  },
                  "response": {
                    "$ref": "Empty"
                  }
                }
              }
            },
            "changeRequests": {
              "methods": {
                "setIamPolicy": {
                  "id": "dataplex.projects.locations.changeRequests.setIamPolicy",
                  "parameters": {
                    "resource": {
                      "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.",
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/changeRequests/[^/]+$"
                    }
                  },
                  "path": "v1/{+resource}:setIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "httpMethod": "POST",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests/{changeRequestsId}:setIamPolicy",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  }
                },
                "getIamPolicy": {
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests/{changeRequestsId}:getIamPolicy",
                  "path": "v1/{+resource}:getIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataplex.projects.locations.changeRequests.getIamPolicy",
                  "parameters": {
                    "resource": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/changeRequests/[^/]+$",
                      "location": "path",
                      "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."
                    },
                    "options.requestedPolicyVersion": {
                      "location": "query",
                      "type": "integer",
                      "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)."
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "GET",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set."
                },
                "testIamPermissions": {
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests/{changeRequestsId}:testIamPermissions",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                  "path": "v1/{+resource}:testIamPermissions",
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataplex.projects.locations.changeRequests.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.",
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/changeRequests/[^/]+$",
                      "required": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "organizations": {
      "resources": {
        "locations": {
          "resources": {
            "encryptionConfigs": {
              "methods": {
                "patch": {
                  "parameters": {
                    "name": {
                      "description": "Identifier. The resource name of the EncryptionConfig. Format: organizations/{organization}/locations/{location}/encryptionConfigs/{encryption_config} Global location is not supported.",
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^organizations/[^/]+/locations/[^/]+/encryptionConfigs/[^/]+$"
                    },
                    "updateMask": {
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask",
                      "description": "Optional. Mask of fields to update. The service treats an omitted field mask as an implied field mask equivalent to all fields that are populated (have a non-empty value)."
                    }
                  },
                  "id": "dataplex.organizations.locations.encryptionConfigs.patch",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "httpMethod": "PATCH",
                  "description": "Update an EncryptionConfig.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/encryptionConfigs/{encryptionConfigsId}",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1EncryptionConfig"
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  }
                },
                "getIamPolicy": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "GET",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "path": "v1/{+resource}:getIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataplex.organizations.locations.encryptionConfigs.getIamPolicy",
                  "parameters": {
                    "resource": {
                      "pattern": "^organizations/[^/]+/locations/[^/]+/encryptionConfigs/[^/]+$",
                      "required": true,
                      "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.",
                      "location": "path",
                      "type": "string"
                    },
                    "options.requestedPolicyVersion": {
                      "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).",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/encryptionConfigs/{encryptionConfigsId}:getIamPolicy"
                },
                "delete": {
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataplex.organizations.locations.encryptionConfigs.delete",
                  "parameters": {
                    "name": {
                      "pattern": "^organizations/[^/]+/locations/[^/]+/encryptionConfigs/[^/]+$",
                      "required": true,
                      "description": "Required. The name of the EncryptionConfig to delete.",
                      "location": "path",
                      "type": "string"
                    },
                    "etag": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Etag of the EncryptionConfig. This is a strong etag."
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "DELETE",
                  "description": "Delete an EncryptionConfig.",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/encryptionConfigs/{encryptionConfigsId}"
                },
                "get": {
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/encryptionConfigs/{encryptionConfigsId}",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1EncryptionConfig"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "GET",
                  "description": "Get an EncryptionConfig.",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "required": true,
                      "pattern": "^organizations/[^/]+/locations/[^/]+/encryptionConfigs/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Required. The name of the EncryptionConfig to fetch."
                    }
                  },
                  "id": "dataplex.organizations.locations.encryptionConfigs.get"
                },
                "list": {
                  "path": "v1/{+parent}/encryptionConfigs",
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "dataplex.organizations.locations.encryptionConfigs.list",
                  "parameters": {
                    "filter": {
                      "description": "Optional. Filter the EncryptionConfigs to be returned. Using bare literals: (These values will be matched anywhere it may appear in the object's field values) * filter=some_value Using fields: (These values will be matched only in the specified field) * filter=some_field=some_value Supported fields: * name, key, create_time, update_time, encryption_state Example: * filter=name=organizations/123/locations/us-central1/encryptionConfigs/test-config conjunctions: (AND, OR, NOT) * filter=name=organizations/123/locations/us-central1/encryptionConfigs/test-config AND mode=CMEK logical operators: (\u003e, \u003c, \u003e=, \u003c=, !=, =, :), * filter=create_time\u003e2024-05-01T00:00:00.000Z",
                      "location": "query",
                      "type": "string"
                    },
                    "orderBy": {
                      "description": "Optional. Order by fields for the result.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "location": "path",
                      "type": "string",
                      "description": "Required. The location for which the EncryptionConfig is to be listed.",
                      "pattern": "^organizations/[^/]+/locations/[^/]+$",
                      "required": true
                    },
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "format": "int32",
                      "description": "Optional. Maximum number of EncryptionConfigs to return. The service may return fewer than this value. If unspecified, at most 10 EncryptionConfigs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000."
                    },
                    "pageToken": {
                      "description": "Optional. Page token received from a previous ListEncryptionConfigs call. Provide this to retrieve the subsequent page. When paginating, the parameters - filter and order_by provided to ListEncryptionConfigs must match the call that provided the page token.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "GET",
                  "description": "List EncryptionConfigs.",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListEncryptionConfigsResponse"
                  },
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/encryptionConfigs"
                },
                "setIamPolicy": {
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/encryptionConfigs/{encryptionConfigsId}:setIamPolicy",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "httpMethod": "POST",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "resource": {
                      "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.",
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^organizations/[^/]+/locations/[^/]+/encryptionConfigs/[^/]+$"
                    }
                  },
                  "id": "dataplex.organizations.locations.encryptionConfigs.setIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:setIamPolicy"
                },
                "create": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/encryptionConfigs",
                  "parameters": {
                    "parent": {
                      "description": "Required. The location at which the EncryptionConfig is to be created.",
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^organizations/[^/]+/locations/[^/]+$"
                    },
                    "encryptionConfigId": {
                      "location": "query",
                      "type": "string",
                      "description": "Required. The ID of the EncryptionConfig to create. Currently, only a value of \"default\" is supported."
                    }
                  },
                  "id": "dataplex.organizations.locations.encryptionConfigs.create",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "description": "Create an EncryptionConfig.",
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/encryptionConfigs",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1EncryptionConfig"
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  }
                },
                "testIamPermissions": {
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/encryptionConfigs/{encryptionConfigsId}:testIamPermissions",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "parameters": {
                    "resource": {
                      "pattern": "^organizations/[^/]+/locations/[^/]+/encryptionConfigs/[^/]+$",
                      "required": true,
                      "location": "path",
                      "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."
                    }
                  },
                  "id": "dataplex.organizations.locations.encryptionConfigs.testIamPermissions",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:testIamPermissions",
                  "httpMethod": "POST",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                }
              }
            },
            "operations": {
              "methods": {
                "get": {
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "GET",
                  "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "required": true,
                      "pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "description": "The name of the operation resource.",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "id": "dataplex.organizations.locations.operations.get"
                },
                "delete": {
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}",
                  "response": {
                    "$ref": "Empty"
                  },
                  "parameters": {
                    "name": {
                      "description": "The name of the operation resource to be deleted.",
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$"
                    }
                  },
                  "id": "dataplex.organizations.locations.operations.delete",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "httpMethod": "DELETE",
                  "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "list": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "GET",
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.",
                  "path": "v1/{+name}/operations",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataplex.organizations.locations.operations.list",
                  "parameters": {
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "The standard list page token."
                    },
                    "pageSize": {
                      "description": "The standard list page size.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "returnPartialSuccess": {
                      "description": "When set to true, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field.This can only be true when reading across collections. For example, when parent is set to \"projects/example/locations/-\".This field is not supported by default and will result in an UNIMPLEMENTED error if set unless explicitly documented otherwise in service or product specific documentation.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "name": {
                      "pattern": "^organizations/[^/]+/locations/[^/]+$",
                      "required": true,
                      "location": "path",
                      "type": "string",
                      "description": "The name of the operation's parent resource."
                    },
                    "filter": {
                      "description": "The standard list filter.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "GoogleLongrunningListOperationsResponse"
                  },
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations"
                },
                "cancel": {
                  "response": {
                    "$ref": "Empty"
                  },
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "request": {
                    "$ref": "GoogleLongrunningCancelOperationRequest"
                  },
                  "httpMethod": "POST",
                  "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.organizations.locations.operations.cancel",
                  "parameters": {
                    "name": {
                      "pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "required": true,
                      "description": "The name of the operation resource to be cancelled.",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}:cancel",
                  "parameterOrder": [
                    "name"
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "version_module": true,
  "revision": "20260406",
  "kind": "discovery#restDescription",
  "documentationLink": "https://cloud.google.com/dataplex/docs",
  "basePath": "",
  "name": "dataplex",
  "discoveryVersion": "v1",
  "baseUrl": "https://dataplex.googleapis.com/",
  "description": "A unified, intelligent governance solution for data and AI assets."
}
