{
  "kind": "discovery#restDescription",
  "endpoints": [
    {
      "endpointUrl": "https://dataplex.africa-south1.rep.googleapis.com/",
      "location": "africa-south1",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "location": "asia-east1",
      "endpointUrl": "https://dataplex.asia-east1.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://dataplex.asia-east2.rep.googleapis.com/",
      "location": "asia-east2",
      "description": "Regional Endpoint"
    },
    {
      "location": "asia-northeast1",
      "endpointUrl": "https://dataplex.asia-northeast1.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataplex.asia-northeast2.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "asia-northeast2"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.asia-northeast3.rep.googleapis.com/",
      "location": "asia-northeast3"
    },
    {
      "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",
      "location": "asia-southeast1",
      "endpointUrl": "https://dataplex.asia-southeast1.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "location": "asia-southeast2",
      "endpointUrl": "https://dataplex.asia-southeast2.rep.googleapis.com/"
    },
    {
      "location": "asia-southeast3",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.asia-southeast3.rep.googleapis.com/"
    },
    {
      "location": "australia-southeast1",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.australia-southeast1.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.australia-southeast2.rep.googleapis.com/",
      "location": "australia-southeast2"
    },
    {
      "endpointUrl": "https://dataplex.europe-central2.rep.googleapis.com/",
      "location": "europe-central2",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataplex.europe-north1.rep.googleapis.com/",
      "location": "europe-north1",
      "description": "Regional Endpoint"
    },
    {
      "location": "europe-north2",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.europe-north2.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://dataplex.europe-southwest1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "europe-southwest1"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.europe-west1.rep.googleapis.com/",
      "location": "europe-west1"
    },
    {
      "location": "europe-west10",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.europe-west10.rep.googleapis.com/"
    },
    {
      "location": "europe-west12",
      "endpointUrl": "https://dataplex.europe-west12.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataplex.europe-west15.rep.googleapis.com/",
      "location": "europe-west15",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataplex.europe-west2.rep.googleapis.com/",
      "location": "europe-west2",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataplex.europe-west3.rep.googleapis.com/",
      "location": "europe-west3",
      "description": "Regional Endpoint"
    },
    {
      "location": "europe-west4",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.europe-west4.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://dataplex.europe-west6.rep.googleapis.com/",
      "location": "europe-west6",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "location": "europe-west8",
      "endpointUrl": "https://dataplex.europe-west8.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "location": "europe-west9",
      "endpointUrl": "https://dataplex.europe-west9.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "location": "me-central1",
      "endpointUrl": "https://dataplex.me-central1.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://dataplex.me-central2.rep.googleapis.com/",
      "location": "me-central2",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataplex.me-west1.rep.googleapis.com/",
      "location": "me-west1",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataplex.northamerica-northeast1.rep.googleapis.com/",
      "location": "northamerica-northeast1",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "location": "northamerica-northeast2",
      "endpointUrl": "https://dataplex.northamerica-northeast2.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "location": "northamerica-south1",
      "endpointUrl": "https://dataplex.northamerica-south1.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.southamerica-east1.rep.googleapis.com/",
      "location": "southamerica-east1"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.southamerica-west1.rep.googleapis.com/",
      "location": "southamerica-west1"
    },
    {
      "description": "Regional Endpoint",
      "location": "us-central1",
      "endpointUrl": "https://dataplex.us-central1.rep.googleapis.com/"
    },
    {
      "location": "us-central2",
      "endpointUrl": "https://dataplex.us-central2.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataplex.us-east1.rep.googleapis.com/",
      "location": "us-east1",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "location": "us-east4",
      "endpointUrl": "https://dataplex.us-east4.rep.googleapis.com/"
    },
    {
      "location": "us-east5",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.us-east5.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://dataplex.us-east7.rep.googleapis.com/",
      "location": "us-east7",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataplex.us-south1.rep.googleapis.com/",
      "location": "us-south1",
      "description": "Regional Endpoint"
    },
    {
      "location": "us-west1",
      "endpointUrl": "https://dataplex.us-west1.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://dataplex.us-west2.rep.googleapis.com/",
      "location": "us-west2",
      "description": "Regional Endpoint"
    },
    {
      "location": "us-west3",
      "description": "Regional Endpoint",
      "endpointUrl": "https://dataplex.us-west3.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "location": "us-west4",
      "endpointUrl": "https://dataplex.us-west4.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "location": "us-west8",
      "endpointUrl": "https://dataplex.us-west8.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "location": "us",
      "endpointUrl": "https://dataplex.us.rep.googleapis.com/"
    },
    {
      "location": "eu",
      "endpointUrl": "https://dataplex.eu.rep.googleapis.com/",
      "description": "Regional Endpoint"
    }
  ],
  "name": "dataplex",
  "batchPath": "batch",
  "title": "Cloud Dataplex API",
  "version_module": true,
  "basePath": "",
  "canonicalName": "Cloud Dataplex",
  "version": "v1",
  "baseUrl": "https://dataplex.googleapis.com/",
  "discoveryVersion": "v1",
  "id": "dataplex:v1",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "resources": {
    "organizations": {
      "resources": {
        "locations": {
          "resources": {
            "encryptionConfigs": {
              "methods": {
                "getIamPolicy": {
                  "parameterOrder": [
                    "resource"
                  ],
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/encryptionConfigs/{encryptionConfigsId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "path": "v1/{+resource}:getIamPolicy",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "httpMethod": "GET",
                  "id": "dataplex.organizations.locations.encryptionConfigs.getIamPolicy",
                  "parameters": {
                    "resource": {
                      "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.",
                      "type": "string",
                      "pattern": "^organizations/[^/]+/locations/[^/]+/encryptionConfigs/[^/]+$",
                      "location": "path"
                    },
                    "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",
                      "format": "int32",
                      "type": "integer"
                    }
                  }
                },
                "get": {
                  "id": "dataplex.organizations.locations.encryptionConfigs.get",
                  "description": "Get an EncryptionConfig.",
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "pattern": "^organizations/[^/]+/locations/[^/]+/encryptionConfigs/[^/]+$",
                      "type": "string",
                      "location": "path",
                      "required": true,
                      "description": "Required. The name of the EncryptionConfig to fetch."
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "GET",
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/encryptionConfigs/{encryptionConfigsId}",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1EncryptionConfig"
                  }
                },
                "create": {
                  "description": "Create an EncryptionConfig.",
                  "httpMethod": "POST",
                  "id": "dataplex.organizations.locations.encryptionConfigs.create",
                  "parameters": {
                    "parent": {
                      "type": "string",
                      "pattern": "^organizations/[^/]+/locations/[^/]+$",
                      "description": "Required. The location at which the EncryptionConfig is to be created.",
                      "required": true,
                      "location": "path"
                    },
                    "encryptionConfigId": {
                      "type": "string",
                      "location": "query",
                      "description": "Required. The ID of the EncryptionConfig to create. Currently, only a value of \"default\" is supported."
                    }
                  },
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/encryptionConfigs",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/encryptionConfigs",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1EncryptionConfig"
                  }
                },
                "delete": {
                  "httpMethod": "DELETE",
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "description": "Required. The name of the EncryptionConfig to delete.",
                      "pattern": "^organizations/[^/]+/locations/[^/]+/encryptionConfigs/[^/]+$",
                      "required": true,
                      "type": "string",
                      "location": "path"
                    },
                    "etag": {
                      "location": "query",
                      "description": "Optional. Etag of the EncryptionConfig. This is a strong etag.",
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Delete an EncryptionConfig.",
                  "id": "dataplex.organizations.locations.encryptionConfigs.delete",
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/encryptionConfigs/{encryptionConfigsId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "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",
                  "path": "v1/{+parent}/encryptionConfigs",
                  "parameters": {
                    "parent": {
                      "location": "path",
                      "pattern": "^organizations/[^/]+/locations/[^/]+$",
                      "description": "Required. The location for which the EncryptionConfig is to be listed.",
                      "type": "string",
                      "required": true
                    },
                    "filter": {
                      "location": "query",
                      "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",
                      "type": "string"
                    },
                    "orderBy": {
                      "description": "Optional. Order by fields for the result.",
                      "type": "string",
                      "location": "query"
                    },
                    "pageSize": {
                      "location": "query",
                      "format": "int32",
                      "type": "integer",
                      "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.",
                      "type": "string",
                      "location": "query"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/encryptionConfigs",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListEncryptionConfigsResponse"
                  },
                  "id": "dataplex.organizations.locations.encryptionConfigs.list",
                  "description": "List EncryptionConfigs."
                },
                "patch": {
                  "description": "Update an EncryptionConfig.",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/encryptionConfigs/{encryptionConfigsId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "httpMethod": "PATCH",
                  "parameters": {
                    "updateMask": {
                      "type": "string",
                      "location": "query",
                      "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)."
                    },
                    "name": {
                      "required": true,
                      "type": "string",
                      "description": "Identifier. The resource name of the EncryptionConfig. Format: organizations/{organization}/locations/{location}/encryptionConfigs/{encryption_config} Global location is not supported.",
                      "location": "path",
                      "pattern": "^organizations/[^/]+/locations/[^/]+/encryptionConfigs/[^/]+$"
                    }
                  },
                  "id": "dataplex.organizations.locations.encryptionConfigs.patch",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1EncryptionConfig"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "setIamPolicy": {
                  "parameterOrder": [
                    "resource"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/encryptionConfigs/{encryptionConfigsId}:setIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "id": "dataplex.organizations.locations.encryptionConfigs.setIamPolicy",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "httpMethod": "POST",
                  "path": "v1/{+resource}:setIamPolicy",
                  "parameters": {
                    "resource": {
                      "required": true,
                      "type": "string",
                      "pattern": "^organizations/[^/]+/locations/[^/]+/encryptionConfigs/[^/]+$",
                      "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"
                    }
                  },
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors."
                },
                "testIamPermissions": {
                  "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.",
                  "id": "dataplex.organizations.locations.encryptionConfigs.testIamPermissions",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "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": "^organizations/[^/]+/locations/[^/]+/encryptionConfigs/[^/]+$",
                      "required": true
                    }
                  },
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "httpMethod": "POST",
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/encryptionConfigs/{encryptionConfigsId}:testIamPermissions",
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "parameterOrder": [
                    "resource"
                  ]
                }
              }
            },
            "operations": {
              "methods": {
                "cancel": {
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "The name of the operation resource to be cancelled.",
                      "pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "id": "dataplex.organizations.locations.operations.cancel",
                  "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.",
                  "path": "v1/{+name}:cancel",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "response": {
                    "$ref": "Empty"
                  },
                  "request": {
                    "$ref": "GoogleLongrunningCancelOperationRequest"
                  }
                },
                "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.",
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}",
                  "response": {
                    "$ref": "Empty"
                  },
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "description": "The name of the operation resource to be deleted.",
                      "pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "required": true,
                      "type": "string",
                      "location": "path"
                    }
                  },
                  "id": "dataplex.organizations.locations.operations.delete",
                  "httpMethod": "DELETE"
                },
                "list": {
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations",
                  "response": {
                    "$ref": "GoogleLongrunningListOperationsResponse"
                  },
                  "id": "dataplex.organizations.locations.operations.list",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.",
                  "parameters": {
                    "pageToken": {
                      "type": "string",
                      "location": "query",
                      "description": "The standard list page token."
                    },
                    "pageSize": {
                      "type": "integer",
                      "description": "The standard list page size.",
                      "format": "int32",
                      "location": "query"
                    },
                    "filter": {
                      "type": "string",
                      "location": "query",
                      "description": "The standard list filter."
                    },
                    "name": {
                      "description": "The name of the operation's parent resource.",
                      "pattern": "^organizations/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "required": true
                    },
                    "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"
                    }
                  },
                  "path": "v1/{+name}/operations",
                  "httpMethod": "GET"
                },
                "get": {
                  "id": "dataplex.organizations.locations.operations.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"
                  ],
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "type": "string",
                      "description": "The name of the operation resource.",
                      "required": true,
                      "location": "path",
                      "pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$"
                    }
                  },
                  "httpMethod": "GET",
                  "parameterOrder": [
                    "name"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "projects": {
      "resources": {
        "locations": {
          "resources": {
            "governanceRules": {
              "methods": {
                "testIamPermissions": {
                  "parameterOrder": [
                    "resource"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/governanceRules/{governanceRulesId}:testIamPermissions",
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "path": "v1/{+resource}:testIamPermissions",
                  "parameters": {
                    "resource": {
                      "type": "string",
                      "location": "path",
                      "description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/governanceRules/[^/]+$",
                      "required": true
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.governanceRules.testIamPermissions",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "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."
                },
                "setIamPolicy": {
                  "id": "dataplex.projects.locations.governanceRules.setIamPolicy",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/governanceRules/{governanceRulesId}:setIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "path": "v1/{+resource}:setIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "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.",
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/governanceRules/[^/]+$",
                      "required": true
                    }
                  },
                  "httpMethod": "POST"
                },
                "getIamPolicy": {
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "id": "dataplex.projects.locations.governanceRules.getIamPolicy",
                  "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"
                  },
                  "path": "v1/{+resource}:getIamPolicy",
                  "parameters": {
                    "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"
                    },
                    "resource": {
                      "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.",
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/governanceRules/[^/]+$"
                    }
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "httpMethod": "GET"
                }
              }
            },
            "aspectTypes": {
              "methods": {
                "create": {
                  "request": {
                    "$ref": "GoogleCloudDataplexV1AspectType"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.aspectTypes.create",
                  "parameterOrder": [
                    "parent"
                  ],
                  "description": "Creates an AspectType.",
                  "httpMethod": "POST",
                  "parameters": {
                    "aspectTypeId": {
                      "location": "query",
                      "type": "string",
                      "description": "Required. AspectType identifier."
                    },
                    "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.",
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true
                    },
                    "validateOnly": {
                      "description": "Optional. The service validates the request without performing any mutations. The default is false.",
                      "type": "boolean",
                      "location": "query"
                    }
                  },
                  "path": "v1/{+parent}/aspectTypes",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/aspectTypes",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  }
                },
                "delete": {
                  "id": "dataplex.projects.locations.aspectTypes.delete",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "path": "v1/{+name}",
                  "description": "Deletes an AspectType.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/aspectTypes/{aspectTypesId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "parameters": {
                    "name": {
                      "type": "string",
                      "description": "Required. The resource name of the AspectType: projects/{project_number}/locations/{location_id}/aspectTypes/{aspect_type_id}.",
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/aspectTypes/[^/]+$"
                    },
                    "etag": {
                      "description": "Optional. If the client provided etag value does not match the current etag value, the DeleteAspectTypeRequest method returns an ABORTED error response.",
                      "type": "string",
                      "location": "query"
                    }
                  },
                  "httpMethod": "DELETE",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "testIamPermissions": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/aspectTypes/{aspectTypesId}:testIamPermissions",
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.aspectTypes.testIamPermissions",
                  "path": "v1/{+resource}:testIamPermissions",
                  "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.",
                  "httpMethod": "POST",
                  "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",
                      "pattern": "^projects/[^/]+/locations/[^/]+/aspectTypes/[^/]+$",
                      "type": "string",
                      "required": true
                    }
                  },
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  }
                },
                "list": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/aspectTypes",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListAspectTypesResponse"
                  },
                  "path": "v1/{+parent}/aspectTypes",
                  "httpMethod": "GET",
                  "id": "dataplex.projects.locations.aspectTypes.list",
                  "parameterOrder": [
                    "parent"
                  ],
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "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.",
                      "type": "string",
                      "location": "path"
                    },
                    "pageSize": {
                      "location": "query",
                      "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.",
                      "type": "integer",
                      "format": "int32"
                    },
                    "filter": {
                      "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.",
                      "location": "query",
                      "type": "string"
                    },
                    "orderBy": {
                      "type": "string",
                      "location": "query",
                      "description": "Optional. Orders the result by name or create_time fields. If not specified, the ordering is undefined."
                    },
                    "pageToken": {
                      "location": "query",
                      "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.",
                      "type": "string"
                    }
                  },
                  "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"
                  ],
                  "description": "Lists AspectType resources in a project and location."
                },
                "setIamPolicy": {
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/aspectTypes/[^/]+$",
                      "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.",
                      "type": "string",
                      "required": true
                    }
                  },
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameterOrder": [
                    "resource"
                  ],
                  "httpMethod": "POST",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/aspectTypes/{aspectTypesId}:setIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "id": "dataplex.projects.locations.aspectTypes.setIamPolicy",
                  "path": "v1/{+resource}:setIamPolicy"
                },
                "get": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/aspectTypes/{aspectTypesId}",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1AspectType"
                  },
                  "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"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "GET",
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/aspectTypes/[^/]+$",
                      "type": "string",
                      "description": "Required. The resource name of the AspectType: projects/{project_number}/locations/{location_id}/aspectTypes/{aspect_type_id}.",
                      "required": true
                    }
                  },
                  "id": "dataplex.projects.locations.aspectTypes.get",
                  "description": "Gets an AspectType."
                },
                "patch": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/aspectTypes/{aspectTypesId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "path": "v1/{+name}",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1AspectType"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "description": "Updates an AspectType.",
                  "id": "dataplex.projects.locations.aspectTypes.patch",
                  "httpMethod": "PATCH",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "Output only. The relative resource name of the AspectType, of the form: projects/{project_number}/locations/{location_id}/aspectTypes/{aspect_type_id}.",
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/aspectTypes/[^/]+$"
                    },
                    "updateMask": {
                      "type": "string",
                      "format": "google-fieldmask",
                      "description": "Required. Mask of fields to update.",
                      "location": "query"
                    },
                    "validateOnly": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                    }
                  }
                },
                "getIamPolicy": {
                  "path": "v1/{+resource}:getIamPolicy",
                  "parameters": {
                    "resource": {
                      "description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/aspectTypes/[^/]+$",
                      "required": true,
                      "type": "string"
                    },
                    "options.requestedPolicyVersion": {
                      "type": "integer",
                      "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",
                      "format": "int32"
                    }
                  },
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "id": "dataplex.projects.locations.aspectTypes.getIamPolicy",
                  "httpMethod": "GET",
                  "parameterOrder": [
                    "resource"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/aspectTypes/{aspectTypesId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                }
              }
            },
            "metadataJobs": {
              "methods": {
                "create": {
                  "request": {
                    "$ref": "GoogleCloudDataplexV1MetadataJob"
                  },
                  "id": "dataplex.projects.locations.metadataJobs.create",
                  "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",
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "Required. The resource name of the parent location, in the format projects/{project_id_or_number}/locations/{location_id}",
                      "type": "string",
                      "location": "path",
                      "required": true
                    },
                    "metadataJobId": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. The metadata job ID. If not provided, a unique ID is generated with the prefix metadata-job-."
                    },
                    "validateOnly": {
                      "type": "boolean",
                      "location": "query",
                      "description": "Optional. The service validates the request without performing any mutations. The default is false."
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataJobs",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  }
                },
                "cancel": {
                  "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.",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}:cancel",
                  "id": "dataplex.projects.locations.metadataJobs.cancel",
                  "parameters": {
                    "name": {
                      "type": "string",
                      "location": "path",
                      "description": "Required. The resource name of the job, in the format projects/{project_id_or_number}/locations/{location_id}/metadataJobs/{metadata_job_id}",
                      "pattern": "^projects/[^/]+/locations/[^/]+/metadataJobs/[^/]+$",
                      "required": true
                    }
                  },
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1CancelMetadataJobRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataJobs/{metadataJobsId}:cancel",
                  "response": {
                    "$ref": "Empty"
                  }
                },
                "list": {
                  "httpMethod": "GET",
                  "description": "Lists metadata jobs.",
                  "parameters": {
                    "pageSize": {
                      "format": "int32",
                      "location": "query",
                      "type": "integer",
                      "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": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "Required. The resource name of the parent location, in the format projects/{project_id_or_number}/locations/{location_id}"
                    },
                    "orderBy": {
                      "description": "Optional. The field to sort the results by, either name or create_time. If not specified, the ordering is undefined.",
                      "type": "string",
                      "location": "query"
                    },
                    "filter": {
                      "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.",
                      "type": "string",
                      "location": "query"
                    }
                  },
                  "id": "dataplex.projects.locations.metadataJobs.list",
                  "path": "v1/{+parent}/metadataJobs",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataJobs",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListMetadataJobsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameterOrder": [
                    "parent"
                  ]
                },
                "get": {
                  "description": "Gets a metadata job.",
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "Required. The resource name of the metadata job, in the format projects/{project_id_or_number}/locations/{location_id}/metadataJobs/{metadata_job_id}.",
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/metadataJobs/[^/]+$"
                    }
                  },
                  "httpMethod": "GET",
                  "path": "v1/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataplex.projects.locations.metadataJobs.get",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataJobs/{metadataJobsId}",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1MetadataJob"
                  }
                }
              }
            },
            "metadataFeeds": {
              "methods": {
                "create": {
                  "description": "Creates a MetadataFeed.",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1MetadataFeed"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataFeeds",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "dataplex.projects.locations.metadataFeeds.create",
                  "path": "v1/{+parent}/metadataFeeds",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. The resource name of the parent location, in the format projects/{project_id_or_number}/locations/{location_id}",
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    },
                    "metadataFeedId": {
                      "type": "string",
                      "description": "Optional. The metadata job ID. If not provided, a unique ID is generated with the prefix metadata-job-.",
                      "location": "query"
                    },
                    "validateOnly": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. The service validates the request without performing any mutations. The default is false."
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "delete": {
                  "path": "v1/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataFeeds/{metadataFeedsId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "id": "dataplex.projects.locations.metadataFeeds.delete",
                  "httpMethod": "DELETE",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "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}.",
                      "required": true,
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "description": "Deletes a MetadataFeed."
                },
                "get": {
                  "description": "Gets a MetadataFeed.",
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "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/[^/]+$"
                    }
                  },
                  "httpMethod": "GET",
                  "id": "dataplex.projects.locations.metadataFeeds.get",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataFeeds/{metadataFeedsId}",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1MetadataFeed"
                  }
                },
                "list": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataFeeds",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListMetadataFeedsResponse"
                  },
                  "httpMethod": "GET",
                  "path": "v1/{+parent}/metadataFeeds",
                  "parameterOrder": [
                    "parent"
                  ],
                  "description": "Retrieve a list of MetadataFeeds.",
                  "parameters": {
                    "parent": {
                      "location": "path",
                      "description": "Required. The resource name of the parent location, in the format projects/{project_id_or_number}/locations/{location_id}",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true
                    },
                    "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."
                    },
                    "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.",
                      "format": "int32",
                      "location": "query",
                      "type": "integer"
                    },
                    "filter": {
                      "location": "query",
                      "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.",
                      "type": "string"
                    },
                    "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"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.metadataFeeds.list"
                },
                "patch": {
                  "parameters": {
                    "validateOnly": {
                      "type": "boolean",
                      "description": "Optional. Only validate the request, but do not perform mutations. The default is false.",
                      "location": "query"
                    },
                    "name": {
                      "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}.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/metadataFeeds/[^/]+$",
                      "required": true
                    },
                    "updateMask": {
                      "description": "Optional. Mask of fields to update.",
                      "location": "query",
                      "format": "google-fieldmask",
                      "type": "string"
                    }
                  },
                  "id": "dataplex.projects.locations.metadataFeeds.patch",
                  "httpMethod": "PATCH",
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Updates a MetadataFeed.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataFeeds/{metadataFeedsId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "request": {
                    "$ref": "GoogleCloudDataplexV1MetadataFeed"
                  },
                  "path": "v1/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                }
              }
            },
            "dataScans": {
              "resources": {
                "jobs": {
                  "methods": {
                    "cancel": {
                      "httpMethod": "POST",
                      "parameters": {
                        "name": {
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+/jobs/[^/]+$",
                          "location": "path",
                          "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."
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}/jobs/{jobsId}:cancel",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1CancelDataScanJobResponse"
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "request": {
                        "$ref": "GoogleCloudDataplexV1CancelDataScanJobRequest"
                      },
                      "path": "v1/{+name}:cancel",
                      "description": "Cancels a running/pending DataScan job.",
                      "id": "dataplex.projects.locations.dataScans.jobs.cancel"
                    },
                    "generateDataQualityRules": {
                      "httpMethod": "POST",
                      "parameters": {
                        "name": {
                          "required": true,
                          "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)",
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+/jobs/[^/]+$",
                          "type": "string",
                          "location": "path"
                        }
                      },
                      "id": "dataplex.projects.locations.dataScans.jobs.generateDataQualityRules",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1GenerateDataQualityRulesRequest"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}/jobs/{jobsId}:generateDataQualityRules",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1GenerateDataQualityRulesResponse"
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}:generateDataQualityRules",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "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."
                    },
                    "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"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "description": "Gets a DataScanJob resource.",
                      "path": "v1/{+name}",
                      "id": "dataplex.projects.locations.dataScans.jobs.get",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "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.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+/jobs/[^/]+$",
                          "location": "path",
                          "type": "string",
                          "required": true
                        },
                        "view": {
                          "enumDescriptions": [
                            "The API will default to the BASIC view.",
                            "Basic view that does not include spec and result.",
                            "Include everything."
                          ],
                          "type": "string",
                          "enum": [
                            "DATA_SCAN_JOB_VIEW_UNSPECIFIED",
                            "BASIC",
                            "FULL"
                          ],
                          "location": "query",
                          "description": "Optional. Select the DataScanJob view to return. Defaults to BASIC."
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}/jobs/{jobsId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1DataScanJob"
                      }
                    },
                    "list": {
                      "parameterOrder": [
                        "parent"
                      ],
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$",
                          "type": "string",
                          "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.",
                          "required": true
                        },
                        "filter": {
                          "location": "query",
                          "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.",
                          "type": "string"
                        },
                        "pageSize": {
                          "location": "query",
                          "format": "int32",
                          "type": "integer",
                          "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."
                        },
                        "pageToken": {
                          "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.",
                          "location": "query"
                        }
                      },
                      "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"
                      ],
                      "description": "Lists DataScanJobs under the given DataScan.",
                      "path": "v1/{+parent}/jobs",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}/jobs",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1ListDataScanJobsResponse"
                      },
                      "id": "dataplex.projects.locations.dataScans.jobs.list"
                    }
                  }
                }
              },
              "methods": {
                "run": {
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$",
                      "required": true,
                      "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."
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudDataplexV1RunDataScanRequest"
                  },
                  "description": "Runs an on-demand execution of a DataScan",
                  "path": "v1/{+name}:run",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}:run",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1RunDataScanResponse"
                  },
                  "id": "dataplex.projects.locations.dataScans.run"
                },
                "get": {
                  "parameterOrder": [
                    "name"
                  ],
                  "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"
                  },
                  "description": "Gets a DataScan resource.",
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$",
                      "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
                    },
                    "view": {
                      "enum": [
                        "DATA_SCAN_VIEW_UNSPECIFIED",
                        "BASIC",
                        "FULL"
                      ],
                      "description": "Optional. Select the DataScan view to return. Defaults to BASIC.",
                      "type": "string",
                      "location": "query",
                      "enumDescriptions": [
                        "The API will default to the BASIC view.",
                        "Basic view that does not include spec and result.",
                        "Include everything."
                      ]
                    }
                  },
                  "id": "dataplex.projects.locations.dataScans.get",
                  "httpMethod": "GET"
                },
                "getIamPolicy": {
                  "httpMethod": "GET",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$",
                      "type": "string",
                      "required": true,
                      "location": "path",
                      "description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field."
                    },
                    "options.requestedPolicyVersion": {
                      "type": "integer",
                      "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).",
                      "format": "int32",
                      "location": "query"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:getIamPolicy",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "id": "dataplex.projects.locations.dataScans.getIamPolicy",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "setIamPolicy": {
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$",
                      "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,
                      "type": "string"
                    }
                  },
                  "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",
                  "httpMethod": "POST",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}:setIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "id": "dataplex.projects.locations.dataScans.setIamPolicy",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "generateDataQualityRules": {
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "type": "string",
                      "required": true,
                      "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)",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$",
                      "location": "path"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}:generateDataQualityRules",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1GenerateDataQualityRulesResponse"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}:generateDataQualityRules",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "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.",
                  "id": "dataplex.projects.locations.dataScans.generateDataQualityRules",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1GenerateDataQualityRulesRequest"
                  }
                },
                "testIamPermissions": {
                  "parameterOrder": [
                    "resource"
                  ],
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$",
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field."
                    }
                  },
                  "id": "dataplex.projects.locations.dataScans.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.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}:testIamPermissions",
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "path": "v1/{+resource}:testIamPermissions"
                },
                "create": {
                  "description": "Creates a DataScan resource.",
                  "parameterOrder": [
                    "parent"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "path": "v1/{+parent}/dataScans",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1DataScan"
                  },
                  "httpMethod": "POST",
                  "parameters": {
                    "validateOnly": {
                      "type": "boolean",
                      "description": "Optional. Only validate the request, but do not perform mutations. The default is false.",
                      "location": "query"
                    },
                    "parent": {
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "location": "path",
                      "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."
                    },
                    "dataScanId": {
                      "description": "Optional. DataScan identifier. If not provided, a unique ID will be generated with the prefix \"data-scan-\". 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"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.dataScans.create"
                },
                "delete": {
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "name": {
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$",
                      "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"
                    },
                    "force": {
                      "location": "query",
                      "type": "boolean",
                      "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.)"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "httpMethod": "DELETE",
                  "id": "dataplex.projects.locations.dataScans.delete",
                  "description": "Deletes a DataScan resource.",
                  "path": "v1/{+name}"
                },
                "patch": {
                  "request": {
                    "$ref": "GoogleCloudDataplexV1DataScan"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "PATCH",
                  "id": "dataplex.projects.locations.dataScans.patch",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "validateOnly": {
                      "description": "Optional. Only validate the request, but do not perform mutations. The default is false.",
                      "type": "boolean",
                      "location": "query"
                    },
                    "name": {
                      "location": "path",
                      "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.",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$"
                    },
                    "updateMask": {
                      "type": "string",
                      "description": "Optional. Mask of fields to update.",
                      "format": "google-fieldmask",
                      "location": "query"
                    }
                  },
                  "path": "v1/{+name}",
                  "description": "Updates a DataScan resource.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans/{dataScansId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  }
                },
                "list": {
                  "description": "Lists DataScans.",
                  "parameterOrder": [
                    "parent"
                  ],
                  "parameters": {
                    "pageToken": {
                      "type": "string",
                      "location": "query",
                      "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."
                    },
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "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.",
                      "type": "string",
                      "required": true
                    },
                    "orderBy": {
                      "location": "query",
                      "description": "Optional. Order by fields (name or create_time) for the result. If not specified, the ordering is undefined.",
                      "type": "string"
                    },
                    "filter": {
                      "type": "string",
                      "location": "query",
                      "description": "Optional. Filter request."
                    },
                    "pageSize": {
                      "format": "int32",
                      "type": "integer",
                      "location": "query",
                      "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."
                    }
                  },
                  "path": "v1/{+parent}/dataScans",
                  "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",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataScans",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListDataScansResponse"
                  },
                  "id": "dataplex.projects.locations.dataScans.list"
                }
              }
            },
            "agentTasks": {
              "methods": {
                "getIamPolicy": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/agentTasks/{agentTasksId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "options.requestedPolicyVersion": {
                      "location": "query",
                      "format": "int32",
                      "type": "integer",
                      "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)."
                    },
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/agentTasks/[^/]+$",
                      "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."
                    }
                  },
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "httpMethod": "GET",
                  "path": "v1/{+resource}:getIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataplex.projects.locations.agentTasks.getIamPolicy"
                },
                "testIamPermissions": {
                  "path": "v1/{+resource}:testIamPermissions",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/agentTasks/{agentTasksId}:testIamPermissions",
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "id": "dataplex.projects.locations.agentTasks.testIamPermissions",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/agentTasks/[^/]+$",
                      "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.",
                      "type": "string",
                      "required": true
                    }
                  },
                  "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.",
                  "httpMethod": "POST"
                },
                "setIamPolicy": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/agentTasks/{agentTasksId}:setIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "id": "dataplex.projects.locations.agentTasks.setIamPolicy",
                  "path": "v1/{+resource}:setIamPolicy",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/agentTasks/[^/]+$",
                      "type": "string",
                      "description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "required": true,
                      "location": "path"
                    }
                  }
                }
              }
            },
            "dataTaxonomies": {
              "methods": {
                "testIamPermissions": {
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:testIamPermissions",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "id": "dataplex.projects.locations.dataTaxonomies.testIamPermissions",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "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}/dataTaxonomies/{dataTaxonomiesId}:testIamPermissions",
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "httpMethod": "POST",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "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."
                    }
                  }
                },
                "setIamPolicy": {
                  "parameterOrder": [
                    "resource"
                  ],
                  "parameters": {
                    "resource": {
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+$",
                      "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."
                    }
                  },
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "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",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "path": "v1/{+resource}:setIamPolicy"
                },
                "getIamPolicy": {
                  "id": "dataplex.projects.locations.dataTaxonomies.getIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "path": "v1/{+resource}:getIamPolicy",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "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.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "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).",
                      "format": "int32",
                      "location": "query",
                      "type": "integer"
                    }
                  },
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                }
              },
              "resources": {
                "attributes": {
                  "methods": {
                    "getIamPolicy": {
                      "httpMethod": "GET",
                      "parameterOrder": [
                        "resource"
                      ],
                      "parameters": {
                        "resource": {
                          "location": "path",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+/attributes/[^/]+$",
                          "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."
                        },
                        "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).",
                          "type": "integer",
                          "format": "int32",
                          "location": "query"
                        }
                      },
                      "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"
                      ],
                      "path": "v1/{+resource}:getIamPolicy",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}/attributes/{attributesId}:getIamPolicy",
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "id": "dataplex.projects.locations.dataTaxonomies.attributes.getIamPolicy"
                    },
                    "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.",
                      "parameters": {
                        "resource": {
                          "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",
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+/attributes/[^/]+$"
                        }
                      },
                      "parameterOrder": [
                        "resource"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}/attributes/{attributesId}:setIamPolicy",
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "request": {
                        "$ref": "GoogleIamV1SetIamPolicyRequest"
                      },
                      "id": "dataplex.projects.locations.dataTaxonomies.attributes.setIamPolicy",
                      "path": "v1/{+resource}:setIamPolicy"
                    },
                    "testIamPermissions": {
                      "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.",
                      "parameters": {
                        "resource": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataTaxonomies/[^/]+/attributes/[^/]+$",
                          "location": "path",
                          "description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                          "type": "string",
                          "required": true
                        }
                      },
                      "parameterOrder": [
                        "resource"
                      ],
                      "request": {
                        "$ref": "GoogleIamV1TestIamPermissionsRequest"
                      },
                      "httpMethod": "POST",
                      "id": "dataplex.projects.locations.dataTaxonomies.attributes.testIamPermissions",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataTaxonomies/{dataTaxonomiesId}/attributes/{attributesId}:testIamPermissions",
                      "response": {
                        "$ref": "GoogleIamV1TestIamPermissionsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "path": "v1/{+resource}:testIamPermissions"
                    }
                  }
                }
              }
            },
            "glossaries": {
              "methods": {
                "getIamPolicy": {
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "resource": {
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$",
                      "location": "path",
                      "description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field."
                    },
                    "options.requestedPolicyVersion": {
                      "location": "query",
                      "description": "Optional. The maximum policy version that will be used to format the policy.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset.The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "parameterOrder": [
                    "resource"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "id": "dataplex.projects.locations.glossaries.getIamPolicy",
                  "path": "v1/{+resource}:getIamPolicy"
                },
                "list": {
                  "description": "Lists Glossary resources in a project and location.",
                  "parameters": {
                    "filter": {
                      "location": "query",
                      "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",
                      "type": "string"
                    },
                    "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."
                    },
                    "orderBy": {
                      "location": "query",
                      "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.",
                      "type": "string"
                    },
                    "parent": {
                      "location": "path",
                      "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.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string",
                      "required": true
                    },
                    "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.",
                      "type": "integer",
                      "location": "query",
                      "format": "int32"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "httpMethod": "GET",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListGlossariesResponse"
                  },
                  "path": "v1/{+parent}/glossaries",
                  "id": "dataplex.projects.locations.glossaries.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"
                  ]
                },
                "testIamPermissions": {
                  "path": "v1/{+resource}:testIamPermissions",
                  "parameterOrder": [
                    "resource"
                  ],
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "id": "dataplex.projects.locations.glossaries.testIamPermissions",
                  "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}/glossaries/{glossariesId}:testIamPermissions",
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "resource": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$",
                      "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.",
                      "type": "string",
                      "location": "path"
                    }
                  }
                },
                "patch": {
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudDataplexV1Glossary"
                  },
                  "httpMethod": "PATCH",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "parameters": {
                    "updateMask": {
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask",
                      "description": "Required. The list of fields to update."
                    },
                    "name": {
                      "location": "path",
                      "description": "Output only. Identifier. The resource name of the Glossary. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$",
                      "type": "string"
                    },
                    "validateOnly": {
                      "description": "Optional. Validates the request without actually updating the Glossary. Default: false.",
                      "location": "query",
                      "type": "boolean"
                    }
                  },
                  "description": "Updates a Glossary resource.",
                  "path": "v1/{+name}",
                  "id": "dataplex.projects.locations.glossaries.patch",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "get": {
                  "id": "dataplex.projects.locations.glossaries.get",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1Glossary"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "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"
                  ],
                  "path": "v1/{+name}",
                  "description": "Gets a Glossary resource.",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "description": "Required. The name of the Glossary to retrieve. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}",
                      "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$"
                    }
                  }
                },
                "create": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "description": "Creates a new Glossary resource.",
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "dataplex.projects.locations.glossaries.create",
                  "parameters": {
                    "glossaryId": {
                      "type": "string",
                      "description": "Required. Glossary ID: Glossary identifier.",
                      "location": "query"
                    },
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "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.",
                      "required": true,
                      "type": "string"
                    },
                    "validateOnly": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. Validates the request without actually creating the Glossary. Default: false."
                    }
                  },
                  "httpMethod": "POST",
                  "path": "v1/{+parent}/glossaries",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1Glossary"
                  }
                },
                "delete": {
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "location": "path",
                      "description": "Required. The name of the Glossary to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}",
                      "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$",
                      "type": "string",
                      "required": true
                    },
                    "etag": {
                      "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.",
                      "location": "query"
                    }
                  },
                  "id": "dataplex.projects.locations.glossaries.delete",
                  "httpMethod": "DELETE",
                  "path": "v1/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "description": "Deletes a Glossary resource. All the categories and terms within the Glossary must be deleted before the Glossary can be deleted."
                },
                "setIamPolicy": {
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}:setIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "id": "dataplex.projects.locations.glossaries.setIamPolicy",
                  "httpMethod": "POST",
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$",
                      "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."
                    }
                  },
                  "path": "v1/{+resource}:setIamPolicy",
                  "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"
                  ],
                  "parameterOrder": [
                    "resource"
                  ]
                }
              },
              "resources": {
                "categories": {
                  "methods": {
                    "testIamPermissions": {
                      "parameters": {
                        "resource": {
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/categories/[^/]+$",
                          "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.",
                          "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.",
                      "parameterOrder": [
                        "resource"
                      ],
                      "request": {
                        "$ref": "GoogleIamV1TestIamPermissionsRequest"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories/{categoriesId}:testIamPermissions",
                      "response": {
                        "$ref": "GoogleIamV1TestIamPermissionsResponse"
                      },
                      "id": "dataplex.projects.locations.glossaries.categories.testIamPermissions",
                      "path": "v1/{+resource}:testIamPermissions"
                    },
                    "create": {
                      "httpMethod": "POST",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1GlossaryCategory"
                      },
                      "parameters": {
                        "categoryId": {
                          "location": "query",
                          "type": "string",
                          "description": "Required. GlossaryCategory identifier."
                        },
                        "parent": {
                          "location": "path",
                          "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.",
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$"
                        }
                      },
                      "description": "Creates a new GlossaryCategory resource.",
                      "path": "v1/{+parent}/categories",
                      "id": "dataplex.projects.locations.glossaries.categories.create",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1GlossaryCategory"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "parameterOrder": [
                        "parent"
                      ]
                    },
                    "delete": {
                      "id": "dataplex.projects.locations.glossaries.categories.delete",
                      "parameterOrder": [
                        "name"
                      ],
                      "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.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories/{categoriesId}",
                      "response": {
                        "$ref": "Empty"
                      },
                      "httpMethod": "DELETE",
                      "parameters": {
                        "name": {
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/categories/[^/]+$",
                          "location": "path",
                          "description": "Required. The name of the GlossaryCategory to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}",
                          "required": true
                        }
                      }
                    },
                    "get": {
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "Required. The name of the GlossaryCategory to retrieve. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}",
                          "location": "path",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/categories/[^/]+$",
                          "required": true
                        }
                      },
                      "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"
                      ],
                      "path": "v1/{+name}",
                      "httpMethod": "GET",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories/{categoriesId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1GlossaryCategory"
                      },
                      "id": "dataplex.projects.locations.glossaries.categories.get"
                    },
                    "setIamPolicy": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories/{categoriesId}:setIamPolicy",
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "httpMethod": "POST",
                      "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/[^/]+/glossaries/[^/]+/categories/[^/]+$"
                        }
                      },
                      "id": "dataplex.projects.locations.glossaries.categories.setIamPolicy",
                      "parameterOrder": [
                        "resource"
                      ],
                      "request": {
                        "$ref": "GoogleIamV1SetIamPolicyRequest"
                      },
                      "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"
                      ],
                      "path": "v1/{+resource}:setIamPolicy"
                    },
                    "list": {
                      "httpMethod": "GET",
                      "description": "Lists GlossaryCategory resources in a Glossary.",
                      "parameters": {
                        "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"
                        },
                        "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."
                        },
                        "parent": {
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$",
                          "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"
                        },
                        "pageSize": {
                          "type": "integer",
                          "location": "query",
                          "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."
                        },
                        "filter": {
                          "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.",
                          "location": "query"
                        }
                      },
                      "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"
                      ],
                      "parameterOrder": [
                        "parent"
                      ],
                      "path": "v1/{+parent}/categories",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1ListGlossaryCategoriesResponse"
                      },
                      "id": "dataplex.projects.locations.glossaries.categories.list"
                    },
                    "patch": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "id": "dataplex.projects.locations.glossaries.categories.patch",
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "GoogleCloudDataplexV1GlossaryCategory"
                      },
                      "path": "v1/{+name}",
                      "httpMethod": "PATCH",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories/{categoriesId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1GlossaryCategory"
                      },
                      "description": "Updates a GlossaryCategory resource.",
                      "parameters": {
                        "updateMask": {
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask",
                          "description": "Required. The list of fields to update."
                        },
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/categories/[^/]+$",
                          "type": "string",
                          "location": "path",
                          "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}",
                          "required": true
                        }
                      }
                    },
                    "getIamPolicy": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "path": "v1/{+resource}:getIamPolicy",
                      "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                      "parameters": {
                        "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",
                          "format": "int32",
                          "type": "integer"
                        },
                        "resource": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/categories/[^/]+$",
                          "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,
                          "type": "string",
                          "location": "path"
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories/{categoriesId}:getIamPolicy",
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "httpMethod": "GET",
                      "id": "dataplex.projects.locations.glossaries.categories.getIamPolicy",
                      "parameterOrder": [
                        "resource"
                      ]
                    }
                  }
                },
                "terms": {
                  "methods": {
                    "setIamPolicy": {
                      "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"
                      ],
                      "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",
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/terms/[^/]+$",
                          "type": "string",
                          "required": true
                        }
                      },
                      "id": "dataplex.projects.locations.glossaries.terms.setIamPolicy",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms/{termsId}:setIamPolicy",
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "parameterOrder": [
                        "resource"
                      ],
                      "request": {
                        "$ref": "GoogleIamV1SetIamPolicyRequest"
                      }
                    },
                    "get": {
                      "description": "Gets a GlossaryTerm resource.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms/{termsId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1GlossaryTerm"
                      },
                      "id": "dataplex.projects.locations.glossaries.terms.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"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/terms/[^/]+$",
                          "description": "Required. The name of the GlossaryTerm to retrieve. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}",
                          "required": true,
                          "type": "string",
                          "location": "path"
                        }
                      },
                      "path": "v1/{+name}",
                      "httpMethod": "GET"
                    },
                    "patch": {
                      "parameters": {
                        "name": {
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/terms/[^/]+$",
                          "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}",
                          "location": "path"
                        },
                        "updateMask": {
                          "description": "Required. The list of fields to update.",
                          "type": "string",
                          "format": "google-fieldmask",
                          "location": "query"
                        }
                      },
                      "id": "dataplex.projects.locations.glossaries.terms.patch",
                      "description": "Updates a GlossaryTerm resource.",
                      "httpMethod": "PATCH",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1GlossaryTerm"
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms/{termsId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1GlossaryTerm"
                      },
                      "path": "v1/{+name}"
                    },
                    "create": {
                      "request": {
                        "$ref": "GoogleCloudDataplexV1GlossaryTerm"
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "httpMethod": "POST",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1GlossaryTerm"
                      },
                      "parameters": {
                        "parent": {
                          "type": "string",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$",
                          "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.",
                          "required": true
                        },
                        "termId": {
                          "description": "Required. GlossaryTerm identifier.",
                          "type": "string",
                          "location": "query"
                        }
                      },
                      "id": "dataplex.projects.locations.glossaries.terms.create",
                      "description": "Creates a new GlossaryTerm resource.",
                      "path": "v1/{+parent}/terms",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    },
                    "delete": {
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/terms/[^/]+$",
                          "required": true,
                          "location": "path",
                          "description": "Required. The name of the GlossaryTerm to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}",
                          "type": "string"
                        }
                      },
                      "path": "v1/{+name}",
                      "httpMethod": "DELETE",
                      "id": "dataplex.projects.locations.glossaries.terms.delete",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "description": "Deletes a GlossaryTerm resource.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms/{termsId}",
                      "response": {
                        "$ref": "Empty"
                      }
                    },
                    "list": {
                      "parameterOrder": [
                        "parent"
                      ],
                      "id": "dataplex.projects.locations.glossaries.terms.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"
                      ],
                      "path": "v1/{+parent}/terms",
                      "httpMethod": "GET",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1ListGlossaryTermsResponse"
                      },
                      "parameters": {
                        "parent": {
                          "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",
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$"
                        },
                        "pageSize": {
                          "location": "query",
                          "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.",
                          "type": "integer"
                        },
                        "filter": {
                          "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.",
                          "location": "query"
                        },
                        "orderBy": {
                          "type": "string",
                          "location": "query",
                          "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."
                        },
                        "pageToken": {
                          "type": "string",
                          "location": "query",
                          "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."
                        }
                      },
                      "description": "Lists GlossaryTerm resources in a Glossary."
                    },
                    "testIamPermissions": {
                      "request": {
                        "$ref": "GoogleIamV1TestIamPermissionsRequest"
                      },
                      "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.",
                          "type": "string",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/terms/[^/]+$",
                          "location": "path"
                        }
                      },
                      "httpMethod": "POST",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "id": "dataplex.projects.locations.glossaries.terms.testIamPermissions",
                      "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",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms/{termsId}:testIamPermissions",
                      "response": {
                        "$ref": "GoogleIamV1TestIamPermissionsResponse"
                      }
                    },
                    "getIamPolicy": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms/{termsId}:getIamPolicy",
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "parameterOrder": [
                        "resource"
                      ],
                      "httpMethod": "GET",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "parameters": {
                        "options.requestedPolicyVersion": {
                          "format": "int32",
                          "location": "query",
                          "type": "integer",
                          "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)."
                        },
                        "resource": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/terms/[^/]+$",
                          "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",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+resource}:getIamPolicy",
                      "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                      "id": "dataplex.projects.locations.glossaries.terms.getIamPolicy"
                    }
                  }
                }
              }
            },
            "entryLinkTypes": {
              "methods": {
                "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.",
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryLinkTypes/[^/]+$",
                      "required": true
                    }
                  },
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:setIamPolicy",
                  "id": "dataplex.projects.locations.entryLinkTypes.setIamPolicy",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryLinkTypes/{entryLinkTypesId}:setIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "getIamPolicy": {
                  "parameterOrder": [
                    "resource"
                  ],
                  "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}/entryLinkTypes/{entryLinkTypesId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "resource": {
                      "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.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryLinkTypes/[^/]+$",
                      "required": true
                    },
                    "options.requestedPolicyVersion": {
                      "format": "int32",
                      "description": "Optional. The maximum policy version that will be used to format the policy.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset.The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).",
                      "type": "integer",
                      "location": "query"
                    }
                  },
                  "path": "v1/{+resource}:getIamPolicy",
                  "id": "dataplex.projects.locations.entryLinkTypes.getIamPolicy",
                  "httpMethod": "GET"
                },
                "testIamPermissions": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryLinkTypes/{entryLinkTypesId}:testIamPermissions",
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "path": "v1/{+resource}:testIamPermissions",
                  "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.",
                  "id": "dataplex.projects.locations.entryLinkTypes.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.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryLinkTypes/[^/]+$"
                    }
                  },
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "resource"
                  ],
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  }
                }
              }
            },
            "lakes": {
              "resources": {
                "actions": {
                  "methods": {
                    "list": {
                      "parameters": {
                        "pageSize": {
                          "location": "query",
                          "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.",
                          "type": "integer"
                        },
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$",
                          "type": "string",
                          "required": true,
                          "location": "path",
                          "description": "Required. The resource name of the parent lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}."
                        },
                        "pageToken": {
                          "type": "string",
                          "location": "query",
                          "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."
                        }
                      },
                      "path": "v1/{+parent}/actions",
                      "httpMethod": "GET",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/actions",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1ListActionsResponse"
                      },
                      "id": "dataplex.projects.locations.lakes.actions.list",
                      "parameterOrder": [
                        "parent"
                      ],
                      "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"
                      ]
                    }
                  }
                },
                "zones": {
                  "methods": {
                    "setIamPolicy": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}:setIamPolicy",
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "path": "v1/{+resource}:setIamPolicy",
                      "id": "dataplex.projects.locations.lakes.zones.setIamPolicy",
                      "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                      "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",
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$"
                        }
                      },
                      "parameterOrder": [
                        "resource"
                      ],
                      "httpMethod": "POST",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "request": {
                        "$ref": "GoogleIamV1SetIamPolicyRequest"
                      }
                    },
                    "list": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1ListZonesResponse"
                      },
                      "id": "dataplex.projects.locations.lakes.zones.list",
                      "httpMethod": "GET",
                      "description": "Lists zone resources in a lake.",
                      "parameters": {
                        "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": {
                          "type": "integer",
                          "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.",
                          "location": "query",
                          "format": "int32"
                        },
                        "orderBy": {
                          "type": "string",
                          "description": "Optional. Order by fields for the result.",
                          "location": "query"
                        },
                        "parent": {
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "description": "Required. The resource name of the parent lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$"
                        },
                        "filter": {
                          "description": "Optional. Filter request.",
                          "type": "string",
                          "location": "query"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "path": "v1/{+parent}/zones",
                      "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"
                      ]
                    },
                    "patch": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "id": "dataplex.projects.locations.lakes.zones.patch",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}",
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$",
                          "required": true,
                          "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}.",
                          "location": "path"
                        },
                        "validateOnly": {
                          "type": "boolean",
                          "description": "Optional. Only validate the request, but do not perform mutations. The default is false.",
                          "location": "query"
                        },
                        "updateMask": {
                          "location": "query",
                          "description": "Required. Mask of fields to update.",
                          "type": "string",
                          "format": "google-fieldmask"
                        }
                      },
                      "request": {
                        "$ref": "GoogleCloudDataplexV1Zone"
                      },
                      "httpMethod": "PATCH",
                      "description": "Updates a zone resource."
                    },
                    "create": {
                      "parameters": {
                        "parent": {
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$",
                          "type": "string",
                          "description": "Required. The resource name of the parent lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.",
                          "required": true
                        },
                        "zoneId": {
                          "type": "string",
                          "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"
                        },
                        "validateOnly": {
                          "description": "Optional. Only validate the request, but do not perform mutations. The default is false.",
                          "type": "boolean",
                          "location": "query"
                        }
                      },
                      "httpMethod": "POST",
                      "id": "dataplex.projects.locations.lakes.zones.create",
                      "path": "v1/{+parent}/zones",
                      "request": {
                        "$ref": "GoogleCloudDataplexV1Zone"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones",
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "description": "Creates a zone resource within a lake."
                    },
                    "delete": {
                      "httpMethod": "DELETE",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "Required. The resource name of the zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.",
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$",
                          "location": "path"
                        }
                      },
                      "description": "Deletes a zone resource. All assets within a zone must be deleted before the zone can be deleted.",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}",
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "id": "dataplex.projects.locations.lakes.zones.delete"
                    },
                    "getIamPolicy": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}:getIamPolicy",
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "parameters": {
                        "options.requestedPolicyVersion": {
                          "format": "int32",
                          "location": "query",
                          "description": "Optional. The maximum policy version that will be used to format the policy.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset.The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).",
                          "type": "integer"
                        },
                        "resource": {
                          "description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$",
                          "location": "path"
                        }
                      },
                      "httpMethod": "GET",
                      "parameterOrder": [
                        "resource"
                      ],
                      "id": "dataplex.projects.locations.lakes.zones.getIamPolicy",
                      "path": "v1/{+resource}:getIamPolicy",
                      "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set."
                    },
                    "get": {
                      "parameters": {
                        "name": {
                          "location": "path",
                          "required": true,
                          "description": "Required. The resource name of the zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$"
                        }
                      },
                      "description": "Retrieves a zone resource.",
                      "httpMethod": "GET",
                      "id": "dataplex.projects.locations.lakes.zones.get",
                      "parameterOrder": [
                        "name"
                      ],
                      "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"
                      ],
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1Zone"
                      }
                    },
                    "testIamPermissions": {
                      "httpMethod": "POST",
                      "id": "dataplex.projects.locations.lakes.zones.testIamPermissions",
                      "parameters": {
                        "resource": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$",
                          "type": "string",
                          "description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                          "required": true,
                          "location": "path"
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}:testIamPermissions",
                      "response": {
                        "$ref": "GoogleIamV1TestIamPermissionsResponse"
                      },
                      "path": "v1/{+resource}:testIamPermissions",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "parameterOrder": [
                        "resource"
                      ],
                      "request": {
                        "$ref": "GoogleIamV1TestIamPermissionsRequest"
                      },
                      "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."
                    }
                  },
                  "resources": {
                    "entities": {
                      "methods": {
                        "create": {
                          "id": "dataplex.projects.locations.lakes.zones.entities.create",
                          "path": "v1/{+parent}/entities",
                          "description": "Create a metadata entity.",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "parameterOrder": [
                            "parent"
                          ],
                          "httpMethod": "POST",
                          "parameters": {
                            "parent": {
                              "type": "string",
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$",
                              "required": true,
                              "location": "path",
                              "description": "Required. The resource name of the parent zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}."
                            },
                            "validateOnly": {
                              "description": "Optional. Only validate the request, but do not perform mutations. The default is false.",
                              "type": "boolean",
                              "location": "query"
                            }
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities",
                          "response": {
                            "$ref": "GoogleCloudDataplexV1Entity"
                          },
                          "request": {
                            "$ref": "GoogleCloudDataplexV1Entity"
                          }
                        },
                        "delete": {
                          "parameterOrder": [
                            "name"
                          ],
                          "httpMethod": "DELETE",
                          "parameters": {
                            "name": {
                              "type": "string",
                              "location": "path",
                              "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}.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+$"
                            },
                            "etag": {
                              "location": "query",
                              "type": "string",
                              "description": "Required. The etag associated with the entity, which can be retrieved with a GetEntity request."
                            }
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "id": "dataplex.projects.locations.lakes.zones.entities.delete",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}",
                          "response": {
                            "$ref": "Empty"
                          },
                          "path": "v1/{+name}",
                          "description": "Delete a metadata entity."
                        },
                        "get": {
                          "path": "v1/{+name}",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "parameters": {
                            "name": {
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+$",
                              "type": "string",
                              "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}."
                            },
                            "view": {
                              "enum": [
                                "ENTITY_VIEW_UNSPECIFIED",
                                "BASIC",
                                "SCHEMA",
                                "FULL"
                              ],
                              "location": "query",
                              "description": "Optional. Used to select the subset of entity information to return. Defaults to BASIC.",
                              "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."
                              ]
                            }
                          },
                          "description": "Get a metadata entity.",
                          "httpMethod": "GET",
                          "id": "dataplex.projects.locations.lakes.zones.entities.get",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}",
                          "response": {
                            "$ref": "GoogleCloudDataplexV1Entity"
                          },
                          "parameterOrder": [
                            "name"
                          ]
                        },
                        "update": {
                          "id": "dataplex.projects.locations.lakes.zones.entities.update",
                          "parameters": {
                            "validateOnly": {
                              "location": "query",
                              "type": "boolean",
                              "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                            },
                            "name": {
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+$",
                              "location": "path",
                              "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}.",
                              "type": "string",
                              "required": true
                            }
                          },
                          "request": {
                            "$ref": "GoogleCloudDataplexV1Entity"
                          },
                          "description": "Update a metadata entity. Only supports full resource update.",
                          "httpMethod": "PUT",
                          "parameterOrder": [
                            "name"
                          ],
                          "path": "v1/{+name}",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}",
                          "response": {
                            "$ref": "GoogleCloudDataplexV1Entity"
                          }
                        },
                        "list": {
                          "description": "List metadata entities in a zone.",
                          "path": "v1/{+parent}/entities",
                          "id": "dataplex.projects.locations.lakes.zones.entities.list",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities",
                          "response": {
                            "$ref": "GoogleCloudDataplexV1ListEntitiesResponse"
                          },
                          "parameters": {
                            "pageToken": {
                              "type": "string",
                              "location": "query",
                              "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."
                            },
                            "view": {
                              "description": "Required. Specify the entity view to make a partial list request.",
                              "enumDescriptions": [
                                "The default unset value. Return both table and fileset entities if unspecified.",
                                "Only list table entities.",
                                "Only list fileset entities."
                              ],
                              "location": "query",
                              "enum": [
                                "ENTITY_VIEW_UNSPECIFIED",
                                "TABLES",
                                "FILESETS"
                              ],
                              "type": "string"
                            },
                            "parent": {
                              "required": true,
                              "type": "string",
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$",
                              "location": "path",
                              "description": "Required. The resource name of the parent zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}."
                            },
                            "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.",
                              "type": "integer",
                              "format": "int32",
                              "location": "query"
                            },
                            "filter": {
                              "location": "query",
                              "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\"",
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "parent"
                          ],
                          "httpMethod": "GET",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ]
                        }
                      },
                      "resources": {
                        "partitions": {
                          "methods": {
                            "create": {
                              "description": "Create a metadata partition.",
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform",
                                "https://www.googleapis.com/auth/dataplex.read-write"
                              ],
                              "request": {
                                "$ref": "GoogleCloudDataplexV1Partition"
                              },
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}/partitions",
                              "response": {
                                "$ref": "GoogleCloudDataplexV1Partition"
                              },
                              "path": "v1/{+parent}/partitions",
                              "httpMethod": "POST",
                              "parameterOrder": [
                                "parent"
                              ],
                              "id": "dataplex.projects.locations.lakes.zones.entities.partitions.create",
                              "parameters": {
                                "validateOnly": {
                                  "type": "boolean",
                                  "location": "query",
                                  "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                                },
                                "parent": {
                                  "location": "path",
                                  "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+$",
                                  "required": true,
                                  "description": "Required. The resource name of the parent zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}.",
                                  "type": "string"
                                }
                              }
                            },
                            "delete": {
                              "path": "v1/{+name}",
                              "description": "Delete a metadata partition.",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}/partitions/{partitionsId}",
                              "response": {
                                "$ref": "Empty"
                              },
                              "httpMethod": "DELETE",
                              "parameterOrder": [
                                "name"
                              ],
                              "parameters": {
                                "name": {
                                  "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+/partitions/.*$",
                                  "location": "path",
                                  "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.",
                                  "required": true,
                                  "type": "string"
                                },
                                "etag": {
                                  "type": "string",
                                  "description": "Optional. The etag associated with the partition.",
                                  "location": "query",
                                  "deprecated": true
                                }
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform",
                                "https://www.googleapis.com/auth/dataplex.read-write"
                              ],
                              "id": "dataplex.projects.locations.lakes.zones.entities.partitions.delete"
                            },
                            "list": {
                              "httpMethod": "GET",
                              "parameters": {
                                "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"
                                },
                                "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."
                                },
                                "pageSize": {
                                  "location": "query",
                                  "type": "integer",
                                  "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.",
                                  "format": "int32"
                                },
                                "parent": {
                                  "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+$",
                                  "description": "Required. The resource name of the parent entity: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}.",
                                  "type": "string",
                                  "location": "path",
                                  "required": true
                                }
                              },
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}/partitions",
                              "response": {
                                "$ref": "GoogleCloudDataplexV1ListPartitionsResponse"
                              },
                              "path": "v1/{+parent}/partitions",
                              "description": "List metadata partitions of an entity.",
                              "id": "dataplex.projects.locations.lakes.zones.entities.partitions.list",
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform",
                                "https://www.googleapis.com/auth/dataplex.read-write"
                              ],
                              "parameterOrder": [
                                "parent"
                              ]
                            },
                            "get": {
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform",
                                "https://www.googleapis.com/auth/dataplex.read-write"
                              ],
                              "description": "Get a metadata partition of an entity.",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}/partitions/{partitionsId}",
                              "response": {
                                "$ref": "GoogleCloudDataplexV1Partition"
                              },
                              "parameterOrder": [
                                "name"
                              ],
                              "id": "dataplex.projects.locations.lakes.zones.entities.partitions.get",
                              "httpMethod": "GET",
                              "path": "v1/{+name}",
                              "parameters": {
                                "name": {
                                  "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+/partitions/.*$",
                                  "required": true,
                                  "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."
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "actions": {
                      "methods": {
                        "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",
                          "parameters": {
                            "parent": {
                              "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/[^/]+$",
                              "location": "path",
                              "type": "string",
                              "required": true
                            },
                            "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.",
                              "format": "int32",
                              "type": "integer",
                              "location": "query"
                            },
                            "pageToken": {
                              "type": "string",
                              "location": "query",
                              "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."
                            }
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/actions",
                          "response": {
                            "$ref": "GoogleCloudDataplexV1ListActionsResponse"
                          },
                          "id": "dataplex.projects.locations.lakes.zones.actions.list",
                          "description": "Lists action resources in a zone.",
                          "parameterOrder": [
                            "parent"
                          ],
                          "path": "v1/{+parent}/actions"
                        }
                      }
                    },
                    "assets": {
                      "methods": {
                        "getIamPolicy": {
                          "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",
                          "id": "dataplex.projects.locations.lakes.zones.assets.getIamPolicy",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "parameters": {
                            "options.requestedPolicyVersion": {
                              "location": "query",
                              "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).",
                              "format": "int32",
                              "type": "integer"
                            },
                            "resource": {
                              "location": "path",
                              "required": true,
                              "type": "string",
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$",
                              "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."
                            }
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}:getIamPolicy",
                          "response": {
                            "$ref": "GoogleIamV1Policy"
                          },
                          "parameterOrder": [
                            "resource"
                          ],
                          "httpMethod": "GET"
                        },
                        "list": {
                          "parameterOrder": [
                            "parent"
                          ],
                          "id": "dataplex.projects.locations.lakes.zones.assets.list",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets",
                          "response": {
                            "$ref": "GoogleCloudDataplexV1ListAssetsResponse"
                          },
                          "path": "v1/{+parent}/assets",
                          "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",
                          "parameters": {
                            "parent": {
                              "type": "string",
                              "required": true,
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$",
                              "description": "Required. The resource name of the parent zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.",
                              "location": "path"
                            },
                            "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"
                            },
                            "filter": {
                              "description": "Optional. Filter request.",
                              "type": "string",
                              "location": "query"
                            },
                            "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.",
                              "format": "int32",
                              "location": "query",
                              "type": "integer"
                            },
                            "orderBy": {
                              "location": "query",
                              "type": "string",
                              "description": "Optional. Order by fields for the result."
                            }
                          },
                          "description": "Lists asset resources in a zone."
                        },
                        "patch": {
                          "parameters": {
                            "validateOnly": {
                              "location": "query",
                              "type": "boolean",
                              "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                            },
                            "name": {
                              "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/[^/]+$",
                              "location": "path",
                              "type": "string"
                            },
                            "updateMask": {
                              "format": "google-fieldmask",
                              "location": "query",
                              "description": "Required. Mask of fields to update.",
                              "type": "string"
                            }
                          },
                          "httpMethod": "PATCH",
                          "description": "Updates an asset resource.",
                          "id": "dataplex.projects.locations.lakes.zones.assets.patch",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}",
                          "response": {
                            "$ref": "GoogleLongrunningOperation"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "path": "v1/{+name}",
                          "parameterOrder": [
                            "name"
                          ],
                          "request": {
                            "$ref": "GoogleCloudDataplexV1Asset"
                          }
                        },
                        "create": {
                          "path": "v1/{+parent}/assets",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets",
                          "response": {
                            "$ref": "GoogleLongrunningOperation"
                          },
                          "request": {
                            "$ref": "GoogleCloudDataplexV1Asset"
                          },
                          "id": "dataplex.projects.locations.lakes.zones.assets.create",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "description": "Creates an asset resource.",
                          "parameterOrder": [
                            "parent"
                          ],
                          "httpMethod": "POST",
                          "parameters": {
                            "validateOnly": {
                              "type": "boolean",
                              "description": "Optional. Only validate the request, but do not perform mutations. The default is false.",
                              "location": "query"
                            },
                            "parent": {
                              "location": "path",
                              "type": "string",
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$",
                              "description": "Required. The resource name of the parent zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.",
                              "required": true
                            },
                            "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.",
                              "type": "string",
                              "location": "query"
                            }
                          }
                        },
                        "delete": {
                          "parameters": {
                            "name": {
                              "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/[^/]+$",
                              "type": "string",
                              "location": "path"
                            }
                          },
                          "httpMethod": "DELETE",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}",
                          "response": {
                            "$ref": "GoogleLongrunningOperation"
                          },
                          "id": "dataplex.projects.locations.lakes.zones.assets.delete",
                          "description": "Deletes an asset resource. The referenced storage resource is detached (default) or deleted based on the associated Lifecycle policy.",
                          "path": "v1/{+name}",
                          "parameterOrder": [
                            "name"
                          ]
                        },
                        "get": {
                          "description": "Retrieves an asset resource.",
                          "id": "dataplex.projects.locations.lakes.zones.assets.get",
                          "parameters": {
                            "name": {
                              "description": "Required. The resource name of the asset: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}.",
                              "location": "path",
                              "required": true,
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$",
                              "type": "string"
                            }
                          },
                          "httpMethod": "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"
                          ],
                          "parameterOrder": [
                            "name"
                          ],
                          "path": "v1/{+name}",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}",
                          "response": {
                            "$ref": "GoogleCloudDataplexV1Asset"
                          }
                        },
                        "setIamPolicy": {
                          "httpMethod": "POST",
                          "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.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$",
                              "type": "string",
                              "required": true,
                              "location": "path"
                            }
                          },
                          "parameterOrder": [
                            "resource"
                          ],
                          "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",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}:setIamPolicy",
                          "response": {
                            "$ref": "GoogleIamV1Policy"
                          },
                          "id": "dataplex.projects.locations.lakes.zones.assets.setIamPolicy",
                          "request": {
                            "$ref": "GoogleIamV1SetIamPolicyRequest"
                          }
                        },
                        "testIamPermissions": {
                          "path": "v1/{+resource}:testIamPermissions",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}:testIamPermissions",
                          "response": {
                            "$ref": "GoogleIamV1TestIamPermissionsResponse"
                          },
                          "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.",
                          "id": "dataplex.projects.locations.lakes.zones.assets.testIamPermissions",
                          "parameterOrder": [
                            "resource"
                          ],
                          "parameters": {
                            "resource": {
                              "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.",
                              "type": "string",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$"
                            }
                          },
                          "request": {
                            "$ref": "GoogleIamV1TestIamPermissionsRequest"
                          },
                          "httpMethod": "POST"
                        }
                      },
                      "resources": {
                        "actions": {
                          "methods": {
                            "list": {
                              "parameterOrder": [
                                "parent"
                              ],
                              "id": "dataplex.projects.locations.lakes.zones.assets.actions.list",
                              "path": "v1/{+parent}/actions",
                              "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"
                              },
                              "description": "Lists action resources in an asset.",
                              "httpMethod": "GET",
                              "parameters": {
                                "pageToken": {
                                  "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.",
                                  "type": "string",
                                  "location": "query"
                                },
                                "parent": {
                                  "required": true,
                                  "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}.",
                                  "location": "path",
                                  "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$"
                                },
                                "pageSize": {
                                  "type": "integer",
                                  "location": "query",
                                  "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."
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "tasks": {
                  "methods": {
                    "setIamPolicy": {
                      "request": {
                        "$ref": "GoogleIamV1SetIamPolicyRequest"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}:setIamPolicy",
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "parameters": {
                        "resource": {
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$",
                          "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,
                          "type": "string"
                        }
                      },
                      "httpMethod": "POST",
                      "path": "v1/{+resource}:setIamPolicy",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "parameterOrder": [
                        "resource"
                      ],
                      "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                      "id": "dataplex.projects.locations.lakes.tasks.setIamPolicy"
                    },
                    "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/[^/]+/lakes/[^/]+$",
                          "location": "path",
                          "type": "string",
                          "description": "Required. The resource name of the parent lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.",
                          "required": true
                        },
                        "taskId": {
                          "description": "Required. Task identifier.",
                          "type": "string",
                          "location": "query"
                        }
                      },
                      "request": {
                        "$ref": "GoogleCloudDataplexV1Task"
                      },
                      "httpMethod": "POST",
                      "description": "Creates a task resource within a lake.",
                      "id": "dataplex.projects.locations.lakes.tasks.create",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "path": "v1/{+parent}/tasks",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks",
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "parameterOrder": [
                        "parent"
                      ]
                    },
                    "delete": {
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "description": "Delete the task resource.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}",
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "parameters": {
                        "name": {
                          "location": "path",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$",
                          "description": "Required. The resource name of the task: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/task/{task_id}.",
                          "required": true
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "id": "dataplex.projects.locations.lakes.tasks.delete",
                      "httpMethod": "DELETE"
                    },
                    "run": {
                      "id": "dataplex.projects.locations.lakes.tasks.run",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "request": {
                        "$ref": "GoogleCloudDataplexV1RunTaskRequest"
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "POST",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "description": "Required. The resource name of the task: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/tasks/{task_id}."
                        }
                      },
                      "description": "Run an on demand execution of a Task.",
                      "path": "v1/{+name}:run",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}:run",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1RunTaskResponse"
                      }
                    },
                    "get": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1Task"
                      },
                      "parameters": {
                        "name": {
                          "required": true,
                          "description": "Required. The resource name of the task: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/tasks/{tasks_id}.",
                          "type": "string",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$"
                        }
                      },
                      "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",
                      "parameterOrder": [
                        "name"
                      ],
                      "description": "Get task resource.",
                      "id": "dataplex.projects.locations.lakes.tasks.get",
                      "path": "v1/{+name}"
                    },
                    "list": {
                      "id": "dataplex.projects.locations.lakes.tasks.list",
                      "httpMethod": "GET",
                      "parameterOrder": [
                        "parent"
                      ],
                      "parameters": {
                        "pageToken": {
                          "location": "query",
                          "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.",
                          "type": "string"
                        },
                        "pageSize": {
                          "type": "integer",
                          "format": "int32",
                          "location": "query",
                          "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."
                        },
                        "orderBy": {
                          "location": "query",
                          "description": "Optional. Order by fields for the result.",
                          "type": "string"
                        },
                        "filter": {
                          "location": "query",
                          "description": "Optional. Filter request.",
                          "type": "string"
                        },
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$",
                          "location": "path",
                          "type": "string",
                          "required": true,
                          "description": "Required. The resource name of the parent lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}."
                        }
                      },
                      "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}/tasks",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1ListTasksResponse"
                      },
                      "path": "v1/{+parent}/tasks",
                      "description": "Lists tasks under the given lake."
                    },
                    "patch": {
                      "parameters": {
                        "updateMask": {
                          "format": "google-fieldmask",
                          "description": "Required. Mask of fields to update.",
                          "type": "string",
                          "location": "query"
                        },
                        "validateOnly": {
                          "type": "boolean",
                          "location": "query",
                          "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                        },
                        "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}.",
                          "required": true,
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$",
                          "type": "string"
                        }
                      },
                      "httpMethod": "PATCH",
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "GoogleCloudDataplexV1Task"
                      },
                      "description": "Update the task resource.",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}",
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "id": "dataplex.projects.locations.lakes.tasks.patch",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    },
                    "getIamPolicy": {
                      "parameterOrder": [
                        "resource"
                      ],
                      "parameters": {
                        "resource": {
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$",
                          "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"
                        },
                        "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).",
                          "format": "int32",
                          "type": "integer",
                          "location": "query"
                        }
                      },
                      "path": "v1/{+resource}:getIamPolicy",
                      "httpMethod": "GET",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}:getIamPolicy",
                      "response": {
                        "$ref": "GoogleIamV1Policy"
                      },
                      "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                      "id": "dataplex.projects.locations.lakes.tasks.getIamPolicy"
                    },
                    "testIamPermissions": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}:testIamPermissions",
                      "response": {
                        "$ref": "GoogleIamV1TestIamPermissionsResponse"
                      },
                      "httpMethod": "POST",
                      "id": "dataplex.projects.locations.lakes.tasks.testIamPermissions",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "parameterOrder": [
                        "resource"
                      ],
                      "request": {
                        "$ref": "GoogleIamV1TestIamPermissionsRequest"
                      },
                      "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.",
                      "parameters": {
                        "resource": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$",
                          "description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                          "required": true,
                          "location": "path",
                          "type": "string"
                        }
                      },
                      "path": "v1/{+resource}:testIamPermissions"
                    }
                  },
                  "resources": {
                    "jobs": {
                      "methods": {
                        "get": {
                          "id": "dataplex.projects.locations.lakes.tasks.jobs.get",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}/jobs/{jobsId}",
                          "response": {
                            "$ref": "GoogleCloudDataplexV1Job"
                          },
                          "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"
                          ],
                          "parameterOrder": [
                            "name"
                          ],
                          "description": "Get job resource.",
                          "httpMethod": "GET",
                          "parameters": {
                            "name": {
                              "description": "Required. The resource name of the job: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/tasks/{task_id}/jobs/{job_id}.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+/jobs/[^/]+$",
                              "type": "string",
                              "required": true
                            }
                          },
                          "path": "v1/{+name}"
                        },
                        "list": {
                          "id": "dataplex.projects.locations.lakes.tasks.jobs.list",
                          "httpMethod": "GET",
                          "parameterOrder": [
                            "parent"
                          ],
                          "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": {
                            "pageToken": {
                              "type": "string",
                              "location": "query",
                              "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."
                            },
                            "parent": {
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$",
                              "description": "Required. The resource name of the parent environment: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/tasks/{task_id}.",
                              "required": true,
                              "type": "string",
                              "location": "path"
                            },
                            "pageSize": {
                              "format": "int32",
                              "location": "query",
                              "type": "integer",
                              "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."
                            }
                          },
                          "description": "Lists Jobs under the given task.",
                          "path": "v1/{+parent}/jobs",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}/jobs",
                          "response": {
                            "$ref": "GoogleCloudDataplexV1ListJobsResponse"
                          }
                        },
                        "cancel": {
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/dataplex.read-write"
                          ],
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}/jobs/{jobsId}:cancel",
                          "response": {
                            "$ref": "Empty"
                          },
                          "parameters": {
                            "name": {
                              "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",
                              "required": true,
                              "type": "string",
                              "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+/jobs/[^/]+$"
                            }
                          },
                          "id": "dataplex.projects.locations.lakes.tasks.jobs.cancel",
                          "httpMethod": "POST",
                          "parameterOrder": [
                            "name"
                          ],
                          "description": "Cancel jobs running for the task resource.",
                          "path": "v1/{+name}:cancel",
                          "request": {
                            "$ref": "GoogleCloudDataplexV1CancelJobRequest"
                          }
                        }
                      }
                    }
                  }
                }
              },
              "methods": {
                "getIamPolicy": {
                  "id": "dataplex.projects.locations.lakes.getIamPolicy",
                  "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}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "GET",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$",
                      "type": "string",
                      "required": true,
                      "location": "path",
                      "description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field."
                    },
                    "options.requestedPolicyVersion": {
                      "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).",
                      "location": "query"
                    }
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:getIamPolicy"
                },
                "list": {
                  "id": "dataplex.projects.locations.lakes.list",
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/lakes",
                  "parameters": {
                    "pageToken": {
                      "location": "query",
                      "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.",
                      "type": "string"
                    },
                    "parent": {
                      "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.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string",
                      "required": true,
                      "location": "path"
                    },
                    "orderBy": {
                      "type": "string",
                      "location": "query",
                      "description": "Optional. Order by fields for the result."
                    },
                    "filter": {
                      "type": "string",
                      "location": "query",
                      "description": "Optional. Filter request."
                    },
                    "pageSize": {
                      "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.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "description": "Lists lake resources in a project and location.",
                  "httpMethod": "GET",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListLakesResponse"
                  },
                  "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"
                  ],
                  "path": "v1/{+resource}:setIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "httpMethod": "POST",
                  "id": "dataplex.projects.locations.lakes.setIamPolicy",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$",
                      "required": true,
                      "location": "path",
                      "description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "type": "string"
                    }
                  },
                  "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}:setIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  }
                },
                "patch": {
                  "parameters": {
                    "validateOnly": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. Only validate the request, but do not perform mutations. The default is false."
                    },
                    "name": {
                      "required": true,
                      "description": "Output only. The relative resource name of the lake, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.",
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$"
                    },
                    "updateMask": {
                      "format": "google-fieldmask",
                      "location": "query",
                      "type": "string",
                      "description": "Required. Mask of fields to update."
                    }
                  },
                  "httpMethod": "PATCH",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1Lake"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "description": "Updates a lake resource.",
                  "id": "dataplex.projects.locations.lakes.patch",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}"
                },
                "create": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudDataplexV1Lake"
                  },
                  "path": "v1/{+parent}/lakes",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "id": "dataplex.projects.locations.lakes.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/[^/]+$",
                      "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,
                      "type": "string",
                      "location": "path"
                    },
                    "lakeId": {
                      "location": "query",
                      "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.",
                      "type": "string"
                    }
                  },
                  "description": "Creates a lake resource."
                },
                "delete": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "DELETE",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "description": "Required. The resource name of the lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$",
                      "required": true
                    }
                  },
                  "description": "Deletes a lake resource. All zones within the lake must be deleted before the lake can be deleted.",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "id": "dataplex.projects.locations.lakes.delete"
                },
                "testIamPermissions": {
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}:testIamPermissions",
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "resource"
                  ],
                  "parameters": {
                    "resource": {
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$",
                      "location": "path",
                      "description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field."
                    }
                  },
                  "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.",
                  "id": "dataplex.projects.locations.lakes.testIamPermissions",
                  "path": "v1/{+resource}:testIamPermissions"
                },
                "get": {
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataplex.projects.locations.lakes.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"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1Lake"
                  },
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$",
                      "description": "Required. The resource name of the lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}",
                  "description": "Retrieves a lake resource."
                }
              }
            },
            "dataAttributeBindings": {
              "methods": {
                "setIamPolicy": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataAttributeBindings/{dataAttributeBindingsId}:setIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAttributeBindings/[^/]+$",
                      "type": "string",
                      "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."
                    }
                  },
                  "path": "v1/{+resource}:setIamPolicy",
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "resource"
                  ],
                  "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"
                  ],
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "id": "dataplex.projects.locations.dataAttributeBindings.setIamPolicy"
                },
                "testIamPermissions": {
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataAttributeBindings/{dataAttributeBindingsId}:testIamPermissions",
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "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.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAttributeBindings/[^/]+$",
                      "type": "string"
                    }
                  },
                  "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.",
                  "httpMethod": "POST",
                  "path": "v1/{+resource}:testIamPermissions",
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataplex.projects.locations.dataAttributeBindings.testIamPermissions"
                },
                "getIamPolicy": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "path": "v1/{+resource}:getIamPolicy",
                  "parameters": {
                    "options.requestedPolicyVersion": {
                      "format": "int32",
                      "description": "Optional. The maximum policy version that will be used to format the policy.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset.The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).",
                      "type": "integer",
                      "location": "query"
                    },
                    "resource": {
                      "location": "path",
                      "description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAttributeBindings/[^/]+$",
                      "required": true
                    }
                  },
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "httpMethod": "GET",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataAttributeBindings/{dataAttributeBindingsId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataplex.projects.locations.dataAttributeBindings.getIamPolicy"
                }
              }
            },
            "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.",
                  "parameters": {
                    "pageToken": {
                      "location": "query",
                      "description": "The standard list page token.",
                      "type": "string"
                    },
                    "returnPartialSuccess": {
                      "type": "boolean",
                      "location": "query",
                      "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."
                    },
                    "name": {
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "The name of the operation's parent resource.",
                      "required": true
                    },
                    "filter": {
                      "type": "string",
                      "description": "The standard list filter.",
                      "location": "query"
                    },
                    "pageSize": {
                      "description": "The standard list page size.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations",
                  "response": {
                    "$ref": "GoogleLongrunningListOperationsResponse"
                  },
                  "id": "dataplex.projects.locations.operations.list",
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "path": "v1/{+name}/operations"
                },
                "cancel": {
                  "request": {
                    "$ref": "GoogleLongrunningCancelOperationRequest"
                  },
                  "id": "dataplex.projects.locations.operations.cancel",
                  "httpMethod": "POST",
                  "path": "v1/{+name}:cancel",
                  "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.",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "required": true,
                      "description": "The name of the operation resource to be cancelled.",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "response": {
                    "$ref": "Empty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "delete": {
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "response": {
                    "$ref": "Empty"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "required": true,
                      "type": "string",
                      "description": "The name of the operation resource to be deleted.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "location": "path"
                    }
                  },
                  "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.",
                  "id": "dataplex.projects.locations.operations.delete",
                  "httpMethod": "DELETE",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "get": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "The name of the operation resource."
                    }
                  },
                  "path": "v1/{+name}",
                  "id": "dataplex.projects.locations.operations.get",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "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."
                }
              }
            },
            "entryGroups": {
              "methods": {
                "setIamPolicy": {
                  "path": "v1/{+resource}:setIamPolicy",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.entryGroups.setIamPolicy",
                  "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"
                  ],
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "parameters": {
                    "resource": {
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                      "required": true,
                      "location": "path",
                      "description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field."
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:setIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  }
                },
                "patch": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "name": {
                      "required": true,
                      "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}.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                      "location": "path"
                    },
                    "updateMask": {
                      "format": "google-fieldmask",
                      "location": "query",
                      "description": "Required. Mask of fields to update.",
                      "type": "string"
                    },
                    "validateOnly": {
                      "type": "boolean",
                      "description": "Optional. The service validates the request, without performing any mutations. The default is false.",
                      "location": "query"
                    }
                  },
                  "httpMethod": "PATCH",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1EntryGroup"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "description": "Updates an EntryGroup.",
                  "id": "dataplex.projects.locations.entryGroups.patch"
                },
                "get": {
                  "httpMethod": "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"
                  ],
                  "parameters": {
                    "name": {
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                      "description": "Required. The resource name of the EntryGroup: projects/{project_number}/locations/{location_id}/entryGroups/{entry_group_id}."
                    }
                  },
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1EntryGroup"
                  },
                  "id": "dataplex.projects.locations.entryGroups.get",
                  "description": "Gets an EntryGroup."
                },
                "requestBatchMetadataChange": {
                  "description": "Submits a catalog change request for multiple resources within an EntryGroup. This method creates a ChangeRequest resource that must be reviewed and approved before the proposed changes are applied.",
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:requestBatchMetadataChange",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1RequestBatchMetadataChangeResponse"
                  },
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "Required. The resource name of the Entry Group on which the change applies. Format: projects/{project}/locations/{location}/entryGroups/{entry_group}",
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$"
                    }
                  },
                  "httpMethod": "POST",
                  "path": "v1/{+name}:requestBatchMetadataChange",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1RequestBatchMetadataChangeRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.entryGroups.requestBatchMetadataChange"
                },
                "list": {
                  "path": "v1/{+parent}/entryGroups",
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "dataplex.projects.locations.entryGroups.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"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListEntryGroupsResponse"
                  },
                  "description": "Lists EntryGroup resources in a project and location.",
                  "httpMethod": "GET",
                  "parameters": {
                    "pageSize": {
                      "format": "int32",
                      "type": "integer",
                      "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"
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Filter request."
                    },
                    "orderBy": {
                      "description": "Optional. Order by fields for the result.",
                      "type": "string",
                      "location": "query"
                    },
                    "parent": {
                      "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.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string",
                      "location": "path"
                    },
                    "pageToken": {
                      "type": "string",
                      "location": "query",
                      "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."
                    }
                  }
                },
                "testIamPermissions": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:testIamPermissions",
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "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.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "required": true
                    }
                  },
                  "path": "v1/{+resource}:testIamPermissions",
                  "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.",
                  "httpMethod": "POST",
                  "id": "dataplex.projects.locations.entryGroups.testIamPermissions",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  }
                },
                "create": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "description": "Creates an EntryGroup.",
                  "httpMethod": "POST",
                  "path": "v1/{+parent}/entryGroups",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "parent": {
                      "type": "string",
                      "location": "path",
                      "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."
                    },
                    "validateOnly": {
                      "description": "Optional. The service validates the request without performing any mutations. The default is false.",
                      "location": "query",
                      "type": "boolean"
                    }
                  },
                  "request": {
                    "$ref": "GoogleCloudDataplexV1EntryGroup"
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "dataplex.projects.locations.entryGroups.create"
                },
                "delete": {
                  "httpMethod": "DELETE",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                      "description": "Required. The resource name of the EntryGroup: projects/{project_number}/locations/{location_id}/entryGroups/{entry_group_id}.",
                      "required": true,
                      "type": "string",
                      "location": "path"
                    },
                    "etag": {
                      "location": "query",
                      "description": "Optional. If the client provided etag value does not match the current etag value, the DeleteEntryGroupRequest method returns an ABORTED error response.",
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "id": "dataplex.projects.locations.entryGroups.delete",
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Deletes an EntryGroup."
                },
                "batchChangeMetadata": {
                  "path": "v1/{+name}:batchChangeMetadata",
                  "description": "Batch changes metadata within an EntryGroup.",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "Required. The resource name of the EntryGroup on which the batch change applies. Format: projects/{project_number_or_id}/locations/{location_id}/entryGroups/{entry_group_id}",
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                      "required": true
                    }
                  },
                  "id": "dataplex.projects.locations.entryGroups.batchChangeMetadata",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "request": {
                    "$ref": "GoogleCloudDataplexV1BatchChangeMetadataRequest"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:batchChangeMetadata",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  }
                },
                "getIamPolicy": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "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"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "parameters": {
                    "options.requestedPolicyVersion": {
                      "type": "integer",
                      "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).",
                      "format": "int32",
                      "location": "query"
                    },
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                      "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"
                    }
                  },
                  "id": "dataplex.projects.locations.entryGroups.getIamPolicy",
                  "httpMethod": "GET"
                }
              },
              "resources": {
                "entryLinks": {
                  "methods": {
                    "patch": {
                      "id": "dataplex.projects.locations.entryGroups.entryLinks.patch",
                      "description": "Updates an Entry Link.",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entryLinks/{entryLinksId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1EntryLink"
                      },
                      "parameters": {
                        "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.",
                          "type": "string",
                          "location": "query",
                          "repeated": true
                        },
                        "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}",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entryLinks/.*$",
                          "required": true
                        }
                      },
                      "httpMethod": "PATCH",
                      "parameterOrder": [
                        "name"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "request": {
                        "$ref": "GoogleCloudDataplexV1EntryLink"
                      }
                    },
                    "get": {
                      "parameters": {
                        "name": {
                          "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",
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entryLinks/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "id": "dataplex.projects.locations.entryGroups.entryLinks.get",
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "GET",
                      "path": "v1/{+name}",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "description": "Gets an Entry Link.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entryLinks/{entryLinksId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1EntryLink"
                      }
                    },
                    "create": {
                      "parameterOrder": [
                        "parent"
                      ],
                      "request": {
                        "$ref": "GoogleCloudDataplexV1EntryLink"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entryLinks",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1EntryLink"
                      },
                      "path": "v1/{+parent}/entryLinks",
                      "id": "dataplex.projects.locations.entryGroups.entryLinks.create",
                      "httpMethod": "POST",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "parameters": {
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                          "location": "path",
                          "description": "Required. The resource name of the parent Entry Group: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}.",
                          "type": "string",
                          "required": true
                        },
                        "entryLinkId": {
                          "location": "query",
                          "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.",
                          "type": "string"
                        }
                      },
                      "description": "Creates an Entry Link."
                    },
                    "delete": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "description": "Deletes an Entry Link.",
                      "parameterOrder": [
                        "name"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entryLinks/{entryLinksId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1EntryLink"
                      },
                      "httpMethod": "DELETE",
                      "path": "v1/{+name}",
                      "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.delete"
                    }
                  }
                },
                "entries": {
                  "methods": {
                    "patch": {
                      "request": {
                        "$ref": "GoogleCloudDataplexV1Entry"
                      },
                      "description": "Updates an Entry.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "path": "v1/{+name}",
                      "httpMethod": "PATCH",
                      "id": "dataplex.projects.locations.entryGroups.entries.patch",
                      "parameters": {
                        "updateMask": {
                          "format": "google-fieldmask",
                          "location": "query",
                          "type": "string",
                          "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": {
                          "description": "Optional. If set to true and the entry doesn't exist, the service will create it.",
                          "type": "boolean",
                          "location": "query"
                        },
                        "aspectKeys": {
                          "type": "string",
                          "location": "query",
                          "repeated": true,
                          "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."
                        },
                        "name": {
                          "required": true,
                          "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}.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/.*$",
                          "location": "path",
                          "type": "string"
                        },
                        "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"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1Entry"
                      }
                    },
                    "get": {
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/.*$",
                          "required": true,
                          "description": "Required. The resource name of the Entry: projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}.",
                          "type": "string",
                          "location": "path"
                        },
                        "aspectTypes": {
                          "type": "string",
                          "description": "Optional. Limits the aspects returned to the provided aspect types. It only works for CUSTOM view.",
                          "location": "query",
                          "repeated": true
                        },
                        "paths": {
                          "description": "Optional. Limits the aspects returned to those associated with the provided paths within the Entry. It only works for CUSTOM view.",
                          "location": "query",
                          "repeated": true,
                          "type": "string"
                        },
                        "view": {
                          "location": "query",
                          "enum": [
                            "ENTRY_VIEW_UNSPECIFIED",
                            "BASIC",
                            "FULL",
                            "CUSTOM",
                            "ALL"
                          ],
                          "description": "Optional. View to control which parts of an entry the service should return. Please check the limitations on returned aspects in the Entry view documentation. Amount of returned aspects depends on the selected Entry View.",
                          "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."
                          ]
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "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"
                      ],
                      "path": "v1/{+name}",
                      "id": "dataplex.projects.locations.entryGroups.entries.get",
                      "description": "Gets an Entry.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1Entry"
                      }
                    },
                    "create": {
                      "request": {
                        "$ref": "GoogleCloudDataplexV1Entry"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1Entry"
                      },
                      "description": "Creates an Entry.",
                      "parameters": {
                        "entryId": {
                          "location": "query",
                          "type": "string",
                          "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."
                        },
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                          "description": "Required. The resource name of the parent Entry Group: projects/{project}/locations/{location}/entryGroups/{entry_group}.",
                          "required": true,
                          "location": "path",
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "httpMethod": "POST",
                      "id": "dataplex.projects.locations.entryGroups.entries.create",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "path": "v1/{+parent}/entries"
                    },
                    "delete": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "description": "Deletes an Entry.",
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "DELETE",
                      "id": "dataplex.projects.locations.entryGroups.entries.delete",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1Entry"
                      },
                      "parameters": {
                        "name": {
                          "location": "path",
                          "description": "Required. The resource name of the Entry: projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/.*$",
                          "type": "string",
                          "required": true
                        }
                      }
                    },
                    "list": {
                      "path": "v1/{+parent}/entries",
                      "httpMethod": "GET",
                      "id": "dataplex.projects.locations.entryGroups.entries.list",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1ListEntriesResponse"
                      },
                      "parameters": {
                        "pageToken": {
                          "type": "string",
                          "description": "Optional. Page token received from a previous ListEntries call. Provide this to retrieve the subsequent page.",
                          "location": "query"
                        },
                        "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"
                        },
                        "pageSize": {
                          "location": "query",
                          "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.",
                          "type": "integer",
                          "format": "int32"
                        },
                        "parent": {
                          "location": "path",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                          "required": true,
                          "description": "Required. The resource name of the parent Entry Group: projects/{project}/locations/{location}/entryGroups/{entry_group}."
                        }
                      },
                      "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"
                      ],
                      "description": "Lists Entries within an EntryGroup.",
                      "parameterOrder": [
                        "parent"
                      ]
                    }
                  }
                }
              }
            },
            "dataProducts": {
              "resources": {
                "dataAssets": {
                  "methods": {
                    "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"
                      ],
                      "path": "v1/{+parent}/dataAssets",
                      "id": "dataplex.projects.locations.dataProducts.dataAssets.list",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}/dataAssets",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1ListDataAssetsResponse"
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "parameters": {
                        "parent": {
                          "required": true,
                          "description": "Required. The parent, which has this collection of data assets. Format: projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}",
                          "location": "path",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+$"
                        },
                        "orderBy": {
                          "location": "query",
                          "type": "string",
                          "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."
                        },
                        "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": {
                          "description": "Optional. Filter expression that filters data assets listed in the response.",
                          "location": "query",
                          "type": "string"
                        },
                        "pageSize": {
                          "type": "integer",
                          "location": "query",
                          "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.",
                          "format": "int32"
                        }
                      },
                      "description": "Lists data assets for a given data product.",
                      "httpMethod": "GET"
                    },
                    "create": {
                      "parameterOrder": [
                        "parent"
                      ],
                      "description": "Creates a data asset.",
                      "id": "dataplex.projects.locations.dataProducts.dataAssets.create",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}/dataAssets",
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "request": {
                        "$ref": "GoogleCloudDataplexV1DataAsset"
                      },
                      "path": "v1/{+parent}/dataAssets",
                      "parameters": {
                        "dataAssetId": {
                          "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.",
                          "location": "query"
                        },
                        "validateOnly": {
                          "description": "Optional. Validates the request without actually creating the data asset. Defaults to false.",
                          "location": "query",
                          "type": "boolean"
                        },
                        "parent": {
                          "type": "string",
                          "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",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+$"
                        }
                      },
                      "httpMethod": "POST",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    },
                    "delete": {
                      "path": "v1/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}/dataAssets/{dataAssetsId}",
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "id": "dataplex.projects.locations.dataProducts.dataAssets.delete",
                      "parameters": {
                        "validateOnly": {
                          "type": "boolean",
                          "location": "query",
                          "description": "Optional. Validates the request without actually deleting the data asset. Defaults to false."
                        },
                        "name": {
                          "required": true,
                          "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}",
                          "type": "string",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+/dataAssets/[^/]+$"
                        },
                        "etag": {
                          "type": "string",
                          "location": "query",
                          "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."
                        }
                      },
                      "description": "Deletes a data asset.",
                      "httpMethod": "DELETE",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    },
                    "patch": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "request": {
                        "$ref": "GoogleCloudDataplexV1DataAsset"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}/dataAssets/{dataAssetsId}",
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "description": "Updates a data asset.",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+/dataAssets/[^/]+$",
                          "location": "path",
                          "type": "string",
                          "required": true,
                          "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": {
                          "type": "string",
                          "description": "Optional. The list of fields to update. If this is empty or not set, then all the fields will be updated.",
                          "format": "google-fieldmask",
                          "location": "query"
                        }
                      },
                      "httpMethod": "PATCH",
                      "path": "v1/{+name}",
                      "id": "dataplex.projects.locations.dataProducts.dataAssets.patch",
                      "parameterOrder": [
                        "name"
                      ]
                    },
                    "get": {
                      "path": "v1/{+name}",
                      "id": "dataplex.projects.locations.dataProducts.dataAssets.get",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "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",
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+/dataAssets/[^/]+$",
                          "required": true
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}/dataAssets/{dataAssetsId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1DataAsset"
                      },
                      "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"
                      ],
                      "description": "Gets a data asset.",
                      "parameterOrder": [
                        "name"
                      ]
                    }
                  }
                }
              },
              "methods": {
                "requestAccess": {
                  "id": "dataplex.projects.locations.dataProducts.requestAccess",
                  "description": "Requests access to a data product. This will trigger an access approval workflow, and the requester will need to wait for the approval to be granted before they will be able to access the data product assets.",
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudDataplexV1RequestDataProductAccessRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}:requestAccess",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1RequestDataProductAccessResponse"
                  },
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+$",
                      "description": "Required. The resource name of the data product. Format: projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id}",
                      "type": "string",
                      "required": true,
                      "location": "path"
                    }
                  },
                  "path": "v1/{+parent}:requestAccess"
                },
                "setIamPolicy": {
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1/{+resource}:setIamPolicy",
                  "id": "dataplex.projects.locations.dataProducts.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/[^/]+/dataProducts/[^/]+$"
                    }
                  },
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "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}/dataProducts/{dataProductsId}:setIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  }
                },
                "testIamPermissions": {
                  "path": "v1/{+resource}:testIamPermissions",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.dataProducts.testIamPermissions",
                  "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}/dataProducts/{dataProductsId}:testIamPermissions",
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "httpMethod": "POST",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+$",
                      "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
                    }
                  },
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "parameterOrder": [
                    "resource"
                  ]
                },
                "getIamPolicy": {
                  "parameterOrder": [
                    "resource"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "id": "dataplex.projects.locations.dataProducts.getIamPolicy",
                  "path": "v1/{+resource}: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).",
                      "type": "integer",
                      "location": "query",
                      "format": "int32"
                    }
                  },
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "patch": {
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "path": "v1/{+name}",
                  "description": "Updates a data product.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.dataProducts.patch",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1DataProduct"
                  },
                  "parameters": {
                    "validateOnly": {
                      "description": "Optional. Validates the request without actually updating the data product. Default: false.",
                      "type": "boolean",
                      "location": "query"
                    },
                    "name": {
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+$",
                      "required": true,
                      "location": "path",
                      "description": "Identifier. Resource name of the data product. Format: projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}."
                    },
                    "updateMask": {
                      "format": "google-fieldmask",
                      "type": "string",
                      "description": "Optional. The list of fields to update. If this is empty or not set, then all the fields will be updated.",
                      "location": "query"
                    }
                  },
                  "httpMethod": "PATCH"
                },
                "create": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/dataProducts",
                  "description": "Creates a data product.",
                  "parameters": {
                    "validateOnly": {
                      "type": "boolean",
                      "location": "query",
                      "description": "Optional. Validates the request without actually creating the data product. Default: false."
                    },
                    "parent": {
                      "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/[^/]+$",
                      "location": "path"
                    },
                    "dataProductId": {
                      "location": "query",
                      "type": "string",
                      "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."
                    }
                  },
                  "id": "dataplex.projects.locations.dataProducts.create",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1DataProduct"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "delete": {
                  "id": "dataplex.projects.locations.dataProducts.delete",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+$",
                      "location": "path",
                      "required": true,
                      "description": "Required. The name of the data product to delete. Format: projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}",
                      "type": "string"
                    },
                    "etag": {
                      "type": "string",
                      "location": "query",
                      "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."
                    },
                    "validateOnly": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. Validates the request without actually deleting the data product. Default: false."
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "description": "Deletes a data product. The deletion will fail if the data product is not empty (i.e. contains at least one data asset).",
                  "httpMethod": "DELETE",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  }
                },
                "get": {
                  "httpMethod": "GET",
                  "description": "Gets a data product.",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+$",
                      "description": "Required. The name of the data product to retrieve. Format: projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}",
                      "required": true,
                      "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"
                  },
                  "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"
                  ]
                },
                "list": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "dataplex.projects.locations.dataProducts.list",
                  "description": "Lists data products for a given project.",
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "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": {
                      "type": "string",
                      "location": "query",
                      "description": "Optional. Filter expression that filters data products listed in the response.Example of using this filter is: display_name=\"my-data-product\""
                    },
                    "orderBy": {
                      "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/-).",
                      "location": "query",
                      "type": "string"
                    },
                    "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.",
                      "type": "string",
                      "location": "query"
                    },
                    "pageSize": {
                      "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.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "path": "v1/{+parent}/dataProducts",
                  "httpMethod": "GET",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListDataProductsResponse"
                  },
                  "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"
                  ]
                }
              }
            },
            "changeRequests": {
              "methods": {
                "testIamPermissions": {
                  "parameters": {
                    "resource": {
                      "type": "string",
                      "location": "path",
                      "description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/changeRequests/[^/]+$"
                    }
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.changeRequests.testIamPermissions",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests/{changeRequestsId}:testIamPermissions",
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  },
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "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"
                },
                "patch": {
                  "request": {
                    "$ref": "GoogleCloudDataplexV1ChangeRequest"
                  },
                  "id": "dataplex.projects.locations.changeRequests.patch",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests/{changeRequestsId}",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ChangeRequest"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "path": "v1/{+name}",
                  "httpMethod": "PATCH",
                  "description": "Updates a ChangeRequest. Only allowed when the state is NEW.",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/changeRequests/[^/]+$",
                      "required": true,
                      "type": "string",
                      "description": "Identifier. The relative resource name of the ChangeRequest, of the form: projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id}",
                      "location": "path"
                    },
                    "updateMask": {
                      "type": "string",
                      "format": "google-fieldmask",
                      "location": "query",
                      "description": "Optional. The list of fields to update."
                    }
                  }
                },
                "list": {
                  "description": "Lists ChangeRequests.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListChangeRequestsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "parent": {
                      "type": "string",
                      "description": "Required. The parent, which owns this collection of ChangeRequests. Format: projects/{project_number}/locations/{location_id}",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "location": "path"
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Filter request. Supports filtering by: state, author, resource, create_time, update_time."
                    },
                    "pageToken": {
                      "type": "string",
                      "location": "query",
                      "description": "Optional. Page token received from a previous ListChangeRequests call."
                    },
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "format": "int32",
                      "description": "Optional. Maximum number of ChangeRequests to return. The service may return fewer."
                    },
                    "orderBy": {
                      "description": "Optional. Order by fields for the result.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "httpMethod": "GET",
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "dataplex.projects.locations.changeRequests.list",
                  "path": "v1/{+parent}/changeRequests"
                },
                "setIamPolicy": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests/{changeRequestsId}:setIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "parameters": {
                    "resource": {
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/changeRequests/[^/]+$",
                      "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."
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataplex.projects.locations.changeRequests.setIamPolicy",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "path": "v1/{+resource}:setIamPolicy"
                },
                "delete": {
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests/{changeRequestsId}",
                  "response": {
                    "$ref": "Empty"
                  },
                  "description": "Deletes a ChangeRequest.Behavior depends on the caller's permissions and the resource's state: 1. Callers with dataplex.changeRequests.delete can only delete ChangeRequests in the NEW state. 2. Callers with the dataplex.changeRequests.adminDelete permission can delete ChangeRequests regardless of their state.",
                  "id": "dataplex.projects.locations.changeRequests.delete",
                  "httpMethod": "DELETE",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/changeRequests/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Required. The name of the ChangeRequest to delete. Format: projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id}",
                      "required": true
                    },
                    "etag": {
                      "type": "string",
                      "location": "query",
                      "description": "Optional. The etag of the ChangeRequest."
                    }
                  },
                  "path": "v1/{+name}"
                },
                "approve": {
                  "id": "dataplex.projects.locations.changeRequests.approve",
                  "path": "v1/{+name}:approve",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests/{changeRequestsId}:approve",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ChangeRequest"
                  },
                  "description": "Approves a ChangeRequest.",
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudDataplexV1ApproveChangeRequestRequest"
                  },
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "type": "string",
                      "required": true,
                      "description": "Required. The name of the ChangeRequest to approve.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/changeRequests/[^/]+$",
                      "location": "path"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "getIamPolicy": {
                  "path": "v1/{+resource}:getIamPolicy",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests/{changeRequestsId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "id": "dataplex.projects.locations.changeRequests.getIamPolicy",
                  "httpMethod": "GET",
                  "parameters": {
                    "resource": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/changeRequests/[^/]+$",
                      "location": "path",
                      "description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "type": "string"
                    },
                    "options.requestedPolicyVersion": {
                      "format": "int32",
                      "location": "query",
                      "description": "Optional. The maximum policy version that will be used to format the policy.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset.The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).",
                      "type": "integer"
                    }
                  }
                },
                "get": {
                  "id": "dataplex.projects.locations.changeRequests.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests/{changeRequestsId}",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ChangeRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "GET",
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "description": "Required. The name of the ChangeRequest to retrieve. Format: projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id}",
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/changeRequests/[^/]+$",
                      "required": true
                    }
                  },
                  "description": "Gets a ChangeRequest."
                },
                "reject": {
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudDataplexV1RejectChangeRequestRequest"
                  },
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "Required. The name of the ChangeRequest to reject.",
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/changeRequests/[^/]+$"
                    }
                  },
                  "description": "Rejects a ChangeRequest.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "path": "v1/{+name}:reject",
                  "id": "dataplex.projects.locations.changeRequests.reject",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests/{changeRequestsId}:reject",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ChangeRequest"
                  }
                }
              }
            },
            "dataDomains": {
              "methods": {
                "list": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListDataDomainsResponse"
                  },
                  "description": "Lists DataDomain resources in a project and location.",
                  "httpMethod": "GET",
                  "parameters": {
                    "orderBy": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Order by fields for the result."
                    },
                    "parent": {
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "description": "Required. The resource name of the parent location: projects/{project_id_or_number}/locations/{location_id}"
                    },
                    "pageToken": {
                      "type": "string",
                      "location": "query",
                      "description": "Optional. Page token received from a previous ListDataDomains call."
                    },
                    "filter": {
                      "type": "string",
                      "location": "query",
                      "description": "Optional. Filter request. Supports filter by parent_data_domain."
                    },
                    "pageSize": {
                      "description": "Optional. Maximum number of DataDomains to return. The service may return fewer. If unspecified, at most 50 domains will be returned. The maximum value is 100; values above 100 will be coerced to 100.",
                      "type": "integer",
                      "location": "query",
                      "format": "int32"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "dataplex.projects.locations.dataDomains.list",
                  "path": "v1/{+parent}/dataDomains"
                },
                "setIamPolicy": {
                  "id": "dataplex.projects.locations.dataDomains.setIamPolicy",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}:setIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "path": "v1/{+resource}:setIamPolicy",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+$",
                      "type": "string",
                      "description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "required": true,
                      "location": "path"
                    }
                  },
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "resource"
                  ]
                },
                "get": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1DataDomain"
                  },
                  "description": "Retrieves a DataDomain resource.",
                  "parameters": {
                    "name": {
                      "required": true,
                      "type": "string",
                      "description": "Required. The resource name of the DataDomain: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+$"
                    }
                  },
                  "httpMethod": "GET",
                  "id": "dataplex.projects.locations.dataDomains.get",
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ]
                },
                "patch": {
                  "description": "Updates a DataDomain resource.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+$",
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "Identifier. The relative resource name of the DataDomain, of the form: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}"
                    },
                    "updateMask": {
                      "location": "query",
                      "format": "google-fieldmask",
                      "type": "string",
                      "description": "Optional. Mask of fields to update."
                    },
                    "validateOnly": {
                      "description": "Optional. Only validate the request, but do not perform mutations.",
                      "location": "query",
                      "type": "boolean"
                    }
                  },
                  "httpMethod": "PATCH",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataplex.projects.locations.dataDomains.patch",
                  "request": {
                    "$ref": "GoogleCloudDataplexV1DataDomain"
                  }
                },
                "create": {
                  "path": "v1/{+parent}/dataDomains",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "request": {
                    "$ref": "GoogleCloudDataplexV1DataDomain"
                  },
                  "httpMethod": "POST",
                  "id": "dataplex.projects.locations.dataDomains.create",
                  "parameterOrder": [
                    "parent"
                  ],
                  "parameters": {
                    "dataDomainId": {
                      "description": "Required. DataDomain 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 and location.",
                      "type": "string",
                      "location": "query"
                    },
                    "parent": {
                      "description": "Required. The resource name of the parent location: projects/{project_id_or_number}/locations/{location_id}",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string",
                      "required": true
                    },
                    "validateOnly": {
                      "type": "boolean",
                      "location": "query",
                      "description": "Optional. Only validate the request, but do not perform mutations."
                    }
                  },
                  "description": "Creates a DataDomain resource."
                },
                "delete": {
                  "path": "v1/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "id": "dataplex.projects.locations.dataDomains.delete",
                  "httpMethod": "DELETE",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+$",
                      "description": "Required. The resource name of the DataDomain: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "description": "Deletes a DataDomain resource (allowed only when there are no bindings)."
                },
                "testIamPermissions": {
                  "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"
                  ],
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "httpMethod": "POST",
                  "id": "dataplex.projects.locations.dataDomains.testIamPermissions",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+$",
                      "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
                    }
                  },
                  "path": "v1/{+resource}:testIamPermissions",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}:testIamPermissions",
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  }
                },
                "getIamPolicy": {
                  "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}/dataDomains/{dataDomainsId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "path": "v1/{+resource}:getIamPolicy",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+$",
                      "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
                    },
                    "options.requestedPolicyVersion": {
                      "format": "int32",
                      "type": "integer",
                      "location": "query",
                      "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)."
                    }
                  },
                  "httpMethod": "GET",
                  "id": "dataplex.projects.locations.dataDomains.getIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ]
                }
              },
              "resources": {
                "bindings": {
                  "methods": {
                    "get": {
                      "path": "v1/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "required": true,
                          "type": "string",
                          "description": "Required. The resource name of the DataDomainBinding: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}/bindings/{binding_id}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+/bindings/[^/]+$",
                          "location": "path"
                        }
                      },
                      "description": "Retrieves a DataDomainBinding resource.",
                      "id": "dataplex.projects.locations.dataDomains.bindings.get",
                      "httpMethod": "GET",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}/bindings/{bindingsId}",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1DataDomainBinding"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ]
                    },
                    "list": {
                      "httpMethod": "GET",
                      "parameters": {
                        "pageSize": {
                          "type": "integer",
                          "format": "int32",
                          "description": "Optional. Maximum number of DataDomainBindings to return. The service may return fewer. If unspecified, at most 50 bindings will be returned. The maximum value is 100; values above 100 will be coerced to 100.",
                          "location": "query"
                        },
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+$",
                          "required": true,
                          "type": "string",
                          "location": "path",
                          "description": "Required. The resource name of the parent DataDomain: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}"
                        },
                        "pageToken": {
                          "description": "Optional. Page token received from a previous ListDataDomainBindings call.",
                          "type": "string",
                          "location": "query"
                        },
                        "filter": {
                          "type": "string",
                          "location": "query",
                          "description": "Optional. Filter request."
                        },
                        "orderBy": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. Order by fields for the result."
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "path": "v1/{+parent}/bindings",
                      "id": "dataplex.projects.locations.dataDomains.bindings.list",
                      "description": "Lists DataDomainBinding resources under a DataDomain.",
                      "parameterOrder": [
                        "parent"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}/bindings",
                      "response": {
                        "$ref": "GoogleCloudDataplexV1ListDataDomainBindingsResponse"
                      }
                    },
                    "create": {
                      "request": {
                        "$ref": "GoogleCloudDataplexV1DataDomainBinding"
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "id": "dataplex.projects.locations.dataDomains.bindings.create",
                      "path": "v1/{+parent}/bindings",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}/bindings",
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "parameters": {
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+$",
                          "description": "Required. The resource name of the parent DataDomain: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}",
                          "required": true,
                          "type": "string",
                          "location": "path"
                        },
                        "dataDomainBindingId": {
                          "type": "string",
                          "location": "query",
                          "description": "Optional. DataDomainBinding 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 parent DataDomain. If not provided, a system-generated UUID will be used."
                        },
                        "validateOnly": {
                          "description": "Optional. Only validate the request, but do not perform mutations.",
                          "location": "query",
                          "type": "boolean"
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "description": "Creates a DataDomainBinding resource.",
                      "httpMethod": "POST"
                    },
                    "delete": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}/bindings/{bindingsId}",
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "path": "v1/{+name}",
                      "id": "dataplex.projects.locations.dataDomains.bindings.delete",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform",
                        "https://www.googleapis.com/auth/dataplex.read-write"
                      ],
                      "parameters": {
                        "name": {
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+/bindings/[^/]+$",
                          "description": "Required. The resource name of the DataDomainBinding: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}/bindings/{binding_id}",
                          "type": "string",
                          "required": true
                        }
                      },
                      "httpMethod": "DELETE",
                      "description": "Deletes a DataDomainBinding resource.",
                      "parameterOrder": [
                        "name"
                      ]
                    }
                  }
                }
              }
            },
            "entryTypes": {
              "methods": {
                "get": {
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryTypes/{entryTypesId}",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1EntryType"
                  },
                  "description": "Gets an EntryType.",
                  "httpMethod": "GET",
                  "id": "dataplex.projects.locations.entryTypes.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"
                  ],
                  "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
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ]
                },
                "testIamPermissions": {
                  "parameterOrder": [
                    "resource"
                  ],
                  "parameters": {
                    "resource": {
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryTypes/[^/]+$",
                      "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"
                    }
                  },
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "GoogleIamV1TestIamPermissionsRequest"
                  },
                  "path": "v1/{+resource}:testIamPermissions",
                  "id": "dataplex.projects.locations.entryTypes.testIamPermissions",
                  "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}/entryTypes/{entryTypesId}:testIamPermissions",
                  "response": {
                    "$ref": "GoogleIamV1TestIamPermissionsResponse"
                  }
                },
                "getIamPolicy": {
                  "parameterOrder": [
                    "resource"
                  ],
                  "id": "dataplex.projects.locations.entryTypes.getIamPolicy",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryTypes/{entryTypesId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "path": "v1/{+resource}:getIamPolicy",
                  "httpMethod": "GET",
                  "parameters": {
                    "options.requestedPolicyVersion": {
                      "format": "int32",
                      "type": "integer",
                      "location": "query",
                      "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)."
                    },
                    "resource": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryTypes/[^/]+$",
                      "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.",
                      "type": "string",
                      "required": true
                    }
                  },
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set."
                },
                "patch": {
                  "id": "dataplex.projects.locations.entryTypes.patch",
                  "description": "Updates an EntryType.",
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryTypes/{entryTypesId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "httpMethod": "PATCH",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "path": "v1/{+name}",
                  "parameters": {
                    "validateOnly": {
                      "description": "Optional. The service validates the request without performing any mutations. The default is false.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "updateMask": {
                      "type": "string",
                      "description": "Required. Mask of fields to update.",
                      "format": "google-fieldmask",
                      "location": "query"
                    },
                    "name": {
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryTypes/[^/]+$",
                      "description": "Output only. The relative resource name of the EntryType, of the form: projects/{project_number}/locations/{location_id}/entryTypes/{entry_type_id}."
                    }
                  },
                  "request": {
                    "$ref": "GoogleCloudDataplexV1EntryType"
                  }
                },
                "list": {
                  "httpMethod": "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"
                  ],
                  "parameters": {
                    "pageSize": {
                      "location": "query",
                      "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.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "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",
                      "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/[^/]+$",
                      "type": "string",
                      "required": true
                    },
                    "orderBy": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Orders the result by name or create_time fields. If not specified, the ordering is undefined."
                    },
                    "filter": {
                      "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.",
                      "type": "string",
                      "location": "query"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryTypes",
                  "response": {
                    "$ref": "GoogleCloudDataplexV1ListEntryTypesResponse"
                  },
                  "description": "Lists EntryType resources in a project and location.",
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "dataplex.projects.locations.entryTypes.list",
                  "path": "v1/{+parent}/entryTypes"
                },
                "setIamPolicy": {
                  "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"
                  ],
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "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.",
                      "required": true,
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/entryTypes/[^/]+$"
                    }
                  },
                  "httpMethod": "POST",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryTypes/{entryTypesId}:setIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "id": "dataplex.projects.locations.entryTypes.setIamPolicy",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "path": "v1/{+resource}:setIamPolicy"
                },
                "create": {
                  "description": "Creates an EntryType.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "parameters": {
                    "parent": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "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.",
                      "location": "path",
                      "type": "string"
                    },
                    "entryTypeId": {
                      "description": "Required. EntryType identifier.",
                      "type": "string",
                      "location": "query"
                    },
                    "validateOnly": {
                      "description": "Optional. The service validates the request without performing any mutations. The default is false.",
                      "type": "boolean",
                      "location": "query"
                    }
                  },
                  "httpMethod": "POST",
                  "id": "dataplex.projects.locations.entryTypes.create",
                  "path": "v1/{+parent}/entryTypes",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryTypes",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "request": {
                    "$ref": "GoogleCloudDataplexV1EntryType"
                  },
                  "parameterOrder": [
                    "parent"
                  ]
                },
                "delete": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryTypes/{entryTypesId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "dataplex.projects.locations.entryTypes.delete",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/dataplex.read-write"
                  ],
                  "description": "Deletes an EntryType.",
                  "httpMethod": "DELETE",
                  "parameters": {
                    "name": {
                      "required": true,
                      "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/[^/]+$"
                    },
                    "etag": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. If the client provided etag value does not match the current etag value, the DeleteEntryTypeRequest method returns an ABORTED error response."
                    }
                  }
                }
              }
            }
          },
          "methods": {
            "searchEntries": {
              "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"
              ],
              "path": "v1/{+name}:searchEntries",
              "parameters": {
                "pageToken": {
                  "type": "string",
                  "location": "query",
                  "description": "Optional. Page token received from a previous SearchEntries call. Provide this to retrieve the subsequent page."
                },
                "semanticSearch": {
                  "location": "query",
                  "description": "Optional. Specifies whether the search should understand the meaning and intent behind the query, rather than just matching keywords.",
                  "type": "boolean"
                },
                "pageSize": {
                  "format": "int32",
                  "type": "integer",
                  "location": "query",
                  "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."
                },
                "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).",
                  "type": "string",
                  "location": "query"
                },
                "contexts": {
                  "location": "query",
                  "repeated": true,
                  "type": "string",
                  "description": "Optional. Specifies the scope of the context in which the search will be performed. This scope will also be used to perform IAM checks, which if passing, will return all resources in the scope."
                },
                "orderBy": {
                  "location": "query",
                  "description": "Optional. Specifies the ordering of results. Supported values are: relevance last_modified_timestamp last_modified_timestamp asc",
                  "type": "string"
                },
                "scope": {
                  "location": "query",
                  "type": "string",
                  "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."
                },
                "name": {
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "location": "path",
                  "type": "string",
                  "description": "Required. The project to which the request should be attributed in the following form: projects/{project}/locations/global.",
                  "required": true
                }
              },
              "httpMethod": "POST",
              "id": "dataplex.projects.locations.searchEntries",
              "parameterOrder": [
                "name"
              ],
              "description": "Searches for Entries matching the given query and scope.",
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:searchEntries",
              "response": {
                "$ref": "GoogleCloudDataplexV1SearchEntriesResponse"
              }
            },
            "list": {
              "path": "v1/{+name}/locations",
              "parameterOrder": [
                "name"
              ],
              "id": "dataplex.projects.locations.list",
              "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.",
              "parameters": {
                "filter": {
                  "type": "string",
                  "location": "query",
                  "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)."
                },
                "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."
                },
                "extraLocationTypes": {
                  "location": "query",
                  "repeated": true,
                  "type": "string",
                  "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage."
                },
                "pageSize": {
                  "description": "The maximum number of results to return. If not set, the service selects a default.",
                  "location": "query",
                  "format": "int32",
                  "type": "integer"
                },
                "name": {
                  "required": true,
                  "pattern": "^projects/[^/]+$",
                  "location": "path",
                  "description": "The resource that owns the locations collection, if applicable.",
                  "type": "string"
                }
              },
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/dataplex.read-write"
              ],
              "flatPath": "v1/projects/{projectsId}/locations",
              "response": {
                "$ref": "GoogleCloudLocationListLocationsResponse"
              }
            },
            "lookupEntryLinks": {
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:lookupEntryLinks",
              "response": {
                "$ref": "GoogleCloudDataplexV1LookupEntryLinksResponse"
              },
              "id": "dataplex.projects.locations.lookupEntryLinks",
              "path": "v1/{+name}:lookupEntryLinks",
              "httpMethod": "GET",
              "parameters": {
                "entry": {
                  "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.",
                  "type": "string",
                  "location": "query"
                },
                "pageSize": {
                  "format": "int32",
                  "location": "query",
                  "type": "integer",
                  "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."
                },
                "entryMode": {
                  "type": "string",
                  "enum": [
                    "ENTRY_MODE_UNSPECIFIED",
                    "SOURCE",
                    "TARGET"
                  ],
                  "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."
                  ],
                  "description": "Mode of entry reference.",
                  "location": "query"
                },
                "entryLinkTypes": {
                  "type": "string",
                  "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
                },
                "name": {
                  "required": true,
                  "description": "Required. The project to which the request should be attributed to Format: projects/{project_id_or_number}/locations/{location_id}.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "type": "string"
                },
                "pageToken": {
                  "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.",
                  "type": "string",
                  "location": "query"
                }
              },
              "description": "Looks up Entry Links referencing the specified Entry.",
              "parameterOrder": [
                "name"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/dataplex.read-write"
              ]
            },
            "modifyEntry": {
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/dataplex.read-write"
              ],
              "description": "Modifies an entry using the permission on the source system.",
              "path": "v1/{+name}:modifyEntry",
              "parameterOrder": [
                "name"
              ],
              "id": "dataplex.projects.locations.modifyEntry",
              "request": {
                "$ref": "GoogleCloudDataplexV1ModifyEntryRequest"
              },
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:modifyEntry",
              "response": {
                "$ref": "GoogleCloudDataplexV1Entry"
              },
              "parameters": {
                "name": {
                  "required": true,
                  "type": "string",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "location": "path",
                  "description": "Required. The project to which the request should be attributed in the following form: projects/{project}/locations/{location}."
                }
              },
              "httpMethod": "POST"
            },
            "get": {
              "path": "v1/{+name}",
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "description": "Resource name for the location.",
                  "type": "string",
                  "required": true,
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "location": "path"
                }
              },
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}",
              "response": {
                "$ref": "GoogleCloudLocationLocation"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/dataplex.read-write"
              ],
              "id": "dataplex.projects.locations.get",
              "parameterOrder": [
                "name"
              ],
              "description": "Gets information about a location."
            },
            "lookupEntry": {
              "path": "v1/{+name}:lookupEntry",
              "id": "dataplex.projects.locations.lookupEntry",
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:lookupEntry",
              "response": {
                "$ref": "GoogleCloudDataplexV1Entry"
              },
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "location": "path",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "description": "Required. The project to which the request should be attributed in the following form: projects/{project}/locations/{location}.",
                  "required": true,
                  "type": "string"
                },
                "view": {
                  "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."
                  ],
                  "location": "query",
                  "description": "Optional. View to control which parts of an entry the service should return. Please check the limitations on returned aspects in the Entry view documentation. Amount of returned aspects depends on the selected Entry View.",
                  "type": "string",
                  "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."
                },
                "entry": {
                  "description": "Required. The resource name of the Entry: projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}.",
                  "type": "string",
                  "location": "query"
                },
                "aspectTypes": {
                  "location": "query",
                  "repeated": true,
                  "description": "Optional. Limits the aspects returned to the provided aspect types. It only works for CUSTOM view.",
                  "type": "string"
                }
              },
              "httpMethod": "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"
              ],
              "description": "Looks up an entry by name using the permission on the source system."
            },
            "lookupContext": {
              "path": "v1/{+name}:lookupContext",
              "id": "dataplex.projects.locations.lookupContext",
              "request": {
                "$ref": "GoogleCloudDataplexV1LookupContextRequest"
              },
              "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": {
                  "type": "string",
                  "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"
                }
              },
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:lookupContext",
              "response": {
                "$ref": "GoogleCloudDataplexV1LookupContextResponse"
              },
              "httpMethod": "POST",
              "parameterOrder": [
                "name"
              ]
            }
          }
        }
      }
    }
  },
  "servicePath": "",
  "rootUrl": "https://dataplex.googleapis.com/",
  "fullyEncodeReservedExpansion": true,
  "schemas": {
    "GoogleCloudDataplexV1MetadataJobExportJobResult": {
      "type": "object",
      "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.",
      "properties": {
        "exportedEntries": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The number of entries that were exported.",
          "readOnly": true
        },
        "errorMessage": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The error message if the metadata export job failed."
        }
      },
      "id": "GoogleCloudDataplexV1MetadataJobExportJobResult"
    },
    "GoogleCloudDataplexV1TaskNotebookTaskConfig": {
      "id": "GoogleCloudDataplexV1TaskNotebookTaskConfig",
      "properties": {
        "infrastructureSpec": {
          "$ref": "GoogleCloudDataplexV1TaskInfrastructureSpec",
          "description": "Optional. Infrastructure specification for the execution."
        },
        "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"
        },
        "fileUris": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional. Cloud Storage URIs of files to be placed in the working directory of each executor."
        },
        "archiveUris": {
          "items": {
            "type": "string"
          },
          "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."
        }
      },
      "type": "object",
      "description": "Config for running scheduled notebooks."
    },
    "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoStringFieldInfo": {
      "id": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoStringFieldInfo",
      "properties": {
        "averageLength": {
          "readOnly": true,
          "type": "number",
          "format": "double",
          "description": "Output only. Average length of non-null values in the scanned data."
        },
        "minLength": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Minimum length of non-null values in the scanned data.",
          "format": "int64"
        },
        "maxLength": {
          "description": "Output only. Maximum length of non-null values in the scanned data.",
          "readOnly": true,
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object",
      "description": "The profile information for a string type field."
    },
    "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.",
      "properties": {
        "labels": {
          "description": "Optional. User-defined labels for the Glossary.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "uid": {
          "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,
          "type": "string"
        },
        "createTime": {
          "description": "Output only. The time at which the Glossary was created.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "Optional. The user-mutable description of the Glossary."
        },
        "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"
        },
        "termCount": {
          "readOnly": true,
          "description": "Output only. The number of GlossaryTerms in the Glossary.",
          "type": "integer",
          "format": "int32"
        },
        "etag": {
          "type": "string",
          "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."
        },
        "categoryCount": {
          "type": "integer",
          "description": "Output only. The number of GlossaryCategories in the Glossary.",
          "format": "int32",
          "readOnly": true
        },
        "updateTime": {
          "format": "google-datetime",
          "readOnly": true,
          "type": "string",
          "description": "Output only. The time at which the Glossary was last updated."
        },
        "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."
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1Glossary"
    },
    "GoogleCloudDataplexV1Entry": {
      "description": "An entry is a representation of a data resource that can be described by various metadata.",
      "id": "GoogleCloudDataplexV1Entry",
      "properties": {
        "createTime": {
          "description": "Output only. The time when the entry was created in Dataplex Universal Catalog.",
          "type": "string",
          "readOnly": true,
          "format": "google-datetime"
        },
        "entrySource": {
          "$ref": "GoogleCloudDataplexV1EntrySource",
          "description": "Optional. Information related to the source system of the data resource that is represented by the entry."
        },
        "fullyQualifiedName": {
          "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.",
          "type": "string"
        },
        "aspects": {
          "type": "object",
          "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"
          }
        },
        "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"
        },
        "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"
        },
        "entryType": {
          "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}.",
          "type": "string"
        },
        "updateTime": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The time when the entry was last updated in Dataplex Universal Catalog.",
          "format": "google-datetime"
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1DataScanEvent": {
      "description": "These messages contain information about the execution of a datascan. The monitored resource is 'DataScan'",
      "type": "object",
      "properties": {
        "message": {
          "description": "The message describing the data scan job event.",
          "type": "string"
        },
        "dataDocumentation": {
          "$ref": "GoogleCloudDataplexV1DataScanEventDataDocumentationResult",
          "description": "Data documentation result for data documentation (insights) scan."
        },
        "dataQualityConfigs": {
          "$ref": "GoogleCloudDataplexV1DataScanEventDataQualityAppliedConfigs",
          "description": "Applied configs for data quality type data scan."
        },
        "jobId": {
          "description": "The identifier of the specific data scan job this log entry is for.",
          "type": "string"
        },
        "state": {
          "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"
          ],
          "type": "string",
          "description": "The status of the data scan job."
        },
        "postScanActionsResult": {
          "description": "The result of post scan actions.",
          "$ref": "GoogleCloudDataplexV1DataScanEventPostScanActionsResult"
        },
        "catalogPublishingStatus": {
          "description": "The status of publishing the data scan as Dataplex Universal Catalog metadata.",
          "$ref": "GoogleCloudDataplexV1DataScanCatalogPublishingStatus"
        },
        "startTime": {
          "format": "google-datetime",
          "description": "The time when the data scan job started to run.",
          "type": "string"
        },
        "scope": {
          "type": "string",
          "description": "The scope of the data scan (e.g. full, incremental).",
          "enumDescriptions": [
            "An unspecified scope type.",
            "Data scan runs on all of the data.",
            "Data scan runs on incremental data."
          ],
          "enum": [
            "SCOPE_UNSPECIFIED",
            "FULL",
            "INCREMENTAL"
          ]
        },
        "dataSource": {
          "type": "string",
          "description": "The data source of the data scan"
        },
        "dataProfileConfigs": {
          "description": "Applied configs for data profile type data scan.",
          "$ref": "GoogleCloudDataplexV1DataScanEventDataProfileAppliedConfigs"
        },
        "dataQuality": {
          "description": "Data quality result for data quality type data scan.",
          "$ref": "GoogleCloudDataplexV1DataScanEventDataQualityResult"
        },
        "dataProfile": {
          "description": "Data profile result for data profile type data scan.",
          "$ref": "GoogleCloudDataplexV1DataScanEventDataProfileResult"
        },
        "specVersion": {
          "description": "A version identifier of the spec which was used to execute this job.",
          "type": "string"
        },
        "endTime": {
          "type": "string",
          "description": "The time when the data scan job finished.",
          "format": "google-datetime"
        },
        "type": {
          "description": "The type of the data scan.",
          "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"
          ]
        },
        "createTime": {
          "description": "The time when the data scan job was created.",
          "format": "google-datetime",
          "type": "string"
        },
        "trigger": {
          "type": "string",
          "description": "The trigger type of the data scan job.",
          "enum": [
            "TRIGGER_UNSPECIFIED",
            "ON_DEMAND",
            "SCHEDULE",
            "ONE_TIME"
          ],
          "enumDescriptions": [
            "An unspecified trigger type.",
            "Data scan triggers on demand.",
            "Data scan triggers as per schedule.",
            "Data scan is run one time on creation."
          ]
        }
      },
      "id": "GoogleCloudDataplexV1DataScanEvent"
    },
    "GoogleCloudDataplexV1DataDiscoverySpecStorageConfig": {
      "type": "object",
      "id": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfig",
      "properties": {
        "excludePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "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."
        },
        "includePatterns": {
          "type": "array",
          "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"
          }
        },
        "csvOptions": {
          "$ref": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigCsvOptions",
          "description": "Optional. Configuration for CSV data."
        },
        "jsonOptions": {
          "description": "Optional. Configuration for JSON data.",
          "$ref": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigJsonOptions"
        }
      },
      "description": "Configurations related to Cloud Storage as the data source."
    },
    "GoogleCloudDataplexV1DataQualityRuleTemplateReferenceParameterValue": {
      "type": "object",
      "properties": {
        "value": {
          "description": "Required. Represents the string value of the parameter.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityRuleTemplateReferenceParameterValue",
      "description": "Represents a parameter value."
    },
    "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.",
      "properties": {
        "updateTime": {
          "description": "Last update time of the status.",
          "type": "string",
          "format": "google-datetime"
        },
        "message": {
          "description": "Additional information about the current state.",
          "type": "string"
        },
        "state": {
          "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"
          ],
          "description": "The current state of the security policy applied to the attached resource.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1AssetSecurityStatus"
    },
    "GoogleCloudDataplexV1AssetDiscoveryStatus": {
      "type": "object",
      "id": "GoogleCloudDataplexV1AssetDiscoveryStatus",
      "description": "Status of discovery for an asset.",
      "properties": {
        "message": {
          "description": "Additional information about the current state.",
          "type": "string"
        },
        "state": {
          "description": "The current status of the discovery feature.",
          "enum": [
            "STATE_UNSPECIFIED",
            "SCHEDULED",
            "IN_PROGRESS",
            "PAUSED",
            "DISABLED"
          ],
          "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."
          ],
          "type": "string"
        },
        "stats": {
          "$ref": "GoogleCloudDataplexV1AssetDiscoveryStatusStats",
          "description": "Data Stats of the asset reported by discovery."
        },
        "updateTime": {
          "description": "Last update time of the status.",
          "format": "google-datetime",
          "type": "string"
        },
        "lastRunTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "The start time of the last discovery run."
        },
        "lastRunDuration": {
          "format": "google-duration",
          "type": "string",
          "description": "The duration of the last discovery run."
        }
      }
    },
    "GoogleCloudDataplexV1ListDataDomainBindingsResponse": {
      "description": "List DataDomainBindings response.",
      "properties": {
        "nextPageToken": {
          "description": "Token to retrieve the next page of results.",
          "type": "string"
        },
        "dataDomainBindings": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataDomainBinding"
          },
          "description": "DataDomainBindings under the given parent."
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1ListDataDomainBindingsResponse"
    },
    "GoogleCloudDataplexV1MetadataFeed": {
      "properties": {
        "filters": {
          "$ref": "GoogleCloudDataplexV1MetadataFeedFilters",
          "description": "Optional. The filters of the metadata feed. Only the changes that match the filters are published."
        },
        "updateTime": {
          "description": "Output only. The time when the feed was updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "scope": {
          "description": "Required. The scope of the metadata feed. Only the in scope changes are published.",
          "$ref": "GoogleCloudDataplexV1MetadataFeedScope"
        },
        "labels": {
          "type": "object",
          "description": "Optional. User-defined labels.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "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
        },
        "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."
        },
        "createTime": {
          "readOnly": true,
          "format": "google-datetime",
          "type": "string",
          "description": "Output only. The time when the feed was created."
        },
        "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"
        }
      },
      "description": "MetadataFeed contains information related to the metadata feed.",
      "type": "object",
      "id": "GoogleCloudDataplexV1MetadataFeed"
    },
    "GoogleCloudDataplexV1DataQualitySpecPostScanActionsBigQueryExport": {
      "description": "The configuration of BigQuery export post scan action.",
      "type": "object",
      "id": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsBigQueryExport",
      "properties": {
        "resultsTable": {
          "type": "string",
          "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"
        }
      }
    },
    "GoogleCloudDataplexV1DiscoveryEventActionDetails": {
      "properties": {
        "type": {
          "description": "The type of action. Eg. IncompatibleDataSchema, InvalidDataFormat",
          "type": "string"
        },
        "issue": {
          "description": "The human readable issue associated with the action.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1DiscoveryEventActionDetails",
      "description": "Details about the action."
    },
    "GoogleCloudDataplexV1GovernanceEventEntity": {
      "type": "object",
      "id": "GoogleCloudDataplexV1GovernanceEventEntity",
      "description": "Information about Entity resource that the log event is associated with.",
      "properties": {
        "entityType": {
          "description": "Type of entity.",
          "type": "string",
          "enumDescriptions": [
            "An unspecified Entity type.",
            "Table entity type.",
            "Fileset entity type."
          ],
          "enum": [
            "ENTITY_TYPE_UNSPECIFIED",
            "TABLE",
            "FILESET"
          ]
        },
        "entity": {
          "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}",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1SchemaPartitionField": {
      "id": "GoogleCloudDataplexV1SchemaPartitionField",
      "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",
          "description": "Required. Immutable. The type of field.",
          "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": "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"
    },
    "GoogleCloudDataplexV1DataQualitySpecPostScanActionsRecipients": {
      "type": "object",
      "properties": {
        "emails": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Optional. The email recipients who will receive the DataQualityScan results report."
        }
      },
      "id": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsRecipients",
      "description": "The individuals or groups who are designated to receive notifications upon triggers."
    },
    "GoogleCloudDataplexV1DataProductAccessApprovalConfig": {
      "properties": {
        "approverEmails": {
          "description": "Optional. Specifies the email addresses of users who are potential approvers and are notified when an access request is made for the data product. The maximum number of emails allowed is 10.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1DataProductAccessApprovalConfig",
      "description": "Configuration for access approval for the data product."
    },
    "GoogleCloudDataplexV1TriggerOnDemand": {
      "type": "object",
      "properties": {},
      "id": "GoogleCloudDataplexV1TriggerOnDemand",
      "description": "The scan runs once via RunDataScan API."
    },
    "GoogleCloudDataplexV1DeleteEntryRequest": {
      "id": "GoogleCloudDataplexV1DeleteEntryRequest",
      "description": "Delete Entry request.",
      "properties": {
        "name": {
          "description": "Required. The resource name of the Entry: projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1ListDataDomainsResponse": {
      "type": "object",
      "properties": {
        "dataDomains": {
          "type": "array",
          "description": "DataDomains under the given parent.",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataDomain"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results."
        }
      },
      "description": "List DataDomains response.",
      "id": "GoogleCloudDataplexV1ListDataDomainsResponse"
    },
    "GoogleCloudDataplexV1DataScanJob": {
      "description": "A DataScanJob represents an instance of DataScan execution.",
      "type": "object",
      "properties": {
        "dataProfileSpec": {
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataProfileSpec",
          "description": "Output only. Settings for a data profile scan."
        },
        "dataDocumentationResult": {
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataDocumentationResult",
          "description": "Output only. The result of a data documentation scan."
        },
        "dataQualitySpec": {
          "description": "Output only. Settings for a data quality scan.",
          "$ref": "GoogleCloudDataplexV1DataQualitySpec",
          "readOnly": true
        },
        "partialFailureMessage": {
          "type": "string",
          "description": "Output only. A message indicating partial failure details.",
          "readOnly": true
        },
        "dataProfileResult": {
          "$ref": "GoogleCloudDataplexV1DataProfileResult",
          "readOnly": true,
          "description": "Output only. The result of a data profile scan."
        },
        "dataDiscoveryResult": {
          "description": "Output only. The result of a data discovery scan.",
          "$ref": "GoogleCloudDataplexV1DataDiscoveryResult",
          "readOnly": true
        },
        "dataQualityResult": {
          "readOnly": true,
          "description": "Output only. The result of a data quality scan.",
          "$ref": "GoogleCloudDataplexV1DataQualityResult"
        },
        "type": {
          "enumDescriptions": [
            "The data scan type is unspecified.",
            "Data quality scan.",
            "Data profile scan.",
            "Data discovery scan.",
            "Data documentation scan."
          ],
          "readOnly": true,
          "enum": [
            "DATA_SCAN_TYPE_UNSPECIFIED",
            "DATA_QUALITY",
            "DATA_PROFILE",
            "DATA_DISCOVERY",
            "DATA_DOCUMENTATION"
          ],
          "description": "Output only. The type of the parent DataScan.",
          "type": "string"
        },
        "dataDiscoverySpec": {
          "description": "Output only. Settings for a data discovery scan.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataDiscoverySpec"
        },
        "startTime": {
          "type": "string",
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. The time when the DataScanJob was started."
        },
        "message": {
          "type": "string",
          "description": "Output only. Additional information about the current state.",
          "readOnly": true
        },
        "dataDocumentationSpec": {
          "description": "Output only. Settings for a data documentation scan.",
          "$ref": "GoogleCloudDataplexV1DataDocumentationSpec",
          "readOnly": true
        },
        "createTime": {
          "readOnly": true,
          "format": "google-datetime",
          "type": "string",
          "description": "Output only. The time when the DataScanJob was created."
        },
        "name": {
          "readOnly": true,
          "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.",
          "type": "string"
        },
        "state": {
          "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."
          ],
          "readOnly": true,
          "enum": [
            "STATE_UNSPECIFIED",
            "RUNNING",
            "CANCELING",
            "CANCELLED",
            "SUCCEEDED",
            "FAILED",
            "PENDING",
            "SUCCEEDED_WITH_ERRORS"
          ],
          "type": "string",
          "description": "Output only. Execution state for the DataScanJob."
        },
        "endTime": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The time when the DataScanJob ended.",
          "format": "google-datetime"
        },
        "uid": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. System generated globally unique ID for the DataScanJob."
        }
      },
      "id": "GoogleCloudDataplexV1DataScanJob"
    },
    "GoogleCloudDataplexV1ApproveChangeRequestRequest": {
      "description": "Request message for ApproveChangeRequest.",
      "properties": {
        "comment": {
          "description": "Optional. The comment or reason for approving the ChangeRequest. Maximum length is 1024 characters.",
          "type": "string"
        },
        "etag": {
          "type": "string",
          "description": "Optional. The etag of the ChangeRequest."
        }
      },
      "id": "GoogleCloudDataplexV1ApproveChangeRequestRequest",
      "type": "object"
    },
    "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.",
      "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"
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1TaskInfrastructureSpec": {
      "description": "Configuration for the underlying infrastructure used to run workloads.",
      "properties": {
        "containerImage": {
          "description": "Container Image Runtime Configuration.",
          "$ref": "GoogleCloudDataplexV1TaskInfrastructureSpecContainerImageRuntime"
        },
        "batch": {
          "description": "Compute resources needed for a Task when using Dataproc Serverless.",
          "$ref": "GoogleCloudDataplexV1TaskInfrastructureSpecBatchComputeResources"
        },
        "vpcNetwork": {
          "$ref": "GoogleCloudDataplexV1TaskInfrastructureSpecVpcNetwork",
          "description": "Vpc network."
        }
      },
      "id": "GoogleCloudDataplexV1TaskInfrastructureSpec",
      "type": "object"
    },
    "GoogleCloudDataplexV1SearchEntriesResult": {
      "type": "object",
      "description": "A single result of a SearchEntries request.",
      "properties": {
        "linkedResource": {
          "type": "string",
          "description": "Linked resource name.",
          "deprecated": true
        },
        "dataplexEntry": {
          "$ref": "GoogleCloudDataplexV1Entry"
        },
        "snippets": {
          "description": "Snippets.",
          "$ref": "GoogleCloudDataplexV1SearchEntriesResultSnippets",
          "deprecated": true
        }
      },
      "id": "GoogleCloudDataplexV1SearchEntriesResult"
    },
    "GoogleCloudDataplexV1DataQualityRuleRegexExpectation": {
      "id": "GoogleCloudDataplexV1DataQualityRuleRegexExpectation",
      "description": "Evaluates whether each column value matches a specified regex.",
      "properties": {
        "regex": {
          "type": "string",
          "description": "Optional. A regular expression the column value is expected to match."
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1DataQualityResult": {
      "properties": {
        "rules": {
          "type": "array",
          "description": "Output only. A list of all the rules in a job, and their results.",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityRuleResult"
          },
          "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.",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityColumnResult"
          },
          "readOnly": true,
          "type": "array"
        },
        "dimensions": {
          "type": "array",
          "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"
          }
        },
        "score": {
          "readOnly": true,
          "type": "number",
          "format": "float",
          "description": "Output only. The overall data quality score.The score ranges between 0, 100 (up to two decimal points)."
        },
        "scannedData": {
          "readOnly": true,
          "description": "Output only. The data scanned for this result.",
          "$ref": "GoogleCloudDataplexV1ScannedData"
        },
        "postScanActionsResult": {
          "description": "Output only. The result of post scan actions.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataQualityResultPostScanActionsResult"
        },
        "anomalyDetectionGeneratedAssets": {
          "readOnly": true,
          "description": "Output only. The generated assets for anomaly detection.",
          "$ref": "GoogleCloudDataplexV1DataQualityResultAnomalyDetectionGeneratedAssets"
        },
        "rowCount": {
          "readOnly": true,
          "description": "Output only. The count of rows processed.",
          "type": "string",
          "format": "int64"
        },
        "catalogPublishingStatus": {
          "description": "Output only. The status of publishing the data scan as Dataplex Universal Catalog metadata.",
          "$ref": "GoogleCloudDataplexV1DataScanCatalogPublishingStatus",
          "readOnly": true
        },
        "passed": {
          "type": "boolean",
          "readOnly": true,
          "description": "Output only. Overall data quality result -- true if all rules passed."
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1DataQualityResult",
      "description": "The output of a DataQualityScan."
    },
    "GoogleCloudDataplexV1ExecutionIdentityServiceAccount": {
      "description": "The service account",
      "type": "object",
      "id": "GoogleCloudDataplexV1ExecutionIdentityServiceAccount",
      "properties": {
        "email": {
          "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 .",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityRuleRowConditionExpectation": {
      "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",
      "properties": {
        "sqlExpression": {
          "type": "string",
          "description": "Optional. The SQL expression."
        }
      },
      "type": "object"
    },
    "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.",
      "id": "GoogleCloudDataplexV1GlossaryTerm",
      "properties": {
        "updateTime": {
          "description": "Output only. The time at which the GlossaryTerm was last updated.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "parent": {
          "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}",
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "Optional. The user-mutable description of the GlossaryTerm."
        },
        "name": {
          "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,
          "type": "string"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. User-defined labels for the GlossaryTerm."
        },
        "uid": {
          "readOnly": true,
          "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.",
          "type": "string"
        },
        "createTime": {
          "format": "google-datetime",
          "description": "Output only. The time at which the GlossaryTerm was created.",
          "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"
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1ListGlossariesResponse": {
      "properties": {
        "glossaries": {
          "items": {
            "$ref": "GoogleCloudDataplexV1Glossary"
          },
          "type": "array",
          "description": "Lists the Glossaries in the specified parent."
        },
        "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"
        }
      },
      "description": "List Glossaries Response",
      "id": "GoogleCloudDataplexV1ListGlossariesResponse",
      "type": "object"
    },
    "GoogleCloudDataplexV1UpdateEntryLinkRequest": {
      "description": "Request message for UpdateEntryLink method.",
      "type": "object",
      "properties": {
        "allowMissing": {
          "description": "Optional. If set to true and the entry link doesn't exist, the service will create it.",
          "type": "boolean"
        },
        "entryLink": {
          "description": "Required. Entry Link resource.",
          "$ref": "GoogleCloudDataplexV1EntryLink"
        },
        "aspectKeys": {
          "items": {
            "type": "string"
          },
          "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.",
          "type": "array"
        }
      },
      "id": "GoogleCloudDataplexV1UpdateEntryLinkRequest"
    },
    "GoogleLongrunningCancelOperationRequest": {
      "properties": {},
      "description": "The request message for Operations.CancelOperation.",
      "type": "object",
      "id": "GoogleLongrunningCancelOperationRequest"
    },
    "GoogleCloudDataplexV1DeleteGlossaryTermRequest": {
      "description": "Delete GlossaryTerm Request",
      "type": "object",
      "properties": {
        "name": {
          "description": "Required. The name of the GlossaryTerm to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1DeleteGlossaryTermRequest"
    },
    "GoogleCloudDataplexV1ActionMissingResource": {
      "description": "Action details for resource references in assets that cannot be located.",
      "properties": {},
      "type": "object",
      "id": "GoogleCloudDataplexV1ActionMissingResource"
    },
    "GoogleCloudDataplexV1ActionInvalidDataOrganization": {
      "type": "object",
      "properties": {},
      "id": "GoogleCloudDataplexV1ActionInvalidDataOrganization",
      "description": "Action details for invalid data arrangement."
    },
    "GoogleCloudDataplexV1AssetResourceStatus": {
      "description": "Status of the resource referenced by an asset.",
      "id": "GoogleCloudDataplexV1AssetResourceStatus",
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Additional information about the current state."
        },
        "managedAccessIdentity": {
          "readOnly": true,
          "description": "Output only. Service account associated with the BigQuery Connection.",
          "type": "string"
        },
        "state": {
          "description": "The current state of the managed resource.",
          "enum": [
            "STATE_UNSPECIFIED",
            "READY",
            "ERROR"
          ],
          "enumDescriptions": [
            "State unspecified.",
            "Resource does not have any errors.",
            "Resource has errors."
          ],
          "type": "string"
        },
        "updateTime": {
          "description": "Last update time of the status.",
          "format": "google-datetime",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1ListEntitiesResponse": {
      "description": "List metadata entities response.",
      "properties": {
        "entities": {
          "type": "array",
          "description": "Entities in the specified parent zone.",
          "items": {
            "$ref": "GoogleCloudDataplexV1Entity"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results, or empty if there are no remaining results in the list."
        }
      },
      "id": "GoogleCloudDataplexV1ListEntitiesResponse",
      "type": "object"
    },
    "GoogleCloudDataplexV1ActionIncompatibleDataSchema": {
      "type": "object",
      "description": "Action details for incompatible schemas detected by discovery.",
      "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": {
          "items": {
            "type": "string"
          },
          "description": "The list of data locations sampled and used for format/schema inference.",
          "type": "array"
        },
        "table": {
          "description": "The name of the table containing invalid data.",
          "type": "string"
        },
        "newSchema": {
          "description": "The new and incompatible schema within the table. The schema is provided as a JSON formatted structured listing columns and data types.",
          "type": "string"
        },
        "schemaChange": {
          "enum": [
            "SCHEMA_CHANGE_UNSPECIFIED",
            "INCOMPATIBLE",
            "MODIFIED"
          ],
          "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."
          ],
          "description": "Whether the action relates to a schema that is incompatible or modified.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1ActionIncompatibleDataSchema"
    },
    "GoogleCloudDataplexV1MetadataJobExportJobSpec": {
      "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"
        }
      },
      "description": "Job specification for a metadata export job.",
      "type": "object",
      "id": "GoogleCloudDataplexV1MetadataJobExportJobSpec"
    },
    "GoogleCloudLocationLocation": {
      "properties": {
        "locationId": {
          "type": "string",
          "description": "The canonical id for this location. For example: \"us-east1\"."
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"} "
        },
        "name": {
          "description": "Resource name for the location, which may vary between implementations. For example: \"projects/example-project/locations/us-east1\"",
          "type": "string"
        },
        "displayName": {
          "type": "string",
          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\"."
        },
        "metadata": {
          "type": "object",
          "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"
          }
        }
      },
      "id": "GoogleCloudLocationLocation",
      "description": "A resource that represents a Google Cloud location.",
      "type": "object"
    },
    "GoogleIamV1TestIamPermissionsRequest": {
      "id": "GoogleIamV1TestIamPermissionsRequest",
      "description": "Request message for TestIamPermissions method.",
      "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"
          }
        }
      }
    },
    "GoogleCloudDataplexV1StorageFormatJsonOptions": {
      "type": "object",
      "description": "Describes JSON data format.",
      "properties": {
        "encoding": {
          "description": "Optional. The character encoding of the data. Accepts \"US-ASCII\", \"UTF-8\" and \"ISO-8859-1\". Defaults to UTF-8 if not specified.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1StorageFormatJsonOptions"
    },
    "GoogleCloudDataplexV1ListPartitionsResponse": {
      "properties": {
        "partitions": {
          "items": {
            "$ref": "GoogleCloudDataplexV1Partition"
          },
          "description": "Partitions under the specified parent entity.",
          "type": "array"
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results, or empty if there are no remaining results in the list."
        }
      },
      "id": "GoogleCloudDataplexV1ListPartitionsResponse",
      "description": "List metadata partitions response.",
      "type": "object"
    },
    "GoogleIamV1TestIamPermissionsResponse": {
      "description": "Response message for TestIamPermissions method.",
      "id": "GoogleIamV1TestIamPermissionsResponse",
      "properties": {
        "permissions": {
          "items": {
            "type": "string"
          },
          "description": "A subset of TestPermissionsRequest.permissions that the caller is allowed.",
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1ListChangeRequestsResponse": {
      "description": "Response message for ListChangeRequests.",
      "type": "object",
      "id": "GoogleCloudDataplexV1ListChangeRequestsResponse",
      "properties": {
        "nextPageToken": {
          "description": "A token, which can be sent as page_token to retrieve the next page.",
          "type": "string"
        },
        "changeRequests": {
          "items": {
            "$ref": "GoogleCloudDataplexV1ChangeRequest"
          },
          "type": "array",
          "description": "The ChangeRequests from the specified project and location."
        },
        "unreachable": {
          "type": "array",
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudDataplexV1Zone": {
      "type": "object",
      "properties": {
        "description": {
          "description": "Optional. Description of the zone.",
          "type": "string"
        },
        "name": {
          "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": "string"
        },
        "createTime": {
          "type": "string",
          "description": "Output only. The time when the zone was created.",
          "format": "google-datetime",
          "readOnly": true
        },
        "state": {
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "CREATING",
            "DELETING",
            "ACTION_REQUIRED"
          ],
          "type": "string",
          "description": "Output only. Current state of the zone.",
          "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."
          ],
          "readOnly": true
        },
        "discoverySpec": {
          "description": "Optional. Specification of the discovery feature applied to data in this zone.",
          "$ref": "GoogleCloudDataplexV1ZoneDiscoverySpec"
        },
        "assetStatus": {
          "description": "Output only. Aggregated status of the underlying assets of the zone.",
          "$ref": "GoogleCloudDataplexV1AssetStatus",
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "description": "Output only. The time when the zone was last updated.",
          "format": "google-datetime",
          "readOnly": true
        },
        "resourceSpec": {
          "description": "Required. Specification of the resources that are referenced by the assets within this zone.",
          "$ref": "GoogleCloudDataplexV1ZoneResourceSpec"
        },
        "uid": {
          "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.",
          "type": "string",
          "readOnly": true
        },
        "displayName": {
          "description": "Optional. User friendly display name.",
          "type": "string"
        },
        "labels": {
          "description": "Optional. User defined labels for the zone.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "type": {
          "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"
          ],
          "type": "string",
          "description": "Required. Immutable. The type of the zone."
        }
      },
      "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.",
      "id": "GoogleCloudDataplexV1Zone"
    },
    "GoogleCloudDataplexV1CancelDataScanJobRequest": {
      "description": "Request message for the CancelDataScanJob method.",
      "properties": {},
      "id": "GoogleCloudDataplexV1CancelDataScanJobRequest",
      "type": "object"
    },
    "GoogleCloudDataplexV1LakeMetastore": {
      "description": "Settings to manage association of Dataproc Metastore with a lake.",
      "id": "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}"
        }
      }
    },
    "GoogleCloudDataplexV1DataAssetAccessGroupConfig": {
      "id": "GoogleCloudDataplexV1DataAssetAccessGroupConfig",
      "description": "Configuration for access group inherited from the parent data product.",
      "type": "object",
      "properties": {
        "iamRoles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "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\" ]"
        },
        "state": {
          "enum": [
            "STATE_UNSPECIFIED",
            "APPLYING",
            "APPLIED",
            "FAILED",
            "UNSUPPORTED"
          ],
          "enumDescriptions": [
            "State is unspecified.",
            "The iam role is being applied.",
            "The iam role has been successfully applied.",
            "The iam role application failed due to transient error.",
            "The iam role application is not supported for the asset resource type."
          ],
          "readOnly": true,
          "type": "string",
          "description": "Output only. The state of the iam role application."
        }
      }
    },
    "GoogleCloudDataplexV1ExecutionIdentity": {
      "type": "object",
      "id": "GoogleCloudDataplexV1ExecutionIdentity",
      "description": "The identity to run the datascan.",
      "properties": {
        "dataplexServiceAgent": {
          "description": "Optional. The Dataplex service agent associated with the user's project.",
          "$ref": "GoogleCloudDataplexV1ExecutionIdentityDataplexServiceAgent"
        },
        "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"
        }
      }
    },
    "GoogleCloudDataplexV1CreateEntryLinkRequest": {
      "description": "Request message for CreateEntryLink.",
      "id": "GoogleCloudDataplexV1CreateEntryLinkRequest",
      "properties": {
        "entryLink": {
          "$ref": "GoogleCloudDataplexV1EntryLink",
          "description": "Required. Entry Link resource."
        },
        "entryLinkId": {
          "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."
        },
        "parent": {
          "description": "Required. The resource name of the parent Entry Group: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleLongrunningOperation": {
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "id": "GoogleLongrunningOperation",
      "type": "object",
      "properties": {
        "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"
        },
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "GoogleRpcStatus"
        },
        "response": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "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.",
          "type": "object"
        },
        "done": {
          "type": "boolean",
          "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."
        },
        "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": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "type": "object"
        }
      }
    },
    "GoogleCloudDataplexV1DataProfileResultPostScanActionsResultBigQueryExportResult": {
      "properties": {
        "state": {
          "readOnly": true,
          "description": "Output only. Execution state for the BigQuery exporting.",
          "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"
          ],
          "type": "string"
        },
        "message": {
          "description": "Output only. Additional information about the BigQuery exporting.",
          "readOnly": true,
          "type": "string"
        }
      },
      "description": "The result of BigQuery export post scan action.",
      "type": "object",
      "id": "GoogleCloudDataplexV1DataProfileResultPostScanActionsResultBigQueryExportResult"
    },
    "GoogleCloudDataplexV1DataProductAccessRequest": {
      "properties": {
        "requestedPrincipal": {
          "type": "string",
          "description": "Optional. The principal for which access is being requested in IAM format. If not specified, the requestor's principal will be used. Example: serviceAccount:my-sa@my-project.iam.gserviceaccount.com. Only service account principals are currently supported. https://cloud.google.com/iam/docs/principal-identifiers"
        },
        "accessGroupDisplayName": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The display name of the access group defined in the Data Product for which access is being requested."
        },
        "accessGroupId": {
          "description": "Required. The ID of the access group for which access is being requested. This corresponds to the unique identifier of the AccessGroup defined in the Data Product.",
          "type": "string"
        },
        "parent": {
          "description": "Required. The resource name of the data product. Format: projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id}",
          "type": "string"
        }
      },
      "type": "object",
      "description": "Message for requesting access to a Data Product. This will be used to create a ChangeRequest of type REQUEST_DATA_PRODUCT_ACCESS.",
      "id": "GoogleCloudDataplexV1DataProductAccessRequest"
    },
    "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigCsvOptions": {
      "id": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigCsvOptions",
      "description": "Describes CSV and similar semi-structured data formats.",
      "type": "object",
      "properties": {
        "typeInferenceDisabled": {
          "description": "Optional. Whether to disable the inference of data types for CSV data. If true, all columns are registered as strings.",
          "type": "boolean"
        },
        "encoding": {
          "type": "string",
          "description": "Optional. The character encoding of the data. The default is UTF-8."
        },
        "headerRows": {
          "format": "int32",
          "description": "Optional. The number of rows to interpret as header rows that should be skipped when reading data rows.",
          "type": "integer"
        },
        "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"
        },
        "delimiter": {
          "type": "string",
          "description": "Optional. The delimiter that is used to separate values. The default is , (comma)."
        }
      }
    },
    "GoogleCloudDataplexV1MetadataFeedScope": {
      "id": "GoogleCloudDataplexV1MetadataFeedScope",
      "type": "object",
      "description": "Scope defines the scope of the metadata feed. Scopes are exclusive. Only one of the scopes can be specified.",
      "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": {
          "items": {
            "type": "string"
          },
          "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}.",
          "type": "array"
        },
        "entryGroups": {
          "type": "array",
          "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"
          }
        }
      }
    },
    "GoogleCloudDataplexV1TriggerSchedule": {
      "properties": {
        "cron": {
          "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.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1TriggerSchedule",
      "type": "object",
      "description": "The scan is scheduled to run periodically."
    },
    "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoDoubleFieldInfo": {
      "properties": {
        "quartiles": {
          "items": {
            "type": "number",
            "format": "double"
          },
          "type": "array",
          "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
        },
        "standardDeviation": {
          "readOnly": true,
          "description": "Output only. Standard deviation of non-null values in the scanned data. NaN, if the field has a NaN.",
          "type": "number",
          "format": "double"
        },
        "max": {
          "type": "number",
          "readOnly": true,
          "format": "double",
          "description": "Output only. Maximum of non-null values in the scanned data. NaN, if the field has a NaN."
        },
        "min": {
          "readOnly": true,
          "format": "double",
          "type": "number",
          "description": "Output only. Minimum of non-null values in the scanned data. NaN, if the field has a NaN."
        },
        "average": {
          "type": "number",
          "readOnly": true,
          "format": "double",
          "description": "Output only. Average of non-null values in the scanned data. NaN, if the field has a NaN."
        }
      },
      "id": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoDoubleFieldInfo",
      "type": "object",
      "description": "The profile information for a double type field."
    },
    "GoogleCloudDataplexV1BatchChangeMetadataRequest": {
      "type": "object",
      "id": "GoogleCloudDataplexV1BatchChangeMetadataRequest",
      "properties": {
        "name": {
          "type": "string",
          "description": "Required. The resource name of the EntryGroup on which the batch change applies. Format: projects/{project_number_or_id}/locations/{location_id}/entryGroups/{entry_group_id}"
        },
        "description": {
          "description": "Optional. Text description of the batch change.",
          "$ref": "GoogleCloudDataplexV1BatchChangeMetadataRequestDescription"
        },
        "changes": {
          "items": {
            "$ref": "GoogleCloudDataplexV1BatchChangeMetadataRequestChange"
          },
          "description": "Required. The list of changes to apply. Only a single change per resource is supported. Maximum number of changes supported is 250.",
          "type": "array"
        }
      },
      "description": "Request message for batch changing metadata. Requires permission to perform the underlying change, depending on the type and content of the change. Per operation, required permissions are: - for CreateEntry: dataplex.entries.create - for UpdateEntry: dataplex.entries.update - for DeleteEntry: dataplex.entries.delete - for CreateEntryLink: dataplex.entryLinks.create - for UpdateEntryLink: dataplex.entryLinks.update - for DeleteEntryLink: dataplex.entryLinks.deleteAnd per used type permissions are: - for EntryType: dataplex.entryTypes.use or dataplex.entryGroups.useEntry for reusable built-in types, - for AspectType: dataplex.aspectTypes.use or dataplex.entryGroups.useAspect for reusable built-in types and - for EntryLinkType: dataplex.entryLinkTypes.use or dataplex.entryGroups.useEntryLink for reusable built-in types."
    },
    "GoogleCloudDataplexV1DataQualityRuleTableConditionExpectation": {
      "type": "object",
      "properties": {
        "sqlExpression": {
          "description": "Optional. The SQL expression.",
          "type": "string"
        }
      },
      "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",
      "id": "GoogleCloudDataplexV1DataQualityRuleTableConditionExpectation"
    },
    "GoogleCloudDataplexV1TaskSparkTaskConfig": {
      "description": "User-specified config for running a Spark task.",
      "properties": {
        "infrastructureSpec": {
          "$ref": "GoogleCloudDataplexV1TaskInfrastructureSpec",
          "description": "Optional. Infrastructure specification for the execution."
        },
        "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)."
        },
        "sqlScriptFile": {
          "type": "string",
          "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\";)."
        },
        "archiveUris": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "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."
        },
        "mainClass": {
          "type": "string",
          "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)."
        },
        "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": {
          "type": "array",
          "description": "Optional. Cloud Storage URIs of files to be placed in the working directory of each executor.",
          "items": {
            "type": "string"
          }
        },
        "sqlScript": {
          "type": "string",
          "description": "The query text. The execution args are used to declare a set of script variables (set key=\"value\";)."
        }
      },
      "id": "GoogleCloudDataplexV1TaskSparkTaskConfig",
      "type": "object"
    },
    "GoogleCloudDataplexV1DataQualityRuleNonNullExpectation": {
      "type": "object",
      "description": "Evaluates whether each column value is null.",
      "id": "GoogleCloudDataplexV1DataQualityRuleNonNullExpectation",
      "properties": {}
    },
    "GoogleCloudDataplexV1DataQualityColumnResult": {
      "id": "GoogleCloudDataplexV1DataQualityColumnResult",
      "description": "DataQualityColumnResult provides a more detailed, per-column view of the results.",
      "properties": {
        "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,
          "format": "float",
          "type": "number"
        },
        "passed": {
          "description": "Output only. Whether the column passed or failed.",
          "readOnly": true,
          "type": "boolean"
        },
        "column": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The column specified in the DataQualityRule."
        },
        "dimensions": {
          "description": "Output only. The dimension-level results for this column.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityDimensionResult"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1BusinessGlossaryEvent": {
      "description": "Payload associated with Business Glossary related log events.",
      "id": "GoogleCloudDataplexV1BusinessGlossaryEvent",
      "type": "object",
      "properties": {
        "resource": {
          "type": "string",
          "description": "Name of the resource."
        },
        "message": {
          "description": "The log message.",
          "type": "string"
        },
        "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"
          ]
        }
      }
    },
    "GoogleCloudDataplexV1RequestDataProductAccessResponse": {
      "properties": {
        "changeRequestName": {
          "description": "The resource name of the created ChangeRequest. Format: projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id}",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1RequestDataProductAccessResponse",
      "type": "object",
      "description": "Response message for requesting access to a Data Product."
    },
    "GoogleCloudDataplexV1Job": {
      "properties": {
        "trigger": {
          "description": "Output only. Job execution trigger.",
          "readOnly": true,
          "enum": [
            "TRIGGER_UNSPECIFIED",
            "TASK_CONFIG",
            "RUN_REQUEST"
          ],
          "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."
          ],
          "type": "string"
        },
        "name": {
          "readOnly": true,
          "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}.",
          "type": "string"
        },
        "state": {
          "enum": [
            "STATE_UNSPECIFIED",
            "RUNNING",
            "CANCELLING",
            "CANCELLED",
            "SUCCEEDED",
            "FAILED",
            "ABORTED"
          ],
          "readOnly": true,
          "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."
          ],
          "description": "Output only. Execution state for the job."
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Output only. User-defined labels for the task.",
          "type": "object",
          "readOnly": true
        },
        "startTime": {
          "description": "Output only. The time when the job was started.",
          "format": "google-datetime",
          "type": "string",
          "readOnly": true
        },
        "retryCount": {
          "description": "Output only. The number of times the job has been retried (excluding the initial attempt).",
          "type": "integer",
          "format": "uint32",
          "readOnly": true
        },
        "message": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Additional information about the current state."
        },
        "executionSpec": {
          "readOnly": true,
          "description": "Output only. Spec related to how a task is executed.",
          "$ref": "GoogleCloudDataplexV1TaskExecutionSpec"
        },
        "uid": {
          "readOnly": true,
          "description": "Output only. System generated globally unique ID for the job.",
          "type": "string"
        },
        "service": {
          "type": "string",
          "description": "Output only. The underlying service running a job.",
          "enum": [
            "SERVICE_UNSPECIFIED",
            "DATAPROC"
          ],
          "enumDescriptions": [
            "Service used to run the job is unspecified.",
            "Dataproc service is used to run this job."
          ],
          "readOnly": true
        },
        "endTime": {
          "description": "Output only. The time when the job ended.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "serviceJob": {
          "description": "Output only. The full resource name for the job run under a particular service.",
          "readOnly": true,
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1Job",
      "type": "object",
      "description": "A job represents an instance of a task."
    },
    "GoogleCloudDataplexV1ListDataScansResponse": {
      "properties": {
        "dataScans": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataScan"
          },
          "description": "DataScans (BASIC view only) under the given parent location."
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        },
        "unreachable": {
          "type": "array",
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "GoogleCloudDataplexV1ListDataScansResponse",
      "description": "List dataScans response.",
      "type": "object"
    },
    "GoogleCloudDataplexV1Lake": {
      "type": "object",
      "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.",
      "id": "GoogleCloudDataplexV1Lake",
      "properties": {
        "assetStatus": {
          "readOnly": true,
          "description": "Output only. Aggregated status of the underlying assets of the lake.",
          "$ref": "GoogleCloudDataplexV1AssetStatus"
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the lake was created.",
          "readOnly": true
        },
        "uid": {
          "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.",
          "type": "string",
          "readOnly": true
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object",
          "description": "Optional. User-defined labels for the lake."
        },
        "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."
        },
        "displayName": {
          "description": "Optional. User friendly display name.",
          "type": "string"
        },
        "metastore": {
          "$ref": "GoogleCloudDataplexV1LakeMetastore",
          "description": "Optional. Settings to manage lake and Dataproc Metastore service instance association."
        },
        "description": {
          "description": "Optional. Description of the lake.",
          "type": "string"
        },
        "metastoreStatus": {
          "description": "Output only. Metastore status of the lake.",
          "$ref": "GoogleCloudDataplexV1LakeMetastoreStatus",
          "readOnly": true
        },
        "name": {
          "description": "Output only. The relative resource name of the lake, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.",
          "type": "string",
          "readOnly": true
        },
        "updateTime": {
          "format": "google-datetime",
          "description": "Output only. The time when the lake was last updated.",
          "readOnly": true,
          "type": "string"
        },
        "serviceAccount": {
          "readOnly": true,
          "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.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1AssetDiscoverySpecCsvOptions": {
      "type": "object",
      "id": "GoogleCloudDataplexV1AssetDiscoverySpecCsvOptions",
      "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": {
          "description": "Optional. The delimiter being used to separate values. This defaults to ','.",
          "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."
        },
        "encoding": {
          "description": "Optional. The character encoding of the data. The default is UTF-8.",
          "type": "string"
        }
      },
      "description": "Describe CSV and similar semi-structured data formats."
    },
    "GoogleCloudDataplexV1RunDataScanRequest": {
      "type": "object",
      "id": "GoogleCloudDataplexV1RunDataScanRequest",
      "description": "Run DataScan Request",
      "properties": {}
    },
    "GoogleCloudDataplexV1ZoneDiscoverySpecCsvOptions": {
      "properties": {
        "delimiter": {
          "type": "string",
          "description": "Optional. The delimiter being used to separate values. This defaults to ','."
        },
        "headerRows": {
          "format": "int32",
          "type": "integer",
          "description": "Optional. The number of rows to interpret as header rows that should be skipped when reading data rows."
        },
        "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."
        },
        "encoding": {
          "description": "Optional. The character encoding of the data. The default is UTF-8.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1ZoneDiscoverySpecCsvOptions",
      "description": "Describe CSV and similar semi-structured data formats.",
      "type": "object"
    },
    "GoogleCloudDataplexV1DataDocumentationResult": {
      "id": "GoogleCloudDataplexV1DataDocumentationResult",
      "properties": {
        "tableResult": {
          "$ref": "GoogleCloudDataplexV1DataDocumentationResultTableResult",
          "readOnly": true,
          "description": "Output only. Insights for a Table resource."
        },
        "datasetResult": {
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataDocumentationResultDatasetResult",
          "description": "Output only. Insights for a Dataset resource."
        }
      },
      "type": "object",
      "description": "The output of a DataDocumentation scan."
    },
    "GoogleCloudDataplexV1RunTaskResponse": {
      "properties": {
        "job": {
          "description": "Jobs created by RunTask API.",
          "$ref": "GoogleCloudDataplexV1Job"
        }
      },
      "id": "GoogleCloudDataplexV1RunTaskResponse",
      "type": "object"
    },
    "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).",
      "id": "GoogleCloudDataplexV1DataScan",
      "type": "object",
      "properties": {
        "executionIdentity": {
          "description": "Optional. Immutable. The identity to run the datascan. If not specified, defaults to the Dataplex Service Agent.",
          "$ref": "GoogleCloudDataplexV1ExecutionIdentity"
        },
        "description": {
          "description": "Optional. Description of the scan. Must be between 1-1024 characters.",
          "type": "string"
        },
        "dataDiscoverySpec": {
          "$ref": "GoogleCloudDataplexV1DataDiscoverySpec",
          "description": "Settings for a data discovery scan."
        },
        "dataQualitySpec": {
          "description": "Settings for a data quality scan.",
          "$ref": "GoogleCloudDataplexV1DataQualitySpec"
        },
        "executionSpec": {
          "description": "Optional. DataScan execution settings.If not specified, the fields in it will use their default values.",
          "$ref": "GoogleCloudDataplexV1DataScanExecutionSpec"
        },
        "dataQualityResult": {
          "description": "Output only. The result of a data quality scan.",
          "$ref": "GoogleCloudDataplexV1DataQualityResult",
          "readOnly": true
        },
        "dataProfileSpec": {
          "description": "Settings for a data profile scan.",
          "$ref": "GoogleCloudDataplexV1DataProfileSpec"
        },
        "type": {
          "type": "string",
          "enum": [
            "DATA_SCAN_TYPE_UNSPECIFIED",
            "DATA_QUALITY",
            "DATA_PROFILE",
            "DATA_DISCOVERY",
            "DATA_DOCUMENTATION"
          ],
          "enumDescriptions": [
            "The data scan type is unspecified.",
            "Data quality scan.",
            "Data profile scan.",
            "Data discovery scan.",
            "Data documentation scan."
          ],
          "description": "Output only. The type of DataScan.",
          "readOnly": true
        },
        "updateTime": {
          "readOnly": true,
          "description": "Output only. The time when the scan was last updated.",
          "format": "google-datetime",
          "type": "string"
        },
        "dataProfileResult": {
          "description": "Output only. The result of a data profile scan.",
          "$ref": "GoogleCloudDataplexV1DataProfileResult",
          "readOnly": true
        },
        "dataDocumentationSpec": {
          "$ref": "GoogleCloudDataplexV1DataDocumentationSpec",
          "description": "Settings for a data documentation scan."
        },
        "dataDiscoveryResult": {
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataDiscoveryResult",
          "description": "Output only. The result of a data discovery scan."
        },
        "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
        },
        "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"
        },
        "data": {
          "$ref": "GoogleCloudDataplexV1DataSource",
          "description": "Required. The data source for DataScan."
        },
        "createTime": {
          "type": "string",
          "readOnly": true,
          "format": "google-datetime",
          "description": "Output only. The time when the scan was created."
        },
        "executionStatus": {
          "$ref": "GoogleCloudDataplexV1DataScanExecutionStatus",
          "readOnly": true,
          "description": "Output only. Status of the data scan execution."
        },
        "state": {
          "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."
          ],
          "description": "Output only. Current state of the DataScan.",
          "readOnly": true,
          "type": "string",
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "CREATING",
            "DELETING",
            "ACTION_REQUIRED"
          ]
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. User-defined labels for the scan."
        },
        "dataDocumentationResult": {
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataDocumentationResult",
          "description": "Output only. The result of a data documentation scan."
        },
        "displayName": {
          "description": "Optional. User friendly display name. Must be between 1-256 characters.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1DataProfileSpec": {
      "type": "object",
      "properties": {
        "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.",
          "format": "float",
          "type": "number"
        },
        "catalogPublishingEnabled": {
          "description": "Optional. If set, the latest DataScan job result will be published as Dataplex Universal Catalog metadata.",
          "type": "boolean"
        },
        "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."
        },
        "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"
        },
        "mode": {
          "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, and exclude_fields."
          ],
          "type": "string",
          "description": "Optional. The execution mode for the profile scan.",
          "enum": [
            "MODE_UNSPECIFIED",
            "STANDARD",
            "LIGHTWEIGHT"
          ]
        },
        "postScanActions": {
          "description": "Optional. Actions to take upon job completion..",
          "$ref": "GoogleCloudDataplexV1DataProfileSpecPostScanActions"
        },
        "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"
        }
      },
      "id": "GoogleCloudDataplexV1DataProfileSpec",
      "description": "DataProfileScan related setting."
    },
    "GoogleCloudDataplexV1SearchEntriesResponse": {
      "properties": {
        "unreachable": {
          "items": {
            "type": "string"
          },
          "description": "Locations that the service couldn't reach. Search results don't include data from these locations.",
          "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."
        },
        "totalSize": {
          "description": "The estimated total number of matching entries. This number isn't guaranteed to be accurate.",
          "format": "int32",
          "type": "integer"
        },
        "results": {
          "items": {
            "$ref": "GoogleCloudDataplexV1SearchEntriesResult"
          },
          "description": "The results matching the search query.",
          "type": "array"
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1SearchEntriesResponse"
    },
    "GoogleIamV1ResourcePolicyMember": {
      "type": "object",
      "id": "GoogleIamV1ResourcePolicyMember",
      "description": "Output-only policy member strings of a Google Cloud resource's built-in identity.",
      "properties": {
        "iamPolicyUidPrincipal": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. IAM policy binding member referring to a Google Cloud resource by system-assigned unique identifier (https://google.aip.dev/148#uid). If a resource is deleted and recreated with the same name, the binding will not be applicable to the new resourceExample: principal://parametermanager.googleapis.com/projects/12345/uid/locations/us-central1-a/parameters/a918fed5"
        },
        "iamPolicyNamePrincipal": {
          "type": "string",
          "description": "Output only. IAM policy binding member referring to a Google Cloud resource by user-assigned name (https://google.aip.dev/122). If a resource is deleted and recreated with the same name, the binding will be applicable to the new resource.Example: principal://parametermanager.googleapis.com/projects/12345/name/locations/us-central1-a/parameters/my-parameter",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1GovernanceEvent": {
      "type": "object",
      "description": "Payload associated with Governance related log events.",
      "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."
          ],
          "description": "The type of the 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"
          ]
        },
        "entity": {
          "$ref": "GoogleCloudDataplexV1GovernanceEventEntity",
          "description": "Entity resource information if the log event is associated with a specific entity."
        }
      },
      "id": "GoogleCloudDataplexV1GovernanceEvent"
    },
    "GoogleCloudDataplexV1DataScanExecutionSpec": {
      "id": "GoogleCloudDataplexV1DataScanExecutionSpec",
      "description": "DataScan execution settings.",
      "properties": {
        "trigger": {
          "$ref": "GoogleCloudDataplexV1Trigger",
          "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."
        },
        "field": {
          "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.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1TaskTriggerSpec": {
      "type": "object",
      "id": "GoogleCloudDataplexV1TaskTriggerSpec",
      "description": "Task scheduling and trigger settings.",
      "properties": {
        "maxRetries": {
          "format": "int32",
          "type": "integer",
          "description": "Optional. Number of retry attempts before aborting. Set to zero to never attempt to retry a failed 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"
        },
        "startTime": {
          "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.",
          "format": "google-datetime",
          "type": "string"
        },
        "type": {
          "type": "string",
          "description": "Required. Immutable. Trigger type of the user-specified Task.",
          "enum": [
            "TYPE_UNSPECIFIED",
            "ON_DEMAND",
            "RECURRING"
          ],
          "enumDescriptions": [
            "Unspecified trigger type.",
            "The task runs one-time shortly after Task Creation.",
            "The task is scheduled to run periodically."
          ]
        },
        "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"
        }
      }
    },
    "GoogleCloudDataplexV1CreateGlossaryTermRequest": {
      "properties": {
        "parent": {
          "type": "string",
          "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."
        },
        "term": {
          "description": "Required. The GlossaryTerm to create.",
          "$ref": "GoogleCloudDataplexV1GlossaryTerm"
        },
        "termId": {
          "description": "Required. GlossaryTerm identifier.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1CreateGlossaryTermRequest",
      "description": "Creates a new GlossaryTerm under the specified Glossary."
    },
    "GoogleCloudDataplexV1DataQualityRuleResult": {
      "description": "DataQualityRuleResult provides a more detailed, per-rule view of the results.",
      "type": "object",
      "properties": {
        "failingRowsQuery": {
          "type": "string",
          "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
        },
        "nullCount": {
          "type": "string",
          "description": "Output only. The number of rows with null values in the specified column.",
          "readOnly": true,
          "format": "int64"
        },
        "debugQueriesResultSets": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResultSet"
          },
          "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
        },
        "passedCount": {
          "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.",
          "format": "int64",
          "type": "string",
          "readOnly": true
        },
        "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"
        },
        "passed": {
          "type": "boolean",
          "readOnly": true,
          "description": "Output only. Whether the rule passed or failed."
        },
        "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.",
          "format": "int64",
          "readOnly": true,
          "type": "string"
        },
        "evaluatedCount": {
          "readOnly": true,
          "format": "int64",
          "type": "string",
          "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."
        },
        "rule": {
          "$ref": "GoogleCloudDataplexV1DataQualityRule",
          "readOnly": true,
          "description": "Output only. The rule specified in the DataQualitySpec, as is."
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityRuleResult"
    },
    "GoogleCloudDataplexV1BatchChangeMetadataRequestChange": {
      "properties": {
        "updateEntryLinkRequest": {
          "$ref": "GoogleCloudDataplexV1UpdateEntryLinkRequest",
          "description": "Payload for updating an EntryLink."
        },
        "deleteEntryLinkRequest": {
          "$ref": "GoogleCloudDataplexV1DeleteEntryLinkRequest",
          "description": "Payload for deleting an EntryLink."
        },
        "deleteEntryRequest": {
          "description": "Payload for deleting an Entry.",
          "$ref": "GoogleCloudDataplexV1DeleteEntryRequest"
        },
        "updateEntryRequest": {
          "description": "Payload for updating an Entry.",
          "$ref": "GoogleCloudDataplexV1UpdateEntryRequest"
        },
        "createEntryRequest": {
          "description": "Payload for creating an Entry.",
          "$ref": "GoogleCloudDataplexV1CreateEntryRequest"
        },
        "createEntryLinkRequest": {
          "description": "Payload for creating an EntryLink.",
          "$ref": "GoogleCloudDataplexV1CreateEntryLinkRequest"
        }
      },
      "description": "Detailed description of an individual change.",
      "type": "object",
      "id": "GoogleCloudDataplexV1BatchChangeMetadataRequestChange"
    },
    "GoogleCloudDataplexV1Trigger": {
      "properties": {
        "schedule": {
          "$ref": "GoogleCloudDataplexV1TriggerSchedule",
          "description": "The scan is scheduled to run periodically."
        },
        "oneTime": {
          "description": "The scan runs once, and does not create an associated ScanJob child resource.",
          "$ref": "GoogleCloudDataplexV1TriggerOneTime"
        },
        "onDemand": {
          "$ref": "GoogleCloudDataplexV1TriggerOnDemand",
          "description": "The scan runs once via RunDataScan API."
        }
      },
      "description": "DataScan scheduling and trigger settings.",
      "id": "GoogleCloudDataplexV1Trigger",
      "type": "object"
    },
    "GoogleCloudDataplexV1StorageAccess": {
      "description": "Describes the access mechanism of the data within its storage location.",
      "id": "GoogleCloudDataplexV1StorageAccess",
      "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."
          ],
          "readOnly": true,
          "enum": [
            "ACCESS_MODE_UNSPECIFIED",
            "DIRECT",
            "MANAGED"
          ]
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1UpdateEntryRequest": {
      "properties": {
        "aspectKeys": {
          "type": "array",
          "items": {
            "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."
        },
        "entry": {
          "description": "Required. Entry resource.",
          "$ref": "GoogleCloudDataplexV1Entry"
        },
        "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.",
          "format": "google-fieldmask",
          "type": "string"
        },
        "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.",
          "type": "boolean"
        },
        "allowMissing": {
          "type": "boolean",
          "description": "Optional. If set to true and the entry doesn't exist, the service will create it."
        }
      },
      "type": "object",
      "description": "Update Entry request.",
      "id": "GoogleCloudDataplexV1UpdateEntryRequest"
    },
    "GoogleCloudDataplexV1TaskExecutionStatus": {
      "id": "GoogleCloudDataplexV1TaskExecutionStatus",
      "type": "object",
      "properties": {
        "latestJob": {
          "description": "Output only. latest job execution",
          "$ref": "GoogleCloudDataplexV1Job",
          "readOnly": true
        },
        "updateTime": {
          "description": "Output only. Last update time of the status.",
          "readOnly": true,
          "format": "google-datetime",
          "type": "string"
        }
      },
      "description": "Status of the task execution (e.g. Jobs)."
    },
    "GoogleCloudDataplexV1LookupEntryLinksResponse": {
      "description": "Response message for LookupEntryLinks.",
      "id": "GoogleCloudDataplexV1LookupEntryLinksResponse",
      "type": "object",
      "properties": {
        "entryLinks": {
          "description": "List of entry links that reference the specified entry.",
          "items": {
            "$ref": "GoogleCloudDataplexV1EntryLink"
          },
          "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"
        }
      }
    },
    "GoogleCloudDataplexV1CancelMetadataJobRequest": {
      "id": "GoogleCloudDataplexV1CancelMetadataJobRequest",
      "properties": {},
      "type": "object",
      "description": "Cancel metadata job request."
    },
    "GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResultSet": {
      "properties": {
        "results": {
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResult"
          },
          "readOnly": true,
          "description": "Output only. Contains all results. Up to 10 results can be returned.",
          "type": "array"
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResultSet",
      "description": "Contains all results from a debug query."
    },
    "GoogleCloudDataplexV1DataQualityRuleSetExpectation": {
      "type": "object",
      "description": "Evaluates whether each column value is contained by a specified set.",
      "id": "GoogleCloudDataplexV1DataQualityRuleSetExpectation",
      "properties": {
        "values": {
          "items": {
            "type": "string"
          },
          "description": "Optional. Expected values for the column value.",
          "type": "array"
        }
      }
    },
    "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).",
      "properties": {
        "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."
        },
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "type": "integer",
          "format": "int32"
        },
        "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": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            }
          },
          "type": "array"
        }
      },
      "id": "GoogleRpcStatus",
      "type": "object"
    },
    "GoogleCloudDataplexV1AssetStatus": {
      "properties": {
        "securityPolicyApplyingAssets": {
          "type": "integer",
          "format": "int32",
          "description": "Number of assets that are in process of updating the security policy on attached resources."
        },
        "activeAssets": {
          "format": "int32",
          "description": "Number of active assets.",
          "type": "integer"
        },
        "updateTime": {
          "description": "Last update time of the status.",
          "type": "string",
          "format": "google-datetime"
        }
      },
      "id": "GoogleCloudDataplexV1AssetStatus",
      "description": "Aggregated status of the underlying assets of a lake or zone.",
      "type": "object"
    },
    "GoogleCloudDataplexV1ContactIdentity": {
      "properties": {
        "contactName": {
          "type": "string",
          "description": "Required. Name of the contact person for the Data Domain; unvalidated freeform text."
        },
        "contactId": {
          "description": "Optional. Email ID or freeform ID of the Contact person.",
          "type": "string"
        },
        "contactRole": {
          "description": "Required. Designation of the person i.e. Data Steward or Data Analyst. Example values: owner, steward, producer, admin.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1ContactIdentity",
      "type": "object",
      "description": "Identity of a business contact."
    },
    "GoogleCloudDataplexV1Action": {
      "type": "object",
      "properties": {
        "missingData": {
          "$ref": "GoogleCloudDataplexV1ActionMissingData",
          "description": "Details for issues related to absence of data within managed resources."
        },
        "zone": {
          "readOnly": true,
          "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}.",
          "type": "string"
        },
        "failedSecurityPolicyApply": {
          "$ref": "GoogleCloudDataplexV1ActionFailedSecurityPolicyApply",
          "description": "Details for issues related to applying security policy."
        },
        "asset": {
          "type": "string",
          "readOnly": true,
          "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}."
        },
        "invalidDataPartition": {
          "$ref": "GoogleCloudDataplexV1ActionInvalidDataPartition",
          "description": "Details for issues related to invalid or unsupported data partition structure."
        },
        "invalidDataOrganization": {
          "$ref": "GoogleCloudDataplexV1ActionInvalidDataOrganization",
          "description": "Details for issues related to invalid data arrangement."
        },
        "invalidDataFormat": {
          "$ref": "GoogleCloudDataplexV1ActionInvalidDataFormat",
          "description": "Details for issues related to invalid or unsupported data formats."
        },
        "category": {
          "description": "The category of issue associated with the action.",
          "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"
          ]
        },
        "detectTime": {
          "format": "google-datetime",
          "description": "The time that the issue was detected.",
          "type": "string"
        },
        "lake": {
          "readOnly": true,
          "description": "Output only. The relative resource name of the lake, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.",
          "type": "string"
        },
        "issue": {
          "description": "Detailed description of the issue requiring action.",
          "type": "string"
        },
        "missingResource": {
          "description": "Details for issues related to absence of a managed resource.",
          "$ref": "GoogleCloudDataplexV1ActionMissingResource"
        },
        "name": {
          "type": "string",
          "readOnly": true,
          "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}."
        },
        "dataLocations": {
          "items": {
            "type": "string"
          },
          "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)."
        },
        "unauthorizedResource": {
          "description": "Details for issues related to lack of permissions to access data resources.",
          "$ref": "GoogleCloudDataplexV1ActionUnauthorizedResource"
        },
        "incompatibleDataSchema": {
          "$ref": "GoogleCloudDataplexV1ActionIncompatibleDataSchema",
          "description": "Details for issues related to incompatible schemas detected within data."
        }
      },
      "id": "GoogleCloudDataplexV1Action",
      "description": "Action represents an issue requiring administrator action for resolution."
    },
    "GoogleCloudDataplexV1DataDiscoverySpec": {
      "id": "GoogleCloudDataplexV1DataDiscoverySpec",
      "type": "object",
      "properties": {
        "storageConfig": {
          "$ref": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfig",
          "description": "Cloud Storage related configurations."
        },
        "bigqueryPublishingConfig": {
          "description": "Optional. Configuration for metadata publishing.",
          "$ref": "GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig"
        }
      },
      "description": "Spec for a data discovery scan."
    },
    "GoogleCloudDataplexV1OperationMetadata": {
      "properties": {
        "requestedCancellation": {
          "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.",
          "type": "boolean",
          "readOnly": true
        },
        "target": {
          "description": "Output only. Server-defined resource path for the target of the operation.",
          "type": "string",
          "readOnly": true
        },
        "statusMessage": {
          "description": "Output only. Human-readable status of the operation, if any.",
          "readOnly": true,
          "type": "string"
        },
        "endTime": {
          "readOnly": true,
          "description": "Output only. The time the operation finished running.",
          "type": "string",
          "format": "google-datetime"
        },
        "verb": {
          "readOnly": true,
          "description": "Output only. Name of the verb executed by the operation.",
          "type": "string"
        },
        "createTime": {
          "format": "google-datetime",
          "readOnly": true,
          "type": "string",
          "description": "Output only. The time the operation was created."
        },
        "apiVersion": {
          "readOnly": true,
          "description": "Output only. API version used to start the operation.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1OperationMetadata",
      "description": "Represents the metadata of a long-running operation."
    },
    "GoogleCloudDataplexV1DataQualitySpecPostScanActions": {
      "properties": {
        "notificationReport": {
          "$ref": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsNotificationReport",
          "description": "Optional. If set, results will be sent to the provided notification receipts upon triggers."
        },
        "bigqueryExport": {
          "description": "Optional. If set, results will be exported to the provided BigQuery table.",
          "$ref": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsBigQueryExport"
        }
      },
      "description": "The configuration of post scan actions of DataQualityScan.",
      "id": "GoogleCloudDataplexV1DataQualitySpecPostScanActions",
      "type": "object"
    },
    "GoogleCloudDataplexV1GlossaryCategory": {
      "description": "A GlossaryCategory represents a collection of GlossaryCategories and GlossaryTerms within a Glossary that are related to each other.",
      "type": "object",
      "id": "GoogleCloudDataplexV1GlossaryCategory",
      "properties": {
        "createTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "Output only. The time at which the GlossaryCategory was created.",
          "readOnly": true
        },
        "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": {
          "description": "Optional. The user-mutable description of the GlossaryCategory.",
          "type": "string"
        },
        "uid": {
          "readOnly": true,
          "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.",
          "type": "string"
        },
        "updateTime": {
          "type": "string",
          "readOnly": true,
          "format": "google-datetime",
          "description": "Output only. The time at which the GlossaryCategory was last updated."
        },
        "labels": {
          "description": "Optional. User-defined labels for the GlossaryCategory.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "displayName": {
          "description": "Optional. User friendly display name of the GlossaryCategory. This is user-mutable. This will be same as the GlossaryCategoryId, if not specified.",
          "type": "string"
        },
        "name": {
          "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}",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1StorageFormatIcebergOptions": {
      "id": "GoogleCloudDataplexV1StorageFormatIcebergOptions",
      "type": "object",
      "description": "Describes Iceberg data format.",
      "properties": {
        "metadataLocation": {
          "type": "string",
          "description": "Optional. The location of where the iceberg metadata is present, must be within the table path"
        }
      }
    },
    "GoogleCloudDataplexV1EntityCompatibilityStatus": {
      "id": "GoogleCloudDataplexV1EntityCompatibilityStatus",
      "type": "object",
      "description": "Provides compatibility information for various metadata stores.",
      "properties": {
        "bigquery": {
          "$ref": "GoogleCloudDataplexV1EntityCompatibilityStatusCompatibility",
          "readOnly": true,
          "description": "Output only. Whether this entity is compatible with BigQuery."
        },
        "hiveMetastore": {
          "$ref": "GoogleCloudDataplexV1EntityCompatibilityStatusCompatibility",
          "description": "Output only. Whether this entity is compatible with Hive Metastore.",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1ZoneResourceSpec": {
      "id": "GoogleCloudDataplexV1ZoneResourceSpec",
      "type": "object",
      "properties": {
        "locationType": {
          "type": "string",
          "enumDescriptions": [
            "Unspecified location type.",
            "Resources that are associated with a single region.",
            "Resources that are associated with a multi-region location."
          ],
          "description": "Required. Immutable. The location type of the resources that are allowed to be attached to the assets within this zone.",
          "enum": [
            "LOCATION_TYPE_UNSPECIFIED",
            "SINGLE_REGION",
            "MULTI_REGION"
          ]
        }
      },
      "description": "Settings for resources attached as assets within a zone."
    },
    "GoogleCloudDataplexV1RunDataScanResponse": {
      "id": "GoogleCloudDataplexV1RunDataScanResponse",
      "description": "Run DataScan Response.",
      "type": "object",
      "properties": {
        "job": {
          "$ref": "GoogleCloudDataplexV1DataScanJob",
          "description": "DataScanJob created by RunDataScan request."
        }
      }
    },
    "GoogleCloudDataplexV1ActionInvalidDataPartition": {
      "id": "GoogleCloudDataplexV1ActionInvalidDataPartition",
      "properties": {
        "expectedStructure": {
          "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"
          ],
          "description": "The issue type of InvalidDataPartition."
        }
      },
      "type": "object",
      "description": "Action details for invalid or unsupported partitions detected by discovery."
    },
    "GoogleCloudDataplexV1DataQualityScanRuleResult": {
      "description": "Information about the result of a data quality rule for data quality scan. The monitored resource is 'DataScan'.",
      "id": "GoogleCloudDataplexV1DataQualityScanRuleResult",
      "type": "object",
      "properties": {
        "nullRowCount": {
          "description": "The number of rows with null values in the specified column.",
          "type": "string",
          "format": "int64"
        },
        "evaluatedRowCount": {
          "type": "string",
          "format": "int64",
          "description": "The number of rows evaluated against the data quality rule. This field is only valid for rules of PER_ROW evaluation type."
        },
        "assertionRowCount": {
          "type": "string",
          "description": "The number of rows returned by the SQL statement in a SQL assertion rule. This field is only valid for SQL assertion rules.",
          "format": "int64"
        },
        "dataSource": {
          "description": "The data source of the data scan (e.g. BigQuery table name).",
          "type": "string"
        },
        "result": {
          "description": "The result of the data quality rule.",
          "type": "string",
          "enum": [
            "RESULT_UNSPECIFIED",
            "PASSED",
            "FAILED"
          ],
          "enumDescriptions": [
            "An unspecified result.",
            "The data quality rule passed.",
            "The data quality rule failed."
          ]
        },
        "thresholdPercent": {
          "type": "number",
          "format": "double",
          "description": "The passing threshold (0.0, 100.0) of the data quality rule."
        },
        "column": {
          "description": "The column which this rule is evaluated against.",
          "type": "string"
        },
        "ruleName": {
          "description": "The name of the data quality rule.",
          "type": "string"
        },
        "ruleDimension": {
          "type": "string",
          "description": "The dimension of the data quality rule."
        },
        "jobId": {
          "type": "string",
          "description": "Identifier of the specific data scan job this log entry is for."
        },
        "evalutionType": {
          "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."
          ],
          "description": "The evaluation type of the data quality rule.",
          "enum": [
            "EVALUATION_TYPE_UNSPECIFIED",
            "PER_ROW",
            "AGGREGATE"
          ]
        },
        "ruleType": {
          "description": "The type of the data quality rule.",
          "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"
          ]
        },
        "passedRowCount": {
          "type": "string",
          "description": "The number of rows which passed a rule evaluation. This field is only valid for rules of PER_ROW evaluation type.",
          "format": "int64"
        }
      }
    },
    "GoogleCloudDataplexV1EntryTypeAuthorization": {
      "description": "Authorization for an Entry Type.",
      "properties": {
        "alternateUsePermission": {
          "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.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1EntryTypeAuthorization",
      "type": "object"
    },
    "GoogleCloudDataplexV1DataProductAccessGroupDefaultIamRoleConfig": {
      "description": "Default IAM role configuration for an access group.",
      "type": "object",
      "properties": {
        "role": {
          "type": "string",
          "description": "Optional. The IAM role resource name to be applied as default. Example: \"roles/bigquery.dataViewer\"."
        }
      },
      "id": "GoogleCloudDataplexV1DataProductAccessGroupDefaultIamRoleConfig"
    },
    "GoogleCloudDataplexV1SessionEvent": {
      "description": "These messages contain information about sessions within an environment. The monitored resource is 'Environment'.",
      "type": "object",
      "id": "GoogleCloudDataplexV1SessionEvent",
      "properties": {
        "query": {
          "description": "The execution details of the query.",
          "$ref": "GoogleCloudDataplexV1SessionEventQueryDetail"
        },
        "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",
          "description": "The idle duration of a warm pooled session before it is assigned to user.",
          "format": "google-duration"
        },
        "sessionId": {
          "type": "string",
          "description": "Unique identifier for the session."
        },
        "type": {
          "enum": [
            "EVENT_TYPE_UNSPECIFIED",
            "START",
            "STOP",
            "QUERY",
            "CREATE"
          ],
          "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"
          ],
          "type": "string",
          "description": "The type of the event."
        },
        "message": {
          "description": "The log message.",
          "type": "string"
        },
        "userId": {
          "type": "string",
          "description": "The information about the user that created the session. It will be the email address of the user."
        },
        "eventSucceeded": {
          "description": "The status of the event.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityRuleTemplate": {
      "properties": {
        "sqlCollection": {
          "description": "Output only. Collection of SQLs for data quality rules. Currently only one SQL is supported.",
          "type": "array",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityRuleTemplateSql"
          }
        },
        "capabilities": {
          "description": "Output only. A list of features or properties supported by this rule template.",
          "readOnly": true,
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "dimension": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The dimension a rule template belongs to. Rule level results are also aggregated at the dimension level."
        },
        "name": {
          "readOnly": true,
          "type": "string",
          "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}"
        },
        "inputParameters": {
          "readOnly": true,
          "additionalProperties": {
            "$ref": "GoogleCloudDataplexV1DataQualityRuleTemplateParameterDescription"
          },
          "description": "Output only. Description for input parameters",
          "type": "object"
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityRuleTemplate",
      "description": "DataQualityRuleTemplate represents a template which can be reused across multiple data quality rules.",
      "type": "object"
    },
    "GoogleCloudDataplexV1DataQualityResultAnomalyDetectionGeneratedAssets": {
      "description": "The assets generated by Anomaly Detection Data Scan.",
      "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
        },
        "volumeIntermediateTable": {
          "type": "string",
          "description": "Output only. The intermediate table for volume anomaly detection. Format: PROJECT_ID.DATASET_ID.TABLE_ID",
          "readOnly": true
        },
        "dataIntermediateTable": {
          "type": "string",
          "description": "Output only. The intermediate table for data anomaly detection. Format: PROJECT_ID.DATASET_ID.TABLE_ID",
          "readOnly": true
        },
        "freshnessIntermediateTable": {
          "type": "string",
          "description": "Output only. The intermediate table for freshness anomaly detection. Format: PROJECT_ID.DATASET_ID.TABLE_ID",
          "readOnly": true
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityResultAnomalyDetectionGeneratedAssets",
      "type": "object"
    },
    "GoogleCloudDataplexV1Entity": {
      "type": "object",
      "properties": {
        "access": {
          "readOnly": true,
          "description": "Output only. Identifies the access mechanism to the entity. Not user settable.",
          "$ref": "GoogleCloudDataplexV1StorageAccess"
        },
        "dataPath": {
          "type": "string",
          "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."
        },
        "displayName": {
          "type": "string",
          "description": "Optional. Display name must be shorter than or equal to 256 characters."
        },
        "format": {
          "$ref": "GoogleCloudDataplexV1StorageFormat",
          "description": "Required. Identifies the storage format of the entity data. It does not apply to entities with data stored in BigQuery."
        },
        "name": {
          "type": "string",
          "readOnly": true,
          "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}."
        },
        "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."
        },
        "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"
        },
        "updateTime": {
          "format": "google-datetime",
          "description": "Output only. The time when the entity was last updated.",
          "readOnly": true,
          "type": "string"
        },
        "compatibility": {
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1EntityCompatibilityStatus",
          "description": "Output only. Metadata stores that the entity is compatible with."
        },
        "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"
        },
        "createTime": {
          "format": "google-datetime",
          "description": "Output only. The time when the entity was created.",
          "readOnly": true,
          "type": "string"
        },
        "id": {
          "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.",
          "type": "string"
        },
        "uid": {
          "type": "string",
          "readOnly": true,
          "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."
        },
        "description": {
          "type": "string",
          "description": "Optional. User friendly longer description text. Must be shorter than or equal to 1024 characters."
        },
        "etag": {
          "description": "Optional. The etag associated with the entity, which can be retrieved with a GetEntity request. Required for update and delete requests.",
          "type": "string"
        },
        "type": {
          "enumDescriptions": [
            "Type unspecified.",
            "Structured and semi-structured data.",
            "Unstructured data."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "TABLE",
            "FILESET"
          ],
          "description": "Required. Immutable. The type of entity.",
          "type": "string"
        },
        "catalogEntry": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The name of the associated Data Catalog entry."
        },
        "system": {
          "enum": [
            "STORAGE_SYSTEM_UNSPECIFIED",
            "CLOUD_STORAGE",
            "BIGQUERY"
          ],
          "enumDescriptions": [
            "Storage system unspecified.",
            "The entity data is contained within a Cloud Storage bucket.",
            "The entity data is contained within a BigQuery dataset."
          ],
          "description": "Required. Immutable. Identifies the storage system of the entity data.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1Entity",
      "description": "Represents tables and fileset metadata contained within a zone."
    },
    "GoogleCloudDataplexV1AspectTypeMetadataTemplateEnumValue": {
      "properties": {
        "deprecated": {
          "description": "Optional. You can set this message if you need to deprecate an enum value.",
          "type": "string"
        },
        "index": {
          "format": "int32",
          "type": "integer",
          "description": "Required. Index for the enum value. It can't be modified."
        },
        "name": {
          "type": "string",
          "description": "Required. Name of the enumvalue. This is the actual value that the aspect can contain."
        }
      },
      "type": "object",
      "description": "Definition of Enumvalue, to be used for enum fields.",
      "id": "GoogleCloudDataplexV1AspectTypeMetadataTemplateEnumValue"
    },
    "GoogleCloudDataplexV1SearchEntriesResultSnippets": {
      "type": "object",
      "properties": {
        "dataplexEntry": {
          "description": "Entry",
          "deprecated": true,
          "$ref": "GoogleCloudDataplexV1Entry"
        }
      },
      "id": "GoogleCloudDataplexV1SearchEntriesResultSnippets",
      "deprecated": true,
      "description": "Snippets for the entry, contains HTML-style highlighting for matched tokens, will be used in UI."
    },
    "GoogleCloudDataplexV1DataQualityRuleTemplateParameterDescription": {
      "type": "object",
      "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.",
      "id": "GoogleCloudDataplexV1DataQualityRuleTemplateParameterDescription",
      "properties": {
        "description": {
          "readOnly": true,
          "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."
        },
        "defaultValue": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The default value for the parameter if no value is provided."
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityRule": {
      "properties": {
        "attributes": {
          "additionalProperties": {
            "type": "string"
          },
          "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."
        },
        "rangeExpectation": {
          "description": "Row-level rule which evaluates whether each column value lies between a specified range.",
          "$ref": "GoogleCloudDataplexV1DataQualityRuleRangeExpectation"
        },
        "name": {
          "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.",
          "type": "string"
        },
        "ignoreNull": {
          "type": "boolean",
          "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"
        },
        "regexExpectation": {
          "description": "Row-level rule which evaluates whether each column value matches a specified regex.",
          "$ref": "GoogleCloudDataplexV1DataQualityRuleRegexExpectation"
        },
        "nonNullExpectation": {
          "description": "Row-level rule which evaluates whether each column value is null.",
          "$ref": "GoogleCloudDataplexV1DataQualityRuleNonNullExpectation"
        },
        "tableConditionExpectation": {
          "$ref": "GoogleCloudDataplexV1DataQualityRuleTableConditionExpectation",
          "description": "Aggregate rule which evaluates whether the provided expression is true for a table."
        },
        "column": {
          "type": "string",
          "description": "Optional. The unnested column which this rule is evaluated against."
        },
        "uniquenessExpectation": {
          "$ref": "GoogleCloudDataplexV1DataQualityRuleUniquenessExpectation",
          "description": "Row-level rule which evaluates whether each column value is unique."
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the rule. The maximum length is 1,024 characters."
        },
        "statisticRangeExpectation": {
          "description": "Aggregate rule which evaluates whether the column aggregate statistic lies between a specified range.",
          "$ref": "GoogleCloudDataplexV1DataQualityRuleStatisticRangeExpectation"
        },
        "setExpectation": {
          "$ref": "GoogleCloudDataplexV1DataQualityRuleSetExpectation",
          "description": "Row-level rule which evaluates whether each column value is contained by a specified set."
        },
        "threshold": {
          "type": "number",
          "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.",
          "format": "double"
        },
        "templateReference": {
          "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.",
          "$ref": "GoogleCloudDataplexV1DataQualityRuleTemplateReference"
        },
        "debugQueries": {
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityRuleDebugQuery"
          },
          "type": "array",
          "description": "Optional. Specifies the debug queries for this rule. Currently, only one query is supported, but this may be expanded in the future."
        },
        "suspended": {
          "description": "Optional. Whether the Rule is active or suspended. Default is false.",
          "type": "boolean"
        },
        "rowConditionExpectation": {
          "description": "Row-level rule which evaluates whether each row in a table passes the specified condition.",
          "$ref": "GoogleCloudDataplexV1DataQualityRuleRowConditionExpectation"
        },
        "dimension": {
          "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.",
          "type": "string"
        },
        "sqlAssertion": {
          "description": "Aggregate rule which evaluates the number of rows returned for the provided statement. If any rows are returned, this rule fails.",
          "$ref": "GoogleCloudDataplexV1DataQualityRuleSqlAssertion"
        },
        "ruleSource": {
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataQualityRuleRuleSource",
          "description": "Output only. Contains information about the source of the rule and its relationship with the BigQuery table, where applicable."
        }
      },
      "type": "object",
      "description": "A rule captures data quality intent about a data source.",
      "id": "GoogleCloudDataplexV1DataQualityRule"
    },
    "GoogleCloudDataplexV1BatchChangeMetadataResponse": {
      "id": "GoogleCloudDataplexV1BatchChangeMetadataResponse",
      "description": "Response message for BatchChangeMetadata.",
      "properties": {
        "failedRequests": {
          "description": "A map of failed requests for a batch change, where the key is the 0-based index of the failed request in the batch and the value is the error status. If all operations succeeded, this map is empty.",
          "type": "object",
          "additionalProperties": {
            "$ref": "GoogleRpcStatus"
          }
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1DataDocumentationResultSchema": {
      "description": "Schema of the table with generated metadata of columns.",
      "id": "GoogleCloudDataplexV1DataDocumentationResultSchema",
      "properties": {
        "fields": {
          "type": "array",
          "description": "Output only. The list of columns.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataDocumentationResultField"
          }
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1ListEntriesResponse": {
      "id": "GoogleCloudDataplexV1ListEntriesResponse",
      "properties": {
        "entries": {
          "description": "The list of entries under the given parent location.",
          "items": {
            "$ref": "GoogleCloudDataplexV1Entry"
          },
          "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"
        }
      },
      "type": "object",
      "description": "List Entries response."
    },
    "GoogleCloudDataplexV1DataScanEventDataDocumentationResult": {
      "properties": {
        "billableTokenUsage": {
          "$ref": "GoogleCloudDataplexV1DataScanEventDataDocumentationResultTokenUsage",
          "description": "Breakdown of token consumption for the data documentation scan."
        }
      },
      "description": "Data documentation result for data scan job.",
      "id": "GoogleCloudDataplexV1DataScanEventDataDocumentationResult",
      "type": "object"
    },
    "GoogleCloudDataplexV1MetadataJob": {
      "description": "A metadata job resource.",
      "type": "object",
      "id": "GoogleCloudDataplexV1MetadataJob",
      "properties": {
        "createTime": {
          "type": "string",
          "readOnly": true,
          "format": "google-datetime",
          "description": "Output only. The time when the metadata job was created."
        },
        "exportSpec": {
          "description": "Export job specification.",
          "$ref": "GoogleCloudDataplexV1MetadataJobExportJobSpec"
        },
        "type": {
          "description": "Required. Metadata job type.",
          "enumDescriptions": [
            "Unspecified.",
            "Import job.",
            "Export job."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "IMPORT",
            "EXPORT"
          ],
          "type": "string"
        },
        "exportResult": {
          "$ref": "GoogleCloudDataplexV1MetadataJobExportJobResult",
          "readOnly": true,
          "description": "Output only. Export job result."
        },
        "status": {
          "readOnly": true,
          "description": "Output only. Metadata job status.",
          "$ref": "GoogleCloudDataplexV1MetadataJobStatus"
        },
        "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
        },
        "name": {
          "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": "string"
        },
        "labels": {
          "description": "Optional. User-defined labels.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "importSpec": {
          "$ref": "GoogleCloudDataplexV1MetadataJobImportJobSpec",
          "description": "Import job specification."
        },
        "updateTime": {
          "format": "google-datetime",
          "description": "Output only. The time when the metadata job was updated.",
          "readOnly": true,
          "type": "string"
        },
        "importResult": {
          "description": "Output only. Import job result.",
          "$ref": "GoogleCloudDataplexV1MetadataJobImportJobResult",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1Asset": {
      "id": "GoogleCloudDataplexV1Asset",
      "description": "An asset represents a cloud resource that is being managed within a lake as a member of a zone.",
      "properties": {
        "discoveryStatus": {
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1AssetDiscoveryStatus",
          "description": "Output only. Status of the discovery feature applied to data referenced by this asset."
        },
        "resourceSpec": {
          "description": "Required. Specification of the resource that is referenced by this asset.",
          "$ref": "GoogleCloudDataplexV1AssetResourceSpec"
        },
        "createTime": {
          "description": "Output only. The time when the asset was created.",
          "readOnly": true,
          "format": "google-datetime",
          "type": "string"
        },
        "discoverySpec": {
          "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.",
          "$ref": "GoogleCloudDataplexV1AssetDiscoverySpec"
        },
        "displayName": {
          "description": "Optional. User friendly display name.",
          "type": "string"
        },
        "state": {
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "CREATING",
            "DELETING",
            "ACTION_REQUIRED"
          ],
          "readOnly": true,
          "description": "Output only. Current state of the asset.",
          "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."
          ]
        },
        "labels": {
          "description": "Optional. User defined labels for the asset.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "resourceStatus": {
          "$ref": "GoogleCloudDataplexV1AssetResourceStatus",
          "readOnly": true,
          "description": "Output only. Status of the resource referenced by this asset."
        },
        "name": {
          "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}.",
          "type": "string",
          "readOnly": true
        },
        "securityStatus": {
          "description": "Output only. Status of the security policy applied to resource referenced by this asset.",
          "$ref": "GoogleCloudDataplexV1AssetSecurityStatus",
          "readOnly": true
        },
        "uid": {
          "readOnly": true,
          "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.",
          "type": "string"
        },
        "description": {
          "description": "Optional. Description of the asset.",
          "type": "string"
        },
        "updateTime": {
          "description": "Output only. The time when the asset was last updated.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1EntryLinkEntryReference": {
      "type": "object",
      "id": "GoogleCloudDataplexV1EntryLinkEntryReference",
      "description": "Reference to the Entry that is linked through the Entry Link.",
      "properties": {
        "name": {
          "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": "string"
        },
        "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": {
          "type": "string",
          "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."
        }
      }
    },
    "GoogleCloudDataplexV1ListMetadataFeedsResponse": {
      "description": "Response message for ListMetadataFeeds.",
      "type": "object",
      "id": "GoogleCloudDataplexV1ListMetadataFeedsResponse",
      "properties": {
        "unreachable": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Unordered list. Locations that the service couldn't reach."
        },
        "metadataFeeds": {
          "description": "List of metadata feeds under the specified parent location.",
          "items": {
            "$ref": "GoogleCloudDataplexV1MetadataFeed"
          },
          "type": "array"
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token to retrieve the next page of results. If there are no more results in the list, the value is empty."
        }
      }
    },
    "GoogleCloudDataplexV1AssetDiscoveryStatusStats": {
      "id": "GoogleCloudDataplexV1AssetDiscoveryStatusStats",
      "properties": {
        "dataItems": {
          "description": "The count of data items within the referenced resource.",
          "format": "int64",
          "type": "string"
        },
        "dataSize": {
          "type": "string",
          "description": "The number of stored data bytes within the referenced resource.",
          "format": "int64"
        },
        "filesets": {
          "type": "string",
          "format": "int64",
          "description": "The count of fileset entities within the referenced resource."
        },
        "tables": {
          "description": "The count of table entities within the referenced resource.",
          "format": "int64",
          "type": "string"
        }
      },
      "description": "The aggregated data statistics for the asset reported by discovery.",
      "type": "object"
    },
    "GoogleCloudDataplexV1DataQualityRuleRuleSourceRulePathElementEntryLinkSource": {
      "type": "object",
      "description": "Entry link source represents information about the entry link.",
      "id": "GoogleCloudDataplexV1DataQualityRuleRuleSourceRulePathElementEntryLinkSource",
      "properties": {
        "entryLinkType": {
          "readOnly": true,
          "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}"
        },
        "entryLink": {
          "type": "string",
          "readOnly": true,
          "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}"
        }
      }
    },
    "GoogleCloudDataplexV1DiscoveryEvent": {
      "id": "GoogleCloudDataplexV1DiscoveryEvent",
      "description": "The payload associated with Discovery data processing.",
      "type": "object",
      "properties": {
        "lakeId": {
          "description": "The id of the associated lake.",
          "type": "string"
        },
        "zoneId": {
          "type": "string",
          "description": "The id of the associated zone."
        },
        "partition": {
          "$ref": "GoogleCloudDataplexV1DiscoveryEventPartitionDetails",
          "description": "Details about the partition associated with the event."
        },
        "entity": {
          "description": "Details about the entity associated with the event.",
          "$ref": "GoogleCloudDataplexV1DiscoveryEventEntityDetails"
        },
        "table": {
          "$ref": "GoogleCloudDataplexV1DiscoveryEventTableDetails",
          "description": "Details about the BigQuery table publishing associated with the event."
        },
        "datascanId": {
          "type": "string",
          "description": "The id of the associated datascan for standalone discovery."
        },
        "dataLocation": {
          "description": "The data location associated with the event.",
          "type": "string"
        },
        "assetId": {
          "type": "string",
          "description": "The id of the associated asset."
        },
        "action": {
          "description": "Details about the action associated with the event.",
          "$ref": "GoogleCloudDataplexV1DiscoveryEventActionDetails"
        },
        "message": {
          "description": "The log message.",
          "type": "string"
        },
        "type": {
          "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."
          ],
          "description": "The type of the event being logged.",
          "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."
        }
      }
    },
    "GoogleCloudDataplexV1DataDocumentationResultTableResult": {
      "properties": {
        "queries": {
          "type": "array",
          "description": "Output only. Sample SQL queries for the table.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataDocumentationResultQuery"
          }
        },
        "overview": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Generated description of the table."
        },
        "schema": {
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataDocumentationResultSchema",
          "description": "Output only. Schema of the table with generated metadata of the columns in the schema."
        },
        "name": {
          "readOnly": true,
          "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",
          "type": "string"
        }
      },
      "type": "object",
      "description": "Insights for a table resource.",
      "id": "GoogleCloudDataplexV1DataDocumentationResultTableResult"
    },
    "GoogleCloudDataplexV1DataDocumentationResultSchemaRelationshipSchemaPaths": {
      "properties": {
        "paths": {
          "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",
          "type": "array",
          "readOnly": true,
          "items": {
            "type": "string"
          }
        },
        "tableFqn": {
          "type": "string",
          "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
        }
      },
      "id": "GoogleCloudDataplexV1DataDocumentationResultSchemaRelationshipSchemaPaths",
      "description": "Represents an ordered set of paths within a table's schema.",
      "type": "object"
    },
    "GoogleCloudDataplexV1DataDiscoveryResultBigQueryPublishing": {
      "description": "Describes BigQuery publishing configurations.",
      "properties": {
        "dataset": {
          "description": "Output only. The BigQuery dataset the discovered tables are published to.",
          "type": "string",
          "readOnly": true
        },
        "location": {
          "readOnly": true,
          "description": "Output only. The location of the BigQuery publishing dataset.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1DataDiscoveryResultBigQueryPublishing",
      "type": "object"
    },
    "GoogleCloudDataplexV1ListZonesResponse": {
      "id": "GoogleCloudDataplexV1ListZonesResponse",
      "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"
        },
        "zones": {
          "type": "array",
          "description": "Zones under the given parent lake.",
          "items": {
            "$ref": "GoogleCloudDataplexV1Zone"
          }
        }
      },
      "description": "List zones response."
    },
    "GoogleCloudDataplexV1ZoneDiscoverySpec": {
      "properties": {
        "includePatterns": {
          "items": {
            "type": "string"
          },
          "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."
        },
        "enabled": {
          "description": "Required. Whether discovery is enabled.",
          "type": "boolean"
        },
        "csvOptions": {
          "$ref": "GoogleCloudDataplexV1ZoneDiscoverySpecCsvOptions",
          "description": "Optional. Configuration for CSV data."
        },
        "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"
        },
        "jsonOptions": {
          "$ref": "GoogleCloudDataplexV1ZoneDiscoverySpecJsonOptions",
          "description": "Optional. Configuration for Json data."
        },
        "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"
        }
      },
      "id": "GoogleCloudDataplexV1ZoneDiscoverySpec",
      "description": "Settings to manage the metadata discovery and publishing in a zone.",
      "type": "object"
    },
    "GoogleCloudDataplexV1DataScanEventPostScanActionsResultBigQueryExportResult": {
      "id": "GoogleCloudDataplexV1DataScanEventPostScanActionsResultBigQueryExportResult",
      "description": "The result of BigQuery export post scan action.",
      "type": "object",
      "properties": {
        "message": {
          "description": "Additional information about the BigQuery exporting.",
          "type": "string"
        },
        "state": {
          "description": "Execution state for the BigQuery exporting.",
          "enum": [
            "STATE_UNSPECIFIED",
            "SUCCEEDED",
            "FAILED",
            "SKIPPED"
          ],
          "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)."
          ],
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1ExecutionIdentityUserCredential": {
      "properties": {},
      "description": "The credential of the calling user.",
      "id": "GoogleCloudDataplexV1ExecutionIdentityUserCredential",
      "type": "object"
    },
    "GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResult": {
      "description": "Contains a single result from the debug query.",
      "type": "object",
      "id": "GoogleCloudDataplexV1DataQualityRuleResultDebugQueryResult",
      "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)."
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityDimension": {
      "type": "object",
      "properties": {
        "name": {
          "readOnly": true,
          "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.",
          "type": "string"
        }
      },
      "description": "A dimension captures data quality intent about a defined subset of the rules specified.",
      "id": "GoogleCloudDataplexV1DataQualityDimension"
    },
    "GoogleCloudDataplexV1AssetDiscoverySpec": {
      "type": "object",
      "description": "Settings to manage the metadata discovery and publishing for an asset.",
      "properties": {
        "jsonOptions": {
          "$ref": "GoogleCloudDataplexV1AssetDiscoverySpecJsonOptions",
          "description": "Optional. Configuration for Json data."
        },
        "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"
        },
        "excludePatterns": {
          "items": {
            "type": "string"
          },
          "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.",
          "type": "array"
        },
        "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"
        },
        "csvOptions": {
          "$ref": "GoogleCloudDataplexV1AssetDiscoverySpecCsvOptions",
          "description": "Optional. Configuration for CSV data."
        }
      },
      "id": "GoogleCloudDataplexV1AssetDiscoverySpec"
    },
    "GoogleCloudDataplexV1DataQualitySpecPostScanActionsJobEndTrigger": {
      "properties": {},
      "id": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsJobEndTrigger",
      "type": "object",
      "description": "This trigger is triggered whenever a scan job run ends, regardless of the result."
    },
    "GoogleCloudDataplexV1EncryptionConfigFailureDetails": {
      "type": "object",
      "id": "GoogleCloudDataplexV1EncryptionConfigFailureDetails",
      "properties": {
        "errorMessage": {
          "description": "Output only. The error message will be shown to the user. Set only if the error code is REQUIRE_USER_ACTION.",
          "readOnly": true,
          "type": "string"
        },
        "errorCode": {
          "enum": [
            "UNKNOWN",
            "INTERNAL_ERROR",
            "REQUIRE_USER_ACTION"
          ],
          "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."
          ],
          "type": "string",
          "description": "Output only. The error code for the failure.",
          "readOnly": true
        }
      },
      "description": "Details of the failure if anything related to Cmek db fails."
    },
    "GoogleCloudDataplexV1UpdateGlossaryCategoryRequest": {
      "description": "Update GlossaryCategory Request",
      "id": "GoogleCloudDataplexV1UpdateGlossaryCategoryRequest",
      "properties": {
        "category": {
          "$ref": "GoogleCloudDataplexV1GlossaryCategory",
          "description": "Required. The GlossaryCategory to update. The GlossaryCategory's name field is used to identify the GlossaryCategory to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}"
        },
        "updateMask": {
          "description": "Required. The list of fields to update.",
          "type": "string",
          "format": "google-fieldmask"
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1DataQualityDimensionResult": {
      "id": "GoogleCloudDataplexV1DataQualityDimensionResult",
      "properties": {
        "dimension": {
          "description": "Output only. The dimension config specified in the DataQualitySpec, as is.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataQualityDimension"
        },
        "passed": {
          "description": "Output only. Whether the dimension passed or failed.",
          "readOnly": true,
          "type": "boolean"
        },
        "score": {
          "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,
          "type": "number",
          "format": "float"
        }
      },
      "description": "DataQualityDimensionResult provides a more detailed, per-dimension view of the results.",
      "type": "object"
    },
    "GoogleCloudDataplexV1DataQualityResultPostScanActionsResult": {
      "description": "The result of post scan actions of DataQualityScan job.",
      "properties": {
        "bigqueryExportResult": {
          "description": "Output only. The result of BigQuery export post scan action.",
          "$ref": "GoogleCloudDataplexV1DataQualityResultPostScanActionsResultBigQueryExportResult",
          "readOnly": true
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityResultPostScanActionsResult",
      "type": "object"
    },
    "GoogleCloudDataplexV1UpdateGlossaryRequest": {
      "id": "GoogleCloudDataplexV1UpdateGlossaryRequest",
      "type": "object",
      "properties": {
        "updateMask": {
          "type": "string",
          "format": "google-fieldmask",
          "description": "Required. The list of fields to update."
        },
        "glossary": {
          "description": "Required. The Glossary to update. The Glossary's name field is used to identify the Glossary to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}",
          "$ref": "GoogleCloudDataplexV1Glossary"
        },
        "validateOnly": {
          "type": "boolean",
          "description": "Optional. Validates the request without actually updating the Glossary. Default: false."
        }
      },
      "description": "Update Glossary Request"
    },
    "GoogleCloudDataplexV1MetadataJobImportJobSpec": {
      "id": "GoogleCloudDataplexV1MetadataJobImportJobSpec",
      "type": "object",
      "properties": {
        "aspectSyncMode": {
          "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."
          ],
          "type": "string",
          "enum": [
            "SYNC_MODE_UNSPECIFIED",
            "FULL",
            "INCREMENTAL",
            "NONE"
          ],
          "description": "Required. The sync mode for aspects."
        },
        "sourceCreateTime": {
          "format": "google-datetime",
          "description": "Optional. The time when the process that created the metadata import files began.",
          "type": "string"
        },
        "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": {
          "$ref": "GoogleCloudDataplexV1MetadataJobImportJobSpecImportJobScope",
          "description": "Required. A boundary on the scope of impact that the metadata import job can have."
        },
        "entrySyncMode": {
          "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."
          ],
          "type": "string",
          "description": "Required. The sync mode for entries.",
          "enum": [
            "SYNC_MODE_UNSPECIFIED",
            "FULL",
            "INCREMENTAL",
            "NONE"
          ]
        },
        "logLevel": {
          "type": "string",
          "enum": [
            "LOG_LEVEL_UNSPECIFIED",
            "DEBUG",
            "INFO"
          ],
          "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."
          ],
          "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."
        }
      },
      "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."
    },
    "GoogleCloudDataplexV1Partition": {
      "type": "object",
      "properties": {
        "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"
        },
        "values": {
          "description": "Required. Immutable. The set of values representing the partition, which correspond to the partition schema defined in the parent entity.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "type": "string",
          "readOnly": true,
          "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."
        },
        "etag": {
          "deprecated": true,
          "description": "Optional. The etag for this partition.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1Partition",
      "description": "Represents partition metadata contained within entity instances."
    },
    "GoogleCloudDataplexV1EntryGroupChangeRequestConfig": {
      "type": "object",
      "properties": {
        "approverEmails": {
          "description": "Optional. Specifies the email addresses of users who are potential approvers and are notified when a change request is created for the metadata belonging to the Entry Group. The maximum number of emails allowed is 10.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "description": "Specifies the configuration for requesting changes in the metadata belonging to the Entry Group.",
      "id": "GoogleCloudDataplexV1EntryGroupChangeRequestConfig"
    },
    "GoogleCloudDataplexV1EntryLinkTypeEvent": {
      "properties": {
        "entryLinkTypeId": {
          "description": "Name of the resource.",
          "type": "string"
        },
        "eventType": {
          "enumDescriptions": [
            "An unspecified event type.",
            "EntryLinkType create event.",
            "EntryLinkType update event.",
            "EntryLinkType delete event."
          ],
          "description": "The type of the event.",
          "enum": [
            "EVENT_TYPE_UNSPECIFIED",
            "ENTRY_LINK_TYPE_CREATE",
            "ENTRY_LINK_TYPE_UPDATE",
            "ENTRY_LINK_TYPE_DELETE"
          ],
          "type": "string"
        },
        "message": {
          "description": "The log message.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1EntryLinkTypeEvent",
      "description": "Payload associated with EntryLinkType related log events."
    },
    "GoogleCloudDataplexV1ListGlossaryTermsResponse": {
      "type": "object",
      "description": "List GlossaryTerms Response",
      "id": "GoogleCloudDataplexV1ListGlossaryTermsResponse",
      "properties": {
        "unreachableLocations": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Locations that the service couldn't reach."
        },
        "terms": {
          "items": {
            "$ref": "GoogleCloudDataplexV1GlossaryTerm"
          },
          "description": "Lists the GlossaryTerms in the specified parent.",
          "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"
        }
      }
    },
    "GoogleCloudDataplexV1ExecutionIdentityDataplexServiceAgent": {
      "properties": {},
      "type": "object",
      "description": "The Dataplex service agent associated with the user's project.",
      "id": "GoogleCloudDataplexV1ExecutionIdentityDataplexServiceAgent"
    },
    "GoogleCloudDataplexV1JobEvent": {
      "properties": {
        "executionTrigger": {
          "type": "string",
          "description": "Job execution trigger.",
          "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"
          ]
        },
        "serviceJob": {
          "type": "string",
          "description": "The reference to the job within the service."
        },
        "endTime": {
          "description": "The time when the job ended running.",
          "type": "string",
          "format": "google-datetime"
        },
        "service": {
          "description": "The service used to execute the job.",
          "enum": [
            "SERVICE_UNSPECIFIED",
            "DATAPROC"
          ],
          "enumDescriptions": [
            "Unspecified service.",
            "Cloud Dataproc."
          ],
          "type": "string"
        },
        "state": {
          "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."
          ],
          "description": "The job state on completion.",
          "enum": [
            "STATE_UNSPECIFIED",
            "SUCCEEDED",
            "FAILED",
            "CANCELLED",
            "ABORTED"
          ]
        },
        "type": {
          "type": "string",
          "description": "The type of the job.",
          "enum": [
            "TYPE_UNSPECIFIED",
            "SPARK",
            "NOTEBOOK"
          ],
          "enumDescriptions": [
            "Unspecified job type.",
            "Spark jobs.",
            "Notebook jobs."
          ]
        },
        "message": {
          "type": "string",
          "description": "The log message."
        },
        "retries": {
          "type": "integer",
          "format": "int32",
          "description": "The number of retries."
        },
        "jobId": {
          "type": "string",
          "description": "The unique id identifying the job."
        },
        "startTime": {
          "type": "string",
          "description": "The time when the job started running.",
          "format": "google-datetime"
        }
      },
      "description": "The payload associated with Job logs that contains events describing jobs that have run within a Lake.",
      "id": "GoogleCloudDataplexV1JobEvent",
      "type": "object"
    },
    "GoogleCloudDataplexV1ListDataScanJobsResponse": {
      "id": "GoogleCloudDataplexV1ListDataScanJobsResponse",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list."
        },
        "dataScanJobs": {
          "description": "DataScanJobs (BASIC view only) under a given dataScan.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataScanJob"
          }
        }
      },
      "type": "object",
      "description": "List DataScanJobs response."
    },
    "GoogleCloudDataplexV1ListMetadataJobsResponse": {
      "description": "List metadata jobs response.",
      "id": "GoogleCloudDataplexV1ListMetadataJobsResponse",
      "properties": {
        "unreachableLocations": {
          "type": "array",
          "description": "Locations that the service couldn't reach.",
          "items": {
            "type": "string"
          }
        },
        "metadataJobs": {
          "items": {
            "$ref": "GoogleCloudDataplexV1MetadataJob"
          },
          "type": "array",
          "description": "Metadata jobs under the specified parent location."
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoTopNValue": {
      "properties": {
        "count": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Count of the corresponding value in the scanned data.",
          "format": "int64"
        },
        "ratio": {
          "readOnly": true,
          "type": "number",
          "format": "double",
          "description": "Output only. Ratio of the corresponding value in the field against the total number of rows in the scanned data."
        },
        "value": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. String value of a top N non-null value."
        }
      },
      "id": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoTopNValue",
      "type": "object",
      "description": "Top N non-null values in the scanned data."
    },
    "GoogleCloudDataplexV1DataDocumentationResultField": {
      "type": "object",
      "id": "GoogleCloudDataplexV1DataDocumentationResultField",
      "properties": {
        "description": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Generated description for columns and fields."
        },
        "fields": {
          "items": {
            "$ref": "GoogleCloudDataplexV1DataDocumentationResultField"
          },
          "readOnly": true,
          "description": "Output only. Nested fields.",
          "type": "array"
        },
        "name": {
          "readOnly": true,
          "description": "Output only. The name of the column.",
          "type": "string"
        }
      },
      "description": "Column of a table with generated metadata and nested fields."
    },
    "GoogleIamV1AuditConfig": {
      "type": "object",
      "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.",
      "properties": {
        "auditLogConfigs": {
          "type": "array",
          "items": {
            "$ref": "GoogleIamV1AuditLogConfig"
          },
          "description": "The configuration for logging of each type of permission."
        },
        "service": {
          "type": "string",
          "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."
        }
      },
      "id": "GoogleIamV1AuditConfig"
    },
    "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.",
      "properties": {
        "logType": {
          "type": "string",
          "enum": [
            "LOG_TYPE_UNSPECIFIED",
            "ADMIN_READ",
            "DATA_WRITE",
            "DATA_READ"
          ],
          "description": "The log type that this config enables.",
          "enumDescriptions": [
            "Default case. Should never be this.",
            "Admin reads. Example: CloudIAM getIamPolicy",
            "Data writes. Example: CloudSQL Users create",
            "Data reads. Example: CloudSQL Users list"
          ]
        },
        "exemptedMembers": {
          "items": {
            "type": "string"
          },
          "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.",
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1MetadataJobImportJobResult": {
      "id": "GoogleCloudDataplexV1MetadataJobImportJobResult",
      "properties": {
        "updateTime": {
          "format": "google-datetime",
          "description": "Output only. The time when the status was updated.",
          "type": "string",
          "readOnly": true
        },
        "unchangedEntryLinks": {
          "description": "Output only. The total number of entry links that were left unchanged.",
          "format": "int64",
          "type": "string",
          "readOnly": true
        },
        "recreatedEntries": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The total number of entries that were recreated.",
          "format": "int64"
        },
        "updatedEntries": {
          "readOnly": true,
          "format": "int64",
          "type": "string",
          "description": "Output only. The total number of entries that were updated."
        },
        "deletedEntryLinks": {
          "format": "int64",
          "description": "Output only. The total number of entry links that were successfully deleted.",
          "readOnly": true,
          "type": "string"
        },
        "deletedEntries": {
          "readOnly": true,
          "description": "Output only. The total number of entries that were deleted.",
          "format": "int64",
          "type": "string"
        },
        "unchangedEntries": {
          "type": "string",
          "description": "Output only. The total number of entries that were unchanged.",
          "readOnly": true,
          "format": "int64"
        },
        "createdEntryLinks": {
          "readOnly": true,
          "format": "int64",
          "description": "Output only. The total number of entry links that were successfully created.",
          "type": "string"
        },
        "createdEntries": {
          "format": "int64",
          "type": "string",
          "readOnly": true,
          "description": "Output only. The total number of entries that were created."
        }
      },
      "description": "Results from a metadata import job.",
      "type": "object"
    },
    "GoogleCloudDataplexV1DataDomain": {
      "type": "object",
      "description": "A DataDomain is a logical grouping of data resources for governance, discovery, and management at scale.",
      "properties": {
        "description": {
          "type": "string",
          "description": "Optional. User-provided description of the DataDomain."
        },
        "uid": {
          "readOnly": true,
          "description": "Output only. System-generated globally unique ID for the DataDomain.",
          "type": "string"
        },
        "contacts": {
          "description": "Required. Contact info for the Data Domains.",
          "$ref": "GoogleCloudDataplexV1Contacts"
        },
        "createTime": {
          "readOnly": true,
          "description": "Output only. The time at which the DataDomain was created.",
          "format": "google-datetime",
          "type": "string"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. User-defined labels for the DataDomain."
        },
        "updateTime": {
          "format": "google-datetime",
          "readOnly": true,
          "type": "string",
          "description": "Output only. The time at which the DataDomain was last updated."
        },
        "parentDataDomain": {
          "description": "Optional. Immutable. The resource name of the parent DataDomain. Empty if this is a top-level DataDomain. Format: projects/{project_id_or_number}/locations/{location}/dataDomains/{parent_data_domain_id} This field is immutable after creation.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "Identifier. The relative resource name of the DataDomain, of the form: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}"
        },
        "policyMember": {
          "readOnly": true,
          "$ref": "GoogleIamV1ResourcePolicyMember",
          "description": "Output only. Output-only policy member strings of this resource."
        },
        "displayName": {
          "description": "Required. User-friendly display name.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1DataDomain"
    },
    "GoogleCloudDataplexV1DataDocumentationSpec": {
      "id": "GoogleCloudDataplexV1DataDocumentationSpec",
      "properties": {
        "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": {
            "enum": [
              "GENERATION_SCOPE_UNSPECIFIED",
              "ALL",
              "TABLE_AND_COLUMN_DESCRIPTIONS",
              "SQL_QUERIES",
              "BUSINESS_GLOSSARY_TERM_ASSOCIATIONS"
            ],
            "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.",
              "Business glossary term associations will be generated."
            ],
            "type": "string"
          },
          "type": "array"
        },
        "sqlDialect": {
          "enum": [
            "SQL_DIALECT_UNSPECIFIED",
            "GOOGLE_SQL",
            "SPARK_SQL"
          ],
          "type": "string",
          "enumDescriptions": [
            "SQL dialect unspecified.",
            "Google SQL dialect.",
            "Spark SQL dialect."
          ],
          "description": "Optional. The SQL dialect to use in the generated SQL queries. If not specified, the default dialect is Google SQL."
        },
        "catalogPublishingEnabled": {
          "description": "Optional. Whether to publish result to Dataplex Catalog.",
          "type": "boolean"
        }
      },
      "type": "object",
      "description": "DataDocumentation scan related spec."
    },
    "GoogleCloudDataplexV1DataScanCatalogPublishingStatus": {
      "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.",
      "properties": {
        "state": {
          "type": "string",
          "readOnly": true,
          "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."
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1DataQualityRuleDebugQuery": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Optional. Specifies the description of the debug query. The maximum length is 1,024 characters."
        },
        "sqlStatement": {
          "type": "string",
          "description": "Required. Specifies the SQL statement to be executed."
        }
      },
      "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()}",
      "type": "object"
    },
    "GoogleCloudDataplexV1DataQualitySpecPostScanActionsJobFailureTrigger": {
      "id": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsJobFailureTrigger",
      "description": "This trigger is triggered when the scan job itself fails, regardless of the result.",
      "properties": {},
      "type": "object"
    },
    "GoogleCloudDataplexV1CancelDataScanJobResponse": {
      "type": "object",
      "properties": {},
      "description": "Response message for the CancelDataScanJob method.",
      "id": "GoogleCloudDataplexV1CancelDataScanJobResponse"
    },
    "GoogleCloudDataplexV1ScannedDataIncrementalField": {
      "description": "A data range denoted by a pair of start/end values of a field.",
      "type": "object",
      "properties": {
        "end": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Value that marks the end of the range."
        },
        "field": {
          "type": "string",
          "description": "Output only. The field that contains values which monotonically increases over time (e.g. a timestamp column).",
          "readOnly": true
        },
        "start": {
          "type": "string",
          "description": "Output only. Value that marks the start of the range.",
          "readOnly": true
        }
      },
      "id": "GoogleCloudDataplexV1ScannedDataIncrementalField"
    },
    "GoogleCloudDataplexV1EntrySourceAncestor": {
      "id": "GoogleCloudDataplexV1EntrySourceAncestor",
      "description": "Information about individual items in the hierarchy that is associated with the data resource.",
      "properties": {
        "name": {
          "description": "Optional. The name of the ancestor resource.",
          "type": "string"
        },
        "type": {
          "type": "string",
          "description": "Optional. The type of the ancestor resource."
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1ListGlossaryCategoriesResponse": {
      "type": "object",
      "id": "GoogleCloudDataplexV1ListGlossaryCategoriesResponse",
      "description": "List GlossaryCategories Response",
      "properties": {
        "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"
        },
        "unreachableLocations": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Locations that the service couldn't reach."
        },
        "categories": {
          "description": "Lists the GlossaryCategories in the specified parent.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDataplexV1GlossaryCategory"
          }
        }
      }
    },
    "GoogleCloudDataplexV1DataScanEventDataQualityResult": {
      "properties": {
        "rowCount": {
          "format": "int64",
          "type": "string",
          "description": "The count of rows processed in the data scan job."
        },
        "dimensionScore": {
          "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).",
          "type": "object",
          "additionalProperties": {
            "format": "float",
            "type": "number"
          }
        },
        "dimensionPassed": {
          "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.",
          "type": "object",
          "additionalProperties": {
            "type": "boolean"
          }
        },
        "columnScore": {
          "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).",
          "type": "object",
          "additionalProperties": {
            "type": "number",
            "format": "float"
          }
        },
        "passed": {
          "description": "Whether the data quality result was pass or not.",
          "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)."
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1DataScanEventDataQualityResult",
      "description": "Data quality result for data scan job."
    },
    "GoogleCloudDataplexV1ListDataAssetsResponse": {
      "id": "GoogleCloudDataplexV1ListDataAssetsResponse",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "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.",
          "type": "string"
        },
        "dataAssets": {
          "type": "array",
          "description": "The data assets for the requested filter criteria.",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataAsset"
          }
        }
      },
      "description": "Response message for listing data assets."
    },
    "GoogleCloudDataplexV1AspectTypeMetadataTemplateAnnotations": {
      "description": "Definition of the annotations of a field.",
      "id": "GoogleCloudDataplexV1AspectTypeMetadataTemplateAnnotations",
      "type": "object",
      "properties": {
        "displayName": {
          "description": "Optional. Display name for a field.",
          "type": "string"
        },
        "deprecated": {
          "description": "Optional. Marks a field as deprecated. You can include a deprecation message.",
          "type": "string"
        },
        "description": {
          "description": "Optional. Description for a field.",
          "type": "string"
        },
        "displayOrder": {
          "format": "int32",
          "type": "integer",
          "description": "Optional. Display order for a field. You can use this to reorder where a field is rendered."
        },
        "stringType": {
          "type": "string",
          "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. markdown: The field must be interpreted as a markdown field. url: A fully qualified URL link. resource: A service qualified resource reference."
        },
        "stringValues": {
          "type": "array",
          "description": "Optional. Suggested hints for string fields. You can use them to suggest values to users through console.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityRuleUniquenessExpectation": {
      "description": "Evaluates whether the column has duplicates.",
      "id": "GoogleCloudDataplexV1DataQualityRuleUniquenessExpectation",
      "properties": {},
      "type": "object"
    },
    "GoogleCloudDataplexV1TaskExecutionSpec": {
      "properties": {
        "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"
        },
        "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"
        },
        "maxJobExecutionLifetime": {
          "type": "string",
          "format": "google-duration",
          "description": "Optional. The maximum duration after which the job execution is expired."
        },
        "kmsKey": {
          "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}.",
          "type": "string"
        },
        "args": {
          "additionalProperties": {
            "type": "string"
          },
          "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.",
          "type": "object"
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1TaskExecutionSpec",
      "description": "Execution related settings, like retry and service_account."
    },
    "GoogleCloudDataplexV1DataProductPrincipal": {
      "properties": {
        "googleGroup": {
          "type": "string",
          "description": "Optional. Email of the Google Group, as per https://cloud.google.com/iam/docs/principals-overview#google-group."
        },
        "serviceAccount": {
          "description": "Optional. Specifies the email of the producer service account, as per https://cloud.google.com/iam/docs/principals-overview#service-account.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1DataProductPrincipal",
      "type": "object",
      "description": "Represents the principal entity associated with an access group, as per https://cloud.google.com/iam/docs/principals-overview."
    },
    "GoogleCloudDataplexV1DeleteGlossaryCategoryRequest": {
      "id": "GoogleCloudDataplexV1DeleteGlossaryCategoryRequest",
      "description": "Delete GlossaryCategory Request",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Required. The name of the GlossaryCategory to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}"
        }
      }
    },
    "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfo": {
      "type": "object",
      "properties": {
        "stringProfile": {
          "$ref": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoStringFieldInfo",
          "description": "String type field information."
        },
        "integerProfile": {
          "description": "Integer type field information.",
          "$ref": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoIntegerFieldInfo"
        },
        "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.",
          "type": "number",
          "format": "double",
          "readOnly": true
        },
        "topNValues": {
          "readOnly": true,
          "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.",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoTopNValue"
          }
        },
        "nullRatio": {
          "format": "double",
          "readOnly": true,
          "description": "Output only. Ratio of rows with null value against total scanned rows.",
          "type": "number"
        },
        "doubleProfile": {
          "$ref": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoDoubleFieldInfo",
          "description": "Double type field information."
        }
      },
      "id": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfo",
      "description": "The profile information for each field type."
    },
    "GoogleCloudDataplexV1RejectChangeRequestRequest": {
      "description": "Request message for RejectChangeRequest.",
      "properties": {
        "comment": {
          "description": "Optional. The reason for rejecting the ChangeRequest.",
          "type": "string"
        },
        "etag": {
          "type": "string",
          "description": "Optional. The etag of the ChangeRequest."
        }
      },
      "id": "GoogleCloudDataplexV1RejectChangeRequestRequest",
      "type": "object"
    },
    "GoogleCloudDataplexV1Aspect": {
      "type": "object",
      "id": "GoogleCloudDataplexV1Aspect",
      "description": "Represents a single piece of metadata describing an entry or entry link.",
      "properties": {
        "aspectType": {
          "description": "Output only. The resource name of the type used to create this Aspect.",
          "type": "string",
          "readOnly": true
        },
        "aspectSource": {
          "description": "Optional. Information related to the source system of the aspect.",
          "$ref": "GoogleCloudDataplexV1AspectSource"
        },
        "createTime": {
          "format": "google-datetime",
          "readOnly": true,
          "type": "string",
          "description": "Output only. The time when the Aspect was created."
        },
        "path": {
          "description": "Output only. The path in the entry under which the aspect is attached.",
          "readOnly": true,
          "type": "string"
        },
        "updateTime": {
          "description": "Output only. The time when the Aspect was last updated.",
          "type": "string",
          "readOnly": true,
          "format": "google-datetime"
        },
        "data": {
          "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."
          },
          "type": "object"
        }
      }
    },
    "GoogleCloudDataplexV1EntryLink": {
      "id": "GoogleCloudDataplexV1EntryLink",
      "description": "EntryLink represents a link between two Entries.",
      "properties": {
        "entryReferences": {
          "items": {
            "$ref": "GoogleCloudDataplexV1EntryLinkEntryReference"
          },
          "description": "Required. Immutable. Specifies the Entries referenced in the Entry Link. There should be exactly two entry references.",
          "type": "array"
        },
        "updateTime": {
          "description": "Output only. The time when the Entry Link was last updated.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "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"
        },
        "aspects": {
          "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"
          },
          "type": "object"
        },
        "createTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "Output only. The time when the Entry Link was created.",
          "readOnly": true
        },
        "name": {
          "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,
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1DataQualityRuleRuleSourceRulePathElementEntrySource": {
      "description": "Entry source represents information about the related source entry.",
      "id": "GoogleCloudDataplexV1DataQualityRuleRuleSourceRulePathElementEntrySource",
      "type": "object",
      "properties": {
        "entry": {
          "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}",
          "type": "string",
          "readOnly": true
        },
        "entryType": {
          "type": "string",
          "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
        },
        "displayName": {
          "description": "Output only. The display name of the entry.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1GenerateDataQualityRulesResponse": {
      "type": "object",
      "id": "GoogleCloudDataplexV1GenerateDataQualityRulesResponse",
      "description": "Response details for data quality rule recommendations.",
      "properties": {
        "rule": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityRule"
          },
          "description": "The data quality rules that Dataplex Universal Catalog generates based on the results of a data profiling scan."
        }
      }
    },
    "GoogleCloudDataplexV1DeleteGlossaryRequest": {
      "type": "object",
      "description": "Delete Glossary Request",
      "id": "GoogleCloudDataplexV1DeleteGlossaryRequest",
      "properties": {
        "name": {
          "description": "Required. The name of the Glossary to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}",
          "type": "string"
        },
        "etag": {
          "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."
        }
      }
    },
    "GoogleCloudDataplexV1DataAsset": {
      "properties": {
        "labels": {
          "description": "Optional. User-defined labels for the data asset.Example: { \"environment\": \"production\", \"billing\": \"marketing-department\" } ",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "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."
        },
        "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"
          }
        },
        "updateTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "Output only. The time at which the data asset was last updated.",
          "readOnly": true
        },
        "uid": {
          "readOnly": true,
          "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."
        },
        "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."
        },
        "createTime": {
          "description": "Output only. The time at which the data asset was created.",
          "type": "string",
          "readOnly": true,
          "format": "google-datetime"
        },
        "name": {
          "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}"
        }
      },
      "id": "GoogleCloudDataplexV1DataAsset",
      "description": "Represents a data asset resource that can be packaged and shared via a data product.",
      "type": "object"
    },
    "GoogleCloudDataplexV1ListDataProductsResponse": {
      "properties": {
        "unreachable": {
          "items": {
            "type": "string"
          },
          "description": "Unordered list. Locations that the service couldn't reach.",
          "type": "array"
        },
        "dataProducts": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataProduct"
          },
          "description": "The data products for the requested filter criteria."
        },
        "nextPageToken": {
          "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.",
          "type": "string"
        }
      },
      "description": "Response message for listing data products.",
      "type": "object",
      "id": "GoogleCloudDataplexV1ListDataProductsResponse"
    },
    "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/).",
      "id": "GoogleIamV1Policy",
      "properties": {
        "bindings": {
          "items": {
            "$ref": "GoogleIamV1Binding"
          },
          "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."
        },
        "auditConfigs": {
          "type": "array",
          "description": "Specifies cloud audit logging configuration for this policy.",
          "items": {
            "$ref": "GoogleIamV1AuditConfig"
          }
        },
        "version": {
          "format": "int32",
          "type": "integer",
          "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)."
        },
        "etag": {
          "type": "string",
          "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.",
          "format": "byte"
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1ModifyEntryRequest": {
      "description": "Modify Entry request using permissions in the source system.",
      "id": "GoogleCloudDataplexV1ModifyEntryRequest",
      "properties": {
        "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.",
          "format": "google-fieldmask",
          "type": "string"
        },
        "aspectKeys": {
          "items": {
            "type": "string"
          },
          "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."
        },
        "entry": {
          "$ref": "GoogleCloudDataplexV1Entry",
          "description": "Required. The entry to modify."
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1DataProfileSpecSelectedFields": {
      "type": "object",
      "id": "GoogleCloudDataplexV1DataProfileSpecSelectedFields",
      "properties": {
        "fieldNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "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'."
        }
      },
      "description": "The specification for fields to include or exclude in data profile scan."
    },
    "GoogleCloudDataplexV1DataQualityRuleTemplateSql": {
      "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.",
      "type": "object",
      "properties": {
        "query": {
          "description": "Output only. Templatized SQL query for data quality rules.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1ListJobsResponse": {
      "id": "GoogleCloudDataplexV1ListJobsResponse",
      "description": "List jobs response.",
      "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"
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1CreateGlossaryCategoryRequest": {
      "id": "GoogleCloudDataplexV1CreateGlossaryCategoryRequest",
      "type": "object",
      "description": "Creates a new GlossaryCategory under the specified Glossary.",
      "properties": {
        "category": {
          "description": "Required. The GlossaryCategory to create.",
          "$ref": "GoogleCloudDataplexV1GlossaryCategory"
        },
        "parent": {
          "type": "string",
          "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."
        },
        "categoryId": {
          "description": "Required. GlossaryCategory identifier.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1EntryGroup": {
      "description": "An Entry Group represents a logical grouping of one or more Entries.",
      "type": "object",
      "properties": {
        "changeRequestConfig": {
          "$ref": "GoogleCloudDataplexV1EntryGroupChangeRequestConfig",
          "description": "Optional. Specifies the configuration for requesting changes in the metadata belonging to the Entry Group."
        },
        "name": {
          "readOnly": true,
          "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}."
        },
        "createTime": {
          "description": "Output only. The time when the EntryGroup was created.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "description": {
          "description": "Optional. Description of the EntryGroup.",
          "type": "string"
        },
        "displayName": {
          "description": "Optional. User friendly display name.",
          "type": "string"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. User-defined labels for the EntryGroup.",
          "type": "object"
        },
        "uid": {
          "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,
          "type": "string"
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. The time when the EntryGroup was last updated."
        },
        "etag": {
          "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.",
          "type": "string"
        },
        "transferStatus": {
          "description": "Output only. Denotes the transfer status of the Entry Group. It is unspecified for Entry Group created from Dataplex API.",
          "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"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1EntryGroup"
    },
    "GoogleCloudDataplexV1ListLakesResponse": {
      "type": "object",
      "id": "GoogleCloudDataplexV1ListLakesResponse",
      "properties": {
        "lakes": {
          "type": "array",
          "description": "Lakes under the given parent location.",
          "items": {
            "$ref": "GoogleCloudDataplexV1Lake"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list."
        },
        "unreachableLocations": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Locations that could not be reached."
        }
      },
      "description": "List lakes response."
    },
    "GoogleCloudDataplexV1DataProduct": {
      "type": "object",
      "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.",
      "id": "GoogleCloudDataplexV1DataProduct",
      "properties": {
        "name": {
          "description": "Identifier. Resource name of the data product. Format: projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}.",
          "type": "string"
        },
        "displayName": {
          "type": "string",
          "description": "Required. User-friendly display name of the data product."
        },
        "ownerEmails": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Required. Emails of the data product owners."
        },
        "createTime": {
          "format": "google-datetime",
          "type": "string",
          "readOnly": true,
          "description": "Output only. The time at which the data product was created."
        },
        "icon": {
          "type": "string",
          "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.",
          "format": "byte"
        },
        "updateTime": {
          "description": "Output only. The time at which the data product was last updated.",
          "type": "string",
          "readOnly": true,
          "format": "google-datetime"
        },
        "accessGroups": {
          "type": "object",
          "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"
          }
        },
        "uid": {
          "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.",
          "type": "string",
          "readOnly": true
        },
        "description": {
          "description": "Optional. Description of the data product.",
          "type": "string"
        },
        "etag": {
          "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.",
          "type": "string"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object",
          "description": "Optional. User-defined labels for the data product.Example: { \"environment\": \"production\", \"billing\": \"marketing-department\" } "
        },
        "accessApprovalConfig": {
          "description": "Optional. Configuration for access approval for the data product.",
          "$ref": "GoogleCloudDataplexV1DataProductAccessApprovalConfig"
        },
        "assetCount": {
          "type": "integer",
          "format": "int32",
          "readOnly": true,
          "description": "Output only. Number of data assets associated with this data product."
        }
      }
    },
    "GoogleCloudDataplexV1Task": {
      "type": "object",
      "description": "A task represents a user-visible job.",
      "properties": {
        "description": {
          "type": "string",
          "description": "Optional. Description of the task."
        },
        "spark": {
          "description": "Config related to running custom Spark tasks.",
          "$ref": "GoogleCloudDataplexV1TaskSparkTaskConfig"
        },
        "uid": {
          "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,
          "type": "string"
        },
        "name": {
          "readOnly": true,
          "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}."
        },
        "createTime": {
          "description": "Output only. The time when the task was created.",
          "format": "google-datetime",
          "type": "string",
          "readOnly": true
        },
        "notebook": {
          "description": "Config related to running scheduled Notebooks.",
          "$ref": "GoogleCloudDataplexV1TaskNotebookTaskConfig"
        },
        "labels": {
          "description": "Optional. User-defined labels for the task.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "executionSpec": {
          "description": "Required. Spec related to how a task is executed.",
          "$ref": "GoogleCloudDataplexV1TaskExecutionSpec"
        },
        "executionStatus": {
          "$ref": "GoogleCloudDataplexV1TaskExecutionStatus",
          "description": "Output only. Status of the latest task executions.",
          "readOnly": true
        },
        "triggerSpec": {
          "description": "Required. Spec related to how often and when a task should be triggered.",
          "$ref": "GoogleCloudDataplexV1TaskTriggerSpec"
        },
        "updateTime": {
          "format": "google-datetime",
          "description": "Output only. The time when the task was last updated.",
          "type": "string",
          "readOnly": true
        },
        "state": {
          "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."
          ],
          "readOnly": true,
          "description": "Output only. Current state of the task.",
          "type": "string",
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "CREATING",
            "DELETING",
            "ACTION_REQUIRED"
          ]
        },
        "displayName": {
          "description": "Optional. User friendly display name.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1Task"
    },
    "GoogleCloudDataplexV1MetadataJobStatus": {
      "id": "GoogleCloudDataplexV1MetadataJobStatus",
      "description": "Metadata job status.",
      "properties": {
        "state": {
          "description": "Output only. State of the metadata job.",
          "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"
          ],
          "readOnly": true,
          "type": "string"
        },
        "message": {
          "type": "string",
          "description": "Output only. Message relating to the progression of a metadata job.",
          "readOnly": true
        },
        "updateTime": {
          "readOnly": true,
          "description": "Output only. The time when the status was updated.",
          "type": "string",
          "format": "google-datetime"
        },
        "completionPercent": {
          "type": "integer",
          "description": "Output only. Progress tracking.",
          "format": "int32",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1ListAssetsResponse": {
      "id": "GoogleCloudDataplexV1ListAssetsResponse",
      "type": "object",
      "properties": {
        "assets": {
          "type": "array",
          "description": "Asset under the given parent zone.",
          "items": {
            "$ref": "GoogleCloudDataplexV1Asset"
          }
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        }
      },
      "description": "List assets response."
    },
    "GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig": {
      "properties": {
        "project": {
          "type": "string",
          "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}\"."
        },
        "location": {
          "type": "string",
          "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."
        },
        "connection": {
          "type": "string",
          "description": "Optional. The BigQuery connection used to create BigLake tables. Must be in the form projects/{project_id}/locations/{location_id}/connections/{connection_id}"
        },
        "tableType": {
          "enum": [
            "TABLE_TYPE_UNSPECIFIED",
            "EXTERNAL",
            "BIGLAKE"
          ],
          "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."
          ],
          "type": "string",
          "description": "Optional. Determines whether to publish discovered tables as BigLake external tables or non-BigLake external tables."
        }
      },
      "description": "Describes BigQuery publishing configurations.",
      "id": "GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig",
      "type": "object"
    },
    "GoogleCloudDataplexV1MetadataJobImportJobSpecImportJobScope": {
      "id": "GoogleCloudDataplexV1MetadataJobImportJobSpecImportJobScope",
      "description": "A boundary on the scope of impact that the metadata import job can have.",
      "type": "object",
      "properties": {
        "glossaries": {
          "items": {
            "type": "string"
          },
          "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.",
          "type": "array"
        },
        "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"
          }
        },
        "entryLinkTypes": {
          "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"
          },
          "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"
          }
        },
        "referencedEntryScopes": {
          "type": "array",
          "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"
          }
        }
      }
    },
    "GoogleCloudDataplexV1LakeMetastoreStatus": {
      "description": "Status of Lake and Dataproc Metastore service instance association.",
      "id": "GoogleCloudDataplexV1LakeMetastoreStatus",
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Additional information about the current status."
        },
        "state": {
          "description": "Current state of association.",
          "type": "string",
          "enum": [
            "STATE_UNSPECIFIED",
            "NONE",
            "READY",
            "UPDATING",
            "ERROR"
          ],
          "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."
          ]
        },
        "updateTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "Last update time of the metastore status of the lake."
        },
        "endpoint": {
          "description": "The URI of the endpoint used to access the Metastore service.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1DataScanEventDataQualityAppliedConfigs": {
      "id": "GoogleCloudDataplexV1DataScanEventDataQualityAppliedConfigs",
      "description": "Applied configs for data quality type data scan job.",
      "properties": {
        "samplingPercent": {
          "format": "float",
          "type": "number",
          "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."
        },
        "rowFilterApplied": {
          "type": "boolean",
          "description": "Boolean indicating whether a row filter was applied in the DataScan job."
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1StorageFormat": {
      "properties": {
        "mimeType": {
          "type": "string",
          "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}"
        },
        "iceberg": {
          "$ref": "GoogleCloudDataplexV1StorageFormatIcebergOptions",
          "description": "Optional. Additional information about iceberg tables."
        },
        "format": {
          "enum": [
            "FORMAT_UNSPECIFIED",
            "PARQUET",
            "AVRO",
            "ORC",
            "CSV",
            "JSON",
            "IMAGE",
            "AUDIO",
            "VIDEO",
            "TEXT",
            "TFRECORD",
            "OTHER",
            "UNKNOWN"
          ],
          "readOnly": true,
          "type": "string",
          "description": "Output only. The data format associated with the stored data, which represents content type values. The value is inferred from mime type.",
          "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."
          ]
        },
        "json": {
          "description": "Optional. Additional information about CSV formatted data.",
          "$ref": "GoogleCloudDataplexV1StorageFormatJsonOptions"
        },
        "compressionFormat": {
          "description": "Optional. The compression type associated with the stored data. If unspecified, the data is uncompressed.",
          "enum": [
            "COMPRESSION_FORMAT_UNSPECIFIED",
            "GZIP",
            "BZIP2"
          ],
          "enumDescriptions": [
            "CompressionFormat unspecified. Implies uncompressed data.",
            "GZip compressed set of files.",
            "BZip2 compressed set of files."
          ],
          "type": "string"
        },
        "csv": {
          "description": "Optional. Additional information about CSV formatted data.",
          "$ref": "GoogleCloudDataplexV1StorageFormatCsvOptions"
        }
      },
      "id": "GoogleCloudDataplexV1StorageFormat",
      "type": "object",
      "description": "Describes the format of the data within its storage location."
    },
    "GoogleCloudDataplexV1DataDocumentationResultQuery": {
      "id": "GoogleCloudDataplexV1DataDocumentationResultQuery",
      "description": "A sample SQL query in data documentation.",
      "type": "object",
      "properties": {
        "description": {
          "readOnly": true,
          "description": "Output only. The description for the query.",
          "type": "string"
        },
        "sqlDialect": {
          "enum": [
            "SQL_DIALECT_UNSPECIFIED",
            "GOOGLE_SQL",
            "SPARK_SQL"
          ],
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "SQL dialect unspecified.",
            "Google SQL dialect.",
            "Spark SQL dialect."
          ],
          "description": "Output only. The SQL dialect of the query."
        },
        "sql": {
          "readOnly": true,
          "description": "Output only. The SQL query string which can be executed.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1DataQualitySpecPostScanActionsScoreThresholdTrigger": {
      "description": "This trigger is triggered when the DQ score in the job result is less than a specified input score.",
      "id": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsScoreThresholdTrigger",
      "type": "object",
      "properties": {
        "scoreThreshold": {
          "format": "float",
          "type": "number",
          "description": "Optional. The score range is in 0,100."
        }
      }
    },
    "GoogleCloudDataplexV1ZoneDiscoverySpecJsonOptions": {
      "id": "GoogleCloudDataplexV1ZoneDiscoverySpecJsonOptions",
      "type": "object",
      "description": "Describe JSON data format.",
      "properties": {
        "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)."
        },
        "encoding": {
          "description": "Optional. The character encoding of the data. The default is UTF-8.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1RunTaskRequest": {
      "type": "object",
      "id": "GoogleCloudDataplexV1RunTaskRequest",
      "properties": {
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "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."
        },
        "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"
        }
      }
    },
    "GoogleCloudDataplexV1RequestDataProductAccessRequest": {
      "type": "object",
      "id": "GoogleCloudDataplexV1RequestDataProductAccessRequest",
      "description": "Message for requesting access to a Data Product.",
      "properties": {
        "changeRequest": {
          "$ref": "GoogleCloudDataplexV1ChangeRequest",
          "description": "Required. The change request for the data product access request."
        },
        "validateOnly": {
          "description": "Optional. Validates the request without actually creating the access change request. Defaults to false.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudDataplexV1DataDocumentationResultSchemaRelationship": {
      "id": "GoogleCloudDataplexV1DataDocumentationResultSchemaRelationship",
      "properties": {
        "sources": {
          "type": "array",
          "description": "Output only. Sources which generated the schema relation edge.",
          "items": {
            "type": "string",
            "enum": [
              "SOURCE_UNSPECIFIED",
              "AGENT",
              "QUERY_HISTORY",
              "TABLE_CONSTRAINTS"
            ],
            "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."
            ]
          },
          "readOnly": true
        },
        "leftSchemaPaths": {
          "$ref": "GoogleCloudDataplexV1DataDocumentationResultSchemaRelationshipSchemaPaths",
          "readOnly": true,
          "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."
        },
        "rightSchemaPaths": {
          "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.",
          "$ref": "GoogleCloudDataplexV1DataDocumentationResultSchemaRelationshipSchemaPaths",
          "readOnly": true
        },
        "type": {
          "enum": [
            "TYPE_UNSPECIFIED",
            "SCHEMA_JOIN"
          ],
          "readOnly": true,
          "enumDescriptions": [
            "The type of the schema relationship is unspecified.",
            "Indicates a join relationship between the schema fields."
          ],
          "type": "string",
          "description": "Output only. The type of relationship between the schema paths."
        }
      },
      "type": "object",
      "description": "Details of the relationship between the schema of two resources."
    },
    "GoogleCloudDataplexV1DataQualityRuleRangeExpectation": {
      "description": "Evaluates whether each column value lies between a specified range.",
      "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": {
          "type": "boolean",
          "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."
        },
        "strictMaxEnabled": {
          "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.",
          "type": "boolean"
        }
      },
      "id": "GoogleCloudDataplexV1DataQualityRuleRangeExpectation",
      "type": "object"
    },
    "GoogleCloudDataplexV1CancelJobRequest": {
      "type": "object",
      "id": "GoogleCloudDataplexV1CancelJobRequest",
      "description": "Cancel task jobs.",
      "properties": {}
    },
    "GoogleCloudDataplexV1SchemaSchemaField": {
      "description": "Represents a column field within a table schema.",
      "type": "object",
      "id": "GoogleCloudDataplexV1SchemaSchemaField",
      "properties": {
        "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."
        },
        "mode": {
          "type": "string",
          "description": "Required. Additional field semantics.",
          "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"
          ]
        },
        "description": {
          "description": "Optional. User friendly field description. Must be less than or equal to 1024 characters.",
          "type": "string"
        },
        "fields": {
          "description": "Optional. Any nested field for complex types.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDataplexV1SchemaSchemaField"
          }
        },
        "type": {
          "enum": [
            "TYPE_UNSPECIFIED",
            "BOOLEAN",
            "BYTE",
            "INT16",
            "INT32",
            "INT64",
            "FLOAT",
            "DOUBLE",
            "DECIMAL",
            "STRING",
            "BINARY",
            "TIMESTAMP",
            "DATE",
            "TIME",
            "RECORD",
            "NULL"
          ],
          "description": "Required. The type of field.",
          "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."
          ],
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1ListTasksResponse": {
      "properties": {
        "unreachableLocations": {
          "type": "array",
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          }
        },
        "tasks": {
          "description": "Tasks under the given parent lake.",
          "items": {
            "$ref": "GoogleCloudDataplexV1Task"
          },
          "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."
        }
      },
      "id": "GoogleCloudDataplexV1ListTasksResponse",
      "description": "List tasks response.",
      "type": "object"
    },
    "GoogleCloudDataplexV1TaskInfrastructureSpecVpcNetwork": {
      "id": "GoogleCloudDataplexV1TaskInfrastructureSpecVpcNetwork",
      "type": "object",
      "description": "Cloud VPC Network used to run the infrastructure.",
      "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."
        },
        "subNetwork": {
          "description": "Optional. The Cloud VPC sub-network in which the job is run.",
          "type": "string"
        },
        "networkTags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional. List of network tags to apply to the job."
        }
      }
    },
    "GoogleCloudDataplexV1RequestBatchMetadataChangeRequest": {
      "description": "Request message for submitting a set of catalog changes proposals.",
      "type": "object",
      "id": "GoogleCloudDataplexV1RequestBatchMetadataChangeRequest",
      "properties": {
        "justification": {
          "type": "string",
          "description": "Optional. Justification for the metadata change request."
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. User-defined labels for the metadata change request."
        },
        "changePayload": {
          "$ref": "GoogleCloudDataplexV1BatchChangeMetadataRequest",
          "description": "Required. The detailed specification of the proposed changes. This payload is intended to be embedded as the change_payload in the resulting ChangeRequest."
        }
      }
    },
    "GoogleLongrunningListOperationsResponse": {
      "id": "GoogleLongrunningListOperationsResponse",
      "description": "The response message for Operations.ListOperations.",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "The standard List next-page token."
        },
        "operations": {
          "items": {
            "$ref": "GoogleLongrunningOperation"
          },
          "type": "array",
          "description": "A list of operations that matches the specified filter in the request."
        },
        "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"
          }
        }
      }
    },
    "GoogleCloudDataplexV1MetadataJobExportJobSpecExportJobScope": {
      "type": "object",
      "properties": {
        "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"
        },
        "projects": {
          "type": "array",
          "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"
          }
        },
        "organizationLevel": {
          "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.",
          "type": "boolean"
        },
        "entryGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "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."
        },
        "aspectTypes": {
          "items": {
            "type": "string"
          },
          "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.",
          "type": "array"
        }
      },
      "description": "The scope of the export job.",
      "id": "GoogleCloudDataplexV1MetadataJobExportJobSpecExportJobScope"
    },
    "GoogleCloudDataplexV1ActionMissingData": {
      "id": "GoogleCloudDataplexV1ActionMissingData",
      "properties": {},
      "type": "object",
      "description": "Action details for absence of data detected by discovery."
    },
    "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).",
      "id": "GoogleCloudDataplexV1ImportItem",
      "properties": {
        "updateMask": {
          "format": "google-fieldmask",
          "type": "string",
          "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": {
          "description": "Information about an entry and its attached aspects.",
          "$ref": "GoogleCloudDataplexV1Entry"
        },
        "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"
        },
        "aspectKeys": {
          "items": {
            "type": "string"
          },
          "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.",
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1DataProductAccessGroup": {
      "properties": {
        "principal": {
          "$ref": "GoogleCloudDataplexV1DataProductPrincipal",
          "description": "Required. The principal entity associated with this access group."
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the access group."
        },
        "defaultIamRoleConfig": {
          "description": "Optional. Default IAM role configuration to be applied on the data assets associated with this data product, for this access group.",
          "$ref": "GoogleCloudDataplexV1DataProductAccessGroupDefaultIamRoleConfig"
        },
        "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": "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.",
      "type": "object",
      "id": "GoogleCloudDataplexV1DataProductAccessGroup"
    },
    "GoogleCloudDataplexV1EntityCompatibilityStatusCompatibility": {
      "properties": {
        "compatible": {
          "readOnly": true,
          "description": "Output only. Whether the entity is compatible and can be represented in the metadata store.",
          "type": "boolean"
        },
        "reason": {
          "description": "Output only. Provides additional detail if the entity is incompatible with the metadata store.",
          "type": "string",
          "readOnly": true
        }
      },
      "id": "GoogleCloudDataplexV1EntityCompatibilityStatusCompatibility",
      "description": "Provides compatibility information for a specific metadata store.",
      "type": "object"
    },
    "GoogleCloudDataplexV1DataQualityRuleSqlAssertion": {
      "type": "object",
      "properties": {
        "sqlStatement": {
          "type": "string",
          "description": "Optional. The SQL statement."
        }
      },
      "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"
    },
    "GoogleCloudDataplexV1DataScanExecutionStatus": {
      "properties": {
        "latestJobCreateTime": {
          "type": "string",
          "description": "Optional. The time when the DataScanJob execution was created.",
          "format": "google-datetime"
        },
        "latestJobEndTime": {
          "type": "string",
          "description": "Optional. The time when the latest DataScanJob ended.",
          "format": "google-datetime"
        },
        "latestJobStartTime": {
          "format": "google-datetime",
          "description": "Optional. The time when the latest DataScanJob started.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1DataScanExecutionStatus",
      "description": "Status of the data scan execution."
    },
    "GoogleCloudDataplexV1AspectSource": {
      "description": "Information related to the source system of the aspect.",
      "type": "object",
      "properties": {
        "updateTime": {
          "description": "The time the aspect was last updated in the source system.",
          "type": "string",
          "format": "google-datetime"
        },
        "createTime": {
          "type": "string",
          "description": "The time the aspect was created in the source system.",
          "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"
    },
    "GoogleCloudDataplexV1ListAspectTypesResponse": {
      "id": "GoogleCloudDataplexV1ListAspectTypesResponse",
      "type": "object",
      "description": "List AspectTypes response.",
      "properties": {
        "unreachableLocations": {
          "description": "Locations that the service couldn't reach.",
          "items": {
            "type": "string"
          },
          "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."
        },
        "aspectTypes": {
          "items": {
            "$ref": "GoogleCloudDataplexV1AspectType"
          },
          "type": "array",
          "description": "AspectTypes under the given parent location."
        }
      }
    },
    "GoogleCloudDataplexV1RequestBatchMetadataChangeResponse": {
      "description": "Response message containing the reference to the created change request.",
      "type": "object",
      "properties": {
        "changeRequest": {
          "description": "The resource name of the created ChangeRequest. Format: projects/{project}/locations/{location}/changeRequests/{change_request}",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1RequestBatchMetadataChangeResponse"
    },
    "GoogleIamV1Binding": {
      "properties": {
        "condition": {
          "description": "The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).",
          "$ref": "GoogleTypeExpr"
        },
        "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"
        },
        "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)."
        }
      },
      "description": "Associates members, or principals, with a role.",
      "id": "GoogleIamV1Binding",
      "type": "object"
    },
    "GoogleCloudDataplexV1DiscoveryEventConfigDetails": {
      "description": "Details about configuration events.",
      "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"
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1DiscoveryEventConfigDetails"
    },
    "GoogleCloudDataplexV1TaskInfrastructureSpecBatchComputeResources": {
      "id": "GoogleCloudDataplexV1TaskInfrastructureSpecBatchComputeResources",
      "description": "Batch compute resources associated with the task.",
      "type": "object",
      "properties": {
        "executorsCount": {
          "format": "int32",
          "type": "integer",
          "description": "Optional. Total number of job executors. Executor Count should be between 2 and 100. Default=2"
        },
        "maxExecutorsCount": {
          "format": "int32",
          "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"
        }
      }
    },
    "GoogleCloudDataplexV1DataDiscoveryResult": {
      "type": "object",
      "id": "GoogleCloudDataplexV1DataDiscoveryResult",
      "properties": {
        "bigqueryPublishing": {
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataDiscoveryResultBigQueryPublishing",
          "description": "Output only. Configuration for metadata publishing."
        },
        "scanStatistics": {
          "$ref": "GoogleCloudDataplexV1DataDiscoveryResultScanStatistics",
          "description": "Output only. Describes result statistics of a data scan discovery job.",
          "readOnly": true
        }
      },
      "description": "The output of a data discovery scan."
    },
    "GoogleCloudDataplexV1SessionEventQueryDetail": {
      "id": "GoogleCloudDataplexV1SessionEventQueryDetail",
      "type": "object",
      "properties": {
        "dataProcessedBytes": {
          "format": "int64",
          "type": "string",
          "description": "The data processed by the query."
        },
        "resultSizeBytes": {
          "format": "int64",
          "type": "string",
          "description": "The size of results the query produced."
        },
        "queryId": {
          "description": "The unique Query id identifying the query.",
          "type": "string"
        },
        "engine": {
          "enumDescriptions": [
            "An unspecified Engine type.",
            "Spark-sql engine is specified in Query.",
            "BigQuery engine is specified in Query."
          ],
          "enum": [
            "ENGINE_UNSPECIFIED",
            "SPARK_SQL",
            "BIGQUERY"
          ],
          "type": "string",
          "description": "Query Execution engine."
        },
        "duration": {
          "description": "Time taken for execution of the query.",
          "format": "google-duration",
          "type": "string"
        },
        "queryText": {
          "description": "The query text executed.",
          "type": "string"
        }
      },
      "description": "Execution details of the query."
    },
    "GoogleCloudDataplexV1DataDiscoveryResultScanStatistics": {
      "description": "Describes result statistics of a data scan discovery job.",
      "properties": {
        "filesetsUpdated": {
          "description": "The number of filesets updated.",
          "format": "int32",
          "type": "integer"
        },
        "dataProcessedBytes": {
          "type": "string",
          "description": "The data processed in bytes.",
          "format": "int64"
        },
        "filesetsCreated": {
          "format": "int32",
          "type": "integer",
          "description": "The number of filesets created."
        },
        "tablesCreated": {
          "description": "The number of tables created.",
          "format": "int32",
          "type": "integer"
        },
        "filesetsDeleted": {
          "type": "integer",
          "description": "The number of filesets deleted.",
          "format": "int32"
        },
        "filesExcluded": {
          "type": "integer",
          "format": "int32",
          "description": "The number of files excluded."
        },
        "scannedFileCount": {
          "format": "int32",
          "description": "The number of files scanned.",
          "type": "integer"
        },
        "tablesDeleted": {
          "format": "int32",
          "description": "The number of tables deleted.",
          "type": "integer"
        },
        "tablesUpdated": {
          "description": "The number of tables updated.",
          "type": "integer",
          "format": "int32"
        }
      },
      "id": "GoogleCloudDataplexV1DataDiscoveryResultScanStatistics",
      "type": "object"
    },
    "GoogleCloudDataplexV1AspectTypeAuthorization": {
      "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.",
      "type": "object"
    },
    "GoogleCloudDataplexV1EntrySource": {
      "id": "GoogleCloudDataplexV1EntrySource",
      "description": "Information related to the source system of the data resource that is represented by the entry.",
      "properties": {
        "labels": {
          "type": "object",
          "description": "User-defined labels. The maximum size of keys and values is 128 characters each.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "description": {
          "description": "A description of the data resource. Maximum length is 2,000 characters.",
          "type": "string"
        },
        "ancestors": {
          "description": "Immutable. The entries representing the ancestors of the data resource in the source system.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDataplexV1EntrySourceAncestor"
          }
        },
        "updateTime": {
          "type": "string",
          "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.",
          "format": "google-datetime"
        },
        "location": {
          "type": "string",
          "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
        },
        "resource": {
          "type": "string",
          "description": "The name of the resource in the source system. Maximum length is 4,000 characters."
        },
        "platform": {
          "description": "The platform containing the source system. Maximum length is 64 characters.",
          "type": "string"
        },
        "createTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "The time when the resource was created in the source system."
        },
        "displayName": {
          "type": "string",
          "description": "A user-friendly display name. Maximum length is 500 characters."
        },
        "system": {
          "description": "The name of the source system. Maximum length is 64 characters.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1DataProfileSpecPostScanActionsBigQueryExport": {
      "description": "The configuration of BigQuery export post scan action.",
      "properties": {
        "resultsTable": {
          "type": "string",
          "description": "Optional. The BigQuery table to export DataProfileScan results to. Format: //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID"
        }
      },
      "id": "GoogleCloudDataplexV1DataProfileSpecPostScanActionsBigQueryExport",
      "type": "object"
    },
    "GoogleCloudDataplexV1DiscoveryEventPartitionDetails": {
      "description": "Details about the partition.",
      "id": "GoogleCloudDataplexV1DiscoveryEventPartitionDetails",
      "type": "object",
      "properties": {
        "partition": {
          "description": "The name to the partition resource. The name is the fully-qualified resource name.",
          "type": "string"
        },
        "type": {
          "enumDescriptions": [
            "An unspecified event type.",
            "Entities representing structured data.",
            "Entities representing unstructured data."
          ],
          "enum": [
            "ENTITY_TYPE_UNSPECIFIED",
            "TABLE",
            "FILESET"
          ],
          "type": "string",
          "description": "The type of the containing entity resource."
        },
        "entity": {
          "description": "The name to the containing entity resource. The name is the fully-qualified resource name.",
          "type": "string"
        },
        "sampledDataLocations": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The locations of the data items (e.g., a Cloud Storage objects) sampled for metadata inference."
        }
      }
    },
    "GoogleCloudDataplexV1ScannedData": {
      "type": "object",
      "properties": {
        "incrementalField": {
          "$ref": "GoogleCloudDataplexV1ScannedDataIncrementalField",
          "description": "The range denoted by values of an incremental field"
        }
      },
      "description": "The data scanned during processing (e.g. in incremental DataScan)",
      "id": "GoogleCloudDataplexV1ScannedData"
    },
    "GoogleCloudDataplexV1LookupContextRequest": {
      "properties": {
        "options": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "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. all_schema_fields - If set to true, all schema fields will be returned in the context (regardless of context_budget value). Otherwise, the list of schema fields is truncated. Default is false."
        },
        "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"
          }
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1LookupContextRequest",
      "description": "Lookup Context using permissions in the source system."
    },
    "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); } ",
      "id": "Empty",
      "properties": {},
      "type": "object"
    },
    "GoogleCloudDataplexV1DataProfileResultPostScanActionsResult": {
      "description": "The result of post scan actions of DataProfileScan job.",
      "id": "GoogleCloudDataplexV1DataProfileResultPostScanActionsResult",
      "type": "object",
      "properties": {
        "bigqueryExportResult": {
          "description": "Output only. The result of BigQuery export post scan action.",
          "$ref": "GoogleCloudDataplexV1DataProfileResultPostScanActionsResultBigQueryExportResult",
          "readOnly": true
        }
      }
    },
    "GoogleCloudDataplexV1DataDocumentationResultDatasetResult": {
      "type": "object",
      "id": "GoogleCloudDataplexV1DataDocumentationResultDatasetResult",
      "properties": {
        "overview": {
          "description": "Output only. Generated Dataset description.",
          "readOnly": true,
          "type": "string"
        },
        "queries": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataDocumentationResultQuery"
          },
          "description": "Output only. Sample SQL queries for the dataset.",
          "readOnly": true
        },
        "schemaRelationships": {
          "type": "array",
          "description": "Output only. Relationships suggesting how tables in the dataset are related to each other, based on their schema.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDataplexV1DataDocumentationResultSchemaRelationship"
          }
        }
      },
      "description": "Insights for a dataset resource."
    },
    "GoogleCloudDataplexV1DataProfileResult": {
      "properties": {
        "rowCount": {
          "type": "string",
          "readOnly": true,
          "format": "int64",
          "description": "Output only. The count of rows scanned."
        },
        "catalogPublishingStatus": {
          "readOnly": true,
          "description": "Output only. The status of publishing the data scan as Dataplex Universal Catalog metadata.",
          "$ref": "GoogleCloudDataplexV1DataScanCatalogPublishingStatus"
        },
        "scannedData": {
          "description": "Output only. The data scanned for this result.",
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1ScannedData"
        },
        "profile": {
          "$ref": "GoogleCloudDataplexV1DataProfileResultProfile",
          "readOnly": true,
          "description": "Output only. The profile information per field."
        },
        "postScanActionsResult": {
          "description": "Output only. The result of post scan actions.",
          "$ref": "GoogleCloudDataplexV1DataProfileResultPostScanActionsResult",
          "readOnly": true
        }
      },
      "description": "DataProfileResult defines the output of DataProfileScan. Each field of the table will have field type specific profile result.",
      "id": "GoogleCloudDataplexV1DataProfileResult",
      "type": "object"
    },
    "GoogleCloudDataplexV1ActionUnauthorizedResource": {
      "type": "object",
      "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.",
      "properties": {},
      "id": "GoogleCloudDataplexV1ActionUnauthorizedResource"
    },
    "GoogleCloudDataplexV1DataQualityRuleStatisticRangeExpectation": {
      "description": "Evaluates whether the column aggregate statistic lies between a specified range.",
      "type": "object",
      "id": "GoogleCloudDataplexV1DataQualityRuleStatisticRangeExpectation",
      "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"
        },
        "statistic": {
          "type": "string",
          "enumDescriptions": [
            "Unspecified statistic type",
            "Evaluate the column mean",
            "Evaluate the column min",
            "Evaluate the column max"
          ],
          "description": "Optional. The aggregate metric to evaluate.",
          "enum": [
            "STATISTIC_UNDEFINED",
            "MEAN",
            "MIN",
            "MAX"
          ]
        },
        "strictMinEnabled": {
          "type": "boolean",
          "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."
        },
        "strictMaxEnabled": {
          "type": "boolean",
          "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."
        },
        "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."
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityRuleRuleSourceRulePathElement": {
      "properties": {
        "entryLinkSource": {
          "readOnly": true,
          "description": "Output only. Entry link source represents information about the entry link.",
          "$ref": "GoogleCloudDataplexV1DataQualityRuleRuleSourceRulePathElementEntryLinkSource"
        },
        "entrySource": {
          "readOnly": true,
          "description": "Output only. Entry source represents information about the related source entry.",
          "$ref": "GoogleCloudDataplexV1DataQualityRuleRuleSourceRulePathElementEntrySource"
        }
      },
      "type": "object",
      "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."
    },
    "GoogleCloudDataplexV1ListEncryptionConfigsResponse": {
      "id": "GoogleCloudDataplexV1ListEncryptionConfigsResponse",
      "properties": {
        "unreachableLocations": {
          "description": "Locations that could not be reached.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "encryptionConfigs": {
          "description": "The list of EncryptionConfigs under the given parent location.",
          "items": {
            "$ref": "GoogleCloudDataplexV1EncryptionConfig"
          },
          "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."
        }
      },
      "description": "List EncryptionConfigs Response",
      "type": "object"
    },
    "GoogleCloudDataplexV1DataQualitySpec": {
      "type": "object",
      "id": "GoogleCloudDataplexV1DataQualitySpec",
      "description": "DataQualityScan related setting.",
      "properties": {
        "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."
        },
        "samplingPercent": {
          "format": "float",
          "type": "number",
          "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."
        },
        "rules": {
          "description": "Required. The list of rules to evaluate against a data source. At least one rule is required.",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataQualityRule"
          },
          "type": "array"
        },
        "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 GoogleSQL syntax (https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#where_clause).Example: col1 \u003e= 0 AND col2 \u003c 10",
          "type": "string"
        },
        "filter": {
          "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.",
          "type": "string"
        },
        "postScanActions": {
          "description": "Optional. Actions to take upon job completion.",
          "$ref": "GoogleCloudDataplexV1DataQualitySpecPostScanActions"
        },
        "catalogPublishingEnabled": {
          "type": "boolean",
          "description": "Optional. If set, the latest DataScan job result will be published as Dataplex Universal Catalog metadata."
        }
      }
    },
    "GoogleCloudDataplexV1UpdateGlossaryTermRequest": {
      "type": "object",
      "id": "GoogleCloudDataplexV1UpdateGlossaryTermRequest",
      "description": "Update GlossaryTerm Request",
      "properties": {
        "term": {
          "description": "Required. The GlossaryTerm to update. The GlossaryTerm's name field is used to identify the GlossaryTerm to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}",
          "$ref": "GoogleCloudDataplexV1GlossaryTerm"
        },
        "updateMask": {
          "format": "google-fieldmask",
          "type": "string",
          "description": "Required. The list of fields to update."
        }
      }
    },
    "GoogleCloudDataplexV1Schema": {
      "description": "Schema information describing the structure and layout of the data.",
      "properties": {
        "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."
        },
        "partitionFields": {
          "items": {
            "$ref": "GoogleCloudDataplexV1SchemaPartitionField"
          },
          "description": "Optional. The sequence of fields describing the partition structure in entities. If this field is empty, there are no partitions within the data.",
          "type": "array"
        },
        "partitionStyle": {
          "description": "Optional. The structure of paths containing partition data within the entity.",
          "enum": [
            "PARTITION_STYLE_UNSPECIFIED",
            "HIVE_COMPATIBLE"
          ],
          "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."
          ],
          "type": "string"
        },
        "fields": {
          "type": "array",
          "description": "Optional. The sequence of fields describing data in table entities. Note: BigQuery SchemaFields are immutable.",
          "items": {
            "$ref": "GoogleCloudDataplexV1SchemaSchemaField"
          }
        }
      },
      "id": "GoogleCloudDataplexV1Schema",
      "type": "object"
    },
    "GoogleCloudDataplexV1DataScanEventDataProfileResult": {
      "type": "object",
      "id": "GoogleCloudDataplexV1DataScanEventDataProfileResult",
      "description": "Data profile result for data scan job.",
      "properties": {
        "dcuConsumed": {
          "type": "number",
          "description": "Dataplex Compute Units (DCUs) used in the data scan job.",
          "format": "double"
        },
        "rowCount": {
          "format": "int64",
          "type": "string",
          "description": "The count of rows processed in the data scan job."
        }
      }
    },
    "GoogleCloudDataplexV1CreateGlossaryRequest": {
      "id": "GoogleCloudDataplexV1CreateGlossaryRequest",
      "description": "Create Glossary Request",
      "type": "object",
      "properties": {
        "glossaryId": {
          "type": "string",
          "description": "Required. Glossary ID: Glossary identifier."
        },
        "parent": {
          "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.",
          "type": "string"
        },
        "glossary": {
          "$ref": "GoogleCloudDataplexV1Glossary",
          "description": "Required. The Glossary to create."
        },
        "validateOnly": {
          "description": "Optional. Validates the request without actually creating the Glossary. Default: false.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudDataplexV1Contacts": {
      "id": "GoogleCloudDataplexV1Contacts",
      "description": "Business contacts part of business context of a Data Domain. Corresponds to the Contacts Aspect in Dataplex Universal Catalog.",
      "properties": {
        "identities": {
          "type": "array",
          "description": "Required. Identities of the business contacts.",
          "items": {
            "$ref": "GoogleCloudDataplexV1ContactIdentity"
          }
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1DataScanEventDataDocumentationResultTokenUsage": {
      "properties": {
        "toolUsePromptTokenCount": {
          "format": "int64",
          "description": "Tool use context tokens (schema, profile, query history).",
          "type": "string"
        },
        "outputTokenCount": {
          "type": "string",
          "format": "int64",
          "description": "Billable output tokens (candidates + thoughts)."
        },
        "cachedContentTokenCount": {
          "format": "int64",
          "description": "Billable cached content tokens (billed at discounted prompt caching SKU).",
          "type": "string"
        },
        "thoughtsTokenCount": {
          "format": "int64",
          "type": "string",
          "description": "Reasoning / Chain-of-Thought tokens."
        },
        "inputTokenCount": {
          "format": "int64",
          "type": "string",
          "description": "Billable non-cached input tokens."
        },
        "promptTokenCount": {
          "type": "string",
          "description": "Base prompt and system instructions tokens.",
          "format": "int64"
        },
        "candidatesTokenCount": {
          "type": "string",
          "description": "Generated candidate response tokens.",
          "format": "int64"
        },
        "totalTokenCount": {
          "type": "string",
          "description": "Total billable tokens (billable_input + billable_cached + billable_output). Evaluates to 0 for failed or cancelled jobs.",
          "format": "int64"
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1DataScanEventDataDocumentationResultTokenUsage",
      "description": "Captures structured token usage breakdown for LLM-powered scans."
    },
    "GoogleCloudDataplexV1DataDomainBinding": {
      "type": "object",
      "properties": {
        "uid": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. System-generated unique ID."
        },
        "name": {
          "type": "string",
          "description": "Identifier. The relative resource name of the DataDomainBinding. Format: projects/{project_id_or_number}/locations/{location}/dataDomains/{data_domain_id}/bindings/{binding_id}"
        },
        "createTime": {
          "readOnly": true,
          "description": "Output only. The time at which the DataDomainBinding was created.",
          "format": "google-datetime",
          "type": "string"
        },
        "resource": {
          "type": "string",
          "description": "Required. Immutable. The full resource name of the Google Cloud resource to be bound (i.e. included together with its contents) to the DataDomain.Format: IAM Full resource name (https://docs.cloud.google.com/iam/docs/full-resource-names) Examples: - GCP Project: //cloudresourcemanager.googleapis.com/projects/{project-id} - BigQuery Dataset: //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id} - BigQuery Table: //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id}/tables/{table-id} - Dataplex Data Product: //dataplex.googleapis.com/projects/{project-number}/locations/{location}/dataProducts/{data-product-id}Authorization: the resource to be bound must first grant an IAM role with the resource-specific setIamPolicy permission to the DataDomain. Example: - resource: //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id} - IAM role: with bigquery.datasets.setIamPolicy permission (e.g. roles/owner) - IAM member: principal://dataplex.googleapis.com/projects/{project-number}/name/locations/{location}/dataDomains/{data-domain-id}"
        }
      },
      "description": "DataDomainBinding represents a rule that includes a Google Cloud resource and its contents into a DataDomain.",
      "id": "GoogleCloudDataplexV1DataDomainBinding"
    },
    "GoogleCloudDataplexV1DiscoveryEventTableDetails": {
      "properties": {
        "type": {
          "description": "The type of the table resource.",
          "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"
          ],
          "type": "string"
        },
        "table": {
          "type": "string",
          "description": "The fully-qualified resource name of the table resource."
        }
      },
      "id": "GoogleCloudDataplexV1DiscoveryEventTableDetails",
      "type": "object",
      "description": "Details about the published table."
    },
    "GoogleCloudDataplexV1ListEntryGroupsResponse": {
      "properties": {
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        },
        "unreachableLocations": {
          "items": {
            "type": "string"
          },
          "description": "Locations that the service couldn't reach.",
          "type": "array"
        },
        "entryGroups": {
          "type": "array",
          "description": "Entry groups under the given parent location.",
          "items": {
            "$ref": "GoogleCloudDataplexV1EntryGroup"
          }
        }
      },
      "id": "GoogleCloudDataplexV1ListEntryGroupsResponse",
      "description": "List entry groups response.",
      "type": "object"
    },
    "GoogleCloudDataplexV1EntryLinkEvent": {
      "type": "object",
      "description": "Payload associated with Entry related log events.",
      "properties": {
        "eventType": {
          "type": "string",
          "enumDescriptions": [
            "An unspecified event type.",
            "EntryLink create event.",
            "EntryLink delete event."
          ],
          "description": "The type of the event.",
          "enum": [
            "EVENT_TYPE_UNSPECIFIED",
            "ENTRY_LINK_CREATE",
            "ENTRY_LINK_DELETE"
          ]
        },
        "resource": {
          "type": "string",
          "description": "Name of the resource."
        },
        "message": {
          "type": "string",
          "description": "The log message."
        }
      },
      "id": "GoogleCloudDataplexV1EntryLinkEvent"
    },
    "GoogleCloudDataplexV1EntryType": {
      "id": "GoogleCloudDataplexV1EntryType",
      "description": "Entry Type is a template for creating Entries.",
      "properties": {
        "createTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the EntryType was created."
        },
        "typeAliases": {
          "description": "Optional. Indicates the classes this Entry Type belongs to, for example, TABLE, DATABASE, MODEL.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "system": {
          "type": "string",
          "description": "Optional. The system that Entries of this type belongs to. Examples include CloudSQL, MariaDB etc"
        },
        "authorization": {
          "$ref": "GoogleCloudDataplexV1EntryTypeAuthorization",
          "description": "Immutable. Authorization defined for this type."
        },
        "uid": {
          "type": "string",
          "readOnly": true,
          "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."
        },
        "name": {
          "readOnly": true,
          "description": "Output only. The relative resource name of the EntryType, of the form: projects/{project_number}/locations/{location_id}/entryTypes/{entry_type_id}.",
          "type": "string"
        },
        "displayName": {
          "description": "Optional. User friendly display name.",
          "type": "string"
        },
        "labels": {
          "type": "object",
          "description": "Optional. User-defined labels for the EntryType.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "platform": {
          "description": "Optional. The platform that Entries of this type belongs to.",
          "type": "string"
        },
        "description": {
          "description": "Optional. Description of the EntryType.",
          "type": "string"
        },
        "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"
        },
        "requiredAspects": {
          "description": "AspectInfo for the entry type.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDataplexV1EntryTypeAspectInfo"
          }
        },
        "updateTime": {
          "type": "string",
          "description": "Output only. The time when the EntryType was last updated.",
          "readOnly": true,
          "format": "google-datetime"
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1DataScanEventDataProfileAppliedConfigs": {
      "id": "GoogleCloudDataplexV1DataScanEventDataProfileAppliedConfigs",
      "type": "object",
      "description": "Applied configs for data profile type data scan job.",
      "properties": {
        "columnFilterApplied": {
          "description": "Boolean indicating whether a column filter was applied in the DataScan job.",
          "type": "boolean"
        },
        "rowFilterApplied": {
          "type": "boolean",
          "description": "Boolean indicating whether a row filter was applied in the DataScan job."
        },
        "samplingPercent": {
          "format": "float",
          "type": "number",
          "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."
        }
      }
    },
    "GoogleCloudDataplexV1GenerateDataQualityRulesRequest": {
      "description": "Request details for generating data quality rule recommendations.",
      "type": "object",
      "id": "GoogleCloudDataplexV1GenerateDataQualityRulesRequest",
      "properties": {}
    },
    "GoogleCloudDataplexV1DataQualityResultPostScanActionsResultBigQueryExportResult": {
      "properties": {
        "state": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Execution state for the BigQuery exporting.",
          "enum": [
            "STATE_UNSPECIFIED",
            "SUCCEEDED",
            "FAILED",
            "SKIPPED"
          ],
          "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)."
          ]
        },
        "message": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Additional information about the BigQuery exporting."
        }
      },
      "description": "The result of BigQuery export post scan action.",
      "type": "object",
      "id": "GoogleCloudDataplexV1DataQualityResultPostScanActionsResultBigQueryExportResult"
    },
    "GoogleCloudDataplexV1DataQualitySpecPostScanActionsNotificationReport": {
      "type": "object",
      "id": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsNotificationReport",
      "description": "The configuration of notification report post scan action.",
      "properties": {
        "jobFailureTrigger": {
          "description": "Optional. If set, report will be sent when a scan job fails.",
          "$ref": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsJobFailureTrigger"
        },
        "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."
        },
        "scoreThresholdTrigger": {
          "description": "Optional. If set, report will be sent when score threshold is met.",
          "$ref": "GoogleCloudDataplexV1DataQualitySpecPostScanActionsScoreThresholdTrigger"
        }
      }
    },
    "GoogleCloudDataplexV1LookupContextResponse": {
      "type": "object",
      "properties": {
        "context": {
          "type": "string",
          "description": "Pre-formatted block of text containing the context for the requested resources."
        }
      },
      "id": "GoogleCloudDataplexV1LookupContextResponse",
      "description": "Lookup Context response."
    },
    "GoogleCloudDataplexV1DataProfileSpecPostScanActions": {
      "type": "object",
      "description": "The configuration of post scan actions of DataProfileScan job.",
      "id": "GoogleCloudDataplexV1DataProfileSpecPostScanActions",
      "properties": {
        "bigqueryExport": {
          "$ref": "GoogleCloudDataplexV1DataProfileSpecPostScanActionsBigQueryExport",
          "description": "Optional. If set, results will be exported to the provided BigQuery table."
        }
      }
    },
    "GoogleCloudDataplexV1AspectType": {
      "id": "GoogleCloudDataplexV1AspectType",
      "description": "AspectType is a template for creating Aspects, and represents the JSON-schema for a given Entry, for example, BigQuery Table Schema.",
      "type": "object",
      "properties": {
        "transferStatus": {
          "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."
          ],
          "readOnly": true,
          "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.",
          "type": "string"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object",
          "description": "Optional. User-defined labels for the AspectType."
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the AspectType."
        },
        "updateTime": {
          "format": "google-datetime",
          "type": "string",
          "readOnly": true,
          "description": "Output only. The time when the AspectType was last updated."
        },
        "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}.",
          "type": "string",
          "readOnly": true
        },
        "displayName": {
          "type": "string",
          "description": "Optional. User friendly display name."
        },
        "createTime": {
          "format": "google-datetime",
          "type": "string",
          "readOnly": true,
          "description": "Output only. The time when the AspectType was created."
        },
        "dataClassification": {
          "enum": [
            "DATA_CLASSIFICATION_UNSPECIFIED",
            "METADATA_AND_DATA"
          ],
          "enumDescriptions": [
            "Denotes that the aspect contains only metadata.",
            "Metadata and data classification."
          ],
          "description": "Optional. Immutable. Stores data classification of the aspect.",
          "type": "string"
        },
        "authorization": {
          "$ref": "GoogleCloudDataplexV1AspectTypeAuthorization",
          "description": "Immutable. Defines the Authorization for this type."
        },
        "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"
        },
        "uid": {
          "readOnly": true,
          "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.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1BatchChangeMetadataRequestDescriptionJob": {
      "properties": {
        "runTime": {
          "format": "google-datetime",
          "description": "Optional. The start time of the job run that created the batch change.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "Optional. The name of the job that created the batch change. For example: projects/{project_number}/locations/{location_id}/enrichmentTasks/{enrichment_task_id}/runs/{enrichment_run_id}"
        }
      },
      "id": "GoogleCloudDataplexV1BatchChangeMetadataRequestDescriptionJob",
      "description": "Description of the job that created the batch change.",
      "type": "object"
    },
    "GoogleCloudDataplexV1EntryTypeAspectInfo": {
      "properties": {
        "type": {
          "type": "string",
          "description": "Required aspect type for the entry type."
        }
      },
      "id": "GoogleCloudDataplexV1EntryTypeAspectInfo",
      "type": "object"
    },
    "GoogleCloudDataplexV1StorageFormatCsvOptions": {
      "type": "object",
      "description": "Describes CSV and similar semi-structured data formats.",
      "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 unspecified."
        },
        "headerRows": {
          "format": "int32",
          "description": "Optional. The number of rows to interpret as header rows that should be skipped when reading data rows. Defaults to 0.",
          "type": "integer"
        },
        "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"
        }
      },
      "id": "GoogleCloudDataplexV1StorageFormatCsvOptions"
    },
    "GoogleCloudDataplexV1AspectTypeMetadataTemplate": {
      "id": "GoogleCloudDataplexV1AspectTypeMetadataTemplate",
      "type": "object",
      "description": "MetadataTemplate definition for an AspectType.",
      "properties": {
        "recordFields": {
          "description": "Optional. Field definition. You must specify it if the type is record. It defines the nested fields.",
          "items": {
            "$ref": "GoogleCloudDataplexV1AspectTypeMetadataTemplate"
          },
          "type": "array"
        },
        "constraints": {
          "description": "Optional. Specifies the constraints on this field.",
          "$ref": "GoogleCloudDataplexV1AspectTypeMetadataTemplateConstraints"
        },
        "enumValues": {
          "items": {
            "$ref": "GoogleCloudDataplexV1AspectTypeMetadataTemplateEnumValue"
          },
          "description": "Optional. The list of values for an enum type. You must define it if the type is enum.",
          "type": "array"
        },
        "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"
        },
        "annotations": {
          "description": "Optional. Specifies annotations on this field.",
          "$ref": "GoogleCloudDataplexV1AspectTypeMetadataTemplateAnnotations"
        },
        "name": {
          "description": "Required. The name of the field.",
          "type": "string"
        },
        "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"
        },
        "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"
        },
        "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"
        },
        "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"
        },
        "index": {
          "format": "int32",
          "type": "integer",
          "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."
        }
      }
    },
    "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.",
      "id": "GoogleTypeExpr",
      "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"
        },
        "description": {
          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
          "type": "string"
        },
        "expression": {
          "description": "Textual representation of an expression in Common Expression Language syntax.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1DataProfileResultProfileField": {
      "properties": {
        "profile": {
          "readOnly": true,
          "$ref": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfo",
          "description": "Output only. Profile information for the corresponding field."
        },
        "mode": {
          "readOnly": true,
          "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."
        },
        "name": {
          "readOnly": true,
          "description": "Output only. The name of the field.",
          "type": "string"
        },
        "type": {
          "readOnly": true,
          "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).",
          "type": "string"
        }
      },
      "type": "object",
      "description": "A field within a table.",
      "id": "GoogleCloudDataplexV1DataProfileResultProfileField"
    },
    "GoogleCloudLocationListLocationsResponse": {
      "type": "object",
      "id": "GoogleCloudLocationListLocationsResponse",
      "properties": {
        "locations": {
          "items": {
            "$ref": "GoogleCloudLocationLocation"
          },
          "description": "A list of locations that matches the specified filter in the request.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        }
      },
      "description": "The response message for Locations.ListLocations."
    },
    "GoogleCloudDataplexV1ActionInvalidDataFormat": {
      "type": "object",
      "description": "Action details for invalid or unsupported data files detected by discovery.",
      "id": "GoogleCloudDataplexV1ActionInvalidDataFormat",
      "properties": {
        "expectedFormat": {
          "description": "The expected data format of the entity.",
          "type": "string"
        },
        "sampledDataLocations": {
          "description": "The list of data locations sampled and used for format/schema inference.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "newFormat": {
          "type": "string",
          "description": "The new unexpected data format within the entity."
        }
      }
    },
    "GoogleCloudDataplexV1BatchChangeMetadataRequestDescription": {
      "id": "GoogleCloudDataplexV1BatchChangeMetadataRequestDescription",
      "properties": {
        "job": {
          "$ref": "GoogleCloudDataplexV1BatchChangeMetadataRequestDescriptionJob",
          "description": "Optional. The job that created the batch change."
        },
        "content": {
          "description": "Optional. The text description content.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "Description of the batch change."
    },
    "GoogleCloudDataplexV1AssetResourceSpec": {
      "id": "GoogleCloudDataplexV1AssetResourceSpec",
      "type": "object",
      "description": "Identifies the cloud resource that is referenced by this asset.",
      "properties": {
        "readAccessMode": {
          "description": "Optional. Determines how read permissions are handled for each asset and their associated tables. Only available to storage buckets assets.",
          "enum": [
            "ACCESS_MODE_UNSPECIFIED",
            "DIRECT",
            "MANAGED"
          ],
          "enumDescriptions": [
            "Access mode unspecified.",
            "Default. Data is accessed directly using storage APIs.",
            "Data is accessed through a managed interface using BigQuery APIs."
          ],
          "type": "string"
        },
        "name": {
          "type": "string",
          "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": {
          "description": "Required. Immutable. Type of resource.",
          "enumDescriptions": [
            "Type not specified.",
            "Cloud Storage bucket.",
            "BigQuery dataset."
          ],
          "type": "string",
          "enum": [
            "TYPE_UNSPECIFIED",
            "STORAGE_BUCKET",
            "BIGQUERY_DATASET"
          ]
        }
      }
    },
    "GoogleCloudDataplexV1DataQualityRuleRuleSource": {
      "id": "GoogleCloudDataplexV1DataQualityRuleRuleSource",
      "type": "object",
      "properties": {
        "rulePathElements": {
          "type": "array",
          "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"
          }
        }
      },
      "description": "Represents the rule source information from Catalog."
    },
    "GoogleCloudDataplexV1ListActionsResponse": {
      "description": "List actions response.",
      "properties": {
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        },
        "actions": {
          "items": {
            "$ref": "GoogleCloudDataplexV1Action"
          },
          "description": "Actions under the given parent lake/zone/asset.",
          "type": "array"
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1ListActionsResponse"
    },
    "GoogleCloudDataplexV1DeleteEntryLinkRequest": {
      "properties": {
        "name": {
          "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}.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDataplexV1DeleteEntryLinkRequest",
      "type": "object",
      "description": "Request message for DeleteEntryLink."
    },
    "GoogleCloudDataplexV1EncryptionConfig": {
      "description": "A Resource designed to manage encryption configurations for customers to support Customer Managed Encryption Keys (CMEK).",
      "type": "object",
      "id": "GoogleCloudDataplexV1EncryptionConfig",
      "properties": {
        "name": {
          "type": "string",
          "description": "Identifier. The resource name of the EncryptionConfig. Format: organizations/{organization}/locations/{location}/encryptionConfigs/{encryption_config} Global location is not supported."
        },
        "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"
        },
        "updateTime": {
          "type": "string",
          "description": "Output only. The time when the Encryption configuration was last updated.",
          "readOnly": true,
          "format": "google-datetime"
        },
        "failureDetails": {
          "readOnly": true,
          "description": "Output only. Details of the failure if anything related to Cmek db fails.",
          "$ref": "GoogleCloudDataplexV1EncryptionConfigFailureDetails"
        },
        "etag": {
          "description": "Etag of the EncryptionConfig. This is a strong etag.",
          "type": "string"
        },
        "enableMetastoreEncryption": {
          "description": "Optional. Represent the state of CMEK opt-in for metastore.",
          "type": "boolean"
        },
        "createTime": {
          "description": "Output only. The time when the Encryption configuration was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "encryptionState": {
          "type": "string",
          "enum": [
            "ENCRYPTION_STATE_UNSPECIFIED",
            "ENCRYPTING",
            "COMPLETED",
            "FAILED"
          ],
          "readOnly": true,
          "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."
          ],
          "description": "Output only. The state of encryption of the databases."
        }
      }
    },
    "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."
    },
    "GoogleCloudDataplexV1CreateEntryRequest": {
      "description": "Create Entry request.",
      "properties": {
        "entry": {
          "$ref": "GoogleCloudDataplexV1Entry",
          "description": "Required. Entry resource."
        },
        "parent": {
          "type": "string",
          "description": "Required. The resource name of the parent Entry Group: projects/{project}/locations/{location}/entryGroups/{entry_group}."
        },
        "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.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleCloudDataplexV1CreateEntryRequest"
    },
    "GoogleCloudDataplexV1TriggerOneTime": {
      "description": "The scan runs once using create API.",
      "id": "GoogleCloudDataplexV1TriggerOneTime",
      "type": "object",
      "properties": {
        "ttlAfterScanCompletion": {
          "format": "google-duration",
          "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"
        }
      }
    },
    "GoogleCloudDataplexV1ChangeRequest": {
      "type": "object",
      "properties": {
        "createEntry": {
          "$ref": "GoogleCloudDataplexV1CreateEntryRequest",
          "description": "Payload for creating an Entry."
        },
        "rejectionComment": {
          "description": "Output only. The reason provided for rejecting the ChangeRequest.",
          "readOnly": true,
          "type": "string"
        },
        "createGlossaryCategory": {
          "description": "Payload for creating a GlossaryCategory.",
          "$ref": "GoogleCloudDataplexV1CreateGlossaryCategoryRequest"
        },
        "deleteGlossaryTerm": {
          "description": "Payload for deleting a GlossaryTerm.",
          "$ref": "GoogleCloudDataplexV1DeleteGlossaryTermRequest"
        },
        "deleteEntry": {
          "description": "Payload for deleting an Entry.",
          "$ref": "GoogleCloudDataplexV1DeleteEntryRequest"
        },
        "createTime": {
          "format": "google-datetime",
          "readOnly": true,
          "type": "string",
          "description": "Output only. The time when the ChangeRequest was created."
        },
        "createGlossary": {
          "description": "Payload for creating a Glossary.",
          "$ref": "GoogleCloudDataplexV1CreateGlossaryRequest"
        },
        "justification": {
          "description": "Optional. Justification of the ChangeRequest. This should explain why the change is needed or why it should be approved.",
          "type": "string"
        },
        "resource": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The full resource name of the target resource to be modified. Example: //dataplex.googleapis.com/projects/my-project/locations/us-central1/entryGroups/my-group/entries/my-entry"
        },
        "updateGlossaryTerm": {
          "$ref": "GoogleCloudDataplexV1UpdateGlossaryTermRequest",
          "description": "Payload for updating a GlossaryTerm."
        },
        "updateTime": {
          "description": "Output only. The time when the ChangeRequest was last updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "deleteEntryLink": {
          "description": "Payload for deleting an EntryLink.",
          "$ref": "GoogleCloudDataplexV1DeleteEntryLinkRequest"
        },
        "state": {
          "readOnly": true,
          "enum": [
            "STATE_UNSPECIFIED",
            "NEW",
            "APPROVED",
            "REJECTED",
            "EXPIRED",
            "REVOKED",
            "APPLYING",
            "FAILED"
          ],
          "type": "string",
          "enumDescriptions": [
            "State unspecified.",
            "The change is proposed and new.",
            "The change has been approved.",
            "The change has been rejected.",
            "The change request has expired.",
            "The approved change has been revoked.",
            "The change request has been approved and changes are currently being applied.",
            "The change request execution failed."
          ],
          "description": "Output only. The current state of the ChangeRequest."
        },
        "approver": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The email address of the user who approved/rejected the ChangeRequest."
        },
        "createGlossaryTerm": {
          "description": "Payload for creating a GlossaryTerm.",
          "$ref": "GoogleCloudDataplexV1CreateGlossaryTermRequest"
        },
        "updateGlossaryCategory": {
          "description": "Payload for updating a GlossaryCategory.",
          "$ref": "GoogleCloudDataplexV1UpdateGlossaryCategoryRequest"
        },
        "author": {
          "type": "string",
          "description": "Output only. The email address of the user who created the ChangeRequest.",
          "readOnly": true
        },
        "labels": {
          "type": "object",
          "description": "Optional. User-defined labels for the ChangeRequest.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "name": {
          "description": "Identifier. The relative resource name of the ChangeRequest, of the form: projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id}",
          "type": "string"
        },
        "changeType": {
          "enum": [
            "CHANGE_TYPE_UNSPECIFIED",
            "CREATE_ENTRY",
            "UPDATE_ENTRY",
            "DELETE_ENTRY",
            "CREATE_ENTRY_LINK",
            "DELETE_ENTRY_LINK",
            "CREATE_GLOSSARY",
            "UPDATE_GLOSSARY",
            "DELETE_GLOSSARY",
            "CREATE_GLOSSARY_CATEGORY",
            "UPDATE_GLOSSARY_CATEGORY",
            "DELETE_GLOSSARY_CATEGORY",
            "CREATE_GLOSSARY_TERM",
            "UPDATE_GLOSSARY_TERM",
            "DELETE_GLOSSARY_TERM",
            "REQUEST_DATA_PRODUCT_ACCESS",
            "BATCH_CHANGE_METADATA"
          ],
          "enumDescriptions": [
            "State unspecified.",
            "Request to create an Entry.",
            "Request to update an Entry.",
            "Request to delete an Entry.",
            "Request to create an EntryLink.",
            "Request to delete an EntryLink.",
            "Request to create a Glossary.",
            "Request to update a Glossary.",
            "Request to delete a Glossary.",
            "Request to create a GlossaryCategory.",
            "Request to update a GlossaryCategory.",
            "Request to delete a GlossaryCategory.",
            "Request to create a GlossaryTerm.",
            "Request to update a GlossaryTerm.",
            "Request to delete a GlossaryTerm.",
            "Request to request Data Product access.",
            "Request to execute a batch of catalog changes."
          ],
          "type": "string",
          "readOnly": true,
          "description": "Output only. The type of change represented by the change_payload. This field is derived from the populated field in the change_payload oneof."
        },
        "batchChangeMetadataRequest": {
          "$ref": "GoogleCloudDataplexV1BatchChangeMetadataRequest",
          "description": "Payload for executing a batch of catalog changes."
        },
        "updateGlossary": {
          "description": "Payload for updating a Glossary.",
          "$ref": "GoogleCloudDataplexV1UpdateGlossaryRequest"
        },
        "createEntryLink": {
          "$ref": "GoogleCloudDataplexV1CreateEntryLinkRequest",
          "description": "Payload for creating an EntryLink."
        },
        "batchChangeMetadataResponse": {
          "$ref": "GoogleCloudDataplexV1BatchChangeMetadataResponse",
          "description": "Output only. Result of applying a batch change metadata request.",
          "readOnly": true
        },
        "deleteGlossary": {
          "$ref": "GoogleCloudDataplexV1DeleteGlossaryRequest",
          "description": "Payload for deleting a Glossary."
        },
        "updateEntry": {
          "$ref": "GoogleCloudDataplexV1UpdateEntryRequest",
          "description": "Payload for updating an Entry."
        },
        "uid": {
          "readOnly": true,
          "description": "Output only. System generated globally unique ID for the ChangeRequest.",
          "type": "string"
        },
        "etag": {
          "description": "Optional. This checksum is computed by the service. It can be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.",
          "type": "string"
        },
        "reviewerComment": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The comment provided by the reviewer when approving or rejecting the ChangeRequest. Maximum length is 1024 characters."
        },
        "dataProductAccessRequest": {
          "$ref": "GoogleCloudDataplexV1DataProductAccessRequest",
          "description": "Payload for Data Product access request."
        },
        "deleteGlossaryCategory": {
          "description": "Payload for deleting a GlossaryCategory.",
          "$ref": "GoogleCloudDataplexV1DeleteGlossaryCategoryRequest"
        }
      },
      "id": "GoogleCloudDataplexV1ChangeRequest",
      "description": "Represents a proposed change to a metadata resource."
    },
    "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoIntegerFieldInfo": {
      "type": "object",
      "description": "The profile information for an integer type field.",
      "properties": {
        "standardDeviation": {
          "format": "double",
          "readOnly": true,
          "type": "number",
          "description": "Output only. Standard deviation of non-null values in the scanned data. NaN, if the field has a NaN."
        },
        "average": {
          "readOnly": true,
          "format": "double",
          "type": "number",
          "description": "Output only. Average of non-null values in the scanned data. NaN, if the field has a NaN."
        },
        "min": {
          "description": "Output only. Minimum of non-null values in the scanned data. NaN, if the field has a NaN.",
          "format": "int64",
          "type": "string",
          "readOnly": true
        },
        "max": {
          "description": "Output only. Maximum of non-null values in the scanned data. NaN, if the field has a NaN.",
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "quartiles": {
          "readOnly": true,
          "items": {
            "format": "int64",
            "type": "string"
          },
          "type": "array",
          "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."
        }
      },
      "id": "GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoIntegerFieldInfo"
    },
    "GoogleCloudDataplexV1DataQualityRuleTemplateReference": {
      "type": "object",
      "properties": {
        "values": {
          "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"
          },
          "type": "object"
        },
        "resolvedSql": {
          "description": "Output only. The resolved SQL statement generated from the template with parameters substituted. It is only populated in the result.",
          "readOnly": true,
          "type": "string"
        },
        "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": {
          "$ref": "GoogleCloudDataplexV1DataQualityRuleTemplate",
          "description": "Output only. The rule template used to resolve the rule. It is only populated in the result.",
          "readOnly": true
        }
      },
      "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",
      "id": "GoogleCloudDataplexV1DataQualityRuleTemplateReference"
    },
    "GoogleCloudDataplexV1DataProfileResultProfile": {
      "id": "GoogleCloudDataplexV1DataProfileResultProfile",
      "type": "object",
      "description": "Contains name, type, mode and field type specific profile information.",
      "properties": {
        "fields": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDataplexV1DataProfileResultProfileField"
          },
          "description": "Output only. List of fields with structural and profile information for each field.",
          "readOnly": true
        }
      }
    },
    "GoogleIamV1SetIamPolicyRequest": {
      "properties": {
        "policy": {
          "description": "REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them.",
          "$ref": "GoogleIamV1Policy"
        },
        "updateMask": {
          "type": "string",
          "format": "google-fieldmask",
          "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\""
        }
      },
      "id": "GoogleIamV1SetIamPolicyRequest",
      "type": "object",
      "description": "Request message for SetIamPolicy method."
    },
    "GoogleCloudDataplexV1MetadataFeedFilters": {
      "properties": {
        "aspectTypes": {
          "items": {
            "type": "string"
          },
          "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}.",
          "type": "array"
        },
        "entryTypes": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "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."
        },
        "changeTypes": {
          "description": "Optional. The type of change that you want to listen to. If not specified, all changes are published.",
          "items": {
            "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"
            ],
            "type": "string"
          },
          "type": "array"
        }
      },
      "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",
      "id": "GoogleCloudDataplexV1MetadataFeedFilters"
    },
    "GoogleCloudDataplexV1ListEntryTypesResponse": {
      "id": "GoogleCloudDataplexV1ListEntryTypesResponse",
      "description": "List EntryTypes response.",
      "properties": {
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        },
        "entryTypes": {
          "items": {
            "$ref": "GoogleCloudDataplexV1EntryType"
          },
          "description": "EntryTypes under the given parent location.",
          "type": "array"
        },
        "unreachableLocations": {
          "description": "Locations that the service couldn't reach.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1DataSource": {
      "description": "The data source for DataScan.",
      "properties": {
        "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"
        },
        "entity": {
          "type": "string",
          "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": "object",
      "id": "GoogleCloudDataplexV1DataSource"
    },
    "GoogleCloudDataplexV1TaskInfrastructureSpecContainerImageRuntime": {
      "properties": {
        "pythonPackages": {
          "items": {
            "type": "string"
          },
          "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"
        },
        "properties": {
          "additionalProperties": {
            "type": "string"
          },
          "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).",
          "type": "object"
        },
        "image": {
          "type": "string",
          "description": "Optional. Container image to use."
        },
        "javaJars": {
          "type": "array",
          "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"
          }
        }
      },
      "description": "Container Image Runtime Configuration used with Batch execution.",
      "id": "GoogleCloudDataplexV1TaskInfrastructureSpecContainerImageRuntime",
      "type": "object"
    },
    "GoogleCloudDataplexV1AssetDiscoverySpecJsonOptions": {
      "id": "GoogleCloudDataplexV1AssetDiscoverySpecJsonOptions",
      "type": "object",
      "properties": {
        "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)."
        },
        "encoding": {
          "description": "Optional. The character encoding of the data. The default is UTF-8.",
          "type": "string"
        }
      },
      "description": "Describe JSON data format."
    },
    "GoogleCloudDataplexV1DiscoveryEventEntityDetails": {
      "description": "Details about the entity.",
      "id": "GoogleCloudDataplexV1DiscoveryEventEntityDetails",
      "type": "object",
      "properties": {
        "entity": {
          "description": "The name of the entity resource. The name is the fully-qualified resource name.",
          "type": "string"
        },
        "type": {
          "enum": [
            "ENTITY_TYPE_UNSPECIFIED",
            "TABLE",
            "FILESET"
          ],
          "enumDescriptions": [
            "An unspecified event type.",
            "Entities representing structured data.",
            "Entities representing unstructured data."
          ],
          "description": "The type of the entity resource.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigJsonOptions": {
      "description": "Describes JSON data format.",
      "id": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigJsonOptions",
      "properties": {
        "encoding": {
          "type": "string",
          "description": "Optional. The character encoding of the data. The default is UTF-8."
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleCloudDataplexV1AspectTypeMetadataTemplateConstraints": {
      "id": "GoogleCloudDataplexV1AspectTypeMetadataTemplateConstraints",
      "properties": {
        "required": {
          "description": "Optional. Marks this field as optional or required.",
          "type": "boolean"
        }
      },
      "description": "Definition of the constraints of a field.",
      "type": "object"
    }
  },
  "revision": "20261012",
  "description": "A unified, intelligent governance solution for data and AI assets.",
  "documentationLink": "https://cloud.google.com/dataplex/docs",
  "ownerName": "Google",
  "protocol": "rest",
  "ownerDomain": "google.com",
  "parameters": {
    "access_token": {
      "location": "query",
      "description": "OAuth access token.",
      "type": "string"
    },
    "alt": {
      "type": "string",
      "location": "query",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "default": "json",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "description": "Data format for response."
    },
    "uploadType": {
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth 2.0 token for the current user."
    },
    "$.xgafv": {
      "location": "query",
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "enum": [
        "1",
        "2"
      ],
      "description": "V1 error format."
    },
    "fields": {
      "location": "query",
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string"
    },
    "key": {
      "type": "string",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query"
    },
    "prettyPrint": {
      "description": "Returns response with indentations and line breaks.",
      "default": "true",
      "type": "boolean",
      "location": "query"
    },
    "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."
    }
  },
  "mtlsRootUrl": "https://dataplex.mtls.googleapis.com/",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
        },
        "https://www.googleapis.com/auth/dataplex.readonly": {
          "description": "See your Google Cloud Dataplex data and 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.read-only": {
          "description": "View your data across Google Cloud services and see the email address of your Google Account"
        }
      }
    }
  }
}
