{
  "fullyEncodeReservedExpansion": true,
  "version": "v1",
  "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."
        }
      }
    }
  },
  "baseUrl": "https://connectors.googleapis.com/",
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "name": "connectors",
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "methods": {
            "get": {
              "httpMethod": "GET",
              "id": "connectors.projects.locations.get",
              "description": "Gets information about a location.",
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}",
              "parameters": {
                "name": {
                  "location": "path",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "required": true,
                  "type": "string",
                  "description": "Resource name for the location."
                }
              },
              "path": "v1/{+name}",
              "response": {
                "$ref": "Location"
              },
              "parameterOrder": [
                "name"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "getRuntimeConfig": {
              "path": "v1/{+name}",
              "parameters": {
                "name": {
                  "type": "string",
                  "description": "Required. Resource name of the form: `projects/*/locations/*/runtimeConfig`",
                  "required": true,
                  "pattern": "^projects/[^/]+/locations/[^/]+/runtimeConfig$",
                  "location": "path"
                }
              },
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimeConfig",
              "id": "connectors.projects.locations.getRuntimeConfig",
              "description": "Gets the runtimeConfig of a location. RuntimeConfig is a singleton resource for each location.",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "RuntimeConfig"
              }
            },
            "getRegionalSettings": {
              "parameterOrder": [
                "name"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "response": {
                "$ref": "RegionalSettings"
              },
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/regionalSettings",
              "parameters": {
                "name": {
                  "required": true,
                  "type": "string",
                  "description": "Required. The resource name of the Regional Settings.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/locations/[^/]+/regionalSettings$"
                }
              },
              "path": "v1/{+name}",
              "httpMethod": "GET",
              "id": "connectors.projects.locations.getRegionalSettings",
              "description": "GetRegionalSettings gets settings of a region. RegionalSettings is a singleton resource."
            },
            "updateRegionalSettings": {
              "response": {
                "$ref": "Operation"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameterOrder": [
                "name"
              ],
              "id": "connectors.projects.locations.updateRegionalSettings",
              "description": "Update the settings of a region.",
              "httpMethod": "PATCH",
              "request": {
                "$ref": "RegionalSettings"
              },
              "path": "v1/{+name}",
              "parameters": {
                "name": {
                  "location": "path",
                  "pattern": "^projects/[^/]+/locations/[^/]+/regionalSettings$",
                  "required": true,
                  "type": "string",
                  "description": "Output only. Resource name of the Connection. Format: projects/{project}/locations/{location}/regionalSettings"
                },
                "updateMask": {
                  "location": "query",
                  "type": "string",
                  "format": "google-fieldmask",
                  "description": "Required. The list of fields to update."
                }
              },
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/regionalSettings"
            },
            "list": {
              "response": {
                "$ref": "ListLocationsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameterOrder": [
                "name"
              ],
              "id": "connectors.projects.locations.list",
              "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.",
              "httpMethod": "GET",
              "path": "v1/{+name}/locations",
              "parameters": {
                "name": {
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string",
                  "description": "The resource that owns the locations collection, if applicable."
                },
                "pageToken": {
                  "location": "query",
                  "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
                  "type": "string"
                },
                "pageSize": {
                  "type": "integer",
                  "format": "int32",
                  "description": "The maximum number of results to return. If not set, the service selects a default.",
                  "location": "query"
                },
                "extraLocationTypes": {
                  "repeated": true,
                  "location": "query",
                  "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.",
                  "type": "string"
                },
                "filter": {
                  "location": "query",
                  "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
                  "type": "string"
                }
              },
              "flatPath": "v1/projects/{projectsId}/locations"
            }
          },
          "resources": {
            "endpointAttachments": {
              "methods": {
                "list": {
                  "response": {
                    "$ref": "ListEndpointAttachmentsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "parent"
                  ],
                  "httpMethod": "GET",
                  "id": "connectors.projects.locations.endpointAttachments.list",
                  "description": "List EndpointAttachments in a given project",
                  "parameters": {
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Filter."
                    },
                    "parent": {
                      "description": "Required. Parent resource od the EndpointAttachment, of the form: `projects/*/locations/*`",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path"
                    },
                    "pageSize": {
                      "location": "query",
                      "description": "Page size.",
                      "type": "integer",
                      "format": "int32"
                    },
                    "orderBy": {
                      "type": "string",
                      "description": "Order by parameters.",
                      "location": "query"
                    },
                    "view": {
                      "description": "Optional. Specifies which fields of the EndpointAttachment are returned in the response. Defaults to `ENDPOINT_ATTACHMENT_VIEW_BASIC` view.",
                      "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"
                      ],
                      "location": "query"
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "Page token."
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpointAttachments",
                  "path": "v1/{+parent}/endpointAttachments"
                },
                "patch": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "parameters": {
                    "name": {
                      "description": "Output only. Resource name of the Endpoint Attachment. Format: projects/{project}/locations/{location}/endpointAttachments/{endpoint_attachment}",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/endpointAttachments/[^/]+$",
                      "location": "path"
                    },
                    "updateMask": {
                      "type": "string",
                      "format": "google-fieldmask",
                      "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"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpointAttachments/{endpointAttachmentsId}",
                  "path": "v1/{+name}",
                  "httpMethod": "PATCH",
                  "request": {
                    "$ref": "EndpointAttachment"
                  },
                  "id": "connectors.projects.locations.endpointAttachments.patch",
                  "description": "Updates the parameters of a single EndpointAttachment."
                },
                "get": {
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpointAttachments/{endpointAttachmentsId}",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/endpointAttachments/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Required. Resource name of the form: `projects/*/locations/*/endpointAttachments/*`",
                      "required": true
                    },
                    "view": {
                      "type": "string",
                      "enumDescriptions": [
                        "ENDPOINT_ATTACHMENT_VIEW_UNSPECIFIED.",
                        "Do not include status.",
                        "Includes Status."
                      ],
                      "description": "Optional. Specifies which fields of the EndpointAttachment are returned in the response. Defaults to `ENDPOINT_ATTACHMENT_VIEW_BASIC` view.",
                      "location": "query",
                      "enum": [
                        "ENDPOINT_ATTACHMENT_VIEW_UNSPECIFIED",
                        "ENDPOINT_ATTACHMENT_VIEW_BASIC",
                        "ENDPOINT_ATTACHMENT_VIEW_FULL"
                      ]
                    }
                  },
                  "id": "connectors.projects.locations.endpointAttachments.get",
                  "description": "Gets details of a single EndpointAttachment.",
                  "httpMethod": "GET",
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "EndpointAttachment"
                  }
                },
                "delete": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "required": true,
                      "type": "string",
                      "description": "Required. Resource name of the form: `projects/*/locations/*/endpointAttachments/*`",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/endpointAttachments/[^/]+$"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpointAttachments/{endpointAttachmentsId}",
                  "id": "connectors.projects.locations.endpointAttachments.delete",
                  "description": "Deletes a single EndpointAttachment.",
                  "httpMethod": "DELETE"
                },
                "create": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpointAttachments",
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "description": "Required. Parent resource of the EndpointAttachment, of the form: `projects/*/locations/*`",
                      "type": "string",
                      "required": true
                    },
                    "endpointAttachmentId": {
                      "type": "string",
                      "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"
                    }
                  },
                  "path": "v1/{+parent}/endpointAttachments",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "EndpointAttachment"
                  },
                  "id": "connectors.projects.locations.endpointAttachments.create",
                  "description": "Creates a new EndpointAttachment in a given project and location."
                }
              }
            },
            "providers": {
              "methods": {
                "list": {
                  "response": {
                    "$ref": "ListProvidersResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "connectors.projects.locations.providers.list",
                  "description": "Lists Providers in a given project and location.",
                  "httpMethod": "GET",
                  "path": "v1/{+parent}/providers",
                  "parameters": {
                    "parent": {
                      "description": "Required. Parent resource of the API, of the form: `projects/*/locations/*` Only global location is supported for Provider resource.",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path"
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "Page token."
                    },
                    "pageSize": {
                      "description": "Page size.",
                      "type": "integer",
                      "format": "int32",
                      "location": "query"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers"
                },
                "getIamPolicy": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}:getIamPolicy",
                  "parameters": {
                    "resource": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$",
                      "location": "path",
                      "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "type": "string",
                      "required": true
                    },
                    "options.requestedPolicyVersion": {
                      "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                      "type": "integer",
                      "format": "int32",
                      "location": "query"
                    }
                  },
                  "path": "v1/{+resource}:getIamPolicy",
                  "httpMethod": "GET",
                  "id": "connectors.projects.locations.providers.getIamPolicy",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "parameterOrder": [
                    "resource"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "Policy"
                  }
                },
                "get": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$",
                      "required": true,
                      "type": "string",
                      "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*` Only global location is supported for Provider resource."
                    }
                  },
                  "path": "v1/{+name}",
                  "httpMethod": "GET",
                  "id": "connectors.projects.locations.providers.get",
                  "description": "Gets details of a provider.",
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "Provider"
                  }
                },
                "testIamPermissions": {
                  "response": {
                    "$ref": "TestIamPermissionsResponse"
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "connectors.projects.locations.providers.testIamPermissions",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "TestIamPermissionsRequest"
                  },
                  "path": "v1/{+resource}:testIamPermissions",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}:testIamPermissions",
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$",
                      "required": true,
                      "type": "string",
                      "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field."
                    }
                  }
                },
                "setIamPolicy": {
                  "path": "v1/{+resource}:setIamPolicy",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}:setIamPolicy",
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$",
                      "required": true,
                      "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "type": "string"
                    }
                  },
                  "id": "connectors.projects.locations.providers.setIamPolicy",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "SetIamPolicyRequest"
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "Policy"
                  }
                }
              },
              "resources": {
                "connectors": {
                  "methods": {
                    "list": {
                      "parameterOrder": [
                        "parent"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "ListConnectorsResponse"
                      },
                      "path": "v1/{+parent}/connectors",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors",
                      "parameters": {
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$",
                          "location": "path",
                          "type": "string",
                          "description": "Required. Parent resource of the connectors, of the form: `projects/*/locations/*/providers/*` Only global location is supported for Connector resource.",
                          "required": true
                        },
                        "pageToken": {
                          "location": "query",
                          "description": "Page token.",
                          "type": "string"
                        },
                        "pageSize": {
                          "location": "query",
                          "type": "integer",
                          "format": "int32",
                          "description": "Page size."
                        },
                        "filter": {
                          "location": "query",
                          "type": "string",
                          "description": "Filter string."
                        }
                      },
                      "id": "connectors.projects.locations.providers.connectors.list",
                      "description": "Lists Connectors in a given project and location.",
                      "httpMethod": "GET"
                    },
                    "get": {
                      "httpMethod": "GET",
                      "id": "connectors.projects.locations.providers.connectors.get",
                      "description": "Gets details of a single Connector.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors/{connectorsId}",
                      "parameters": {
                        "name": {
                          "required": true,
                          "type": "string",
                          "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*/connectors/*` Only global location is supported for Connector resource.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+/connectors/[^/]+$"
                        }
                      },
                      "path": "v1/{+name}",
                      "response": {
                        "$ref": "Connector"
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    }
                  },
                  "resources": {
                    "versions": {
                      "methods": {
                        "get": {
                          "path": "v1/{+name}",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors/{connectorsId}/versions/{versionsId}",
                          "parameters": {
                            "name": {
                              "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+/connectors/[^/]+/versions/[^/]+$",
                              "location": "path",
                              "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*/connectors/*/versions/*` Only global location is supported for ConnectorVersion resource.",
                              "type": "string",
                              "required": true
                            },
                            "view": {
                              "description": "Specifies which fields of the ConnectorVersion are returned in the response. Defaults to `CUSTOMER` view.",
                              "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"
                              ],
                              "location": "query"
                            }
                          },
                          "id": "connectors.projects.locations.providers.connectors.versions.get",
                          "description": "Gets details of a single connector version.",
                          "httpMethod": "GET",
                          "parameterOrder": [
                            "name"
                          ],
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "response": {
                            "$ref": "ConnectorVersion"
                          }
                        },
                        "list": {
                          "httpMethod": "GET",
                          "id": "connectors.projects.locations.providers.connectors.versions.list",
                          "description": "Lists Connector Versions in a given project and location.",
                          "parameters": {
                            "parent": {
                              "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+/connectors/[^/]+$",
                              "type": "string",
                              "required": true,
                              "location": "path"
                            },
                            "pageToken": {
                              "location": "query",
                              "description": "Page token.",
                              "type": "string"
                            },
                            "pageSize": {
                              "description": "Page size.",
                              "type": "integer",
                              "format": "int32",
                              "location": "query"
                            },
                            "view": {
                              "description": "Specifies which fields of the ConnectorVersion are returned in the response. Defaults to `BASIC` view.",
                              "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"
                              ],
                              "location": "query"
                            }
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors/{connectorsId}/versions",
                          "path": "v1/{+parent}/versions",
                          "response": {
                            "$ref": "ListConnectorVersionsResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "parameterOrder": [
                            "parent"
                          ]
                        },
                        "fetchAuthSchema": {
                          "response": {
                            "$ref": "FetchAuthSchemaResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "parameterOrder": [
                            "name"
                          ],
                          "httpMethod": "GET",
                          "id": "connectors.projects.locations.providers.connectors.versions.fetchAuthSchema",
                          "description": "fetch and return the list of auth config variables required to override the connection backend auth.",
                          "parameters": {
                            "name": {
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+/connectors/[^/]+/versions/[^/]+$",
                              "required": true,
                              "description": "Required. Parent resource of the Connector Version, of the form: `projects/*/locations/*/providers/*/connectors/*/versions/*`",
                              "type": "string"
                            },
                            "view": {
                              "description": "Optional. View of the AuthSchema. The default value is BASIC.",
                              "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"
                              ],
                              "location": "query"
                            }
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors/{connectorsId}/versions/{versionsId}:fetchAuthSchema",
                          "path": "v1/{+name}:fetchAuthSchema"
                        }
                      },
                      "resources": {
                        "eventtypes": {
                          "methods": {
                            "list": {
                              "response": {
                                "$ref": "ListEventTypesResponse"
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ],
                              "parameterOrder": [
                                "parent"
                              ],
                              "id": "connectors.projects.locations.providers.connectors.versions.eventtypes.list",
                              "description": "Lists Event Types in a given Connector Version.",
                              "httpMethod": "GET",
                              "path": "v1/{+parent}/eventtypes",
                              "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.",
                                  "type": "string",
                                  "required": true,
                                  "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+/connectors/[^/]+/versions/[^/]+$",
                                  "location": "path"
                                },
                                "pageToken": {
                                  "type": "string",
                                  "description": "Page token.",
                                  "location": "query"
                                },
                                "pageSize": {
                                  "type": "integer",
                                  "format": "int32",
                                  "description": "Page size.",
                                  "location": "query"
                                }
                              },
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors/{connectorsId}/versions/{versionsId}/eventtypes"
                            },
                            "get": {
                              "response": {
                                "$ref": "EventType"
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ],
                              "parameterOrder": [
                                "name"
                              ],
                              "httpMethod": "GET",
                              "id": "connectors.projects.locations.providers.connectors.versions.eventtypes.get",
                              "description": "Gets details of a single event type.",
                              "parameters": {
                                "name": {
                                  "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+/connectors/[^/]+/versions/[^/]+/eventtypes/[^/]+$",
                                  "location": "path",
                                  "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*/connectors/*/versions/*/eventtypes/*` Only global location is supported for EventType resource.",
                                  "type": "string",
                                  "required": true
                                }
                              },
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors/{connectorsId}/versions/{versionsId}/eventtypes/{eventtypesId}",
                              "path": "v1/{+name}"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "customConnectors": {
              "methods": {
                "validateCustomConnectorSpec": {
                  "path": "v1/{+parent}/customConnectors:validateCustomConnectorSpec",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customConnectors:validateCustomConnectorSpec",
                  "parameters": {
                    "parent": {
                      "description": "Required. Location at which the custom connector is being created.",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path"
                    }
                  },
                  "id": "connectors.projects.locations.customConnectors.validateCustomConnectorSpec",
                  "description": "Validates a Custom Connector Spec.",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "ValidateCustomConnectorSpecRequest"
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "ValidateCustomConnectorSpecResponse"
                  }
                }
              },
              "resources": {
                "customConnectorVersions": {
                  "methods": {
                    "delete": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Operation"
                      },
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/customConnectors/[^/]+/customConnectorVersions/[^/]+$",
                          "location": "path",
                          "description": "Required. Resource name of the form: `projects/{project}/locations/{location}/customConnectors/{custom_connector}/customConnectorVersions/{custom_connector_version}`",
                          "type": "string",
                          "required": true
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customConnectors/{customConnectorsId}/customConnectorVersions/{customConnectorVersionsId}",
                      "path": "v1/{+name}",
                      "httpMethod": "DELETE",
                      "id": "connectors.projects.locations.customConnectors.customConnectorVersions.delete",
                      "description": "Deletes a single CustomConnectorVersion."
                    },
                    "publish": {
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customConnectors/{customConnectorsId}/customConnectorVersions/{customConnectorVersionsId}:publish",
                      "parameters": {
                        "name": {
                          "required": true,
                          "description": "Required. Resource name of the form: `projects/{project}/locations/{location}/customConnectors/{custom_connector}/customConnectorVersions/{custom_connector_version}`",
                          "type": "string",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/customConnectors/[^/]+/customConnectorVersions/[^/]+$"
                        }
                      },
                      "path": "v1/{+name}:publish",
                      "httpMethod": "POST",
                      "request": {
                        "$ref": "PublishCustomConnectorVersionRequest"
                      },
                      "id": "connectors.projects.locations.customConnectors.customConnectorVersions.publish",
                      "description": "Publish request for the CustomConnectorVersion. Once approved, the CustomConnectorVersion will be published as PartnerConnector.",
                      "parameterOrder": [
                        "name"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "Operation"
                      }
                    },
                    "deprecate": {
                      "path": "v1/{+name}:deprecate",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customConnectors/{customConnectorsId}/customConnectorVersions/{customConnectorVersionsId}:deprecate",
                      "parameters": {
                        "name": {
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/customConnectors/[^/]+/customConnectorVersions/[^/]+$",
                          "required": true,
                          "description": "Required. Resource name of the form: `projects/{project}/locations/{location}/customConnectors/{custom_connector}/customConnectorVersions/{custom_connector_version}`",
                          "type": "string"
                        }
                      },
                      "id": "connectors.projects.locations.customConnectors.customConnectorVersions.deprecate",
                      "description": "Deprecates a single CustomConnectorVersion.",
                      "httpMethod": "POST",
                      "request": {
                        "$ref": "DeprecateCustomConnectorVersionRequest"
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "Operation"
                      }
                    },
                    "withdraw": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Operation"
                      },
                      "path": "v1/{+name}:withdraw",
                      "parameters": {
                        "name": {
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/customConnectors/[^/]+/customConnectorVersions/[^/]+$",
                          "required": true,
                          "type": "string",
                          "description": "Required. Resource name of the form: `projects/{project}/locations/{location}/customConnectors/{custom_connector}/customConnectorVersions/{custom_connector_version}`"
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customConnectors/{customConnectorsId}/customConnectorVersions/{customConnectorVersionsId}:withdraw",
                      "id": "connectors.projects.locations.customConnectors.customConnectorVersions.withdraw",
                      "description": "Withdraw the publish request for the CustomConnectorVersion. This can only be used before the CustomConnectorVersion is published.",
                      "httpMethod": "POST",
                      "request": {
                        "$ref": "WithdrawCustomConnectorVersionRequest"
                      }
                    }
                  }
                }
              }
            },
            "global": {
              "methods": {
                "getSettings": {
                  "response": {
                    "$ref": "Settings"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "GET",
                  "id": "connectors.projects.locations.global.getSettings",
                  "description": "GetGlobalSettings gets settings of a project. GlobalSettings is a singleton resource.",
                  "flatPath": "v1/projects/{projectsId}/locations/global/settings",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/global/settings$",
                      "location": "path",
                      "description": "Required. The resource name of the Settings.",
                      "type": "string",
                      "required": true
                    }
                  },
                  "path": "v1/{+name}"
                },
                "updateSettings": {
                  "httpMethod": "PATCH",
                  "request": {
                    "$ref": "Settings"
                  },
                  "id": "connectors.projects.locations.global.updateSettings",
                  "description": "Update the global settings of a project.",
                  "flatPath": "v1/projects/{projectsId}/locations/global/settings",
                  "parameters": {
                    "name": {
                      "required": true,
                      "type": "string",
                      "description": "Output only. Resource name of the Connection. Format: projects/{project}/locations/global/settings}",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/global/settings$"
                    },
                    "updateMask": {
                      "type": "string",
                      "format": "google-fieldmask",
                      "description": "Required. The list of fields to update.",
                      "location": "query"
                    }
                  },
                  "path": "v1/{+name}",
                  "response": {
                    "$ref": "Operation"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                }
              },
              "resources": {
                "managedZones": {
                  "methods": {
                    "patch": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Operation"
                      },
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/global/managedZones/[^/]+$",
                          "location": "path",
                          "description": "Output only. Resource name of the Managed Zone. Format: projects/{project}/locations/global/managedZones/{managed_zone}",
                          "type": "string",
                          "required": true
                        },
                        "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`",
                          "type": "string",
                          "format": "google-fieldmask",
                          "location": "query"
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/global/managedZones/{managedZonesId}",
                      "path": "v1/{+name}",
                      "httpMethod": "PATCH",
                      "request": {
                        "$ref": "ManagedZone"
                      },
                      "id": "connectors.projects.locations.global.managedZones.patch",
                      "description": "Updates the parameters of a single ManagedZone."
                    },
                    "list": {
                      "parameterOrder": [
                        "parent"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "ListManagedZonesResponse"
                      },
                      "path": "v1/{+parent}/managedZones",
                      "flatPath": "v1/projects/{projectsId}/locations/global/managedZones",
                      "parameters": {
                        "pageSize": {
                          "description": "Page size.",
                          "type": "integer",
                          "format": "int32",
                          "location": "query"
                        },
                        "returnPartialSuccess": {
                          "description": "Optional. If true, allow partial responses for multi-regional Aggregated List requests.",
                          "type": "boolean",
                          "location": "query"
                        },
                        "orderBy": {
                          "description": "Order by parameters.",
                          "type": "string",
                          "location": "query"
                        },
                        "pageToken": {
                          "description": "Page token.",
                          "type": "string",
                          "location": "query"
                        },
                        "filter": {
                          "location": "query",
                          "description": "Filter.",
                          "type": "string"
                        },
                        "parent": {
                          "required": true,
                          "description": "Required. Parent resource of the Managed Zone, of the form: `projects/*/locations/global`",
                          "type": "string",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/global$"
                        }
                      },
                      "id": "connectors.projects.locations.global.managedZones.list",
                      "description": "List ManagedZones in a given project",
                      "httpMethod": "GET"
                    },
                    "delete": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Operation"
                      },
                      "path": "v1/{+name}",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/global/managedZones/[^/]+$",
                          "location": "path",
                          "type": "string",
                          "description": "Required. Resource name of the form: `projects/*/locations/global/managedZones/*`",
                          "required": true
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/global/managedZones/{managedZonesId}",
                      "id": "connectors.projects.locations.global.managedZones.delete",
                      "description": "Deletes a single ManagedZone.",
                      "httpMethod": "DELETE"
                    },
                    "get": {
                      "httpMethod": "GET",
                      "id": "connectors.projects.locations.global.managedZones.get",
                      "description": "Gets details of a single ManagedZone.",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name of the form: `projects/*/locations/global/managedZones/*`",
                          "type": "string",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/global/managedZones/[^/]+$",
                          "location": "path"
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/global/managedZones/{managedZonesId}",
                      "path": "v1/{+name}",
                      "response": {
                        "$ref": "ManagedZone"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ]
                    },
                    "create": {
                      "path": "v1/{+parent}/managedZones",
                      "parameters": {
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/global$",
                          "location": "path",
                          "description": "Required. Parent resource of the ManagedZone, of the form: `projects/*/locations/global`",
                          "type": "string",
                          "required": true
                        },
                        "managedZoneId": {
                          "location": "query",
                          "type": "string",
                          "description": "Required. Identifier to assign to the ManagedZone. Must be unique within scope of the parent resource."
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/global/managedZones",
                      "id": "connectors.projects.locations.global.managedZones.create",
                      "description": "Creates a new ManagedZone in a given project and location.",
                      "httpMethod": "POST",
                      "request": {
                        "$ref": "ManagedZone"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "Operation"
                      }
                    }
                  }
                },
                "customConnectors": {
                  "methods": {
                    "create": {
                      "parameterOrder": [
                        "parent"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "Operation"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/global/customConnectors",
                      "parameters": {
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/global$",
                          "location": "path",
                          "description": "Required. Parent resource of the CreateCustomConnector, of the form: `projects/{project}/locations/*`",
                          "type": "string",
                          "required": true
                        },
                        "customConnectorId": {
                          "location": "query",
                          "description": "Required. Identifier to assign to the CreateCustomConnector. Must be unique within scope of the parent resource.",
                          "type": "string"
                        }
                      },
                      "path": "v1/{+parent}/customConnectors",
                      "httpMethod": "POST",
                      "request": {
                        "$ref": "CustomConnector"
                      },
                      "id": "connectors.projects.locations.global.customConnectors.create",
                      "description": "Creates a new CustomConnector in a given project and location."
                    },
                    "delete": {
                      "path": "v1/{+name}",
                      "parameters": {
                        "force": {
                          "location": "query",
                          "description": "Optional. If set to true, any customConnectorVersion which is a child resource will also be deleted. https://aip.dev/135#cascading-delete",
                          "type": "boolean"
                        },
                        "name": {
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/global/customConnectors/[^/]+$",
                          "required": true,
                          "description": "Required. Resource name of the form: `projects/{project}/locations/{location}/customConnectors/{connector}`",
                          "type": "string"
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/global/customConnectors/{customConnectorsId}",
                      "id": "connectors.projects.locations.global.customConnectors.delete",
                      "description": "Deletes a single CustomConnector.",
                      "httpMethod": "DELETE",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Operation"
                      }
                    },
                    "get": {
                      "id": "connectors.projects.locations.global.customConnectors.get",
                      "description": "Gets details of a single CustomConnector.",
                      "httpMethod": "GET",
                      "path": "v1/{+name}",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/global/customConnectors/[^/]+$",
                          "location": "path",
                          "type": "string",
                          "description": "Required. Resource name of the form: `projects/*/locations/*/customConnectors/*`",
                          "required": true
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/global/customConnectors/{customConnectorsId}",
                      "response": {
                        "$ref": "CustomConnector"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ]
                    },
                    "patch": {
                      "id": "connectors.projects.locations.global.customConnectors.patch",
                      "description": "Updates the parameters of a CustomConnector.",
                      "httpMethod": "PATCH",
                      "request": {
                        "$ref": "CustomConnector"
                      },
                      "path": "v1/{+name}",
                      "parameters": {
                        "name": {
                          "required": true,
                          "type": "string",
                          "description": "Identifier. Resource name of the CustomConnector. Format: projects/{project}/locations/{location}/customConnectors/{connector}",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/global/customConnectors/[^/]+$"
                        },
                        "updateMask": {
                          "location": "query",
                          "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.",
                          "type": "string",
                          "format": "google-fieldmask"
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/global/customConnectors/{customConnectorsId}",
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ]
                    },
                    "list": {
                      "path": "v1/{+parent}/customConnectors",
                      "flatPath": "v1/projects/{projectsId}/locations/global/customConnectors",
                      "parameters": {
                        "pageSize": {
                          "description": "Page size.",
                          "type": "integer",
                          "format": "int32",
                          "location": "query"
                        },
                        "filter": {
                          "description": "Filter string.",
                          "type": "string",
                          "location": "query"
                        },
                        "parent": {
                          "description": "Required. Parent resource of the custom connectors, of the form: `projects/*/locations/*` Only global location is supported for CustomConnector resource.",
                          "type": "string",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/global$",
                          "location": "path"
                        },
                        "pageToken": {
                          "location": "query",
                          "type": "string",
                          "description": "Page token."
                        }
                      },
                      "id": "connectors.projects.locations.global.customConnectors.list",
                      "description": "List CustomConnectorVersions in a given project",
                      "httpMethod": "GET",
                      "parameterOrder": [
                        "parent"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "ListCustomConnectorsResponse"
                      }
                    }
                  },
                  "resources": {
                    "customConnectorVersions": {
                      "methods": {
                        "get": {
                          "flatPath": "v1/projects/{projectsId}/locations/global/customConnectors/{customConnectorsId}/customConnectorVersions/{customConnectorVersionsId}",
                          "parameters": {
                            "name": {
                              "required": true,
                              "type": "string",
                              "description": "Required. Resource name of the form: `projects/*/locations/{location}/customConnectors/*/customConnectorVersions/*`",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/global/customConnectors/[^/]+/customConnectorVersions/[^/]+$"
                            }
                          },
                          "path": "v1/{+name}",
                          "httpMethod": "GET",
                          "id": "connectors.projects.locations.global.customConnectors.customConnectorVersions.get",
                          "description": "Gets details of a single CustomConnectorVersion.",
                          "parameterOrder": [
                            "name"
                          ],
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "response": {
                            "$ref": "CustomConnectorVersion"
                          }
                        },
                        "list": {
                          "path": "v1/{+parent}/customConnectorVersions",
                          "flatPath": "v1/projects/{projectsId}/locations/global/customConnectors/{customConnectorsId}/customConnectorVersions",
                          "parameters": {
                            "pageSize": {
                              "location": "query",
                              "description": "Page size.",
                              "type": "integer",
                              "format": "int32"
                            },
                            "parent": {
                              "required": true,
                              "type": "string",
                              "description": "Required. Parent resource of the connectors, of the form: `projects/*/locations/{location}/customConnectors/*/customConnectorVersions/*`",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/global/customConnectors/[^/]+$"
                            },
                            "pageToken": {
                              "description": "Page token.",
                              "type": "string",
                              "location": "query"
                            }
                          },
                          "id": "connectors.projects.locations.global.customConnectors.customConnectorVersions.list",
                          "description": "List CustomConnectorVersions in a given project",
                          "httpMethod": "GET",
                          "parameterOrder": [
                            "parent"
                          ],
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "response": {
                            "$ref": "ListCustomConnectorVersionsResponse"
                          }
                        },
                        "create": {
                          "parameters": {
                            "parent": {
                              "type": "string",
                              "description": "Required. Parent resource of the CreateCustomConnector, of the form: `projects/{project}/locations/{location}/customConnectors/{custom_connector}`",
                              "required": true,
                              "pattern": "^projects/[^/]+/locations/global/customConnectors/[^/]+$",
                              "location": "path"
                            },
                            "customConnectorVersionId": {
                              "location": "query",
                              "description": "Required. Identifier to assign to the CreateCustomConnectorVersion. Must be unique within scope of the parent resource.",
                              "type": "string"
                            }
                          },
                          "flatPath": "v1/projects/{projectsId}/locations/global/customConnectors/{customConnectorsId}/customConnectorVersions",
                          "path": "v1/{+parent}/customConnectorVersions",
                          "httpMethod": "POST",
                          "request": {
                            "$ref": "CustomConnectorVersion"
                          },
                          "id": "connectors.projects.locations.global.customConnectors.customConnectorVersions.create",
                          "description": "Creates a new CustomConnectorVersion in a given project and location.",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "parameterOrder": [
                            "parent"
                          ],
                          "response": {
                            "$ref": "Operation"
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "connections": {
              "methods": {
                "setIamPolicy": {
                  "id": "connectors.projects.locations.connections.setIamPolicy",
                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "SetIamPolicyRequest"
                  },
                  "path": "v1/{+resource}:setIamPolicy",
                  "parameters": {
                    "resource": {
                      "type": "string",
                      "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:setIamPolicy",
                  "response": {
                    "$ref": "Policy"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "resource"
                  ]
                },
                "get": {
                  "parameters": {
                    "name": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "required": true,
                      "type": "string",
                      "description": "Required. Resource name of the form: `projects/*/locations/*/connections/*`"
                    },
                    "view": {
                      "enum": [
                        "CONNECTION_VIEW_UNSPECIFIED",
                        "BASIC",
                        "FULL"
                      ],
                      "location": "query",
                      "description": "Specifies which fields of the Connection are returned in the response. Defaults to `BASIC` view.",
                      "type": "string",
                      "enumDescriptions": [
                        "CONNECTION_UNSPECIFIED.",
                        "Do not include runtime required configs.",
                        "Include runtime required configs."
                      ]
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}",
                  "path": "v1/{+name}",
                  "httpMethod": "GET",
                  "id": "connectors.projects.locations.connections.get",
                  "description": "Gets details of a single Connection.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Connection"
                  }
                },
                "listenEvent": {
                  "response": {
                    "$ref": "ListenEventResponse"
                  },
                  "parameterOrder": [
                    "resourcePath"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "connectors.projects.locations.connections.listenEvent",
                  "description": "ListenEvent listens to the event.",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "ListenEventRequest"
                  },
                  "path": "v1/{+resourcePath}:listenEvent",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:listenEvent",
                  "parameters": {
                    "resourcePath": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "required": true,
                      "type": "string",
                      "description": "Required. Resource path for request."
                    }
                  }
                },
                "fetchToolspecOverride": {
                  "response": {
                    "$ref": "FetchConnectionToolspecOverrideResponse"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "connectors.projects.locations.connections.fetchToolspecOverride",
                  "description": "Fetches Toolspec Override for a connection for the given list of tools. Returns results from the db if the tool is already present.",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "FetchConnectionToolspecOverrideRequest"
                  },
                  "path": "v1/{+name}:fetchToolspecOverride",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:fetchToolspecOverride",
                  "parameters": {
                    "name": {
                      "required": true,
                      "type": "string",
                      "description": "Required. Resource name format: projects/{project}/locations/{location}/connections/{connection}",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$"
                    }
                  }
                },
                "testIamPermissions": {
                  "response": {
                    "$ref": "TestIamPermissionsResponse"
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "connectors.projects.locations.connections.testIamPermissions",
                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "TestIamPermissionsRequest"
                  },
                  "path": "v1/{+resource}:testIamPermissions",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:testIamPermissions",
                  "parameters": {
                    "resource": {
                      "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path"
                    }
                  }
                },
                "list": {
                  "response": {
                    "$ref": "ListConnectionsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "parent"
                  ],
                  "httpMethod": "GET",
                  "id": "connectors.projects.locations.connections.list",
                  "description": "Lists Connections in a given project and location.",
                  "parameters": {
                    "parent": {
                      "type": "string",
                      "description": "Required. Parent resource of the Connection, of the form: `projects/*/locations/*`",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path"
                    },
                    "filter": {
                      "description": "Filter.",
                      "type": "string",
                      "location": "query"
                    },
                    "pageToken": {
                      "type": "string",
                      "description": "Page token.",
                      "location": "query"
                    },
                    "orderBy": {
                      "type": "string",
                      "description": "Order by parameters.",
                      "location": "query"
                    },
                    "view": {
                      "location": "query",
                      "enum": [
                        "CONNECTION_VIEW_UNSPECIFIED",
                        "BASIC",
                        "FULL"
                      ],
                      "type": "string",
                      "enumDescriptions": [
                        "CONNECTION_UNSPECIFIED.",
                        "Do not include runtime required configs.",
                        "Include runtime required configs."
                      ],
                      "description": "Specifies which fields of the Connection are returned in the response. Defaults to `BASIC` view."
                    },
                    "pageSize": {
                      "description": "Page size.",
                      "type": "integer",
                      "format": "int32",
                      "location": "query"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections",
                  "path": "v1/{+parent}/connections"
                },
                "getIamPolicy": {
                  "parameters": {
                    "resource": {
                      "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path"
                    },
                    "options.requestedPolicyVersion": {
                      "location": "query",
                      "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:getIamPolicy",
                  "path": "v1/{+resource}:getIamPolicy",
                  "httpMethod": "GET",
                  "id": "connectors.projects.locations.connections.getIamPolicy",
                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "resource"
                  ],
                  "response": {
                    "$ref": "Policy"
                  }
                },
                "create": {
                  "response": {
                    "$ref": "Operation"
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "Connection"
                  },
                  "id": "connectors.projects.locations.connections.create",
                  "description": "Creates a new Connection in a given project and location.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections",
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "description": "Required. Parent resource of the Connection, of the form: `projects/*/locations/*`",
                      "type": "string",
                      "required": true
                    },
                    "connectionId": {
                      "type": "string",
                      "description": "Required. Identifier to assign to the Connection. Must be unique within scope of the parent resource.",
                      "location": "query"
                    }
                  },
                  "path": "v1/{+parent}/connections"
                },
                "generateToolspecOverride": {
                  "response": {
                    "$ref": "GenerateConnectionToolspecOverrideResponse"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "connectors.projects.locations.connections.generateToolspecOverride",
                  "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.",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "GenerateConnectionToolspecOverrideRequest"
                  },
                  "path": "v1/{+name}:generateToolspecOverride",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:generateToolspecOverride",
                  "parameters": {
                    "name": {
                      "description": "Required. Resource name format: projects/{project}/locations/{location}/connections/{connection}",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path"
                    }
                  }
                },
                "search": {
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections$",
                      "location": "path",
                      "type": "string",
                      "description": "Required. Parent resource of the Connection, of the form: `projects/*/locations/*/connections`",
                      "required": true
                    },
                    "pageToken": {
                      "type": "string",
                      "description": "Optional. page_token",
                      "location": "query"
                    },
                    "query": {
                      "location": "query",
                      "type": "string",
                      "description": "Required. The query against which the search needs to be done."
                    },
                    "pageSize": {
                      "type": "integer",
                      "format": "int32",
                      "description": "Optional. The number of top matching connectors to return",
                      "location": "query"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections:search",
                  "path": "v1/{+name}:search",
                  "httpMethod": "GET",
                  "id": "connectors.projects.locations.connections.search",
                  "description": "Returns Top matching Connections for a given query.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "SearchConnectionsResponse"
                  }
                },
                "delete": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "parameters": {
                    "force": {
                      "location": "query",
                      "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",
                      "type": "boolean"
                    },
                    "name": {
                      "type": "string",
                      "description": "Required. Resource name of the form: `projects/*/locations/*/connections/*`",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}",
                  "path": "v1/{+name}",
                  "httpMethod": "DELETE",
                  "id": "connectors.projects.locations.connections.delete",
                  "description": "Deletes a single Connection."
                },
                "getConnectionSchemaMetadata": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/connectionSchemaMetadata",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/connectionSchemaMetadata$",
                      "location": "path",
                      "description": "Required. Connection name Format: projects/{project}/locations/{location}/connections/{connection}/connectionSchemaMetadata",
                      "type": "string",
                      "required": true
                    }
                  },
                  "path": "v1/{+name}",
                  "httpMethod": "GET",
                  "id": "connectors.projects.locations.connections.getConnectionSchemaMetadata",
                  "description": "Gets schema metadata of a connection. SchemaMetadata is a singleton resource for each connection.",
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "ConnectionSchemaMetadata"
                  }
                },
                "modifyToolspecOverride": {
                  "response": {
                    "$ref": "ModifyConnectionToolspecOverrideResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "ModifyConnectionToolspecOverrideRequest"
                  },
                  "id": "connectors.projects.locations.connections.modifyToolspecOverride",
                  "description": "Updates Toolspec Override for a connection with the admin provided descriptions.",
                  "parameters": {
                    "name": {
                      "description": "Required. Resource name format: projects/{project}/locations/{location}/connections/{connection}",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:modifyToolspecOverride",
                  "path": "v1/{+name}:modifyToolspecOverride"
                },
                "repairEventing": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "Required. Resource name of the form: `projects/*/locations/*/connections/*`",
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:repairEventing",
                  "path": "v1/{+name}:repairEventing",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "RepairEventingRequest"
                  },
                  "id": "connectors.projects.locations.connections.repairEventing",
                  "description": "RepaiEventing tries to repair eventing related event subscriptions."
                },
                "patch": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "Output only. Resource name of the Connection. Format: projects/{project}/locations/{location}/connections/{connection}",
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$"
                    },
                    "updateMask": {
                      "type": "string",
                      "format": "google-fieldmask",
                      "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"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}",
                  "id": "connectors.projects.locations.connections.patch",
                  "description": "Updates the parameters of a single Connection.",
                  "httpMethod": "PATCH",
                  "request": {
                    "$ref": "Connection"
                  }
                },
                "removeToolspecOverride": {
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "Empty"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:removeToolspecOverride",
                  "parameters": {
                    "name": {
                      "description": "Required. Resource name format: projects/{project}/locations/{location}/connections/{connection}",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                      "location": "path"
                    }
                  },
                  "path": "v1/{+name}:removeToolspecOverride",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "RemoveConnectionToolspecOverrideRequest"
                  },
                  "id": "connectors.projects.locations.connections.removeToolspecOverride",
                  "description": "Deletes all Toolspec Override for a connection."
                }
              },
              "resources": {
                "runtimeActionSchemas": {
                  "methods": {
                    "list": {
                      "parameterOrder": [
                        "parent"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "ListRuntimeActionSchemasResponse"
                      },
                      "path": "v1/{+parent}/runtimeActionSchemas",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/runtimeActionSchemas",
                      "parameters": {
                        "filter": {
                          "location": "query",
                          "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.",
                          "type": "string"
                        },
                        "parent": {
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                          "required": true,
                          "description": "Required. Parent resource of RuntimeActionSchema Format: projects/{project}/locations/{location}/connections/{connection}",
                          "type": "string"
                        },
                        "schemaAsString": {
                          "type": "boolean",
                          "description": "Optional. Flag to indicate if schema should be returned as string or not",
                          "location": "query"
                        },
                        "pageSize": {
                          "description": "Page size.",
                          "type": "integer",
                          "format": "int32",
                          "location": "query"
                        },
                        "pageToken": {
                          "location": "query",
                          "description": "Page token.",
                          "type": "string"
                        }
                      },
                      "id": "connectors.projects.locations.connections.runtimeActionSchemas.list",
                      "description": "List schema of a runtime actions filtered by action name.",
                      "httpMethod": "GET"
                    }
                  }
                },
                "eventSubscriptions": {
                  "methods": {
                    "patch": {
                      "response": {
                        "$ref": "Operation"
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "id": "connectors.projects.locations.connections.eventSubscriptions.patch",
                      "description": "Updates the parameters of a single EventSubscription.",
                      "httpMethod": "PATCH",
                      "request": {
                        "$ref": "EventSubscription"
                      },
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/eventSubscriptions/{eventSubscriptionsId}",
                      "parameters": {
                        "name": {
                          "required": true,
                          "type": "string",
                          "description": "Required. Identifier. Resource name of the EventSubscription. Format: projects/{project}/locations/{location}/connections/{connection}/eventSubscriptions/{event_subscription}",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/eventSubscriptions/[^/]+$"
                        },
                        "updateMask": {
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask",
                          "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`"
                        }
                      }
                    },
                    "retry": {
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "httpMethod": "POST",
                      "request": {
                        "$ref": "RetryEventSubscriptionRequest"
                      },
                      "id": "connectors.projects.locations.connections.eventSubscriptions.retry",
                      "description": "RetryEventSubscription retries the registration of Subscription.",
                      "parameters": {
                        "name": {
                          "required": true,
                          "description": "Required. Resource name of the form: `projects/*/locations/*/connections/*/eventSubscriptions/*`",
                          "type": "string",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/eventSubscriptions/[^/]+$"
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/eventSubscriptions/{eventSubscriptionsId}:retry",
                      "path": "v1/{+name}:retry"
                    },
                    "list": {
                      "parameterOrder": [
                        "parent"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "ListEventSubscriptionsResponse"
                      },
                      "path": "v1/{+parent}/eventSubscriptions",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/eventSubscriptions",
                      "parameters": {
                        "parent": {
                          "description": "Required. Parent resource of the EventSubscription, of the form: `projects/*/locations/*/connections/*`",
                          "type": "string",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                          "location": "path"
                        },
                        "filter": {
                          "type": "string",
                          "description": "Filter.",
                          "location": "query"
                        },
                        "pageToken": {
                          "location": "query",
                          "type": "string",
                          "description": "Page token."
                        },
                        "orderBy": {
                          "description": "Order by parameters.",
                          "type": "string",
                          "location": "query"
                        },
                        "pageSize": {
                          "type": "integer",
                          "format": "int32",
                          "description": "Page size.",
                          "location": "query"
                        }
                      },
                      "id": "connectors.projects.locations.connections.eventSubscriptions.list",
                      "description": "List EventSubscriptions in a given project,location and connection.",
                      "httpMethod": "GET"
                    },
                    "create": {
                      "parameters": {
                        "parent": {
                          "required": true,
                          "description": "Required. Parent resource of the EventSubscription, of the form: `projects/*/locations/*/connections/*`",
                          "type": "string",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$"
                        },
                        "eventSubscriptionId": {
                          "description": "Required. Identifier to assign to the Event Subscription. Must be unique within scope of the parent resource.",
                          "type": "string",
                          "location": "query"
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/eventSubscriptions",
                      "path": "v1/{+parent}/eventSubscriptions",
                      "httpMethod": "POST",
                      "request": {
                        "$ref": "EventSubscription"
                      },
                      "id": "connectors.projects.locations.connections.eventSubscriptions.create",
                      "description": "Creates a new EventSubscription in a given project,location and connection.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "Operation"
                      }
                    },
                    "delete": {
                      "parameters": {
                        "name": {
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/eventSubscriptions/[^/]+$",
                          "required": true,
                          "type": "string",
                          "description": "Required. Resource name of the form: `projects/*/locations/*/connections/*/eventsubscriptions/*`"
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/eventSubscriptions/{eventSubscriptionsId}",
                      "path": "v1/{+name}",
                      "httpMethod": "DELETE",
                      "id": "connectors.projects.locations.connections.eventSubscriptions.delete",
                      "description": "Deletes a single EventSubscription.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Operation"
                      }
                    },
                    "get": {
                      "path": "v1/{+name}",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name of the form: `projects/*/locations/*/connections/*/eventSubscriptions/*`",
                          "type": "string",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/eventSubscriptions/[^/]+$",
                          "location": "path"
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/eventSubscriptions/{eventSubscriptionsId}",
                      "id": "connectors.projects.locations.connections.eventSubscriptions.get",
                      "description": "Gets details of a single EventSubscription.",
                      "httpMethod": "GET",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "EventSubscription"
                      }
                    }
                  }
                },
                "endUserAuthentications": {
                  "methods": {
                    "create": {
                      "parameters": {
                        "parent": {
                          "required": true,
                          "description": "Required. Parent resource of the EndUserAuthentication, of the form: `projects/*/locations/*/connections/*`",
                          "type": "string",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$"
                        },
                        "endUserAuthenticationId": {
                          "type": "string",
                          "description": "Required. Identifier to assign to the EndUserAuthentication. Must be unique within scope of the parent resource.",
                          "location": "query"
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/endUserAuthentications",
                      "path": "v1/{+parent}/endUserAuthentications",
                      "httpMethod": "POST",
                      "request": {
                        "$ref": "EndUserAuthentication"
                      },
                      "id": "connectors.projects.locations.connections.endUserAuthentications.create",
                      "description": "Creates a new EndUserAuthentication in a given project,location and connection.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "Operation"
                      }
                    },
                    "get": {
                      "response": {
                        "$ref": "EndUserAuthentication"
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "id": "connectors.projects.locations.connections.endUserAuthentications.get",
                      "description": "Gets details of a single EndUserAuthentication.",
                      "httpMethod": "GET",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/endUserAuthentications/{endUserAuthenticationsId}",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name of the form: `projects/*/locations/*/connections/*/EndUserAuthentications/*`",
                          "type": "string",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/endUserAuthentications/[^/]+$",
                          "location": "path"
                        },
                        "view": {
                          "enum": [
                            "END_USER_AUTHENTICATION_VIEW_UNSPECIFIED",
                            "BASIC_VIEW",
                            "FULL_VIEW"
                          ],
                          "location": "query",
                          "description": "Optional. View of the EndUserAuthentication to return.",
                          "type": "string",
                          "enumDescriptions": [
                            "END_USER_AUTHENTICATION_UNSPECIFIED.",
                            "Do not include secret fields.",
                            "Include secret fields."
                          ]
                        }
                      }
                    },
                    "delete": {
                      "httpMethod": "DELETE",
                      "id": "connectors.projects.locations.connections.endUserAuthentications.delete",
                      "description": "Deletes a single EndUserAuthentication.",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/endUserAuthentications/[^/]+$",
                          "location": "path",
                          "description": "Required. Resource name of the form: `projects/*/locations/*/connections/*/endUserAuthentication/*`",
                          "type": "string",
                          "required": true
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/endUserAuthentications/{endUserAuthenticationsId}",
                      "path": "v1/{+name}",
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ]
                    },
                    "list": {
                      "parameterOrder": [
                        "parent"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "ListEndUserAuthenticationsResponse"
                      },
                      "path": "v1/{+parent}/endUserAuthentications",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/endUserAuthentications",
                      "parameters": {
                        "filter": {
                          "description": "Filter.",
                          "type": "string",
                          "location": "query"
                        },
                        "parent": {
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                          "required": true,
                          "type": "string",
                          "description": "Required. Parent resource of the EndUserAuthentication, of the form: `projects/*/locations/*/connections/*`"
                        },
                        "orderBy": {
                          "location": "query",
                          "type": "string",
                          "description": "Order by parameters."
                        },
                        "pageSize": {
                          "location": "query",
                          "type": "integer",
                          "format": "int32",
                          "description": "Page size."
                        },
                        "pageToken": {
                          "location": "query",
                          "description": "Page token.",
                          "type": "string"
                        }
                      },
                      "id": "connectors.projects.locations.connections.endUserAuthentications.list",
                      "description": "List EndUserAuthentications in a given project,location and connection.",
                      "httpMethod": "GET"
                    },
                    "patch": {
                      "id": "connectors.projects.locations.connections.endUserAuthentications.patch",
                      "description": "Updates the parameters of a single EndUserAuthentication.",
                      "httpMethod": "PATCH",
                      "request": {
                        "$ref": "EndUserAuthentication"
                      },
                      "path": "v1/{+name}",
                      "parameters": {
                        "name": {
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/endUserAuthentications/[^/]+$",
                          "required": true,
                          "description": "Required. Identifier. Resource name of the EndUserAuthentication. Format: projects/{project}/locations/{location}/connections/{connection}/endUserAuthentications/{end_user_authentication}",
                          "type": "string"
                        },
                        "updateMask": {
                          "type": "string",
                          "format": "google-fieldmask",
                          "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"
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/endUserAuthentications/{endUserAuthenticationsId}",
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ]
                    }
                  }
                },
                "runtimeEntitySchemas": {
                  "methods": {
                    "list": {
                      "parameters": {
                        "parent": {
                          "description": "Required. Parent resource of RuntimeEntitySchema Format: projects/{project}/locations/{location}/connections/{connection}",
                          "type": "string",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                          "location": "path"
                        },
                        "pageToken": {
                          "type": "string",
                          "description": "Page token.",
                          "location": "query"
                        },
                        "pageSize": {
                          "location": "query",
                          "type": "integer",
                          "format": "int32",
                          "description": "Page size."
                        },
                        "filter": {
                          "location": "query",
                          "type": "string",
                          "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."
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/runtimeEntitySchemas",
                      "path": "v1/{+parent}/runtimeEntitySchemas",
                      "httpMethod": "GET",
                      "id": "connectors.projects.locations.connections.runtimeEntitySchemas.list",
                      "description": "List schema of a runtime entities filtered by entity name.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "ListRuntimeEntitySchemasResponse"
                      }
                    }
                  }
                },
                "connectionSchemaMetadata": {
                  "methods": {
                    "refresh": {
                      "id": "connectors.projects.locations.connections.connectionSchemaMetadata.refresh",
                      "description": "Refresh runtime schema of a connection.",
                      "httpMethod": "POST",
                      "request": {
                        "$ref": "RefreshConnectionSchemaMetadataRequest"
                      },
                      "path": "v1/{+name}:refresh",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/connectionSchemaMetadata:refresh",
                      "parameters": {
                        "name": {
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/connectionSchemaMetadata$",
                          "required": true,
                          "type": "string",
                          "description": "Required. Resource name. Format: projects/{project}/locations/{location}/connections/{connection}/connectionSchemaMetadata"
                        }
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "getEntityType": {
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "id": "connectors.projects.locations.connections.connectionSchemaMetadata.getEntityType",
                      "description": "Get entity type.",
                      "httpMethod": "GET",
                      "path": "v1/{+name}:getEntityType",
                      "parameters": {
                        "name": {
                          "description": "Required. Resource name format: projects/{project}/locations/{location}/connections/{connection}/connectionSchemaMetadata",
                          "type": "string",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/connectionSchemaMetadata$",
                          "location": "path"
                        },
                        "entityId": {
                          "type": "string",
                          "description": "Required. Id of the entity type.",
                          "location": "query"
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/connectionSchemaMetadata:getEntityType"
                    },
                    "listEntityTypes": {
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/connectionSchemaMetadata$",
                          "location": "path",
                          "description": "Required. Resource name format: projects/{project}/locations/{location}/connections/{connection}/connectionSchemaMetadata",
                          "type": "string",
                          "required": true
                        },
                        "pageToken": {
                          "location": "query",
                          "type": "string",
                          "description": "Page token."
                        },
                        "pageSize": {
                          "description": "Page size. If unspecified, at most 50 entity types will be returned.",
                          "type": "integer",
                          "format": "int32",
                          "location": "query"
                        },
                        "view": {
                          "type": "string",
                          "enumDescriptions": [
                            "",
                            ""
                          ],
                          "description": "Specifies which fields are returned in response. Defaults to BASIC view.",
                          "location": "query",
                          "enum": [
                            "VIEW_UNSPECIFIED",
                            "BASIC"
                          ]
                        },
                        "filter": {
                          "description": "Required. Filter Wildcards are not supported in the filter currently.",
                          "type": "string",
                          "location": "query"
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/connectionSchemaMetadata:listEntityTypes",
                      "path": "v1/{+name}:listEntityTypes",
                      "httpMethod": "GET",
                      "id": "connectors.projects.locations.connections.connectionSchemaMetadata.listEntityTypes",
                      "description": "List entity types.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "ListEntityTypesResponse"
                      }
                    },
                    "listActions": {
                      "httpMethod": "GET",
                      "id": "connectors.projects.locations.connections.connectionSchemaMetadata.listActions",
                      "description": "List actions.",
                      "parameters": {
                        "filter": {
                          "type": "string",
                          "description": "Required. Filter Wildcards are not supported in the filter currently.",
                          "location": "query"
                        },
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/connectionSchemaMetadata$",
                          "location": "path",
                          "description": "Required. Resource name format. projects/{project}/locations/{location}/connections/{connection}/connectionSchemaMetadata",
                          "type": "string",
                          "required": true
                        },
                        "pageToken": {
                          "type": "string",
                          "description": "Page token.",
                          "location": "query"
                        },
                        "view": {
                          "enum": [
                            "VIEW_UNSPECIFIED",
                            "BASIC"
                          ],
                          "location": "query",
                          "description": "Specifies which fields are returned in response. Defaults to BASIC view.",
                          "type": "string",
                          "enumDescriptions": [
                            "",
                            ""
                          ]
                        },
                        "pageSize": {
                          "location": "query",
                          "type": "integer",
                          "format": "int32",
                          "description": "Page size. If unspecified, at most 50 actions will be returned."
                        }
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/connectionSchemaMetadata:listActions",
                      "path": "v1/{+name}:listActions",
                      "response": {
                        "$ref": "ListActionsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "name"
                      ]
                    },
                    "getAction": {
                      "path": "v1/{+name}:getAction",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/connectionSchemaMetadata:getAction",
                      "parameters": {
                        "name": {
                          "required": true,
                          "description": "Required. Resource name format: projects/{project}/locations/{location}/connections/{connection}/connectionSchemaMetadata",
                          "type": "string",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/connectionSchemaMetadata$"
                        },
                        "actionId": {
                          "location": "query",
                          "description": "Required. Id of the action.",
                          "type": "string"
                        }
                      },
                      "id": "connectors.projects.locations.connections.connectionSchemaMetadata.getAction",
                      "description": "Get action.",
                      "httpMethod": "GET",
                      "parameterOrder": [
                        "name"
                      ],
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "Operation"
                      }
                    }
                  }
                }
              }
            },
            "operations": {
              "methods": {
                "list": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "ListOperationsResponse"
                  },
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "The name of the operation's parent resource.",
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    },
                    "pageToken": {
                      "location": "query",
                      "description": "The standard list page token.",
                      "type": "string"
                    },
                    "pageSize": {
                      "location": "query",
                      "description": "The standard list page size.",
                      "type": "integer",
                      "format": "int32"
                    },
                    "returnPartialSuccess": {
                      "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
                      "type": "boolean",
                      "location": "query"
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "The standard list filter."
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations",
                  "path": "v1/{+name}/operations",
                  "httpMethod": "GET",
                  "id": "connectors.projects.locations.operations.list",
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`."
                },
                "cancel": {
                  "parameters": {
                    "name": {
                      "type": "string",
                      "description": "The name of the operation resource to be cancelled.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "location": "path"
                    }
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "path": "v1/{+name}:cancel",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "CancelOperationRequest"
                  },
                  "id": "connectors.projects.locations.operations.cancel",
                  "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Empty"
                  }
                },
                "get": {
                  "id": "connectors.projects.locations.operations.get",
                  "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
                  "httpMethod": "GET",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "parameters": {
                    "name": {
                      "required": true,
                      "type": "string",
                      "description": "The name of the operation resource.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$"
                    }
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "delete": {
                  "id": "connectors.projects.locations.operations.delete",
                  "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
                  "httpMethod": "DELETE",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "required": true,
                      "type": "string",
                      "description": "The name of the operation resource to be deleted."
                    }
                  },
                  "response": {
                    "$ref": "Empty"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "mtlsRootUrl": "https://connectors.mtls.googleapis.com/",
  "title": "Connectors API",
  "ownerDomain": "google.com",
  "discoveryVersion": "v1",
  "canonicalName": "Connectors",
  "servicePath": "",
  "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",
  "basePath": "",
  "parameters": {
    "fields": {
      "location": "query",
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string"
    },
    "key": {
      "location": "query",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "type": "string"
    },
    "prettyPrint": {
      "description": "Returns response with indentations and line breaks.",
      "default": "true",
      "type": "boolean",
      "location": "query"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "type": "string",
      "location": "query"
    },
    "upload_protocol": {
      "location": "query",
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "enum": [
        "1",
        "2"
      ],
      "location": "query"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "callback": {
      "location": "query",
      "description": "JSONP",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "location": "query",
      "description": "Data format for response.",
      "type": "string",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ]
    },
    "oauth_token": {
      "location": "query",
      "type": "string",
      "description": "OAuth 2.0 token for the current user."
    }
  },
  "schemas": {
    "InputParameter": {
      "type": "object",
      "properties": {
        "parameter": {
          "description": "Name of the Parameter.",
          "type": "string"
        },
        "defaultValue": {
          "type": "any",
          "description": "The following field specifies the default value of the Parameter provided by the external system if a value is not provided."
        },
        "description": {
          "description": "A brief description of the Parameter.",
          "type": "string"
        },
        "jsonSchema": {
          "description": "JsonSchema representation of this action's parameter",
          "$ref": "JsonSchema"
        },
        "dataType": {
          "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."
          ],
          "description": "The data type of the Parameter.",
          "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"
          ],
          "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
          ]
        },
        "nullable": {
          "type": "boolean",
          "description": "Specifies whether a null value is allowed."
        }
      },
      "id": "InputParameter",
      "description": "Metadata of an input parameter."
    },
    "EventingStatus": {
      "type": "object",
      "properties": {
        "state": {
          "readOnly": true,
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "ERROR",
            "INGRESS_ENDPOINT_REQUIRED"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default state.",
            "Eventing is enabled and ready to receive events.",
            "Eventing is not active due to an error.",
            "Ingress endpoint required."
          ],
          "description": "Output only. State."
        },
        "description": {
          "readOnly": true,
          "description": "Output only. Description of error if State is set to \"ERROR\".",
          "type": "string"
        }
      },
      "id": "EventingStatus",
      "description": "EventingStatus indicates the state of eventing."
    },
    "RemoveConnectionToolspecOverrideRequest": {
      "type": "object",
      "properties": {},
      "id": "RemoveConnectionToolspecOverrideRequest",
      "description": "Request message for RemoveConnectionToolspecOverride API."
    },
    "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": {
        "location": {
          "type": "string",
          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file."
        },
        "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"
        },
        "expression": {
          "description": "Textual representation of an expression in Common Expression Language syntax.",
          "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"
        }
      }
    },
    "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": {
        "location": {
          "description": "The location of the node, if different from instance location.",
          "type": "string"
        },
        "perSliEligibility": {
          "$ref": "PerSliSloEligibility",
          "description": "If present, this will override eligibility for the node coming from instance or exclusions for specified SLIs."
        },
        "nodeId": {
          "description": "The id of the node. This should be equal to SaasInstanceNode.node_id.",
          "type": "string"
        }
      }
    },
    "GenerateConnectionToolspecOverrideRequest": {
      "type": "object",
      "properties": {
        "toolNames": {
          "description": "Required. List of tools for which the tool spec override is to be generated.",
          "type": "array",
          "items": {
            "$ref": "ToolName"
          }
        }
      },
      "id": "GenerateConnectionToolspecOverrideRequest",
      "description": "Request message for GenerateConnectionToolspecOverride API."
    },
    "RuntimeActionSchema": {
      "type": "object",
      "properties": {
        "resultSchemaAsString": {
          "readOnly": true,
          "description": "Output only. Result schema as string.",
          "type": "string"
        },
        "action": {
          "readOnly": true,
          "description": "Output only. Name of the action.",
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "Output only. Brief Description of action",
          "readOnly": true
        },
        "inputParameters": {
          "description": "Output only. List of input parameter metadata for the action.",
          "type": "array",
          "items": {
            "$ref": "InputParameter"
          },
          "readOnly": true
        },
        "displayName": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Display Name of action to be shown on client side"
        },
        "inputSchemaAsString": {
          "description": "Output only. Input schema as string.",
          "type": "string",
          "readOnly": true
        },
        "resultMetadata": {
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "ResultMetadata"
          },
          "description": "Output only. List of result field metadata."
        },
        "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"
        }
      },
      "id": "RuntimeActionSchema",
      "description": "Schema of a runtime action."
    },
    "AuthSchema": {
      "id": "AuthSchema",
      "description": "AuthSchema defines the schema of an authentication type.",
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description of the schema."
        },
        "isDefault": {
          "type": "boolean",
          "description": "Whether the auth schema is the default one."
        },
        "authType": {
          "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"
          ],
          "description": "Auth type of the schema.",
          "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"
          ]
        },
        "displayName": {
          "description": "Display name of the schema.",
          "type": "string"
        },
        "authKey": {
          "description": "Auth key of the schema.",
          "type": "string"
        },
        "authFields": {
          "type": "array",
          "items": {
            "$ref": "AuthField"
          },
          "description": "List of AuthFields."
        }
      }
    },
    "DenyMaintenancePeriod": {
      "type": "object",
      "properties": {
        "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"
        },
        "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"
        }
      },
      "id": "DenyMaintenancePeriod",
      "description": "DenyMaintenancePeriod definition. Maintenance is forbidden within the deny period. The start_date must be less than the end_date."
    },
    "Field": {
      "type": "object",
      "properties": {
        "nullable": {
          "description": "Specifies whether a null value is allowed.",
          "type": "boolean"
        },
        "readonly": {
          "type": "boolean",
          "description": "Specifies if the Field is readonly."
        },
        "additionalDetails": {
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          },
          "type": "object",
          "description": "The following map contains fields that are not explicitly mentioned above,this give connectors the flexibility to add new metadata fields."
        },
        "dataType": {
          "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"
          ],
          "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."
          ],
          "description": "The data type of the Field."
        },
        "description": {
          "description": "A brief description of the Field.",
          "type": "string"
        },
        "jsonSchema": {
          "$ref": "JsonSchema",
          "description": "JsonSchema representation of this entity's schema"
        },
        "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"
        },
        "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"
        },
        "field": {
          "type": "string",
          "description": "Name of the Field."
        }
      },
      "id": "Field",
      "description": "Metadata of an entity field."
    },
    "SshPublicKey": {
      "type": "object",
      "properties": {
        "username": {
          "description": "Optional. The user account used to authenticate.",
          "type": "string"
        },
        "sshClientCert": {
          "$ref": "Secret",
          "description": "Optional. SSH Client Cert. It should contain both public and private key."
        },
        "certType": {
          "description": "Optional. Format of SSH Client cert.",
          "type": "string"
        },
        "sshClientCertPass": {
          "$ref": "Secret",
          "description": "Optional. Password (passphrase) for ssh client certificate if it has one."
        }
      },
      "id": "SshPublicKey",
      "description": "Parameters to support Ssh public key Authentication."
    },
    "EndpointAttachment": {
      "type": "object",
      "properties": {
        "endpointIp": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The Private Service Connect connection endpoint ip"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "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"
        },
        "createTime": {
          "description": "Output only. Created time.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "name": {
          "type": "string",
          "description": "Output only. Resource name of the Endpoint Attachment. Format: projects/{project}/locations/{location}/endpointAttachments/{endpoint_attachment}",
          "readOnly": true
        },
        "updateTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Updated time."
        },
        "serviceAttachment": {
          "type": "string",
          "description": "Required. The path of the service attachment"
        },
        "state": {
          "enum": [
            "STATE_UNSPECIFIED",
            "PENDING",
            "ACCEPTED",
            "REJECTED",
            "CLOSED",
            "FROZEN",
            "NEEDS_ATTENTION",
            "ACCEPTED_NOT_PROGRAMMED"
          ],
          "readOnly": true,
          "description": "Output only. The Private Service Connect Connection Endpoint State. This value is only available in the Full view.",
          "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."
          ]
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the resource."
        },
        "endpointGlobalAccess": {
          "type": "boolean",
          "description": "Optional. The Private Service Connect Connection Endpoint Global Access. https://cloud.google.com/vpc/docs/about-accessing-vpc-hosted-services-endpoints#global-access"
        }
      },
      "id": "EndpointAttachment",
      "description": "represents the Connector's Endpoint Attachment resource"
    },
    "MultipleSelectConfig": {
      "type": "object",
      "properties": {
        "valueSeparator": {
          "type": "string",
          "description": "Required. Value separator. Only \",\" can be used for OAuth auth code flow scope field."
        },
        "multipleSelectOptions": {
          "description": "Required. Multiple select options.",
          "type": "array",
          "items": {
            "$ref": "MultipleSelectOption"
          }
        },
        "allowCustomValues": {
          "description": "Optional. Allow custom values.",
          "type": "boolean"
        }
      },
      "id": "MultipleSelectConfig",
      "description": "MultipleSelectConfig represents the multiple options for a config variable."
    },
    "EgressControlConfig": {
      "type": "object",
      "properties": {
        "launchEnvironment": {
          "enum": [
            "LAUNCH_ENVIRONMENT_UNSPECIFIED",
            "AUTOPUSH",
            "STAGING",
            "PROD"
          ],
          "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."
          ]
        },
        "allowlistedProjectNumbers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional. Used when access_mode is RESTRICTED or ACCESS_MODE_UNSPECIFIED."
        },
        "accessMode": {
          "enum": [
            "ACCESS_MODE_UNSPECIFIED",
            "RESTRICTED",
            "ALLOW_ALL"
          ],
          "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."
          ]
        },
        "backends": {
          "type": "string",
          "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)."
        },
        "extractionRules": {
          "$ref": "ExtractionRules",
          "deprecated": true,
          "description": "Extractions Rules to extract the backends from customer provided configuration."
        },
        "additionalExtractionRules": {
          "$ref": "ExtractionRules",
          "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`."
        }
      },
      "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."
    },
    "LogicalExpression": {
      "id": "LogicalExpression",
      "description": "Struct for representing boolean expressions.",
      "type": "object",
      "properties": {
        "logicalExpressions": {
          "description": "Optional. A list of nested conditions to be compared.",
          "type": "array",
          "items": {
            "$ref": "LogicalExpression"
          }
        },
        "logicalOperator": {
          "enum": [
            "OPERATOR_UNSPECIFIED",
            "AND",
            "OR"
          ],
          "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."
          ],
          "description": "Optional. The logical operator to use between the fields and conditions."
        },
        "fieldComparisons": {
          "type": "array",
          "items": {
            "$ref": "FieldComparison"
          },
          "description": "Optional. A list of fields to be compared."
        }
      }
    },
    "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": {
          "type": "string",
          "description": "Optional. Describes why a connection is locked."
        }
      }
    },
    "Location": {
      "id": "Location",
      "description": "A resource that represents a Google Cloud location.",
      "type": "object",
      "properties": {
        "locationId": {
          "description": "The canonical id for this location. For example: `\"us-east1\"`.",
          "type": "string"
        },
        "displayName": {
          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
          "type": "string"
        },
        "metadata": {
          "type": "object",
          "description": "Service-specific metadata. For example the available capacity at the given location.",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          }
        },
        "name": {
          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
          "type": "string"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object",
          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}"
        }
      }
    },
    "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": {
          "type": "string",
          "enumDescriptions": [
            "Log level unspecified.",
            "Only error logs are enabled.",
            "Info and error logs are enabled.",
            "Debug and high verbosity logs are enabled."
          ],
          "description": "Optional. Log configuration level.",
          "enum": [
            "LOG_LEVEL_UNSPECIFIED",
            "ERROR",
            "INFO",
            "DEBUG"
          ]
        }
      }
    },
    "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": {
          "type": "string",
          "description": "Optional. The plain string value of the secret."
        }
      }
    },
    "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"
        }
      }
    },
    "SearchConnectionsResponse": {
      "type": "object",
      "properties": {
        "unreachable": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Locations that could not be reached."
        },
        "nextPageToken": {
          "type": "string",
          "description": "Optional. page_token"
        },
        "connections": {
          "type": "array",
          "items": {
            "$ref": "SearchConnectionInstance"
          },
          "description": "A list of connectors."
        }
      },
      "id": "SearchConnectionsResponse",
      "description": "Response message for Connectors.SearchConnections."
    },
    "VpcscConfig": {
      "type": "object",
      "properties": {
        "defaultAllowlistedHost": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of allowlisted FQDNs for VPCSC."
        },
        "disableFirewallVpcscFlow": {
          "description": "Whether to disable firewall VPCSC flow.",
          "type": "boolean"
        }
      },
      "id": "VpcscConfig",
      "description": "This configuration provides VPCSC config for a connector."
    },
    "EventingDetails": {
      "type": "object",
      "properties": {
        "customEventTypes": {
          "description": "Output only. Custom Event Types.",
          "type": "boolean",
          "readOnly": true
        },
        "subscriptionType": {
          "enum": [
            "SUBSCRIPTION_TYPE_UNSPECIFIED",
            "SHARED",
            "USER_SPECIFIC"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default value.",
            "Managed via admin credentials. Handles global or system-wide events.",
            "Managed via individual user credentials. Isolates data per user."
          ],
          "description": "The webhook model supported by this connector."
        },
        "description": {
          "description": "Output only. Description.",
          "type": "string",
          "readOnly": true
        },
        "documentationLink": {
          "type": "string",
          "description": "Output only. Link to public documentation.",
          "readOnly": true
        },
        "iconLocation": {
          "type": "string",
          "description": "Output only. Cloud storage location of the icon.",
          "readOnly": true
        },
        "searchTags": {
          "description": "Output only. Array of search keywords.",
          "type": "array",
          "items": {
            "type": "string"
          },
          "readOnly": true
        },
        "launchStage": {
          "description": "Output only. Eventing Launch Stage.",
          "type": "string",
          "enumDescriptions": [
            "LAUNCH_STAGE_UNSPECIFIED.",
            "PREVIEW.",
            "GA.",
            "DEPRECATED.",
            "TEST.",
            "PRIVATE_PREVIEW."
          ],
          "enum": [
            "LAUNCH_STAGE_UNSPECIFIED",
            "PREVIEW",
            "GA",
            "DEPRECATED",
            "TEST",
            "PRIVATE_PREVIEW"
          ],
          "readOnly": true
        },
        "type": {
          "type": "string",
          "enumDescriptions": [
            "Default value.",
            "Webhook listener. e.g. Jira, Zendesk, Servicenow etc.,",
            "JMS Listener. e.g. IBM MQ, Rabbit MQ etc.,"
          ],
          "description": "Output only. The type of the event listener for a specific connector.",
          "readOnly": true,
          "enum": [
            "TYPE_UNSPECIFIED",
            "WEBHOOK",
            "JMS"
          ]
        },
        "name": {
          "description": "Output only. Name of the Eventing trigger.",
          "type": "string",
          "readOnly": true
        }
      },
      "id": "EventingDetails",
      "description": "Eventing Details message."
    },
    "DestinationConfigTemplate": {
      "id": "DestinationConfigTemplate",
      "description": "DestinationConfigTemplate defines required destinations supported by the Connector.",
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "description": "Key of the destination."
        },
        "portFieldType": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            ""
          ],
          "description": "Whether port number should be provided by customers.",
          "enum": [
            "FIELD_TYPE_UNSPECIFIED",
            "REQUIRED",
            "OPTIONAL",
            "NOT_USED"
          ]
        },
        "autocompleteSuggestions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Autocomplete suggestions for destination URL field."
        },
        "description": {
          "type": "string",
          "description": "Description."
        },
        "displayName": {
          "type": "string",
          "description": "Display name of the parameter."
        },
        "defaultPort": {
          "description": "The default port.",
          "type": "integer",
          "format": "int32"
        },
        "min": {
          "type": "integer",
          "format": "int32",
          "description": "The minimum number of destinations supported for this key."
        },
        "isAdvanced": {
          "description": "Whether the current destination tempalate is part of Advanced settings",
          "type": "boolean"
        },
        "max": {
          "type": "integer",
          "format": "int32",
          "description": "The maximum number of destinations supported for this key."
        },
        "regexPattern": {
          "description": "Regex pattern for host.",
          "type": "string"
        }
      }
    },
    "MaintenancePolicy": {
      "type": "object",
      "properties": {
        "createTime": {
          "description": "Output only. The time when the resource was created.",
          "type": "string",
          "format": "google-datetime"
        },
        "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"
        },
        "labels": {
          "type": "object",
          "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.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "updatePolicy": {
          "$ref": "UpdatePolicy",
          "description": "Maintenance policy applicable to instance update."
        },
        "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"
          ]
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the resource was updated."
        },
        "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"
        }
      },
      "id": "MaintenancePolicy",
      "description": "Defines policies to service maintenance events."
    },
    "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"
          ]
        },
        "helperTextTemplate": {
          "type": "string",
          "description": "Optional. Template that UI can use to provide helper text to customers."
        },
        "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"
        }
      }
    },
    "ConnectorVersion": {
      "id": "ConnectorVersion",
      "description": "ConnectorVersion indicates a specific version of a connector.",
      "type": "object",
      "properties": {
        "configVariableTemplates": {
          "type": "array",
          "items": {
            "$ref": "ConfigVariableTemplate"
          },
          "description": "Output only. List of config variables needed to create a connection.",
          "readOnly": true
        },
        "sslConfigTemplate": {
          "readOnly": true,
          "$ref": "SslConfigTemplate",
          "description": "Output only. Ssl configuration supported by the Connector."
        },
        "destinationConfigTemplates": {
          "readOnly": true,
          "description": "Output only. List of destination configs needed to create a connection.",
          "type": "array",
          "items": {
            "$ref": "DestinationConfigTemplate"
          }
        },
        "egressControlConfig": {
          "description": "Output only. Configuration for Egress Control.",
          "readOnly": true,
          "$ref": "EgressControlConfig"
        },
        "isCustomActionsSupported": {
          "readOnly": true,
          "description": "Output only. Is custom actions supported.",
          "type": "boolean"
        },
        "name": {
          "type": "string",
          "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
        },
        "unsupportedConnectionTypes": {
          "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"
            ]
          },
          "description": "Output only. Unsupported connection types.",
          "readOnly": true
        },
        "supportedStandardEntities": {
          "description": "Output only. Supported standard entities.",
          "type": "array",
          "items": {
            "$ref": "StandardEntity"
          },
          "readOnly": true
        },
        "updateTime": {
          "description": "Output only. Updated time.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "roleGrants": {
          "readOnly": true,
          "description": "Output only. Role grant configurations for this connector version.",
          "type": "array",
          "items": {
            "$ref": "RoleGrant"
          }
        },
        "vpcscConfig": {
          "description": "Output only. VPCSC config for the connector.",
          "readOnly": true,
          "$ref": "VpcscConfig"
        },
        "authOverrideEnabled": {
          "readOnly": true,
          "description": "Output only. Flag to mark the dynamic auth override.",
          "type": "boolean"
        },
        "roleGrant": {
          "description": "Output only. Role grant configuration for this config variable. It will be DEPRECATED soon.",
          "readOnly": true,
          "$ref": "RoleGrant"
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Created time."
        },
        "authConfigTemplates": {
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "AuthConfigTemplate"
          },
          "description": "Output only. List of auth configs supported by the Connector Version."
        },
        "isCustomEntitiesSupported": {
          "type": "boolean",
          "description": "Output only. Is custom entities supported.",
          "readOnly": true
        },
        "launchStage": {
          "enum": [
            "LAUNCH_STAGE_UNSPECIFIED",
            "PREVIEW",
            "GA",
            "DEPRECATED",
            "TEST",
            "PRIVATE_PREVIEW"
          ],
          "readOnly": true,
          "description": "Output only. Flag to mark the version indicating the launch stage.",
          "type": "string",
          "enumDescriptions": [
            "LAUNCH_STAGE_UNSPECIFIED.",
            "PREVIEW.",
            "GA.",
            "DEPRECATED.",
            "TEST.",
            "PRIVATE_PREVIEW."
          ]
        },
        "releaseVersion": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. ReleaseVersion of the connector, for example: \"1.0.1-alpha\"."
        },
        "eventingConfigTemplate": {
          "description": "Output only. Eventing configuration supported by the Connector.",
          "readOnly": true,
          "$ref": "EventingConfigTemplate"
        },
        "supportedStandardActions": {
          "description": "Output only. Supported standard actions.",
          "type": "array",
          "items": {
            "$ref": "StandardAction"
          },
          "readOnly": true
        },
        "supportedRuntimeFeatures": {
          "description": "Output only. Information about the runtime features supported by the Connector.",
          "readOnly": true,
          "$ref": "SupportedRuntimeFeatures"
        },
        "connectorInfraConfig": {
          "description": "Output only. Infra configs supported by Connector.",
          "readOnly": true,
          "$ref": "ConnectorInfraConfig"
        },
        "labels": {
          "readOnly": true,
          "additionalProperties": {
            "type": "string"
          },
          "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",
          "type": "object"
        },
        "schemaRefreshConfig": {
          "$ref": "SchemaRefreshConfig",
          "description": "Connection Schema Refresh Config"
        },
        "displayName": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Display name."
        }
      }
    },
    "ListConnectorsResponse": {
      "type": "object",
      "properties": {
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        },
        "unreachable": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Locations that could not be reached."
        },
        "connectors": {
          "description": "A list of connectors.",
          "type": "array",
          "items": {
            "$ref": "Connector"
          }
        }
      },
      "id": "ListConnectorsResponse",
      "description": "Response message for Connectors.ListConnectors."
    },
    "OperationMetadata": {
      "type": "object",
      "properties": {
        "target": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Server-defined resource path for the target of the operation."
        },
        "createTime": {
          "readOnly": true,
          "description": "Output only. The time the operation was created.",
          "type": "string",
          "format": "google-datetime"
        },
        "statusMessage": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Human-readable status of the operation, if any."
        },
        "requestedCancellation": {
          "type": "boolean",
          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
          "readOnly": true
        },
        "verb": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Name of the verb executed by the operation."
        },
        "apiVersion": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. API version used to start the operation."
        },
        "endTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time the operation finished running."
        }
      },
      "id": "OperationMetadata",
      "description": "Represents the metadata of the long-running operation."
    },
    "ManagedZone": {
      "type": "object",
      "properties": {
        "updateTime": {
          "description": "Output only. Updated time.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the resource."
        },
        "dns": {
          "type": "string",
          "description": "Required. DNS Name of the resource"
        },
        "createTime": {
          "readOnly": true,
          "description": "Output only. Created time.",
          "type": "string",
          "format": "google-datetime"
        },
        "name": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Resource name of the Managed Zone. Format: projects/{project}/locations/global/managedZones/{managed_zone}"
        },
        "targetVpc": {
          "type": "string",
          "description": "Required. The name of the Target Project VPC Network"
        },
        "labels": {
          "type": "object",
          "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",
          "additionalProperties": {
            "type": "string"
          }
        },
        "targetProject": {
          "type": "string",
          "description": "Required. The name of the Target Project"
        }
      },
      "id": "ManagedZone",
      "description": "represents the Connector's Managed Zone resource"
    },
    "EndUserAuthenticationConfigSshPublicKey": {
      "id": "EndUserAuthenticationConfigSshPublicKey",
      "description": "Parameters to support Ssh public key Authentication.",
      "type": "object",
      "properties": {
        "certType": {
          "type": "string",
          "description": "Format of SSH Client cert."
        },
        "sshClientCertPass": {
          "description": "Required. Password (passphrase) for ssh client certificate if it has one.",
          "$ref": "EUASecret"
        },
        "username": {
          "type": "string",
          "description": "The user account used to authenticate."
        },
        "sshClientCert": {
          "description": "Required. SSH Client Cert. It should contain both public and private key.",
          "$ref": "EUASecret"
        }
      }
    },
    "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": {
          "type": "string",
          "description": "Required. Value of Header."
        }
      }
    },
    "MultipleSelectOption": {
      "type": "object",
      "properties": {
        "description": {
          "description": "Optional. Value of the option.",
          "type": "string"
        },
        "preselected": {
          "type": "boolean",
          "description": "Optional. Indicates if the option is preselected."
        },
        "displayName": {
          "type": "string",
          "description": "Required. Display name of the option."
        },
        "key": {
          "type": "string",
          "description": "Required. Key of the option."
        }
      },
      "id": "MultipleSelectOption",
      "description": "MultiplSelecteOption represents the single option for a config variable."
    },
    "NetworkConfig": {
      "id": "NetworkConfig",
      "description": "Regional Network Config.",
      "type": "object",
      "properties": {
        "egressMode": {
          "enum": [
            "NETWORK_EGRESS_MODE_UNSPECIFIED",
            "AUTO_IP",
            "STATIC_IP"
          ],
          "type": "string",
          "enumDescriptions": [
            "Egress mode unspecified.",
            "Network egress through auto assigned IPs.",
            "Network egress through static IPs."
          ],
          "description": "Optional. Egress mode for the network."
        },
        "egressIps": {
          "description": "Output only. Egress IPs",
          "type": "array",
          "items": {
            "type": "string"
          },
          "readOnly": true
        }
      }
    },
    "EventSubscriptionDestination": {
      "id": "EventSubscriptionDestination",
      "description": "Message for EventSubscription Destination to act on receiving an event",
      "type": "object",
      "properties": {
        "serviceAccount": {
          "type": "string",
          "description": "Optional. Service account needed for runtime plane to trigger IP workflow."
        },
        "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"
        },
        "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"
          ]
        }
      }
    },
    "ListLocationsResponse": {
      "type": "object",
      "properties": {
        "locations": {
          "type": "array",
          "items": {
            "$ref": "Location"
          },
          "description": "A list of locations that matches the specified filter in the request."
        },
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        }
      },
      "id": "ListLocationsResponse",
      "description": "The response message for Locations.ListLocations."
    },
    "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"
          }
        }
      }
    },
    "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": {
        "createTime": {
          "readOnly": true,
          "description": "Output only. Created time.",
          "type": "string",
          "format": "google-datetime"
        },
        "baseVersion": {
          "type": "string",
          "description": "Required. Represents the base version of the toolspec for which admin has added overrides."
        },
        "tools": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {
              "description": "Properties of the object.",
              "type": "any"
            }
          },
          "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."
        },
        "updateTime": {
          "description": "Output only. Updated time.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        }
      }
    },
    "JwtClaims": {
      "id": "JwtClaims",
      "description": "JWT claims used for the jwt-bearer authorization grant.",
      "type": "object",
      "properties": {
        "subject": {
          "description": "Optional. Value for the \"sub\" claim.",
          "type": "string"
        },
        "issuer": {
          "description": "Optional. Value for the \"iss\" claim.",
          "type": "string"
        },
        "audience": {
          "type": "string",
          "description": "Optional. Value for the \"aud\" claim."
        }
      }
    },
    "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"
        }
      }
    },
    "EncryptionConfig": {
      "type": "object",
      "properties": {
        "encryptionType": {
          "enum": [
            "ENCRYPTION_TYPE_UNSPECIFIED",
            "GMEK",
            "CMEK"
          ],
          "type": "string",
          "enumDescriptions": [
            "Encryption type unspecified.",
            "Google managed encryption keys",
            "Customer managed encryption keys."
          ],
          "description": "Optional. Encryption type for the region."
        },
        "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"
        }
      },
      "id": "EncryptionConfig",
      "description": "Regional encryption config for CMEK details."
    },
    "MaintenanceSchedule": {
      "id": "MaintenanceSchedule",
      "description": "Maintenance schedule which is exposed to customer and potentially end user, indicating published upcoming future maintenance schedule",
      "type": "object",
      "properties": {
        "rolloutManagementPolicy": {
          "type": "string",
          "description": "The rollout management policy this maintenance schedule is associated with. When doing reschedule update request, the reschedule should be against this given policy."
        },
        "endTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "The scheduled end time for the maintenance."
        },
        "canReschedule": {
          "deprecated": true,
          "type": "boolean",
          "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."
        },
        "startTime": {
          "description": "The scheduled start time for the maintenance.",
          "type": "string",
          "format": "google-datetime"
        },
        "scheduleDeadlineTime": {
          "type": "string",
          "format": "google-datetime",
          "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."
        }
      }
    },
    "ProvisionedResource": {
      "id": "ProvisionedResource",
      "description": "Describes provisioned dataplane resources.",
      "type": "object",
      "properties": {
        "resourceType": {
          "type": "string",
          "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'."
        },
        "resourceUrl": {
          "type": "string",
          "description": "URL identifying the resource, e.g. \"https://www.googleapis.com/compute/v1/projects/...)\"."
        }
      }
    },
    "ListEntityTypesResponse": {
      "id": "ListEntityTypesResponse",
      "description": "Response message for ListEntityTypes API",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "description": "token for next page",
          "type": "string"
        },
        "entityTypes": {
          "type": "array",
          "items": {
            "$ref": "RuntimeEntitySchema"
          },
          "description": "list of entity types"
        }
      }
    },
    "SslConfig": {
      "id": "SslConfig",
      "description": "SSL Configuration of a connection",
      "type": "object",
      "properties": {
        "additionalVariables": {
          "type": "array",
          "items": {
            "$ref": "ConfigVariable"
          },
          "description": "Optional. Additional SSL related field values"
        },
        "trustModel": {
          "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."
          ],
          "description": "Optional. Trust Model of the SSL connection",
          "enum": [
            "PUBLIC",
            "PRIVATE",
            "INSECURE"
          ]
        },
        "clientCertificate": {
          "description": "Optional. Client Certificate",
          "$ref": "Secret"
        },
        "type": {
          "enum": [
            "SSL_TYPE_UNSPECIFIED",
            "TLS",
            "MTLS"
          ],
          "description": "Optional. Controls the ssl type for the given connector version.",
          "type": "string",
          "enumDescriptions": [
            "No SSL configuration required.",
            "TLS Handshake",
            "mutual TLS (MTLS) Handshake"
          ]
        },
        "clientPrivateKeyPass": {
          "$ref": "Secret",
          "description": "Optional. Secret containing the passphrase protecting the Client Private Key"
        },
        "clientCertType": {
          "type": "string",
          "enumDescriptions": [
            "Cert type unspecified.",
            "Privacy Enhanced Mail (PEM) Type"
          ],
          "description": "Optional. Type of Client Cert (PEM/JKS/.. etc.)",
          "enum": [
            "CERT_TYPE_UNSPECIFIED",
            "PEM"
          ]
        },
        "privateServerCertificate": {
          "$ref": "Secret",
          "description": "Optional. Private Server Certificate. Needs to be specified if trust model is `PRIVATE`."
        },
        "clientPrivateKey": {
          "description": "Optional. Client Private Key",
          "$ref": "Secret"
        },
        "serverCertType": {
          "enum": [
            "CERT_TYPE_UNSPECIFIED",
            "PEM"
          ],
          "type": "string",
          "enumDescriptions": [
            "Cert type unspecified.",
            "Privacy Enhanced Mail (PEM) Type"
          ],
          "description": "Optional. Type of Server Cert (PEM/JKS/.. etc.)"
        },
        "useSsl": {
          "type": "boolean",
          "description": "Optional. Bool for enabling SSL"
        }
      }
    },
    "EndUserAuthenticationConfig": {
      "type": "object",
      "properties": {
        "oauth2AuthCodeFlowGoogleManaged": {
          "description": "Oauth2AuthCodeFlowGoogleManaged.",
          "$ref": "EndUserAuthenticationConfigOauth2AuthCodeFlowGoogleManaged"
        },
        "userPassword": {
          "description": "UserPassword.",
          "$ref": "EndUserAuthenticationConfigUserPassword"
        },
        "oauth2AuthCodeFlow": {
          "$ref": "EndUserAuthenticationConfigOauth2AuthCodeFlow",
          "description": "Oauth2AuthCodeFlow."
        },
        "additionalVariables": {
          "type": "array",
          "items": {
            "$ref": "EndUserAuthenticationConfigVariable"
          },
          "description": "Optional. List containing additional auth configs."
        },
        "authKey": {
          "description": "Identifier key for auth config",
          "type": "string"
        },
        "oauth2ClientCredentials": {
          "$ref": "EndUserAuthenticationConfigOauth2ClientCredentials",
          "description": "Oauth2ClientCredentials."
        },
        "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"
          ]
        },
        "sshPublicKey": {
          "description": "SSH Public Key.",
          "$ref": "EndUserAuthenticationConfigSshPublicKey"
        },
        "oauth2JwtBearer": {
          "description": "Oauth2JwtBearer.",
          "$ref": "EndUserAuthenticationConfigOauth2JwtBearer"
        }
      },
      "id": "EndUserAuthenticationConfig",
      "description": "EndUserAuthenticationConfig defines details of a authentication configuration for EUC"
    },
    "EndUserAuthenticationNotifyEndpointDestinationEndPoint": {
      "id": "EndUserAuthenticationNotifyEndpointDestinationEndPoint",
      "description": "Endpoint message includes details of the Destination endpoint.",
      "type": "object",
      "properties": {
        "endpointUri": {
          "type": "string",
          "description": "Required. The URI of the Endpoint."
        },
        "headers": {
          "description": "Optional. List of Header to be added to the Endpoint.",
          "type": "array",
          "items": {
            "$ref": "EndUserAuthenticationNotifyEndpointDestinationEndPointHeader"
          }
        }
      }
    },
    "EnumOption": {
      "type": "object",
      "properties": {
        "id": {
          "description": "Optional. Id of the option.",
          "type": "string"
        },
        "displayName": {
          "description": "Optional. Display name of the option.",
          "type": "string"
        }
      },
      "id": "EnumOption",
      "description": "EnumOption definition"
    },
    "EndUserAuthenticationConfigOauth2JwtBearer": {
      "type": "object",
      "properties": {
        "clientKey": {
          "$ref": "EUASecret",
          "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/*`."
        },
        "jwtClaims": {
          "$ref": "EndUserAuthenticationConfigOauth2JwtBearerJwtClaims",
          "description": "JwtClaims providers fields to generate the token."
        }
      },
      "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."
    },
    "JMS": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Optional. Name of the JMS source. i.e. queueName or topicName"
        },
        "type": {
          "enum": [
            "TYPE_UNSPECIFIED",
            "QUEUE",
            "TOPIC"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default state.",
            "JMS Queue.",
            "JMS Topic."
          ],
          "description": "Optional. Type of the JMS Source. i.e. Queue or Topic"
        }
      },
      "id": "JMS",
      "description": "JMS message denotes the source of the event"
    },
    "SloMetadata": {
      "type": "object",
      "properties": {
        "perSliEligibility": {
          "description": "Optional. Multiple per-instance SLI eligibilities which apply for individual SLIs.",
          "$ref": "PerSliSloEligibility"
        },
        "tier": {
          "type": "string",
          "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."
        },
        "nodes": {
          "type": "array",
          "items": {
            "$ref": "NodeSloMetadata"
          },
          "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."
        }
      },
      "id": "SloMetadata",
      "description": "SloMetadata contains resources required for proper SLO classification of the instance."
    },
    "MaintenanceWindow": {
      "id": "MaintenanceWindow",
      "description": "MaintenanceWindow definition.",
      "type": "object",
      "properties": {
        "dailyCycle": {
          "$ref": "DailyCycle",
          "description": "Daily cycle."
        },
        "weeklyCycle": {
          "$ref": "WeeklyCycle",
          "description": "Weekly cycle."
        }
      }
    },
    "SearchConnectionInstance": {
      "id": "SearchConnectionInstance",
      "description": "SearchConnectionInstance represents an instance of connector with specific fields",
      "type": "object",
      "properties": {
        "entitySchema": {
          "description": "Output only. Schema of a runtime entity.",
          "readOnly": true,
          "$ref": "RuntimeEntitySchema"
        },
        "connection": {
          "description": "Output only. Connection details",
          "readOnly": true,
          "$ref": "Connection"
        },
        "actionSchema": {
          "readOnly": true,
          "$ref": "RuntimeActionSchema",
          "description": "Output only. Schema of a runtime action."
        }
      }
    },
    "StandardEntity": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the standard entity."
        }
      },
      "id": "StandardEntity",
      "description": "Standard entity"
    },
    "EventSubscription": {
      "id": "EventSubscription",
      "description": "represents the Connector's EventSubscription resource",
      "type": "object",
      "properties": {
        "updateTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Updated time."
        },
        "eventTypeId": {
          "type": "string",
          "description": "Optional. Event type id of the event of current EventSubscription."
        },
        "filter": {
          "type": "string",
          "description": "Optional. Filter for the event subscription. Incoming events are filtered based on the filter expression."
        },
        "name": {
          "type": "string",
          "description": "Required. Identifier. Resource name of the EventSubscription. Format: projects/{project}/locations/{location}/connections/{connection}/eventSubscriptions/{event_subscription}"
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Created time."
        },
        "subscriber": {
          "description": "Optional. name of the Subscriber for the current EventSubscription.",
          "type": "string"
        },
        "subscriberLink": {
          "type": "string",
          "description": "Optional. Link for Subscriber of the current EventSubscription."
        },
        "triggerConfigVariables": {
          "description": "Optional. Configuration for configuring the trigger",
          "type": "array",
          "items": {
            "$ref": "ConfigVariable"
          }
        },
        "jms": {
          "description": "Optional. JMS is the source for the event listener.",
          "$ref": "JMS"
        },
        "status": {
          "$ref": "EventSubscriptionStatus",
          "description": "Optional. Status indicates the status of the event subscription resource"
        },
        "destinations": {
          "$ref": "EventSubscriptionDestination",
          "description": "Optional. The destination to hit when we receive an event"
        }
      }
    },
    "Operation": {
      "type": "object",
      "properties": {
        "metadata": {
          "type": "object",
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          }
        },
        "response": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
          "type": "object"
        },
        "done": {
          "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": {
          "$ref": "Status",
          "description": "The error result of the operation in case of failure or cancellation."
        },
        "name": {
          "type": "string",
          "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}`."
        }
      },
      "id": "Operation",
      "description": "This resource represents a long-running operation that is the result of a network API call."
    },
    "AuthProperty": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description of the property."
        },
        "type": {
          "description": "Type of the property.",
          "type": "string"
        }
      },
      "id": "AuthProperty",
      "description": "AuthProperty defines a property of an authentication type."
    },
    "ListenEventRequest": {
      "id": "ListenEventRequest",
      "description": "Expected request for ListenEvent API.",
      "type": "object",
      "properties": {
        "payload": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          },
          "description": "Optional. Request payload.",
          "type": "object"
        }
      }
    },
    "WebhookSubscriptions": {
      "id": "WebhookSubscriptions",
      "description": "WebhookSubscriptions has details of webhook subscriptions.",
      "type": "object",
      "properties": {
        "webhookData": {
          "readOnly": true,
          "description": "Output only. Webhook data.",
          "type": "array",
          "items": {
            "$ref": "WebhookData"
          }
        }
      }
    },
    "ListRuntimeEntitySchemasResponse": {
      "type": "object",
      "properties": {
        "runtimeEntitySchemas": {
          "type": "array",
          "items": {
            "$ref": "RuntimeEntitySchema"
          },
          "description": "Runtime entity schemas."
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        }
      },
      "id": "ListRuntimeEntitySchemasResponse",
      "description": "Response message for ConnectorsService.ListRuntimeEntitySchemas."
    },
    "ResourceRequests": {
      "type": "object",
      "properties": {
        "cpu": {
          "readOnly": true,
          "description": "Output only. CPU request.",
          "type": "string"
        },
        "memory": {
          "type": "string",
          "description": "Output only. Memory request.",
          "readOnly": true
        }
      },
      "id": "ResourceRequests",
      "description": "Resource requests defined for connection pods of a given connector type."
    },
    "BillingConfig": {
      "type": "object",
      "properties": {
        "billingCategory": {
          "enum": [
            "BILLING_CATEGORY_UNSPECIFIED",
            "GCP_AND_TECHNICAL_CONNECTOR",
            "NON_GCP_CONNECTOR"
          ],
          "readOnly": true,
          "description": "Output only. Billing category for the connector.",
          "type": "string",
          "enumDescriptions": [
            "Billing category is not specified.",
            "GCP/Technical connector.",
            "Non-GCP connector."
          ]
        }
      },
      "id": "BillingConfig",
      "description": "Billing config for the connection."
    },
    "NetworkEgressModeOverride": {
      "type": "object",
      "properties": {
        "isJobsOverrideEnabled": {
          "type": "boolean",
          "description": "boolean should be set to true to make sure only async operations enabled connections are migrated to direct vpc egress."
        },
        "networkEgressMode": {
          "type": "string",
          "enumDescriptions": [
            "Network Egress mode is not specified.",
            "Default model VPC Access Connector.",
            "Direct VPC Egress."
          ],
          "description": "Determines the VPC Egress mode for the connector.",
          "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"
        }
      },
      "id": "NetworkEgressModeOverride",
      "description": "NetworkEgressModeOverride provides the network egress mode override for a connector."
    },
    "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"
          }
        }
      }
    },
    "Connection": {
      "id": "Connection",
      "description": "Connection represents an instance of connector.",
      "type": "object",
      "properties": {
        "billingConfig": {
          "readOnly": true,
          "$ref": "BillingConfig",
          "description": "Output only. Billing config for the connection."
        },
        "connectorVersionInfraConfig": {
          "readOnly": true,
          "$ref": "ConnectorVersionInfraConfig",
          "description": "Output only. Infra configs supported by Connector Version."
        },
        "tlsServiceDirectory": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The name of the Service Directory service with TLS."
        },
        "name": {
          "description": "Output only. Resource name of the Connection. Format: projects/{project}/locations/{location}/connections/{connection}",
          "type": "string",
          "readOnly": true
        },
        "euaOauthAuthConfig": {
          "$ref": "AuthConfig",
          "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."
        },
        "isTrustedTester": {
          "readOnly": true,
          "type": "boolean",
          "description": "Output only. Is trusted tester program enabled for the project."
        },
        "sslConfig": {
          "$ref": "SslConfig",
          "description": "Optional. Ssl config of a connection"
        },
        "eventingEnablementType": {
          "enum": [
            "EVENTING_ENABLEMENT_TYPE_UNSPECIFIED",
            "EVENTING_AND_CONNECTION",
            "ONLY_EVENTING"
          ],
          "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."
          ]
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the resource."
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Created time."
        },
        "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"
        },
        "destinationConfigs": {
          "description": "Optional. Configuration of the Connector's destination. Only accepted for Connectors that accepts user defined destination(s).",
          "type": "array",
          "items": {
            "$ref": "DestinationConfig"
          }
        },
        "host": {
          "description": "Output only. The name of the Hostname of the Service Directory service with TLS.",
          "type": "string",
          "readOnly": true
        },
        "authOverrideEnabled": {
          "type": "boolean",
          "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."
        },
        "adminFilters": {
          "description": "Optional. Admin filters for the connection. These are used by Gemini Enterprise.",
          "type": "array",
          "items": {
            "$ref": "AdminFilters"
          }
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Updated time.",
          "readOnly": true
        },
        "suspended": {
          "type": "boolean",
          "description": "Optional. Suspended indicates if a user has suspended a connection or not."
        },
        "eventingRuntimeData": {
          "description": "Output only. Eventing Runtime Data.",
          "readOnly": true,
          "$ref": "EventingRuntimeData"
        },
        "lockConfig": {
          "description": "Optional. Configuration that indicates whether or not the Connection can be edited.",
          "$ref": "LockConfig"
        },
        "status": {
          "readOnly": true,
          "$ref": "ConnectionStatus",
          "description": "Output only. Current status of the connection."
        },
        "connectorVersionLaunchStage": {
          "description": "Output only. Flag to mark the version indicating the launch stage.",
          "type": "string",
          "enumDescriptions": [
            "LAUNCH_STAGE_UNSPECIFIED.",
            "PREVIEW.",
            "GA.",
            "DEPRECATED.",
            "TEST.",
            "PRIVATE_PREVIEW."
          ],
          "enum": [
            "LAUNCH_STAGE_UNSPECIFIED",
            "PREVIEW",
            "GA",
            "DEPRECATED",
            "TEST",
            "PRIVATE_PREVIEW"
          ],
          "readOnly": true
        },
        "configVariables": {
          "description": "Optional. Configuration for configuring the connection with an external system.",
          "type": "array",
          "items": {
            "$ref": "ConfigVariable"
          }
        },
        "subscriptionType": {
          "description": "Output only. This subscription type enum states the subscription type of the project.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified subscription type.",
            "PayG subscription.",
            "Paid Subscription."
          ],
          "enum": [
            "SUBSCRIPTION_TYPE_UNSPECIFIED",
            "PAY_G",
            "PAID"
          ],
          "readOnly": true
        },
        "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"
        },
        "eventingConfig": {
          "$ref": "EventingConfig",
          "description": "Optional. Eventing config of a connection"
        },
        "serviceAccount": {
          "type": "string",
          "description": "Optional. Service account needed for runtime plane to access Google Cloud resources."
        },
        "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\"",
          "type": "string",
          "readOnly": true
        },
        "imageLocation": {
          "type": "string",
          "description": "Output only. GCR location where the runtime image is stored. formatted like: gcr.io/{bucketName}/{imageName}",
          "readOnly": true
        },
        "connectionRevision": {
          "description": "Output only. Connection revision. This field is only updated when the connection is created or updated by User.",
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "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"
        },
        "envoyImageLocation": {
          "readOnly": true,
          "description": "Output only. GCR location where the envoy image is stored. formatted like: gcr.io/{bucketName}/{imageName}",
          "type": "string"
        },
        "logConfig": {
          "description": "Optional. Log configuration for the connection.",
          "$ref": "ConnectorsLogConfig"
        },
        "authConfig": {
          "$ref": "AuthConfig",
          "description": "Optional. Configuration for establishing the connection's authentication with an external system."
        },
        "nodeConfig": {
          "description": "Optional. Node configuration for the connection.",
          "$ref": "NodeConfig"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object",
          "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"
        },
        "trafficShapingConfigs": {
          "description": "Optional. Traffic shaping configuration for the connection.",
          "type": "array",
          "items": {
            "$ref": "TrafficShapingConfig"
          }
        }
      }
    },
    "SupportedRuntimeFeatures": {
      "type": "object",
      "properties": {
        "entityApis": {
          "type": "boolean",
          "description": "Specifies if the connector supports entity apis like 'createEntity'."
        },
        "sqlQuery": {
          "type": "boolean",
          "description": "Specifies if the connector supports 'ExecuteSqlQuery' operation."
        },
        "asyncOperations": {
          "description": "Specifies if the connector supports async long running operations.",
          "type": "boolean"
        },
        "actionApis": {
          "description": "Specifies if the connector supports action apis like 'executeAction'.",
          "type": "boolean"
        }
      },
      "id": "SupportedRuntimeFeatures",
      "description": "Supported runtime features of a connector version."
    },
    "ResourceLimits": {
      "type": "object",
      "properties": {
        "cpu": {
          "readOnly": true,
          "description": "Output only. CPU limit.",
          "type": "string"
        },
        "memory": {
          "type": "string",
          "description": "Output only. Memory limit.",
          "readOnly": true
        }
      },
      "id": "ResourceLimits",
      "description": "Resource limits defined for connection pods of a given connector type."
    },
    "Provider": {
      "type": "object",
      "properties": {
        "labels": {
          "readOnly": true,
          "additionalProperties": {
            "type": "string"
          },
          "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",
          "type": "object"
        },
        "name": {
          "description": "Output only. Resource name of the Provider. Format: projects/{project}/locations/{location}/providers/{provider} Only global location is supported for Provider resource.",
          "type": "string",
          "readOnly": true
        },
        "externalUri": {
          "description": "Output only. Link to external page.",
          "type": "string",
          "readOnly": true
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Created time.",
          "readOnly": true
        },
        "updateTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Updated time."
        },
        "documentationUri": {
          "readOnly": true,
          "description": "Output only. Link to documentation page.",
          "type": "string"
        },
        "launchStage": {
          "description": "Output only. Flag to mark the version indicating the launch stage.",
          "type": "string",
          "enumDescriptions": [
            "LAUNCH_STAGE_UNSPECIFIED.",
            "PREVIEW.",
            "GA.",
            "DEPRECATED.",
            "TEST.",
            "PRIVATE_PREVIEW."
          ],
          "enum": [
            "LAUNCH_STAGE_UNSPECIFIED",
            "PREVIEW",
            "GA",
            "DEPRECATED",
            "TEST",
            "PRIVATE_PREVIEW"
          ],
          "readOnly": true
        },
        "description": {
          "readOnly": true,
          "description": "Output only. Description of the resource.",
          "type": "string"
        },
        "webAssetsLocation": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Cloud storage location of icons etc consumed by UI."
        },
        "displayName": {
          "description": "Output only. Display name.",
          "type": "string",
          "readOnly": true
        }
      },
      "id": "Provider",
      "description": "Provider indicates the owner who provides the connectors."
    },
    "WithdrawCustomConnectorVersionRequest": {
      "type": "object",
      "properties": {},
      "id": "WithdrawCustomConnectorVersionRequest",
      "description": "Request message for ConnectorsService.WithdrawCustomConnectorVersion"
    },
    "Empty": {
      "type": "object",
      "properties": {},
      "id": "Empty",
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }"
    },
    "EndUserAuthenticationConfigUserPassword": {
      "type": "object",
      "properties": {
        "username": {
          "description": "Username.",
          "type": "string"
        },
        "password": {
          "description": "Required. string value or secret version reference containing the password.",
          "$ref": "EUASecret"
        }
      },
      "id": "EndUserAuthenticationConfigUserPassword",
      "description": "Parameters to support Username and Password Authentication."
    },
    "JsonAuthSchema": {
      "type": "object",
      "properties": {
        "$schema": {
          "type": "string",
          "description": "JSON schema of the AuthSchemas."
        },
        "oneOf": {
          "description": "List of AuthObjects.",
          "type": "array",
          "items": {
            "$ref": "AuthObject"
          }
        }
      },
      "id": "JsonAuthSchema",
      "description": "JsonAuthSchema defines the JSON schema of all authentication types."
    },
    "RepairEventingRequest": {
      "id": "RepairEventingRequest",
      "description": "Request message for ConnectorsService.RepairEventing",
      "type": "object",
      "properties": {}
    },
    "EnrichmentConfig": {
      "id": "EnrichmentConfig",
      "description": "Data enrichment configuration.",
      "type": "object",
      "properties": {
        "appendAcl": {
          "type": "boolean",
          "description": "Optional. Append ACL to the event."
        }
      }
    },
    "ListConnectorVersionsResponse": {
      "type": "object",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "Next page token."
        },
        "unreachable": {
          "description": "Locations that could not be reached.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "connectorVersions": {
          "description": "A list of connector versions.",
          "type": "array",
          "items": {
            "$ref": "ConnectorVersion"
          }
        }
      },
      "id": "ListConnectorVersionsResponse",
      "description": "Response message for Connectors.ListConnectorVersions."
    },
    "ListEventSubscriptionsResponse": {
      "type": "object",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "Next page token."
        },
        "unreachable": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Locations that could not be reached."
        },
        "eventSubscriptions": {
          "type": "array",
          "items": {
            "$ref": "EventSubscription"
          },
          "description": "Subscriptions."
        }
      },
      "id": "ListEventSubscriptionsResponse",
      "description": "Response message for ConnectorsService.ListEventSubscriptions"
    },
    "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": {
          "type": "string",
          "description": "Optional. Entity type name for which the tool was generated."
        },
        "operation": {
          "enum": [
            "OPERATION_UNSPECIFIED",
            "LIST",
            "GET",
            "CREATE",
            "UPDATE",
            "DELETE"
          ],
          "type": "string",
          "enumDescriptions": [
            "Operation unspecified.",
            "LIST entities.",
            "GET entity.",
            "CREATE entity.",
            "UPDATE entity.",
            "DELETE entity."
          ],
          "description": "Optional. Operation for which the tool was generated."
        }
      }
    },
    "PublishStatus": {
      "type": "object",
      "properties": {
        "publishedAs": {
          "description": "Output only. Partner connector name. Will be set on the custom connector. Format: providers/partner/connectors//versions/",
          "type": "string",
          "readOnly": true
        },
        "publishTime": {
          "description": "Output only. Publish time.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "publishState": {
          "readOnly": true,
          "enum": [
            "PUBLISH_STATE_UNSPECIFIED",
            "PUBLISHED",
            "PUBLISH_IN_PROGRESS",
            "UNPUBLISHED"
          ],
          "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"
          ],
          "description": "Output only. Publish state of the custom connector."
        },
        "publishedSource": {
          "type": "string",
          "description": "Output only. Custom connector name. Will be set on the partner connector. Format: providers/customconnectors/connectors//versions/",
          "readOnly": true
        }
      },
      "id": "PublishStatus",
      "description": "Publish status of a custom connector."
    },
    "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"
          }
        }
      }
    },
    "ListenEventResponse": {
      "type": "object",
      "properties": {},
      "id": "ListenEventResponse",
      "description": "Expected response for ListenEvent API."
    },
    "Connector": {
      "type": "object",
      "properties": {
        "documentationUri": {
          "readOnly": true,
          "description": "Output only. Link to documentation page.",
          "type": "string"
        },
        "launchStage": {
          "readOnly": true,
          "enum": [
            "LAUNCH_STAGE_UNSPECIFIED",
            "PREVIEW",
            "GA",
            "DEPRECATED",
            "TEST",
            "PRIVATE_PREVIEW"
          ],
          "type": "string",
          "enumDescriptions": [
            "LAUNCH_STAGE_UNSPECIFIED.",
            "PREVIEW.",
            "GA.",
            "DEPRECATED.",
            "TEST.",
            "PRIVATE_PREVIEW."
          ],
          "description": "Output only. Flag to mark the version indicating the launch stage."
        },
        "eventingDetails": {
          "description": "Output only. Eventing details. Will be null if eventing is not supported.",
          "readOnly": true,
          "$ref": "EventingDetails"
        },
        "category": {
          "readOnly": true,
          "description": "Output only. Category of the connector.",
          "type": "string"
        },
        "name": {
          "readOnly": true,
          "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.",
          "type": "string"
        },
        "externalUri": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Link to external page."
        },
        "webAssetsLocation": {
          "type": "string",
          "description": "Output only. Cloud storage location of icons etc consumed by UI.",
          "readOnly": true
        },
        "tags": {
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Output only. Tags of the connector."
        },
        "updateTime": {
          "readOnly": true,
          "description": "Output only. Updated time.",
          "type": "string",
          "format": "google-datetime"
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Created time."
        },
        "labels": {
          "readOnly": true,
          "additionalProperties": {
            "type": "string"
          },
          "type": "object",
          "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"
        },
        "displayName": {
          "description": "Output only. Display name.",
          "type": "string",
          "readOnly": true
        },
        "description": {
          "readOnly": true,
          "description": "Output only. Description of the resource.",
          "type": "string"
        },
        "marketplaceConnectorDetails": {
          "readOnly": true,
          "$ref": "MarketplaceConnectorDetails",
          "description": "Output only. Marketplace connector details. Will be null if the connector is not marketplace connector."
        },
        "connectorType": {
          "type": "string",
          "enumDescriptions": [
            "Default value.",
            "Google connectors.",
            "Technical connectors.",
            "Third Party connectors."
          ],
          "description": "Output only. The type of the connector.",
          "readOnly": true,
          "enum": [
            "CONNECTOR_TYPE_UNSPECIFIED",
            "CONNECTOR_TYPE_GOOGLE",
            "CONNECTOR_TYPE_TECHNICAL",
            "CONNECTOR_TYPE_THIRD_PARTY"
          ]
        }
      },
      "id": "Connector",
      "description": "Connectors indicates a specific connector type, e.x. Salesforce, SAP etc."
    },
    "FetchAuthSchemaResponse": {
      "id": "FetchAuthSchemaResponse",
      "description": "Response message for Connectors.GetAuthSchema.",
      "type": "object",
      "properties": {
        "authSchemas": {
          "description": "List of AuthSchemas.",
          "type": "array",
          "items": {
            "$ref": "AuthSchema"
          }
        },
        "jsonSchema": {
          "$ref": "JsonAuthSchema",
          "description": "JSON schema of the AuthSchemas. This is only populated if the view is JSON_SCHEMA. The schema is in draft-07 format."
        }
      }
    },
    "AuthField": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description of the field."
        },
        "dataType": {
          "type": "string",
          "description": "Data type of the field."
        },
        "key": {
          "description": "Key of the field.",
          "type": "string"
        }
      },
      "id": "AuthField",
      "description": "AuthField defines a field in an authentication type."
    },
    "MaintenanceSettings": {
      "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"
        }
      },
      "id": "MaintenanceSettings",
      "description": "Maintenance settings associated with instance. Allows service producers and end users to assign settings that controls maintenance on this instance."
    },
    "ModifyConnectionToolspecOverrideRequest": {
      "type": "object",
      "properties": {
        "toolspecOverride": {
          "description": "Required. Toolspec overrides to be modified.",
          "$ref": "ToolspecOverride"
        }
      },
      "id": "ModifyConnectionToolspecOverrideRequest",
      "description": "Request message for ModifyConnectionToolspecOverride API."
    },
    "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"
        }
      }
    },
    "ConnectionSchemaMetadata": {
      "type": "object",
      "properties": {
        "entities": {
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Output only. List of entity names."
        },
        "name": {
          "type": "string",
          "description": "Output only. Resource name. Format: projects/{project}/locations/{location}/connections/{connection}/connectionSchemaMetadata",
          "readOnly": true
        },
        "actions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Output only. List of actions.",
          "readOnly": true
        },
        "state": {
          "description": "Output only. The current state of runtime schema.",
          "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"
          ],
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Timestamp when the connection runtime schema was updated.",
          "readOnly": true
        },
        "refreshTime": {
          "readOnly": true,
          "description": "Output only. Timestamp when the connection runtime schema refresh was triggered.",
          "type": "string",
          "format": "google-datetime"
        },
        "errorMessage": {
          "description": "Error message for users.",
          "type": "string"
        }
      },
      "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."
    },
    "ListCustomConnectorsResponse": {
      "type": "object",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "Next page token."
        },
        "unreachable": {
          "description": "Locations that could not be reached.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "customConnectors": {
          "type": "array",
          "items": {
            "$ref": "CustomConnector"
          },
          "description": "A list of customConnectors."
        }
      },
      "id": "ListCustomConnectorsResponse",
      "description": "Response message for Connectors.ListCustomConnectors."
    },
    "DeprecateCustomConnectorVersionRequest": {
      "id": "DeprecateCustomConnectorVersionRequest",
      "description": "Request message for ConnectorsService.DeprecateCustomConnectorVersion",
      "type": "object",
      "properties": {}
    },
    "EventSubscriptionStatus": {
      "type": "object",
      "properties": {
        "state": {
          "description": "Output only. State of Event Subscription resource.",
          "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"
          ],
          "readOnly": true
        },
        "description": {
          "description": "Output only. Description of the state.",
          "type": "string",
          "readOnly": true
        }
      },
      "id": "EventSubscriptionStatus",
      "description": "EventSubscription Status denotes the status of the EventSubscription resource."
    },
    "AuthObject": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of the object."
        },
        "isDefault": {
          "type": "boolean",
          "description": "Whether the object is the default one."
        },
        "authType": {
          "type": "string",
          "description": "Auth type of the object."
        },
        "properties": {
          "additionalProperties": {
            "$ref": "AuthProperty"
          },
          "description": "Properties of the object.",
          "type": "object"
        },
        "description": {
          "description": "Description of the object.",
          "type": "string"
        },
        "additionalProperties": {
          "description": "Whether the object has additional properties.",
          "type": "boolean"
        },
        "authKey": {
          "type": "string",
          "description": "Auth key of the object."
        }
      },
      "id": "AuthObject",
      "description": "AuthObject defines a JSON schema of an authentication type."
    },
    "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": {
        "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"
          }
        },
        "maintenanceSettings": {
          "description": "Optional. The MaintenanceSettings associated with instance.",
          "$ref": "MaintenanceSettings"
        },
        "state": {
          "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."
          ],
          "description": "Output only. Current lifecycle state of the resource (e.g. if it's being created or ready to use).",
          "readOnly": true,
          "enum": [
            "STATE_UNSPECIFIED",
            "CREATING",
            "READY",
            "UPDATING",
            "REPAIRING",
            "DELETING",
            "ERROR"
          ]
        },
        "consumerDefinedName": {
          "type": "string",
          "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)."
        },
        "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"
        },
        "provisionedResources": {
          "readOnly": true,
          "description": "Output only. The list of data plane resources provisioned for this instance, e.g. compute VMs. See go/get-instance-metadata.",
          "type": "array",
          "items": {
            "$ref": "ProvisionedResource"
          }
        },
        "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"
        },
        "sloMetadata": {
          "readOnly": true,
          "$ref": "SloMetadata",
          "description": "Output only. SLO metadata for instance classification in the Standardized dataplane SLO platform. See go/cloud-ssa-standard-slo for feature description."
        },
        "softwareVersions": {
          "type": "object",
          "description": "Software versions that are used to deploy this instance. This can be mutated by rollout services.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "tenantProjectId": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. ID of the associated GCP tenant project. See go/get-instance-metadata."
        },
        "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"
          }
        },
        "updateTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Timestamp when the resource was last modified."
        },
        "maintenanceSchedules": {
          "description": "The MaintenanceSchedule contains the scheduling information of published maintenance schedule with same key as software_versions.",
          "type": "object",
          "additionalProperties": {
            "$ref": "MaintenanceSchedule"
          }
        },
        "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"
        },
        "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"
          }
        },
        "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"
        },
        "createTime": {
          "readOnly": true,
          "description": "Output only. Timestamp when the resource was created.",
          "type": "string",
          "format": "google-datetime"
        },
        "producerMetadata": {
          "type": "object",
          "description": "Output only. Custom string attributes used primarily to expose producer-specific information in monitoring dashboards. See go/get-instance-metadata.",
          "readOnly": true,
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "CustomConnectorVersion": {
      "type": "object",
      "properties": {
        "asyncOperationsSupport": {
          "description": "Optional. Indicates if Async Operations/Connector Job is supported. This is only available for SDK based custom connectors.",
          "type": "boolean"
        },
        "authConfigTemplates": {
          "type": "array",
          "items": {
            "$ref": "AuthConfigTemplate"
          },
          "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."
        },
        "publishStatus": {
          "description": "Output only. Publish status of a custom connector.",
          "readOnly": true,
          "$ref": "PublishStatus"
        },
        "authConfig": {
          "$ref": "AuthConfig",
          "description": "Optional. Authentication config for accessing connector service (facade). This is used only when enable_backend_destination_config is true."
        },
        "backendVariableTemplates": {
          "type": "array",
          "items": {
            "$ref": "ConfigVariableTemplate"
          },
          "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."
        },
        "createTime": {
          "readOnly": true,
          "description": "Output only. Created time.",
          "type": "string",
          "format": "google-datetime"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object",
          "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"
        },
        "destinationConfigs": {
          "type": "array",
          "items": {
            "$ref": "DestinationConfig"
          },
          "description": "Optional. Destination config(s) for accessing connector service (facade). This is used only when enable_backend_destination_config is true."
        },
        "specServerUrls": {
          "description": "Output only. Server URLs parsed from the Open API spec. This is only used for Open API based custom connectors.",
          "type": "array",
          "items": {
            "type": "string"
          },
          "readOnly": true
        },
        "updateTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Updated time."
        },
        "authOverrideSupport": {
          "description": "Optional. Auth override support.",
          "type": "boolean"
        },
        "name": {
          "readOnly": true,
          "description": "Output only. Identifier. Resource name of the Version. Format: projects/{project}/locations/{location}/customConnectors/{custom_connector}/customConnectorVersions/{custom_connector_version}",
          "type": "string"
        },
        "enableBackendDestinationConfig": {
          "type": "boolean",
          "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."
        },
        "partnerMetadata": {
          "$ref": "PartnerMetadata",
          "description": "Optional. Partner metadata details. This should be populated only when publishing the custom connector to partner connector."
        },
        "specLocation": {
          "type": "string",
          "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:///`."
        },
        "serviceAccount": {
          "type": "string",
          "description": "Optional. Service account used by runtime plane to access auth config secrets."
        },
        "state": {
          "readOnly": true,
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "DEPRECATED"
          ],
          "type": "string",
          "enumDescriptions": [
            "State Unspecified.",
            "Active state. By default we set the state to Active.",
            "Deprecated state."
          ],
          "description": "Output only. State of the custom connector version."
        }
      },
      "id": "CustomConnectorVersion",
      "description": "CustomConnectorVersion indicates a specific version of a connector."
    },
    "WebhookData": {
      "id": "WebhookData",
      "description": "WebhookData has details of webhook configuration.",
      "type": "object",
      "properties": {
        "additionalVariables": {
          "readOnly": true,
          "description": "Output only. Additional webhook related field values.",
          "type": "array",
          "items": {
            "$ref": "ConfigVariable"
          }
        },
        "eventSubscriptions": {
          "readOnly": true,
          "description": "Output only. List of event subscriptions which are using the webhook.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "nextRefreshTime": {
          "description": "Output only. Next webhook refresh time. Will be null if refresh is not supported.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "eventTypes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Output only. List of event types for the webhook. This is the event types subscribed by the current webhook.",
          "readOnly": true
        },
        "name": {
          "description": "Output only. Name of the Webhook",
          "type": "string",
          "readOnly": true
        },
        "createTime": {
          "description": "Output only. Timestamp when the webhook was created.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "id": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. ID to uniquely identify webhook."
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Timestamp when the webhook was last updated.",
          "readOnly": true
        }
      }
    },
    "WeeklyCycle": {
      "id": "WeeklyCycle",
      "description": "Time window specified for weekly operations.",
      "type": "object",
      "properties": {
        "schedule": {
          "type": "array",
          "items": {
            "$ref": "Schedule"
          },
          "description": "User can specify multiple windows in a week. Minimum of 1 window."
        }
      }
    },
    "ExtractionRule": {
      "id": "ExtractionRule",
      "description": "Extraction Rule.",
      "type": "object",
      "properties": {
        "source": {
          "$ref": "Source",
          "description": "Source on which the rule is applied."
        },
        "formatString": {
          "description": "Format string used to format the extracted backend details. If empty, extracted backend details will be returned as it is.",
          "type": "string"
        },
        "extractionRegex": {
          "type": "string",
          "description": "Regex used to extract backend details from source. If empty, whole source value will be used."
        }
      }
    },
    "ModifyConnectionToolspecOverrideResponse": {
      "id": "ModifyConnectionToolspecOverrideResponse",
      "description": "Response message for ModifyConnectionToolspecOverride API.",
      "type": "object",
      "properties": {
        "toolspecOverrides": {
          "$ref": "ToolspecOverride",
          "description": "Toolspec overrides for the connection."
        }
      }
    },
    "CancelOperationRequest": {
      "id": "CancelOperationRequest",
      "description": "The request message for Operations.CancelOperation.",
      "type": "object",
      "properties": {}
    },
    "ListOperationsResponse": {
      "type": "object",
      "properties": {
        "operations": {
          "type": "array",
          "items": {
            "$ref": "Operation"
          },
          "description": "A list of operations that matches the specified filter in the request."
        },
        "nextPageToken": {
          "type": "string",
          "description": "The standard List next-page token."
        },
        "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"
          }
        }
      },
      "id": "ListOperationsResponse",
      "description": "The response message for Operations.ListOperations."
    },
    "ConnectorVersionInfraConfig": {
      "type": "object",
      "properties": {
        "deploymentModel": {
          "enum": [
            "DEPLOYMENT_MODEL_UNSPECIFIED",
            "GKE_MST",
            "CLOUD_RUN_MST"
          ],
          "readOnly": true,
          "description": "Output only. Indicates whether connector is deployed on GKE/CloudRun",
          "type": "string",
          "enumDescriptions": [
            "Deployment model is not specified.",
            "Default model gke mst.",
            "Cloud run mst."
          ]
        },
        "tlsMigrationState": {
          "enum": [
            "TLS_MIGRATION_STATE_UNSPECIFIED",
            "TLS_MIGRATION_NOT_STARTED",
            "TLS_MIGRATION_COMPLETED"
          ],
          "readOnly": true,
          "description": "Output only. Status of the TLS migration.",
          "type": "string",
          "enumDescriptions": [
            "TLS migration state is not specified.",
            "TLS migration is in progress.",
            "TLS migration is completed."
          ]
        },
        "hpaConfig": {
          "description": "Output only. HPA autoscaling config.",
          "readOnly": true,
          "$ref": "HPAConfig"
        },
        "resourceLimits": {
          "readOnly": true,
          "$ref": "ResourceLimits",
          "description": "Output only. System resource limits."
        },
        "deploymentModelMigrationState": {
          "enum": [
            "DEPLOYMENT_MODEL_MIGRATION_STATE_UNSPECIFIED",
            "IN_PROGRESS",
            "COMPLETED",
            "ROLLEDBACK",
            "ROLLBACK_IN_PROGRESS"
          ],
          "readOnly": true,
          "description": "Output only. Status of the deployment model migration.",
          "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."
          ]
        },
        "internalclientRatelimitThreshold": {
          "readOnly": true,
          "type": "string",
          "format": "int64",
          "description": "Output only. Max QPS supported for internal requests originating from Connd."
        },
        "connectionRatelimitWindowSeconds": {
          "readOnly": true,
          "type": "string",
          "format": "int64",
          "description": "Output only. The window used for ratelimiting runtime requests to connections."
        },
        "maxInstanceRequestConcurrency": {
          "type": "integer",
          "format": "int32",
          "description": "Output only. Max instance request concurrency.",
          "readOnly": true
        },
        "resourceRequests": {
          "readOnly": true,
          "$ref": "ResourceRequests",
          "description": "Output only. System resource requests."
        },
        "ratelimitThreshold": {
          "type": "string",
          "format": "int64",
          "description": "Output only. Max QPS supported by the connector version before throttling of requests.",
          "readOnly": true
        },
        "sharedDeployment": {
          "readOnly": true,
          "description": "Output only. The name of shared connector deployment.",
          "type": "string"
        }
      },
      "id": "ConnectorVersionInfraConfig",
      "description": "This configuration provides infra configs like rate limit threshold which need to be configurable for every connector version"
    },
    "DeadLetterConfig": {
      "id": "DeadLetterConfig",
      "description": "Dead Letter configuration details provided by the user.",
      "type": "object",
      "properties": {
        "topic": {
          "type": "string",
          "description": "Optional. Topic to push events which couldn't be processed."
        },
        "projectId": {
          "description": "Optional. Project which has the topic given.",
          "type": "string"
        }
      }
    },
    "AuditConfig": {
      "type": "object",
      "properties": {
        "service": {
          "type": "string",
          "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services."
        },
        "auditLogConfigs": {
          "description": "The configuration for logging of each type of permission.",
          "type": "array",
          "items": {
            "$ref": "AuditLogConfig"
          }
        }
      },
      "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."
    },
    "EventType": {
      "id": "EventType",
      "description": "EventType includes fields.",
      "type": "object",
      "properties": {
        "enrichedEventPayloadSchema": {
          "readOnly": true,
          "description": "Output only. Schema of the event payload after enriched. Will be null if read before send is not supported.",
          "type": "string"
        },
        "createTime": {
          "readOnly": true,
          "description": "Output only. Created time.",
          "type": "string",
          "format": "google-datetime"
        },
        "idPath": {
          "readOnly": true,
          "description": "Output only. Id path denotes the path of id in webhook payload.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "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
        },
        "eventPayloadSchema": {
          "description": "Output only. Schema of webhook event payload.",
          "type": "string",
          "readOnly": true
        },
        "eventTypeId": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Event type id. Example: `ticket.created`."
        },
        "updateTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Updated time."
        },
        "entityType": {
          "type": "string",
          "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
        }
      }
    },
    "ValidateCustomConnectorSpecResponse": {
      "type": "object",
      "properties": {
        "errorMessage": {
          "description": "Error message. The spec is valid if the error message is empty.",
          "type": "string"
        }
      },
      "id": "ValidateCustomConnectorSpecResponse",
      "description": "Response message for ConnectorsService.ValidateCustomConnectorSpec"
    },
    "ResultMetadata": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "A brief description of the field."
        },
        "jsonSchema": {
          "description": "JsonSchema representation of this action's result",
          "$ref": "JsonSchema"
        },
        "dataType": {
          "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"
          ],
          "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."
          ],
          "description": "The data type of the field."
        },
        "nullable": {
          "type": "boolean",
          "description": "Specifies whether a null value is allowed."
        },
        "field": {
          "description": "Name of the result field.",
          "type": "string"
        },
        "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"
        }
      },
      "id": "ResultMetadata",
      "description": "Metadata of result field."
    },
    "AuthConfig": {
      "type": "object",
      "properties": {
        "oauth2ClientCredentials": {
          "$ref": "Oauth2ClientCredentials",
          "description": "Oauth2ClientCredentials."
        },
        "additionalVariables": {
          "description": "Optional. List containing additional auth configs.",
          "type": "array",
          "items": {
            "$ref": "ConfigVariable"
          }
        },
        "authKey": {
          "type": "string",
          "description": "Optional. Identifier key for auth config"
        },
        "oauth2JwtBearer": {
          "description": "Oauth2JwtBearer.",
          "$ref": "Oauth2JwtBearer"
        },
        "authType": {
          "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"
          ],
          "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"
          ]
        },
        "sshPublicKey": {
          "$ref": "SshPublicKey",
          "description": "SSH Public Key."
        },
        "oauth2AuthCodeFlowGoogleManaged": {
          "description": "Oauth2AuthCodeFlowGoogleManaged.",
          "$ref": "Oauth2AuthCodeFlowGoogleManaged"
        },
        "userPassword": {
          "description": "UserPassword.",
          "$ref": "UserPassword"
        },
        "oauth2AuthCodeFlow": {
          "description": "Oauth2AuthCodeFlow.",
          "$ref": "Oauth2AuthCodeFlow"
        }
      },
      "id": "AuthConfig",
      "description": "AuthConfig defines details of a authentication type."
    },
    "SslConfigTemplate": {
      "type": "object",
      "properties": {
        "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"
            ]
          }
        },
        "isTlsMandatory": {
          "type": "boolean",
          "description": "Boolean for determining if the connector version mandates TLS."
        },
        "additionalVariables": {
          "description": "Any additional fields that need to be rendered",
          "type": "array",
          "items": {
            "$ref": "ConfigVariableTemplate"
          }
        },
        "sslType": {
          "type": "string",
          "enumDescriptions": [
            "No SSL configuration required.",
            "TLS Handshake",
            "mutual TLS (MTLS) Handshake"
          ],
          "description": "Controls the ssl type for the given connector version",
          "enum": [
            "SSL_TYPE_UNSPECIFIED",
            "TLS",
            "MTLS"
          ]
        },
        "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"
            ]
          }
        }
      },
      "id": "SslConfigTemplate",
      "description": "Ssl config details of a connector version"
    },
    "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": {
          "$ref": "EUASecret",
          "description": "Required. string value or secret version containing the client secret."
        }
      }
    },
    "ConnectionStatus": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description."
        },
        "status": {
          "type": "string",
          "description": "Status provides detailed information for the state."
        },
        "state": {
          "enum": [
            "STATE_UNSPECIFIED",
            "CREATING",
            "ACTIVE",
            "INACTIVE",
            "DELETING",
            "UPDATING",
            "ERROR",
            "AUTHORIZATION_REQUIRED"
          ],
          "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."
          ],
          "description": "State."
        }
      },
      "id": "ConnectionStatus",
      "description": "ConnectionStatus indicates the state of the connection."
    },
    "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": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Locations that could not be reached."
        }
      }
    },
    "JsonSchema": {
      "type": "object",
      "properties": {
        "not": {
          "$ref": "JsonSchema",
          "description": "Schema that must not be valid."
        },
        "description": {
          "type": "string",
          "description": "A description of this schema."
        },
        "dependencies": {
          "type": "object",
          "description": "Dependencies for the schema.",
          "additionalProperties": {
            "type": "any"
          }
        },
        "format": {
          "description": "Format of the value as per https://json-schema.org/understanding-json-schema/reference/string.html#format",
          "type": "string"
        },
        "readOnly": {
          "type": "boolean",
          "description": "Whether the value is read-only."
        },
        "type": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "JSON Schema Validation: A Vocabulary for Structural Validation of JSON"
        },
        "uniqueItems": {
          "description": "Whether the items in the array field are unique.",
          "type": "boolean"
        },
        "examples": {
          "description": "Examples of the value.",
          "type": "array",
          "items": {
            "type": "any"
          }
        },
        "else": {
          "description": "Schema that must be valid if the \"if\" schema is invalid.",
          "$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"
          }
        },
        "items": {
          "$ref": "JsonSchema",
          "description": "Schema that applies to array values, applicable only if this is of type `array`."
        },
        "properties": {
          "additionalProperties": {
            "$ref": "JsonSchema"
          },
          "type": "object",
          "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"
        },
        "minItems": {
          "description": "Minimum number of items in the array field.",
          "type": "integer",
          "format": "int32"
        },
        "maxItems": {
          "type": "integer",
          "format": "int32",
          "description": "Maximum number of items in the array field."
        },
        "anyOf": {
          "type": "array",
          "items": {
            "$ref": "JsonSchema"
          },
          "description": "Schema that must be valid against at least one of the sub-schemas."
        },
        "default": {
          "type": "any",
          "description": "The default value of the field or object described by this schema."
        },
        "allOf": {
          "description": "Schema that must be valid against all of the sub-schemas.",
          "type": "array",
          "items": {
            "$ref": "JsonSchema"
          }
        },
        "contains": {
          "$ref": "JsonSchema",
          "description": "Schema that applies to at least one item in an array."
        },
        "contentEncoding": {
          "type": "string",
          "description": "Encoding of the content."
        },
        "then": {
          "$ref": "JsonSchema",
          "description": "Schema that must be valid if the \"if\" schema is valid."
        },
        "jdbcType": {
          "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"
          ],
          "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."
          ],
          "description": "JDBC datatype of the field."
        },
        "additionalItems": {
          "description": "Schema for additional items.",
          "$ref": "JsonSchema"
        },
        "$defs": {
          "description": "Definitions for the schema.",
          "type": "object",
          "additionalProperties": {
            "$ref": "JsonSchema"
          }
        },
        "pattern": {
          "type": "string",
          "description": "Regex pattern of the string field. This is a string value that describes the regular expression that the string value should match."
        },
        "maxProperties": {
          "type": "integer",
          "format": "int32",
          "description": "Maximum number of properties."
        },
        "const": {
          "type": "any",
          "description": "Const value that the data must match."
        },
        "minProperties": {
          "description": "Minimum number of properties.",
          "type": "integer",
          "format": "int32"
        },
        "required": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Whether this property is required."
        },
        "exclusiveMinimum": {
          "description": "Whether the minimum number value is exclusive.",
          "type": "any"
        },
        "definitions": {
          "additionalProperties": {
            "$ref": "JsonSchema"
          },
          "type": "object",
          "description": "Definitions for the schema."
        },
        "patternProperties": {
          "type": "object",
          "description": "Pattern properties for the schema.",
          "additionalProperties": {
            "$ref": "JsonSchema"
          }
        },
        "propertyNames": {
          "description": "Schema for property names.",
          "$ref": "JsonSchema"
        },
        "title": {
          "type": "string",
          "description": "A title of the schema."
        },
        "$id": {
          "description": "The URI defining the core schema meta-schema.",
          "type": "string"
        },
        "$ref": {
          "type": "string",
          "description": "A reference to another schema."
        },
        "$comment": {
          "description": "A comment on the schema.",
          "type": "string"
        },
        "writeOnly": {
          "type": "boolean",
          "description": "Whether the value is write-only."
        },
        "exclusiveMaximum": {
          "type": "any",
          "description": "Whether the maximum number value is exclusive."
        },
        "additionalProperties": {
          "$ref": "JsonSchema",
          "description": "Schema for additional properties."
        },
        "minimum": {
          "description": "Minimum value of the number field.",
          "type": "any"
        },
        "if": {
          "$ref": "JsonSchema",
          "description": "Schema that must be valid if the \"if\" schema is valid."
        },
        "minLength": {
          "description": "Minimum length of the string field.",
          "type": "integer",
          "format": "int32"
        },
        "oneOf": {
          "description": "Schema that must be valid against at least one of the sub-schemas.",
          "type": "array",
          "items": {
            "$ref": "JsonSchema"
          }
        },
        "additionalDetails": {
          "type": "object",
          "description": "Additional details apart from standard json schema fields, this gives flexibility to store metadata about the schema",
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          }
        },
        "$schema": {
          "type": "string",
          "description": "The URI defining the schema."
        },
        "maximum": {
          "type": "any",
          "description": "Maximum value of the number field."
        },
        "contentMediaType": {
          "type": "string",
          "description": "Media type of the content."
        },
        "multipleOf": {
          "description": "Number must be a multiple of this value.",
          "type": "number",
          "format": "double"
        },
        "maxLength": {
          "type": "integer",
          "format": "int32",
          "description": "Maximum length of the string field."
        }
      },
      "id": "JsonSchema",
      "description": "JsonSchema representation of schema metadata"
    },
    "ListActionsResponse": {
      "type": "object",
      "properties": {
        "actions": {
          "description": "list of actions",
          "type": "array",
          "items": {
            "$ref": "RuntimeActionSchema"
          }
        },
        "nextPageToken": {
          "description": "token for next page",
          "type": "string"
        }
      },
      "id": "ListActionsResponse",
      "description": "Response message for ListActions API"
    },
    "Destination": {
      "type": "object",
      "properties": {
        "host": {
          "type": "string",
          "description": "For publicly routable host."
        },
        "port": {
          "description": "Optional. The port is the target port number that is accepted by the destination.",
          "type": "integer",
          "format": "int32"
        },
        "serviceAttachment": {
          "deprecated": true,
          "type": "string",
          "description": "PSC service attachments. Format: projects/*/regions/*/serviceAttachments/*"
        }
      },
      "id": "Destination"
    },
    "NodeConfig": {
      "type": "object",
      "properties": {
        "maxNodeCount": {
          "type": "integer",
          "format": "int32",
          "description": "Optional. Maximum number of nodes in the runtime nodes."
        },
        "minNodeCount": {
          "type": "integer",
          "format": "int32",
          "description": "Optional. Minimum number of nodes in the runtime nodes."
        }
      },
      "id": "NodeConfig",
      "description": "Node configuration for the connection."
    },
    "CustomConnector": {
      "type": "object",
      "properties": {
        "customConnectorType": {
          "type": "string",
          "enumDescriptions": [
            "Connector type is not specified.",
            "OpenAPI connector.",
            "Proto connector.",
            "SDK connector."
          ],
          "description": "Required. Type of the custom connector.",
          "enum": [
            "CUSTOM_CONNECTOR_TYPE_UNSPECIFIED",
            "OPEN_API",
            "PROTO",
            "SDK"
          ]
        },
        "allConnectorVersions": {
          "description": "Output only. All connector versions.",
          "type": "array",
          "items": {
            "type": "string"
          },
          "readOnly": true
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the resource."
        },
        "displayName": {
          "type": "string",
          "description": "Optional. Display name."
        },
        "allMarketplaceVersions": {
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Output only. All marketplace versions."
        },
        "activeConnectorVersions": {
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Output only. Active connector versions."
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "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"
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Created time."
        },
        "publishedMarketplaceVersions": {
          "description": "Output only. Published marketplace versions.",
          "type": "array",
          "items": {
            "type": "string"
          },
          "readOnly": true
        },
        "name": {
          "type": "string",
          "description": "Identifier. Resource name of the CustomConnector. Format: projects/{project}/locations/{location}/customConnectors/{connector}"
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Updated time.",
          "readOnly": true
        },
        "logo": {
          "description": "Optional. Logo of the resource.",
          "type": "string"
        }
      },
      "id": "CustomConnector",
      "description": "CustomConnector represents the custom connector defined by the customer as part of byoc."
    },
    "StringListValues": {
      "id": "StringListValues",
      "description": "StringListValues is a message to store a list of string values.",
      "type": "object",
      "properties": {
        "listValues": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Required. The list of string values."
        }
      }
    },
    "Settings": {
      "type": "object",
      "properties": {
        "name": {
          "readOnly": true,
          "description": "Output only. Resource name of the Connection. Format: projects/{project}/locations/global/settings}",
          "type": "string"
        },
        "payg": {
          "readOnly": true,
          "type": "boolean",
          "description": "Output only. Flag indicates if user is in PayG model"
        },
        "vpcsc": {
          "type": "boolean",
          "description": "Optional. Flag indicates whether vpc-sc is enabled."
        },
        "tenantProjectId": {
          "type": "string",
          "description": "Output only. Tenant project id of the consumer project.",
          "readOnly": true
        }
      },
      "id": "Settings",
      "description": "Global Settings details."
    },
    "PublishCustomConnectorVersionRequest": {
      "type": "object",
      "properties": {
        "partnerMetadata": {
          "$ref": "PartnerMetadata",
          "description": "Required. Partner metadata details for validating and publishing the custom connector as a partner connector version."
        }
      },
      "id": "PublishCustomConnectorVersionRequest",
      "description": "Request message for ConnectorsService.PublishCustomConnectorVersion"
    },
    "OAuthTokenData": {
      "id": "OAuthTokenData",
      "description": "pass only at create and not update using updateMask Auth Code Data",
      "type": "object",
      "properties": {
        "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"
        },
        "accessToken": {
          "description": "Optional. Access token for the connection.",
          "$ref": "EUASecret"
        },
        "createTime": {
          "description": "Optional. Timestamp when the access token was created.",
          "type": "string",
          "format": "google-datetime"
        }
      }
    },
    "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": {
        "conndTopic": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Pub/Sub topic for connd to send message. E.g. projects/{project-id}/topics/{topic-id}"
        },
        "controlPlaneTopic": {
          "type": "string",
          "description": "Output only. Pub/Sub topic for control plne to send message. communication. E.g. projects/{project-id}/topics/{topic-id}",
          "readOnly": true
        },
        "controlPlaneSubscription": {
          "readOnly": true,
          "description": "Output only. Pub/Sub subscription for control plane to receive message. E.g. projects/{project-id}/subscriptions/{topic-id}",
          "type": "string"
        },
        "schemaGcsBucket": {
          "type": "string",
          "description": "Output only. The Cloud Storage bucket that stores connector's schema reports.",
          "readOnly": true
        },
        "state": {
          "description": "Output only. The state of the location.",
          "type": "string",
          "enumDescriptions": [
            "STATE_UNSPECIFIED.",
            "INACTIVE.",
            "ACTIVATING.",
            "ACTIVE.",
            "CREATING.",
            "DELETING.",
            "UPDATING."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "INACTIVE",
            "ACTIVATING",
            "ACTIVE",
            "CREATING",
            "DELETING",
            "UPDATING"
          ],
          "readOnly": true,
          "enumDeprecated": [
            false,
            true,
            true,
            false,
            false,
            false,
            false
          ]
        },
        "serviceDirectory": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The name of the Service Directory service name."
        },
        "locationId": {
          "readOnly": true,
          "description": "Output only. location_id of the runtime location. E.g. \"us-west1\".",
          "type": "string"
        },
        "conndSubscription": {
          "type": "string",
          "description": "Output only. Pub/Sub subscription for connd to receive message. E.g. projects/{project-id}/subscriptions/{topic-id}",
          "readOnly": true
        },
        "name": {
          "description": "Output only. Name of the runtimeConfig resource. Format: projects/{project}/locations/{location}/runtimeConfig",
          "type": "string",
          "readOnly": true
        },
        "runtimeEndpoint": {
          "type": "string",
          "description": "Output only. The endpoint of the connectors runtime ingress.",
          "readOnly": true
        }
      }
    },
    "EndPoint": {
      "id": "EndPoint",
      "description": "Endpoint message includes details of the Destination endpoint.",
      "type": "object",
      "properties": {
        "endpointUri": {
          "type": "string",
          "description": "Optional. The URI of the Endpoint."
        },
        "headers": {
          "description": "Optional. List of Header to be added to the Endpoint.",
          "type": "array",
          "items": {
            "$ref": "Header"
          }
        }
      }
    },
    "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": {
          "type": "array",
          "items": {
            "$ref": "Destination"
          },
          "description": "Optional. The destinations for the key."
        }
      }
    },
    "EventingConfig": {
      "id": "EventingConfig",
      "description": "Eventing Configuration of a connection next: 21",
      "type": "object",
      "properties": {
        "registrationDestinationConfig": {
          "description": "Optional. Registration endpoint for auto registration.",
          "$ref": "DestinationConfig"
        },
        "deadLetterConfig": {
          "$ref": "DeadLetterConfig",
          "description": "Optional. Dead letter configuration for eventing of a connection."
        },
        "enrichmentConfig": {
          "description": "Optional. Data enrichment configuration.",
          "$ref": "EnrichmentConfig"
        },
        "additionalVariables": {
          "type": "array",
          "items": {
            "$ref": "ConfigVariable"
          },
          "description": "Optional. Additional eventing related field values"
        },
        "listenerAuthConfig": {
          "$ref": "AuthConfig",
          "description": "Optional. Auth details for the event listener."
        },
        "privateConnectivityEnabled": {
          "description": "Optional. Private Connectivity Enabled.",
          "type": "boolean"
        },
        "allowedEventTypes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional. List of allowed event types for the connection."
        },
        "proxyDestinationConfig": {
          "description": "Optional. Proxy for Eventing auto-registration.",
          "$ref": "DestinationConfig"
        },
        "sslConfig": {
          "description": "Optional. Ssl config of a connection",
          "$ref": "SslConfig"
        },
        "globalEventFilter": {
          "description": "Optional. Filter to be applied on the events to be received by the connection.",
          "type": "string"
        },
        "authConfig": {
          "$ref": "AuthConfig",
          "description": "Optional. Auth details for the webhook adapter."
        },
        "enrichmentEnabled": {
          "type": "boolean",
          "description": "Optional. Enrichment Enabled."
        },
        "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"
          }
        },
        "eventsListenerIngressEndpoint": {
          "description": "Output only. Ingress endpoint of the event listener. This is used only when private connectivity is enabled.",
          "type": "string",
          "readOnly": true
        }
      }
    },
    "Date": {
      "type": "object",
      "properties": {
        "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"
        },
        "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"
        },
        "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"
        }
      },
      "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"
    },
    "ListRuntimeActionSchemasResponse": {
      "type": "object",
      "properties": {
        "runtimeActionSchemas": {
          "type": "array",
          "items": {
            "$ref": "RuntimeActionSchema"
          },
          "description": "Runtime action schemas."
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        }
      },
      "id": "ListRuntimeActionSchemasResponse",
      "description": "Response message for ConnectorsService.ListRuntimeActionSchemas."
    },
    "Source": {
      "id": "Source",
      "description": "Source to extract the backend from.",
      "type": "object",
      "properties": {
        "fieldId": {
          "description": "Field identifier. For example config variable name.",
          "type": "string"
        },
        "sourceType": {
          "enum": [
            "SOURCE_TYPE_UNSPECIFIED",
            "CONFIG_VARIABLE",
            "AUTH_CONFIG_VARIABLE"
          ],
          "description": "Type of the source.",
          "type": "string",
          "enumDescriptions": [
            "Default SOURCE.",
            "Config Variable source type.",
            "Auth Config Variable source type."
          ]
        }
      }
    },
    "EndUserAuthenticationConfigVariable": {
      "type": "object",
      "properties": {
        "secretValue": {
          "description": "Value is a secret",
          "$ref": "EUASecret"
        },
        "key": {
          "type": "string",
          "description": "Required. Key of the config variable."
        },
        "intValue": {
          "description": "Value is an integer",
          "type": "string",
          "format": "int64"
        },
        "boolValue": {
          "description": "Value is a bool.",
          "type": "boolean"
        },
        "stringValue": {
          "type": "string",
          "description": "Value is a string."
        }
      },
      "id": "EndUserAuthenticationConfigVariable",
      "description": "EndUserAuthenticationConfigVariable represents a configuration variable present in a EndUserAuthentication."
    },
    "Resource": {
      "id": "Resource",
      "description": "Resource definition",
      "type": "object",
      "properties": {
        "type": {
          "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."
          ],
          "description": "Optional. Different types of resource supported.",
          "enum": [
            "TYPE_UNSPECIFIED",
            "GCP_PROJECT",
            "GCP_RESOURCE",
            "GCP_SECRETMANAGER_SECRET",
            "GCP_SECRETMANAGER_SECRET_VERSION"
          ]
        },
        "pathTemplate": {
          "type": "string",
          "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."
        }
      }
    },
    "RetryEventSubscriptionRequest": {
      "id": "RetryEventSubscriptionRequest",
      "description": "Request message for ConnectorsService.RefreshEventSubscription",
      "type": "object",
      "properties": {}
    },
    "EventingRuntimeData": {
      "id": "EventingRuntimeData",
      "description": "Eventing runtime data has the details related to eventing managed by the system.",
      "type": "object",
      "properties": {
        "eventsListenerEndpoint": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Events listener endpoint. The value will populated after provisioning the events listener."
        },
        "eventsListenerPscSa": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Events listener PSC Service attachment. The value will be populated after provisioning the events listener with private connectivity enabled."
        },
        "webhookData": {
          "description": "Output only. Webhook data.",
          "readOnly": true,
          "$ref": "WebhookData"
        },
        "webhookSubscriptions": {
          "description": "Output only. Webhook subscriptions.",
          "readOnly": true,
          "$ref": "WebhookSubscriptions"
        },
        "status": {
          "description": "Output only. Current status of eventing.",
          "readOnly": true,
          "$ref": "EventingStatus"
        }
      }
    },
    "AuthConfigTemplate": {
      "id": "AuthConfigTemplate",
      "description": "AuthConfigTemplate defines required field over an authentication type.",
      "type": "object",
      "properties": {
        "configVariableTemplates": {
          "type": "array",
          "items": {
            "$ref": "ConfigVariableTemplate"
          },
          "description": "Config variables to describe an `AuthConfig` for a `Connection`."
        },
        "description": {
          "type": "string",
          "description": "Connector specific description for an authentication template."
        },
        "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"
          ]
        },
        "isDefault": {
          "description": "Whether the auth config is the default one.",
          "type": "boolean"
        },
        "displayName": {
          "description": "Display name for authentication template.",
          "type": "string"
        },
        "authKey": {
          "description": "Identifier key for auth config",
          "type": "string"
        }
      }
    },
    "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": {
          "type": "string",
          "description": "Optional. Value of Header."
        }
      }
    },
    "ListCustomConnectorVersionsResponse": {
      "type": "object",
      "properties": {
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        },
        "unreachable": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Locations that could not be reached."
        },
        "customConnectorVersions": {
          "description": "A list of connector versions.",
          "type": "array",
          "items": {
            "$ref": "CustomConnectorVersion"
          }
        }
      },
      "id": "ListCustomConnectorVersionsResponse",
      "description": "Response message for Connectors.ListCustomConnectorVersions."
    },
    "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": {
        "clientSecret": {
          "description": "Optional. Client secret for user-provided OAuth app.",
          "$ref": "Secret"
        },
        "enablePkce": {
          "type": "boolean",
          "description": "Optional. Whether to enable PKCE when the user performs the auth code flow."
        },
        "clientId": {
          "type": "string",
          "description": "Optional. Client ID for user-provided OAuth app."
        },
        "authCode": {
          "type": "string",
          "description": "Optional. Authorization code to be exchanged for access and refresh tokens."
        },
        "redirectUri": {
          "description": "Optional. Redirect URI to be provided during the auth code exchange.",
          "type": "string"
        },
        "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"
        },
        "pkceVerifier": {
          "description": "Optional. PKCE verifier to be used during the auth code exchange.",
          "type": "string"
        }
      }
    },
    "UpdatePolicy": {
      "type": "object",
      "properties": {
        "denyMaintenancePeriods": {
          "type": "array",
          "items": {
            "$ref": "DenyMaintenancePeriod"
          },
          "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."
        },
        "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"
          ]
        }
      },
      "id": "UpdatePolicy",
      "description": "Maintenance policy applicable to instance updates."
    },
    "SchemaRefreshConfig": {
      "type": "object",
      "properties": {
        "useSynchronousSchemaRefresh": {
          "type": "boolean",
          "description": "Whether to use synchronous schema refresh."
        },
        "useActionDisplayNames": {
          "type": "boolean",
          "description": "Whether to use displayName for actions in UI."
        }
      },
      "id": "SchemaRefreshConfig",
      "description": "Config for connection schema refresh"
    },
    "EncryptionKey": {
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "TYPE_UNSPECIFIED",
            "GOOGLE_MANAGED",
            "CUSTOMER_MANAGED"
          ],
          "type": "string",
          "enumDescriptions": [
            "Value type is not specified.",
            "Google Managed.",
            "Customer Managed."
          ],
          "description": "Optional. Specifies the type of the encryption key."
        },
        "kmsKeyName": {
          "type": "string",
          "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."
        }
      },
      "id": "EncryptionKey",
      "description": "Encryption Key value."
    },
    "PerSliSloEligibility": {
      "type": "object",
      "properties": {
        "eligibilities": {
          "additionalProperties": {
            "$ref": "SloEligibility"
          },
          "type": "object",
          "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."
        }
      },
      "id": "PerSliSloEligibility",
      "description": "PerSliSloEligibility is a mapping from an SLI name to eligibility."
    },
    "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"
          }
        }
      }
    },
    "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": {
          "type": "integer",
          "format": "int32",
          "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."
        },
        "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"
        }
      }
    },
    "EndUserAuthenticationConfigOauth2JwtBearerJwtClaims": {
      "type": "object",
      "properties": {
        "issuer": {
          "type": "string",
          "description": "Value for the \"iss\" claim."
        },
        "audience": {
          "type": "string",
          "description": "Value for the \"aud\" claim."
        },
        "subject": {
          "type": "string",
          "description": "Value for the \"sub\" claim."
        }
      },
      "id": "EndUserAuthenticationConfigOauth2JwtBearerJwtClaims",
      "description": "JWT claims used for the jwt-bearer authorization grant."
    },
    "HPAConfig": {
      "id": "HPAConfig",
      "description": "Autoscaling config for connector deployment system metrics.",
      "type": "object",
      "properties": {
        "cpuUtilizationThreshold": {
          "readOnly": true,
          "type": "string",
          "format": "int64",
          "description": "Output only. Percent CPU utilization where HPA triggers autoscaling."
        },
        "memoryUtilizationThreshold": {
          "description": "Output only. Percent Memory utilization where HPA triggers autoscaling.",
          "type": "string",
          "format": "int64",
          "readOnly": true
        }
      }
    },
    "SetIamPolicyRequest": {
      "id": "SetIamPolicyRequest",
      "description": "Request message for `SetIamPolicy` method.",
      "type": "object",
      "properties": {
        "updateMask": {
          "type": "string",
          "format": "google-fieldmask",
          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`"
        },
        "policy": {
          "$ref": "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."
        }
      }
    },
    "Oauth2AuthCodeFlowGoogleManaged": {
      "type": "object",
      "properties": {
        "authCode": {
          "description": "Optional. Authorization code to be exchanged for access and refresh tokens.",
          "type": "string"
        },
        "redirectUri": {
          "type": "string",
          "description": "Optional. Redirect URI to be provided during the auth code exchange."
        },
        "scopes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Required. Scopes the connection will request when the user performs the auth code flow."
        }
      },
      "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."
    },
    "Secret": {
      "type": "object",
      "properties": {
        "secretVersion": {
          "type": "string",
          "description": "Optional. The resource name of the secret version in the format, format as: `projects/*/secrets/*/versions/*`."
        }
      },
      "id": "Secret",
      "description": "Secret provides a reference to entries in Secret Manager."
    },
    "AdminFilters": {
      "type": "object",
      "properties": {
        "intValue": {
          "description": "Optional. A single integer value.",
          "type": "string",
          "format": "int64"
        },
        "stringValue": {
          "type": "string",
          "description": "Optional. A single string value."
        },
        "filterKey": {
          "type": "string",
          "description": "Required. Unique name for the filter, e.g., \"SharePointSiteURL\", \"DocumentType\", \"ChatSpaceName\"."
        },
        "stringListValues": {
          "$ref": "StringListValues",
          "description": "Optional. List of string values."
        },
        "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"
          ]
        }
      },
      "id": "AdminFilters",
      "description": "* AdminFilters defines a set of filters that can be applied to a connection. These are currently used by Gemini Enterprise connections."
    },
    "ValidateCustomConnectorSpecRequest": {
      "id": "ValidateCustomConnectorSpecRequest",
      "description": "Request message for ConnectorsService.ValidateCustomConnectorSpec",
      "type": "object",
      "properties": {
        "specType": {
          "enum": [
            "CUSTOM_CONNECTOR_TYPE_UNSPECIFIED",
            "OPEN_API",
            "PROTO",
            "SDK"
          ],
          "type": "string",
          "enumDescriptions": [
            "Connector type is not specified.",
            "OpenAPI connector.",
            "Proto connector.",
            "SDK connector."
          ],
          "description": "Required. Spec type of the custom connector spec."
        },
        "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"
        },
        "serviceAccount": {
          "description": "Required. Service account to access the spec from Google Cloud Storage.",
          "type": "string"
        }
      }
    },
    "EndUserAuthentication": {
      "id": "EndUserAuthentication",
      "description": "AuthConfig defines details of a authentication type.",
      "type": "object",
      "properties": {
        "status": {
          "$ref": "EndUserAuthenticationEndUserAuthenticationStatus",
          "description": "Optional. Status of the EndUserAuthentication."
        },
        "endUserAuthenticationConfig": {
          "$ref": "EndUserAuthenticationConfig",
          "description": "Optional. The EndUserAuthenticationConfig for the EndUserAuthentication."
        },
        "configVariables": {
          "type": "array",
          "items": {
            "$ref": "EndUserAuthenticationConfigVariable"
          },
          "description": "Optional. Config variables for the EndUserAuthentication."
        },
        "userId": {
          "description": "Optional. The user id of the user.",
          "type": "string"
        },
        "roles": {
          "description": "Optional. Roles for the EndUserAuthentication.",
          "type": "array",
          "items": {
            "enum": [
              "ROLE_UNSPECIFIED",
              "READER",
              "READER_DOMAIN_WIDE_ACCESSIBLE"
            ],
            "type": "string",
            "enumDescriptions": [
              "Default state.",
              "READER.",
              "READER_DOMAIN_WIDE_ACCESSIBLE which has access to only public data."
            ]
          }
        },
        "labels": {
          "description": "Optional. Labels for the EndUserAuthentication.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "destinationConfigs": {
          "description": "Optional. Destination configs for the EndUserAuthentication.",
          "type": "array",
          "items": {
            "$ref": "DestinationConfig"
          }
        },
        "name": {
          "type": "string",
          "description": "Required. Identifier. Resource name of the EndUserAuthentication. Format: projects/{project}/locations/{location}/connections/{connection}/endUserAuthentications/{end_user_authentication}"
        },
        "createTime": {
          "readOnly": true,
          "description": "Output only. Created time.",
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Updated time.",
          "readOnly": true
        },
        "notifyEndpointDestination": {
          "$ref": "EndUserAuthenticationNotifyEndpointDestination",
          "description": "Optional. The destination to hit when we receive an event"
        }
      }
    },
    "DailyCycle": {
      "id": "DailyCycle",
      "description": "Time window specified for daily operations.",
      "type": "object",
      "properties": {
        "startTime": {
          "$ref": "TimeOfDay",
          "description": "Time within the day to start the operations."
        },
        "duration": {
          "type": "string",
          "format": "google-duration",
          "description": "Output only. Duration of the time window, set by service producer."
        }
      }
    },
    "RegionalSettings": {
      "id": "RegionalSettings",
      "description": "Regional Settings details.",
      "type": "object",
      "properties": {
        "encryptionConfig": {
          "$ref": "EncryptionConfig",
          "description": "Optional. Regional encryption config to hold CMEK details."
        },
        "client": {
          "type": "string",
          "description": "Optional. Client type for the regional settings."
        },
        "networkConfig": {
          "description": "Optional. Regional network config.",
          "$ref": "NetworkConfig"
        },
        "name": {
          "description": "Output only. Resource name of the Connection. Format: projects/{project}/locations/{location}/regionalSettings",
          "type": "string",
          "readOnly": true
        },
        "provisioned": {
          "type": "boolean",
          "description": "Output only. Specifies whether the region is provisioned.",
          "readOnly": true
        }
      }
    },
    "EndUserAuthenticationEndUserAuthenticationStatus": {
      "type": "object",
      "properties": {
        "state": {
          "type": "string",
          "enumDescriptions": [
            "Default state.",
            "EndUserAuthentication is in Active state.",
            "EndUserAuthentication is in Error state."
          ],
          "description": "Output only. State of Event Subscription resource.",
          "readOnly": true,
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "ERROR"
          ]
        },
        "description": {
          "readOnly": true,
          "description": "Output only. Description of the state.",
          "type": "string"
        }
      },
      "id": "EndUserAuthenticationEndUserAuthenticationStatus",
      "description": "EndUserAuthentication Status denotes the status of the EndUserAuthentication resource."
    },
    "FetchConnectionToolspecOverrideResponse": {
      "type": "object",
      "properties": {
        "toolspecOverride": {
          "$ref": "ToolspecOverride",
          "description": "Toolspec overrides for the connection."
        }
      },
      "id": "FetchConnectionToolspecOverrideResponse",
      "description": "Response message for FetchConnectionToolspecOverride API."
    },
    "Policy": {
      "type": "object",
      "properties": {
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "Binding"
          },
          "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`."
        },
        "auditConfigs": {
          "description": "Specifies cloud audit logging configuration for this policy.",
          "type": "array",
          "items": {
            "$ref": "AuditConfig"
          }
        },
        "etag": {
          "type": "string",
          "format": "byte",
          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost."
        },
        "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"
        }
      },
      "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/)."
    },
    "RuntimeEntitySchema": {
      "type": "object",
      "properties": {
        "entity": {
          "description": "Output only. Name of the entity.",
          "type": "string",
          "readOnly": true
        },
        "fields": {
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "Field"
          },
          "description": "Output only. List of fields in the entity."
        },
        "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"
            ]
          }
        },
        "jsonSchema": {
          "description": "Output only. JsonSchema representation of this entity's metadata",
          "readOnly": true,
          "$ref": "JsonSchema"
        }
      },
      "id": "RuntimeEntitySchema",
      "description": "Schema of a runtime entity."
    },
    "PartnerMetadata": {
      "type": "object",
      "properties": {
        "hasDynamicSpecUri": {
          "type": "boolean",
          "description": "Output only. Has dynamic open api spec uri.",
          "readOnly": true
        },
        "partner": {
          "type": "string",
          "description": "Required. Partner name."
        },
        "localSpecPath": {
          "description": "Output only. Local spec path. Required if has_dynamic_spec_uri is true.",
          "type": "string",
          "readOnly": true
        },
        "marketplaceProduct": {
          "description": "Optional. Marketplace product name.",
          "type": "string"
        },
        "targetApplication": {
          "description": "Required. Target application for which partner connector is built.",
          "type": "string"
        },
        "useCases": {
          "type": "string",
          "description": "Required. Details about partner connector use cases."
        },
        "confirmPartnerRequirements": {
          "type": "boolean",
          "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)."
        },
        "publishRequestTime": {
          "description": "Output only. Publish request time.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "targetCustomerSegment": {
          "type": "string",
          "description": "Required. Target customer segment for the partner connector."
        },
        "partnerConnectorDisplayName": {
          "type": "string",
          "description": "Required. Partner connector display name."
        },
        "demoUri": {
          "type": "string",
          "description": "Required. Public URL for the demo video."
        },
        "integrationTemplates": {
          "description": "Required. Integration example templates for the custom connector.",
          "type": "string"
        },
        "additionalComments": {
          "type": "string",
          "description": "Optional. Additional comments for the submission."
        },
        "marketplaceProductProjectId": {
          "type": "string",
          "description": "Optional. Marketplace product project ID."
        },
        "acceptGcpTos": {
          "type": "boolean",
          "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)."
        },
        "marketplaceProductUri": {
          "type": "string",
          "description": "Optional. Marketplace product URL."
        },
        "marketplaceProductId": {
          "description": "Required. Marketplace product ID.",
          "type": "string"
        }
      },
      "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."
    },
    "TestIamPermissionsRequest": {
      "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"
          }
        }
      },
      "id": "TestIamPermissionsRequest",
      "description": "Request message for `TestIamPermissions` method."
    },
    "StandardAction": {
      "id": "StandardAction",
      "description": "Standard action",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the standard action."
        }
      }
    },
    "EventingConfigTemplate": {
      "id": "EventingConfigTemplate",
      "description": "Eventing Config details of a connector version. next: 14",
      "type": "object",
      "properties": {
        "registrationDestinationConfig": {
          "$ref": "DestinationConfigTemplate",
          "description": "Registration host destination config template."
        },
        "listenerAuthConfigTemplates": {
          "type": "array",
          "items": {
            "$ref": "AuthConfigTemplate"
          },
          "description": "ListenerAuthConfigTemplates represents the auth values for the event listener."
        },
        "additionalVariables": {
          "type": "array",
          "items": {
            "$ref": "ConfigVariableTemplate"
          },
          "description": "Additional fields that need to be rendered."
        },
        "autoRefresh": {
          "type": "boolean",
          "description": "Auto refresh to extend webhook life."
        },
        "sslConfigTemplate": {
          "$ref": "SslConfigTemplate",
          "description": "SSL Config template for the connector version."
        },
        "enrichmentSupported": {
          "description": "Enrichment Supported.",
          "type": "boolean"
        },
        "proxyDestinationConfig": {
          "description": "Proxy destination config template.",
          "$ref": "DestinationConfigTemplate"
        },
        "authConfigTemplates": {
          "description": "AuthConfigTemplates represents the auth values for the webhook adapter.",
          "type": "array",
          "items": {
            "$ref": "AuthConfigTemplate"
          }
        },
        "encryptionKeyTemplate": {
          "description": "Encryption key (can be either Google managed or CMEK).",
          "$ref": "ConfigVariableTemplate"
        },
        "isEventingSupported": {
          "description": "Is Eventing Supported.",
          "type": "boolean"
        },
        "triggerConfigVariables": {
          "type": "array",
          "items": {
            "$ref": "ConfigVariableTemplate"
          },
          "description": "Trigger Config fields that needs to be rendered"
        },
        "autoRegistrationSupported": {
          "type": "boolean",
          "description": "Auto Registration supported."
        },
        "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"
          ]
        }
      }
    },
    "Schedule": {
      "type": "object",
      "properties": {
        "startTime": {
          "$ref": "TimeOfDay",
          "description": "Time within the window to start the operations."
        },
        "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"
          ]
        },
        "duration": {
          "description": "Output only. Duration of the time window, set by service producer.",
          "type": "string",
          "format": "google-duration"
        }
      },
      "id": "Schedule",
      "description": "Configure the schedule."
    },
    "UserPassword": {
      "id": "UserPassword",
      "description": "Parameters to support Username and Password Authentication.",
      "type": "object",
      "properties": {
        "password": {
          "$ref": "Secret",
          "description": "Optional. Secret version reference containing the password."
        },
        "username": {
          "description": "Optional. Username.",
          "type": "string"
        }
      }
    },
    "FieldComparison": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "description": "Optional. Key of the field."
        },
        "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"
          ]
        },
        "intValue": {
          "description": "Integer value",
          "type": "string",
          "format": "int64"
        },
        "stringValue": {
          "description": "String value",
          "type": "string"
        },
        "boolValue": {
          "type": "boolean",
          "description": "Boolean value"
        }
      },
      "id": "FieldComparison",
      "description": "Field that needs to be compared."
    },
    "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"
        },
        "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."
            }
          }
        },
        "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"
        }
      }
    },
    "Oauth2ClientCredentials": {
      "type": "object",
      "properties": {
        "clientId": {
          "type": "string",
          "description": "Optional. The client identifier."
        },
        "clientSecret": {
          "$ref": "Secret",
          "description": "Optional. Secret version reference containing the client secret."
        }
      },
      "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."
    },
    "ListConnectionsResponse": {
      "id": "ListConnectionsResponse",
      "description": "Response message for ConnectorsService.ListConnections",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "Next page token."
        },
        "unreachable": {
          "description": "Locations that could not be reached.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "connections": {
          "description": "Connections.",
          "type": "array",
          "items": {
            "$ref": "Connection"
          }
        }
      }
    },
    "RefreshConnectionSchemaMetadataRequest": {
      "id": "RefreshConnectionSchemaMetadataRequest",
      "description": "Request message for ConnectorsService.RefreshConnectionSchemaMetadata.",
      "type": "object",
      "properties": {}
    },
    "EndUserAuthenticationNotifyEndpointDestination": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enumDescriptions": [
            "Default state.",
            "Endpoint - Hit the value of endpoint when event is received"
          ],
          "description": "Required. type of the destination",
          "enum": [
            "TYPE_UNSPECIFIED",
            "ENDPOINT"
          ]
        },
        "serviceAccount": {
          "type": "string",
          "description": "Required. Service account needed for runtime plane to notify the backend."
        },
        "endpoint": {
          "description": "Optional. OPTION 1: Hit an endpoint when the refresh token is expired.",
          "$ref": "EndUserAuthenticationNotifyEndpointDestinationEndPoint"
        }
      },
      "id": "EndUserAuthenticationNotifyEndpointDestination",
      "description": "Message for NotifyEndpointDestination Destination to hit when the refresh token is expired."
    },
    "ConfigVariable": {
      "type": "object",
      "properties": {
        "key": {
          "description": "Optional. Key of the config variable.",
          "type": "string"
        },
        "intValue": {
          "type": "string",
          "format": "int64",
          "description": "Optional. Value is an integer"
        },
        "boolValue": {
          "type": "boolean",
          "description": "Optional. Value is a bool."
        },
        "stringValue": {
          "description": "Optional. Value is a string.",
          "type": "string"
        },
        "secretValue": {
          "$ref": "Secret",
          "description": "Optional. Value is a secret."
        },
        "encryptionKeyValue": {
          "$ref": "EncryptionKey",
          "description": "Optional. Value is a Encryption Key."
        }
      },
      "id": "ConfigVariable",
      "description": "ConfigVariable represents a configuration variable present in a Connection. or AuthConfig."
    },
    "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": {
        "oauthTokenData": {
          "$ref": "OAuthTokenData",
          "description": "Optional. Auth Code Data"
        },
        "redirectUri": {
          "description": "Optional. Redirect URI to be provided during the auth code exchange.",
          "type": "string"
        },
        "pkceVerifier": {
          "description": "Optional. PKCE verifier to be used during the auth code exchange.",
          "type": "string"
        },
        "clientSecret": {
          "$ref": "EUASecret",
          "description": "Optional. Client secret for user-provided OAuth app."
        },
        "enablePkce": {
          "type": "boolean",
          "description": "Optional. Whether to enable PKCE when the user performs the auth code flow."
        },
        "authCode": {
          "type": "string",
          "description": "Optional. Authorization code to be exchanged for access and refresh tokens."
        },
        "scopes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional. Scopes the connection will request when the user performs the auth code flow."
        },
        "authUri": {
          "type": "string",
          "description": "Optional. Auth URL for Authorization Code Flow"
        },
        "clientId": {
          "type": "string",
          "description": "Optional. Client ID for user-provided OAuth app."
        }
      }
    },
    "FetchConnectionToolspecOverrideRequest": {
      "type": "object",
      "properties": {
        "toolNames": {
          "type": "array",
          "items": {
            "$ref": "ToolName"
          },
          "description": "Required. List of tools for which the tool spec override is to be generated."
        }
      },
      "id": "FetchConnectionToolspecOverrideRequest",
      "description": "Request message for FetchConnectionToolspecOverride API."
    },
    "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": {
          "$ref": "JwtClaims",
          "description": "Optional. JwtClaims providers fields to generate the token."
        }
      }
    },
    "ConnectorInfraConfig": {
      "type": "object",
      "properties": {
        "hpaConfig": {
          "$ref": "HPAConfig",
          "description": "HPA autoscaling config."
        },
        "networkEgressModeOverride": {
          "$ref": "NetworkEgressModeOverride",
          "description": "Network egress mode override to migrate to direct VPC egress."
        },
        "deploymentModel": {
          "enum": [
            "DEPLOYMENT_MODEL_UNSPECIFIED",
            "GKE_MST",
            "CLOUD_RUN_MST"
          ],
          "description": "Indicate whether connector is deployed on GKE/CloudRun",
          "type": "string",
          "enumDescriptions": [
            "Deployment model is not specified.",
            "Default model gke mst.",
            "Cloud run mst."
          ]
        },
        "provisionCloudSpanner": {
          "type": "boolean",
          "description": "Indicate whether cloud spanner is required for connector job."
        },
        "publicNetworkIngressEnabled": {
          "type": "boolean",
          "description": "Indicate whether public network ingress should be enabled."
        },
        "connectionRatelimitWindowSeconds": {
          "type": "string",
          "format": "int64",
          "description": "The window used for ratelimiting runtime requests to connections."
        },
        "ratelimitThreshold": {
          "type": "string",
          "format": "int64",
          "description": "Max QPS supported by the connector version before throttling of requests."
        },
        "migrateDeploymentModel": {
          "type": "boolean",
          "description": "Indicate whether connector is being migrated to cloud run deployment model."
        },
        "connectorVersioningEnabled": {
          "description": "Indicate whether connector versioning is enabled.",
          "type": "boolean"
        },
        "connectionServiceAccountEnabled": {
          "type": "boolean",
          "description": "Indicate whether connection service account is enabled. If false, the common runtime service agent is used."
        },
        "migrateTls": {
          "description": "Indicate whether connector is being migrated to TLS.",
          "type": "boolean"
        },
        "resourceLimits": {
          "$ref": "ResourceLimits",
          "description": "System resource limits."
        },
        "internalclientRatelimitThreshold": {
          "description": "Max QPS supported for internal requests originating from Connd.",
          "type": "string",
          "format": "int64"
        },
        "resourceRequests": {
          "$ref": "ResourceRequests",
          "description": "System resource requests."
        },
        "maxInstanceRequestConcurrency": {
          "type": "integer",
          "format": "int32",
          "description": "Max Instance Request Conncurrency for Cloud Run service."
        },
        "provisionMemstore": {
          "description": "Indicate whether memstore is required for connector job.",
          "type": "boolean"
        },
        "sharedDeployment": {
          "description": "The name of shared connector deployment.",
          "type": "string"
        },
        "alwaysAllocateCpu": {
          "description": "Indicates that the Cloud Run CPU should always be allocated.",
          "type": "boolean"
        }
      },
      "id": "ConnectorInfraConfig",
      "description": "This cofiguration provides infra configs like rate limit threshold which need to be configurable for every connector version"
    },
    "ListEndpointAttachmentsResponse": {
      "type": "object",
      "properties": {
        "endpointAttachments": {
          "type": "array",
          "items": {
            "$ref": "EndpointAttachment"
          },
          "description": "EndpointAttachments."
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        },
        "unreachable": {
          "description": "Locations that could not be reached.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "ListEndpointAttachmentsResponse",
      "description": "Response message for ConnectorsService.ListEndpointAttachments"
    },
    "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"
        }
      }
    },
    "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": {
        "oauthTokenData": {
          "$ref": "OAuthTokenData",
          "description": "Auth Code Data"
        },
        "authCode": {
          "type": "string",
          "description": "Optional. Authorization code to be exchanged for access and refresh tokens."
        },
        "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"
          }
        }
      }
    },
    "GenerateConnectionToolspecOverrideResponse": {
      "id": "GenerateConnectionToolspecOverrideResponse",
      "description": "Response message for GenerateConnectionToolspecOverride API.",
      "type": "object",
      "properties": {
        "toolspecOverride": {
          "description": "Toolspec overrides for the connection.",
          "$ref": "ToolspecOverride"
        }
      }
    },
    "ExtractionRules": {
      "type": "object",
      "properties": {
        "extractionRule": {
          "type": "array",
          "items": {
            "$ref": "ExtractionRule"
          },
          "description": "Collection of Extraction Rule."
        }
      },
      "id": "ExtractionRules",
      "description": "Extraction Rules to identity the backends from customer provided configuration in Connection resource."
    },
    "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": {
          "type": "string",
          "description": "Marketplace product name."
        },
        "marketplaceProductUri": {
          "description": "Marketplace product URL.",
          "type": "string"
        }
      }
    },
    "PubSub": {
      "type": "object",
      "properties": {
        "attributes": {
          "type": "object",
          "description": "Optional. Pub/Sub message attributes to be added to the Pub/Sub message.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "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": {
          "type": "array",
          "items": {
            "$ref": "ConfigVariable"
          },
          "description": "Optional. Configuration for configuring the trigger"
        }
      },
      "id": "PubSub",
      "description": "Pub/Sub message includes details of the Destination Pub/Sub topic."
    },
    "TestIamPermissionsResponse": {
      "id": "TestIamPermissionsResponse",
      "description": "Response message for `TestIamPermissions` method.",
      "type": "object",
      "properties": {
        "permissions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed."
        }
      }
    },
    "ConfigVariableTemplate": {
      "id": "ConfigVariableTemplate",
      "description": "ConfigVariableTemplate provides metadata about a `ConfigVariable` that is used in a Connection.",
      "type": "object",
      "properties": {
        "valueType": {
          "enum": [
            "VALUE_TYPE_UNSPECIFIED",
            "STRING",
            "INT",
            "BOOL",
            "SECRET",
            "ENUM",
            "AUTHORIZATION_CODE",
            "ENCRYPTION_KEY",
            "MULTIPLE_SELECT"
          ],
          "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."
          ]
        },
        "roleGrant": {
          "description": "Optional. Role grant configuration for the config variable.",
          "$ref": "RoleGrant"
        },
        "authorizationCodeLink": {
          "$ref": "AuthorizationCodeLink",
          "description": "Optional. Authorization code link options. To be populated if `ValueType` is `AUTHORIZATION_CODE`"
        },
        "multipleSelectConfig": {
          "$ref": "MultipleSelectConfig",
          "description": "Optional. MultipleSelectConfig represents the multiple options for a config variable."
        },
        "required": {
          "type": "boolean",
          "description": "Optional. Flag represents that this `ConfigVariable` must be provided for a connection."
        },
        "key": {
          "description": "Optional. Key of the config variable.",
          "type": "string"
        },
        "description": {
          "description": "Optional. Description.",
          "type": "string"
        },
        "displayName": {
          "description": "Optional. Display name of the parameter.",
          "type": "string"
        },
        "enumOptions": {
          "description": "Optional. Enum options. To be populated if `ValueType` is `ENUM`",
          "type": "array",
          "items": {
            "$ref": "EnumOption"
          }
        },
        "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"
        },
        "isAdvanced": {
          "description": "Optional. Indicates if current template is part of advanced settings",
          "type": "boolean"
        },
        "state": {
          "description": "Output only. State of the config variable.",
          "type": "string",
          "enumDescriptions": [
            "Status is unspecified.",
            "Config variable is active",
            "Config variable is deprecated."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "DEPRECATED"
          ],
          "readOnly": true
        },
        "validationRegex": {
          "description": "Optional. Regular expression in RE2 syntax used for validating the `value` of a `ConfigVariable`.",
          "type": "string"
        },
        "enumSource": {
          "enum": [
            "ENUM_SOURCE_UNSPECIFIED",
            "EVENT_TYPES_API"
          ],
          "type": "string",
          "enumDescriptions": [
            "Api type unspecified.",
            "list event types."
          ],
          "description": "Optional. enum source denotes the source of api to fill the enum options"
        },
        "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"
          ]
        }
      }
    },
    "AuthorizationCodeLink": {
      "type": "object",
      "properties": {
        "omitQueryParams": {
          "type": "boolean",
          "description": "Optional. Omit query params from the redirect URI."
        },
        "clientSecret": {
          "$ref": "Secret",
          "description": "Optional. The client secret assigned to the Google Cloud Connectors OAuth app for the connector data source."
        },
        "enablePkce": {
          "description": "Optional. Whether to enable PKCE for the auth code flow.",
          "type": "boolean"
        },
        "scopes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional. The scopes for which the user will authorize Google Cloud Connectors on the connector data source."
        },
        "uri": {
          "description": "Optional. The base URI the user must click to trigger the authorization code login flow.",
          "type": "string"
        },
        "clientId": {
          "type": "string",
          "description": "Optional. The client ID assigned to the Google Cloud Connectors OAuth app for the connector data source."
        }
      },
      "id": "AuthorizationCodeLink",
      "description": "This configuration captures the details required to render an authorization link for the OAuth Authorization Code Flow."
    }
  },
  "ownerName": "Google",
  "protocol": "rest",
  "version_module": true,
  "rootUrl": "https://connectors.googleapis.com/",
  "id": "connectors:v1",
  "batchPath": "batch",
  "endpoints": [
    {
      "endpointUrl": "https://connectors.us-central1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "us-central1"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://connectors.us-east1.rep.googleapis.com/",
      "location": "us-east1"
    },
    {
      "endpointUrl": "https://connectors.us-east4.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "us-east4"
    },
    {
      "endpointUrl": "https://connectors.us-east5.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "us-east5"
    },
    {
      "location": "us-south1",
      "description": "Regional Endpoint",
      "endpointUrl": "https://connectors.us-south1.rep.googleapis.com/"
    },
    {
      "location": "us-west1",
      "endpointUrl": "https://connectors.us-west1.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://connectors.us-west2.rep.googleapis.com/",
      "location": "us-west2"
    },
    {
      "location": "us-west3",
      "description": "Regional Endpoint",
      "endpointUrl": "https://connectors.us-west3.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://connectors.us-west4.rep.googleapis.com/",
      "location": "us-west4"
    }
  ],
  "kind": "discovery#restDescription",
  "revision": "20260701"
}
