{
  "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."
        }
      }
    }
  },
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "methods": {
            "getRuntimeConfig": {
              "id": "connectors.projects.locations.getRuntimeConfig",
              "path": "v1/{+name}",
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimeConfig",
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "description": "Required. Resource name of the form: `projects/*/locations/*/runtimeConfig`",
                  "pattern": "^projects/[^/]+/locations/[^/]+/runtimeConfig$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "RuntimeConfig"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Gets the runtimeConfig of a location. RuntimeConfig is a singleton resource for each location."
            },
            "getRegionalSettings": {
              "id": "connectors.projects.locations.getRegionalSettings",
              "path": "v1/{+name}",
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/regionalSettings",
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "description": "Required. The resource name of the Regional Settings.",
                  "pattern": "^projects/[^/]+/locations/[^/]+/regionalSettings$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "RegionalSettings"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "GetRegionalSettings gets settings of a region. RegionalSettings is a singleton resource."
            },
            "updateRegionalSettings": {
              "id": "connectors.projects.locations.updateRegionalSettings",
              "path": "v1/{+name}",
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/regionalSettings",
              "httpMethod": "PATCH",
              "parameters": {
                "name": {
                  "description": "Output only. Resource name of the Connection. Format: projects/{project}/locations/{location}/regionalSettings",
                  "pattern": "^projects/[^/]+/locations/[^/]+/regionalSettings$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "updateMask": {
                  "description": "Required. The list of fields to update.",
                  "location": "query",
                  "type": "string",
                  "format": "google-fieldmask"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "request": {
                "$ref": "RegionalSettings"
              },
              "response": {
                "$ref": "Operation"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Update the settings of a region."
            },
            "list": {
              "id": "connectors.projects.locations.list",
              "path": "v1/{+name}/locations",
              "flatPath": "v1/projects/{projectsId}/locations",
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "description": "The resource that owns the locations collection, if applicable.",
                  "pattern": "^projects/[^/]+$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "filter": {
                  "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "description": "The maximum number of results to return. If not set, the service selects a default.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "pageToken": {
                  "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
                  "location": "query",
                  "type": "string"
                },
                "extraLocationTypes": {
                  "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.",
                  "location": "query",
                  "repeated": true,
                  "type": "string"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "ListLocationsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version."
            },
            "get": {
              "id": "connectors.projects.locations.get",
              "path": "v1/{+name}",
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}",
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "description": "Resource name for the location.",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "Location"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Gets information about a location."
            }
          },
          "resources": {
            "connections": {
              "methods": {
                "listenEvent": {
                  "id": "connectors.projects.locations.connections.listenEvent",
                  "path": "v1/{+resourcePath}:listenEvent",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:listenEvent",
                  "httpMethod": "POST",
                  "parameters": {
                    "resourcePath": {
                      "description": "Required. Resource path for request.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "resourcePath"
                  ],
                  "request": {
                    "$ref": "ListenEventRequest"
                  },
                  "response": {
                    "$ref": "ListenEventResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "ListenEvent listens to the event."
                },
                "list": {
                  "id": "connectors.projects.locations.connections.list",
                  "path": "v1/{+parent}/connections",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections",
                  "httpMethod": "GET",
                  "parameters": {
                    "parent": {
                      "description": "Required. Parent resource of the Connection, of the form: `projects/*/locations/*`",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "Page size.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "Page token.",
                      "location": "query",
                      "type": "string"
                    },
                    "filter": {
                      "description": "Filter.",
                      "location": "query",
                      "type": "string"
                    },
                    "orderBy": {
                      "description": "Order by parameters.",
                      "location": "query",
                      "type": "string"
                    },
                    "view": {
                      "description": "Specifies which fields of the Connection are returned in the response. Defaults to `BASIC` view.",
                      "location": "query",
                      "type": "string",
                      "enumDescriptions": [
                        "CONNECTION_UNSPECIFIED.",
                        "Do not include runtime required configs.",
                        "Include runtime required configs."
                      ],
                      "enum": [
                        "CONNECTION_VIEW_UNSPECIFIED",
                        "BASIC",
                        "FULL"
                      ]
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "ListConnectionsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Lists Connections in a given project and location."
                },
                "search": {
                  "id": "connectors.projects.locations.connections.search",
                  "path": "v1/{+name}:search",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections:search",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "description": "Required. Parent resource of the Connection, of the form: `projects/*/locations/*/connections`",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "query": {
                      "description": "Required. The query against which the search needs to be done.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "Optional. The number of top matching connectors to return",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "Optional. page_token",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "SearchConnectionsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Returns Top matching Connections for a given query."
                },
                "get": {
                  "id": "connectors.projects.locations.connections.get",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "description": "Required. Resource name of the form: `projects/*/locations/*/connections/*`",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "view": {
                      "description": "Specifies which fields of the Connection are returned in the response. Defaults to `BASIC` view.",
                      "location": "query",
                      "type": "string",
                      "enumDescriptions": [
                        "CONNECTION_UNSPECIFIED.",
                        "Do not include runtime required configs.",
                        "Include runtime required configs."
                      ],
                      "enum": [
                        "CONNECTION_VIEW_UNSPECIFIED",
                        "BASIC",
                        "FULL"
                      ]
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Connection"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Gets details of a single Connection."
                },
                "create": {
                  "id": "connectors.projects.locations.connections.create",
                  "path": "v1/{+parent}/connections",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. Parent resource of the Connection, of the form: `projects/*/locations/*`",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "connectionId": {
                      "description": "Required. Identifier to assign to the Connection. Must be unique within scope of the parent resource.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "Connection"
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Creates a new Connection in a given project and location."
                },
                "patch": {
                  "id": "connectors.projects.locations.connections.patch",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}",
                  "httpMethod": "PATCH",
                  "parameters": {
                    "name": {
                      "description": "Output only. Resource name of the Connection. Format: projects/{project}/locations/{location}/connections/{connection}",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "updateMask": {
                      "description": "Required. The list of fields to update. Fields are specified relative to the connection. A field will be overwritten if it is in the mask. The field mask must not be empty, and it must not contain fields that are immutable or only set by the server. You can modify only the fields listed below. To lock/unlock a connection: * `lock_config` To suspend/resume a connection: * `suspended` To update the connection details: * `description` * `labels` * `connector_version` * `config_variables` * `auth_config` * `destination_configs` * `node_config` * `log_config` * `ssl_config` * `eventing_enablement_type` * `eventing_config` * `auth_override_enabled` * `async_operations_enabled`",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "Connection"
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Updates the parameters of a single Connection."
                },
                "delete": {
                  "id": "connectors.projects.locations.connections.delete",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}",
                  "httpMethod": "DELETE",
                  "parameters": {
                    "name": {
                      "description": "Required. Resource name of the form: `projects/*/locations/*/connections/*`",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "force": {
                      "description": "Optional. If set to true, any child EndUserAuthentication/EventSubscription resources will also be deleted. Otherwise, the request will fail if the connection has any children. Followed the best practice from https://aip.dev/135#cascading-delete",
                      "location": "query",
                      "type": "boolean"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Deletes a single Connection."
                },
                "getConnectionSchemaMetadata": {
                  "id": "connectors.projects.locations.connections.getConnectionSchemaMetadata",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/connectionSchemaMetadata",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "description": "Required. Connection name Format: projects/{project}/locations/{location}/connections/{connection}/connectionSchemaMetadata",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/connectionSchemaMetadata$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "ConnectionSchemaMetadata"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Gets schema metadata of a connection. SchemaMetadata is a singleton resource for each connection."
                },
                "repairEventing": {
                  "id": "connectors.projects.locations.connections.repairEventing",
                  "path": "v1/{+name}:repairEventing",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:repairEventing",
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "description": "Required. Resource name of the form: `projects/*/locations/*/connections/*`",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "RepairEventingRequest"
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "RepaiEventing tries to repair eventing related event subscriptions."
                },
                "generateToolspecOverride": {
                  "id": "connectors.projects.locations.connections.generateToolspecOverride",
                  "path": "v1/{+name}:generateToolspecOverride",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:generateToolspecOverride",
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "description": "Required. Resource name format: projects/{project}/locations/{location}/connections/{connection}",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GenerateConnectionToolspecOverrideRequest"
                  },
                  "response": {
                    "$ref": "GenerateConnectionToolspecOverrideResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Generates Toolspec Override for a connection for the given list of entityTypes and operations. Returns results from the db if the entityType and operation are already present."
                },
                "fetchToolspecOverride": {
                  "id": "connectors.projects.locations.connections.fetchToolspecOverride",
                  "path": "v1/{+name}:fetchToolspecOverride",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:fetchToolspecOverride",
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "description": "Required. Resource name format: projects/{project}/locations/{location}/connections/{connection}",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "FetchConnectionToolspecOverrideRequest"
                  },
                  "response": {
                    "$ref": "FetchConnectionToolspecOverrideResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Fetches Toolspec Override for a connection for the given list of tools. Returns results from the db if the tool is already present."
                },
                "removeToolspecOverride": {
                  "id": "connectors.projects.locations.connections.removeToolspecOverride",
                  "path": "v1/{+name}:removeToolspecOverride",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:removeToolspecOverride",
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "description": "Required. Resource name format: projects/{project}/locations/{location}/connections/{connection}",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "RemoveConnectionToolspecOverrideRequest"
                  },
                  "response": {
                    "$ref": "Empty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Deletes all Toolspec Override for a connection."
                },
                "modifyToolspecOverride": {
                  "id": "connectors.projects.locations.connections.modifyToolspecOverride",
                  "path": "v1/{+name}:modifyToolspecOverride",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:modifyToolspecOverride",
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "description": "Required. Resource name format: projects/{project}/locations/{location}/connections/{connection}",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "ModifyConnectionToolspecOverrideRequest"
                  },
                  "response": {
                    "$ref": "ModifyConnectionToolspecOverrideResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Updates Toolspec Override for a connection with the admin provided descriptions."
                },
                "setIamPolicy": {
                  "id": "connectors.projects.locations.connections.setIamPolicy",
                  "path": "v1/{+resource}:setIamPolicy",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:setIamPolicy",
                  "httpMethod": "POST",
                  "parameters": {
                    "resource": {
                      "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "request": {
                    "$ref": "SetIamPolicyRequest"
                  },
                  "response": {
                    "$ref": "Policy"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors."
                },
                "getIamPolicy": {
                  "id": "connectors.projects.locations.connections.getIamPolicy",
                  "path": "v1/{+resource}:getIamPolicy",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:getIamPolicy",
                  "httpMethod": "GET",
                  "parameters": {
                    "resource": {
                      "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "options.requestedPolicyVersion": {
                      "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "response": {
                    "$ref": "Policy"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set."
                },
                "testIamPermissions": {
                  "id": "connectors.projects.locations.connections.testIamPermissions",
                  "path": "v1/{+resource}:testIamPermissions",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:testIamPermissions",
                  "httpMethod": "POST",
                  "parameters": {
                    "resource": {
                      "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "request": {
                    "$ref": "TestIamPermissionsRequest"
                  },
                  "response": {
                    "$ref": "TestIamPermissionsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning."
                }
              },
              "resources": {
                "connectionSchemaMetadata": {
                  "methods": {
                    "refresh": {
                      "id": "connectors.projects.locations.connections.connectionSchemaMetadata.refresh",
                      "path": "v1/{+name}:refresh",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/connectionSchemaMetadata:refresh",
                      "httpMethod": "POST",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name. Format: projects/{project}/locations/{location}/connections/{connection}/connectionSchemaMetadata",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/connectionSchemaMetadata$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "RefreshConnectionSchemaMetadataRequest"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Refresh runtime schema of a connection."
                    },
                    "listEntityTypes": {
                      "id": "connectors.projects.locations.connections.connectionSchemaMetadata.listEntityTypes",
                      "path": "v1/{+name}:listEntityTypes",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/connectionSchemaMetadata:listEntityTypes",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name format: projects/{project}/locations/{location}/connections/{connection}/connectionSchemaMetadata",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/connectionSchemaMetadata$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "Page size. If unspecified, at most 50 entity types will be returned.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "Page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Required. Filter Wildcards are not supported in the filter currently.",
                          "location": "query",
                          "type": "string"
                        },
                        "view": {
                          "description": "Specifies which fields are returned in response. Defaults to BASIC view.",
                          "location": "query",
                          "type": "string",
                          "enumDescriptions": [
                            "",
                            ""
                          ],
                          "enum": [
                            "VIEW_UNSPECIFIED",
                            "BASIC"
                          ]
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "ListEntityTypesResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "List entity types."
                    },
                    "listActions": {
                      "id": "connectors.projects.locations.connections.connectionSchemaMetadata.listActions",
                      "path": "v1/{+name}:listActions",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/connectionSchemaMetadata:listActions",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name format. projects/{project}/locations/{location}/connections/{connection}/connectionSchemaMetadata",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/connectionSchemaMetadata$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "Page size. If unspecified, at most 50 actions will be returned.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "Page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Required. Filter Wildcards are not supported in the filter currently.",
                          "location": "query",
                          "type": "string"
                        },
                        "view": {
                          "description": "Specifies which fields are returned in response. Defaults to BASIC view.",
                          "location": "query",
                          "type": "string",
                          "enumDescriptions": [
                            "",
                            ""
                          ],
                          "enum": [
                            "VIEW_UNSPECIFIED",
                            "BASIC"
                          ]
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "ListActionsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "List actions."
                    },
                    "getEntityType": {
                      "id": "connectors.projects.locations.connections.connectionSchemaMetadata.getEntityType",
                      "path": "v1/{+name}:getEntityType",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/connectionSchemaMetadata:getEntityType",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name format: projects/{project}/locations/{location}/connections/{connection}/connectionSchemaMetadata",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/connectionSchemaMetadata$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "entityId": {
                          "description": "Required. Id of the entity type.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Get entity type."
                    },
                    "getAction": {
                      "id": "connectors.projects.locations.connections.connectionSchemaMetadata.getAction",
                      "path": "v1/{+name}:getAction",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/connectionSchemaMetadata:getAction",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name format: projects/{project}/locations/{location}/connections/{connection}/connectionSchemaMetadata",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/connectionSchemaMetadata$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "actionId": {
                          "description": "Required. Id of the action.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Get action."
                    }
                  }
                },
                "runtimeEntitySchemas": {
                  "methods": {
                    "list": {
                      "id": "connectors.projects.locations.connections.runtimeEntitySchemas.list",
                      "path": "v1/{+parent}/runtimeEntitySchemas",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/runtimeEntitySchemas",
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "description": "Required. Parent resource of RuntimeEntitySchema Format: projects/{project}/locations/{location}/connections/{connection}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "Page size.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "Page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Required. Filter Format: entity=\"{entityId}\" Only entity field is supported with literal equality operator. Accepted filter example: entity=\"Order\" Wildcards are not supported in the filter currently.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "ListRuntimeEntitySchemasResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "List schema of a runtime entities filtered by entity name."
                    }
                  }
                },
                "runtimeActionSchemas": {
                  "methods": {
                    "list": {
                      "id": "connectors.projects.locations.connections.runtimeActionSchemas.list",
                      "path": "v1/{+parent}/runtimeActionSchemas",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/runtimeActionSchemas",
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "description": "Required. Parent resource of RuntimeActionSchema Format: projects/{project}/locations/{location}/connections/{connection}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "Page size.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "Page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Required. Filter Format: action=\"{actionId}\" Only action field is supported with literal equality operator. Accepted filter example: action=\"CancelOrder\" Wildcards are not supported in the filter currently.",
                          "location": "query",
                          "type": "string"
                        },
                        "schemaAsString": {
                          "description": "Optional. Flag to indicate if schema should be returned as string or not",
                          "location": "query",
                          "type": "boolean"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "ListRuntimeActionSchemasResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "List schema of a runtime actions filtered by action name."
                    }
                  }
                },
                "eventSubscriptions": {
                  "methods": {
                    "list": {
                      "id": "connectors.projects.locations.connections.eventSubscriptions.list",
                      "path": "v1/{+parent}/eventSubscriptions",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/eventSubscriptions",
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "description": "Required. Parent resource of the EventSubscription, of the form: `projects/*/locations/*/connections/*`",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "Page size.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "Page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Filter.",
                          "location": "query",
                          "type": "string"
                        },
                        "orderBy": {
                          "description": "Order by parameters.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "ListEventSubscriptionsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "List EventSubscriptions in a given project,location and connection."
                    },
                    "get": {
                      "id": "connectors.projects.locations.connections.eventSubscriptions.get",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/eventSubscriptions/{eventSubscriptionsId}",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name of the form: `projects/*/locations/*/connections/*/eventSubscriptions/*`",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/eventSubscriptions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "EventSubscription"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Gets details of a single EventSubscription."
                    },
                    "create": {
                      "id": "connectors.projects.locations.connections.eventSubscriptions.create",
                      "path": "v1/{+parent}/eventSubscriptions",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/eventSubscriptions",
                      "httpMethod": "POST",
                      "parameters": {
                        "parent": {
                          "description": "Required. Parent resource of the EventSubscription, of the form: `projects/*/locations/*/connections/*`",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "eventSubscriptionId": {
                          "description": "Required. Identifier to assign to the Event Subscription. Must be unique within scope of the parent resource.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "request": {
                        "$ref": "EventSubscription"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Creates a new EventSubscription in a given project,location and connection."
                    },
                    "patch": {
                      "id": "connectors.projects.locations.connections.eventSubscriptions.patch",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/eventSubscriptions/{eventSubscriptionsId}",
                      "httpMethod": "PATCH",
                      "parameters": {
                        "name": {
                          "description": "Required. Identifier. Resource name of the EventSubscription. Format: projects/{project}/locations/{location}/connections/{connection}/eventSubscriptions/{event_subscription}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/eventSubscriptions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "updateMask": {
                          "description": "Required. The list of fields to update. Fields are specified relative to the Subscription. A field will be overwritten if it is in the mask. You can modify only the fields listed below. To update the EventSubscription details: * `serviceAccount`",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "EventSubscription"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Updates the parameters of a single EventSubscription."
                    },
                    "delete": {
                      "id": "connectors.projects.locations.connections.eventSubscriptions.delete",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/eventSubscriptions/{eventSubscriptionsId}",
                      "httpMethod": "DELETE",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name of the form: `projects/*/locations/*/connections/*/eventsubscriptions/*`",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/eventSubscriptions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Deletes a single EventSubscription."
                    },
                    "retry": {
                      "id": "connectors.projects.locations.connections.eventSubscriptions.retry",
                      "path": "v1/{+name}:retry",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/eventSubscriptions/{eventSubscriptionsId}:retry",
                      "httpMethod": "POST",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name of the form: `projects/*/locations/*/connections/*/eventSubscriptions/*`",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/eventSubscriptions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "RetryEventSubscriptionRequest"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "RetryEventSubscription retries the registration of Subscription."
                    }
                  }
                },
                "endUserAuthentications": {
                  "methods": {
                    "list": {
                      "id": "connectors.projects.locations.connections.endUserAuthentications.list",
                      "path": "v1/{+parent}/endUserAuthentications",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/endUserAuthentications",
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "description": "Required. Parent resource of the EndUserAuthentication, of the form: `projects/*/locations/*/connections/*`",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "Page size.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "Page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Filter.",
                          "location": "query",
                          "type": "string"
                        },
                        "orderBy": {
                          "description": "Order by parameters.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "ListEndUserAuthenticationsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "List EndUserAuthentications in a given project,location and connection."
                    },
                    "get": {
                      "id": "connectors.projects.locations.connections.endUserAuthentications.get",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/endUserAuthentications/{endUserAuthenticationsId}",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name of the form: `projects/*/locations/*/connections/*/EndUserAuthentications/*`",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/endUserAuthentications/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "view": {
                          "description": "Optional. View of the EndUserAuthentication to return.",
                          "location": "query",
                          "type": "string",
                          "enumDescriptions": [
                            "END_USER_AUTHENTICATION_UNSPECIFIED.",
                            "Do not include secret fields.",
                            "Include secret fields."
                          ],
                          "enum": [
                            "END_USER_AUTHENTICATION_VIEW_UNSPECIFIED",
                            "BASIC_VIEW",
                            "FULL_VIEW"
                          ]
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "EndUserAuthentication"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Gets details of a single EndUserAuthentication."
                    },
                    "create": {
                      "id": "connectors.projects.locations.connections.endUserAuthentications.create",
                      "path": "v1/{+parent}/endUserAuthentications",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/endUserAuthentications",
                      "httpMethod": "POST",
                      "parameters": {
                        "parent": {
                          "description": "Required. Parent resource of the EndUserAuthentication, of the form: `projects/*/locations/*/connections/*`",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "endUserAuthenticationId": {
                          "description": "Required. Identifier to assign to the EndUserAuthentication. Must be unique within scope of the parent resource.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "request": {
                        "$ref": "EndUserAuthentication"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Creates a new EndUserAuthentication in a given project,location and connection."
                    },
                    "patch": {
                      "id": "connectors.projects.locations.connections.endUserAuthentications.patch",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/endUserAuthentications/{endUserAuthenticationsId}",
                      "httpMethod": "PATCH",
                      "parameters": {
                        "name": {
                          "description": "Required. Identifier. Resource name of the EndUserAuthentication. Format: projects/{project}/locations/{location}/connections/{connection}/endUserAuthentications/{end_user_authentication}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/endUserAuthentications/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "updateMask": {
                          "description": "Required. The list of fields to update. A field will be overwritten if it is in the mask. You can modify only the fields listed below. To update the EndUserAuthentication details: * `notify_endpoint_destination`",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "EndUserAuthentication"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Updates the parameters of a single EndUserAuthentication."
                    },
                    "delete": {
                      "id": "connectors.projects.locations.connections.endUserAuthentications.delete",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/endUserAuthentications/{endUserAuthenticationsId}",
                      "httpMethod": "DELETE",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name of the form: `projects/*/locations/*/connections/*/endUserAuthentication/*`",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/endUserAuthentications/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Deletes a single EndUserAuthentication."
                    }
                  }
                }
              }
            },
            "operations": {
              "methods": {
                "list": {
                  "id": "connectors.projects.locations.operations.list",
                  "path": "v1/{+name}/operations",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "description": "The name of the operation's parent resource.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "filter": {
                      "description": "The standard list filter.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "The standard list page size.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "The standard list page token.",
                      "location": "query",
                      "type": "string"
                    },
                    "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"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "ListOperationsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`."
                },
                "get": {
                  "id": "connectors.projects.locations.operations.get",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "description": "The name of the operation resource.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "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."
                },
                "delete": {
                  "id": "connectors.projects.locations.operations.delete",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "httpMethod": "DELETE",
                  "parameters": {
                    "name": {
                      "description": "The name of the operation resource to be deleted.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Empty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "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`."
                },
                "cancel": {
                  "id": "connectors.projects.locations.operations.cancel",
                  "path": "v1/{+name}:cancel",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "description": "The name of the operation resource to be cancelled.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "CancelOperationRequest"
                  },
                  "response": {
                    "$ref": "Empty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "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`."
                }
              }
            },
            "providers": {
              "methods": {
                "list": {
                  "id": "connectors.projects.locations.providers.list",
                  "path": "v1/{+parent}/providers",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers",
                  "httpMethod": "GET",
                  "parameters": {
                    "parent": {
                      "description": "Required. Parent resource of the API, of the form: `projects/*/locations/*` Only global location is supported for Provider resource.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "Page size.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "Page token.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "ListProvidersResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Lists Providers in a given project and location."
                },
                "get": {
                  "id": "connectors.projects.locations.providers.get",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*` Only global location is supported for Provider resource.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Provider"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Gets details of a provider."
                },
                "setIamPolicy": {
                  "id": "connectors.projects.locations.providers.setIamPolicy",
                  "path": "v1/{+resource}:setIamPolicy",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}:setIamPolicy",
                  "httpMethod": "POST",
                  "parameters": {
                    "resource": {
                      "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "request": {
                    "$ref": "SetIamPolicyRequest"
                  },
                  "response": {
                    "$ref": "Policy"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors."
                },
                "getIamPolicy": {
                  "id": "connectors.projects.locations.providers.getIamPolicy",
                  "path": "v1/{+resource}:getIamPolicy",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}:getIamPolicy",
                  "httpMethod": "GET",
                  "parameters": {
                    "resource": {
                      "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "options.requestedPolicyVersion": {
                      "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "response": {
                    "$ref": "Policy"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set."
                },
                "testIamPermissions": {
                  "id": "connectors.projects.locations.providers.testIamPermissions",
                  "path": "v1/{+resource}:testIamPermissions",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}:testIamPermissions",
                  "httpMethod": "POST",
                  "parameters": {
                    "resource": {
                      "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "request": {
                    "$ref": "TestIamPermissionsRequest"
                  },
                  "response": {
                    "$ref": "TestIamPermissionsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning."
                }
              },
              "resources": {
                "connectors": {
                  "methods": {
                    "list": {
                      "id": "connectors.projects.locations.providers.connectors.list",
                      "path": "v1/{+parent}/connectors",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors",
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "description": "Required. Parent resource of the connectors, of the form: `projects/*/locations/*/providers/*` Only global location is supported for Connector resource.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "Page size.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "Page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Filter string.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "ListConnectorsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Lists Connectors in a given project and location."
                    },
                    "get": {
                      "id": "connectors.projects.locations.providers.connectors.get",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors/{connectorsId}",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*/connectors/*` Only global location is supported for Connector resource.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+/connectors/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Connector"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Gets details of a single Connector."
                    }
                  },
                  "resources": {
                    "versions": {
                      "methods": {
                        "list": {
                          "id": "connectors.projects.locations.providers.connectors.versions.list",
                          "path": "v1/{+parent}/versions",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors/{connectorsId}/versions",
                          "httpMethod": "GET",
                          "parameters": {
                            "parent": {
                              "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+/connectors/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "pageSize": {
                              "description": "Page size.",
                              "location": "query",
                              "type": "integer",
                              "format": "int32"
                            },
                            "pageToken": {
                              "description": "Page token.",
                              "location": "query",
                              "type": "string"
                            },
                            "view": {
                              "description": "Specifies which fields of the ConnectorVersion are returned in the response. Defaults to `BASIC` view.",
                              "location": "query",
                              "type": "string",
                              "enumDescriptions": [
                                "CONNECTOR_VERSION_VIEW_UNSPECIFIED.",
                                "Do not include role grant configs.",
                                "Include role grant configs."
                              ],
                              "enum": [
                                "CONNECTOR_VERSION_VIEW_UNSPECIFIED",
                                "CONNECTOR_VERSION_VIEW_BASIC",
                                "CONNECTOR_VERSION_VIEW_FULL"
                              ]
                            }
                          },
                          "parameterOrder": [
                            "parent"
                          ],
                          "response": {
                            "$ref": "ListConnectorVersionsResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Lists Connector Versions in a given project and location."
                        },
                        "get": {
                          "id": "connectors.projects.locations.providers.connectors.versions.get",
                          "path": "v1/{+name}",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors/{connectorsId}/versions/{versionsId}",
                          "httpMethod": "GET",
                          "parameters": {
                            "name": {
                              "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*/connectors/*/versions/*` Only global location is supported for ConnectorVersion resource.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+/connectors/[^/]+/versions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "view": {
                              "description": "Specifies which fields of the ConnectorVersion are returned in the response. Defaults to `CUSTOMER` view.",
                              "location": "query",
                              "type": "string",
                              "enumDescriptions": [
                                "CONNECTOR_VERSION_VIEW_UNSPECIFIED.",
                                "Do not include role grant configs.",
                                "Include role grant configs."
                              ],
                              "enum": [
                                "CONNECTOR_VERSION_VIEW_UNSPECIFIED",
                                "CONNECTOR_VERSION_VIEW_BASIC",
                                "CONNECTOR_VERSION_VIEW_FULL"
                              ]
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "response": {
                            "$ref": "ConnectorVersion"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Gets details of a single connector version."
                        },
                        "fetchAuthSchema": {
                          "id": "connectors.projects.locations.providers.connectors.versions.fetchAuthSchema",
                          "path": "v1/{+name}:fetchAuthSchema",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors/{connectorsId}/versions/{versionsId}:fetchAuthSchema",
                          "httpMethod": "GET",
                          "parameters": {
                            "name": {
                              "description": "Required. Parent resource of the Connector Version, of the form: `projects/*/locations/*/providers/*/connectors/*/versions/*`",
                              "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+/connectors/[^/]+/versions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "view": {
                              "description": "Optional. View of the AuthSchema. The default value is BASIC.",
                              "location": "query",
                              "type": "string",
                              "enumDescriptions": [
                                "Default value.",
                                "Basic view of the AuthSchema.",
                                "JSON schema view of the AuthSchema.",
                                "EUA Schema view of the AuthSchema."
                              ],
                              "enum": [
                                "AUTH_SCHEMA_VIEW_UNSPECIFIED",
                                "BASIC",
                                "JSON_SCHEMA",
                                "EUA_SCHEMA"
                              ]
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "response": {
                            "$ref": "FetchAuthSchemaResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "fetch and return the list of auth config variables required to override the connection backend auth."
                        }
                      },
                      "resources": {
                        "eventtypes": {
                          "methods": {
                            "list": {
                              "id": "connectors.projects.locations.providers.connectors.versions.eventtypes.list",
                              "path": "v1/{+parent}/eventtypes",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors/{connectorsId}/versions/{versionsId}/eventtypes",
                              "httpMethod": "GET",
                              "parameters": {
                                "parent": {
                                  "description": "Required. Parent resource of the connectors, of the form: `projects/*/locations/*/providers/*/connectors/*/versions/*` Only global location is supported for EventType resource.",
                                  "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+/connectors/[^/]+/versions/[^/]+$",
                                  "location": "path",
                                  "required": true,
                                  "type": "string"
                                },
                                "pageSize": {
                                  "description": "Page size.",
                                  "location": "query",
                                  "type": "integer",
                                  "format": "int32"
                                },
                                "pageToken": {
                                  "description": "Page token.",
                                  "location": "query",
                                  "type": "string"
                                }
                              },
                              "parameterOrder": [
                                "parent"
                              ],
                              "response": {
                                "$ref": "ListEventTypesResponse"
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ],
                              "description": "Lists Event Types in a given Connector Version."
                            },
                            "get": {
                              "id": "connectors.projects.locations.providers.connectors.versions.eventtypes.get",
                              "path": "v1/{+name}",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors/{connectorsId}/versions/{versionsId}/eventtypes/{eventtypesId}",
                              "httpMethod": "GET",
                              "parameters": {
                                "name": {
                                  "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*/connectors/*/versions/*/eventtypes/*` Only global location is supported for EventType resource.",
                                  "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+/connectors/[^/]+/versions/[^/]+/eventtypes/[^/]+$",
                                  "location": "path",
                                  "required": true,
                                  "type": "string"
                                }
                              },
                              "parameterOrder": [
                                "name"
                              ],
                              "response": {
                                "$ref": "EventType"
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ],
                              "description": "Gets details of a single event type."
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "global": {
              "methods": {
                "getSettings": {
                  "id": "connectors.projects.locations.global.getSettings",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/global/settings",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "description": "Required. The resource name of the Settings.",
                      "pattern": "^projects/[^/]+/locations/global/settings$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Settings"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "GetGlobalSettings gets settings of a project. GlobalSettings is a singleton resource."
                },
                "updateSettings": {
                  "id": "connectors.projects.locations.global.updateSettings",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/global/settings",
                  "httpMethod": "PATCH",
                  "parameters": {
                    "name": {
                      "description": "Output only. Resource name of the Connection. Format: projects/{project}/locations/global/settings}",
                      "pattern": "^projects/[^/]+/locations/global/settings$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "updateMask": {
                      "description": "Required. The list of fields to update.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "Settings"
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Update the global settings of a project."
                }
              },
              "resources": {
                "managedZones": {
                  "methods": {
                    "list": {
                      "id": "connectors.projects.locations.global.managedZones.list",
                      "path": "v1/{+parent}/managedZones",
                      "flatPath": "v1/projects/{projectsId}/locations/global/managedZones",
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "description": "Required. Parent resource of the Managed Zone, of the form: `projects/*/locations/global`",
                          "pattern": "^projects/[^/]+/locations/global$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "Page size.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "Page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Filter.",
                          "location": "query",
                          "type": "string"
                        },
                        "orderBy": {
                          "description": "Order by parameters.",
                          "location": "query",
                          "type": "string"
                        },
                        "returnPartialSuccess": {
                          "description": "Optional. If true, allow partial responses for multi-regional Aggregated List requests.",
                          "location": "query",
                          "type": "boolean"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "ListManagedZonesResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "List ManagedZones in a given project"
                    },
                    "get": {
                      "id": "connectors.projects.locations.global.managedZones.get",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/global/managedZones/{managedZonesId}",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name of the form: `projects/*/locations/global/managedZones/*`",
                          "pattern": "^projects/[^/]+/locations/global/managedZones/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "ManagedZone"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Gets details of a single ManagedZone."
                    },
                    "create": {
                      "id": "connectors.projects.locations.global.managedZones.create",
                      "path": "v1/{+parent}/managedZones",
                      "flatPath": "v1/projects/{projectsId}/locations/global/managedZones",
                      "httpMethod": "POST",
                      "parameters": {
                        "parent": {
                          "description": "Required. Parent resource of the ManagedZone, of the form: `projects/*/locations/global`",
                          "pattern": "^projects/[^/]+/locations/global$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "managedZoneId": {
                          "description": "Required. Identifier to assign to the ManagedZone. Must be unique within scope of the parent resource.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "request": {
                        "$ref": "ManagedZone"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Creates a new ManagedZone in a given project and location."
                    },
                    "patch": {
                      "id": "connectors.projects.locations.global.managedZones.patch",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/global/managedZones/{managedZonesId}",
                      "httpMethod": "PATCH",
                      "parameters": {
                        "name": {
                          "description": "Output only. Resource name of the Managed Zone. Format: projects/{project}/locations/global/managedZones/{managed_zone}",
                          "pattern": "^projects/[^/]+/locations/global/managedZones/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "updateMask": {
                          "description": "Required. The list of fields to update. Fields are specified relative to the managedZone. A field will be overwritten if it is in the mask. You can modify only the fields listed below. To update the managedZone details: * `description` * `labels` * `target_project` * `target_network`",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "ManagedZone"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Updates the parameters of a single ManagedZone."
                    },
                    "delete": {
                      "id": "connectors.projects.locations.global.managedZones.delete",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/global/managedZones/{managedZonesId}",
                      "httpMethod": "DELETE",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name of the form: `projects/*/locations/global/managedZones/*`",
                          "pattern": "^projects/[^/]+/locations/global/managedZones/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Deletes a single ManagedZone."
                    }
                  }
                },
                "customConnectors": {
                  "methods": {
                    "delete": {
                      "id": "connectors.projects.locations.global.customConnectors.delete",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/global/customConnectors/{customConnectorsId}",
                      "httpMethod": "DELETE",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name of the form: `projects/{project}/locations/{location}/customConnectors/{connector}`",
                          "pattern": "^projects/[^/]+/locations/global/customConnectors/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "force": {
                          "description": "Optional. If set to true, any customConnectorVersion which is a child resource will also be deleted. https://aip.dev/135#cascading-delete",
                          "location": "query",
                          "type": "boolean"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Deletes a single CustomConnector."
                    },
                    "list": {
                      "id": "connectors.projects.locations.global.customConnectors.list",
                      "path": "v1/{+parent}/customConnectors",
                      "flatPath": "v1/projects/{projectsId}/locations/global/customConnectors",
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "description": "Required. Parent resource of the custom connectors, of the form: `projects/*/locations/*` Only global location is supported for CustomConnector resource.",
                          "pattern": "^projects/[^/]+/locations/global$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "Page size.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "Page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Filter string.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "ListCustomConnectorsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "List CustomConnectorVersions in a given project"
                    },
                    "get": {
                      "id": "connectors.projects.locations.global.customConnectors.get",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/global/customConnectors/{customConnectorsId}",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name of the form: `projects/*/locations/*/customConnectors/*`",
                          "pattern": "^projects/[^/]+/locations/global/customConnectors/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "CustomConnector"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Gets details of a single CustomConnector."
                    },
                    "create": {
                      "id": "connectors.projects.locations.global.customConnectors.create",
                      "path": "v1/{+parent}/customConnectors",
                      "flatPath": "v1/projects/{projectsId}/locations/global/customConnectors",
                      "httpMethod": "POST",
                      "parameters": {
                        "parent": {
                          "description": "Required. Parent resource of the CreateCustomConnector, of the form: `projects/{project}/locations/*`",
                          "pattern": "^projects/[^/]+/locations/global$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "customConnectorId": {
                          "description": "Required. Identifier to assign to the CreateCustomConnector. Must be unique within scope of the parent resource.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "request": {
                        "$ref": "CustomConnector"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Creates a new CustomConnector in a given project and location."
                    },
                    "patch": {
                      "id": "connectors.projects.locations.global.customConnectors.patch",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/global/customConnectors/{customConnectorsId}",
                      "httpMethod": "PATCH",
                      "parameters": {
                        "name": {
                          "description": "Identifier. Resource name of the CustomConnector. Format: projects/{project}/locations/{location}/customConnectors/{connector}",
                          "pattern": "^projects/[^/]+/locations/global/customConnectors/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "updateMask": {
                          "description": "Required. Field mask is used to specify the fields to be overwritten in the Connector resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. Set the mask as \"*\" for full replacement, which means all fields will be overwritten.",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "CustomConnector"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Updates the parameters of a CustomConnector."
                    }
                  },
                  "resources": {
                    "customConnectorVersions": {
                      "methods": {
                        "list": {
                          "id": "connectors.projects.locations.global.customConnectors.customConnectorVersions.list",
                          "path": "v1/{+parent}/customConnectorVersions",
                          "flatPath": "v1/projects/{projectsId}/locations/global/customConnectors/{customConnectorsId}/customConnectorVersions",
                          "httpMethod": "GET",
                          "parameters": {
                            "parent": {
                              "description": "Required. Parent resource of the connectors, of the form: `projects/*/locations/{location}/customConnectors/*/customConnectorVersions/*`",
                              "pattern": "^projects/[^/]+/locations/global/customConnectors/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "pageSize": {
                              "description": "Page size.",
                              "location": "query",
                              "type": "integer",
                              "format": "int32"
                            },
                            "pageToken": {
                              "description": "Page token.",
                              "location": "query",
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "parent"
                          ],
                          "response": {
                            "$ref": "ListCustomConnectorVersionsResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "List CustomConnectorVersions in a given project"
                        },
                        "get": {
                          "id": "connectors.projects.locations.global.customConnectors.customConnectorVersions.get",
                          "path": "v1/{+name}",
                          "flatPath": "v1/projects/{projectsId}/locations/global/customConnectors/{customConnectorsId}/customConnectorVersions/{customConnectorVersionsId}",
                          "httpMethod": "GET",
                          "parameters": {
                            "name": {
                              "description": "Required. Resource name of the form: `projects/*/locations/{location}/customConnectors/*/customConnectorVersions/*`",
                              "pattern": "^projects/[^/]+/locations/global/customConnectors/[^/]+/customConnectorVersions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "response": {
                            "$ref": "CustomConnectorVersion"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Gets details of a single CustomConnectorVersion."
                        },
                        "create": {
                          "id": "connectors.projects.locations.global.customConnectors.customConnectorVersions.create",
                          "path": "v1/{+parent}/customConnectorVersions",
                          "flatPath": "v1/projects/{projectsId}/locations/global/customConnectors/{customConnectorsId}/customConnectorVersions",
                          "httpMethod": "POST",
                          "parameters": {
                            "parent": {
                              "description": "Required. Parent resource of the CreateCustomConnector, of the form: `projects/{project}/locations/{location}/customConnectors/{custom_connector}`",
                              "pattern": "^projects/[^/]+/locations/global/customConnectors/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "customConnectorVersionId": {
                              "description": "Required. Identifier to assign to the CreateCustomConnectorVersion. Must be unique within scope of the parent resource.",
                              "location": "query",
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "parent"
                          ],
                          "request": {
                            "$ref": "CustomConnectorVersion"
                          },
                          "response": {
                            "$ref": "Operation"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Creates a new CustomConnectorVersion in a given project and location."
                        }
                      }
                    }
                  }
                }
              }
            },
            "endpointAttachments": {
              "methods": {
                "list": {
                  "id": "connectors.projects.locations.endpointAttachments.list",
                  "path": "v1/{+parent}/endpointAttachments",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpointAttachments",
                  "httpMethod": "GET",
                  "parameters": {
                    "parent": {
                      "description": "Required. Parent resource od the EndpointAttachment, of the form: `projects/*/locations/*`",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "Page size.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "Page token.",
                      "location": "query",
                      "type": "string"
                    },
                    "filter": {
                      "description": "Filter.",
                      "location": "query",
                      "type": "string"
                    },
                    "orderBy": {
                      "description": "Order by parameters.",
                      "location": "query",
                      "type": "string"
                    },
                    "view": {
                      "description": "Optional. Specifies which fields of the EndpointAttachment are returned in the response. Defaults to `ENDPOINT_ATTACHMENT_VIEW_BASIC` view.",
                      "location": "query",
                      "type": "string",
                      "enumDescriptions": [
                        "ENDPOINT_ATTACHMENT_VIEW_UNSPECIFIED.",
                        "Do not include status.",
                        "Includes Status."
                      ],
                      "enum": [
                        "ENDPOINT_ATTACHMENT_VIEW_UNSPECIFIED",
                        "ENDPOINT_ATTACHMENT_VIEW_BASIC",
                        "ENDPOINT_ATTACHMENT_VIEW_FULL"
                      ]
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "ListEndpointAttachmentsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "List EndpointAttachments in a given project"
                },
                "get": {
                  "id": "connectors.projects.locations.endpointAttachments.get",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpointAttachments/{endpointAttachmentsId}",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "description": "Required. Resource name of the form: `projects/*/locations/*/endpointAttachments/*`",
                      "pattern": "^projects/[^/]+/locations/[^/]+/endpointAttachments/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "view": {
                      "description": "Optional. Specifies which fields of the EndpointAttachment are returned in the response. Defaults to `ENDPOINT_ATTACHMENT_VIEW_BASIC` view.",
                      "location": "query",
                      "type": "string",
                      "enumDescriptions": [
                        "ENDPOINT_ATTACHMENT_VIEW_UNSPECIFIED.",
                        "Do not include status.",
                        "Includes Status."
                      ],
                      "enum": [
                        "ENDPOINT_ATTACHMENT_VIEW_UNSPECIFIED",
                        "ENDPOINT_ATTACHMENT_VIEW_BASIC",
                        "ENDPOINT_ATTACHMENT_VIEW_FULL"
                      ]
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "EndpointAttachment"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Gets details of a single EndpointAttachment."
                },
                "create": {
                  "id": "connectors.projects.locations.endpointAttachments.create",
                  "path": "v1/{+parent}/endpointAttachments",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpointAttachments",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. Parent resource of the EndpointAttachment, of the form: `projects/*/locations/*`",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "endpointAttachmentId": {
                      "description": "Required. Identifier to assign to the EndpointAttachment. Must be unique within scope of the parent resource. The regex is: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "EndpointAttachment"
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Creates a new EndpointAttachment in a given project and location."
                },
                "patch": {
                  "id": "connectors.projects.locations.endpointAttachments.patch",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpointAttachments/{endpointAttachmentsId}",
                  "httpMethod": "PATCH",
                  "parameters": {
                    "name": {
                      "description": "Output only. Resource name of the Endpoint Attachment. Format: projects/{project}/locations/{location}/endpointAttachments/{endpoint_attachment}",
                      "pattern": "^projects/[^/]+/locations/[^/]+/endpointAttachments/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "updateMask": {
                      "description": "Required. The list of fields to update. Fields are specified relative to the endpointAttachment. A field will be overwritten if it is in the mask. You can modify only the fields listed below. To update the endpointAttachment details: * `description` * `labels`",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "EndpointAttachment"
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Updates the parameters of a single EndpointAttachment."
                },
                "delete": {
                  "id": "connectors.projects.locations.endpointAttachments.delete",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpointAttachments/{endpointAttachmentsId}",
                  "httpMethod": "DELETE",
                  "parameters": {
                    "name": {
                      "description": "Required. Resource name of the form: `projects/*/locations/*/endpointAttachments/*`",
                      "pattern": "^projects/[^/]+/locations/[^/]+/endpointAttachments/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Deletes a single EndpointAttachment."
                }
              }
            },
            "customConnectors": {
              "methods": {
                "validateCustomConnectorSpec": {
                  "id": "connectors.projects.locations.customConnectors.validateCustomConnectorSpec",
                  "path": "v1/{+parent}/customConnectors:validateCustomConnectorSpec",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customConnectors:validateCustomConnectorSpec",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. Location at which the custom connector is being created.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "ValidateCustomConnectorSpecRequest"
                  },
                  "response": {
                    "$ref": "ValidateCustomConnectorSpecResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Validates a Custom Connector Spec."
                }
              },
              "resources": {
                "customConnectorVersions": {
                  "methods": {
                    "delete": {
                      "id": "connectors.projects.locations.customConnectors.customConnectorVersions.delete",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customConnectors/{customConnectorsId}/customConnectorVersions/{customConnectorVersionsId}",
                      "httpMethod": "DELETE",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name of the form: `projects/{project}/locations/{location}/customConnectors/{custom_connector}/customConnectorVersions/{custom_connector_version}`",
                          "pattern": "^projects/[^/]+/locations/[^/]+/customConnectors/[^/]+/customConnectorVersions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Deletes a single CustomConnectorVersion."
                    },
                    "deprecate": {
                      "id": "connectors.projects.locations.customConnectors.customConnectorVersions.deprecate",
                      "path": "v1/{+name}:deprecate",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customConnectors/{customConnectorsId}/customConnectorVersions/{customConnectorVersionsId}:deprecate",
                      "httpMethod": "POST",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name of the form: `projects/{project}/locations/{location}/customConnectors/{custom_connector}/customConnectorVersions/{custom_connector_version}`",
                          "pattern": "^projects/[^/]+/locations/[^/]+/customConnectors/[^/]+/customConnectorVersions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "DeprecateCustomConnectorVersionRequest"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Deprecates a single CustomConnectorVersion."
                    },
                    "publish": {
                      "id": "connectors.projects.locations.customConnectors.customConnectorVersions.publish",
                      "path": "v1/{+name}:publish",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customConnectors/{customConnectorsId}/customConnectorVersions/{customConnectorVersionsId}:publish",
                      "httpMethod": "POST",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name of the form: `projects/{project}/locations/{location}/customConnectors/{custom_connector}/customConnectorVersions/{custom_connector_version}`",
                          "pattern": "^projects/[^/]+/locations/[^/]+/customConnectors/[^/]+/customConnectorVersions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "PublishCustomConnectorVersionRequest"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Publish request for the CustomConnectorVersion. Once approved, the CustomConnectorVersion will be published as PartnerConnector."
                    },
                    "withdraw": {
                      "id": "connectors.projects.locations.customConnectors.customConnectorVersions.withdraw",
                      "path": "v1/{+name}:withdraw",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customConnectors/{customConnectorsId}/customConnectorVersions/{customConnectorVersionsId}:withdraw",
                      "httpMethod": "POST",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name of the form: `projects/{project}/locations/{location}/customConnectors/{custom_connector}/customConnectorVersions/{custom_connector_version}`",
                          "pattern": "^projects/[^/]+/locations/[^/]+/customConnectors/[^/]+/customConnectorVersions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "WithdrawCustomConnectorVersionRequest"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Withdraw the publish request for the CustomConnectorVersion. This can only be used before the CustomConnectorVersion is published."
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "version": "v1",
  "ownerDomain": "google.com",
  "basePath": "",
  "baseUrl": "https://connectors.googleapis.com/",
  "description": "Enables users to create and manage connections to Google Cloud services and third-party business applications using the Connectors interface.",
  "documentationLink": "https://cloud.google.com/apigee/docs/api-platform/connectors/about-connectors",
  "ownerName": "Google",
  "title": "Connectors API",
  "name": "connectors",
  "fullyEncodeReservedExpansion": true,
  "schemas": {
    "ListenEventRequest": {
      "id": "ListenEventRequest",
      "description": "Expected request for ListenEvent API.",
      "type": "object",
      "properties": {
        "payload": {
          "description": "Optional. Request payload.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          }
        }
      }
    },
    "ListenEventResponse": {
      "id": "ListenEventResponse",
      "description": "Expected response for ListenEvent API.",
      "type": "object",
      "properties": {}
    },
    "ListOperationsResponse": {
      "id": "ListOperationsResponse",
      "description": "The response message for Operations.ListOperations.",
      "type": "object",
      "properties": {
        "operations": {
          "description": "A list of operations that matches the specified filter in the request.",
          "type": "array",
          "items": {
            "$ref": "Operation"
          }
        },
        "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.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "Operation": {
      "id": "Operation",
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "type": "object",
      "properties": {
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
          "type": "string"
        },
        "metadata": {
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
          "type": "object",
          "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"
        },
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "Status"
        },
        "response": {
          "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        }
      }
    },
    "Status": {
      "id": "Status",
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
      "type": "object",
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "type": "integer",
          "format": "int32"
        },
        "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": {
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            }
          }
        }
      }
    },
    "Empty": {
      "id": "Empty",
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
      "type": "object",
      "properties": {}
    },
    "CancelOperationRequest": {
      "id": "CancelOperationRequest",
      "description": "The request message for Operations.CancelOperation.",
      "type": "object",
      "properties": {}
    },
    "ListConnectionsResponse": {
      "id": "ListConnectionsResponse",
      "description": "Response message for ConnectorsService.ListConnections",
      "type": "object",
      "properties": {
        "connections": {
          "description": "Connections.",
          "type": "array",
          "items": {
            "$ref": "Connection"
          }
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        },
        "unreachable": {
          "description": "Locations that could not be reached.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "Connection": {
      "id": "Connection",
      "description": "Connection represents an instance of connector.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. Resource name of the Connection. Format: projects/{project}/locations/{location}/connections/{connection}",
          "readOnly": true,
          "type": "string"
        },
        "createTime": {
          "description": "Output only. Created time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Updated time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "labels": {
          "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "description": {
          "description": "Optional. Description of the resource.",
          "type": "string"
        },
        "connectorVersion": {
          "description": "Required. Connector version on which the connection is created. The format is: projects/*/locations/*/providers/*/connectors/*/versions/* Only global location is supported for ConnectorVersion resource.",
          "type": "string"
        },
        "status": {
          "description": "Output only. Current status of the connection.",
          "readOnly": true,
          "$ref": "ConnectionStatus"
        },
        "configVariables": {
          "description": "Optional. Configuration for configuring the connection with an external system.",
          "type": "array",
          "items": {
            "$ref": "ConfigVariable"
          }
        },
        "authConfig": {
          "description": "Optional. Configuration for establishing the connection's authentication with an external system.",
          "$ref": "AuthConfig"
        },
        "lockConfig": {
          "description": "Optional. Configuration that indicates whether or not the Connection can be edited.",
          "$ref": "LockConfig"
        },
        "destinationConfigs": {
          "description": "Optional. Configuration of the Connector's destination. Only accepted for Connectors that accepts user defined destination(s).",
          "type": "array",
          "items": {
            "$ref": "DestinationConfig"
          }
        },
        "imageLocation": {
          "description": "Output only. GCR location where the runtime image is stored. formatted like: gcr.io/{bucketName}/{imageName}",
          "readOnly": true,
          "type": "string"
        },
        "serviceAccount": {
          "description": "Optional. Service account needed for runtime plane to access Google Cloud resources.",
          "type": "string"
        },
        "serviceDirectory": {
          "description": "Output only. The name of the Service Directory service name. Used for Private Harpoon to resolve the ILB address. e.g. \"projects/cloud-connectors-e2e-testing/locations/us-central1/namespaces/istio-system/services/istio-ingressgateway-connectors\"",
          "readOnly": true,
          "type": "string"
        },
        "envoyImageLocation": {
          "description": "Output only. GCR location where the envoy image is stored. formatted like: gcr.io/{bucketName}/{imageName}",
          "readOnly": true,
          "type": "string"
        },
        "suspended": {
          "description": "Optional. Suspended indicates if a user has suspended a connection or not.",
          "type": "boolean"
        },
        "nodeConfig": {
          "description": "Optional. Node configuration for the connection.",
          "$ref": "NodeConfig"
        },
        "logConfig": {
          "description": "Optional. Log configuration for the connection.",
          "$ref": "ConnectorsLogConfig"
        },
        "sslConfig": {
          "description": "Optional. Ssl config of a connection",
          "$ref": "SslConfig"
        },
        "subscriptionType": {
          "description": "Output only. This subscription type enum states the subscription type of the project.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Unspecified subscription type.",
            "PayG subscription.",
            "Paid Subscription."
          ],
          "enum": [
            "SUBSCRIPTION_TYPE_UNSPECIFIED",
            "PAY_G",
            "PAID"
          ]
        },
        "connectionRevision": {
          "description": "Output only. Connection revision. This field is only updated when the connection is created or updated by User.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "eventingEnablementType": {
          "description": "Optional. Eventing enablement type. Will be nil if eventing is not enabled.",
          "type": "string",
          "enumDescriptions": [
            "Eventing Enablement Type Unspecifeied.",
            "Both connection and eventing.",
            "Only Eventing."
          ],
          "enum": [
            "EVENTING_ENABLEMENT_TYPE_UNSPECIFIED",
            "EVENTING_AND_CONNECTION",
            "ONLY_EVENTING"
          ]
        },
        "eventingConfig": {
          "description": "Optional. Eventing config of a connection",
          "$ref": "EventingConfig"
        },
        "connectorVersionLaunchStage": {
          "description": "Output only. Flag to mark the version indicating the launch stage.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "LAUNCH_STAGE_UNSPECIFIED.",
            "PREVIEW.",
            "GA.",
            "DEPRECATED.",
            "TEST.",
            "PRIVATE_PREVIEW."
          ],
          "enum": [
            "LAUNCH_STAGE_UNSPECIFIED",
            "PREVIEW",
            "GA",
            "DEPRECATED",
            "TEST",
            "PRIVATE_PREVIEW"
          ]
        },
        "eventingRuntimeData": {
          "description": "Output only. Eventing Runtime Data.",
          "readOnly": true,
          "$ref": "EventingRuntimeData"
        },
        "connectorVersionInfraConfig": {
          "description": "Output only. Infra configs supported by Connector Version.",
          "readOnly": true,
          "$ref": "ConnectorVersionInfraConfig"
        },
        "isTrustedTester": {
          "description": "Output only. Is trusted tester program enabled for the project.",
          "readOnly": true,
          "type": "boolean"
        },
        "authOverrideEnabled": {
          "description": "Optional. Auth override enabled for the connection. If Auth Override is enabled, Connection allows the backend service auth to be overridden in the entities/actions API.",
          "type": "boolean"
        },
        "billingConfig": {
          "description": "Output only. Billing config for the connection.",
          "readOnly": true,
          "$ref": "BillingConfig"
        },
        "asyncOperationsEnabled": {
          "description": "Optional. Async operations enabled for the connection. If Async Operations is enabled, Connection allows the customers to initiate async long running operations using the actions API.",
          "type": "boolean"
        },
        "host": {
          "description": "Output only. The name of the Hostname of the Service Directory service with TLS.",
          "readOnly": true,
          "type": "string"
        },
        "tlsServiceDirectory": {
          "description": "Output only. The name of the Service Directory service with TLS.",
          "readOnly": true,
          "type": "string"
        },
        "euaOauthAuthConfig": {
          "description": "Optional. Additional Oauth2.0 Auth config for EUA. If the connection is configured using non-OAuth authentication but OAuth needs to be used for EUA, this field can be populated with the OAuth config. This should be a OAuth2AuthCodeFlow Auth type only.",
          "$ref": "AuthConfig"
        },
        "trafficShapingConfigs": {
          "description": "Optional. Traffic shaping configuration for the connection.",
          "type": "array",
          "items": {
            "$ref": "TrafficShapingConfig"
          }
        },
        "fallbackOnAdminCredentials": {
          "description": "Optional. Fallback on admin credentials for the connection. If this both auth_override_enabled and fallback_on_admin_credentials are set to true, the connection will use the admin credentials if the dynamic auth header is not present during auth override.",
          "type": "boolean"
        },
        "adminFilters": {
          "description": "Optional. Admin filters for the connection. These are used by Gemini Enterprise.",
          "type": "array",
          "items": {
            "$ref": "AdminFilters"
          }
        }
      }
    },
    "ConnectionStatus": {
      "id": "ConnectionStatus",
      "description": "ConnectionStatus indicates the state of the connection.",
      "type": "object",
      "properties": {
        "state": {
          "description": "State.",
          "type": "string",
          "enumDescriptions": [
            "Connection does not have a state yet.",
            "Connection is being created.",
            "Connection is running and ready for requests.",
            "Connection is stopped.",
            "Connection is being deleted.",
            "Connection is being updated.",
            "Connection is not running due to an error.",
            "Connection is not running because the authorization configuration is not complete."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "CREATING",
            "ACTIVE",
            "INACTIVE",
            "DELETING",
            "UPDATING",
            "ERROR",
            "AUTHORIZATION_REQUIRED"
          ]
        },
        "description": {
          "description": "Description.",
          "type": "string"
        },
        "status": {
          "description": "Status provides detailed information for the state.",
          "type": "string"
        }
      }
    },
    "ConfigVariable": {
      "id": "ConfigVariable",
      "description": "ConfigVariable represents a configuration variable present in a Connection. or AuthConfig.",
      "type": "object",
      "properties": {
        "key": {
          "description": "Optional. Key of the config variable.",
          "type": "string"
        },
        "intValue": {
          "description": "Optional. Value is an integer",
          "type": "string",
          "format": "int64"
        },
        "boolValue": {
          "description": "Optional. Value is a bool.",
          "type": "boolean"
        },
        "stringValue": {
          "description": "Optional. Value is a string.",
          "type": "string"
        },
        "secretValue": {
          "description": "Optional. Value is a secret.",
          "$ref": "Secret"
        },
        "encryptionKeyValue": {
          "description": "Optional. Value is a Encryption Key.",
          "$ref": "EncryptionKey"
        }
      }
    },
    "Secret": {
      "id": "Secret",
      "description": "Secret provides a reference to entries in Secret Manager.",
      "type": "object",
      "properties": {
        "secretVersion": {
          "description": "Optional. The resource name of the secret version in the format, format as: `projects/*/secrets/*/versions/*`.",
          "type": "string"
        }
      }
    },
    "EncryptionKey": {
      "id": "EncryptionKey",
      "description": "Encryption Key value.",
      "type": "object",
      "properties": {
        "type": {
          "description": "Optional. Specifies the type of the encryption key.",
          "type": "string",
          "enumDescriptions": [
            "Value type is not specified.",
            "Google Managed.",
            "Customer Managed."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "GOOGLE_MANAGED",
            "CUSTOMER_MANAGED"
          ]
        },
        "kmsKeyName": {
          "description": "Optional. The [KMS key name] with which the content of the Operation is encrypted. The expected format: `projects/*/locations/*/keyRings/*/cryptoKeys/*`. Will be empty string if google managed.",
          "type": "string"
        }
      }
    },
    "AuthConfig": {
      "id": "AuthConfig",
      "description": "AuthConfig defines details of a authentication type.",
      "type": "object",
      "properties": {
        "authType": {
          "description": "Optional. The type of authentication configured.",
          "type": "string",
          "enumDescriptions": [
            "Authentication type not specified.",
            "Username and Password Authentication.",
            "JSON Web Token (JWT) Profile for Oauth 2.0 Authorization Grant based authentication",
            "Oauth 2.0 Client Credentials Grant Authentication",
            "SSH Public Key Authentication",
            "Oauth 2.0 Authorization Code Flow",
            "Google authentication",
            "Oauth 2.0 Authorization Code Flow with Google Provided OAuth Client"
          ],
          "enum": [
            "AUTH_TYPE_UNSPECIFIED",
            "USER_PASSWORD",
            "OAUTH2_JWT_BEARER",
            "OAUTH2_CLIENT_CREDENTIALS",
            "SSH_PUBLIC_KEY",
            "OAUTH2_AUTH_CODE_FLOW",
            "GOOGLE_AUTHENTICATION",
            "OAUTH2_AUTH_CODE_FLOW_GOOGLE_MANAGED"
          ]
        },
        "userPassword": {
          "description": "UserPassword.",
          "$ref": "UserPassword"
        },
        "oauth2JwtBearer": {
          "description": "Oauth2JwtBearer.",
          "$ref": "Oauth2JwtBearer"
        },
        "oauth2ClientCredentials": {
          "description": "Oauth2ClientCredentials.",
          "$ref": "Oauth2ClientCredentials"
        },
        "sshPublicKey": {
          "description": "SSH Public Key.",
          "$ref": "SshPublicKey"
        },
        "oauth2AuthCodeFlow": {
          "description": "Oauth2AuthCodeFlow.",
          "$ref": "Oauth2AuthCodeFlow"
        },
        "oauth2AuthCodeFlowGoogleManaged": {
          "description": "Oauth2AuthCodeFlowGoogleManaged.",
          "$ref": "Oauth2AuthCodeFlowGoogleManaged"
        },
        "additionalVariables": {
          "description": "Optional. List containing additional auth configs.",
          "type": "array",
          "items": {
            "$ref": "ConfigVariable"
          }
        },
        "authKey": {
          "description": "Optional. Identifier key for auth config",
          "type": "string"
        }
      }
    },
    "UserPassword": {
      "id": "UserPassword",
      "description": "Parameters to support Username and Password Authentication.",
      "type": "object",
      "properties": {
        "username": {
          "description": "Optional. Username.",
          "type": "string"
        },
        "password": {
          "description": "Optional. Secret version reference containing the password.",
          "$ref": "Secret"
        }
      }
    },
    "Oauth2JwtBearer": {
      "id": "Oauth2JwtBearer",
      "description": "Parameters to support JSON Web Token (JWT) Profile for Oauth 2.0 Authorization Grant based authentication. See https://tools.ietf.org/html/rfc7523 for more details.",
      "type": "object",
      "properties": {
        "clientKey": {
          "description": "Optional. Secret version reference containing a PKCS#8 PEM-encoded private key associated with the Client Certificate. This private key will be used to sign JWTs used for the jwt-bearer authorization grant. Specified in the form as: `projects/*/secrets/*/versions/*`.",
          "$ref": "Secret"
        },
        "jwtClaims": {
          "description": "Optional. JwtClaims providers fields to generate the token.",
          "$ref": "JwtClaims"
        }
      }
    },
    "JwtClaims": {
      "id": "JwtClaims",
      "description": "JWT claims used for the jwt-bearer authorization grant.",
      "type": "object",
      "properties": {
        "issuer": {
          "description": "Optional. Value for the \"iss\" claim.",
          "type": "string"
        },
        "subject": {
          "description": "Optional. Value for the \"sub\" claim.",
          "type": "string"
        },
        "audience": {
          "description": "Optional. Value for the \"aud\" claim.",
          "type": "string"
        }
      }
    },
    "Oauth2ClientCredentials": {
      "id": "Oauth2ClientCredentials",
      "description": "Parameters to support Oauth 2.0 Client Credentials Grant Authentication. See https://tools.ietf.org/html/rfc6749#section-1.3.4 for more details.",
      "type": "object",
      "properties": {
        "clientId": {
          "description": "Optional. The client identifier.",
          "type": "string"
        },
        "clientSecret": {
          "description": "Optional. Secret version reference containing the client secret.",
          "$ref": "Secret"
        }
      }
    },
    "SshPublicKey": {
      "id": "SshPublicKey",
      "description": "Parameters to support Ssh public key Authentication.",
      "type": "object",
      "properties": {
        "username": {
          "description": "Optional. The user account used to authenticate.",
          "type": "string"
        },
        "sshClientCert": {
          "description": "Optional. SSH Client Cert. It should contain both public and private key.",
          "$ref": "Secret"
        },
        "certType": {
          "description": "Optional. Format of SSH Client cert.",
          "type": "string"
        },
        "sshClientCertPass": {
          "description": "Optional. Password (passphrase) for ssh client certificate if it has one.",
          "$ref": "Secret"
        }
      }
    },
    "Oauth2AuthCodeFlow": {
      "id": "Oauth2AuthCodeFlow",
      "description": "Parameters to support Oauth 2.0 Auth Code Grant Authentication. See https://www.rfc-editor.org/rfc/rfc6749#section-1.3.1 for more details.",
      "type": "object",
      "properties": {
        "authCode": {
          "description": "Optional. Authorization code to be exchanged for access and refresh tokens.",
          "type": "string"
        },
        "pkceVerifier": {
          "description": "Optional. PKCE verifier to be used during the auth code exchange.",
          "type": "string"
        },
        "redirectUri": {
          "description": "Optional. Redirect URI to be provided during the auth code exchange.",
          "type": "string"
        },
        "clientId": {
          "description": "Optional. Client ID for user-provided OAuth app.",
          "type": "string"
        },
        "clientSecret": {
          "description": "Optional. Client secret for user-provided OAuth app.",
          "$ref": "Secret"
        },
        "scopes": {
          "description": "Optional. Scopes the connection will request when the user performs the auth code flow.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "enablePkce": {
          "description": "Optional. Whether to enable PKCE when the user performs the auth code flow.",
          "type": "boolean"
        },
        "authUri": {
          "description": "Optional. Auth URL for Authorization Code Flow",
          "type": "string"
        }
      }
    },
    "Oauth2AuthCodeFlowGoogleManaged": {
      "id": "Oauth2AuthCodeFlowGoogleManaged",
      "description": "Parameters to support Oauth 2.0 Auth Code Grant Authentication using Google Provided OAuth Client. See https://tools.ietf.org/html/rfc6749#section-1.3.1 for more details.",
      "type": "object",
      "properties": {
        "authCode": {
          "description": "Optional. Authorization code to be exchanged for access and refresh tokens.",
          "type": "string"
        },
        "redirectUri": {
          "description": "Optional. Redirect URI to be provided during the auth code exchange.",
          "type": "string"
        },
        "scopes": {
          "description": "Required. Scopes the connection will request when the user performs the auth code flow.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "LockConfig": {
      "id": "LockConfig",
      "description": "Determines whether or no a connection is locked. If locked, a reason must be specified.",
      "type": "object",
      "properties": {
        "locked": {
          "description": "Optional. Indicates whether or not the connection is locked.",
          "type": "boolean"
        },
        "reason": {
          "description": "Optional. Describes why a connection is locked.",
          "type": "string"
        }
      }
    },
    "DestinationConfig": {
      "id": "DestinationConfig",
      "description": "Define the Connectors target endpoint.",
      "type": "object",
      "properties": {
        "key": {
          "description": "Optional. The key is the destination identifier that is supported by the Connector.",
          "type": "string"
        },
        "destinations": {
          "description": "Optional. The destinations for the key.",
          "type": "array",
          "items": {
            "$ref": "Destination"
          }
        }
      }
    },
    "Destination": {
      "id": "Destination",
      "type": "object",
      "properties": {
        "serviceAttachment": {
          "description": "PSC service attachments. Format: projects/*/regions/*/serviceAttachments/*",
          "deprecated": true,
          "type": "string"
        },
        "host": {
          "description": "For publicly routable host.",
          "type": "string"
        },
        "port": {
          "description": "Optional. The port is the target port number that is accepted by the destination.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "NodeConfig": {
      "id": "NodeConfig",
      "description": "Node configuration for the connection.",
      "type": "object",
      "properties": {
        "minNodeCount": {
          "description": "Optional. Minimum number of nodes in the runtime nodes.",
          "type": "integer",
          "format": "int32"
        },
        "maxNodeCount": {
          "description": "Optional. Maximum number of nodes in the runtime nodes.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "ConnectorsLogConfig": {
      "id": "ConnectorsLogConfig",
      "description": "Log configuration for the connection.",
      "type": "object",
      "properties": {
        "enabled": {
          "description": "Optional. Enabled represents whether logging is enabled or not for a connection.",
          "type": "boolean"
        },
        "level": {
          "description": "Optional. Log configuration level.",
          "type": "string",
          "enumDescriptions": [
            "Log level unspecified.",
            "Only error logs are enabled.",
            "Info and error logs are enabled.",
            "Debug and high verbosity logs are enabled."
          ],
          "enum": [
            "LOG_LEVEL_UNSPECIFIED",
            "ERROR",
            "INFO",
            "DEBUG"
          ]
        }
      }
    },
    "SslConfig": {
      "id": "SslConfig",
      "description": "SSL Configuration of a connection",
      "type": "object",
      "properties": {
        "type": {
          "description": "Optional. Controls the ssl type for the given connector version.",
          "type": "string",
          "enumDescriptions": [
            "No SSL configuration required.",
            "TLS Handshake",
            "mutual TLS (MTLS) Handshake"
          ],
          "enum": [
            "SSL_TYPE_UNSPECIFIED",
            "TLS",
            "MTLS"
          ]
        },
        "trustModel": {
          "description": "Optional. Trust Model of the SSL connection",
          "type": "string",
          "enumDescriptions": [
            "Public Trust Model. Takes the Default Java trust store.",
            "Private Trust Model. Takes custom/private trust store.",
            "Insecure Trust Model. Accept all certificates."
          ],
          "enum": [
            "PUBLIC",
            "PRIVATE",
            "INSECURE"
          ]
        },
        "privateServerCertificate": {
          "description": "Optional. Private Server Certificate. Needs to be specified if trust model is `PRIVATE`.",
          "$ref": "Secret"
        },
        "clientCertificate": {
          "description": "Optional. Client Certificate",
          "$ref": "Secret"
        },
        "clientPrivateKey": {
          "description": "Optional. Client Private Key",
          "$ref": "Secret"
        },
        "clientPrivateKeyPass": {
          "description": "Optional. Secret containing the passphrase protecting the Client Private Key",
          "$ref": "Secret"
        },
        "serverCertType": {
          "description": "Optional. Type of Server Cert (PEM/JKS/.. etc.)",
          "type": "string",
          "enumDescriptions": [
            "Cert type unspecified.",
            "Privacy Enhanced Mail (PEM) Type"
          ],
          "enum": [
            "CERT_TYPE_UNSPECIFIED",
            "PEM"
          ]
        },
        "clientCertType": {
          "description": "Optional. Type of Client Cert (PEM/JKS/.. etc.)",
          "type": "string",
          "enumDescriptions": [
            "Cert type unspecified.",
            "Privacy Enhanced Mail (PEM) Type"
          ],
          "enum": [
            "CERT_TYPE_UNSPECIFIED",
            "PEM"
          ]
        },
        "useSsl": {
          "description": "Optional. Bool for enabling SSL",
          "type": "boolean"
        },
        "additionalVariables": {
          "description": "Optional. Additional SSL related field values",
          "type": "array",
          "items": {
            "$ref": "ConfigVariable"
          }
        }
      }
    },
    "EventingConfig": {
      "id": "EventingConfig",
      "description": "Eventing Configuration of a connection next: 21",
      "type": "object",
      "properties": {
        "registrationDestinationConfig": {
          "description": "Optional. Registration endpoint for auto registration.",
          "$ref": "DestinationConfig"
        },
        "authConfig": {
          "description": "Optional. Auth details for the webhook adapter.",
          "$ref": "AuthConfig"
        },
        "listenerAuthConfig": {
          "description": "Optional. Auth details for the event listener.",
          "$ref": "AuthConfig"
        },
        "additionalVariables": {
          "description": "Optional. Additional eventing related field values",
          "type": "array",
          "items": {
            "$ref": "ConfigVariable"
          }
        },
        "enrichmentEnabled": {
          "description": "Optional. Enrichment Enabled.",
          "type": "boolean"
        },
        "privateConnectivityEnabled": {
          "description": "Optional. Private Connectivity Enabled.",
          "type": "boolean"
        },
        "eventsListenerIngressEndpoint": {
          "description": "Output only. Ingress endpoint of the event listener. This is used only when private connectivity is enabled.",
          "readOnly": true,
          "type": "string"
        },
        "deadLetterConfig": {
          "description": "Optional. Dead letter configuration for eventing of a connection.",
          "$ref": "DeadLetterConfig"
        },
        "proxyDestinationConfig": {
          "description": "Optional. Proxy for Eventing auto-registration.",
          "$ref": "DestinationConfig"
        },
        "enrichmentConfig": {
          "description": "Optional. Data enrichment configuration.",
          "$ref": "EnrichmentConfig"
        },
        "sslConfig": {
          "description": "Optional. Ssl config of a connection",
          "$ref": "SslConfig"
        },
        "privateConnectivityAllowlistedProjects": {
          "description": "Optional. List of projects to be allowlisted for the service attachment created in the tenant project for eventing ingress.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allowedEventTypes": {
          "description": "Optional. List of allowed event types for the connection.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "globalEventFilter": {
          "description": "Optional. Filter to be applied on the events to be received by the connection.",
          "type": "string"
        }
      }
    },
    "DeadLetterConfig": {
      "id": "DeadLetterConfig",
      "description": "Dead Letter configuration details provided by the user.",
      "type": "object",
      "properties": {
        "topic": {
          "description": "Optional. Topic to push events which couldn't be processed.",
          "type": "string"
        },
        "projectId": {
          "description": "Optional. Project which has the topic given.",
          "type": "string"
        }
      }
    },
    "EnrichmentConfig": {
      "id": "EnrichmentConfig",
      "description": "Data enrichment configuration.",
      "type": "object",
      "properties": {
        "appendAcl": {
          "description": "Optional. Append ACL to the event.",
          "type": "boolean"
        }
      }
    },
    "EventingRuntimeData": {
      "id": "EventingRuntimeData",
      "description": "Eventing runtime data has the details related to eventing managed by the system.",
      "type": "object",
      "properties": {
        "status": {
          "description": "Output only. Current status of eventing.",
          "readOnly": true,
          "$ref": "EventingStatus"
        },
        "eventsListenerEndpoint": {
          "description": "Output only. Events listener endpoint. The value will populated after provisioning the events listener.",
          "readOnly": true,
          "type": "string"
        },
        "eventsListenerPscSa": {
          "description": "Output only. Events listener PSC Service attachment. The value will be populated after provisioning the events listener with private connectivity enabled.",
          "readOnly": true,
          "type": "string"
        },
        "webhookData": {
          "description": "Output only. Webhook data.",
          "readOnly": true,
          "$ref": "WebhookData"
        },
        "webhookSubscriptions": {
          "description": "Output only. Webhook subscriptions.",
          "readOnly": true,
          "$ref": "WebhookSubscriptions"
        }
      }
    },
    "EventingStatus": {
      "id": "EventingStatus",
      "description": "EventingStatus indicates the state of eventing.",
      "type": "object",
      "properties": {
        "state": {
          "description": "Output only. State.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Default state.",
            "Eventing is enabled and ready to receive events.",
            "Eventing is not active due to an error.",
            "Ingress endpoint required."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "ERROR",
            "INGRESS_ENDPOINT_REQUIRED"
          ]
        },
        "description": {
          "description": "Output only. Description of error if State is set to \"ERROR\".",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "WebhookData": {
      "id": "WebhookData",
      "description": "WebhookData has details of webhook configuration.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. Name of the Webhook",
          "readOnly": true,
          "type": "string"
        },
        "id": {
          "description": "Output only. ID to uniquely identify webhook.",
          "readOnly": true,
          "type": "string"
        },
        "additionalVariables": {
          "description": "Output only. Additional webhook related field values.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "ConfigVariable"
          }
        },
        "createTime": {
          "description": "Output only. Timestamp when the webhook was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Timestamp when the webhook was last updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "nextRefreshTime": {
          "description": "Output only. Next webhook refresh time. Will be null if refresh is not supported.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "eventTypes": {
          "description": "Output only. List of event types for the webhook. This is the event types subscribed by the current webhook.",
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "eventSubscriptions": {
          "description": "Output only. List of event subscriptions which are using the webhook.",
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "WebhookSubscriptions": {
      "id": "WebhookSubscriptions",
      "description": "WebhookSubscriptions has details of webhook subscriptions.",
      "type": "object",
      "properties": {
        "webhookData": {
          "description": "Output only. Webhook data.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "WebhookData"
          }
        }
      }
    },
    "ConnectorVersionInfraConfig": {
      "id": "ConnectorVersionInfraConfig",
      "description": "This configuration provides infra configs like rate limit threshold which need to be configurable for every connector version",
      "type": "object",
      "properties": {
        "ratelimitThreshold": {
          "description": "Output only. Max QPS supported by the connector version before throttling of requests.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "internalclientRatelimitThreshold": {
          "description": "Output only. Max QPS supported for internal requests originating from Connd.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "hpaConfig": {
          "description": "Output only. HPA autoscaling config.",
          "readOnly": true,
          "$ref": "HPAConfig"
        },
        "resourceRequests": {
          "description": "Output only. System resource requests.",
          "readOnly": true,
          "$ref": "ResourceRequests"
        },
        "resourceLimits": {
          "description": "Output only. System resource limits.",
          "readOnly": true,
          "$ref": "ResourceLimits"
        },
        "sharedDeployment": {
          "description": "Output only. The name of shared connector deployment.",
          "readOnly": true,
          "type": "string"
        },
        "connectionRatelimitWindowSeconds": {
          "description": "Output only. The window used for ratelimiting runtime requests to connections.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "deploymentModel": {
          "description": "Output only. Indicates whether connector is deployed on GKE/CloudRun",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Deployment model is not specified.",
            "Default model gke mst.",
            "Cloud run mst."
          ],
          "enum": [
            "DEPLOYMENT_MODEL_UNSPECIFIED",
            "GKE_MST",
            "CLOUD_RUN_MST"
          ]
        },
        "deploymentModelMigrationState": {
          "description": "Output only. Status of the deployment model migration.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Deployment model migration state is not specified.",
            "Deployment model migration is in progress.",
            "Deployment model migration is completed.",
            "Deployment model migration rolledback.",
            "Deployment model migration rollback in progress."
          ],
          "enum": [
            "DEPLOYMENT_MODEL_MIGRATION_STATE_UNSPECIFIED",
            "IN_PROGRESS",
            "COMPLETED",
            "ROLLEDBACK",
            "ROLLBACK_IN_PROGRESS"
          ]
        },
        "maxInstanceRequestConcurrency": {
          "description": "Output only. Max instance request concurrency.",
          "readOnly": true,
          "type": "integer",
          "format": "int32"
        },
        "tlsMigrationState": {
          "description": "Output only. Status of the TLS migration.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "TLS migration state is not specified.",
            "TLS migration is in progress.",
            "TLS migration is completed."
          ],
          "enum": [
            "TLS_MIGRATION_STATE_UNSPECIFIED",
            "TLS_MIGRATION_NOT_STARTED",
            "TLS_MIGRATION_COMPLETED"
          ]
        }
      }
    },
    "HPAConfig": {
      "id": "HPAConfig",
      "description": "Autoscaling config for connector deployment system metrics.",
      "type": "object",
      "properties": {
        "cpuUtilizationThreshold": {
          "description": "Output only. Percent CPU utilization where HPA triggers autoscaling.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "memoryUtilizationThreshold": {
          "description": "Output only. Percent Memory utilization where HPA triggers autoscaling.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        }
      }
    },
    "ResourceRequests": {
      "id": "ResourceRequests",
      "description": "Resource requests defined for connection pods of a given connector type.",
      "type": "object",
      "properties": {
        "cpu": {
          "description": "Output only. CPU request.",
          "readOnly": true,
          "type": "string"
        },
        "memory": {
          "description": "Output only. Memory request.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "ResourceLimits": {
      "id": "ResourceLimits",
      "description": "Resource limits defined for connection pods of a given connector type.",
      "type": "object",
      "properties": {
        "cpu": {
          "description": "Output only. CPU limit.",
          "readOnly": true,
          "type": "string"
        },
        "memory": {
          "description": "Output only. Memory limit.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "BillingConfig": {
      "id": "BillingConfig",
      "description": "Billing config for the connection.",
      "type": "object",
      "properties": {
        "billingCategory": {
          "description": "Output only. Billing category for the connector.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Billing category is not specified.",
            "GCP/Technical connector.",
            "Non-GCP connector."
          ],
          "enum": [
            "BILLING_CATEGORY_UNSPECIFIED",
            "GCP_AND_TECHNICAL_CONNECTOR",
            "NON_GCP_CONNECTOR"
          ]
        }
      }
    },
    "TrafficShapingConfig": {
      "id": "TrafficShapingConfig",
      "description": "* TrafficShapingConfig defines the configuration for shaping API traffic by specifying a quota limit and the duration over which this limit is enforced. This configuration helps to control and manage the rate at which API calls are made on the client side, preventing service overload on the backend. For example: - if the quota limit is 100 calls per 10 seconds, then the message would be: { quota_limit: 100 duration: { seconds: 10 } } - if the quota limit is 100 calls per 5 minutes, then the message would be: { quota_limit: 100 duration: { seconds: 300 } } - if the quota limit is 10000 calls per day, then the message would be: { quota_limit: 10000 duration: { seconds: 86400 } and so on.",
      "type": "object",
      "properties": {
        "quotaLimit": {
          "description": "Required. Maximum number of api calls allowed.",
          "type": "string",
          "format": "int64"
        },
        "duration": {
          "description": "Required. Specifies the duration over which the API call quota limits are calculated. This duration is used to define the time window for evaluating if the number of API calls made by a user is within the allowed quota limits. For example: - To define a quota sampled over 16 seconds, set `seconds` to 16 - To define a quota sampled over 5 minutes, set `seconds` to 300 (5 * 60) - To define a quota sampled over 1 day, set `seconds` to 86400 (24 * 60 * 60) and so on. It is important to note that this duration is not the time the quota is valid for, but rather the time window over which the quota is evaluated. For example, if the quota is 100 calls per 10 seconds, then this duration field would be set to 10 seconds.",
          "type": "string",
          "format": "google-duration"
        }
      }
    },
    "AdminFilters": {
      "id": "AdminFilters",
      "description": "* AdminFilters defines a set of filters that can be applied to a connection. These are currently used by Gemini Enterprise connections.",
      "type": "object",
      "properties": {
        "filterKey": {
          "description": "Required. Unique name for the filter, e.g., \"SharePointSiteURL\", \"DocumentType\", \"ChatSpaceName\".",
          "type": "string"
        },
        "filterType": {
          "description": "Required. Type of the filter.",
          "type": "string",
          "enumDescriptions": [
            "Filter type is not specified.",
            "Only allow items matching the configured values.",
            "Disallow items matching the configured values."
          ],
          "enum": [
            "FILTER_TYPE_UNSPECIFIED",
            "INCLUSION",
            "EXCLUSION"
          ]
        },
        "stringListValues": {
          "description": "Optional. List of string values.",
          "$ref": "StringListValues"
        },
        "stringValue": {
          "description": "Optional. A single string value.",
          "type": "string"
        },
        "intValue": {
          "description": "Optional. A single integer value.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "StringListValues": {
      "id": "StringListValues",
      "description": "StringListValues is a message to store a list of string values.",
      "type": "object",
      "properties": {
        "listValues": {
          "description": "Required. The list of string values.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "SearchConnectionsResponse": {
      "id": "SearchConnectionsResponse",
      "description": "Response message for Connectors.SearchConnections.",
      "type": "object",
      "properties": {
        "connections": {
          "description": "A list of connectors.",
          "type": "array",
          "items": {
            "$ref": "SearchConnectionInstance"
          }
        },
        "unreachable": {
          "description": "Locations that could not be reached.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "nextPageToken": {
          "description": "Optional. page_token",
          "type": "string"
        }
      }
    },
    "SearchConnectionInstance": {
      "id": "SearchConnectionInstance",
      "description": "SearchConnectionInstance represents an instance of connector with specific fields",
      "type": "object",
      "properties": {
        "connection": {
          "description": "Output only. Connection details",
          "readOnly": true,
          "$ref": "Connection"
        },
        "entitySchema": {
          "description": "Output only. Schema of a runtime entity.",
          "readOnly": true,
          "$ref": "RuntimeEntitySchema"
        },
        "actionSchema": {
          "description": "Output only. Schema of a runtime action.",
          "readOnly": true,
          "$ref": "RuntimeActionSchema"
        }
      }
    },
    "RuntimeEntitySchema": {
      "id": "RuntimeEntitySchema",
      "description": "Schema of a runtime entity.",
      "type": "object",
      "properties": {
        "entity": {
          "description": "Output only. Name of the entity.",
          "readOnly": true,
          "type": "string"
        },
        "fields": {
          "description": "Output only. List of fields in the entity.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "Field"
          }
        },
        "jsonSchema": {
          "description": "Output only. JsonSchema representation of this entity's metadata",
          "readOnly": true,
          "$ref": "JsonSchema"
        },
        "operations": {
          "description": "List of operations supported by this entity",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "Operation unspecified.",
              "This operation means entity type supports LIST entities.",
              "This operation means entity type supports GET entity.",
              "This operation means entity type supports CREATE entity.",
              "This operation means entity type supports UPDATE entity.",
              "This operation means entity type supports DELETE entity."
            ],
            "enum": [
              "OPERATION_UNSPECIFIED",
              "LIST",
              "GET",
              "CREATE",
              "UPDATE",
              "DELETE"
            ]
          }
        }
      }
    },
    "Field": {
      "id": "Field",
      "description": "Metadata of an entity field.",
      "type": "object",
      "properties": {
        "field": {
          "description": "Name of the Field.",
          "type": "string"
        },
        "description": {
          "description": "A brief description of the Field.",
          "type": "string"
        },
        "dataType": {
          "description": "The data type of the Field.",
          "type": "string",
          "enumDescriptions": [
            "Data type is not specified.",
            "DEPRECATED! Use DATA_TYPE_INTEGER.",
            "Short integer(int16) data type.",
            "Double data type.",
            "Date data type.",
            "DEPRECATED! Use DATA_TYPE_TIMESTAMP.",
            "Time data type.",
            "DEPRECATED! Use DATA_TYPE_VARCHAR.",
            "DEPRECATED! Use DATA_TYPE_BIGINT.",
            "Boolean data type.",
            "Decimal data type.",
            "DEPRECATED! Use DATA_TYPE_VARCHAR.",
            "UNSUPPORTED! Binary data type.",
            "Bit data type.",
            "Small integer(int8) data type.",
            "Integer(int32) data type.",
            "Long integer(int64) data type.",
            "Float data type.",
            "Real data type.",
            "Numeric data type.",
            "Char data type.",
            "Varchar data type.",
            "Longvarchar data type.",
            "Timestamp data type.",
            "Nchar data type.",
            "Nvarchar data type.",
            "Longnvarchar data type.",
            "Null data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Row id data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Variable binary data type.",
            "UNSUPPORTED! Long variable binary data type.",
            "UNSUPPORTED! NCLOB data type.",
            "UNSUPPORTED! SQL XML data type is not supported.",
            "UNSUPPORTED! Cursor reference type is not supported.",
            "UNSUPPORTED! Use TIME or TIMESTAMP instead.",
            "UNSUPPORTED! Use TIMESTAMP instead."
          ],
          "enumDeprecated": [
            false,
            true,
            false,
            false,
            false,
            true,
            false,
            true,
            true,
            false,
            false,
            true,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false
          ],
          "enum": [
            "DATA_TYPE_UNSPECIFIED",
            "DATA_TYPE_INT",
            "DATA_TYPE_SMALLINT",
            "DATA_TYPE_DOUBLE",
            "DATA_TYPE_DATE",
            "DATA_TYPE_DATETIME",
            "DATA_TYPE_TIME",
            "DATA_TYPE_STRING",
            "DATA_TYPE_LONG",
            "DATA_TYPE_BOOLEAN",
            "DATA_TYPE_DECIMAL",
            "DATA_TYPE_UUID",
            "DATA_TYPE_BLOB",
            "DATA_TYPE_BIT",
            "DATA_TYPE_TINYINT",
            "DATA_TYPE_INTEGER",
            "DATA_TYPE_BIGINT",
            "DATA_TYPE_FLOAT",
            "DATA_TYPE_REAL",
            "DATA_TYPE_NUMERIC",
            "DATA_TYPE_CHAR",
            "DATA_TYPE_VARCHAR",
            "DATA_TYPE_LONGVARCHAR",
            "DATA_TYPE_TIMESTAMP",
            "DATA_TYPE_NCHAR",
            "DATA_TYPE_NVARCHAR",
            "DATA_TYPE_LONGNVARCHAR",
            "DATA_TYPE_NULL",
            "DATA_TYPE_OTHER",
            "DATA_TYPE_JAVA_OBJECT",
            "DATA_TYPE_DISTINCT",
            "DATA_TYPE_STRUCT",
            "DATA_TYPE_ARRAY",
            "DATA_TYPE_CLOB",
            "DATA_TYPE_REF",
            "DATA_TYPE_DATALINK",
            "DATA_TYPE_ROWID",
            "DATA_TYPE_BINARY",
            "DATA_TYPE_VARBINARY",
            "DATA_TYPE_LONGVARBINARY",
            "DATA_TYPE_NCLOB",
            "DATA_TYPE_SQLXML",
            "DATA_TYPE_REF_CURSOR",
            "DATA_TYPE_TIME_WITH_TIMEZONE",
            "DATA_TYPE_TIMESTAMP_WITH_TIMEZONE"
          ]
        },
        "key": {
          "description": "The following boolean field specifies if the current Field acts as a primary key or id if the parent is of type entity.",
          "type": "boolean"
        },
        "readonly": {
          "description": "Specifies if the Field is readonly.",
          "type": "boolean"
        },
        "nullable": {
          "description": "Specifies whether a null value is allowed.",
          "type": "boolean"
        },
        "defaultValue": {
          "description": "The following field specifies the default value of the Field provided by the external system if a value is not provided.",
          "type": "any"
        },
        "additionalDetails": {
          "description": "The following map contains fields that are not explicitly mentioned above,this give connectors the flexibility to add new metadata fields.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          }
        },
        "jsonSchema": {
          "description": "JsonSchema representation of this entity's schema",
          "$ref": "JsonSchema"
        }
      }
    },
    "JsonSchema": {
      "id": "JsonSchema",
      "description": "JsonSchema representation of schema metadata",
      "type": "object",
      "properties": {
        "description": {
          "description": "A description of this schema.",
          "type": "string"
        },
        "default": {
          "description": "The default value of the field or object described by this schema.",
          "type": "any"
        },
        "required": {
          "description": "Whether this property is required.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "type": {
          "description": "JSON Schema Validation: A Vocabulary for Structural Validation of JSON",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "items": {
          "description": "Schema that applies to array values, applicable only if this is of type `array`.",
          "$ref": "JsonSchema"
        },
        "properties": {
          "description": "The child schemas, applicable only if this is of type `object`. The key is the name of the property and the value is the json schema that describes that property",
          "type": "object",
          "additionalProperties": {
            "$ref": "JsonSchema"
          }
        },
        "enum": {
          "description": "Possible values for an enumeration. This works in conjunction with `type` to represent types with a fixed set of legal values",
          "type": "array",
          "items": {
            "type": "any"
          }
        },
        "jdbcType": {
          "description": "JDBC datatype of the field.",
          "type": "string",
          "enumDescriptions": [
            "Data type is not specified.",
            "DEPRECATED! Use DATA_TYPE_INTEGER.",
            "Short integer(int16) data type.",
            "Double data type.",
            "Date data type.",
            "DEPRECATED! Use DATA_TYPE_TIMESTAMP.",
            "Time data type.",
            "DEPRECATED! Use DATA_TYPE_VARCHAR.",
            "DEPRECATED! Use DATA_TYPE_BIGINT.",
            "Boolean data type.",
            "Decimal data type.",
            "DEPRECATED! Use DATA_TYPE_VARCHAR.",
            "UNSUPPORTED! Binary data type.",
            "Bit data type.",
            "Small integer(int8) data type.",
            "Integer(int32) data type.",
            "Long integer(int64) data type.",
            "Float data type.",
            "Real data type.",
            "Numeric data type.",
            "Char data type.",
            "Varchar data type.",
            "Longvarchar data type.",
            "Timestamp data type.",
            "Nchar data type.",
            "Nvarchar data type.",
            "Longnvarchar data type.",
            "Null data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Row id data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Variable binary data type.",
            "UNSUPPORTED! Long variable binary data type.",
            "UNSUPPORTED! NCLOB data type.",
            "UNSUPPORTED! SQL XML data type is not supported.",
            "UNSUPPORTED! Cursor reference type is not supported.",
            "UNSUPPORTED! Use TIME or TIMESTAMP instead.",
            "UNSUPPORTED! Use TIMESTAMP instead."
          ],
          "enumDeprecated": [
            false,
            true,
            false,
            false,
            false,
            true,
            false,
            true,
            true,
            false,
            false,
            true,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false
          ],
          "enum": [
            "DATA_TYPE_UNSPECIFIED",
            "DATA_TYPE_INT",
            "DATA_TYPE_SMALLINT",
            "DATA_TYPE_DOUBLE",
            "DATA_TYPE_DATE",
            "DATA_TYPE_DATETIME",
            "DATA_TYPE_TIME",
            "DATA_TYPE_STRING",
            "DATA_TYPE_LONG",
            "DATA_TYPE_BOOLEAN",
            "DATA_TYPE_DECIMAL",
            "DATA_TYPE_UUID",
            "DATA_TYPE_BLOB",
            "DATA_TYPE_BIT",
            "DATA_TYPE_TINYINT",
            "DATA_TYPE_INTEGER",
            "DATA_TYPE_BIGINT",
            "DATA_TYPE_FLOAT",
            "DATA_TYPE_REAL",
            "DATA_TYPE_NUMERIC",
            "DATA_TYPE_CHAR",
            "DATA_TYPE_VARCHAR",
            "DATA_TYPE_LONGVARCHAR",
            "DATA_TYPE_TIMESTAMP",
            "DATA_TYPE_NCHAR",
            "DATA_TYPE_NVARCHAR",
            "DATA_TYPE_LONGNVARCHAR",
            "DATA_TYPE_NULL",
            "DATA_TYPE_OTHER",
            "DATA_TYPE_JAVA_OBJECT",
            "DATA_TYPE_DISTINCT",
            "DATA_TYPE_STRUCT",
            "DATA_TYPE_ARRAY",
            "DATA_TYPE_CLOB",
            "DATA_TYPE_REF",
            "DATA_TYPE_DATALINK",
            "DATA_TYPE_ROWID",
            "DATA_TYPE_BINARY",
            "DATA_TYPE_VARBINARY",
            "DATA_TYPE_LONGVARBINARY",
            "DATA_TYPE_NCLOB",
            "DATA_TYPE_SQLXML",
            "DATA_TYPE_REF_CURSOR",
            "DATA_TYPE_TIME_WITH_TIMEZONE",
            "DATA_TYPE_TIMESTAMP_WITH_TIMEZONE"
          ]
        },
        "format": {
          "description": "Format of the value as per https://json-schema.org/understanding-json-schema/reference/string.html#format",
          "type": "string"
        },
        "additionalDetails": {
          "description": "Additional details apart from standard json schema fields, this gives flexibility to store metadata about the schema",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          }
        },
        "minimum": {
          "description": "Minimum value of the number field.",
          "type": "any"
        },
        "maximum": {
          "description": "Maximum value of the number field.",
          "type": "any"
        },
        "exclusiveMinimum": {
          "description": "Whether the minimum number value is exclusive.",
          "type": "any"
        },
        "exclusiveMaximum": {
          "description": "Whether the maximum number value is exclusive.",
          "type": "any"
        },
        "minLength": {
          "description": "Minimum length of the string field.",
          "type": "integer",
          "format": "int32"
        },
        "maxLength": {
          "description": "Maximum length of the string field.",
          "type": "integer",
          "format": "int32"
        },
        "pattern": {
          "description": "Regex pattern of the string field. This is a string value that describes the regular expression that the string value should match.",
          "type": "string"
        },
        "minItems": {
          "description": "Minimum number of items in the array field.",
          "type": "integer",
          "format": "int32"
        },
        "maxItems": {
          "description": "Maximum number of items in the array field.",
          "type": "integer",
          "format": "int32"
        },
        "uniqueItems": {
          "description": "Whether the items in the array field are unique.",
          "type": "boolean"
        },
        "oneOf": {
          "description": "Schema that must be valid against at least one of the sub-schemas.",
          "type": "array",
          "items": {
            "$ref": "JsonSchema"
          }
        },
        "anyOf": {
          "description": "Schema that must be valid against at least one of the sub-schemas.",
          "type": "array",
          "items": {
            "$ref": "JsonSchema"
          }
        },
        "allOf": {
          "description": "Schema that must be valid against all of the sub-schemas.",
          "type": "array",
          "items": {
            "$ref": "JsonSchema"
          }
        },
        "not": {
          "description": "Schema that must not be valid.",
          "$ref": "JsonSchema"
        },
        "if": {
          "description": "Schema that must be valid if the \"if\" schema is valid.",
          "$ref": "JsonSchema"
        },
        "then": {
          "description": "Schema that must be valid if the \"if\" schema is valid.",
          "$ref": "JsonSchema"
        },
        "else": {
          "description": "Schema that must be valid if the \"if\" schema is invalid.",
          "$ref": "JsonSchema"
        },
        "const": {
          "description": "Const value that the data must match.",
          "type": "any"
        },
        "multipleOf": {
          "description": "Number must be a multiple of this value.",
          "type": "number",
          "format": "double"
        },
        "contains": {
          "description": "Schema that applies to at least one item in an array.",
          "$ref": "JsonSchema"
        },
        "$id": {
          "description": "The URI defining the core schema meta-schema.",
          "type": "string"
        },
        "$schema": {
          "description": "The URI defining the schema.",
          "type": "string"
        },
        "$ref": {
          "description": "A reference to another schema.",
          "type": "string"
        },
        "$comment": {
          "description": "A comment on the schema.",
          "type": "string"
        },
        "title": {
          "description": "A title of the schema.",
          "type": "string"
        },
        "readOnly": {
          "description": "Whether the value is read-only.",
          "type": "boolean"
        },
        "writeOnly": {
          "description": "Whether the value is write-only.",
          "type": "boolean"
        },
        "examples": {
          "description": "Examples of the value.",
          "type": "array",
          "items": {
            "type": "any"
          }
        },
        "additionalItems": {
          "description": "Schema for additional items.",
          "$ref": "JsonSchema"
        },
        "maxProperties": {
          "description": "Maximum number of properties.",
          "type": "integer",
          "format": "int32"
        },
        "minProperties": {
          "description": "Minimum number of properties.",
          "type": "integer",
          "format": "int32"
        },
        "additionalProperties": {
          "description": "Schema for additional properties.",
          "$ref": "JsonSchema"
        },
        "definitions": {
          "description": "Definitions for the schema.",
          "type": "object",
          "additionalProperties": {
            "$ref": "JsonSchema"
          }
        },
        "$defs": {
          "description": "Definitions for the schema.",
          "type": "object",
          "additionalProperties": {
            "$ref": "JsonSchema"
          }
        },
        "patternProperties": {
          "description": "Pattern properties for the schema.",
          "type": "object",
          "additionalProperties": {
            "$ref": "JsonSchema"
          }
        },
        "dependencies": {
          "description": "Dependencies for the schema.",
          "type": "object",
          "additionalProperties": {
            "type": "any"
          }
        },
        "propertyNames": {
          "description": "Schema for property names.",
          "$ref": "JsonSchema"
        },
        "contentMediaType": {
          "description": "Media type of the content.",
          "type": "string"
        },
        "contentEncoding": {
          "description": "Encoding of the content.",
          "type": "string"
        }
      }
    },
    "RuntimeActionSchema": {
      "id": "RuntimeActionSchema",
      "description": "Schema of a runtime action.",
      "type": "object",
      "properties": {
        "action": {
          "description": "Output only. Name of the action.",
          "readOnly": true,
          "type": "string"
        },
        "inputParameters": {
          "description": "Output only. List of input parameter metadata for the action.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "InputParameter"
          }
        },
        "resultMetadata": {
          "description": "Output only. List of result field metadata.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "ResultMetadata"
          }
        },
        "inputJsonSchema": {
          "description": "Output only. JsonSchema representation of this action's input metadata",
          "readOnly": true,
          "$ref": "JsonSchema"
        },
        "resultJsonSchema": {
          "description": "Output only. JsonSchema representation of this action's result metadata",
          "readOnly": true,
          "$ref": "JsonSchema"
        },
        "displayName": {
          "description": "Output only. Display Name of action to be shown on client side",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "description": "Output only. Brief Description of action",
          "readOnly": true,
          "type": "string"
        },
        "inputSchemaAsString": {
          "description": "Output only. Input schema as string.",
          "readOnly": true,
          "type": "string"
        },
        "resultSchemaAsString": {
          "description": "Output only. Result schema as string.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "InputParameter": {
      "id": "InputParameter",
      "description": "Metadata of an input parameter.",
      "type": "object",
      "properties": {
        "parameter": {
          "description": "Name of the Parameter.",
          "type": "string"
        },
        "description": {
          "description": "A brief description of the Parameter.",
          "type": "string"
        },
        "dataType": {
          "description": "The data type of the Parameter.",
          "type": "string",
          "enumDescriptions": [
            "Data type is not specified.",
            "DEPRECATED! Use DATA_TYPE_INTEGER.",
            "Short integer(int16) data type.",
            "Double data type.",
            "Date data type.",
            "DEPRECATED! Use DATA_TYPE_TIMESTAMP.",
            "Time data type.",
            "DEPRECATED! Use DATA_TYPE_VARCHAR.",
            "DEPRECATED! Use DATA_TYPE_BIGINT.",
            "Boolean data type.",
            "Decimal data type.",
            "DEPRECATED! Use DATA_TYPE_VARCHAR.",
            "UNSUPPORTED! Binary data type.",
            "Bit data type.",
            "Small integer(int8) data type.",
            "Integer(int32) data type.",
            "Long integer(int64) data type.",
            "Float data type.",
            "Real data type.",
            "Numeric data type.",
            "Char data type.",
            "Varchar data type.",
            "Longvarchar data type.",
            "Timestamp data type.",
            "Nchar data type.",
            "Nvarchar data type.",
            "Longnvarchar data type.",
            "Null data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Row id data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Variable binary data type.",
            "UNSUPPORTED! Long variable binary data type.",
            "UNSUPPORTED! NCLOB data type.",
            "UNSUPPORTED! SQL XML data type is not supported.",
            "UNSUPPORTED! Cursor reference type is not supported.",
            "UNSUPPORTED! Use TIME or TIMESTAMP instead.",
            "UNSUPPORTED! Use TIMESTAMP instead."
          ],
          "enumDeprecated": [
            false,
            true,
            false,
            false,
            false,
            true,
            false,
            true,
            true,
            false,
            false,
            true,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false
          ],
          "enum": [
            "DATA_TYPE_UNSPECIFIED",
            "DATA_TYPE_INT",
            "DATA_TYPE_SMALLINT",
            "DATA_TYPE_DOUBLE",
            "DATA_TYPE_DATE",
            "DATA_TYPE_DATETIME",
            "DATA_TYPE_TIME",
            "DATA_TYPE_STRING",
            "DATA_TYPE_LONG",
            "DATA_TYPE_BOOLEAN",
            "DATA_TYPE_DECIMAL",
            "DATA_TYPE_UUID",
            "DATA_TYPE_BLOB",
            "DATA_TYPE_BIT",
            "DATA_TYPE_TINYINT",
            "DATA_TYPE_INTEGER",
            "DATA_TYPE_BIGINT",
            "DATA_TYPE_FLOAT",
            "DATA_TYPE_REAL",
            "DATA_TYPE_NUMERIC",
            "DATA_TYPE_CHAR",
            "DATA_TYPE_VARCHAR",
            "DATA_TYPE_LONGVARCHAR",
            "DATA_TYPE_TIMESTAMP",
            "DATA_TYPE_NCHAR",
            "DATA_TYPE_NVARCHAR",
            "DATA_TYPE_LONGNVARCHAR",
            "DATA_TYPE_NULL",
            "DATA_TYPE_OTHER",
            "DATA_TYPE_JAVA_OBJECT",
            "DATA_TYPE_DISTINCT",
            "DATA_TYPE_STRUCT",
            "DATA_TYPE_ARRAY",
            "DATA_TYPE_CLOB",
            "DATA_TYPE_REF",
            "DATA_TYPE_DATALINK",
            "DATA_TYPE_ROWID",
            "DATA_TYPE_BINARY",
            "DATA_TYPE_VARBINARY",
            "DATA_TYPE_LONGVARBINARY",
            "DATA_TYPE_NCLOB",
            "DATA_TYPE_SQLXML",
            "DATA_TYPE_REF_CURSOR",
            "DATA_TYPE_TIME_WITH_TIMEZONE",
            "DATA_TYPE_TIMESTAMP_WITH_TIMEZONE"
          ]
        },
        "nullable": {
          "description": "Specifies whether a null value is allowed.",
          "type": "boolean"
        },
        "defaultValue": {
          "description": "The following field specifies the default value of the Parameter provided by the external system if a value is not provided.",
          "type": "any"
        },
        "jsonSchema": {
          "description": "JsonSchema representation of this action's parameter",
          "$ref": "JsonSchema"
        }
      }
    },
    "ResultMetadata": {
      "id": "ResultMetadata",
      "description": "Metadata of result field.",
      "type": "object",
      "properties": {
        "field": {
          "description": "Name of the result field.",
          "type": "string"
        },
        "description": {
          "description": "A brief description of the field.",
          "type": "string"
        },
        "dataType": {
          "description": "The data type of the field.",
          "type": "string",
          "enumDescriptions": [
            "Data type is not specified.",
            "DEPRECATED! Use DATA_TYPE_INTEGER.",
            "Short integer(int16) data type.",
            "Double data type.",
            "Date data type.",
            "DEPRECATED! Use DATA_TYPE_TIMESTAMP.",
            "Time data type.",
            "DEPRECATED! Use DATA_TYPE_VARCHAR.",
            "DEPRECATED! Use DATA_TYPE_BIGINT.",
            "Boolean data type.",
            "Decimal data type.",
            "DEPRECATED! Use DATA_TYPE_VARCHAR.",
            "UNSUPPORTED! Binary data type.",
            "Bit data type.",
            "Small integer(int8) data type.",
            "Integer(int32) data type.",
            "Long integer(int64) data type.",
            "Float data type.",
            "Real data type.",
            "Numeric data type.",
            "Char data type.",
            "Varchar data type.",
            "Longvarchar data type.",
            "Timestamp data type.",
            "Nchar data type.",
            "Nvarchar data type.",
            "Longnvarchar data type.",
            "Null data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Row id data type.",
            "UNSUPPORTED! Binary data type.",
            "UNSUPPORTED! Variable binary data type.",
            "UNSUPPORTED! Long variable binary data type.",
            "UNSUPPORTED! NCLOB data type.",
            "UNSUPPORTED! SQL XML data type is not supported.",
            "UNSUPPORTED! Cursor reference type is not supported.",
            "UNSUPPORTED! Use TIME or TIMESTAMP instead.",
            "UNSUPPORTED! Use TIMESTAMP instead."
          ],
          "enumDeprecated": [
            false,
            true,
            false,
            false,
            false,
            true,
            false,
            true,
            true,
            false,
            false,
            true,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false
          ],
          "enum": [
            "DATA_TYPE_UNSPECIFIED",
            "DATA_TYPE_INT",
            "DATA_TYPE_SMALLINT",
            "DATA_TYPE_DOUBLE",
            "DATA_TYPE_DATE",
            "DATA_TYPE_DATETIME",
            "DATA_TYPE_TIME",
            "DATA_TYPE_STRING",
            "DATA_TYPE_LONG",
            "DATA_TYPE_BOOLEAN",
            "DATA_TYPE_DECIMAL",
            "DATA_TYPE_UUID",
            "DATA_TYPE_BLOB",
            "DATA_TYPE_BIT",
            "DATA_TYPE_TINYINT",
            "DATA_TYPE_INTEGER",
            "DATA_TYPE_BIGINT",
            "DATA_TYPE_FLOAT",
            "DATA_TYPE_REAL",
            "DATA_TYPE_NUMERIC",
            "DATA_TYPE_CHAR",
            "DATA_TYPE_VARCHAR",
            "DATA_TYPE_LONGVARCHAR",
            "DATA_TYPE_TIMESTAMP",
            "DATA_TYPE_NCHAR",
            "DATA_TYPE_NVARCHAR",
            "DATA_TYPE_LONGNVARCHAR",
            "DATA_TYPE_NULL",
            "DATA_TYPE_OTHER",
            "DATA_TYPE_JAVA_OBJECT",
            "DATA_TYPE_DISTINCT",
            "DATA_TYPE_STRUCT",
            "DATA_TYPE_ARRAY",
            "DATA_TYPE_CLOB",
            "DATA_TYPE_REF",
            "DATA_TYPE_DATALINK",
            "DATA_TYPE_ROWID",
            "DATA_TYPE_BINARY",
            "DATA_TYPE_VARBINARY",
            "DATA_TYPE_LONGVARBINARY",
            "DATA_TYPE_NCLOB",
            "DATA_TYPE_SQLXML",
            "DATA_TYPE_REF_CURSOR",
            "DATA_TYPE_TIME_WITH_TIMEZONE",
            "DATA_TYPE_TIMESTAMP_WITH_TIMEZONE"
          ]
        },
        "jsonSchema": {
          "description": "JsonSchema representation of this action's result",
          "$ref": "JsonSchema"
        },
        "nullable": {
          "description": "Specifies whether a null value is allowed.",
          "type": "boolean"
        },
        "defaultValue": {
          "description": "The following field specifies the default value of the Parameter provided by the external system if a value is not provided.",
          "type": "any"
        }
      }
    },
    "ListProvidersResponse": {
      "id": "ListProvidersResponse",
      "description": "Response message for Connectors.ListProviders.",
      "type": "object",
      "properties": {
        "providers": {
          "description": "A list of providers.",
          "type": "array",
          "items": {
            "$ref": "Provider"
          }
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        },
        "unreachable": {
          "description": "Locations that could not be reached.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "Provider": {
      "id": "Provider",
      "description": "Provider indicates the owner who provides the connectors.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. Resource name of the Provider. Format: projects/{project}/locations/{location}/providers/{provider} Only global location is supported for Provider resource.",
          "readOnly": true,
          "type": "string"
        },
        "createTime": {
          "description": "Output only. Created time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Updated time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "labels": {
          "description": "Output only. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources",
          "readOnly": true,
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "documentationUri": {
          "description": "Output only. Link to documentation page.",
          "readOnly": true,
          "type": "string"
        },
        "externalUri": {
          "description": "Output only. Link to external page.",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "description": "Output only. Description of the resource.",
          "readOnly": true,
          "type": "string"
        },
        "webAssetsLocation": {
          "description": "Output only. Cloud storage location of icons etc consumed by UI.",
          "readOnly": true,
          "type": "string"
        },
        "displayName": {
          "description": "Output only. Display name.",
          "readOnly": true,
          "type": "string"
        },
        "launchStage": {
          "description": "Output only. Flag to mark the version indicating the launch stage.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "LAUNCH_STAGE_UNSPECIFIED.",
            "PREVIEW.",
            "GA.",
            "DEPRECATED.",
            "TEST.",
            "PRIVATE_PREVIEW."
          ],
          "enum": [
            "LAUNCH_STAGE_UNSPECIFIED",
            "PREVIEW",
            "GA",
            "DEPRECATED",
            "TEST",
            "PRIVATE_PREVIEW"
          ]
        }
      }
    },
    "ListConnectorsResponse": {
      "id": "ListConnectorsResponse",
      "description": "Response message for Connectors.ListConnectors.",
      "type": "object",
      "properties": {
        "connectors": {
          "description": "A list of connectors.",
          "type": "array",
          "items": {
            "$ref": "Connector"
          }
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        },
        "unreachable": {
          "description": "Locations that could not be reached.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "Connector": {
      "id": "Connector",
      "description": "Connectors indicates a specific connector type, e.x. Salesforce, SAP etc.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. Resource name of the Connector. Format: projects/{project}/locations/{location}/providers/{provider}/connectors/{connector} Only global location is supported for Connector resource.",
          "readOnly": true,
          "type": "string"
        },
        "createTime": {
          "description": "Output only. Created time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Updated time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "labels": {
          "description": "Output only. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources",
          "readOnly": true,
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "documentationUri": {
          "description": "Output only. Link to documentation page.",
          "readOnly": true,
          "type": "string"
        },
        "externalUri": {
          "description": "Output only. Link to external page.",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "description": "Output only. Description of the resource.",
          "readOnly": true,
          "type": "string"
        },
        "webAssetsLocation": {
          "description": "Output only. Cloud storage location of icons etc consumed by UI.",
          "readOnly": true,
          "type": "string"
        },
        "displayName": {
          "description": "Output only. Display name.",
          "readOnly": true,
          "type": "string"
        },
        "launchStage": {
          "description": "Output only. Flag to mark the version indicating the launch stage.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "LAUNCH_STAGE_UNSPECIFIED.",
            "PREVIEW.",
            "GA.",
            "DEPRECATED.",
            "TEST.",
            "PRIVATE_PREVIEW."
          ],
          "enum": [
            "LAUNCH_STAGE_UNSPECIFIED",
            "PREVIEW",
            "GA",
            "DEPRECATED",
            "TEST",
            "PRIVATE_PREVIEW"
          ]
        },
        "eventingDetails": {
          "description": "Output only. Eventing details. Will be null if eventing is not supported.",
          "readOnly": true,
          "$ref": "EventingDetails"
        },
        "category": {
          "description": "Output only. Category of the connector.",
          "readOnly": true,
          "type": "string"
        },
        "tags": {
          "description": "Output only. Tags of the connector.",
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "connectorType": {
          "description": "Output only. The type of the connector.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Default value.",
            "Google connectors.",
            "Technical connectors.",
            "Third Party connectors."
          ],
          "enum": [
            "CONNECTOR_TYPE_UNSPECIFIED",
            "CONNECTOR_TYPE_GOOGLE",
            "CONNECTOR_TYPE_TECHNICAL",
            "CONNECTOR_TYPE_THIRD_PARTY"
          ]
        },
        "marketplaceConnectorDetails": {
          "description": "Output only. Marketplace connector details. Will be null if the connector is not marketplace connector.",
          "readOnly": true,
          "$ref": "MarketplaceConnectorDetails"
        }
      }
    },
    "EventingDetails": {
      "id": "EventingDetails",
      "description": "Eventing Details message.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. Name of the Eventing trigger.",
          "readOnly": true,
          "type": "string"
        },
        "iconLocation": {
          "description": "Output only. Cloud storage location of the icon.",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "description": "Output only. Description.",
          "readOnly": true,
          "type": "string"
        },
        "searchTags": {
          "description": "Output only. Array of search keywords.",
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "documentationLink": {
          "description": "Output only. Link to public documentation.",
          "readOnly": true,
          "type": "string"
        },
        "launchStage": {
          "description": "Output only. Eventing Launch Stage.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "LAUNCH_STAGE_UNSPECIFIED.",
            "PREVIEW.",
            "GA.",
            "DEPRECATED.",
            "TEST.",
            "PRIVATE_PREVIEW."
          ],
          "enum": [
            "LAUNCH_STAGE_UNSPECIFIED",
            "PREVIEW",
            "GA",
            "DEPRECATED",
            "TEST",
            "PRIVATE_PREVIEW"
          ]
        },
        "customEventTypes": {
          "description": "Output only. Custom Event Types.",
          "readOnly": true,
          "type": "boolean"
        },
        "type": {
          "description": "Output only. The type of the event listener for a specific connector.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Default value.",
            "Webhook listener. e.g. Jira, Zendesk, Servicenow etc.,",
            "JMS Listener. e.g. IBM MQ, Rabbit MQ etc.,"
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "WEBHOOK",
            "JMS"
          ]
        },
        "subscriptionType": {
          "description": "The webhook model supported by this connector.",
          "type": "string",
          "enumDescriptions": [
            "Default value.",
            "Managed via admin credentials. Handles global or system-wide events.",
            "Managed via individual user credentials. Isolates data per user."
          ],
          "enum": [
            "SUBSCRIPTION_TYPE_UNSPECIFIED",
            "SHARED",
            "USER_SPECIFIC"
          ]
        }
      }
    },
    "MarketplaceConnectorDetails": {
      "id": "MarketplaceConnectorDetails",
      "description": "Marketplace connector details.",
      "type": "object",
      "properties": {
        "partner": {
          "description": "The name of the partner.",
          "type": "string"
        },
        "marketplaceProductId": {
          "description": "Marketplace product ID.",
          "type": "string"
        },
        "marketplaceProduct": {
          "description": "Marketplace product name.",
          "type": "string"
        },
        "marketplaceProductUri": {
          "description": "Marketplace product URL.",
          "type": "string"
        }
      }
    },
    "ListConnectorVersionsResponse": {
      "id": "ListConnectorVersionsResponse",
      "description": "Response message for Connectors.ListConnectorVersions.",
      "type": "object",
      "properties": {
        "connectorVersions": {
          "description": "A list of connector versions.",
          "type": "array",
          "items": {
            "$ref": "ConnectorVersion"
          }
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        },
        "unreachable": {
          "description": "Locations that could not be reached.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "ConnectorVersion": {
      "id": "ConnectorVersion",
      "description": "ConnectorVersion indicates a specific version of a connector.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. Resource name of the Version. Format: projects/{project}/locations/{location}/providers/{provider}/connectors/{connector}/versions/{version} Only global location is supported for Connector resource.",
          "readOnly": true,
          "type": "string"
        },
        "createTime": {
          "description": "Output only. Created time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Updated time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "labels": {
          "description": "Output only. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources",
          "readOnly": true,
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "launchStage": {
          "description": "Output only. Flag to mark the version indicating the launch stage.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "LAUNCH_STAGE_UNSPECIFIED.",
            "PREVIEW.",
            "GA.",
            "DEPRECATED.",
            "TEST.",
            "PRIVATE_PREVIEW."
          ],
          "enum": [
            "LAUNCH_STAGE_UNSPECIFIED",
            "PREVIEW",
            "GA",
            "DEPRECATED",
            "TEST",
            "PRIVATE_PREVIEW"
          ]
        },
        "releaseVersion": {
          "description": "Output only. ReleaseVersion of the connector, for example: \"1.0.1-alpha\".",
          "readOnly": true,
          "type": "string"
        },
        "authConfigTemplates": {
          "description": "Output only. List of auth configs supported by the Connector Version.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "AuthConfigTemplate"
          }
        },
        "configVariableTemplates": {
          "description": "Output only. List of config variables needed to create a connection.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "ConfigVariableTemplate"
          }
        },
        "destinationConfigTemplates": {
          "description": "Output only. List of destination configs needed to create a connection.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "DestinationConfigTemplate"
          }
        },
        "supportedRuntimeFeatures": {
          "description": "Output only. Information about the runtime features supported by the Connector.",
          "readOnly": true,
          "$ref": "SupportedRuntimeFeatures"
        },
        "displayName": {
          "description": "Output only. Display name.",
          "readOnly": true,
          "type": "string"
        },
        "egressControlConfig": {
          "description": "Output only. Configuration for Egress Control.",
          "readOnly": true,
          "$ref": "EgressControlConfig"
        },
        "roleGrants": {
          "description": "Output only. Role grant configurations for this connector version.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "RoleGrant"
          }
        },
        "roleGrant": {
          "description": "Output only. Role grant configuration for this config variable. It will be DEPRECATED soon.",
          "readOnly": true,
          "$ref": "RoleGrant"
        },
        "sslConfigTemplate": {
          "description": "Output only. Ssl configuration supported by the Connector.",
          "readOnly": true,
          "$ref": "SslConfigTemplate"
        },
        "eventingConfigTemplate": {
          "description": "Output only. Eventing configuration supported by the Connector.",
          "readOnly": true,
          "$ref": "EventingConfigTemplate"
        },
        "connectorInfraConfig": {
          "description": "Output only. Infra configs supported by Connector.",
          "readOnly": true,
          "$ref": "ConnectorInfraConfig"
        },
        "unsupportedConnectionTypes": {
          "description": "Output only. Unsupported connection types.",
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "Connection type is unspecified.",
              "Connection with eventing.",
              "Only connection.",
              "Only eventing."
            ],
            "enum": [
              "CONNECTION_TYPE_UNSPECIFIED",
              "CONNECTION_WITH_EVENTING",
              "ONLY_CONNECTION",
              "ONLY_EVENTING"
            ]
          }
        },
        "schemaRefreshConfig": {
          "description": "Connection Schema Refresh Config",
          "$ref": "SchemaRefreshConfig"
        },
        "authOverrideEnabled": {
          "description": "Output only. Flag to mark the dynamic auth override.",
          "readOnly": true,
          "type": "boolean"
        },
        "supportedStandardEntities": {
          "description": "Output only. Supported standard entities.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "StandardEntity"
          }
        },
        "isCustomEntitiesSupported": {
          "description": "Output only. Is custom entities supported.",
          "readOnly": true,
          "type": "boolean"
        },
        "supportedStandardActions": {
          "description": "Output only. Supported standard actions.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "StandardAction"
          }
        },
        "isCustomActionsSupported": {
          "description": "Output only. Is custom actions supported.",
          "readOnly": true,
          "type": "boolean"
        },
        "vpcscConfig": {
          "description": "Output only. VPCSC config for the connector.",
          "readOnly": true,
          "$ref": "VpcscConfig"
        }
      }
    },
    "AuthConfigTemplate": {
      "id": "AuthConfigTemplate",
      "description": "AuthConfigTemplate defines required field over an authentication type.",
      "type": "object",
      "properties": {
        "authType": {
          "description": "The type of authentication configured.",
          "type": "string",
          "enumDescriptions": [
            "Authentication type not specified.",
            "Username and Password Authentication.",
            "JSON Web Token (JWT) Profile for Oauth 2.0 Authorization Grant based authentication",
            "Oauth 2.0 Client Credentials Grant Authentication",
            "SSH Public Key Authentication",
            "Oauth 2.0 Authorization Code Flow",
            "Google authentication",
            "Oauth 2.0 Authorization Code Flow with Google Provided OAuth Client"
          ],
          "enum": [
            "AUTH_TYPE_UNSPECIFIED",
            "USER_PASSWORD",
            "OAUTH2_JWT_BEARER",
            "OAUTH2_CLIENT_CREDENTIALS",
            "SSH_PUBLIC_KEY",
            "OAUTH2_AUTH_CODE_FLOW",
            "GOOGLE_AUTHENTICATION",
            "OAUTH2_AUTH_CODE_FLOW_GOOGLE_MANAGED"
          ]
        },
        "configVariableTemplates": {
          "description": "Config variables to describe an `AuthConfig` for a `Connection`.",
          "type": "array",
          "items": {
            "$ref": "ConfigVariableTemplate"
          }
        },
        "displayName": {
          "description": "Display name for authentication template.",
          "type": "string"
        },
        "description": {
          "description": "Connector specific description for an authentication template.",
          "type": "string"
        },
        "authKey": {
          "description": "Identifier key for auth config",
          "type": "string"
        },
        "isDefault": {
          "description": "Whether the auth config is the default one.",
          "type": "boolean"
        }
      }
    },
    "ConfigVariableTemplate": {
      "id": "ConfigVariableTemplate",
      "description": "ConfigVariableTemplate provides metadata about a `ConfigVariable` that is used in a Connection.",
      "type": "object",
      "properties": {
        "key": {
          "description": "Optional. Key of the config variable.",
          "type": "string"
        },
        "valueType": {
          "description": "Optional. Type of the parameter: string, int, bool etc. consider custom type for the benefit for the validation.",
          "type": "string",
          "enumDescriptions": [
            "Value type is not specified.",
            "Value type is string.",
            "Value type is integer.",
            "Value type is boolean.",
            "Value type is secret.",
            "Value type is enum.",
            "Value type is authorization code.",
            "Encryption Key.",
            "Value type is multiple select."
          ],
          "enum": [
            "VALUE_TYPE_UNSPECIFIED",
            "STRING",
            "INT",
            "BOOL",
            "SECRET",
            "ENUM",
            "AUTHORIZATION_CODE",
            "ENCRYPTION_KEY",
            "MULTIPLE_SELECT"
          ]
        },
        "displayName": {
          "description": "Optional. Display name of the parameter.",
          "type": "string"
        },
        "description": {
          "description": "Optional. Description.",
          "type": "string"
        },
        "validationRegex": {
          "description": "Optional. Regular expression in RE2 syntax used for validating the `value` of a `ConfigVariable`.",
          "type": "string"
        },
        "required": {
          "description": "Optional. Flag represents that this `ConfigVariable` must be provided for a connection.",
          "type": "boolean"
        },
        "roleGrant": {
          "description": "Optional. Role grant configuration for the config variable.",
          "$ref": "RoleGrant"
        },
        "enumOptions": {
          "description": "Optional. Enum options. To be populated if `ValueType` is `ENUM`",
          "type": "array",
          "items": {
            "$ref": "EnumOption"
          }
        },
        "authorizationCodeLink": {
          "description": "Optional. Authorization code link options. To be populated if `ValueType` is `AUTHORIZATION_CODE`",
          "$ref": "AuthorizationCodeLink"
        },
        "state": {
          "description": "Output only. State of the config variable.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Status is unspecified.",
            "Config variable is active",
            "Config variable is deprecated."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "DEPRECATED"
          ]
        },
        "isAdvanced": {
          "description": "Optional. Indicates if current template is part of advanced settings",
          "type": "boolean"
        },
        "requiredCondition": {
          "description": "Optional. Condition under which a field would be required. The condition can be represented in the form of a logical expression.",
          "$ref": "LogicalExpression"
        },
        "locationType": {
          "description": "Optional. Location Type denotes where this value should be sent in BYOC connections.",
          "type": "string",
          "enumDescriptions": [
            "Location type unspecified.",
            "Request header.",
            "Request Payload.",
            "Request query param.",
            "Request path param."
          ],
          "enum": [
            "LOCATION_TYPE_UNSPECIFIED",
            "HEADER",
            "PAYLOAD",
            "QUERY_PARAM",
            "PATH_PARAM"
          ]
        },
        "enumSource": {
          "description": "Optional. enum source denotes the source of api to fill the enum options",
          "type": "string",
          "enumDescriptions": [
            "Api type unspecified.",
            "list event types."
          ],
          "enum": [
            "ENUM_SOURCE_UNSPECIFIED",
            "EVENT_TYPES_API"
          ]
        },
        "multipleSelectConfig": {
          "description": "Optional. MultipleSelectConfig represents the multiple options for a config variable.",
          "$ref": "MultipleSelectConfig"
        }
      }
    },
    "RoleGrant": {
      "id": "RoleGrant",
      "description": "This configuration defines all the Cloud IAM roles that needs to be granted to a particular Google Cloud resource for the selected principal like service account. These configurations will let UI display to customers what IAM roles need to be granted by them. Or these configurations can be used by the UI to render a 'grant' button to do the same on behalf of the user.",
      "type": "object",
      "properties": {
        "principal": {
          "description": "Optional. Principal/Identity for whom the role need to assigned.",
          "type": "string",
          "enumDescriptions": [
            "Value type is not specified.",
            "Service Account used for Connector workload identity This is either the default service account if unspecified or Service Account provided by Customers through BYOSA."
          ],
          "enum": [
            "PRINCIPAL_UNSPECIFIED",
            "CONNECTOR_SA"
          ]
        },
        "roles": {
          "description": "Optional. List of roles that need to be granted.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "resource": {
          "description": "Optional. Resource on which the roles needs to be granted for the principal.",
          "$ref": "Resource"
        },
        "helperTextTemplate": {
          "description": "Optional. Template that UI can use to provide helper text to customers.",
          "type": "string"
        }
      }
    },
    "Resource": {
      "id": "Resource",
      "description": "Resource definition",
      "type": "object",
      "properties": {
        "type": {
          "description": "Optional. Different types of resource supported.",
          "type": "string",
          "enumDescriptions": [
            "Value type is not specified.",
            "Google Cloud Project Resource.",
            "Any Google Cloud Resource which is identified uniquely by IAM.",
            "Google Cloud Secret Resource.",
            "Google Cloud Secret Version Resource."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "GCP_PROJECT",
            "GCP_RESOURCE",
            "GCP_SECRETMANAGER_SECRET",
            "GCP_SECRETMANAGER_SECRET_VERSION"
          ]
        },
        "pathTemplate": {
          "description": "Optional. Template to uniquely represent a Google Cloud resource in a format IAM expects This is a template that can have references to other values provided in the config variable template.",
          "type": "string"
        }
      }
    },
    "EnumOption": {
      "id": "EnumOption",
      "description": "EnumOption definition",
      "type": "object",
      "properties": {
        "id": {
          "description": "Optional. Id of the option.",
          "type": "string"
        },
        "displayName": {
          "description": "Optional. Display name of the option.",
          "type": "string"
        }
      }
    },
    "AuthorizationCodeLink": {
      "id": "AuthorizationCodeLink",
      "description": "This configuration captures the details required to render an authorization link for the OAuth Authorization Code Flow.",
      "type": "object",
      "properties": {
        "uri": {
          "description": "Optional. The base URI the user must click to trigger the authorization code login flow.",
          "type": "string"
        },
        "scopes": {
          "description": "Optional. The scopes for which the user will authorize Google Cloud Connectors on the connector data source.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "clientId": {
          "description": "Optional. The client ID assigned to the Google Cloud Connectors OAuth app for the connector data source.",
          "type": "string"
        },
        "clientSecret": {
          "description": "Optional. The client secret assigned to the Google Cloud Connectors OAuth app for the connector data source.",
          "$ref": "Secret"
        },
        "enablePkce": {
          "description": "Optional. Whether to enable PKCE for the auth code flow.",
          "type": "boolean"
        },
        "omitQueryParams": {
          "description": "Optional. Omit query params from the redirect URI.",
          "type": "boolean"
        }
      }
    },
    "LogicalExpression": {
      "id": "LogicalExpression",
      "description": "Struct for representing boolean expressions.",
      "type": "object",
      "properties": {
        "fieldComparisons": {
          "description": "Optional. A list of fields to be compared.",
          "type": "array",
          "items": {
            "$ref": "FieldComparison"
          }
        },
        "logicalExpressions": {
          "description": "Optional. A list of nested conditions to be compared.",
          "type": "array",
          "items": {
            "$ref": "LogicalExpression"
          }
        },
        "logicalOperator": {
          "description": "Optional. The logical operator to use between the fields and conditions.",
          "type": "string",
          "enumDescriptions": [
            "The default value.",
            "AND operator; The conditions must all be true.",
            "OR operator; At least one of the conditions must be true."
          ],
          "enum": [
            "OPERATOR_UNSPECIFIED",
            "AND",
            "OR"
          ]
        }
      }
    },
    "FieldComparison": {
      "id": "FieldComparison",
      "description": "Field that needs to be compared.",
      "type": "object",
      "properties": {
        "key": {
          "description": "Optional. Key of the field.",
          "type": "string"
        },
        "stringValue": {
          "description": "String value",
          "type": "string"
        },
        "boolValue": {
          "description": "Boolean value",
          "type": "boolean"
        },
        "intValue": {
          "description": "Integer value",
          "type": "string",
          "format": "int64"
        },
        "comparator": {
          "description": "Optional. Comparator to use for comparing the field value.",
          "type": "string",
          "enumDescriptions": [
            "The default value.",
            "The field value must be equal to the specified value.",
            "The field value must not be equal to the specified value."
          ],
          "enum": [
            "COMPARATOR_UNSPECIFIED",
            "EQUALS",
            "NOT_EQUALS"
          ]
        }
      }
    },
    "MultipleSelectConfig": {
      "id": "MultipleSelectConfig",
      "description": "MultipleSelectConfig represents the multiple options for a config variable.",
      "type": "object",
      "properties": {
        "valueSeparator": {
          "description": "Required. Value separator. Only \",\" can be used for OAuth auth code flow scope field.",
          "type": "string"
        },
        "multipleSelectOptions": {
          "description": "Required. Multiple select options.",
          "type": "array",
          "items": {
            "$ref": "MultipleSelectOption"
          }
        },
        "allowCustomValues": {
          "description": "Optional. Allow custom values.",
          "type": "boolean"
        }
      }
    },
    "MultipleSelectOption": {
      "id": "MultipleSelectOption",
      "description": "MultiplSelecteOption represents the single option for a config variable.",
      "type": "object",
      "properties": {
        "description": {
          "description": "Optional. Value of the option.",
          "type": "string"
        },
        "displayName": {
          "description": "Required. Display name of the option.",
          "type": "string"
        },
        "key": {
          "description": "Required. Key of the option.",
          "type": "string"
        },
        "preselected": {
          "description": "Optional. Indicates if the option is preselected.",
          "type": "boolean"
        }
      }
    },
    "DestinationConfigTemplate": {
      "id": "DestinationConfigTemplate",
      "description": "DestinationConfigTemplate defines required destinations supported by the Connector.",
      "type": "object",
      "properties": {
        "key": {
          "description": "Key of the destination.",
          "type": "string"
        },
        "displayName": {
          "description": "Display name of the parameter.",
          "type": "string"
        },
        "description": {
          "description": "Description.",
          "type": "string"
        },
        "min": {
          "description": "The minimum number of destinations supported for this key.",
          "type": "integer",
          "format": "int32"
        },
        "max": {
          "description": "The maximum number of destinations supported for this key.",
          "type": "integer",
          "format": "int32"
        },
        "portFieldType": {
          "description": "Whether port number should be provided by customers.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "FIELD_TYPE_UNSPECIFIED",
            "REQUIRED",
            "OPTIONAL",
            "NOT_USED"
          ]
        },
        "defaultPort": {
          "description": "The default port.",
          "type": "integer",
          "format": "int32"
        },
        "regexPattern": {
          "description": "Regex pattern for host.",
          "type": "string"
        },
        "isAdvanced": {
          "description": "Whether the current destination tempalate is part of Advanced settings",
          "type": "boolean"
        },
        "autocompleteSuggestions": {
          "description": "Autocomplete suggestions for destination URL field.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "SupportedRuntimeFeatures": {
      "id": "SupportedRuntimeFeatures",
      "description": "Supported runtime features of a connector version.",
      "type": "object",
      "properties": {
        "entityApis": {
          "description": "Specifies if the connector supports entity apis like 'createEntity'.",
          "type": "boolean"
        },
        "actionApis": {
          "description": "Specifies if the connector supports action apis like 'executeAction'.",
          "type": "boolean"
        },
        "sqlQuery": {
          "description": "Specifies if the connector supports 'ExecuteSqlQuery' operation.",
          "type": "boolean"
        },
        "asyncOperations": {
          "description": "Specifies if the connector supports async long running operations.",
          "type": "boolean"
        }
      }
    },
    "EgressControlConfig": {
      "id": "EgressControlConfig",
      "description": "Egress control config for connector runtime. These configurations define the rules to identify which outbound domains/hosts needs to be whitelisted. It may be a static information for a particular connector version or it is derived from the configurations provided by the customer in Connection resource.",
      "type": "object",
      "properties": {
        "backends": {
          "description": "Static Comma separated backends which are common for all Connection resources. Supported formats for each backend are host:port or just host (host can be ip address or domain name).",
          "type": "string"
        },
        "extractionRules": {
          "description": "Extractions Rules to extract the backends from customer provided configuration.",
          "deprecated": true,
          "$ref": "ExtractionRules"
        },
        "additionalExtractionRules": {
          "description": "Additional extraction rules to identity the backends from customer provided configuration in Connection resource. These rules are applied in addition to the ones specified in `oneof_backends`.",
          "$ref": "ExtractionRules"
        },
        "launchEnvironment": {
          "description": "Launch environment for egress control.",
          "type": "string",
          "enumDescriptions": [
            "Default value. If not specified, the launch environment will default to AUTOPUSH.",
            "Autopush environment.",
            "Staging environment.",
            "Prod environment."
          ],
          "enum": [
            "LAUNCH_ENVIRONMENT_UNSPECIFIED",
            "AUTOPUSH",
            "STAGING",
            "PROD"
          ]
        },
        "allowlistedProjectNumbers": {
          "description": "Optional. Used when access_mode is RESTRICTED or ACCESS_MODE_UNSPECIFIED.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "accessMode": {
          "description": "Optional. Access mode for egress control.",
          "type": "string",
          "enumDescriptions": [
            "The default value. Per best practices (go/protodosdonts#unspecified-enum), the first value should be UNSPECIFIED and have a tag of 0. Application logic should treat this the same as RESTRICTED.",
            "Enforce the allowlist. Only projects in 'allowlisted_project_numbers' are permitted.",
            "Allow all projects. 'allowlisted_project_numbers' is ignored."
          ],
          "enum": [
            "ACCESS_MODE_UNSPECIFIED",
            "RESTRICTED",
            "ALLOW_ALL"
          ]
        }
      }
    },
    "ExtractionRules": {
      "id": "ExtractionRules",
      "description": "Extraction Rules to identity the backends from customer provided configuration in Connection resource.",
      "type": "object",
      "properties": {
        "extractionRule": {
          "description": "Collection of Extraction Rule.",
          "type": "array",
          "items": {
            "$ref": "ExtractionRule"
          }
        }
      }
    },
    "ExtractionRule": {
      "id": "ExtractionRule",
      "description": "Extraction Rule.",
      "type": "object",
      "properties": {
        "source": {
          "description": "Source on which the rule is applied.",
          "$ref": "Source"
        },
        "extractionRegex": {
          "description": "Regex used to extract backend details from source. If empty, whole source value will be used.",
          "type": "string"
        },
        "formatString": {
          "description": "Format string used to format the extracted backend details. If empty, extracted backend details will be returned as it is.",
          "type": "string"
        }
      }
    },
    "Source": {
      "id": "Source",
      "description": "Source to extract the backend from.",
      "type": "object",
      "properties": {
        "sourceType": {
          "description": "Type of the source.",
          "type": "string",
          "enumDescriptions": [
            "Default SOURCE.",
            "Config Variable source type.",
            "Auth Config Variable source type."
          ],
          "enum": [
            "SOURCE_TYPE_UNSPECIFIED",
            "CONFIG_VARIABLE",
            "AUTH_CONFIG_VARIABLE"
          ]
        },
        "fieldId": {
          "description": "Field identifier. For example config variable name.",
          "type": "string"
        }
      }
    },
    "SslConfigTemplate": {
      "id": "SslConfigTemplate",
      "description": "Ssl config details of a connector version",
      "type": "object",
      "properties": {
        "sslType": {
          "description": "Controls the ssl type for the given connector version",
          "type": "string",
          "enumDescriptions": [
            "No SSL configuration required.",
            "TLS Handshake",
            "mutual TLS (MTLS) Handshake"
          ],
          "enum": [
            "SSL_TYPE_UNSPECIFIED",
            "TLS",
            "MTLS"
          ]
        },
        "isTlsMandatory": {
          "description": "Boolean for determining if the connector version mandates TLS.",
          "type": "boolean"
        },
        "serverCertType": {
          "description": "List of supported Server Cert Types",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "Cert type unspecified.",
              "Privacy Enhanced Mail (PEM) Type"
            ],
            "enum": [
              "CERT_TYPE_UNSPECIFIED",
              "PEM"
            ]
          }
        },
        "clientCertType": {
          "description": "List of supported Client Cert Types",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "Cert type unspecified.",
              "Privacy Enhanced Mail (PEM) Type"
            ],
            "enum": [
              "CERT_TYPE_UNSPECIFIED",
              "PEM"
            ]
          }
        },
        "additionalVariables": {
          "description": "Any additional fields that need to be rendered",
          "type": "array",
          "items": {
            "$ref": "ConfigVariableTemplate"
          }
        }
      }
    },
    "EventingConfigTemplate": {
      "id": "EventingConfigTemplate",
      "description": "Eventing Config details of a connector version. next: 14",
      "type": "object",
      "properties": {
        "registrationDestinationConfig": {
          "description": "Registration host destination config template.",
          "$ref": "DestinationConfigTemplate"
        },
        "authConfigTemplates": {
          "description": "AuthConfigTemplates represents the auth values for the webhook adapter.",
          "type": "array",
          "items": {
            "$ref": "AuthConfigTemplate"
          }
        },
        "listenerAuthConfigTemplates": {
          "description": "ListenerAuthConfigTemplates represents the auth values for the event listener.",
          "type": "array",
          "items": {
            "$ref": "AuthConfigTemplate"
          }
        },
        "additionalVariables": {
          "description": "Additional fields that need to be rendered.",
          "type": "array",
          "items": {
            "$ref": "ConfigVariableTemplate"
          }
        },
        "autoRefresh": {
          "description": "Auto refresh to extend webhook life.",
          "type": "boolean"
        },
        "enrichmentSupported": {
          "description": "Enrichment Supported.",
          "type": "boolean"
        },
        "autoRegistrationSupported": {
          "description": "Auto Registration supported.",
          "type": "boolean"
        },
        "encryptionKeyTemplate": {
          "description": "Encryption key (can be either Google managed or CMEK).",
          "$ref": "ConfigVariableTemplate"
        },
        "isEventingSupported": {
          "description": "Is Eventing Supported.",
          "type": "boolean"
        },
        "eventListenerType": {
          "description": "The type of the event listener for a specific connector.",
          "type": "string",
          "enumDescriptions": [
            "Default value.",
            "Webhook listener. e.g. Jira, Zendesk, Servicenow etc.,",
            "JMS Listener. e.g. IBM MQ, Rabbit MQ etc.,"
          ],
          "enum": [
            "EVENT_LISTENER_TYPE_UNSPECIFIED",
            "WEBHOOK_LISTENER",
            "JMS_LISTENER"
          ]
        },
        "proxyDestinationConfig": {
          "description": "Proxy destination config template.",
          "$ref": "DestinationConfigTemplate"
        },
        "triggerConfigVariables": {
          "description": "Trigger Config fields that needs to be rendered",
          "type": "array",
          "items": {
            "$ref": "ConfigVariableTemplate"
          }
        },
        "sslConfigTemplate": {
          "description": "SSL Config template for the connector version.",
          "$ref": "SslConfigTemplate"
        }
      }
    },
    "ConnectorInfraConfig": {
      "id": "ConnectorInfraConfig",
      "description": "This cofiguration provides infra configs like rate limit threshold which need to be configurable for every connector version",
      "type": "object",
      "properties": {
        "ratelimitThreshold": {
          "description": "Max QPS supported by the connector version before throttling of requests.",
          "type": "string",
          "format": "int64"
        },
        "internalclientRatelimitThreshold": {
          "description": "Max QPS supported for internal requests originating from Connd.",
          "type": "string",
          "format": "int64"
        },
        "hpaConfig": {
          "description": "HPA autoscaling config.",
          "$ref": "HPAConfig"
        },
        "resourceRequests": {
          "description": "System resource requests.",
          "$ref": "ResourceRequests"
        },
        "resourceLimits": {
          "description": "System resource limits.",
          "$ref": "ResourceLimits"
        },
        "sharedDeployment": {
          "description": "The name of shared connector deployment.",
          "type": "string"
        },
        "connectionRatelimitWindowSeconds": {
          "description": "The window used for ratelimiting runtime requests to connections.",
          "type": "string",
          "format": "int64"
        },
        "deploymentModel": {
          "description": "Indicate whether connector is deployed on GKE/CloudRun",
          "type": "string",
          "enumDescriptions": [
            "Deployment model is not specified.",
            "Default model gke mst.",
            "Cloud run mst."
          ],
          "enum": [
            "DEPLOYMENT_MODEL_UNSPECIFIED",
            "GKE_MST",
            "CLOUD_RUN_MST"
          ]
        },
        "networkEgressModeOverride": {
          "description": "Network egress mode override to migrate to direct VPC egress.",
          "$ref": "NetworkEgressModeOverride"
        },
        "migrateDeploymentModel": {
          "description": "Indicate whether connector is being migrated to cloud run deployment model.",
          "type": "boolean"
        },
        "maxInstanceRequestConcurrency": {
          "description": "Max Instance Request Conncurrency for Cloud Run service.",
          "type": "integer",
          "format": "int32"
        },
        "migrateTls": {
          "description": "Indicate whether connector is being migrated to TLS.",
          "type": "boolean"
        },
        "alwaysAllocateCpu": {
          "description": "Indicates that the Cloud Run CPU should always be allocated.",
          "type": "boolean"
        },
        "provisionCloudSpanner": {
          "description": "Indicate whether cloud spanner is required for connector job.",
          "type": "boolean"
        },
        "connectorVersioningEnabled": {
          "description": "Indicate whether connector versioning is enabled.",
          "type": "boolean"
        },
        "provisionMemstore": {
          "description": "Indicate whether memstore is required for connector job.",
          "type": "boolean"
        },
        "connectionServiceAccountEnabled": {
          "description": "Indicate whether connection service account is enabled. If false, the common runtime service agent is used.",
          "type": "boolean"
        },
        "publicNetworkIngressEnabled": {
          "description": "Indicate whether public network ingress should be enabled.",
          "type": "boolean"
        }
      }
    },
    "NetworkEgressModeOverride": {
      "id": "NetworkEgressModeOverride",
      "description": "NetworkEgressModeOverride provides the network egress mode override for a connector.",
      "type": "object",
      "properties": {
        "networkEgressMode": {
          "description": "Determines the VPC Egress mode for the connector.",
          "type": "string",
          "enumDescriptions": [
            "Network Egress mode is not specified.",
            "Default model VPC Access Connector.",
            "Direct VPC Egress."
          ],
          "enum": [
            "NETWORK_EGRESS_MODE_UNSPECIFIED",
            "SERVERLESS_VPC_ACCESS_CONNECTOR",
            "DIRECT_VPC_EGRESS"
          ]
        },
        "isEventingOverrideEnabled": {
          "description": "boolean should be set to true to make sure only eventing enabled connections are migrated to direct vpc egress.",
          "type": "boolean"
        },
        "isJobsOverrideEnabled": {
          "description": "boolean should be set to true to make sure only async operations enabled connections are migrated to direct vpc egress.",
          "type": "boolean"
        }
      }
    },
    "SchemaRefreshConfig": {
      "id": "SchemaRefreshConfig",
      "description": "Config for connection schema refresh",
      "type": "object",
      "properties": {
        "useSynchronousSchemaRefresh": {
          "description": "Whether to use synchronous schema refresh.",
          "type": "boolean"
        },
        "useActionDisplayNames": {
          "description": "Whether to use displayName for actions in UI.",
          "type": "boolean"
        }
      }
    },
    "StandardEntity": {
      "id": "StandardEntity",
      "description": "Standard entity",
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the standard entity.",
          "type": "string"
        }
      }
    },
    "StandardAction": {
      "id": "StandardAction",
      "description": "Standard action",
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the standard action.",
          "type": "string"
        }
      }
    },
    "VpcscConfig": {
      "id": "VpcscConfig",
      "description": "This configuration provides VPCSC config for a connector.",
      "type": "object",
      "properties": {
        "defaultAllowlistedHost": {
          "description": "The list of allowlisted FQDNs for VPCSC.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "disableFirewallVpcscFlow": {
          "description": "Whether to disable firewall VPCSC flow.",
          "type": "boolean"
        }
      }
    },
    "ListEventTypesResponse": {
      "id": "ListEventTypesResponse",
      "description": "Response message for Connectors.ListEventTypes.",
      "type": "object",
      "properties": {
        "eventTypes": {
          "description": "A list of connector versions.",
          "type": "array",
          "items": {
            "$ref": "EventType"
          }
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        }
      }
    },
    "EventType": {
      "id": "EventType",
      "description": "EventType includes fields.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. Resource name of the eventtype. Format: projects/{project}/locations/{location}/providers/{provider}/connectors/{connector}/versions/{version}/eventtypes/{eventtype} Only global location is supported for Connector resource.",
          "readOnly": true,
          "type": "string"
        },
        "eventTypeId": {
          "description": "Output only. Event type id. Example: `ticket.created`.",
          "readOnly": true,
          "type": "string"
        },
        "createTime": {
          "description": "Output only. Created time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Updated time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "eventPayloadSchema": {
          "description": "Output only. Schema of webhook event payload.",
          "readOnly": true,
          "type": "string"
        },
        "entityType": {
          "description": "Output only. Runtime entity type name. Will be null if entity type map is not available. Used for read before send feature.",
          "readOnly": true,
          "type": "string"
        },
        "idPath": {
          "description": "Output only. Id path denotes the path of id in webhook payload.",
          "readOnly": true,
          "type": "string"
        },
        "enrichedEventPayloadSchema": {
          "description": "Output only. Schema of the event payload after enriched. Will be null if read before send is not supported.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "ConnectionSchemaMetadata": {
      "id": "ConnectionSchemaMetadata",
      "description": "ConnectionSchemaMetadata is the singleton resource of each connection. It includes the entity and action names of runtime resources exposed by a connection backend.",
      "type": "object",
      "properties": {
        "entities": {
          "description": "Output only. List of entity names.",
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "actions": {
          "description": "Output only. List of actions.",
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "name": {
          "description": "Output only. Resource name. Format: projects/{project}/locations/{location}/connections/{connection}/connectionSchemaMetadata",
          "readOnly": true,
          "type": "string"
        },
        "updateTime": {
          "description": "Output only. Timestamp when the connection runtime schema was updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "refreshTime": {
          "description": "Output only. Timestamp when the connection runtime schema refresh was triggered.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "state": {
          "description": "Output only. The current state of runtime schema.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Default state.",
            "Schema refresh is in progress.",
            "Schema has been updated.",
            "Schema refresh for metadata is in progress.",
            "Schema metadata has been updated.",
            "Failed to refresh schema metadata",
            "Triggered full schema refresh",
            "Updated full schema"
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "REFRESHING",
            "UPDATED",
            "REFRESHING_SCHEMA_METADATA",
            "UPDATED_SCHEMA_METADATA",
            "REFRESH_SCHEMA_METADATA_FAILED",
            "REFRESHING_FULL_SCHEMA",
            "UPDATED_FULL_SCHEMA"
          ]
        },
        "errorMessage": {
          "description": "Error message for users.",
          "type": "string"
        }
      }
    },
    "RefreshConnectionSchemaMetadataRequest": {
      "id": "RefreshConnectionSchemaMetadataRequest",
      "description": "Request message for ConnectorsService.RefreshConnectionSchemaMetadata.",
      "type": "object",
      "properties": {}
    },
    "ListRuntimeEntitySchemasResponse": {
      "id": "ListRuntimeEntitySchemasResponse",
      "description": "Response message for ConnectorsService.ListRuntimeEntitySchemas.",
      "type": "object",
      "properties": {
        "runtimeEntitySchemas": {
          "description": "Runtime entity schemas.",
          "type": "array",
          "items": {
            "$ref": "RuntimeEntitySchema"
          }
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        }
      }
    },
    "ListRuntimeActionSchemasResponse": {
      "id": "ListRuntimeActionSchemasResponse",
      "description": "Response message for ConnectorsService.ListRuntimeActionSchemas.",
      "type": "object",
      "properties": {
        "runtimeActionSchemas": {
          "description": "Runtime action schemas.",
          "type": "array",
          "items": {
            "$ref": "RuntimeActionSchema"
          }
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        }
      }
    },
    "ListEntityTypesResponse": {
      "id": "ListEntityTypesResponse",
      "description": "Response message for ListEntityTypes API",
      "type": "object",
      "properties": {
        "entityTypes": {
          "description": "list of entity types",
          "type": "array",
          "items": {
            "$ref": "RuntimeEntitySchema"
          }
        },
        "nextPageToken": {
          "description": "token for next page",
          "type": "string"
        }
      }
    },
    "ListActionsResponse": {
      "id": "ListActionsResponse",
      "description": "Response message for ListActions API",
      "type": "object",
      "properties": {
        "actions": {
          "description": "list of actions",
          "type": "array",
          "items": {
            "$ref": "RuntimeActionSchema"
          }
        },
        "nextPageToken": {
          "description": "token for next page",
          "type": "string"
        }
      }
    },
    "RuntimeConfig": {
      "id": "RuntimeConfig",
      "description": "RuntimeConfig is the singleton resource of each location. It includes generic resource configs consumed by control plane and runtime plane like: pub/sub topic/subscription resource name, Cloud Storage location storing schema etc.",
      "type": "object",
      "properties": {
        "locationId": {
          "description": "Output only. location_id of the runtime location. E.g. \"us-west1\".",
          "readOnly": true,
          "type": "string"
        },
        "conndTopic": {
          "description": "Output only. Pub/Sub topic for connd to send message. E.g. projects/{project-id}/topics/{topic-id}",
          "readOnly": true,
          "type": "string"
        },
        "conndSubscription": {
          "description": "Output only. Pub/Sub subscription for connd to receive message. E.g. projects/{project-id}/subscriptions/{topic-id}",
          "readOnly": true,
          "type": "string"
        },
        "controlPlaneTopic": {
          "description": "Output only. Pub/Sub topic for control plne to send message. communication. E.g. projects/{project-id}/topics/{topic-id}",
          "readOnly": true,
          "type": "string"
        },
        "controlPlaneSubscription": {
          "description": "Output only. Pub/Sub subscription for control plane to receive message. E.g. projects/{project-id}/subscriptions/{topic-id}",
          "readOnly": true,
          "type": "string"
        },
        "runtimeEndpoint": {
          "description": "Output only. The endpoint of the connectors runtime ingress.",
          "readOnly": true,
          "type": "string"
        },
        "state": {
          "description": "Output only. The state of the location.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "STATE_UNSPECIFIED.",
            "INACTIVE.",
            "ACTIVATING.",
            "ACTIVE.",
            "CREATING.",
            "DELETING.",
            "UPDATING."
          ],
          "enumDeprecated": [
            false,
            true,
            true,
            false,
            false,
            false,
            false
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "INACTIVE",
            "ACTIVATING",
            "ACTIVE",
            "CREATING",
            "DELETING",
            "UPDATING"
          ]
        },
        "schemaGcsBucket": {
          "description": "Output only. The Cloud Storage bucket that stores connector's schema reports.",
          "readOnly": true,
          "type": "string"
        },
        "serviceDirectory": {
          "description": "Output only. The name of the Service Directory service name.",
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "description": "Output only. Name of the runtimeConfig resource. Format: projects/{project}/locations/{location}/runtimeConfig",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "Settings": {
      "id": "Settings",
      "description": "Global Settings details.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. Resource name of the Connection. Format: projects/{project}/locations/global/settings}",
          "readOnly": true,
          "type": "string"
        },
        "vpcsc": {
          "description": "Optional. Flag indicates whether vpc-sc is enabled.",
          "type": "boolean"
        },
        "payg": {
          "description": "Output only. Flag indicates if user is in PayG model",
          "readOnly": true,
          "type": "boolean"
        },
        "tenantProjectId": {
          "description": "Output only. Tenant project id of the consumer project.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "RegionalSettings": {
      "id": "RegionalSettings",
      "description": "Regional Settings details.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. Resource name of the Connection. Format: projects/{project}/locations/{location}/regionalSettings",
          "readOnly": true,
          "type": "string"
        },
        "networkConfig": {
          "description": "Optional. Regional network config.",
          "$ref": "NetworkConfig"
        },
        "encryptionConfig": {
          "description": "Optional. Regional encryption config to hold CMEK details.",
          "$ref": "EncryptionConfig"
        },
        "provisioned": {
          "description": "Output only. Specifies whether the region is provisioned.",
          "readOnly": true,
          "type": "boolean"
        },
        "client": {
          "description": "Optional. Client type for the regional settings.",
          "type": "string"
        }
      }
    },
    "NetworkConfig": {
      "id": "NetworkConfig",
      "description": "Regional Network Config.",
      "type": "object",
      "properties": {
        "egressMode": {
          "description": "Optional. Egress mode for the network.",
          "type": "string",
          "enumDescriptions": [
            "Egress mode unspecified.",
            "Network egress through auto assigned IPs.",
            "Network egress through static IPs."
          ],
          "enum": [
            "NETWORK_EGRESS_MODE_UNSPECIFIED",
            "AUTO_IP",
            "STATIC_IP"
          ]
        },
        "egressIps": {
          "description": "Output only. Egress IPs",
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "EncryptionConfig": {
      "id": "EncryptionConfig",
      "description": "Regional encryption config for CMEK details.",
      "type": "object",
      "properties": {
        "kmsKeyName": {
          "description": "Optional. KMS crypto key. This field accepts identifiers of the form `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/ {crypto_key}`",
          "type": "string"
        },
        "encryptionType": {
          "description": "Optional. Encryption type for the region.",
          "type": "string",
          "enumDescriptions": [
            "Encryption type unspecified.",
            "Google managed encryption keys",
            "Customer managed encryption keys."
          ],
          "enum": [
            "ENCRYPTION_TYPE_UNSPECIFIED",
            "GMEK",
            "CMEK"
          ]
        }
      }
    },
    "ListEndpointAttachmentsResponse": {
      "id": "ListEndpointAttachmentsResponse",
      "description": "Response message for ConnectorsService.ListEndpointAttachments",
      "type": "object",
      "properties": {
        "endpointAttachments": {
          "description": "EndpointAttachments.",
          "type": "array",
          "items": {
            "$ref": "EndpointAttachment"
          }
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        },
        "unreachable": {
          "description": "Locations that could not be reached.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "EndpointAttachment": {
      "id": "EndpointAttachment",
      "description": "represents the Connector's Endpoint Attachment resource",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. Resource name of the Endpoint Attachment. Format: projects/{project}/locations/{location}/endpointAttachments/{endpoint_attachment}",
          "readOnly": true,
          "type": "string"
        },
        "createTime": {
          "description": "Output only. Created time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Updated time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "labels": {
          "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "description": {
          "description": "Optional. Description of the resource.",
          "type": "string"
        },
        "serviceAttachment": {
          "description": "Required. The path of the service attachment",
          "type": "string"
        },
        "endpointIp": {
          "description": "Output only. The Private Service Connect connection endpoint ip",
          "readOnly": true,
          "type": "string"
        },
        "endpointGlobalAccess": {
          "description": "Optional. The Private Service Connect Connection Endpoint Global Access. https://cloud.google.com/vpc/docs/about-accessing-vpc-hosted-services-endpoints#global-access",
          "type": "boolean"
        },
        "state": {
          "description": "Output only. The Private Service Connect Connection Endpoint State. This value is only available in the Full view.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "STATE_UNSPECIFIED.",
            "The endpoint is pending acceptance by the producer.",
            "The endpoint has been accepted by the producer.",
            "The endpoint has been rejected by the producer.",
            "The endpoint has been closed by the producer and will not serve traffic going forward.",
            "The endpoint has been frozen by the producer and will not serve traffic.",
            "The endpoint has been accepted by the producer, but it is not ready to serve the traffic due to producer side issues.",
            "The endpoint has been accepted by the producer, but it cannot be programmed to the data plane due to invariant violation."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "PENDING",
            "ACCEPTED",
            "REJECTED",
            "CLOSED",
            "FROZEN",
            "NEEDS_ATTENTION",
            "ACCEPTED_NOT_PROGRAMMED"
          ]
        }
      }
    },
    "ListManagedZonesResponse": {
      "id": "ListManagedZonesResponse",
      "description": "Response message for ConnectorsService.ListManagedZones",
      "type": "object",
      "properties": {
        "managedZones": {
          "description": "ManagedZones.",
          "type": "array",
          "items": {
            "$ref": "ManagedZone"
          }
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        },
        "unreachable": {
          "description": "Locations that could not be reached.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "ManagedZone": {
      "id": "ManagedZone",
      "description": "represents the Connector's Managed Zone resource",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. Resource name of the Managed Zone. Format: projects/{project}/locations/global/managedZones/{managed_zone}",
          "readOnly": true,
          "type": "string"
        },
        "createTime": {
          "description": "Output only. Created time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Updated time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "labels": {
          "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "description": {
          "description": "Optional. Description of the resource.",
          "type": "string"
        },
        "dns": {
          "description": "Required. DNS Name of the resource",
          "type": "string"
        },
        "targetProject": {
          "description": "Required. The name of the Target Project",
          "type": "string"
        },
        "targetVpc": {
          "description": "Required. The name of the Target Project VPC Network",
          "type": "string"
        }
      }
    },
    "ListEventSubscriptionsResponse": {
      "id": "ListEventSubscriptionsResponse",
      "description": "Response message for ConnectorsService.ListEventSubscriptions",
      "type": "object",
      "properties": {
        "eventSubscriptions": {
          "description": "Subscriptions.",
          "type": "array",
          "items": {
            "$ref": "EventSubscription"
          }
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        },
        "unreachable": {
          "description": "Locations that could not be reached.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "EventSubscription": {
      "id": "EventSubscription",
      "description": "represents the Connector's EventSubscription resource",
      "type": "object",
      "properties": {
        "name": {
          "description": "Required. Identifier. Resource name of the EventSubscription. Format: projects/{project}/locations/{location}/connections/{connection}/eventSubscriptions/{event_subscription}",
          "type": "string"
        },
        "createTime": {
          "description": "Output only. Created time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Updated time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "eventTypeId": {
          "description": "Optional. Event type id of the event of current EventSubscription.",
          "type": "string"
        },
        "subscriber": {
          "description": "Optional. name of the Subscriber for the current EventSubscription.",
          "type": "string"
        },
        "subscriberLink": {
          "description": "Optional. Link for Subscriber of the current EventSubscription.",
          "type": "string"
        },
        "status": {
          "description": "Optional. Status indicates the status of the event subscription resource",
          "$ref": "EventSubscriptionStatus"
        },
        "destinations": {
          "description": "Optional. The destination to hit when we receive an event",
          "$ref": "EventSubscriptionDestination"
        },
        "jms": {
          "description": "Optional. JMS is the source for the event listener.",
          "$ref": "JMS"
        },
        "triggerConfigVariables": {
          "description": "Optional. Configuration for configuring the trigger",
          "type": "array",
          "items": {
            "$ref": "ConfigVariable"
          }
        },
        "filter": {
          "description": "Optional. Filter for the event subscription. Incoming events are filtered based on the filter expression.",
          "type": "string"
        }
      }
    },
    "EventSubscriptionStatus": {
      "id": "EventSubscriptionStatus",
      "description": "EventSubscription Status denotes the status of the EventSubscription resource.",
      "type": "object",
      "properties": {
        "state": {
          "description": "Output only. State of Event Subscription resource.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Default state.",
            "EventSubscription creation is in progress.",
            "EventSubscription is in Updating status.",
            "EventSubscription is in Active state and is ready to receive events.",
            "EventSubscription is currently suspended.",
            "EventSubscription is in Error state."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "CREATING",
            "UPDATING",
            "ACTIVE",
            "SUSPENDED",
            "ERROR"
          ]
        },
        "description": {
          "description": "Output only. Description of the state.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "EventSubscriptionDestination": {
      "id": "EventSubscriptionDestination",
      "description": "Message for EventSubscription Destination to act on receiving an event",
      "type": "object",
      "properties": {
        "type": {
          "description": "Optional. type of the destination",
          "type": "string",
          "enumDescriptions": [
            "Default state.",
            "Endpoint - Hit the value of endpoint when event is received",
            "Cloud Storage - Write the event to Cloud Storage bucket",
            "Pub/Sub - Write the event to Pub/Sub topic"
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "ENDPOINT",
            "GCS",
            "PUBSUB"
          ]
        },
        "serviceAccount": {
          "description": "Optional. Service account needed for runtime plane to trigger IP workflow.",
          "type": "string"
        },
        "endpoint": {
          "description": "OPTION 1: Hit an endpoint when we receive an event.",
          "$ref": "EndPoint"
        },
        "pubsub": {
          "description": "OPTION 3: Write the event to Pub/Sub topic.",
          "$ref": "PubSub"
        }
      }
    },
    "EndPoint": {
      "id": "EndPoint",
      "description": "Endpoint message includes details of the Destination endpoint.",
      "type": "object",
      "properties": {
        "endpointUri": {
          "description": "Optional. The URI of the Endpoint.",
          "type": "string"
        },
        "headers": {
          "description": "Optional. List of Header to be added to the Endpoint.",
          "type": "array",
          "items": {
            "$ref": "Header"
          }
        }
      }
    },
    "Header": {
      "id": "Header",
      "description": "Header details for a given header to be added to Endpoint.",
      "type": "object",
      "properties": {
        "key": {
          "description": "Optional. Key of Header.",
          "type": "string"
        },
        "value": {
          "description": "Optional. Value of Header.",
          "type": "string"
        }
      }
    },
    "PubSub": {
      "id": "PubSub",
      "description": "Pub/Sub message includes details of the Destination Pub/Sub topic.",
      "type": "object",
      "properties": {
        "projectId": {
          "description": "Required. The project id which has the Pub/Sub topic.",
          "type": "string"
        },
        "topicId": {
          "description": "Required. The topic id of the Pub/Sub topic.",
          "type": "string"
        },
        "configVariables": {
          "description": "Optional. Configuration for configuring the trigger",
          "type": "array",
          "items": {
            "$ref": "ConfigVariable"
          }
        },
        "attributes": {
          "description": "Optional. Pub/Sub message attributes to be added to the Pub/Sub message.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "JMS": {
      "id": "JMS",
      "description": "JMS message denotes the source of the event",
      "type": "object",
      "properties": {
        "type": {
          "description": "Optional. Type of the JMS Source. i.e. Queue or Topic",
          "type": "string",
          "enumDescriptions": [
            "Default state.",
            "JMS Queue.",
            "JMS Topic."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "QUEUE",
            "TOPIC"
          ]
        },
        "name": {
          "description": "Optional. Name of the JMS source. i.e. queueName or topicName",
          "type": "string"
        }
      }
    },
    "RetryEventSubscriptionRequest": {
      "id": "RetryEventSubscriptionRequest",
      "description": "Request message for ConnectorsService.RefreshEventSubscription",
      "type": "object",
      "properties": {}
    },
    "RepairEventingRequest": {
      "id": "RepairEventingRequest",
      "description": "Request message for ConnectorsService.RepairEventing",
      "type": "object",
      "properties": {}
    },
    "ListCustomConnectorsResponse": {
      "id": "ListCustomConnectorsResponse",
      "description": "Response message for Connectors.ListCustomConnectors.",
      "type": "object",
      "properties": {
        "customConnectors": {
          "description": "A list of customConnectors.",
          "type": "array",
          "items": {
            "$ref": "CustomConnector"
          }
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        },
        "unreachable": {
          "description": "Locations that could not be reached.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "CustomConnector": {
      "id": "CustomConnector",
      "description": "CustomConnector represents the custom connector defined by the customer as part of byoc.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Identifier. Resource name of the CustomConnector. Format: projects/{project}/locations/{location}/customConnectors/{connector}",
          "type": "string"
        },
        "createTime": {
          "description": "Output only. Created time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Updated time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "labels": {
          "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "logo": {
          "description": "Optional. Logo of the resource.",
          "type": "string"
        },
        "description": {
          "description": "Optional. Description of the resource.",
          "type": "string"
        },
        "displayName": {
          "description": "Optional. Display name.",
          "type": "string"
        },
        "customConnectorType": {
          "description": "Required. Type of the custom connector.",
          "type": "string",
          "enumDescriptions": [
            "Connector type is not specified.",
            "OpenAPI connector.",
            "Proto connector.",
            "SDK connector."
          ],
          "enum": [
            "CUSTOM_CONNECTOR_TYPE_UNSPECIFIED",
            "OPEN_API",
            "PROTO",
            "SDK"
          ]
        },
        "activeConnectorVersions": {
          "description": "Output only. Active connector versions.",
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allConnectorVersions": {
          "description": "Output only. All connector versions.",
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allMarketplaceVersions": {
          "description": "Output only. All marketplace versions.",
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "publishedMarketplaceVersions": {
          "description": "Output only. Published marketplace versions.",
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "ListCustomConnectorVersionsResponse": {
      "id": "ListCustomConnectorVersionsResponse",
      "description": "Response message for Connectors.ListCustomConnectorVersions.",
      "type": "object",
      "properties": {
        "customConnectorVersions": {
          "description": "A list of connector versions.",
          "type": "array",
          "items": {
            "$ref": "CustomConnectorVersion"
          }
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        },
        "unreachable": {
          "description": "Locations that could not be reached.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "CustomConnectorVersion": {
      "id": "CustomConnectorVersion",
      "description": "CustomConnectorVersion indicates a specific version of a connector.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. Identifier. Resource name of the Version. Format: projects/{project}/locations/{location}/customConnectors/{custom_connector}/customConnectorVersions/{custom_connector_version}",
          "readOnly": true,
          "type": "string"
        },
        "createTime": {
          "description": "Output only. Created time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Updated time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "labels": {
          "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "enableBackendDestinationConfig": {
          "description": "Optional. Indicates if an intermediatory connectorservice is used as backend. When this is enabled, the connector destination and connector auth config are required. For SDK based connectors, this is always enabled.",
          "type": "boolean"
        },
        "authConfig": {
          "description": "Optional. Authentication config for accessing connector service (facade). This is used only when enable_backend_destination_config is true.",
          "$ref": "AuthConfig"
        },
        "destinationConfigs": {
          "description": "Optional. Destination config(s) for accessing connector service (facade). This is used only when enable_backend_destination_config is true.",
          "type": "array",
          "items": {
            "$ref": "DestinationConfig"
          }
        },
        "specLocation": {
          "description": "Optional. Location of the custom connector spec. This is only used for Open API based custom connectors. The location can be either a public url like `https://public-url.com/spec` Or a Google Cloud Storage location like `gs:///`.",
          "type": "string"
        },
        "serviceAccount": {
          "description": "Optional. Service account used by runtime plane to access auth config secrets.",
          "type": "string"
        },
        "backendVariableTemplates": {
          "description": "Optional. Backend variable templates is only used when connector backend is enabled. This is used to specify the variables required by the connector backend service to talk to the actual application backend. This translates to additional variable templates in the connection config.",
          "type": "array",
          "items": {
            "$ref": "ConfigVariableTemplate"
          }
        },
        "state": {
          "description": "Output only. State of the custom connector version.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "State Unspecified.",
            "Active state. By default we set the state to Active.",
            "Deprecated state."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "DEPRECATED"
          ]
        },
        "specServerUrls": {
          "description": "Output only. Server URLs parsed from the Open API spec. This is only used for Open API based custom connectors.",
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "partnerMetadata": {
          "description": "Optional. Partner metadata details. This should be populated only when publishing the custom connector to partner connector.",
          "$ref": "PartnerMetadata"
        },
        "publishStatus": {
          "description": "Output only. Publish status of a custom connector.",
          "readOnly": true,
          "$ref": "PublishStatus"
        },
        "asyncOperationsSupport": {
          "description": "Optional. Indicates if Async Operations/Connector Job is supported. This is only available for SDK based custom connectors.",
          "type": "boolean"
        },
        "authConfigTemplates": {
          "description": "Optional. Auth Config Templates is only used when connector backend is enabled. This is used to specify the auth configs supported by the connector backend service to talk to the actual application backend.",
          "type": "array",
          "items": {
            "$ref": "AuthConfigTemplate"
          }
        },
        "authOverrideSupport": {
          "description": "Optional. Auth override support.",
          "type": "boolean"
        }
      }
    },
    "PartnerMetadata": {
      "id": "PartnerMetadata",
      "description": "Partner metadata details. This will be populated when publishing the custom connector as a partner connector version. On publishing, parntner connector version will be created using the fields in PartnerMetadata.",
      "type": "object",
      "properties": {
        "partner": {
          "description": "Required. Partner name.",
          "type": "string"
        },
        "marketplaceProductId": {
          "description": "Required. Marketplace product ID.",
          "type": "string"
        },
        "marketplaceProduct": {
          "description": "Optional. Marketplace product name.",
          "type": "string"
        },
        "marketplaceProductUri": {
          "description": "Optional. Marketplace product URL.",
          "type": "string"
        },
        "marketplaceProductProjectId": {
          "description": "Optional. Marketplace product project ID.",
          "type": "string"
        },
        "acceptGcpTos": {
          "description": "Required. Whether the user has accepted the Google Cloud Platform Terms of Service (https://cloud.google.com/terms/) and the Google Cloud Marketplace Terms of Service (https://cloud.google.com/terms/marketplace/launcher?hl=en).",
          "type": "boolean"
        },
        "confirmPartnerRequirements": {
          "description": "Required. Confirmation that connector meets all applicable requirements mentioned in the Partner Connector Publishing requirements list and Partner onboardiong requirements list (https://cloud.google.com/marketplace/docs/partners/get-started#requirements).",
          "type": "boolean"
        },
        "targetApplication": {
          "description": "Required. Target application for which partner connector is built.",
          "type": "string"
        },
        "useCases": {
          "description": "Required. Details about partner connector use cases.",
          "type": "string"
        },
        "targetCustomerSegment": {
          "description": "Required. Target customer segment for the partner connector.",
          "type": "string"
        },
        "demoUri": {
          "description": "Required. Public URL for the demo video.",
          "type": "string"
        },
        "integrationTemplates": {
          "description": "Required. Integration example templates for the custom connector.",
          "type": "string"
        },
        "additionalComments": {
          "description": "Optional. Additional comments for the submission.",
          "type": "string"
        },
        "partnerConnectorDisplayName": {
          "description": "Required. Partner connector display name.",
          "type": "string"
        },
        "publishRequestTime": {
          "description": "Output only. Publish request time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "hasDynamicSpecUri": {
          "description": "Output only. Has dynamic open api spec uri.",
          "readOnly": true,
          "type": "boolean"
        },
        "localSpecPath": {
          "description": "Output only. Local spec path. Required if has_dynamic_spec_uri is true.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "PublishStatus": {
      "id": "PublishStatus",
      "description": "Publish status of a custom connector.",
      "type": "object",
      "properties": {
        "publishState": {
          "description": "Output only. Publish state of the custom connector.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "State Unspecified.",
            "Connector version has been published as partner connector version.",
            "Connector version is in the process of being published as partner connector version.",
            "Connector version has been unpublished as partner connector version"
          ],
          "enum": [
            "PUBLISH_STATE_UNSPECIFIED",
            "PUBLISHED",
            "PUBLISH_IN_PROGRESS",
            "UNPUBLISHED"
          ]
        },
        "publishedAs": {
          "description": "Output only. Partner connector name. Will be set on the custom connector. Format: providers/partner/connectors//versions/",
          "readOnly": true,
          "type": "string"
        },
        "publishedSource": {
          "description": "Output only. Custom connector name. Will be set on the partner connector. Format: providers/customconnectors/connectors//versions/",
          "readOnly": true,
          "type": "string"
        },
        "publishTime": {
          "description": "Output only. Publish time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        }
      }
    },
    "ValidateCustomConnectorSpecRequest": {
      "id": "ValidateCustomConnectorSpecRequest",
      "description": "Request message for ConnectorsService.ValidateCustomConnectorSpec",
      "type": "object",
      "properties": {
        "specLocation": {
          "description": "Required. Location of the custom connector spec. The location can be either a public url like `https://public-url.com/spec` Or a Google Cloud Storage location like `gs:///`",
          "type": "string"
        },
        "specType": {
          "description": "Required. Spec type of the custom connector spec.",
          "type": "string",
          "enumDescriptions": [
            "Connector type is not specified.",
            "OpenAPI connector.",
            "Proto connector.",
            "SDK connector."
          ],
          "enum": [
            "CUSTOM_CONNECTOR_TYPE_UNSPECIFIED",
            "OPEN_API",
            "PROTO",
            "SDK"
          ]
        },
        "serviceAccount": {
          "description": "Required. Service account to access the spec from Google Cloud Storage.",
          "type": "string"
        }
      }
    },
    "ValidateCustomConnectorSpecResponse": {
      "id": "ValidateCustomConnectorSpecResponse",
      "description": "Response message for ConnectorsService.ValidateCustomConnectorSpec",
      "type": "object",
      "properties": {
        "errorMessage": {
          "description": "Error message. The spec is valid if the error message is empty.",
          "type": "string"
        }
      }
    },
    "FetchAuthSchemaResponse": {
      "id": "FetchAuthSchemaResponse",
      "description": "Response message for Connectors.GetAuthSchema.",
      "type": "object",
      "properties": {
        "authSchemas": {
          "description": "List of AuthSchemas.",
          "type": "array",
          "items": {
            "$ref": "AuthSchema"
          }
        },
        "jsonSchema": {
          "description": "JSON schema of the AuthSchemas. This is only populated if the view is JSON_SCHEMA. The schema is in draft-07 format.",
          "$ref": "JsonAuthSchema"
        }
      }
    },
    "AuthSchema": {
      "id": "AuthSchema",
      "description": "AuthSchema defines the schema of an authentication type.",
      "type": "object",
      "properties": {
        "authFields": {
          "description": "List of AuthFields.",
          "type": "array",
          "items": {
            "$ref": "AuthField"
          }
        },
        "isDefault": {
          "description": "Whether the auth schema is the default one.",
          "type": "boolean"
        },
        "authType": {
          "description": "Auth type of the schema.",
          "type": "string",
          "enumDescriptions": [
            "Authentication type not specified.",
            "Username and Password Authentication.",
            "JSON Web Token (JWT) Profile for Oauth 2.0 Authorization Grant based authentication",
            "Oauth 2.0 Client Credentials Grant Authentication",
            "SSH Public Key Authentication",
            "Oauth 2.0 Authorization Code Flow",
            "Google authentication",
            "Oauth 2.0 Authorization Code Flow with Google Provided OAuth Client"
          ],
          "enum": [
            "AUTH_TYPE_UNSPECIFIED",
            "USER_PASSWORD",
            "OAUTH2_JWT_BEARER",
            "OAUTH2_CLIENT_CREDENTIALS",
            "SSH_PUBLIC_KEY",
            "OAUTH2_AUTH_CODE_FLOW",
            "GOOGLE_AUTHENTICATION",
            "OAUTH2_AUTH_CODE_FLOW_GOOGLE_MANAGED"
          ]
        },
        "authKey": {
          "description": "Auth key of the schema.",
          "type": "string"
        },
        "displayName": {
          "description": "Display name of the schema.",
          "type": "string"
        },
        "description": {
          "description": "Description of the schema.",
          "type": "string"
        }
      }
    },
    "AuthField": {
      "id": "AuthField",
      "description": "AuthField defines a field in an authentication type.",
      "type": "object",
      "properties": {
        "key": {
          "description": "Key of the field.",
          "type": "string"
        },
        "dataType": {
          "description": "Data type of the field.",
          "type": "string"
        },
        "description": {
          "description": "Description of the field.",
          "type": "string"
        }
      }
    },
    "JsonAuthSchema": {
      "id": "JsonAuthSchema",
      "description": "JsonAuthSchema defines the JSON schema of all authentication types.",
      "type": "object",
      "properties": {
        "$schema": {
          "description": "JSON schema of the AuthSchemas.",
          "type": "string"
        },
        "oneOf": {
          "description": "List of AuthObjects.",
          "type": "array",
          "items": {
            "$ref": "AuthObject"
          }
        }
      }
    },
    "AuthObject": {
      "id": "AuthObject",
      "description": "AuthObject defines a JSON schema of an authentication type.",
      "type": "object",
      "properties": {
        "type": {
          "description": "Type of the object.",
          "type": "string"
        },
        "description": {
          "description": "Description of the object.",
          "type": "string"
        },
        "isDefault": {
          "description": "Whether the object is the default one.",
          "type": "boolean"
        },
        "authType": {
          "description": "Auth type of the object.",
          "type": "string"
        },
        "authKey": {
          "description": "Auth key of the object.",
          "type": "string"
        },
        "additionalProperties": {
          "description": "Whether the object has additional properties.",
          "type": "boolean"
        },
        "properties": {
          "description": "Properties of the object.",
          "type": "object",
          "additionalProperties": {
            "$ref": "AuthProperty"
          }
        }
      }
    },
    "AuthProperty": {
      "id": "AuthProperty",
      "description": "AuthProperty defines a property of an authentication type.",
      "type": "object",
      "properties": {
        "type": {
          "description": "Type of the property.",
          "type": "string"
        },
        "description": {
          "description": "Description of the property.",
          "type": "string"
        }
      }
    },
    "DeprecateCustomConnectorVersionRequest": {
      "id": "DeprecateCustomConnectorVersionRequest",
      "description": "Request message for ConnectorsService.DeprecateCustomConnectorVersion",
      "type": "object",
      "properties": {}
    },
    "PublishCustomConnectorVersionRequest": {
      "id": "PublishCustomConnectorVersionRequest",
      "description": "Request message for ConnectorsService.PublishCustomConnectorVersion",
      "type": "object",
      "properties": {
        "partnerMetadata": {
          "description": "Required. Partner metadata details for validating and publishing the custom connector as a partner connector version.",
          "$ref": "PartnerMetadata"
        }
      }
    },
    "WithdrawCustomConnectorVersionRequest": {
      "id": "WithdrawCustomConnectorVersionRequest",
      "description": "Request message for ConnectorsService.WithdrawCustomConnectorVersion",
      "type": "object",
      "properties": {}
    },
    "ListEndUserAuthenticationsResponse": {
      "id": "ListEndUserAuthenticationsResponse",
      "description": "Response message for ConnectorsService.ListEndUserAuthentications",
      "type": "object",
      "properties": {
        "endUserAuthentications": {
          "description": "Subscriptions.",
          "type": "array",
          "items": {
            "$ref": "EndUserAuthentication"
          }
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        },
        "unreachable": {
          "description": "Locations that could not be reached.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "EndUserAuthentication": {
      "id": "EndUserAuthentication",
      "description": "AuthConfig defines details of a authentication type.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Required. Identifier. Resource name of the EndUserAuthentication. Format: projects/{project}/locations/{location}/connections/{connection}/endUserAuthentications/{end_user_authentication}",
          "type": "string"
        },
        "createTime": {
          "description": "Output only. Created time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Updated time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "status": {
          "description": "Optional. Status of the EndUserAuthentication.",
          "$ref": "EndUserAuthenticationEndUserAuthenticationStatus"
        },
        "notifyEndpointDestination": {
          "description": "Optional. The destination to hit when we receive an event",
          "$ref": "EndUserAuthenticationNotifyEndpointDestination"
        },
        "endUserAuthenticationConfig": {
          "description": "Optional. The EndUserAuthenticationConfig for the EndUserAuthentication.",
          "$ref": "EndUserAuthenticationConfig"
        },
        "userId": {
          "description": "Optional. The user id of the user.",
          "type": "string"
        },
        "labels": {
          "description": "Optional. Labels for the EndUserAuthentication.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "configVariables": {
          "description": "Optional. Config variables for the EndUserAuthentication.",
          "type": "array",
          "items": {
            "$ref": "EndUserAuthenticationConfigVariable"
          }
        },
        "destinationConfigs": {
          "description": "Optional. Destination configs for the EndUserAuthentication.",
          "type": "array",
          "items": {
            "$ref": "DestinationConfig"
          }
        },
        "roles": {
          "description": "Optional. Roles for the EndUserAuthentication.",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "Default state.",
              "READER.",
              "READER_DOMAIN_WIDE_ACCESSIBLE which has access to only public data."
            ],
            "enum": [
              "ROLE_UNSPECIFIED",
              "READER",
              "READER_DOMAIN_WIDE_ACCESSIBLE"
            ]
          }
        }
      }
    },
    "EndUserAuthenticationEndUserAuthenticationStatus": {
      "id": "EndUserAuthenticationEndUserAuthenticationStatus",
      "description": "EndUserAuthentication Status denotes the status of the EndUserAuthentication resource.",
      "type": "object",
      "properties": {
        "state": {
          "description": "Output only. State of Event Subscription resource.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Default state.",
            "EndUserAuthentication is in Active state.",
            "EndUserAuthentication is in Error state."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "ERROR"
          ]
        },
        "description": {
          "description": "Output only. Description of the state.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "EndUserAuthenticationNotifyEndpointDestination": {
      "id": "EndUserAuthenticationNotifyEndpointDestination",
      "description": "Message for NotifyEndpointDestination Destination to hit when the refresh token is expired.",
      "type": "object",
      "properties": {
        "type": {
          "description": "Required. type of the destination",
          "type": "string",
          "enumDescriptions": [
            "Default state.",
            "Endpoint - Hit the value of endpoint when event is received"
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "ENDPOINT"
          ]
        },
        "serviceAccount": {
          "description": "Required. Service account needed for runtime plane to notify the backend.",
          "type": "string"
        },
        "endpoint": {
          "description": "Optional. OPTION 1: Hit an endpoint when the refresh token is expired.",
          "$ref": "EndUserAuthenticationNotifyEndpointDestinationEndPoint"
        }
      }
    },
    "EndUserAuthenticationNotifyEndpointDestinationEndPoint": {
      "id": "EndUserAuthenticationNotifyEndpointDestinationEndPoint",
      "description": "Endpoint message includes details of the Destination endpoint.",
      "type": "object",
      "properties": {
        "endpointUri": {
          "description": "Required. The URI of the Endpoint.",
          "type": "string"
        },
        "headers": {
          "description": "Optional. List of Header to be added to the Endpoint.",
          "type": "array",
          "items": {
            "$ref": "EndUserAuthenticationNotifyEndpointDestinationEndPointHeader"
          }
        }
      }
    },
    "EndUserAuthenticationNotifyEndpointDestinationEndPointHeader": {
      "id": "EndUserAuthenticationNotifyEndpointDestinationEndPointHeader",
      "description": "Header details for a given header to be added to Endpoint.",
      "type": "object",
      "properties": {
        "key": {
          "description": "Required. Key of Header.",
          "type": "string"
        },
        "value": {
          "description": "Required. Value of Header.",
          "type": "string"
        }
      }
    },
    "EndUserAuthenticationConfig": {
      "id": "EndUserAuthenticationConfig",
      "description": "EndUserAuthenticationConfig defines details of a authentication configuration for EUC",
      "type": "object",
      "properties": {
        "authType": {
          "description": "The type of authentication configured.",
          "type": "string",
          "enumDescriptions": [
            "Authentication type not specified.",
            "Username and Password Authentication.",
            "JSON Web Token (JWT) Profile for Oauth 2.0 Authorization Grant based authentication",
            "Oauth 2.0 Client Credentials Grant Authentication",
            "SSH Public Key Authentication",
            "Oauth 2.0 Authorization Code Flow",
            "Google authentication",
            "Oauth 2.0 Authorization Code Flow with Google Provided OAuth Client"
          ],
          "enum": [
            "AUTH_TYPE_UNSPECIFIED",
            "USER_PASSWORD",
            "OAUTH2_JWT_BEARER",
            "OAUTH2_CLIENT_CREDENTIALS",
            "SSH_PUBLIC_KEY",
            "OAUTH2_AUTH_CODE_FLOW",
            "GOOGLE_AUTHENTICATION",
            "OAUTH2_AUTH_CODE_FLOW_GOOGLE_MANAGED"
          ]
        },
        "userPassword": {
          "description": "UserPassword.",
          "$ref": "EndUserAuthenticationConfigUserPassword"
        },
        "oauth2JwtBearer": {
          "description": "Oauth2JwtBearer.",
          "$ref": "EndUserAuthenticationConfigOauth2JwtBearer"
        },
        "oauth2ClientCredentials": {
          "description": "Oauth2ClientCredentials.",
          "$ref": "EndUserAuthenticationConfigOauth2ClientCredentials"
        },
        "sshPublicKey": {
          "description": "SSH Public Key.",
          "$ref": "EndUserAuthenticationConfigSshPublicKey"
        },
        "oauth2AuthCodeFlow": {
          "description": "Oauth2AuthCodeFlow.",
          "$ref": "EndUserAuthenticationConfigOauth2AuthCodeFlow"
        },
        "oauth2AuthCodeFlowGoogleManaged": {
          "description": "Oauth2AuthCodeFlowGoogleManaged.",
          "$ref": "EndUserAuthenticationConfigOauth2AuthCodeFlowGoogleManaged"
        },
        "additionalVariables": {
          "description": "Optional. List containing additional auth configs.",
          "type": "array",
          "items": {
            "$ref": "EndUserAuthenticationConfigVariable"
          }
        },
        "authKey": {
          "description": "Identifier key for auth config",
          "type": "string"
        }
      }
    },
    "EndUserAuthenticationConfigUserPassword": {
      "id": "EndUserAuthenticationConfigUserPassword",
      "description": "Parameters to support Username and Password Authentication.",
      "type": "object",
      "properties": {
        "username": {
          "description": "Username.",
          "type": "string"
        },
        "password": {
          "description": "Required. string value or secret version reference containing the password.",
          "$ref": "EUASecret"
        }
      }
    },
    "EUASecret": {
      "id": "EUASecret",
      "description": "EUASecret provides a reference to entries in Secret Manager.",
      "type": "object",
      "properties": {
        "secretVersion": {
          "description": "Optional. The resource name of the secret version in the format, format as: `projects/*/secrets/*/versions/*`.",
          "type": "string"
        },
        "secretValue": {
          "description": "Optional. The plain string value of the secret.",
          "type": "string"
        }
      }
    },
    "EndUserAuthenticationConfigOauth2JwtBearer": {
      "id": "EndUserAuthenticationConfigOauth2JwtBearer",
      "description": "Parameters to support JSON Web Token (JWT) Profile for Oauth 2.0 Authorization Grant based authentication. See https://tools.ietf.org/html/rfc7523 for more details.",
      "type": "object",
      "properties": {
        "clientKey": {
          "description": "Required. secret version/value reference containing a PKCS#8 PEM-encoded private key associated with the Client Certificate. This private key will be used to sign JWTs used for the jwt-bearer authorization grant. Specified in the form as: `projects/*/strings/*/versions/*`.",
          "$ref": "EUASecret"
        },
        "jwtClaims": {
          "description": "JwtClaims providers fields to generate the token.",
          "$ref": "EndUserAuthenticationConfigOauth2JwtBearerJwtClaims"
        }
      }
    },
    "EndUserAuthenticationConfigOauth2JwtBearerJwtClaims": {
      "id": "EndUserAuthenticationConfigOauth2JwtBearerJwtClaims",
      "description": "JWT claims used for the jwt-bearer authorization grant.",
      "type": "object",
      "properties": {
        "issuer": {
          "description": "Value for the \"iss\" claim.",
          "type": "string"
        },
        "subject": {
          "description": "Value for the \"sub\" claim.",
          "type": "string"
        },
        "audience": {
          "description": "Value for the \"aud\" claim.",
          "type": "string"
        }
      }
    },
    "EndUserAuthenticationConfigOauth2ClientCredentials": {
      "id": "EndUserAuthenticationConfigOauth2ClientCredentials",
      "description": "Parameters to support Oauth 2.0 Client Credentials Grant Authentication. See https://tools.ietf.org/html/rfc6749#section-1.3.4 for more details.",
      "type": "object",
      "properties": {
        "clientId": {
          "description": "The client identifier.",
          "type": "string"
        },
        "clientSecret": {
          "description": "Required. string value or secret version containing the client secret.",
          "$ref": "EUASecret"
        }
      }
    },
    "EndUserAuthenticationConfigSshPublicKey": {
      "id": "EndUserAuthenticationConfigSshPublicKey",
      "description": "Parameters to support Ssh public key Authentication.",
      "type": "object",
      "properties": {
        "username": {
          "description": "The user account used to authenticate.",
          "type": "string"
        },
        "sshClientCert": {
          "description": "Required. SSH Client Cert. It should contain both public and private key.",
          "$ref": "EUASecret"
        },
        "certType": {
          "description": "Format of SSH Client cert.",
          "type": "string"
        },
        "sshClientCertPass": {
          "description": "Required. Password (passphrase) for ssh client certificate if it has one.",
          "$ref": "EUASecret"
        }
      }
    },
    "EndUserAuthenticationConfigOauth2AuthCodeFlow": {
      "id": "EndUserAuthenticationConfigOauth2AuthCodeFlow",
      "description": "Parameters to support Oauth 2.0 Auth Code Grant Authentication. See https://www.rfc-editor.org/rfc/rfc6749#section-1.3.1 for more details.",
      "type": "object",
      "properties": {
        "authCode": {
          "description": "Optional. Authorization code to be exchanged for access and refresh tokens.",
          "type": "string"
        },
        "clientId": {
          "description": "Optional. Client ID for user-provided OAuth app.",
          "type": "string"
        },
        "clientSecret": {
          "description": "Optional. Client secret for user-provided OAuth app.",
          "$ref": "EUASecret"
        },
        "scopes": {
          "description": "Optional. Scopes the connection will request when the user performs the auth code flow.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "authUri": {
          "description": "Optional. Auth URL for Authorization Code Flow",
          "type": "string"
        },
        "enablePkce": {
          "description": "Optional. Whether to enable PKCE when the user performs the auth code flow.",
          "type": "boolean"
        },
        "pkceVerifier": {
          "description": "Optional. PKCE verifier to be used during the auth code exchange.",
          "type": "string"
        },
        "oauthTokenData": {
          "description": "Optional. Auth Code Data",
          "$ref": "OAuthTokenData"
        },
        "redirectUri": {
          "description": "Optional. Redirect URI to be provided during the auth code exchange.",
          "type": "string"
        }
      }
    },
    "OAuthTokenData": {
      "id": "OAuthTokenData",
      "description": "pass only at create and not update using updateMask Auth Code Data",
      "type": "object",
      "properties": {
        "accessToken": {
          "description": "Optional. Access token for the connection.",
          "$ref": "EUASecret"
        },
        "refreshToken": {
          "description": "Optional. Refresh token for the connection.",
          "$ref": "EUASecret"
        },
        "expiry": {
          "description": "Optional. Time in seconds when the access token expires.",
          "type": "string",
          "format": "google-duration"
        },
        "createTime": {
          "description": "Optional. Timestamp when the access token was created.",
          "type": "string",
          "format": "google-datetime"
        }
      }
    },
    "EndUserAuthenticationConfigOauth2AuthCodeFlowGoogleManaged": {
      "id": "EndUserAuthenticationConfigOauth2AuthCodeFlowGoogleManaged",
      "description": "Parameters to support Oauth 2.0 Auth Code Grant Authentication using Google Provided OAuth Client. See https://tools.ietf.org/html/rfc6749#section-1.3.1 for more details.",
      "type": "object",
      "properties": {
        "authCode": {
          "description": "Optional. Authorization code to be exchanged for access and refresh tokens.",
          "type": "string"
        },
        "redirectUri": {
          "description": "Optional. Redirect URI to be provided during the auth code exchange.",
          "type": "string"
        },
        "scopes": {
          "description": "Required. Scopes the connection will request when the user performs the auth code flow.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "oauthTokenData": {
          "description": "Auth Code Data",
          "$ref": "OAuthTokenData"
        }
      }
    },
    "EndUserAuthenticationConfigVariable": {
      "id": "EndUserAuthenticationConfigVariable",
      "description": "EndUserAuthenticationConfigVariable represents a configuration variable present in a EndUserAuthentication.",
      "type": "object",
      "properties": {
        "key": {
          "description": "Required. Key of the config variable.",
          "type": "string"
        },
        "intValue": {
          "description": "Value is an integer",
          "type": "string",
          "format": "int64"
        },
        "boolValue": {
          "description": "Value is a bool.",
          "type": "boolean"
        },
        "stringValue": {
          "description": "Value is a string.",
          "type": "string"
        },
        "secretValue": {
          "description": "Value is a secret",
          "$ref": "EUASecret"
        }
      }
    },
    "GenerateConnectionToolspecOverrideRequest": {
      "id": "GenerateConnectionToolspecOverrideRequest",
      "description": "Request message for GenerateConnectionToolspecOverride API.",
      "type": "object",
      "properties": {
        "toolNames": {
          "description": "Required. List of tools for which the tool spec override is to be generated.",
          "type": "array",
          "items": {
            "$ref": "ToolName"
          }
        }
      }
    },
    "ToolName": {
      "id": "ToolName",
      "description": "Tool name for which the tool spec override is to be generated.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Required. Tool name that was generated in the list tools call.",
          "type": "string"
        },
        "entityType": {
          "description": "Optional. Entity type name for which the tool was generated.",
          "type": "string"
        },
        "operation": {
          "description": "Optional. Operation for which the tool was generated.",
          "type": "string",
          "enumDescriptions": [
            "Operation unspecified.",
            "LIST entities.",
            "GET entity.",
            "CREATE entity.",
            "UPDATE entity.",
            "DELETE entity."
          ],
          "enum": [
            "OPERATION_UNSPECIFIED",
            "LIST",
            "GET",
            "CREATE",
            "UPDATE",
            "DELETE"
          ]
        }
      }
    },
    "GenerateConnectionToolspecOverrideResponse": {
      "id": "GenerateConnectionToolspecOverrideResponse",
      "description": "Response message for GenerateConnectionToolspecOverride API.",
      "type": "object",
      "properties": {
        "toolspecOverride": {
          "description": "Toolspec overrides for the connection.",
          "$ref": "ToolspecOverride"
        }
      }
    },
    "ToolspecOverride": {
      "id": "ToolspecOverride",
      "description": "Toolspec overrides for a connection only holds the information that is to be displayed in the UI for admins.",
      "type": "object",
      "properties": {
        "tools": {
          "description": "Required. List of tools defined in the tool spec. Marking this field as required as this is the only field that is editable by the user in modify API so we should have at least one tool in the list.",
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object."
            }
          }
        },
        "createTime": {
          "description": "Output only. Created time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Updated time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "baseVersion": {
          "description": "Required. Represents the base version of the toolspec for which admin has added overrides.",
          "type": "string"
        }
      }
    },
    "FetchConnectionToolspecOverrideRequest": {
      "id": "FetchConnectionToolspecOverrideRequest",
      "description": "Request message for FetchConnectionToolspecOverride API.",
      "type": "object",
      "properties": {
        "toolNames": {
          "description": "Required. List of tools for which the tool spec override is to be generated.",
          "type": "array",
          "items": {
            "$ref": "ToolName"
          }
        }
      }
    },
    "FetchConnectionToolspecOverrideResponse": {
      "id": "FetchConnectionToolspecOverrideResponse",
      "description": "Response message for FetchConnectionToolspecOverride API.",
      "type": "object",
      "properties": {
        "toolspecOverride": {
          "description": "Toolspec overrides for the connection.",
          "$ref": "ToolspecOverride"
        }
      }
    },
    "RemoveConnectionToolspecOverrideRequest": {
      "id": "RemoveConnectionToolspecOverrideRequest",
      "description": "Request message for RemoveConnectionToolspecOverride API.",
      "type": "object",
      "properties": {}
    },
    "ModifyConnectionToolspecOverrideRequest": {
      "id": "ModifyConnectionToolspecOverrideRequest",
      "description": "Request message for ModifyConnectionToolspecOverride API.",
      "type": "object",
      "properties": {
        "toolspecOverride": {
          "description": "Required. Toolspec overrides to be modified.",
          "$ref": "ToolspecOverride"
        }
      }
    },
    "ModifyConnectionToolspecOverrideResponse": {
      "id": "ModifyConnectionToolspecOverrideResponse",
      "description": "Response message for ModifyConnectionToolspecOverride API.",
      "type": "object",
      "properties": {
        "toolspecOverrides": {
          "description": "Toolspec overrides for the connection.",
          "$ref": "ToolspecOverride"
        }
      }
    },
    "ListLocationsResponse": {
      "id": "ListLocationsResponse",
      "description": "The response message for Locations.ListLocations.",
      "type": "object",
      "properties": {
        "locations": {
          "description": "A list of locations that matches the specified filter in the request.",
          "type": "array",
          "items": {
            "$ref": "Location"
          }
        },
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        }
      }
    },
    "Location": {
      "id": "Location",
      "description": "A resource that represents a Google Cloud location.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
          "type": "string"
        },
        "locationId": {
          "description": "The canonical id for this location. For example: `\"us-east1\"`.",
          "type": "string"
        },
        "displayName": {
          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
          "type": "string"
        },
        "labels": {
          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "metadata": {
          "description": "Service-specific metadata. For example the available capacity at the given location.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        }
      }
    },
    "SetIamPolicyRequest": {
      "id": "SetIamPolicyRequest",
      "description": "Request message for `SetIamPolicy` method.",
      "type": "object",
      "properties": {
        "policy": {
          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them.",
          "$ref": "Policy"
        },
        "updateMask": {
          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`",
          "type": "string",
          "format": "google-fieldmask"
        }
      }
    },
    "Policy": {
      "id": "Policy",
      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
      "type": "object",
      "properties": {
        "version": {
          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
          "type": "integer",
          "format": "int32"
        },
        "bindings": {
          "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.",
          "type": "array",
          "items": {
            "$ref": "Binding"
          }
        },
        "auditConfigs": {
          "description": "Specifies cloud audit logging configuration for this policy.",
          "type": "array",
          "items": {
            "$ref": "AuditConfig"
          }
        },
        "etag": {
          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
          "type": "string",
          "format": "byte"
        }
      }
    },
    "Binding": {
      "id": "Binding",
      "description": "Associates `members`, or principals, with a `role`.",
      "type": "object",
      "properties": {
        "role": {
          "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).",
          "type": "string"
        },
        "members": {
          "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "condition": {
          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
          "$ref": "Expr"
        }
      }
    },
    "Expr": {
      "id": "Expr",
      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
      "type": "object",
      "properties": {
        "expression": {
          "description": "Textual representation of an expression in Common Expression Language syntax.",
          "type": "string"
        },
        "title": {
          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
          "type": "string"
        },
        "description": {
          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
          "type": "string"
        },
        "location": {
          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
          "type": "string"
        }
      }
    },
    "AuditConfig": {
      "id": "AuditConfig",
      "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.",
      "type": "object",
      "properties": {
        "service": {
          "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.",
          "type": "string"
        },
        "auditLogConfigs": {
          "description": "The configuration for logging of each type of permission.",
          "type": "array",
          "items": {
            "$ref": "AuditLogConfig"
          }
        }
      }
    },
    "AuditLogConfig": {
      "id": "AuditLogConfig",
      "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.",
      "type": "object",
      "properties": {
        "logType": {
          "description": "The log type that this config enables.",
          "type": "string",
          "enumDescriptions": [
            "Default case. Should never be this.",
            "Admin reads. Example: CloudIAM getIamPolicy",
            "Data writes. Example: CloudSQL Users create",
            "Data reads. Example: CloudSQL Users list"
          ],
          "enum": [
            "LOG_TYPE_UNSPECIFIED",
            "ADMIN_READ",
            "DATA_WRITE",
            "DATA_READ"
          ]
        },
        "exemptedMembers": {
          "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "TestIamPermissionsRequest": {
      "id": "TestIamPermissionsRequest",
      "description": "Request message for `TestIamPermissions` method.",
      "type": "object",
      "properties": {
        "permissions": {
          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "TestIamPermissionsResponse": {
      "id": "TestIamPermissionsResponse",
      "description": "Response message for `TestIamPermissions` method.",
      "type": "object",
      "properties": {
        "permissions": {
          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "OperationMetadata": {
      "id": "OperationMetadata",
      "description": "Represents the metadata of the long-running operation.",
      "type": "object",
      "properties": {
        "createTime": {
          "description": "Output only. The time the operation was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "endTime": {
          "description": "Output only. The time the operation finished running.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "target": {
          "description": "Output only. Server-defined resource path for the target of the operation.",
          "readOnly": true,
          "type": "string"
        },
        "verb": {
          "description": "Output only. Name of the verb executed by the operation.",
          "readOnly": true,
          "type": "string"
        },
        "statusMessage": {
          "description": "Output only. Human-readable status of the operation, if any.",
          "readOnly": true,
          "type": "string"
        },
        "requestedCancellation": {
          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
          "readOnly": true,
          "type": "boolean"
        },
        "apiVersion": {
          "description": "Output only. API version used to start the operation.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "Instance": {
      "id": "Instance",
      "description": "Instance represents the interface for SLM services to actuate the state of control plane resources. Example Instance in JSON, where consumer-project-number=123456, producer-project-id=cloud-sql: ```json Instance: { \"name\": \"projects/123456/locations/us-east1/instances/prod-instance\", \"create_time\": { \"seconds\": 1526406431, }, \"labels\": { \"env\": \"prod\", \"foo\": \"bar\" }, \"state\": READY, \"software_versions\": { \"software_update\": \"cloud-sql-09-28-2018\", }, \"maintenance_policy_names\": { \"UpdatePolicy\": \"projects/123456/locations/us-east1/maintenancePolicies/prod-update-policy\", } \"tenant_project_id\": \"cloud-sql-test-tenant\", \"producer_metadata\": { \"cloud-sql-tier\": \"basic\", \"cloud-sql-instance-size\": \"1G\", }, \"provisioned_resources\": [ { \"resource-type\": \"compute-instance\", \"resource-url\": \"https://www.googleapis.com/compute/v1/projects/cloud-sql/zones/us-east1-b/instances/vm-1\", } ], \"maintenance_schedules\": { \"csa_rollout\": { \"start_time\": { \"seconds\": 1526406431, }, \"end_time\": { \"seconds\": 1535406431, }, }, \"ncsa_rollout\": { \"start_time\": { \"seconds\": 1526406431, }, \"end_time\": { \"seconds\": 1535406431, }, } }, \"consumer_defined_name\": \"my-sql-instance1\", } ``` LINT.IfChange",
      "type": "object",
      "properties": {
        "name": {
          "description": "Unique name of the resource. It uses the form: `projects/{project_number}/locations/{location_id}/instances/{instance_id}` Note: This name is passed, stored and logged across the rollout system. So use of consumer project_id or any other consumer PII in the name is strongly discouraged for wipeout (go/wipeout) compliance. See go/elysium/project_ids#storage-guidance for more details.",
          "type": "string"
        },
        "createTime": {
          "description": "Output only. Timestamp when the resource was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Timestamp when the resource was last modified.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "labels": {
          "description": "Optional. Resource labels to represent user provided metadata. Each label is a key-value pair, where both the key and the value are arbitrary strings provided by the user.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "state": {
          "description": "Output only. Current lifecycle state of the resource (e.g. if it's being created or ready to use).",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Unspecified state.",
            "Instance is being created.",
            "Instance has been created and is ready to use.",
            "Instance is being updated.",
            "Instance is unheathy and under repair.",
            "Instance is being deleted.",
            "Instance encountered an error and is in indeterministic state."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "CREATING",
            "READY",
            "UPDATING",
            "REPAIRING",
            "DELETING",
            "ERROR"
          ]
        },
        "softwareVersions": {
          "description": "Software versions that are used to deploy this instance. This can be mutated by rollout services.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "maintenancePolicyNames": {
          "description": "Optional. The MaintenancePolicies that have been attached to the instance. The key must be of the type name of the oneof policy name defined in MaintenancePolicy, and the referenced policy must define the same policy type. For details, please refer to go/mr-user-guide. Should not be set if maintenance_settings.maintenance_policies is set.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "tenantProjectId": {
          "description": "Output only. ID of the associated GCP tenant project. See go/get-instance-metadata.",
          "readOnly": true,
          "type": "string"
        },
        "producerMetadata": {
          "description": "Output only. Custom string attributes used primarily to expose producer-specific information in monitoring dashboards. See go/get-instance-metadata.",
          "readOnly": true,
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "provisionedResources": {
          "description": "Output only. The list of data plane resources provisioned for this instance, e.g. compute VMs. See go/get-instance-metadata.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "ProvisionedResource"
          }
        },
        "sloMetadata": {
          "description": "Output only. SLO metadata for instance classification in the Standardized dataplane SLO platform. See go/cloud-ssa-standard-slo for feature description.",
          "readOnly": true,
          "$ref": "SloMetadata"
        },
        "maintenanceSchedules": {
          "description": "The MaintenanceSchedule contains the scheduling information of published maintenance schedule with same key as software_versions.",
          "type": "object",
          "additionalProperties": {
            "$ref": "MaintenanceSchedule"
          }
        },
        "consumerDefinedName": {
          "description": "consumer_defined_name is the name of the instance set by the service consumers. Generally this is different from the `name` field which reperesents the system-assigned id of the instance which the service consumers do not recognize. This is a required field for tenants onboarding to Maintenance Window notifications (go/slm-rollout-maintenance-policies#prerequisites).",
          "type": "string"
        },
        "slmInstanceTemplate": {
          "description": "Link to the SLM instance template. Only populated when updating SLM instances via SSA's Actuation service adaptor. Service producers with custom control plane (e.g. Cloud SQL) doesn't need to populate this field. Instead they should use software_versions.",
          "type": "string"
        },
        "maintenanceSettings": {
          "description": "Optional. The MaintenanceSettings associated with instance.",
          "$ref": "MaintenanceSettings"
        },
        "instanceType": {
          "description": "Optional. The instance_type of this instance of format: projects/{project_number}/locations/{location_id}/instanceTypes/{instance_type_id}. Instance Type represents a high-level tier or SKU of the service that this instance belong to. When enabled(eg: Maintenance Rollout), Rollout uses 'instance_type' along with 'software_versions' to determine whether instance needs an update or not.",
          "type": "string"
        },
        "notificationParameters": {
          "description": "Optional. notification_parameter are information that service producers may like to include that is not relevant to Rollout. This parameter will only be passed to Gamma and Cloud Logging for notification/logging purpose.",
          "type": "object",
          "additionalProperties": {
            "$ref": "NotificationParameter"
          }
        },
        "consumerProjectNumber": {
          "description": "Optional. The consumer_project_number associated with this Apigee instance. This field is added specifically to support Apigee integration with SLM Rollout and UMM. It represents the numerical project ID of the GCP project that consumes this Apigee instance. It is used for SLM rollout notifications and UMM integration, enabling proper mapping to customer projects and log delivery for Apigee instances. This field complements consumer_project_id and may be used for specific Apigee scenarios where the numerical ID is required.",
          "type": "string"
        }
      }
    },
    "ProvisionedResource": {
      "id": "ProvisionedResource",
      "description": "Describes provisioned dataplane resources.",
      "type": "object",
      "properties": {
        "resourceType": {
          "description": "Type of the resource. This can be either a GCP resource or a custom one (e.g. another cloud provider's VM). For GCP compute resources use singular form of the names listed in GCP compute API documentation (https://cloud.google.com/compute/docs/reference/rest/v1/), prefixed with 'compute-', for example: 'compute-instance', 'compute-disk', 'compute-autoscaler'.",
          "type": "string"
        },
        "resourceUrl": {
          "description": "URL identifying the resource, e.g. \"https://www.googleapis.com/compute/v1/projects/...)\".",
          "type": "string"
        }
      }
    },
    "SloMetadata": {
      "id": "SloMetadata",
      "description": "SloMetadata contains resources required for proper SLO classification of the instance.",
      "type": "object",
      "properties": {
        "tier": {
          "description": "Name of the SLO tier the Instance belongs to. This name will be expected to match the tiers specified in the service SLO configuration. Field is mandatory and must not be empty.",
          "type": "string"
        },
        "nodes": {
          "description": "Optional. List of nodes. Some producers need to use per-node metadata to calculate SLO. This field allows such producers to publish per-node SLO meta data, which will be consumed by SSA Eligibility Exporter and published in the form of per node metric to Monarch.",
          "type": "array",
          "items": {
            "$ref": "NodeSloMetadata"
          }
        },
        "perSliEligibility": {
          "description": "Optional. Multiple per-instance SLI eligibilities which apply for individual SLIs.",
          "$ref": "PerSliSloEligibility"
        }
      }
    },
    "NodeSloMetadata": {
      "id": "NodeSloMetadata",
      "description": "Node information for custom per-node SLO implementations. SSA does not support per-node SLO, but producers can populate per-node information in SloMetadata for custom precomputations. SSA Eligibility Exporter will emit per-node metric based on this information.",
      "type": "object",
      "properties": {
        "nodeId": {
          "description": "The id of the node. This should be equal to SaasInstanceNode.node_id.",
          "type": "string"
        },
        "location": {
          "description": "The location of the node, if different from instance location.",
          "type": "string"
        },
        "perSliEligibility": {
          "description": "If present, this will override eligibility for the node coming from instance or exclusions for specified SLIs.",
          "$ref": "PerSliSloEligibility"
        }
      }
    },
    "PerSliSloEligibility": {
      "id": "PerSliSloEligibility",
      "description": "PerSliSloEligibility is a mapping from an SLI name to eligibility.",
      "type": "object",
      "properties": {
        "eligibilities": {
          "description": "An entry in the eligibilities map specifies an eligibility for a particular SLI for the given instance. The SLI key in the name must be a valid SLI name specified in the Eligibility Exporter binary flags otherwise an error will be emitted by Eligibility Exporter and the oncaller will be alerted. If an SLI has been defined in the binary flags but the eligibilities map does not contain it, the corresponding SLI time series will not be emitted by the Eligibility Exporter. This ensures a smooth rollout and compatibility between the data produced by different versions of the Eligibility Exporters. If eligibilities map contains a key for an SLI which has not been declared in the binary flags, there will be an error message emitted in the Eligibility Exporter log and the metric for the SLI in question will not be emitted.",
          "type": "object",
          "additionalProperties": {
            "$ref": "SloEligibility"
          }
        }
      }
    },
    "SloEligibility": {
      "id": "SloEligibility",
      "description": "SloEligibility is a tuple containing eligibility value: true if an instance is eligible for SLO calculation or false if it should be excluded from all SLO-related calculations along with a user-defined reason.",
      "type": "object",
      "properties": {
        "eligible": {
          "description": "Whether an instance is eligible or ineligible.",
          "type": "boolean"
        },
        "reason": {
          "description": "User-defined reason for the current value of instance eligibility. Usually, this can be directly mapped to the internal state. An empty reason is allowed.",
          "type": "string"
        }
      }
    },
    "MaintenanceSchedule": {
      "id": "MaintenanceSchedule",
      "description": "Maintenance schedule which is exposed to customer and potentially end user, indicating published upcoming future maintenance schedule",
      "type": "object",
      "properties": {
        "startTime": {
          "description": "The scheduled start time for the maintenance.",
          "type": "string",
          "format": "google-datetime"
        },
        "endTime": {
          "description": "The scheduled end time for the maintenance.",
          "type": "string",
          "format": "google-datetime"
        },
        "canReschedule": {
          "description": "This field is deprecated, and will be always set to true since reschedule can happen multiple times now. This field should not be removed until all service producers remove this for their customers.",
          "deprecated": true,
          "type": "boolean"
        },
        "rolloutManagementPolicy": {
          "description": "The rollout management policy this maintenance schedule is associated with. When doing reschedule update request, the reschedule should be against this given policy.",
          "type": "string"
        },
        "scheduleDeadlineTime": {
          "description": "schedule_deadline_time is the time deadline any schedule start time cannot go beyond, including reschedule. It's normally the initial schedule start time plus maintenance window length (1 day or 1 week). Maintenance cannot be scheduled to start beyond this deadline.",
          "type": "string",
          "format": "google-datetime"
        }
      }
    },
    "MaintenanceSettings": {
      "id": "MaintenanceSettings",
      "description": "Maintenance settings associated with instance. Allows service producers and end users to assign settings that controls maintenance on this instance.",
      "type": "object",
      "properties": {
        "exclude": {
          "description": "Optional. Exclude instance from maintenance. When true, rollout service will not attempt maintenance on the instance. Rollout service will include the instance in reported rollout progress as not attempted.",
          "type": "boolean"
        },
        "maintenancePolicies": {
          "description": "Optional. The MaintenancePolicies that have been attached to the instance. The key must be of the type name of the oneof policy name defined in MaintenancePolicy, and the embedded policy must define the same policy type. For details, please refer to go/mr-user-guide. Should not be set if maintenance_policy_names is set. If only the name is needed, then only populate MaintenancePolicy.name.",
          "type": "object",
          "additionalProperties": {
            "$ref": "MaintenancePolicy"
          }
        },
        "isRollback": {
          "description": "Optional. If the update call is triggered from rollback, set the value as true.",
          "type": "boolean"
        }
      }
    },
    "MaintenancePolicy": {
      "id": "MaintenancePolicy",
      "description": "Defines policies to service maintenance events.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Required. MaintenancePolicy name using the form: `projects/{project_id}/locations/{location_id}/maintenancePolicies/{maintenance_policy_id}` where {project_id} refers to a GCP consumer project ID, {location_id} refers to a GCP region/zone, {maintenance_policy_id} must be 1-63 characters long and match the regular expression `[a-z0-9]([-a-z0-9]*[a-z0-9])?`.",
          "type": "string"
        },
        "createTime": {
          "description": "Output only. The time when the resource was created.",
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. The time when the resource was updated.",
          "type": "string",
          "format": "google-datetime"
        },
        "description": {
          "description": "Optional. Description of what this policy is for. Create/Update methods return INVALID_ARGUMENT if the length is greater than 512.",
          "type": "string"
        },
        "labels": {
          "description": "Optional. Resource labels to represent user provided metadata. Each label is a key-value pair, where both the key and the value are arbitrary strings provided by the user.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "state": {
          "description": "Optional. The state of the policy.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified state.",
            "Resource is ready to be used.",
            "Resource is being deleted. It can no longer be attached to instances."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "READY",
            "DELETING"
          ]
        },
        "updatePolicy": {
          "description": "Maintenance policy applicable to instance update.",
          "$ref": "UpdatePolicy"
        }
      }
    },
    "UpdatePolicy": {
      "id": "UpdatePolicy",
      "description": "Maintenance policy applicable to instance updates.",
      "type": "object",
      "properties": {
        "window": {
          "description": "Optional. Maintenance window that is applied to resources covered by this policy.",
          "$ref": "MaintenanceWindow"
        },
        "channel": {
          "description": "Optional. Relative scheduling channel applied to resource.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified channel.",
            "Early channel within a customer project.",
            "Later channel within a customer project.",
            "! ! The follow channels can ONLY be used if you adopt the new MW system! ! ! NOTE: all WEEK channels are assumed to be under a weekly window. ! There is currently no dedicated channel definitions for Daily windows. ! If you use Daily window, the system will assume a 1d (24Hours) advanced ! notification period b/w EARLY and LATER. ! We may consider support more flexible daily channel specifications in ! the future. WEEK1 == EARLIER with minimum 7d advanced notification. {7d, 14d} The system will treat them equally and will use WEEK1 whenever it can. New customers are encouraged to use this channel annotation.",
            "WEEK2 == LATER with minimum 14d advanced notification {14d, 21d}.",
            "WEEK5 == 40d support. minimum 35d advanced notification {35d, 42d}."
          ],
          "enum": [
            "UPDATE_CHANNEL_UNSPECIFIED",
            "EARLIER",
            "LATER",
            "WEEK1",
            "WEEK2",
            "WEEK5"
          ]
        },
        "denyMaintenancePeriods": {
          "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. The protocol supports zero-to-many such periods, but the current SLM Rollout implementation only supports zero-to-one.",
          "type": "array",
          "items": {
            "$ref": "DenyMaintenancePeriod"
          }
        }
      }
    },
    "MaintenanceWindow": {
      "id": "MaintenanceWindow",
      "description": "MaintenanceWindow definition.",
      "type": "object",
      "properties": {
        "dailyCycle": {
          "description": "Daily cycle.",
          "$ref": "DailyCycle"
        },
        "weeklyCycle": {
          "description": "Weekly cycle.",
          "$ref": "WeeklyCycle"
        }
      }
    },
    "DailyCycle": {
      "id": "DailyCycle",
      "description": "Time window specified for daily operations.",
      "type": "object",
      "properties": {
        "startTime": {
          "description": "Time within the day to start the operations.",
          "$ref": "TimeOfDay"
        },
        "duration": {
          "description": "Output only. Duration of the time window, set by service producer.",
          "type": "string",
          "format": "google-duration"
        }
      }
    },
    "TimeOfDay": {
      "id": "TimeOfDay",
      "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.",
      "type": "object",
      "properties": {
        "hours": {
          "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.",
          "type": "integer",
          "format": "int32"
        },
        "minutes": {
          "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.",
          "type": "integer",
          "format": "int32"
        },
        "seconds": {
          "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.",
          "type": "integer",
          "format": "int32"
        },
        "nanos": {
          "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "WeeklyCycle": {
      "id": "WeeklyCycle",
      "description": "Time window specified for weekly operations.",
      "type": "object",
      "properties": {
        "schedule": {
          "description": "User can specify multiple windows in a week. Minimum of 1 window.",
          "type": "array",
          "items": {
            "$ref": "Schedule"
          }
        }
      }
    },
    "Schedule": {
      "id": "Schedule",
      "description": "Configure the schedule.",
      "type": "object",
      "properties": {
        "day": {
          "description": "Allows to define schedule that runs specified day of the week.",
          "type": "string",
          "enumDescriptions": [
            "The day of the week is unspecified.",
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday",
            "Sunday"
          ],
          "enum": [
            "DAY_OF_WEEK_UNSPECIFIED",
            "MONDAY",
            "TUESDAY",
            "WEDNESDAY",
            "THURSDAY",
            "FRIDAY",
            "SATURDAY",
            "SUNDAY"
          ]
        },
        "startTime": {
          "description": "Time within the window to start the operations.",
          "$ref": "TimeOfDay"
        },
        "duration": {
          "description": "Output only. Duration of the time window, set by service producer.",
          "type": "string",
          "format": "google-duration"
        }
      }
    },
    "DenyMaintenancePeriod": {
      "id": "DenyMaintenancePeriod",
      "description": "DenyMaintenancePeriod definition. Maintenance is forbidden within the deny period. The start_date must be less than the end_date.",
      "type": "object",
      "properties": {
        "startDate": {
          "description": "Deny period start date. This can be: * A full date, with non-zero year, month and day values. * A month and day value, with a zero year. Allows recurring deny periods each year. Date matching this period will have to be the same or after the start.",
          "$ref": "Date"
        },
        "endDate": {
          "description": "Deny period end date. This can be: * A full date, with non-zero year, month and day values. * A month and day value, with a zero year. Allows recurring deny periods each year. Date matching this period will have to be before the end.",
          "$ref": "Date"
        },
        "time": {
          "description": "Time in UTC when the Blackout period starts on start_date and ends on end_date. This can be: * Full time. * All zeros for 00:00:00 UTC",
          "$ref": "TimeOfDay"
        }
      }
    },
    "Date": {
      "id": "Date",
      "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp",
      "type": "object",
      "properties": {
        "year": {
          "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.",
          "type": "integer",
          "format": "int32"
        },
        "month": {
          "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.",
          "type": "integer",
          "format": "int32"
        },
        "day": {
          "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "NotificationParameter": {
      "id": "NotificationParameter",
      "description": "Contains notification related data.",
      "type": "object",
      "properties": {
        "values": {
          "description": "Optional. Array of string values. e.g. instance's replica information.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    }
  },
  "parameters": {
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "alt": {
      "type": "string",
      "description": "Data format for response.",
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query"
    },
    "callback": {
      "type": "string",
      "description": "JSONP",
      "location": "query"
    },
    "fields": {
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query"
    },
    "key": {
      "type": "string",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query"
    },
    "oauth_token": {
      "type": "string",
      "description": "OAuth 2.0 token for the current user.",
      "location": "query"
    },
    "prettyPrint": {
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "default": "true",
      "location": "query"
    },
    "quotaUser": {
      "type": "string",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query"
    },
    "upload_protocol": {
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query"
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    },
    "$.xgafv": {
      "type": "string",
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query"
    }
  },
  "version_module": true,
  "mtlsRootUrl": "https://connectors.mtls.googleapis.com/",
  "kind": "discovery#restDescription",
  "canonicalName": "Connectors",
  "rootUrl": "https://connectors.googleapis.com/",
  "servicePath": "",
  "revision": "20260527",
  "id": "connectors:v1",
  "batchPath": "batch",
  "protocol": "rest",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "discoveryVersion": "v1"
}
