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