{
  "discoveryVersion": "v1",
  "kind": "discovery#restDescription",
  "basePath": "",
  "fullyEncodeReservedExpansion": true,
  "version_module": true,
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "protocol": "rest",
  "parameters": {
    "prettyPrint": {
      "type": "boolean",
      "location": "query",
      "description": "Returns response with indentations and line breaks.",
      "default": "true"
    },
    "fields": {
      "type": "string",
      "location": "query",
      "description": "Selector specifying which fields to include in a partial response."
    },
    "$.xgafv": {
      "type": "string",
      "location": "query",
      "description": "V1 error format.",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "enum": [
        "1",
        "2"
      ]
    },
    "quotaUser": {
      "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.",
      "type": "string",
      "location": "query"
    },
    "access_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth access token."
    },
    "alt": {
      "description": "Data format for response.",
      "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"
      ],
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "type": "string",
      "location": "query"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "type": "string",
      "location": "query"
    },
    "upload_protocol": {
      "type": "string",
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "callback": {
      "type": "string",
      "location": "query",
      "description": "JSONP"
    },
    "uploadType": {
      "type": "string",
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "type": "string",
      "location": "query"
    }
  },
  "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/datalineage.readonly": {
          "description": "See your Google Cloud Data Lineage data and the email address of your Google Account"
        },
        "https://www.googleapis.com/auth/datalineage.read-write": {
          "description": "See, edit, configure, and delete your Google Cloud Data Lineage data and see the email address for your Google Account"
        }
      }
    }
  },
  "canonicalName": "Datalineage",
  "endpoints": [
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.africa-south1.rep.googleapis.com/",
      "location": "africa-south1"
    },
    {
      "endpointUrl": "https://datalineage.asia-east1.rep.googleapis.com/",
      "location": "asia-east1",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://datalineage.asia-east2.rep.googleapis.com/",
      "location": "asia-east2",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://datalineage.asia-northeast1.rep.googleapis.com/",
      "location": "asia-northeast1",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.asia-northeast2.rep.googleapis.com/",
      "location": "asia-northeast2"
    },
    {
      "endpointUrl": "https://datalineage.asia-northeast3.rep.googleapis.com/",
      "location": "asia-northeast3",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://datalineage.asia-south1.rep.googleapis.com/",
      "location": "asia-south1",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.asia-south2.rep.googleapis.com/",
      "location": "asia-south2"
    },
    {
      "endpointUrl": "https://datalineage.asia-southeast1.rep.googleapis.com/",
      "location": "asia-southeast1",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://datalineage.asia-southeast2.rep.googleapis.com/",
      "location": "asia-southeast2",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://datalineage.asia-southeast3.rep.googleapis.com/",
      "location": "asia-southeast3",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.australia-southeast1.rep.googleapis.com/",
      "location": "australia-southeast1"
    },
    {
      "endpointUrl": "https://datalineage.australia-southeast2.rep.googleapis.com/",
      "location": "australia-southeast2",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.europe-central2.rep.googleapis.com/",
      "location": "europe-central2"
    },
    {
      "endpointUrl": "https://datalineage.europe-north1.rep.googleapis.com/",
      "location": "europe-north1",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://datalineage.europe-north2.rep.googleapis.com/",
      "location": "europe-north2",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.europe-north3.rep.googleapis.com/",
      "location": "europe-north3"
    },
    {
      "endpointUrl": "https://datalineage.europe-southwest1.rep.googleapis.com/",
      "location": "europe-southwest1",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.europe-west1.rep.googleapis.com/",
      "location": "europe-west1"
    },
    {
      "endpointUrl": "https://datalineage.europe-west10.rep.googleapis.com/",
      "location": "europe-west10",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://datalineage.europe-west12.rep.googleapis.com/",
      "location": "europe-west12",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.europe-west15.rep.googleapis.com/",
      "location": "europe-west15"
    },
    {
      "endpointUrl": "https://datalineage.europe-west2.rep.googleapis.com/",
      "location": "europe-west2",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.europe-west3.rep.googleapis.com/",
      "location": "europe-west3"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.europe-west4.rep.googleapis.com/",
      "location": "europe-west4"
    },
    {
      "endpointUrl": "https://datalineage.europe-west6.rep.googleapis.com/",
      "location": "europe-west6",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.europe-west8.rep.googleapis.com/",
      "location": "europe-west8"
    },
    {
      "endpointUrl": "https://datalineage.europe-west9.rep.googleapis.com/",
      "location": "europe-west9",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.me-central1.rep.googleapis.com/",
      "location": "me-central1"
    },
    {
      "endpointUrl": "https://datalineage.me-central2.rep.googleapis.com/",
      "location": "me-central2",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://datalineage.me-west1.rep.googleapis.com/",
      "location": "me-west1",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://datalineage.northamerica-northeast1.rep.googleapis.com/",
      "location": "northamerica-northeast1",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.northamerica-northeast2.rep.googleapis.com/",
      "location": "northamerica-northeast2"
    },
    {
      "endpointUrl": "https://datalineage.northamerica-south1.rep.googleapis.com/",
      "location": "northamerica-south1",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://datalineage.southamerica-east1.rep.googleapis.com/",
      "location": "southamerica-east1",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.southamerica-west1.rep.googleapis.com/",
      "location": "southamerica-west1"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.us-central1.rep.googleapis.com/",
      "location": "us-central1"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.us-central2.rep.googleapis.com/",
      "location": "us-central2"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.us-east1.rep.googleapis.com/",
      "location": "us-east1"
    },
    {
      "endpointUrl": "https://datalineage.us-east4.rep.googleapis.com/",
      "location": "us-east4",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.us-east5.rep.googleapis.com/",
      "location": "us-east5"
    },
    {
      "endpointUrl": "https://datalineage.us-east7.rep.googleapis.com/",
      "location": "us-east7",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.us-south1.rep.googleapis.com/",
      "location": "us-south1"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.us-west1.rep.googleapis.com/",
      "location": "us-west1"
    },
    {
      "endpointUrl": "https://datalineage.us-west2.rep.googleapis.com/",
      "location": "us-west2",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.us-west3.rep.googleapis.com/",
      "location": "us-west3"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://datalineage.us-west4.rep.googleapis.com/",
      "location": "us-west4"
    },
    {
      "endpointUrl": "https://datalineage.us-west8.rep.googleapis.com/",
      "location": "us-west8",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://datalineage.us.rep.googleapis.com/",
      "location": "us",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://datalineage.eu.rep.googleapis.com/",
      "location": "eu",
      "description": "Regional Endpoint"
    }
  ],
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "version": "v1",
  "documentationLink": "https://cloud.google.com/data-catalog",
  "description": "",
  "schemas": {
    "GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestionIngestionRuleIntegrationSelector": {
      "id": "GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestionIngestionRuleIntegrationSelector",
      "description": "Integration selector of the rule. The rule is only applied to the Integration selected by the selector.",
      "properties": {
        "integration": {
          "enum": [
            "INTEGRATION_UNSPECIFIED",
            "BIGQUERY",
            "DATAPROC",
            "LOOKER_CORE",
            "MANAGED_AIRFLOW"
          ],
          "description": "Required. Integration to which the rule applies. This field can be used to specify the integration against which the ingestion rule should be applied.",
          "enumDescriptions": [
            "Integration is Unspecified",
            "BigQuery",
            "Dataproc",
            "Looker Core",
            "Managed Service for Apache Airflow (formerly known as Cloud Composer)"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudDatacatalogLineageV1Process": {
      "type": "object",
      "id": "GoogleCloudDatacatalogLineageV1Process",
      "description": "A process is the definition of a data transformation operation.",
      "properties": {
        "name": {
          "description": "Immutable. The resource name of the lineage process. Format: `projects/{project}/locations/{location}/processes/{process}`. Can be specified or auto-assigned. {process} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.`",
          "type": "string"
        },
        "origin": {
          "description": "Optional. The origin of this process and its runs and lineage events.",
          "$ref": "GoogleCloudDatacatalogLineageV1Origin"
        },
        "displayName": {
          "description": "Optional. A human-readable name you can set to display in a user interface. Must be not longer than 200 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.`",
          "type": "string"
        },
        "attributes": {
          "type": "object",
          "description": "Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed.",
          "additionalProperties": {
            "type": "any"
          }
        }
      }
    },
    "GoogleCloudDatacatalogLineageConfigmanagementV1Config": {
      "properties": {
        "ingestion": {
          "description": "Optional. Ingestion rule for Data Lineage ingestion.",
          "$ref": "GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestion"
        },
        "etag": {
          "description": "Optional. `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a config from overwriting each other. It is required that systems make use of the `etag` in the read-modify-write cycle to perform config updates in order to avoid race conditions: An `etag` is returned in the response to `GetConfig`, and systems are expected to put that etag in the request to `UpdateConfig` to ensure that their change will be applied to the same version of the config. If an `etag` is not provided in the call to `UpdateConfig`, then the existing config, if any, will be overwritten.",
          "type": "string"
        },
        "name": {
          "description": "Identifier. The resource name of the config. Format: `organizations/{organization_id}/locations/global/config` `folders/{folder_id}/locations/global/config` `projects/{project_id}/locations/global/config` `projects/{project_number}/locations/global/config`",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogLineageConfigmanagementV1Config",
      "description": "Configuration for Data Lineage. Defines different configuration options for Lineage customers to control behaviour of lineage systems.",
      "type": "object"
    },
    "GoogleCloudDatacatalogLineageV1Run": {
      "properties": {
        "attributes": {
          "type": "object",
          "description": "Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed.",
          "additionalProperties": {
            "type": "any"
          }
        },
        "startTime": {
          "description": "Required. The timestamp of the start of the run.",
          "format": "google-datetime",
          "type": "string"
        },
        "displayName": {
          "description": "Optional. A human-readable name you can set to display in a user interface. Must be not longer than 200 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.`",
          "type": "string"
        },
        "state": {
          "description": "Required. The state of the run.",
          "enumDescriptions": [
            "The state is unknown. The true state may be any of the below or a different state that is not supported here explicitly.",
            "The run is still executing.",
            "The run completed.",
            "The run failed.",
            "The run aborted."
          ],
          "enum": [
            "UNKNOWN",
            "STARTED",
            "COMPLETED",
            "FAILED",
            "ABORTED"
          ],
          "type": "string"
        },
        "name": {
          "description": "Immutable. The resource name of the run. Format: `projects/{project}/locations/{location}/processes/{process}/runs/{run}`. Can be specified or auto-assigned. {run} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.`",
          "type": "string"
        },
        "endTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Optional. The timestamp of the end of the run."
        }
      },
      "id": "GoogleCloudDatacatalogLineageV1Run",
      "description": "A lineage run represents an execution of a process that creates lineage events.",
      "type": "object"
    },
    "GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesRequest": {
      "properties": {
        "pageSize": {
          "description": "Optional. The maximum number of processes to return in a single page of the response. A page may contain fewer results than this value.",
          "type": "integer",
          "format": "int32"
        },
        "pageToken": {
          "description": "Optional. The page token received from a previous `BatchSearchLinkProcesses` call. Use it to get the next page. When requesting subsequent pages of a response, remember that all parameters must match the values you provided in the original request.",
          "type": "string"
        },
        "links": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Required. An array of links to check for their associated LineageProcesses. The maximum number of items in this array is 100. If the request contains more than 100 links, it returns the `INVALID_ARGUMENT` error. Format: `projects/{project}/locations/{location}/links/{link}`."
        }
      },
      "id": "GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesRequest",
      "description": "Request message for BatchSearchLinkProcesses.",
      "type": "object"
    },
    "GoogleCloudDatacatalogLineageV1LineageLink": {
      "type": "object",
      "properties": {
        "target": {
          "description": "The entity that is the **target** of this link.",
          "$ref": "GoogleCloudDatacatalogLineageV1EntityReference"
        },
        "source": {
          "description": "The entity that is the **source** of this link.",
          "$ref": "GoogleCloudDatacatalogLineageV1EntityReference"
        },
        "dependencyInfo": {
          "description": "Describes how the target entity is dependent on the source entity.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogLineageV1LineageLinkDependencyInfo"
          }
        },
        "processes": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogLineageV1LineageLinkLineageProcess"
          },
          "description": "Processes metadata associated with the link."
        },
        "depth": {
          "description": "Depth of the current link in the graph starting from 1.",
          "format": "int32",
          "type": "integer"
        },
        "location": {
          "description": "The location where the LineageEvent that created the link is stored.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogLineageV1LineageLink",
      "description": "Lineage link between two entities."
    },
    "GoogleLongrunningCancelOperationRequest": {
      "properties": {},
      "id": "GoogleLongrunningCancelOperationRequest",
      "description": "The request message for Operations.CancelOperation.",
      "type": "object"
    },
    "GoogleCloudDatacatalogLineageV1SearchLineageStreamingRequestRootCriteria": {
      "type": "object",
      "id": "GoogleCloudDatacatalogLineageV1SearchLineageStreamingRequestRootCriteria",
      "description": "Criteria for the root of the search.",
      "properties": {
        "entities": {
          "$ref": "GoogleCloudDatacatalogLineageV1MultipleEntityReference",
          "description": "Optional. The entities to initiate the search from. Entities can be specified by FQN only, or by FQN and field. To search by FQN and all available fields for that FQN, use the wildcard `*` as the field value."
        }
      }
    },
    "GoogleCloudDatacatalogLineageV1Link": {
      "properties": {
        "target": {
          "$ref": "GoogleCloudDatacatalogLineageV1EntityReference",
          "description": "The pointer to the entity that is the **target** of this link."
        },
        "source": {
          "$ref": "GoogleCloudDatacatalogLineageV1EntityReference",
          "description": "The pointer to the entity that is the **source** of this link."
        },
        "dependencyInfo": {
          "description": "Optional. The dependency info of the link (applies only to column level links).",
          "items": {
            "$ref": "GoogleCloudDatacatalogLineageV1LinkDependencyInfo"
          },
          "type": "array"
        },
        "startTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "The start of the first event establishing this link."
        },
        "name": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Immutable. The name of the link. Format: `projects/{project}/locations/{location}/links/{link}`."
        },
        "endTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "The end of the last event establishing this link."
        }
      },
      "id": "GoogleCloudDatacatalogLineageV1Link",
      "description": "Links represent the data flow between **source** (upstream) and **target** (downstream) assets in transformation pipelines. Links are created when LineageEvents record data transformation between related assets.",
      "type": "object"
    },
    "GoogleCloudDatacatalogLineageV1LineageLinkDependencyInfo": {
      "id": "GoogleCloudDatacatalogLineageV1LineageLinkDependencyInfo",
      "description": "Dependency info describes how one entity is dependent on another.",
      "properties": {
        "dependencyType": {
          "type": "string",
          "enum": [
            "DEPENDENCY_TYPE_UNSPECIFIED",
            "EXACT_COPY",
            "OTHER"
          ],
          "description": "The type of dependency.",
          "enumDescriptions": [
            "Dependency type unspecified.",
            "Exact data copy without any change.",
            "Other types of dependencies like filtering or grouping."
          ]
        }
      },
      "type": "object"
    },
    "GoogleCloudDatacatalogLineageV1DependencyInfo": {
      "properties": {
        "dependencyType": {
          "type": "string",
          "description": "Required. Type of dependency.",
          "enumDescriptions": [
            "Dependency type unspecified.",
            "Exact data copy without any change.",
            "Other types of dependencies like filtering or grouping."
          ],
          "enum": [
            "DEPENDENCY_TYPE_UNSPECIFIED",
            "EXACT_COPY",
            "OTHER"
          ]
        }
      },
      "id": "GoogleCloudDatacatalogLineageV1DependencyInfo",
      "description": "Dependency info describes how one entity depends on another.",
      "type": "object"
    },
    "GoogleCloudDatacatalogLineageV1MultipleEntityReference": {
      "type": "object",
      "id": "GoogleCloudDatacatalogLineageV1MultipleEntityReference",
      "description": "Multiple entity reference for SearchLinksRequest.",
      "properties": {
        "entities": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogLineageV1EntityReference"
          },
          "description": "Optional. The list of entities to search for links. The maximum number of entities is 20."
        }
      }
    },
    "GoogleCloudDatacatalogLineageV1EntityReference": {
      "type": "object",
      "id": "GoogleCloudDatacatalogLineageV1EntityReference",
      "description": "The soft reference to everything you can attach a lineage event to.",
      "properties": {
        "fullyQualifiedName": {
          "description": "Required. [Fully Qualified Name (FQN)](https://cloud.google.com/dataplex/docs/fully-qualified-names) of the entity.",
          "type": "string"
        },
        "field": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional. Field path within the entity. Each nesting level should be a separate value in the repeated field. The order matters. Must be empty for asset level lineage For example to address \"salary.net\" subfield where \"salary\" is a column and \"net\" is a proto field two values in the `field` should be reported, the first is \"salary\" and the second is \"net\". Each field length is limited to 500 characters. Maximum supported nesting level is 20."
        }
      }
    },
    "GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesResponse": {
      "properties": {
        "nextPageToken": {
          "description": "The token to specify as `page_token` in the subsequent call to get the next page. Omitted if there are no more pages in the response.",
          "type": "string"
        },
        "processLinks": {
          "description": "An array of processes associated with the specified links.",
          "items": {
            "$ref": "GoogleCloudDatacatalogLineageV1ProcessLinks"
          },
          "type": "array"
        }
      },
      "id": "GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesResponse",
      "description": "Response message for BatchSearchLinkProcesses.",
      "type": "object"
    },
    "GoogleCloudDatacatalogLineageV1ListLineageEventsResponse": {
      "properties": {
        "lineageEvents": {
          "items": {
            "$ref": "GoogleCloudDatacatalogLineageV1LineageEvent"
          },
          "type": "array",
          "description": "Lineage events from the specified project and location."
        },
        "nextPageToken": {
          "description": "The token to specify as `page_token` in the next call to get the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogLineageV1ListLineageEventsResponse",
      "description": "Response message for ListLineageEvents.",
      "type": "object"
    },
    "GoogleCloudDatacatalogLineageV1LinkDependencyInfo": {
      "id": "GoogleCloudDatacatalogLineageV1LinkDependencyInfo",
      "description": "Dependency info describes how one entity depends on another.",
      "properties": {
        "dependencyType": {
          "description": "The type of dependency.",
          "enumDescriptions": [
            "Dependency type unspecified.",
            "Exact data copy without any change.",
            "Other types of dependencies like filtering or grouping."
          ],
          "enum": [
            "DEPENDENCY_TYPE_UNSPECIFIED",
            "EXACT_COPY",
            "OTHER"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleProtobufEmpty": {
      "properties": {},
      "id": "GoogleProtobufEmpty",
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
      "type": "object"
    },
    "GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestionIngestionRule": {
      "type": "object",
      "id": "GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestionIngestionRule",
      "description": "Ingestion rule for Data Lineage ingestion.",
      "properties": {
        "lineageEnablement": {
          "description": "Required. Lineage enablement configuration. Defines configurations for the ingestion of lineage for the resource and its children. If unspecified, the ingestion will be enabled only if it was configured in the resource's parent.",
          "$ref": "GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestionIngestionRuleLineageEnablement"
        },
        "integrationSelector": {
          "$ref": "GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestionIngestionRuleIntegrationSelector",
          "description": "Required. Integration selector of the rule. The rule is only applied to the Integration selected by the selector."
        }
      }
    },
    "GoogleCloudDatacatalogLineageV1ListProcessesResponse": {
      "type": "object",
      "id": "GoogleCloudDatacatalogLineageV1ListProcessesResponse",
      "description": "Response message for ListProcesses.",
      "properties": {
        "processes": {
          "description": "The processes from the specified project and location.",
          "items": {
            "$ref": "GoogleCloudDatacatalogLineageV1Process"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "The token to specify as `page_token` in the next call to get the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestion": {
      "type": "object",
      "properties": {
        "rules": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestionIngestionRule"
          },
          "description": "Optional. List of rules for Data Lineage ingestion."
        }
      },
      "id": "GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestion",
      "description": "Defines how Lineage should be ingested for a given resource."
    },
    "GoogleRpcStatus": {
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32",
          "type": "integer"
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
          "type": "string"
        },
        "details": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            }
          },
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use."
        }
      },
      "id": "GoogleRpcStatus",
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
      "type": "object"
    },
    "GoogleLongrunningOperation": {
      "type": "object",
      "id": "GoogleLongrunningOperation",
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "properties": {
        "response": {
          "type": "object",
          "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        },
        "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": {
          "$ref": "GoogleRpcStatus",
          "description": "The error result of the operation in case of failure or cancellation."
        },
        "metadata": {
          "type": "object",
          "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."
          }
        },
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudDatacatalogLineageV1SearchLineageStreamingRequestSearchLimits": {
      "type": "object",
      "id": "GoogleCloudDatacatalogLineageV1SearchLineageStreamingRequestSearchLimits",
      "description": "Limits for the search results.",
      "properties": {
        "maxDepth": {
          "description": "Optional. The maximum depth of the search. The default value is 5 and maximum value is 100.",
          "type": "integer",
          "format": "int32"
        },
        "maxResults": {
          "type": "integer",
          "format": "int32",
          "description": "Optional. The maximum number of links to return in the response. The default value is 1_000 and the maximum value is 10_000."
        },
        "maxProcessPerLink": {
          "format": "int32",
          "type": "integer",
          "description": "Optional. The maximum number of processes to return per link. The default value is 0 and the maximum value is 100. If this value is non-zero, the response will contain process names for the links. To retrieve full process details in the response, include `links.processes.process` in the [FieldMask](https://developers.google.com/workspace/docs/api/how-tos/field-masks#read_with_a_field_mask)."
        }
      }
    },
    "GoogleCloudDatacatalogLineageV1ProcessOpenLineageRunEventResponse": {
      "type": "object",
      "id": "GoogleCloudDatacatalogLineageV1ProcessOpenLineageRunEventResponse",
      "description": "Response message for ProcessOpenLineageRunEvent.",
      "properties": {
        "lineageEvents": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Created lineage event names. Format: `projects/{project}/locations/{location}/processes/{process}/runs/{run}/lineageEvents/{lineage_event}`."
        },
        "process": {
          "description": "Created process name. Format: `projects/{project}/locations/{location}/processes/{process}`.",
          "type": "string"
        },
        "run": {
          "description": "Created run name. Format: `projects/{project}/locations/{location}/processes/{process}/runs/{run}`.",
          "type": "string"
        }
      }
    },
    "GoogleCloudDatacatalogLineageV1SearchLinksRequest": {
      "type": "object",
      "properties": {
        "sources": {
          "description": "Optional. Send a list of asset information in the **sources** field to retrieve all links that lead from the specified assets to downstream assets. This field is similar to the `source` source field but allows providing multiple entities. All entities within the `MultipleEntityReference` must have the same `fully_qualified_name`.",
          "$ref": "GoogleCloudDatacatalogLineageV1MultipleEntityReference"
        },
        "targets": {
          "$ref": "GoogleCloudDatacatalogLineageV1MultipleEntityReference",
          "description": "Optional. Send a list of asset information in the **targets** field to retrieve all links that lead from upstream assets to the specified assets. This field is similar to the `target` target field but allows providing multiple entities. All entities within the `MultipleEntityReference` must have the same `fully_qualified_name`."
        },
        "source": {
          "$ref": "GoogleCloudDatacatalogLineageV1EntityReference",
          "description": "Optional. Send asset information in the **source** field to retrieve all links that lead from the specified asset to downstream assets."
        },
        "pageSize": {
          "format": "int32",
          "type": "integer",
          "description": "Optional. The maximum number of links to return in a single page of the response. A page may contain fewer links than this value. If unspecified, at most 10 links are returned. Maximum value is 100; values greater than 100 are reduced to 100."
        },
        "pageToken": {
          "description": "Optional. The page token received from a previous `SearchLinksRequest` call. Use it to get the next page. When requesting subsequent pages of a response, remember that all parameters must match the values you provided in the original request.",
          "type": "string"
        },
        "target": {
          "description": "Optional. Send asset information in the **target** field to retrieve all links that lead from upstream assets to the specified asset.",
          "$ref": "GoogleCloudDatacatalogLineageV1EntityReference"
        }
      },
      "id": "GoogleCloudDatacatalogLineageV1SearchLinksRequest",
      "description": "Request message for SearchLinks."
    },
    "GoogleCloudDatacatalogLineageV1ProcessLinkInfo": {
      "id": "GoogleCloudDatacatalogLineageV1ProcessLinkInfo",
      "description": "Link details.",
      "properties": {
        "startTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "The start of the first event establishing this link-process tuple."
        },
        "endTime": {
          "description": "The end of the last event establishing this link-process tuple.",
          "type": "string",
          "format": "google-datetime"
        },
        "link": {
          "description": "The name of the link in the format of `projects/{project}/locations/{location}/links/{link}`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleTypeInterval": {
      "id": "GoogleTypeInterval",
      "description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.",
      "properties": {
        "startTime": {
          "description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.",
          "format": "google-datetime",
          "type": "string"
        },
        "endTime": {
          "description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudDatacatalogLineageV1OperationMetadata": {
      "type": "object",
      "id": "GoogleCloudDatacatalogLineageV1OperationMetadata",
      "description": "Metadata describing the operation.",
      "properties": {
        "endTime": {
          "description": "Output only. The timestamp of the operation termination, regardless of its success. This field is unset if the operation is still ongoing.",
          "readOnly": true,
          "format": "google-datetime",
          "type": "string"
        },
        "state": {
          "description": "Output only. The current operation state.",
          "enumDescriptions": [
            "Unused.",
            "The operation has been created but is not yet started.",
            "The operation is underway.",
            "The operation completed successfully.",
            "The operation is no longer running and did not succeed."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "PENDING",
            "RUNNING",
            "SUCCEEDED",
            "FAILED"
          ],
          "type": "string",
          "readOnly": true
        },
        "operationType": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The type of the operation being performed.",
          "enumDescriptions": [
            "Unused.",
            "The resource deletion operation.",
            "The resource creation operation."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "DELETE",
            "CREATE"
          ]
        },
        "resourceUuid": {
          "description": "Output only. The UUID of the resource being operated on.",
          "type": "string",
          "readOnly": true
        },
        "resource": {
          "description": "Output only. The [relative name] (https://cloud.google.com//apis/design/resource_names#relative_resource_name) of the resource being operated on.",
          "type": "string",
          "readOnly": true
        },
        "createTime": {
          "readOnly": true,
          "format": "google-datetime",
          "type": "string",
          "description": "Output only. The timestamp of the operation submission to the server."
        }
      }
    },
    "GoogleCloudDatacatalogLineageV1EventLink": {
      "id": "GoogleCloudDatacatalogLineageV1EventLink",
      "description": "A lineage between source and target entities.",
      "properties": {
        "source": {
          "$ref": "GoogleCloudDatacatalogLineageV1EntityReference",
          "description": "Required. Reference to the source entity"
        },
        "dependencyInfo": {
          "description": "Optional. Describes how the target depends on the source.",
          "$ref": "GoogleCloudDatacatalogLineageV1DependencyInfo"
        },
        "target": {
          "$ref": "GoogleCloudDatacatalogLineageV1EntityReference",
          "description": "Required. Reference to the target entity"
        }
      },
      "type": "object"
    },
    "GoogleCloudDatacatalogLineageV1LineageLinkLineageProcess": {
      "type": "object",
      "id": "GoogleCloudDatacatalogLineageV1LineageLinkLineageProcess",
      "description": "Process metadata for the link.",
      "properties": {
        "process": {
          "$ref": "GoogleCloudDatacatalogLineageV1Process",
          "description": "Process that created the link."
        }
      }
    },
    "GoogleCloudDatacatalogLineageV1SearchLineageStreamingResponse": {
      "type": "object",
      "properties": {
        "links": {
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudDatacatalogLineageV1LineageLink"
          },
          "type": "array",
          "description": "Output only. The lineage links that match the search criteria. Can be empty if no links match."
        },
        "unreachable": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Unordered list. Unreachable resources. If non-empty, the result set might be incomplete. Currently, only locations are supported. Format: `projects/[PROJECT_NUMBER]/locations/[LOCATION]` Example: projects/123456789/locations/us-east1"
        }
      },
      "id": "GoogleCloudDatacatalogLineageV1SearchLineageStreamingResponse",
      "description": "Response message for SearchLineageStreaming."
    },
    "GoogleCloudDatacatalogLineageV1Origin": {
      "properties": {
        "name": {
          "description": "If the source_type isn't CUSTOM, the value of this field should be a Google Cloud resource name of the system, which reports lineage. The project and location parts of the resource name must match the project and location of the lineage resource being created. Examples: - `{source_type: COMPOSER, name: \"projects/foo/locations/us/environments/bar\"}` - `{source_type: BIGQUERY, name: \"projects/foo/locations/eu\"}` - `{source_type: CUSTOM, name: \"myCustomIntegration\"}`",
          "type": "string"
        },
        "sourceType": {
          "type": "string",
          "enum": [
            "SOURCE_TYPE_UNSPECIFIED",
            "CUSTOM",
            "BIGQUERY",
            "DATA_FUSION",
            "COMPOSER",
            "LOOKER_STUDIO",
            "DATAPROC",
            "VERTEX_AI",
            "DATAFLOW",
            "LOOKER_CORE"
          ],
          "description": "Type of the source. Use of a source_type other than `CUSTOM` for process creation or updating is highly discouraged. It might be restricted in the future without notice. There will be increase in cost if you use any of the source types other than `CUSTOM`.",
          "enumDescriptions": [
            "Source is Unspecified",
            "A custom source",
            "BigQuery",
            "Data Fusion",
            "Composer",
            "Looker Studio",
            "Dataproc",
            "Vertex AI",
            "Dataflow",
            "Looker Core"
          ]
        }
      },
      "id": "GoogleCloudDatacatalogLineageV1Origin",
      "description": "Origin of a process.",
      "type": "object"
    },
    "GoogleCloudDatacatalogLineageV1SearchLineageStreamingRequest": {
      "type": "object",
      "properties": {
        "locations": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Required. The locations to search in. This list should contain the location from the `parent` field."
        },
        "direction": {
          "enum": [
            "SEARCH_DIRECTION_UNSPECIFIED",
            "DOWNSTREAM",
            "UPSTREAM"
          ],
          "description": "Required. Direction of the search.",
          "enumDescriptions": [
            "Direction is unspecified.",
            "Retrieve links that lead from the specified asset to downstream assets.",
            "Retrieve links that lead from upstream assets to the specified asset."
          ],
          "type": "string"
        },
        "filters": {
          "$ref": "GoogleCloudDatacatalogLineageV1SearchLineageStreamingRequestSearchFilters",
          "description": "Optional. Filters for the search."
        },
        "limits": {
          "$ref": "GoogleCloudDatacatalogLineageV1SearchLineageStreamingRequestSearchLimits",
          "description": "Optional. Limits for the search."
        },
        "rootCriteria": {
          "description": "Required. Criteria for the root of the search.",
          "$ref": "GoogleCloudDatacatalogLineageV1SearchLineageStreamingRequestRootCriteria"
        }
      },
      "id": "GoogleCloudDatacatalogLineageV1SearchLineageStreamingRequest",
      "description": "Request message for SearchLineageStreaming."
    },
    "GoogleCloudDatacatalogLineageV1ListRunsResponse": {
      "type": "object",
      "id": "GoogleCloudDatacatalogLineageV1ListRunsResponse",
      "description": "Response message for ListRuns.",
      "properties": {
        "nextPageToken": {
          "description": "The token to specify as `page_token` in the next call to get the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "runs": {
          "description": "The runs from the specified project and location.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogLineageV1Run"
          }
        }
      }
    },
    "GoogleCloudDatacatalogLineageV1LineageEvent": {
      "properties": {
        "links": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudDatacatalogLineageV1EventLink"
          },
          "description": "Optional. List of source-target pairs. Can't contain more than 100 tuples."
        },
        "name": {
          "description": "Immutable. The resource name of the lineage event. Format: `projects/{project}/locations/{location}/processes/{process}/runs/{run}/lineageEvents/{lineage_event}`. Can be specified or auto-assigned. {lineage_event} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.`",
          "type": "string"
        },
        "startTime": {
          "description": "Required. The beginning of the transformation which resulted in this lineage event. For streaming scenarios, it should be the beginning of the period from which the lineage is being reported.",
          "type": "string",
          "format": "google-datetime"
        },
        "endTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "Optional. The end of the transformation which resulted in this lineage event. For streaming scenarios, it should be the end of the period from which the lineage is being reported."
        }
      },
      "id": "GoogleCloudDatacatalogLineageV1LineageEvent",
      "description": "A lineage event represents an operation on assets. Within the operation, the data flows from the source to the target defined in the links field.",
      "type": "object"
    },
    "GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestionIngestionRuleLineageEnablement": {
      "type": "object",
      "properties": {
        "enabled": {
          "description": "Optional. If true, ingestion of lineage should be enabled. If false, it should be disabled. If unspecified, the system default value is used.",
          "type": "boolean"
        }
      },
      "id": "GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestionIngestionRuleLineageEnablement",
      "description": "Lineage enablement configuration. Defines configurations for the ingestion of lineage for the resource and its children."
    },
    "GoogleCloudDatacatalogLineageV1SearchLinksResponse": {
      "properties": {
        "links": {
          "items": {
            "$ref": "GoogleCloudDatacatalogLineageV1Link"
          },
          "type": "array",
          "description": "The list of links for a given asset. Can be empty if the asset has no relations of requested type (source or target)."
        },
        "nextPageToken": {
          "description": "The token to specify as `page_token` in the subsequent call to get the next page. Omitted if there are no more pages in the response.",
          "type": "string"
        }
      },
      "id": "GoogleCloudDatacatalogLineageV1SearchLinksResponse",
      "description": "Response message for SearchLinks.",
      "type": "object"
    },
    "GoogleLongrunningListOperationsResponse": {
      "id": "GoogleLongrunningListOperationsResponse",
      "description": "The response message for Operations.ListOperations.",
      "properties": {
        "operations": {
          "type": "array",
          "items": {
            "$ref": "GoogleLongrunningOperation"
          },
          "description": "A list of operations that matches the specified filter in the request."
        },
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        },
        "unreachable": {
          "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"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudDatacatalogLineageV1ProcessLinks": {
      "properties": {
        "process": {
          "description": "The process name in the format of `projects/{project}/locations/{location}/processes/{process}`.",
          "type": "string"
        },
        "links": {
          "items": {
            "$ref": "GoogleCloudDatacatalogLineageV1ProcessLinkInfo"
          },
          "type": "array",
          "description": "An array containing link details objects of the links provided in the original request. A single process can result in creating multiple links. If any of the links you provide in the request are created by the same process, they all are included in this array."
        }
      },
      "id": "GoogleCloudDatacatalogLineageV1ProcessLinks",
      "description": "Links associated with a specific process.",
      "type": "object"
    },
    "GoogleCloudDatacatalogLineageV1SearchLineageStreamingRequestSearchFilters": {
      "id": "GoogleCloudDatacatalogLineageV1SearchLineageStreamingRequestSearchFilters",
      "description": "Filters for the search.",
      "properties": {
        "dependencyTypes": {
          "description": "Optional. Types of dependencies between entities to retrieve. If unspecified, all dependency types are returned.",
          "items": {
            "enumDescriptions": [
              "Dependency type unspecified.",
              "Exact data copy without any change.",
              "Other types of dependencies like filtering or grouping."
            ],
            "enum": [
              "DEPENDENCY_TYPE_UNSPECIFIED",
              "EXACT_COPY",
              "OTHER"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "entitySet": {
          "type": "string",
          "description": "Optional. Entity set restriction. If unspecified, the method returns all entities.",
          "enumDescriptions": [
            "The entity set is unspecified. Returns all the data.",
            "Returns entities with only FQN specified. For example, entities with the `field` field set are not returned."
          ],
          "enum": [
            "ENTITY_SET_UNSPECIFIED",
            "ENTITIES"
          ]
        },
        "timeRange": {
          "description": "Optional. Time interval to search for lineage. If unspecified, all lineage is returned. Currently, at most one of `start_time` and `end_time` can be set.",
          "$ref": "GoogleTypeInterval"
        }
      },
      "type": "object"
    }
  },
  "baseUrl": "https://datalineage.googleapis.com/",
  "name": "datalineage",
  "revision": "20260715",
  "id": "datalineage:v1",
  "batchPath": "batch",
  "servicePath": "",
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "resources": {
            "processes": {
              "methods": {
                "patch": {
                  "parameters": {
                    "name": {
                      "description": "Immutable. The resource name of the lineage process. Format: `projects/{project}/locations/{location}/processes/{process}`. Can be specified or auto-assigned. {process} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.`",
                      "pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "required": true
                    },
                    "updateMask": {
                      "description": "Optional. The list of fields to update. Currently not used. The whole message is updated.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    },
                    "allowMissing": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. If set to true and the process is not found, the request inserts it."
                    },
                    "requestId": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is idempotent only if a `request_id` is provided."
                    }
                  },
                  "response": {
                    "$ref": "GoogleCloudDatacatalogLineageV1Process"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}",
                  "httpMethod": "PATCH",
                  "description": "Updates a process.",
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudDatacatalogLineageV1Process"
                  },
                  "id": "datalineage.projects.locations.processes.patch"
                },
                "delete": {
                  "id": "datalineage.projects.locations.processes.delete",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}",
                  "httpMethod": "DELETE",
                  "description": "Deletes the process with the specified name.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "name": {
                      "required": true,
                      "location": "path",
                      "type": "string",
                      "description": "Required. The name of the process to delete.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+$"
                    },
                    "allowMissing": {
                      "description": "Optional. If set to true and the process is not found, the request succeeds but the server doesn't perform any actions.",
                      "location": "query",
                      "type": "boolean"
                    }
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  }
                },
                "list": {
                  "path": "v1/{+parent}/processes",
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "datalineage.projects.locations.processes.list",
                  "parameters": {
                    "parent": {
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "description": "Required. The name of the project and its location that owns this collection of processes.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    },
                    "pageSize": {
                      "description": "Optional. The maximum number of processes to return. The service may return fewer than this value. If unspecified, at most 50 processes are returned. The maximum value is 100; values greater than 100 are cut to 100.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "Optional. The page token received from a previous `ListProcesses` call. Specify it to get the next page. When paginating, all other parameters specified in this call must match the parameters of the call that provided the page token.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "GoogleCloudDatacatalogLineageV1ListProcessesResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes",
                  "httpMethod": "GET",
                  "description": "List processes in the given project and location. List order is descending by insertion time."
                },
                "get": {
                  "parameters": {
                    "name": {
                      "required": true,
                      "location": "path",
                      "type": "string",
                      "description": "Required. The name of the process to get.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+$"
                    }
                  },
                  "response": {
                    "$ref": "GoogleCloudDatacatalogLineageV1Process"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}",
                  "httpMethod": "GET",
                  "description": "Gets the details of the specified process.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "id": "datalineage.projects.locations.processes.get"
                },
                "create": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/processes",
                  "id": "datalineage.projects.locations.processes.create",
                  "request": {
                    "$ref": "GoogleCloudDatacatalogLineageV1Process"
                  },
                  "parameters": {
                    "parent": {
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "description": "Required. The name of the project and its location that should own the process.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    },
                    "requestId": {
                      "description": "Optional. A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is idempotent only if a `request_id` is provided.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "GoogleCloudDatacatalogLineageV1Process"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes",
                  "httpMethod": "POST",
                  "description": "Creates a new process."
                }
              },
              "resources": {
                "runs": {
                  "methods": {
                    "get": {
                      "id": "datalineage.projects.locations.processes.runs.get",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs/{runsId}",
                      "httpMethod": "GET",
                      "description": "Gets the details of the specified run.",
                      "parameters": {
                        "name": {
                          "description": "Required. The name of the run to get.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+/runs/[^/]+$",
                          "required": true,
                          "location": "path",
                          "type": "string"
                        }
                      },
                      "response": {
                        "$ref": "GoogleCloudDatacatalogLineageV1Run"
                      }
                    },
                    "create": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs",
                      "httpMethod": "POST",
                      "description": "Creates a new run.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameters": {
                        "parent": {
                          "required": true,
                          "location": "path",
                          "type": "string",
                          "description": "Required. The name of the process that should own the run.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+$"
                        },
                        "requestId": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is idempotent only if a `request_id` is provided."
                        }
                      },
                      "response": {
                        "$ref": "GoogleCloudDatacatalogLineageV1Run"
                      },
                      "request": {
                        "$ref": "GoogleCloudDatacatalogLineageV1Run"
                      },
                      "id": "datalineage.projects.locations.processes.runs.create",
                      "path": "v1/{+parent}/runs",
                      "parameterOrder": [
                        "parent"
                      ]
                    },
                    "patch": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs/{runsId}",
                      "httpMethod": "PATCH",
                      "description": "Updates a run.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameters": {
                        "allowMissing": {
                          "location": "query",
                          "type": "boolean",
                          "description": "Optional. If set to true and the run is not found, the request creates it."
                        },
                        "updateMask": {
                          "description": "Optional. The list of fields to update. Currently not used. The whole message is updated.",
                          "format": "google-fieldmask",
                          "location": "query",
                          "type": "string"
                        },
                        "name": {
                          "required": true,
                          "location": "path",
                          "type": "string",
                          "description": "Immutable. The resource name of the run. Format: `projects/{project}/locations/{location}/processes/{process}/runs/{run}`. Can be specified or auto-assigned. {run} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.`",
                          "pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+/runs/[^/]+$"
                        }
                      },
                      "response": {
                        "$ref": "GoogleCloudDatacatalogLineageV1Run"
                      },
                      "id": "datalineage.projects.locations.processes.runs.patch",
                      "request": {
                        "$ref": "GoogleCloudDatacatalogLineageV1Run"
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}"
                    },
                    "delete": {
                      "id": "datalineage.projects.locations.processes.runs.delete",
                      "parameterOrder": [
                        "name"
                      ],
                      "path": "v1/{+name}",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs/{runsId}",
                      "httpMethod": "DELETE",
                      "description": "Deletes the run with the specified name.",
                      "parameters": {
                        "name": {
                          "required": true,
                          "location": "path",
                          "type": "string",
                          "description": "Required. The name of the run to delete.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+/runs/[^/]+$"
                        },
                        "allowMissing": {
                          "description": "Optional. If set to true and the run is not found, the request succeeds but the server doesn't perform any actions.",
                          "location": "query",
                          "type": "boolean"
                        }
                      },
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      }
                    },
                    "list": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs",
                      "httpMethod": "GET",
                      "description": "Lists runs in the given project and location. List order is descending by `start_time`.",
                      "parameters": {
                        "pageSize": {
                          "location": "query",
                          "type": "integer",
                          "format": "int32",
                          "description": "Optional. The maximum number of runs to return. The service may return fewer than this value. If unspecified, at most 50 runs are returned. The maximum value is 100; values greater than 100 are cut to 100."
                        },
                        "pageToken": {
                          "description": "Optional. The page token received from a previous `ListRuns` call. Specify it to get the next page. When paginating, all other parameters specified in this call must match the parameters of the call that provided the page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "parent": {
                          "description": "Required. The name of process that owns this collection of runs.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+$",
                          "required": true,
                          "location": "path",
                          "type": "string"
                        }
                      },
                      "response": {
                        "$ref": "GoogleCloudDatacatalogLineageV1ListRunsResponse"
                      },
                      "id": "datalineage.projects.locations.processes.runs.list",
                      "path": "v1/{+parent}/runs",
                      "parameterOrder": [
                        "parent"
                      ]
                    }
                  },
                  "resources": {
                    "lineageEvents": {
                      "methods": {
                        "get": {
                          "parameters": {
                            "name": {
                              "required": true,
                              "location": "path",
                              "type": "string",
                              "description": "Required. The name of the lineage event to get.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+/runs/[^/]+/lineageEvents/[^/]+$"
                            }
                          },
                          "response": {
                            "$ref": "GoogleCloudDatacatalogLineageV1LineageEvent"
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs/{runsId}/lineageEvents/{lineageEventsId}",
                          "httpMethod": "GET",
                          "description": "Gets details of a specified lineage event.",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "parameterOrder": [
                            "name"
                          ],
                          "path": "v1/{+name}",
                          "id": "datalineage.projects.locations.processes.runs.lineageEvents.get"
                        },
                        "list": {
                          "id": "datalineage.projects.locations.processes.runs.lineageEvents.list",
                          "parameterOrder": [
                            "parent"
                          ],
                          "path": "v1/{+parent}/lineageEvents",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs/{runsId}/lineageEvents",
                          "httpMethod": "GET",
                          "description": "Lists lineage events in the given project and location. The list order is not defined.",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "parameters": {
                            "parent": {
                              "location": "path",
                              "type": "string",
                              "required": true,
                              "description": "Required. The name of the run that owns the collection of lineage events to get.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+/runs/[^/]+$"
                            },
                            "pageSize": {
                              "description": "Optional. The maximum number of lineage events to return. The service may return fewer events than this value. If unspecified, at most 50 events are returned. The maximum value is 100; values greater than 100 are cut to 100.",
                              "location": "query",
                              "type": "integer",
                              "format": "int32"
                            },
                            "pageToken": {
                              "description": "Optional. The page token received from a previous `ListLineageEvents` call. Specify it to get the next page. When paginating, all other parameters specified in this call must match the parameters of the call that provided the page token.",
                              "location": "query",
                              "type": "string"
                            }
                          },
                          "response": {
                            "$ref": "GoogleCloudDatacatalogLineageV1ListLineageEventsResponse"
                          }
                        },
                        "create": {
                          "parameters": {
                            "parent": {
                              "description": "Required. The name of the run that should own the lineage event.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+/runs/[^/]+$",
                              "location": "path",
                              "type": "string",
                              "required": true
                            },
                            "requestId": {
                              "description": "Optional. A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is idempotent only if a `request_id` is provided.",
                              "location": "query",
                              "type": "string"
                            }
                          },
                          "response": {
                            "$ref": "GoogleCloudDatacatalogLineageV1LineageEvent"
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs/{runsId}/lineageEvents",
                          "httpMethod": "POST",
                          "description": "Creates a new lineage event.",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "path": "v1/{+parent}/lineageEvents",
                          "parameterOrder": [
                            "parent"
                          ],
                          "request": {
                            "$ref": "GoogleCloudDatacatalogLineageV1LineageEvent"
                          },
                          "id": "datalineage.projects.locations.processes.runs.lineageEvents.create"
                        },
                        "delete": {
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs/{runsId}/lineageEvents/{lineageEventsId}",
                          "httpMethod": "DELETE",
                          "description": "Deletes the lineage event with the specified name.",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "parameters": {
                            "name": {
                              "description": "Required. The name of the lineage event to delete.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+/runs/[^/]+/lineageEvents/[^/]+$",
                              "location": "path",
                              "type": "string",
                              "required": true
                            },
                            "allowMissing": {
                              "description": "Optional. If set to true and the lineage event is not found, the request succeeds but the server doesn't perform any actions.",
                              "location": "query",
                              "type": "boolean"
                            }
                          },
                          "response": {
                            "$ref": "GoogleProtobufEmpty"
                          },
                          "id": "datalineage.projects.locations.processes.runs.lineageEvents.delete",
                          "path": "v1/{+name}",
                          "parameterOrder": [
                            "name"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            },
            "operations": {
              "methods": {
                "list": {
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}/operations",
                  "id": "datalineage.projects.locations.operations.list",
                  "parameters": {
                    "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"
                    },
                    "pageSize": {
                      "description": "The standard list page size.",
                      "format": "int32",
                      "location": "query",
                      "type": "integer"
                    },
                    "pageToken": {
                      "description": "The standard list page token.",
                      "location": "query",
                      "type": "string"
                    },
                    "name": {
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "description": "The name of the operation's parent resource.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "The standard list filter."
                    }
                  },
                  "response": {
                    "$ref": "GoogleLongrunningListOperationsResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations",
                  "httpMethod": "GET",
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "get": {
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "id": "datalineage.projects.locations.operations.get",
                  "parameters": {
                    "name": {
                      "required": true,
                      "location": "path",
                      "type": "string",
                      "description": "The name of the operation resource.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$"
                    }
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "httpMethod": "GET",
                  "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "cancel": {
                  "path": "v1/{+name}:cancel",
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleLongrunningCancelOperationRequest"
                  },
                  "id": "datalineage.projects.locations.operations.cancel",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "description": "The name of the operation resource to be cancelled.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$"
                    }
                  },
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}: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`.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "delete": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "httpMethod": "DELETE",
                  "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
                  "parameters": {
                    "name": {
                      "description": "The name of the operation resource to be deleted.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "required": true,
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "id": "datalineage.projects.locations.operations.delete",
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ]
                }
              }
            },
            "config": {
              "methods": {
                "get": {
                  "parameters": {
                    "name": {
                      "description": "Required. REQUIRED: The resource name of the config to be fetched. Format: `organizations/{organization_id}/locations/global/config` `folders/{folder_id}/locations/global/config` `projects/{project_id}/locations/global/config` `projects/{project_number}/locations/global/config`",
                      "pattern": "^projects/[^/]+/locations/[^/]+/config$",
                      "required": true,
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "GoogleCloudDatacatalogLineageConfigmanagementV1Config"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/config",
                  "httpMethod": "GET",
                  "description": "Get the Config for a given resource.",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "id": "datalineage.projects.locations.config.get"
                },
                "patch": {
                  "id": "datalineage.projects.locations.config.patch",
                  "request": {
                    "$ref": "GoogleCloudDatacatalogLineageConfigmanagementV1Config"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/config",
                  "httpMethod": "PATCH",
                  "description": "Update the Config for a given resource.",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "description": "Identifier. The resource name of the config. Format: `organizations/{organization_id}/locations/global/config` `folders/{folder_id}/locations/global/config` `projects/{project_id}/locations/global/config` `projects/{project_number}/locations/global/config`",
                      "pattern": "^projects/[^/]+/locations/[^/]+/config$"
                    }
                  },
                  "response": {
                    "$ref": "GoogleCloudDatacatalogLineageConfigmanagementV1Config"
                  }
                }
              }
            }
          },
          "methods": {
            "processOpenLineageRunEvent": {
              "parameters": {
                "parent": {
                  "description": "Required. The name of the project and its location that should own the process, run, and lineage event.",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "required": true,
                  "location": "path",
                  "type": "string"
                },
                "requestId": {
                  "location": "query",
                  "type": "string",
                  "description": "Optional. A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is idempotent only if a `request_id` is provided."
                }
              },
              "response": {
                "$ref": "GoogleCloudDatacatalogLineageV1ProcessOpenLineageRunEventResponse"
              },
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:processOpenLineageRunEvent",
              "httpMethod": "POST",
              "description": "Creates new lineage events together with their parents: process and run. Updates the process and run if they already exist. Mapped from Open Lineage specification: https://github.com/OpenLineage/OpenLineage/blob/main/spec/OpenLineage.json.",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameterOrder": [
                "parent"
              ],
              "path": "v1/{+parent}:processOpenLineageRunEvent",
              "id": "datalineage.projects.locations.processOpenLineageRunEvent",
              "request": {
                "type": "object",
                "additionalProperties": {
                  "type": "any",
                  "description": "Properties of the object."
                }
              }
            },
            "searchLinks": {
              "id": "datalineage.projects.locations.searchLinks",
              "request": {
                "$ref": "GoogleCloudDatacatalogLineageV1SearchLinksRequest"
              },
              "parameterOrder": [
                "parent"
              ],
              "path": "v1/{+parent}:searchLinks",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:searchLinks",
              "httpMethod": "POST",
              "description": "Retrieve a list of links connected to a specific asset. Links represent the data flow between **source** (upstream) and **target** (downstream) assets in transformation pipelines. Links are stored in the same project as the Lineage Events that create them. You can retrieve links in every project where you have the `datalineage.events.get` permission. The project provided in the URL is used for Billing and Quota.",
              "parameters": {
                "parent": {
                  "description": "Required. The project and location you want search in.",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "required": true,
                  "location": "path",
                  "type": "string"
                }
              },
              "response": {
                "$ref": "GoogleCloudDatacatalogLineageV1SearchLinksResponse"
              }
            },
            "searchLineageStreaming": {
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:searchLineageStreaming",
              "httpMethod": "POST",
              "description": "Retrieves a streaming response of lineage links connected to the requested assets by performing a breadth-first search in the given direction. Links represent the data flow between **source** (upstream) and **target** (downstream) assets in transformation pipelines. Links are stored in the same project as the Lineage Events that create them. This method retrieves links from all valid locations provided in the request. This method supports Column-Level Lineage (CLL) along with wildcard support to retrieve all CLL for an Entity FQN. Following permissions are required to retrieve links: * `datalineage.events.get` permission for the project where the link is stored for entity-level lineage. * `datalineage.events.getFields` permission for the project where the link is stored for column-level lineage. This method also returns processes that created the links if explicitly requested by setting [max_process_per_link](google.cloud.datacatalog.lineage.v1.SearchLineageStreamingRequest.limits.max_process_per_link) is non-zero and full process details are requested via `links.processes.process` in the [FieldMask](https://developers.google.com/workspace/docs/api/how-tos/field-masks#read_with_a_field_mask). Permission required to retrieve processes: * `datalineage.processes.get` permission for the project where the process is stored.",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/datalineage.read-write",
                "https://www.googleapis.com/auth/datalineage.readonly"
              ],
              "parameters": {
                "parent": {
                  "required": true,
                  "location": "path",
                  "type": "string",
                  "description": "Required. The project and location to initiate the search from.",
                  "pattern": "^projects/[^/]+/locations/[^/]+$"
                }
              },
              "response": {
                "$ref": "GoogleCloudDatacatalogLineageV1SearchLineageStreamingResponse"
              },
              "request": {
                "$ref": "GoogleCloudDatacatalogLineageV1SearchLineageStreamingRequest"
              },
              "id": "datalineage.projects.locations.searchLineageStreaming",
              "path": "v1/{+parent}:searchLineageStreaming",
              "parameterOrder": [
                "parent"
              ]
            },
            "batchSearchLinkProcesses": {
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:batchSearchLinkProcesses",
              "httpMethod": "POST",
              "description": "Retrieve information about LineageProcesses associated with specific links. LineageProcesses are transformation pipelines that result in data flowing from **source** to **target** assets. Links between assets represent this operation. If you have specific link names, you can use this method to verify which LineageProcesses contribute to creating those links. See the SearchLinks method for more information on how to retrieve link name. You can retrieve the LineageProcess information in every project where you have the `datalineage.events.get` permission. The project provided in the URL is used for Billing and Quota.",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The project and location where you want to search.",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "location": "path",
                  "type": "string",
                  "required": true
                }
              },
              "response": {
                "$ref": "GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesResponse"
              },
              "id": "datalineage.projects.locations.batchSearchLinkProcesses",
              "request": {
                "$ref": "GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesRequest"
              },
              "parameterOrder": [
                "parent"
              ],
              "path": "v1/{+parent}:batchSearchLinkProcesses"
            }
          }
        }
      }
    },
    "folders": {
      "resources": {
        "locations": {
          "resources": {
            "config": {
              "methods": {
                "get": {
                  "id": "datalineage.folders.locations.config.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/config",
                  "httpMethod": "GET",
                  "description": "Get the Config for a given resource.",
                  "parameters": {
                    "name": {
                      "description": "Required. REQUIRED: The resource name of the config to be fetched. Format: `organizations/{organization_id}/locations/global/config` `folders/{folder_id}/locations/global/config` `projects/{project_id}/locations/global/config` `projects/{project_number}/locations/global/config`",
                      "pattern": "^folders/[^/]+/locations/[^/]+/config$",
                      "required": true,
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "GoogleCloudDatacatalogLineageConfigmanagementV1Config"
                  }
                },
                "patch": {
                  "parameters": {
                    "name": {
                      "description": "Identifier. The resource name of the config. Format: `organizations/{organization_id}/locations/global/config` `folders/{folder_id}/locations/global/config` `projects/{project_id}/locations/global/config` `projects/{project_number}/locations/global/config`",
                      "pattern": "^folders/[^/]+/locations/[^/]+/config$",
                      "location": "path",
                      "type": "string",
                      "required": true
                    }
                  },
                  "response": {
                    "$ref": "GoogleCloudDatacatalogLineageConfigmanagementV1Config"
                  },
                  "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/config",
                  "httpMethod": "PATCH",
                  "description": "Update the Config for a given resource.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "id": "datalineage.folders.locations.config.patch",
                  "request": {
                    "$ref": "GoogleCloudDatacatalogLineageConfigmanagementV1Config"
                  }
                }
              }
            }
          }
        }
      }
    },
    "organizations": {
      "resources": {
        "locations": {
          "resources": {
            "config": {
              "methods": {
                "get": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/config",
                  "httpMethod": "GET",
                  "description": "Get the Config for a given resource.",
                  "parameters": {
                    "name": {
                      "description": "Required. REQUIRED: The resource name of the config to be fetched. Format: `organizations/{organization_id}/locations/global/config` `folders/{folder_id}/locations/global/config` `projects/{project_id}/locations/global/config` `projects/{project_number}/locations/global/config`",
                      "pattern": "^organizations/[^/]+/locations/[^/]+/config$",
                      "location": "path",
                      "type": "string",
                      "required": true
                    }
                  },
                  "response": {
                    "$ref": "GoogleCloudDatacatalogLineageConfigmanagementV1Config"
                  },
                  "id": "datalineage.organizations.locations.config.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}"
                },
                "patch": {
                  "parameters": {
                    "name": {
                      "required": true,
                      "location": "path",
                      "type": "string",
                      "description": "Identifier. The resource name of the config. Format: `organizations/{organization_id}/locations/global/config` `folders/{folder_id}/locations/global/config` `projects/{project_id}/locations/global/config` `projects/{project_number}/locations/global/config`",
                      "pattern": "^organizations/[^/]+/locations/[^/]+/config$"
                    }
                  },
                  "response": {
                    "$ref": "GoogleCloudDatacatalogLineageConfigmanagementV1Config"
                  },
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/config",
                  "httpMethod": "PATCH",
                  "description": "Update the Config for a given resource.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "id": "datalineage.organizations.locations.config.patch",
                  "request": {
                    "$ref": "GoogleCloudDatacatalogLineageConfigmanagementV1Config"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "rootUrl": "https://datalineage.googleapis.com/",
  "title": "Data Lineage API",
  "mtlsRootUrl": "https://datalineage.mtls.googleapis.com/"
}
