{
  "mtlsRootUrl": "https://integrations.mtls.googleapis.com/",
  "version_module": true,
  "id": "integrations:v1",
  "protocol": "rest",
  "canonicalName": "Integrations",
  "version": "v1",
  "kind": "discovery#restDescription",
  "documentationLink": "https://cloud.google.com/application-integration",
  "baseUrl": "https://integrations.googleapis.com/",
  "servicePath": "",
  "basePath": "",
  "resources": {
    "projects": {
      "methods": {
        "getClientmetadata": {
          "id": "integrations.projects.getClientmetadata",
          "path": "v1/{+parent}/clientmetadata",
          "flatPath": "v1/projects/{projectsId}/clientmetadata",
          "httpMethod": "GET",
          "parameters": {
            "parent": {
              "description": "Required. Required: The ID of the GCP Project to be provisioned.",
              "pattern": "^projects/[^/]+$",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "parameterOrder": [
            "parent"
          ],
          "response": {
            "$ref": "GoogleCloudIntegrationsV1alphaGetClientMetadataResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "description": "Gets the metadata info for the requested client"
        }
      },
      "resources": {
        "locations": {
          "methods": {
            "getClients": {
              "id": "integrations.projects.locations.getClients",
              "path": "v1/{+parent}/clients",
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clients",
              "httpMethod": "GET",
              "parameters": {
                "parent": {
                  "description": "Required. Required: The ID of the GCP Project to be provisioned.",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "parameterOrder": [
                "parent"
              ],
              "response": {
                "$ref": "GoogleCloudIntegrationsV1alphaGetClientResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Gets the client configuration for the given project and location resource name"
            },
            "generateOpenApiSpec": {
              "id": "integrations.projects.locations.generateOpenApiSpec",
              "path": "v1/{+name}:generateOpenApiSpec",
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:generateOpenApiSpec",
              "httpMethod": "POST",
              "parameters": {
                "name": {
                  "description": "Required. Project and location from which the integrations should be fetched. Format: projects/{project}/location/{location}",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "request": {
                "$ref": "GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecRequest"
              },
              "response": {
                "$ref": "GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Generate OpenAPI spec for the requested integrations and api triggers"
            }
          },
          "resources": {
            "appsScriptProjects": {
              "methods": {
                "link": {
                  "id": "integrations.projects.locations.appsScriptProjects.link",
                  "path": "v1/{+parent}/appsScriptProjects:link",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appsScriptProjects:link",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. The project that the executed integration belongs to.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectRequest"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Links a existing Apps Script project."
                },
                "create": {
                  "id": "integrations.projects.locations.appsScriptProjects.create",
                  "path": "v1/{+parent}/appsScriptProjects",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appsScriptProjects",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. The project that the executed integration belongs to.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectRequest"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Creates an Apps Script project."
                }
              }
            },
            "clients": {
              "methods": {
                "provision": {
                  "id": "integrations.projects.locations.clients.provision",
                  "path": "v1/{+parent}/clients:provision",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clients:provision",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. Required: The ID of the GCP Project to be provisioned.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaProvisionClientRequest"
                  },
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Perform the provisioning steps to enable a user GCP project to use IP. If GCP project already registered on IP end via Apigee Integration, provisioning will fail."
                },
                "provisionClientPostProcessor": {
                  "id": "integrations.projects.locations.clients.provisionClientPostProcessor",
                  "path": "v1/{+parent}/clients:provisionClientPostProcessor",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clients:provisionClientPostProcessor",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. Required: The ID of the GCP Project to be provisioned.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaProvisionClientPostProcessorRequest"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaProvisionClientPostProcessorResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Perform post provisioning steps after client is provisioned."
                },
                "deprovision": {
                  "id": "integrations.projects.locations.clients.deprovision",
                  "path": "v1/{+parent}/clients:deprovision",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clients:deprovision",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. Required: The ID of the GCP Project to be deprovisioned.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaDeprovisionClientRequest"
                  },
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Perform the deprovisioning steps to disable a user GCP project to use IP and purge all related data in a wipeout-compliant way."
                },
                "changeConfig": {
                  "id": "integrations.projects.locations.clients.changeConfig",
                  "path": "v1/{+parent}/clients:changeConfig",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clients:changeConfig",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. Required: Format - projects/{project}/locations/{location}",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaChangeCustomerConfigRequest"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaChangeCustomerConfigResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Updates the client customer configuration for the given project and location resource name"
                },
                "switch": {
                  "id": "integrations.projects.locations.clients.switch",
                  "path": "v1/{+parent}/clients:switch",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clients:switch",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. Required: The ID of the GCP Project to be provisioned.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaSwitchEncryptionRequest"
                  },
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Update client from GMEK to CMEK"
                },
                "replace": {
                  "id": "integrations.projects.locations.clients.replace",
                  "path": "v1/{+parent}/clients:replace",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clients:replace",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. Required: The ID of the GCP Project to be provisioned.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaReplaceServiceAccountRequest"
                  },
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Update run-as service account for provisioned client"
                },
                "switchVariableMasking": {
                  "id": "integrations.projects.locations.clients.switchVariableMasking",
                  "path": "v1/{+parent}/clients:switchVariableMasking",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clients:switchVariableMasking",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. Required: The ID of the GCP Project to be provisioned.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaSwitchVariableMaskingRequest"
                  },
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Update variable masking for provisioned client"
                },
                "toggleHttp": {
                  "id": "integrations.projects.locations.clients.toggleHttp",
                  "path": "v1/{+parent}/clients:toggleHttp",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clients:toggleHttp",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. Required: The ID of the GCP Project to be provisioned.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaToggleHttpRequest"
                  },
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Enable/Disable http call for provisioned client"
                }
              }
            },
            "products": {
              "resources": {
                "cloudFunctions": {
                  "methods": {
                    "create": {
                      "id": "integrations.projects.locations.products.cloudFunctions.create",
                      "path": "v1/{+parent}/cloudFunctions",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/cloudFunctions",
                      "httpMethod": "POST",
                      "parameters": {
                        "parent": {
                          "description": "Required. The project that the executed integration belongs to.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaCreateCloudFunctionRequest"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaCreateCloudFunctionResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Creates a cloud function project."
                    }
                  }
                },
                "certificates": {
                  "methods": {
                    "list": {
                      "id": "integrations.projects.locations.products.certificates.list",
                      "path": "v1/{+parent}/certificates",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/certificates",
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "description": "Required. The client, which owns this collection of Certificates.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "The size of entries in the response. If unspecified, defaults to 100.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "The token returned in the previous response.",
                          "location": "query",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/list-filters.",
                          "location": "query",
                          "type": "string"
                        },
                        "readMask": {
                          "description": "The mask which specifies fields that need to be returned in the Certificate's response.",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaListCertificatesResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "List all the certificates that match the filter. Restrict to certificate of current client only."
                    },
                    "get": {
                      "id": "integrations.projects.locations.products.certificates.get",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/certificates/{certificatesId}",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. The certificate to retrieve. Format: projects/{project}/locations/{location}/certificates/{certificate}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/certificates/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaCertificate"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Get a certificates in the specified project."
                    },
                    "create": {
                      "id": "integrations.projects.locations.products.certificates.create",
                      "path": "v1/{+parent}/certificates",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/certificates",
                      "httpMethod": "POST",
                      "parameters": {
                        "parent": {
                          "description": "Required. \"projects/{project}/locations/{location}\" format.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaCertificate"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaCertificate"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Creates a new certificate. The certificate will be registered to the trawler service and will be encrypted using cloud KMS and stored in Spanner Returns the certificate."
                    },
                    "patch": {
                      "id": "integrations.projects.locations.products.certificates.patch",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/certificates/{certificatesId}",
                      "httpMethod": "PATCH",
                      "parameters": {
                        "name": {
                          "description": "Output only. Auto generated primary key",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/certificates/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "updateMask": {
                          "description": "Field mask specifying the fields in the above Certificate that have been modified and need to be updated.",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaCertificate"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaCertificate"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Updates the certificate by id. If new certificate file is updated, it will register with the trawler service, re-encrypt with cloud KMS and update the Spanner record. Other fields will directly update the Spanner record. Returns the Certificate."
                    },
                    "delete": {
                      "id": "integrations.projects.locations.products.certificates.delete",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/certificates/{certificatesId}",
                      "httpMethod": "DELETE",
                      "parameters": {
                        "name": {
                          "description": "Required. The name that is associated with the Certificate.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/certificates/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "GoogleProtobufEmpty"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Delete a certificate"
                    }
                  }
                },
                "authConfigs": {
                  "methods": {
                    "create": {
                      "id": "integrations.projects.locations.products.authConfigs.create",
                      "path": "v1/{+parent}/authConfigs",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/authConfigs",
                      "httpMethod": "POST",
                      "parameters": {
                        "parent": {
                          "description": "Required. \"projects/{project}/locations/{location}\" format.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "clientCertificate.sslCertificate": {
                          "description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----",
                          "location": "query",
                          "type": "string"
                        },
                        "clientCertificate.encryptedPrivateKey": {
                          "description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----",
                          "location": "query",
                          "type": "string"
                        },
                        "clientCertificate.passphrase": {
                          "description": "'passphrase' should be left unset if private key is not encrypted. Note that 'passphrase' is not the password for web server, but an extra layer of security to protected private key.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaAuthConfig"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaAuthConfig"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Creates an auth config record. Fetch corresponding credentials for specific auth types, e.g. access token for OAuth 2.0, JWT token for JWT. Encrypt the auth config with Cloud KMS and store the encrypted credentials in Spanner. Returns the encrypted auth config."
                    },
                    "patch": {
                      "id": "integrations.projects.locations.products.authConfigs.patch",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/authConfigs/{authConfigsId}",
                      "httpMethod": "PATCH",
                      "parameters": {
                        "name": {
                          "description": "Resource name of the auth config. For more information, see Manage authentication profiles. projects/{project}/locations/{location}/authConfigs/{authConfig}.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/authConfigs/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "updateMask": {
                          "description": "Field mask specifying the fields in the above AuthConfig that have been modified and need to be updated.",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        },
                        "clientCertificate.sslCertificate": {
                          "description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----",
                          "location": "query",
                          "type": "string"
                        },
                        "clientCertificate.encryptedPrivateKey": {
                          "description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----",
                          "location": "query",
                          "type": "string"
                        },
                        "clientCertificate.passphrase": {
                          "description": "'passphrase' should be left unset if private key is not encrypted. Note that 'passphrase' is not the password for web server, but an extra layer of security to protected private key.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaAuthConfig"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaAuthConfig"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Updates an auth config. If credential is updated, fetch the encrypted auth config from Spanner, decrypt with Cloud KMS key, update the credential fields, re-encrypt with Cloud KMS key and update the Spanner record. For other fields, directly update the Spanner record. Returns the encrypted auth config."
                    },
                    "delete": {
                      "id": "integrations.projects.locations.products.authConfigs.delete",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/authConfigs/{authConfigsId}",
                      "httpMethod": "DELETE",
                      "parameters": {
                        "name": {
                          "description": "Required. The name that is associated with the AuthConfig.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/authConfigs/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "GoogleProtobufEmpty"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Deletes an auth config."
                    },
                    "get": {
                      "id": "integrations.projects.locations.products.authConfigs.get",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/authConfigs/{authConfigsId}",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. The name that is associated with the AuthConfig.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/authConfigs/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaAuthConfig"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Gets a complete auth config. If the auth config doesn't exist, Code.NOT_FOUND exception will be thrown. Returns the decrypted auth config."
                    },
                    "list": {
                      "id": "integrations.projects.locations.products.authConfigs.list",
                      "path": "v1/{+parent}/authConfigs",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/authConfigs",
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "description": "Required. The client, which owns this collection of AuthConfigs.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "The size of entries in the response. If unspecified, defaults to 100.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "The token returned in the previous response.",
                          "location": "query",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/list-filters.",
                          "location": "query",
                          "type": "string"
                        },
                        "readMask": {
                          "description": "The mask which specifies fields that need to be returned in the AuthConfig's response.",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaListAuthConfigsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Lists all auth configs that match the filter. Restrict to auth configs belong to the current client only."
                    }
                  }
                },
                "integrations": {
                  "methods": {
                    "execute": {
                      "id": "integrations.projects.locations.products.integrations.execute",
                      "path": "v1/{+name}:execute",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}:execute",
                      "httpMethod": "POST",
                      "parameters": {
                        "name": {
                          "description": "Required. The integration resource name.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaExecuteIntegrationsRequest"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Executes integrations synchronously by passing the trigger id in the request body. The request is not returned until the requested executions are either fulfilled or experienced an error. If the integration name is not specified (passing `-`), all of the associated integration under the given trigger_id will be executed. Otherwise only the specified integration for the given `trigger_id` is executed. This is helpful for execution the integration from UI."
                    },
                    "schedule": {
                      "id": "integrations.projects.locations.products.integrations.schedule",
                      "path": "v1/{+name}:schedule",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}:schedule",
                      "httpMethod": "POST",
                      "parameters": {
                        "name": {
                          "description": "The integration resource name.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Schedules an integration for execution by passing the trigger id and the scheduled time in the request body."
                    },
                    "test": {
                      "id": "integrations.projects.locations.products.integrations.test",
                      "path": "v1/{+name}:test",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}:test",
                      "httpMethod": "POST",
                      "parameters": {
                        "name": {
                          "description": "Output only. Auto-generated primary key.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaTestIntegrationsRequest"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaTestIntegrationsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Execute the integration in draft state"
                    },
                    "list": {
                      "id": "integrations.projects.locations.products.integrations.list",
                      "path": "v1/{+parent}/integrations",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations",
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "description": "Required. Project and location from which the integrations should be listed. Format: projects/{project}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "The page size for the resquest.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "The page token for the resquest.",
                          "location": "query",
                          "type": "string"
                        },
                        "orderBy": {
                          "description": "The results would be returned in order you specified here. Supported sort keys are: Descending sort order by \"last_modified_time\", \"created_time\", \"snapshot_number\". Ascending sort order by the integration name.",
                          "location": "query",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Filter on fields of IntegrationVersion. Fields can be compared with literal values by use of \":\" (containment), \"=\" (equality), \"\u003e\" (greater), \"\u003c\" (less than), \u003e=\" (greater than or equal to), \"\u003c=\" (less than or equal to), and \"!=\" (inequality) operators. Negation, conjunction, and disjunction are written using NOT, AND, and OR keywords. For example, organization_id=\\\"1\\\" AND state=ACTIVE AND description:\"test\". Filtering cannot be performed on repeated fields like `task_config`.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaListIntegrationsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Returns the list of all integrations in the specified project."
                    }
                  },
                  "resources": {
                    "versions": {
                      "methods": {
                        "list": {
                          "id": "integrations.projects.locations.products.integrations.versions.list",
                          "path": "v1/{+parent}/versions",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions",
                          "httpMethod": "GET",
                          "parameters": {
                            "parent": {
                              "description": "Required. The parent resource where this version will be created. Format: projects/{project}/locations/{location}/integrations/{integration} Specifically, when parent equals: 1. projects//locations//integrations/, Meaning: \"List versions (with filter) for a particular integration\". 2. projects//locations//integrations/- Meaning: \"List versions (with filter) for a client within a particular region\".",
                              "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "pageSize": {
                              "description": "The maximum number of versions to return. The service may return fewer than this value. If unspecified, at most 50 versions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.",
                              "location": "query",
                              "type": "integer",
                              "format": "int32"
                            },
                            "pageToken": {
                              "description": "A page token, received from a previous `ListIntegrationVersions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListIntegrationVersions` must match the call that provided the page token.",
                              "location": "query",
                              "type": "string"
                            },
                            "filter": {
                              "description": "Filter on fields of IntegrationVersion. Fields can be compared with literal values by use of \":\" (containment), \"=\" (equality), \"\u003e\" (greater), \"\u003c\" (less than), \u003e=\" (greater than or equal to), \"\u003c=\" (less than or equal to), and \"!=\" (inequality) operators. Negation, conjunction, and disjunction are written using NOT, AND, and OR keywords. For example, organization_id=\\\"1\\\" AND state=ACTIVE AND description:\"test\". Filtering cannot be performed on repeated fields like `task_config`.",
                              "location": "query",
                              "type": "string"
                            },
                            "orderBy": {
                              "description": "The results would be returned in order you specified here. Currently supported sort keys are: Descending sort order for \"last\\_modified\\_time\", \"created\\_time\", and \"snapshot\\_number\". Ascending sort order for `name`.",
                              "location": "query",
                              "type": "string"
                            },
                            "fieldMask": {
                              "description": "The field mask which specifies the particular data to be returned.",
                              "location": "query",
                              "type": "string",
                              "format": "google-fieldmask"
                            }
                          },
                          "parameterOrder": [
                            "parent"
                          ],
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Returns the list of all integration versions in the specified project."
                        },
                        "create": {
                          "id": "integrations.projects.locations.products.integrations.versions.create",
                          "path": "v1/{+parent}/versions",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions",
                          "httpMethod": "POST",
                          "parameters": {
                            "parent": {
                              "description": "Required. The parent resource where this version will be created. Format: projects/{project}/locations/{location}/integrations/{integration}",
                              "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "newIntegration": {
                              "description": "Set this flag to true, if draft version is to be created for a brand new integration. False, if the request is for an existing integration. For backward compatibility reasons, even if this flag is set to `false` and no existing integration is found, a new draft integration will still be created.",
                              "location": "query",
                              "type": "boolean"
                            },
                            "createSampleIntegrations": {
                              "description": "Optional. Optional. Indicates if sample workflow should be created.",
                              "location": "query",
                              "type": "boolean"
                            }
                          },
                          "parameterOrder": [
                            "parent"
                          ],
                          "request": {
                            "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
                          },
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Create a integration with a draft version in the specified project."
                        },
                        "patch": {
                          "id": "integrations.projects.locations.products.integrations.versions.patch",
                          "path": "v1/{+name}",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}",
                          "httpMethod": "PATCH",
                          "parameters": {
                            "name": {
                              "description": "Output only. Auto-generated primary key.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/versions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "updateMask": {
                              "description": "Field mask specifying the fields in the above integration that have been modified and need to be updated.",
                              "location": "query",
                              "type": "string",
                              "format": "google-fieldmask"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "request": {
                            "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
                          },
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Update a integration with a draft version in the specified project."
                        },
                        "get": {
                          "id": "integrations.projects.locations.products.integrations.versions.get",
                          "path": "v1/{+name}",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}",
                          "httpMethod": "GET",
                          "parameters": {
                            "name": {
                              "description": "Required. The version to retrieve. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}",
                              "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/versions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Get a integration in the specified project."
                        },
                        "publish": {
                          "id": "integrations.projects.locations.products.integrations.versions.publish",
                          "path": "v1/{+name}:publish",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}:publish",
                          "httpMethod": "POST",
                          "parameters": {
                            "name": {
                              "description": "Required. The version to publish. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}",
                              "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/versions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "request": {
                            "$ref": "GoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest"
                          },
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaPublishIntegrationVersionResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "This RPC throws an exception if the integration is in ARCHIVED or ACTIVE state. This RPC throws an exception if the version being published is DRAFT, and if the `locked_by` user is not the same as the user performing the Publish. Audit fields updated include last_published_timestamp, last_published_by, last_modified_timestamp, last_modified_by. Any existing lock is on this integration is released."
                        },
                        "delete": {
                          "id": "integrations.projects.locations.products.integrations.versions.delete",
                          "path": "v1/{+name}",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}",
                          "httpMethod": "DELETE",
                          "parameters": {
                            "name": {
                              "description": "Required. The version to delete. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}",
                              "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/versions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "response": {
                            "$ref": "GoogleProtobufEmpty"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Soft-deletes the integration. Changes the status of the integration to ARCHIVED. If the integration being ARCHIVED is tagged as \"HEAD\", the tag is removed from this snapshot and set to the previous non-ARCHIVED snapshot. The PUBLISH_REQUESTED, DUE_FOR_DELETION tags are removed too. This RPC throws an exception if the version being deleted is DRAFT, and if the `locked_by` user is not the same as the user performing the Delete. Audit fields updated include last_modified_timestamp, last_modified_by. Any existing lock is released when Deleting a integration. Currently, there is no undelete mechanism."
                        },
                        "upload": {
                          "id": "integrations.projects.locations.products.integrations.versions.upload",
                          "path": "v1/{+parent}/versions:upload",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions:upload",
                          "httpMethod": "POST",
                          "parameters": {
                            "parent": {
                              "description": "Required. The version to upload. Format: projects/{project}/locations/{location}/integrations/{integration}",
                              "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "parent"
                          ],
                          "request": {
                            "$ref": "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest"
                          },
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Uploads an integration. The content can be a previously downloaded integration. Performs the same function as CreateDraftIntegrationVersion, but accepts input in a string format, which holds the complete representation of the IntegrationVersion content."
                        },
                        "download": {
                          "id": "integrations.projects.locations.products.integrations.versions.download",
                          "path": "v1/{+name}:download",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}:download",
                          "httpMethod": "GET",
                          "parameters": {
                            "name": {
                              "description": "Required. The version to download. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}",
                              "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/versions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "fileFormat": {
                              "description": "File format for download request.",
                              "location": "query",
                              "type": "string",
                              "enumDescriptions": [
                                "Unspecified file format",
                                "JSON File Format",
                                "YAML File Format"
                              ],
                              "enum": [
                                "FILE_FORMAT_UNSPECIFIED",
                                "JSON",
                                "YAML"
                              ]
                            },
                            "files": {
                              "description": "Optional. Integration related file to download like Integration Json, Config variable, testcase etc.",
                              "location": "query",
                              "repeated": true,
                              "type": "string",
                              "enumDescriptions": [
                                "Default value.",
                                "Integration file.",
                                "Integration Config variables."
                              ],
                              "enum": [
                                "INTEGRATION_FILE_UNSPECIFIED",
                                "INTEGRATION",
                                "INTEGRATION_CONFIG_VARIABLES"
                              ]
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaDownloadIntegrationVersionResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Downloads an integration. Retrieves the `IntegrationVersion` for a given `integration_id` and returns the response as a string."
                        },
                        "takeoverEditLock": {
                          "id": "integrations.projects.locations.products.integrations.versions.takeoverEditLock",
                          "path": "v1/{+integrationVersion}:takeoverEditLock",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}:takeoverEditLock",
                          "httpMethod": "POST",
                          "parameters": {
                            "integrationVersion": {
                              "description": "Required. The version to take over edit lock. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}",
                              "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/versions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "integrationVersion"
                          ],
                          "request": {
                            "$ref": "GoogleCloudIntegrationsV1alphaTakeoverEditLockRequest"
                          },
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaTakeoverEditLockResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Clears the `locked_by` and `locked_at_timestamp`in the DRAFT version of this integration. It then performs the same action as the CreateDraftIntegrationVersion (i.e., copies the DRAFT version of the integration as a SNAPSHOT and then creates a new DRAFT version with the `locked_by` set to the `user_taking_over` and the `locked_at_timestamp` set to the current timestamp). Both the `locked_by` and `user_taking_over` are notified via email about the takeover. This RPC throws an exception if the integration is not in DRAFT status or if the `locked_by` and `locked_at_timestamp` fields are not set.The TakeoverEdit lock is treated the same as an edit of the integration, and hence shares ACLs with edit. Audit fields updated include last_modified_timestamp, last_modified_by."
                        },
                        "unpublish": {
                          "id": "integrations.projects.locations.products.integrations.versions.unpublish",
                          "path": "v1/{+name}:unpublish",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}:unpublish",
                          "httpMethod": "POST",
                          "parameters": {
                            "name": {
                              "description": "Required. The version to deactivate. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}",
                              "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/versions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "request": {
                            "$ref": "GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest"
                          },
                          "response": {
                            "$ref": "GoogleProtobufEmpty"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Sets the status of the ACTIVE integration to SNAPSHOT with a new tag \"PREVIOUSLY_PUBLISHED\" after validating it. The \"HEAD\" and \"PUBLISH_REQUESTED\" tags do not change. This RPC throws an exception if the version being snapshot is not ACTIVE. Audit fields added include action, action_by, action_timestamp."
                        }
                      }
                    },
                    "executions": {
                      "methods": {
                        "list": {
                          "id": "integrations.projects.locations.products.integrations.executions.list",
                          "path": "v1/{+parent}/executions",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions",
                          "httpMethod": "GET",
                          "parameters": {
                            "parent": {
                              "description": "Required. The parent resource name of the integration execution.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "filter": {
                              "description": "Optional. Standard filter field, we support filtering on following fields: workflow_name: the name of the integration. CreateTimestamp: the execution created time. event_execution_state: the state of the executions. execution_id: the id of the execution. trigger_id: the id of the trigger. parameter_type: the type of the parameters involved in the execution. All fields support for EQUALS, in additional: CreateTimestamp support for LESS_THAN, GREATER_THAN ParameterType support for HAS For example: \"parameter_type\" HAS \\\"string\\\" Also supports operators like AND, OR, NOT For example, trigger_id=\\\"id1\\\" AND workflow_name=\\\"testWorkflow\\\"",
                              "location": "query",
                              "type": "string"
                            },
                            "pageSize": {
                              "description": "Optional. The size of entries in the response.",
                              "location": "query",
                              "type": "integer",
                              "format": "int32"
                            },
                            "pageToken": {
                              "description": "Optional. The token returned in the previous response.",
                              "location": "query",
                              "type": "string"
                            },
                            "orderBy": {
                              "description": "Optional. The results would be returned in order you specified here. Currently supporting \"create_time\".",
                              "location": "query",
                              "type": "string"
                            },
                            "readMask": {
                              "description": "Optional. View mask for the response data. If set, only the field specified will be returned as part of the result. If not set, all fields in Execution will be filled and returned. Supported fields: trigger_id execution_method create_time update_time execution_details execution_details.state execution_details.execution_snapshots execution_details.attempt_stats execution_details.event_execution_snapshots_size request_parameters cloud_logging_details snapshot_number replay_info",
                              "location": "query",
                              "type": "string",
                              "format": "google-fieldmask"
                            },
                            "filterParams.workflowName": {
                              "description": "Workflow name.",
                              "location": "query",
                              "type": "string"
                            },
                            "filterParams.startTime": {
                              "description": "Start timestamp.",
                              "location": "query",
                              "type": "string",
                              "format": "int64"
                            },
                            "filterParams.endTime": {
                              "description": "End timestamp.",
                              "location": "query",
                              "type": "string",
                              "format": "int64"
                            },
                            "filterParams.eventStatuses": {
                              "description": "List of possible event statuses.",
                              "location": "query",
                              "repeated": true,
                              "type": "string"
                            },
                            "filterParams.taskStatuses": {
                              "description": "List of possible task statuses.",
                              "location": "query",
                              "deprecated": true,
                              "repeated": true,
                              "type": "string"
                            },
                            "filterParams.customFilter": {
                              "description": "Optional user-provided custom filter.",
                              "location": "query",
                              "type": "string"
                            },
                            "filterParams.executionId": {
                              "description": "Execution id.",
                              "location": "query",
                              "type": "string"
                            },
                            "filterParams.parameterValue": {
                              "description": "Param value. DEPRECATED. User parameter_pair_value instead.",
                              "location": "query",
                              "deprecated": true,
                              "type": "string"
                            },
                            "filterParams.parameterType": {
                              "description": "Param type.",
                              "location": "query",
                              "type": "string"
                            },
                            "filterParams.parameterKey": {
                              "description": "Param key. DEPRECATED. User parameter_pair_key instead.",
                              "location": "query",
                              "deprecated": true,
                              "type": "string"
                            },
                            "filterParams.parameterPairKey": {
                              "description": "Param key in the key value pair filter.",
                              "location": "query",
                              "type": "string"
                            },
                            "filterParams.parameterPairValue": {
                              "description": "Param value in the key value pair filter.",
                              "location": "query",
                              "type": "string"
                            },
                            "refreshAcl": {
                              "description": "Optional. If true, the service will use the most recent acl information to list event execution infos and renew the acl cache. Note that fetching the most recent acl is synchronous, so it will increase RPC call latency.",
                              "location": "query",
                              "type": "boolean"
                            },
                            "truncateParams": {
                              "description": "Optional. If true, the service will truncate the params to only keep the first 1000 characters of string params and empty the executions in order to make response smaller. Only works for UI and when the params fields are not filtered out.",
                              "location": "query",
                              "deprecated": true,
                              "type": "boolean"
                            },
                            "snapshotMetadataWithoutParams": {
                              "description": "Optional. If true, the service will provide execution info with snapshot metadata only i.e. without event parameters.",
                              "location": "query",
                              "type": "boolean"
                            }
                          },
                          "parameterOrder": [
                            "parent"
                          ],
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaListExecutionsResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Lists the results of all the integration executions. The response includes the same information as the [execution log](https://cloud.google.com/application-integration/docs/viewing-logs) in the Integration UI."
                        },
                        "get": {
                          "id": "integrations.projects.locations.products.integrations.executions.get",
                          "path": "v1/{+name}",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}",
                          "httpMethod": "GET",
                          "parameters": {
                            "name": {
                              "description": "Required. The execution resource name. Format: projects/{gcp_project_id}/locations/{location}/products/{product}/integrations/{integration_id}/executions/{execution_id}",
                              "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/executions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaExecution"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Get an execution in the specified project."
                        },
                        "download": {
                          "id": "integrations.projects.locations.products.integrations.executions.download",
                          "path": "v1/{+name}:download",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}:download",
                          "httpMethod": "GET",
                          "parameters": {
                            "name": {
                              "description": "Required. The execution resource name. Format: projects/{gcp_project_id}/locations/{location}/products/{product}/integrations/{integration_id}/executions/{execution_id}",
                              "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/executions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaDownloadExecutionResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Download the execution."
                        }
                      },
                      "resources": {
                        "suspensions": {
                          "methods": {
                            "resolve": {
                              "id": "integrations.projects.locations.products.integrations.executions.suspensions.resolve",
                              "path": "v1/{+name}:resolve",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions/{suspensionsId}:resolve",
                              "httpMethod": "POST",
                              "parameters": {
                                "name": {
                                  "description": "Required. projects/{gcp_project_id}/locations/{location}/products/{product}/integrations/{integration_name}/executions/{execution_name}/suspensions/{suspension_id}",
                                  "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/executions/[^/]+/suspensions/[^/]+$",
                                  "location": "path",
                                  "required": true,
                                  "type": "string"
                                }
                              },
                              "parameterOrder": [
                                "name"
                              ],
                              "request": {
                                "$ref": "GoogleCloudIntegrationsV1alphaResolveSuspensionRequest"
                              },
                              "response": {
                                "$ref": "GoogleCloudIntegrationsV1alphaResolveSuspensionResponse"
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ],
                              "description": "* Resolves (lifts/rejects) any number of suspensions. If the integration is already running, only the status of the suspension is updated. Otherwise, the suspended integration will begin execution again."
                            },
                            "list": {
                              "id": "integrations.projects.locations.products.integrations.executions.suspensions.list",
                              "path": "v1/{+parent}/suspensions",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions",
                              "httpMethod": "GET",
                              "parameters": {
                                "parent": {
                                  "description": "Required. projects/{gcp_project_id}/locations/{location}/products/{product}/integrations/{integration_name}/executions/{execution_name}",
                                  "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/executions/[^/]+$",
                                  "location": "path",
                                  "required": true,
                                  "type": "string"
                                },
                                "pageSize": {
                                  "description": "Maximum number of entries in the response.",
                                  "location": "query",
                                  "type": "integer",
                                  "format": "int32"
                                },
                                "pageToken": {
                                  "description": "Token to retrieve a specific page.",
                                  "location": "query",
                                  "type": "string"
                                },
                                "filter": {
                                  "description": "Standard filter field.",
                                  "location": "query",
                                  "type": "string"
                                },
                                "orderBy": {
                                  "description": "Field name to order by.",
                                  "location": "query",
                                  "type": "string"
                                }
                              },
                              "parameterOrder": [
                                "parent"
                              ],
                              "response": {
                                "$ref": "GoogleCloudIntegrationsV1alphaListSuspensionsResponse"
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ],
                              "description": "* Lists suspensions associated with a specific execution. Only those with permissions to resolve the relevant suspensions will be able to view them."
                            },
                            "lift": {
                              "id": "integrations.projects.locations.products.integrations.executions.suspensions.lift",
                              "path": "v1/{+name}:lift",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions/{suspensionsId}:lift",
                              "httpMethod": "POST",
                              "parameters": {
                                "name": {
                                  "description": "Required. The resource that the suspension belongs to. \"projects/{project}/locations/{location}/products/{product}/integrations/{integration}/executions/{execution}/suspensions/{suspenion}\" format.",
                                  "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/executions/[^/]+/suspensions/[^/]+$",
                                  "location": "path",
                                  "required": true,
                                  "type": "string"
                                }
                              },
                              "parameterOrder": [
                                "name"
                              ],
                              "request": {
                                "$ref": "GoogleCloudIntegrationsV1alphaLiftSuspensionRequest"
                              },
                              "response": {
                                "$ref": "GoogleCloudIntegrationsV1alphaLiftSuspensionResponse"
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ],
                              "description": "* Lifts suspension for the Suspension task. Fetch corresponding suspension with provided suspension Id, resolve suspension, and set up suspension result for the Suspension Task."
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "sfdcInstances": {
                  "methods": {
                    "create": {
                      "id": "integrations.projects.locations.products.sfdcInstances.create",
                      "path": "v1/{+parent}/sfdcInstances",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances",
                      "httpMethod": "POST",
                      "parameters": {
                        "parent": {
                          "description": "Required. \"projects/{project}/locations/{location}\" format.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Creates an sfdc instance record. Store the sfdc instance in Spanner. Returns the sfdc instance."
                    },
                    "patch": {
                      "id": "integrations.projects.locations.products.sfdcInstances.patch",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}",
                      "httpMethod": "PATCH",
                      "parameters": {
                        "name": {
                          "description": "Resource name of the SFDC instance projects/{project}/locations/{location}/sfdcInstances/{sfdcInstance}.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/sfdcInstances/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "updateMask": {
                          "description": "Field mask specifying the fields in the above SfdcInstance that have been modified and need to be updated.",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Updates an sfdc instance. Updates the sfdc instance in spanner. Returns the sfdc instance."
                    },
                    "delete": {
                      "id": "integrations.projects.locations.products.sfdcInstances.delete",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}",
                      "httpMethod": "DELETE",
                      "parameters": {
                        "name": {
                          "description": "Required. The name that is associated with the SfdcInstance.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/sfdcInstances/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "GoogleProtobufEmpty"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Deletes an sfdc instance."
                    },
                    "get": {
                      "id": "integrations.projects.locations.products.sfdcInstances.get",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. The name that is associated with the SfdcInstance.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/sfdcInstances/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Gets an sfdc instance. If the instance doesn't exist, Code.NOT_FOUND exception will be thrown."
                    },
                    "list": {
                      "id": "integrations.projects.locations.products.sfdcInstances.list",
                      "path": "v1/{+parent}/sfdcInstances",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances",
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "description": "Required. The client, which owns this collection of SfdcInstances.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "The size of entries in the response. If unspecified, defaults to 100.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "The token returned in the previous response.",
                          "location": "query",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/list-filters.",
                          "location": "query",
                          "type": "string"
                        },
                        "readMask": {
                          "description": "The mask which specifies fields that need to be returned in the SfdcInstance's response.",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaListSfdcInstancesResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Lists all sfdc instances that match the filter. Restrict to sfdc instances belonging to the current client only."
                    }
                  },
                  "resources": {
                    "sfdcChannels": {
                      "methods": {
                        "create": {
                          "id": "integrations.projects.locations.products.sfdcInstances.sfdcChannels.create",
                          "path": "v1/{+parent}/sfdcChannels",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels",
                          "httpMethod": "POST",
                          "parameters": {
                            "parent": {
                              "description": "Required. \"projects/{project}/locations/{location}\" format.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/sfdcInstances/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "parent"
                          ],
                          "request": {
                            "$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel"
                          },
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Creates an sfdc channel record. Store the sfdc channel in Spanner. Returns the sfdc channel."
                        },
                        "patch": {
                          "id": "integrations.projects.locations.products.sfdcInstances.sfdcChannels.patch",
                          "path": "v1/{+name}",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels/{sfdcChannelsId}",
                          "httpMethod": "PATCH",
                          "parameters": {
                            "name": {
                              "description": "Resource name of the SFDC channel projects/{project}/locations/{location}/sfdcInstances/{sfdc_instance}/sfdcChannels/{sfdc_channel}.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/sfdcInstances/[^/]+/sfdcChannels/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "updateMask": {
                              "description": "Field mask specifying the fields in the above SfdcChannel that have been modified and need to be updated.",
                              "location": "query",
                              "type": "string",
                              "format": "google-fieldmask"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "request": {
                            "$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel"
                          },
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Updates an sfdc channel. Updates the sfdc channel in spanner. Returns the sfdc channel."
                        },
                        "delete": {
                          "id": "integrations.projects.locations.products.sfdcInstances.sfdcChannels.delete",
                          "path": "v1/{+name}",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels/{sfdcChannelsId}",
                          "httpMethod": "DELETE",
                          "parameters": {
                            "name": {
                              "description": "Required. The name that is associated with the SfdcChannel.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/sfdcInstances/[^/]+/sfdcChannels/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "response": {
                            "$ref": "GoogleProtobufEmpty"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Deletes an sfdc channel."
                        },
                        "get": {
                          "id": "integrations.projects.locations.products.sfdcInstances.sfdcChannels.get",
                          "path": "v1/{+name}",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels/{sfdcChannelsId}",
                          "httpMethod": "GET",
                          "parameters": {
                            "name": {
                              "description": "Required. The name that is associated with the SfdcChannel.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/sfdcInstances/[^/]+/sfdcChannels/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Gets an sfdc channel. If the channel doesn't exist, Code.NOT_FOUND exception will be thrown."
                        },
                        "list": {
                          "id": "integrations.projects.locations.products.sfdcInstances.sfdcChannels.list",
                          "path": "v1/{+parent}/sfdcChannels",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels",
                          "httpMethod": "GET",
                          "parameters": {
                            "parent": {
                              "description": "Required. The client, which owns this collection of SfdcChannels.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/sfdcInstances/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "pageSize": {
                              "description": "The size of entries in the response. If unspecified, defaults to 100.",
                              "location": "query",
                              "type": "integer",
                              "format": "int32"
                            },
                            "pageToken": {
                              "description": "The token returned in the previous response.",
                              "location": "query",
                              "type": "string"
                            },
                            "filter": {
                              "description": "Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/list-filters.",
                              "location": "query",
                              "type": "string"
                            },
                            "readMask": {
                              "description": "The mask which specifies fields that need to be returned in the SfdcChannel's response.",
                              "location": "query",
                              "type": "string",
                              "format": "google-fieldmask"
                            }
                          },
                          "parameterOrder": [
                            "parent"
                          ],
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaListSfdcChannelsResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Lists all sfdc channels that match the filter. Restrict to sfdc channels belonging to the current client only."
                        }
                      }
                    }
                  }
                }
              }
            },
            "cloudFunctions": {
              "methods": {
                "create": {
                  "id": "integrations.projects.locations.cloudFunctions.create",
                  "path": "v1/{+parent}/cloudFunctions",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/cloudFunctions",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. The project that the executed integration belongs to.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaCreateCloudFunctionRequest"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaCreateCloudFunctionResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Creates a cloud function project."
                }
              }
            },
            "certificates": {
              "methods": {
                "list": {
                  "id": "integrations.projects.locations.certificates.list",
                  "path": "v1/{+parent}/certificates",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificates",
                  "httpMethod": "GET",
                  "parameters": {
                    "parent": {
                      "description": "Required. The client, which owns this collection of Certificates.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "The size of entries in the response. If unspecified, defaults to 100.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "The token returned in the previous response.",
                      "location": "query",
                      "type": "string"
                    },
                    "filter": {
                      "description": "Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/list-filters.",
                      "location": "query",
                      "type": "string"
                    },
                    "readMask": {
                      "description": "The mask which specifies fields that need to be returned in the Certificate's response.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaListCertificatesResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "List all the certificates that match the filter. Restrict to certificate of current client only."
                },
                "get": {
                  "id": "integrations.projects.locations.certificates.get",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificates/{certificatesId}",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "description": "Required. The certificate to retrieve. Format: projects/{project}/locations/{location}/certificates/{certificate}",
                      "pattern": "^projects/[^/]+/locations/[^/]+/certificates/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaCertificate"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Get a certificates in the specified project."
                },
                "create": {
                  "id": "integrations.projects.locations.certificates.create",
                  "path": "v1/{+parent}/certificates",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificates",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. \"projects/{project}/locations/{location}\" format.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaCertificate"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaCertificate"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Creates a new certificate. The certificate will be registered to the trawler service and will be encrypted using cloud KMS and stored in Spanner Returns the certificate."
                },
                "patch": {
                  "id": "integrations.projects.locations.certificates.patch",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificates/{certificatesId}",
                  "httpMethod": "PATCH",
                  "parameters": {
                    "name": {
                      "description": "Output only. Auto generated primary key",
                      "pattern": "^projects/[^/]+/locations/[^/]+/certificates/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "updateMask": {
                      "description": "Field mask specifying the fields in the above Certificate that have been modified and need to be updated.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaCertificate"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaCertificate"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Updates the certificate by id. If new certificate file is updated, it will register with the trawler service, re-encrypt with cloud KMS and update the Spanner record. Other fields will directly update the Spanner record. Returns the Certificate."
                },
                "delete": {
                  "id": "integrations.projects.locations.certificates.delete",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificates/{certificatesId}",
                  "httpMethod": "DELETE",
                  "parameters": {
                    "name": {
                      "description": "Required. The name that is associated with the Certificate.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/certificates/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Delete a certificate"
                }
              }
            },
            "authConfigs": {
              "methods": {
                "create": {
                  "id": "integrations.projects.locations.authConfigs.create",
                  "path": "v1/{+parent}/authConfigs",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authConfigs",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. \"projects/{project}/locations/{location}\" format.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "clientCertificate.sslCertificate": {
                      "description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----",
                      "location": "query",
                      "type": "string"
                    },
                    "clientCertificate.encryptedPrivateKey": {
                      "description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----",
                      "location": "query",
                      "type": "string"
                    },
                    "clientCertificate.passphrase": {
                      "description": "'passphrase' should be left unset if private key is not encrypted. Note that 'passphrase' is not the password for web server, but an extra layer of security to protected private key.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaAuthConfig"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaAuthConfig"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Creates an auth config record. Fetch corresponding credentials for specific auth types, e.g. access token for OAuth 2.0, JWT token for JWT. Encrypt the auth config with Cloud KMS and store the encrypted credentials in Spanner. Returns the encrypted auth config."
                },
                "patch": {
                  "id": "integrations.projects.locations.authConfigs.patch",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authConfigs/{authConfigsId}",
                  "httpMethod": "PATCH",
                  "parameters": {
                    "name": {
                      "description": "Resource name of the auth config. For more information, see Manage authentication profiles. projects/{project}/locations/{location}/authConfigs/{authConfig}.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/authConfigs/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "updateMask": {
                      "description": "Field mask specifying the fields in the above AuthConfig that have been modified and need to be updated.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    },
                    "clientCertificate.sslCertificate": {
                      "description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----",
                      "location": "query",
                      "type": "string"
                    },
                    "clientCertificate.encryptedPrivateKey": {
                      "description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----",
                      "location": "query",
                      "type": "string"
                    },
                    "clientCertificate.passphrase": {
                      "description": "'passphrase' should be left unset if private key is not encrypted. Note that 'passphrase' is not the password for web server, but an extra layer of security to protected private key.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaAuthConfig"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaAuthConfig"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Updates an auth config. If credential is updated, fetch the encrypted auth config from Spanner, decrypt with Cloud KMS key, update the credential fields, re-encrypt with Cloud KMS key and update the Spanner record. For other fields, directly update the Spanner record. Returns the encrypted auth config."
                },
                "delete": {
                  "id": "integrations.projects.locations.authConfigs.delete",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authConfigs/{authConfigsId}",
                  "httpMethod": "DELETE",
                  "parameters": {
                    "name": {
                      "description": "Required. The name that is associated with the AuthConfig.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/authConfigs/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Deletes an auth config."
                },
                "get": {
                  "id": "integrations.projects.locations.authConfigs.get",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authConfigs/{authConfigsId}",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "description": "Required. The name that is associated with the AuthConfig.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/authConfigs/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaAuthConfig"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Gets a complete auth config. If the auth config doesn't exist, Code.NOT_FOUND exception will be thrown. Returns the decrypted auth config."
                },
                "list": {
                  "id": "integrations.projects.locations.authConfigs.list",
                  "path": "v1/{+parent}/authConfigs",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authConfigs",
                  "httpMethod": "GET",
                  "parameters": {
                    "parent": {
                      "description": "Required. The client, which owns this collection of AuthConfigs.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "The size of entries in the response. If unspecified, defaults to 100.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "The token returned in the previous response.",
                      "location": "query",
                      "type": "string"
                    },
                    "filter": {
                      "description": "Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/list-filters.",
                      "location": "query",
                      "type": "string"
                    },
                    "readMask": {
                      "description": "The mask which specifies fields that need to be returned in the AuthConfig's response.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaListAuthConfigsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Lists all auth configs that match the filter. Restrict to auth configs belong to the current client only."
                }
              }
            },
            "connections": {
              "methods": {
                "list": {
                  "id": "integrations.projects.locations.connections.list",
                  "path": "v1/{+parent}/connections",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections",
                  "httpMethod": "GET",
                  "parameters": {
                    "parent": {
                      "description": "Required. Parent resource of the Connection, of the form: `projects/*/locations/*`",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "Page size.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "Page token.",
                      "location": "query",
                      "type": "string"
                    },
                    "filter": {
                      "description": "Filter.",
                      "location": "query",
                      "type": "string"
                    },
                    "orderBy": {
                      "description": "Order by parameters.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaListConnectionsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Lists Connections in a given project and location."
                },
                "getConnectionSchemaMetadata": {
                  "id": "integrations.projects.locations.connections.getConnectionSchemaMetadata",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/connectionSchemaMetadata",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "description": "Required. ConnectionSchemaMetadata name. Format: projects/{project}/locations/{location}/connections/{connection}/connectionSchemaMetadata",
                      "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/connectionSchemaMetadata$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaConnectionSchemaMetadata"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Lists the available entities and actions associated with a Connection."
                }
              },
              "resources": {
                "runtimeEntitySchemas": {
                  "methods": {
                    "list": {
                      "id": "integrations.projects.locations.connections.runtimeEntitySchemas.list",
                      "path": "v1/{+parent}/runtimeEntitySchemas",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/runtimeEntitySchemas",
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "description": "Required. Parent resource of RuntimeEntitySchema. Format: projects/{project}/locations/{location}/connections/{connection}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "Page size.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "Page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Filter. Only the entity field with literal equality operator is supported.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaListRuntimeEntitySchemasResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Lists the JSON schemas for the properties of runtime entities, filtered by entity name."
                    }
                  }
                },
                "runtimeActionSchemas": {
                  "methods": {
                    "list": {
                      "id": "integrations.projects.locations.connections.runtimeActionSchemas.list",
                      "path": "v1/{+parent}/runtimeActionSchemas",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/runtimeActionSchemas",
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "description": "Required. Parent resource of RuntimeActionSchema. Format: projects/{project}/locations/{location}/connections/{connection}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "Page size.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "Page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Filter. Only the action field with literal equality operator is supported.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaListRuntimeActionSchemasResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Lists the JSON schemas for the inputs and outputs of actions, filtered by action name."
                    }
                  }
                }
              }
            },
            "integrations": {
              "methods": {
                "execute": {
                  "id": "integrations.projects.locations.integrations.execute",
                  "path": "v1/{+name}:execute",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}:execute",
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "description": "Required. The integration resource name.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaExecuteIntegrationsRequest"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Executes integrations synchronously by passing the trigger id in the request body. The request is not returned until the requested executions are either fulfilled or experienced an error. If the integration name is not specified (passing `-`), all of the associated integration under the given trigger_id will be executed. Otherwise only the specified integration for the given `trigger_id` is executed. This is helpful for execution the integration from UI."
                },
                "schedule": {
                  "id": "integrations.projects.locations.integrations.schedule",
                  "path": "v1/{+name}:schedule",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}:schedule",
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "description": "The integration resource name.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Schedules an integration for execution by passing the trigger id and the scheduled time in the request body."
                },
                "executeEvent": {
                  "id": "integrations.projects.locations.integrations.executeEvent",
                  "path": "v1/{+name}:executeEvent",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}:executeEvent",
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "description": "Required. The integration resource name. Format: projects/{gcp_project_id}/locations/{location}/integrations/{integration_id}",
                      "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "triggerId": {
                      "description": "Required. Id of the integration trigger config. The trigger_id is in the format: `integration_connector_trigger/projects/{gcp_project_id}/location/{location}/connections/{connection_name}/subscriptions/{subscription_name}`.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "any",
                      "description": "Properties of the object."
                    }
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaExecuteEventResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Executes an integration on receiving events from Integration Connector triggers, Eventarc or CPS Trigger. Input data to integration is received in body in json format"
                },
                "test": {
                  "id": "integrations.projects.locations.integrations.test",
                  "path": "v1/{+name}:test",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}:test",
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "description": "Output only. Auto-generated primary key.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaTestIntegrationsRequest"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaTestIntegrationsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Execute the integration in draft state"
                },
                "list": {
                  "id": "integrations.projects.locations.integrations.list",
                  "path": "v1/{+parent}/integrations",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations",
                  "httpMethod": "GET",
                  "parameters": {
                    "parent": {
                      "description": "Required. Project and location from which the integrations should be listed. Format: projects/{project}",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "The page size for the resquest.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "The page token for the resquest.",
                      "location": "query",
                      "type": "string"
                    },
                    "orderBy": {
                      "description": "The results would be returned in order you specified here. Supported sort keys are: Descending sort order by \"last_modified_time\", \"created_time\", \"snapshot_number\". Ascending sort order by the integration name.",
                      "location": "query",
                      "type": "string"
                    },
                    "filter": {
                      "description": "Filter on fields of IntegrationVersion. Fields can be compared with literal values by use of \":\" (containment), \"=\" (equality), \"\u003e\" (greater), \"\u003c\" (less than), \u003e=\" (greater than or equal to), \"\u003c=\" (less than or equal to), and \"!=\" (inequality) operators. Negation, conjunction, and disjunction are written using NOT, AND, and OR keywords. For example, organization_id=\\\"1\\\" AND state=ACTIVE AND description:\"test\". Filtering cannot be performed on repeated fields like `task_config`.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaListIntegrationsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Returns the list of all integrations in the specified project."
                },
                "search": {
                  "id": "integrations.projects.locations.integrations.search",
                  "path": "v1/{+parent}/integrations:search",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations:search",
                  "httpMethod": "GET",
                  "parameters": {
                    "parent": {
                      "description": "Required. Project and location from which the integrations should be listed. Format: projects/*/locations/*/resources/integrations",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "query": {
                      "description": "Required. The user query",
                      "location": "query",
                      "type": "string"
                    },
                    "filter": {
                      "description": "Optional. The pre-filter to be applied to the search. This should follow the expressions defined in https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata. For example, \"status:ANY(\"ACTIVE\")\" will return all the resources whose status contains the \"ACTIVE\".",
                      "location": "query",
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "Optional. The maximum number of results to return. The service may return fewer than this value. If unspecified, at most 10 results will be returned. The maximum value is 100; values above 100 will be coerced to 100.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "Optional. A page token, received from a previous `SearchIntegrations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchIntegrations` must match the call that provided the page token.",
                      "location": "query",
                      "type": "string"
                    },
                    "enableNaturalLanguageQueryUnderstanding": {
                      "description": "Optional. Whether to enable natural language query understanding.",
                      "location": "query",
                      "type": "boolean"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaSearchIntegrationsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Searches and returns the list of integrations in the specified project."
                },
                "delete": {
                  "id": "integrations.projects.locations.integrations.delete",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}",
                  "httpMethod": "DELETE",
                  "parameters": {
                    "name": {
                      "description": "Required. The location resource of the request.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Delete the selected integration and all versions inside"
                }
              },
              "resources": {
                "versions": {
                  "methods": {
                    "list": {
                      "id": "integrations.projects.locations.integrations.versions.list",
                      "path": "v1/{+parent}/versions",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions",
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "description": "Required. The parent resource where this version will be created. Format: projects/{project}/locations/{location}/integrations/{integration} Specifically, when parent equals: 1. projects//locations//integrations/, Meaning: \"List versions (with filter) for a particular integration\". 2. projects//locations//integrations/- Meaning: \"List versions (with filter) for a client within a particular region\".",
                          "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "The maximum number of versions to return. The service may return fewer than this value. If unspecified, at most 50 versions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "A page token, received from a previous `ListIntegrationVersions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListIntegrationVersions` must match the call that provided the page token.",
                          "location": "query",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Filter on fields of IntegrationVersion. Fields can be compared with literal values by use of \":\" (containment), \"=\" (equality), \"\u003e\" (greater), \"\u003c\" (less than), \u003e=\" (greater than or equal to), \"\u003c=\" (less than or equal to), and \"!=\" (inequality) operators. Negation, conjunction, and disjunction are written using NOT, AND, and OR keywords. For example, organization_id=\\\"1\\\" AND state=ACTIVE AND description:\"test\". Filtering cannot be performed on repeated fields like `task_config`.",
                          "location": "query",
                          "type": "string"
                        },
                        "orderBy": {
                          "description": "The results would be returned in order you specified here. Currently supported sort keys are: Descending sort order for \"last\\_modified\\_time\", \"created\\_time\", and \"snapshot\\_number\". Ascending sort order for `name`.",
                          "location": "query",
                          "type": "string"
                        },
                        "fieldMask": {
                          "description": "The field mask which specifies the particular data to be returned.",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Returns the list of all integration versions in the specified project."
                    },
                    "create": {
                      "id": "integrations.projects.locations.integrations.versions.create",
                      "path": "v1/{+parent}/versions",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions",
                      "httpMethod": "POST",
                      "parameters": {
                        "parent": {
                          "description": "Required. The parent resource where this version will be created. Format: projects/{project}/locations/{location}/integrations/{integration}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "newIntegration": {
                          "description": "Set this flag to true, if draft version is to be created for a brand new integration. False, if the request is for an existing integration. For backward compatibility reasons, even if this flag is set to `false` and no existing integration is found, a new draft integration will still be created.",
                          "location": "query",
                          "type": "boolean"
                        },
                        "createSampleIntegrations": {
                          "description": "Optional. Optional. Indicates if sample workflow should be created.",
                          "location": "query",
                          "type": "boolean"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Create a integration with a draft version in the specified project."
                    },
                    "patch": {
                      "id": "integrations.projects.locations.integrations.versions.patch",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}",
                      "httpMethod": "PATCH",
                      "parameters": {
                        "name": {
                          "description": "Output only. Auto-generated primary key.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "updateMask": {
                          "description": "Field mask specifying the fields in the above integration that have been modified and need to be updated.",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Update a integration with a draft version in the specified project."
                    },
                    "get": {
                      "id": "integrations.projects.locations.integrations.versions.get",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. The version to retrieve. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Get a integration in the specified project."
                    },
                    "publish": {
                      "id": "integrations.projects.locations.integrations.versions.publish",
                      "path": "v1/{+name}:publish",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}:publish",
                      "httpMethod": "POST",
                      "parameters": {
                        "name": {
                          "description": "Required. The version to publish. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaPublishIntegrationVersionResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "This RPC throws an exception if the integration is in ARCHIVED or ACTIVE state. This RPC throws an exception if the version being published is DRAFT, and if the `locked_by` user is not the same as the user performing the Publish. Audit fields updated include last_published_timestamp, last_published_by, last_modified_timestamp, last_modified_by. Any existing lock is on this integration is released."
                    },
                    "delete": {
                      "id": "integrations.projects.locations.integrations.versions.delete",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}",
                      "httpMethod": "DELETE",
                      "parameters": {
                        "name": {
                          "description": "Required. The version to delete. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "GoogleProtobufEmpty"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Soft-deletes the integration. Changes the status of the integration to ARCHIVED. If the integration being ARCHIVED is tagged as \"HEAD\", the tag is removed from this snapshot and set to the previous non-ARCHIVED snapshot. The PUBLISH_REQUESTED, DUE_FOR_DELETION tags are removed too. This RPC throws an exception if the version being deleted is DRAFT, and if the `locked_by` user is not the same as the user performing the Delete. Audit fields updated include last_modified_timestamp, last_modified_by. Any existing lock is released when Deleting a integration. Currently, there is no undelete mechanism."
                    },
                    "upload": {
                      "id": "integrations.projects.locations.integrations.versions.upload",
                      "path": "v1/{+parent}/versions:upload",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions:upload",
                      "httpMethod": "POST",
                      "parameters": {
                        "parent": {
                          "description": "Required. The version to upload. Format: projects/{project}/locations/{location}/integrations/{integration}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Uploads an integration. The content can be a previously downloaded integration. Performs the same function as CreateDraftIntegrationVersion, but accepts input in a string format, which holds the complete representation of the IntegrationVersion content."
                    },
                    "download": {
                      "id": "integrations.projects.locations.integrations.versions.download",
                      "path": "v1/{+name}:download",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}:download",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. The version to download. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "fileFormat": {
                          "description": "File format for download request.",
                          "location": "query",
                          "type": "string",
                          "enumDescriptions": [
                            "Unspecified file format",
                            "JSON File Format",
                            "YAML File Format"
                          ],
                          "enum": [
                            "FILE_FORMAT_UNSPECIFIED",
                            "JSON",
                            "YAML"
                          ]
                        },
                        "files": {
                          "description": "Optional. Integration related file to download like Integration Json, Config variable, testcase etc.",
                          "location": "query",
                          "repeated": true,
                          "type": "string",
                          "enumDescriptions": [
                            "Default value.",
                            "Integration file.",
                            "Integration Config variables."
                          ],
                          "enum": [
                            "INTEGRATION_FILE_UNSPECIFIED",
                            "INTEGRATION",
                            "INTEGRATION_CONFIG_VARIABLES"
                          ]
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaDownloadIntegrationVersionResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Downloads an integration. Retrieves the `IntegrationVersion` for a given `integration_id` and returns the response as a string."
                    },
                    "downloadJsonPackage": {
                      "id": "integrations.projects.locations.integrations.versions.downloadJsonPackage",
                      "path": "v1/{+name}:downloadJsonPackage",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}:downloadJsonPackage",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. Integration version name Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "files": {
                          "description": "Optional. Integration related file to download like Integration Version, Config variable, testcase etc.",
                          "location": "query",
                          "repeated": true,
                          "type": "string",
                          "enumDescriptions": [
                            "Default value.",
                            "Integration file.",
                            "Integration Config variables."
                          ],
                          "enum": [
                            "INTEGRATION_FILE_UNSPECIFIED",
                            "INTEGRATION",
                            "INTEGRATION_CONFIG_VARIABLES"
                          ]
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaDownloadJsonPackageResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Downloads an Integration version package like IntegrationVersion,Integration Config etc. Retrieves the IntegrationVersion package for a given `integration_id` and returns the response as a JSON."
                    },
                    "unpublish": {
                      "id": "integrations.projects.locations.integrations.versions.unpublish",
                      "path": "v1/{+name}:unpublish",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}:unpublish",
                      "httpMethod": "POST",
                      "parameters": {
                        "name": {
                          "description": "Required. The version to deactivate. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest"
                      },
                      "response": {
                        "$ref": "GoogleProtobufEmpty"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Sets the status of the ACTIVE integration to SNAPSHOT with a new tag \"PREVIOUSLY_PUBLISHED\" after validating it. The \"HEAD\" and \"PUBLISH_REQUESTED\" tags do not change. This RPC throws an exception if the version being snapshot is not ACTIVE. Audit fields added include action, action_by, action_timestamp."
                    },
                    "test": {
                      "id": "integrations.projects.locations.integrations.versions.test",
                      "path": "v1/{+name}:test",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}:test",
                      "httpMethod": "POST",
                      "parameters": {
                        "name": {
                          "description": "Output only. Auto-generated primary key.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaTestIntegrationsRequest"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaTestIntegrationsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Execute the integration in draft state"
                    }
                  },
                  "resources": {
                    "testCases": {
                      "methods": {
                        "create": {
                          "id": "integrations.projects.locations.integrations.versions.testCases.create",
                          "path": "v1/{+parent}/testCases",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases",
                          "httpMethod": "POST",
                          "parameters": {
                            "parent": {
                              "description": "Required. The parent resource where this test case will be created. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{integration_version}",
                              "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "testCaseId": {
                              "description": "Required. Required",
                              "location": "query",
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "parent"
                          ],
                          "request": {
                            "$ref": "GoogleCloudIntegrationsV1alphaTestCase"
                          },
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaTestCase"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Creates a new test case"
                        },
                        "get": {
                          "id": "integrations.projects.locations.integrations.versions.testCases.get",
                          "path": "v1/{+name}",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}",
                          "httpMethod": "GET",
                          "parameters": {
                            "name": {
                              "description": "Required. The ID of the test case to retrieve",
                              "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+/testCases/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaTestCase"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Get a test case"
                        },
                        "patch": {
                          "id": "integrations.projects.locations.integrations.versions.testCases.patch",
                          "path": "v1/{+name}",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}",
                          "httpMethod": "PATCH",
                          "parameters": {
                            "name": {
                              "description": "Output only. Auto-generated primary key.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+/testCases/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "updateMask": {
                              "description": "Optional. Field mask specifying the fields in the above integration that have been modified and need to be updated.",
                              "location": "query",
                              "type": "string",
                              "format": "google-fieldmask"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "request": {
                            "$ref": "GoogleCloudIntegrationsV1alphaTestCase"
                          },
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaTestCase"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Updates a test case"
                        },
                        "delete": {
                          "id": "integrations.projects.locations.integrations.versions.testCases.delete",
                          "path": "v1/{+name}",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}",
                          "httpMethod": "DELETE",
                          "parameters": {
                            "name": {
                              "description": "Required. ID for the test case to be deleted",
                              "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+/testCases/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "response": {
                            "$ref": "GoogleProtobufEmpty"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Deletes a test case"
                        },
                        "list": {
                          "id": "integrations.projects.locations.integrations.versions.testCases.list",
                          "path": "v1/{+parent}/testCases",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases",
                          "httpMethod": "GET",
                          "parameters": {
                            "parent": {
                              "description": "Required. The parent resource where this TestCase was created.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "filter": {
                              "description": "Optional. Standard filter field. Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/list-filters.",
                              "location": "query",
                              "type": "string"
                            },
                            "pageSize": {
                              "description": "Optional. The maximum number of test cases to return. The service may return fewer than this value. If unspecified, at most 100 test cases will be returned.",
                              "location": "query",
                              "type": "integer",
                              "format": "int32"
                            },
                            "pageToken": {
                              "description": "Optional. A page token, received from a previous `ListTestCases` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTestCases` must match the call that provided the page token.",
                              "location": "query",
                              "type": "string"
                            },
                            "orderBy": {
                              "description": "Optional. The results would be returned in order specified here. Currently supported sort keys are: Descending sort order for \"last_modified_time\", \"created_time\". Ascending sort order for \"name\".",
                              "location": "query",
                              "type": "string"
                            },
                            "readMask": {
                              "description": "Optional. The mask which specifies fields that need to be returned in the TestCases's response.",
                              "location": "query",
                              "type": "string",
                              "format": "google-fieldmask"
                            }
                          },
                          "parameterOrder": [
                            "parent"
                          ],
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaListTestCasesResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Lists all the test cases that satisfy the filters."
                        },
                        "executeTest": {
                          "id": "integrations.projects.locations.integrations.versions.testCases.executeTest",
                          "path": "v1/{+testCaseName}:executeTest",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}:executeTest",
                          "httpMethod": "POST",
                          "parameters": {
                            "testCaseName": {
                              "description": "Required. Test case resource name",
                              "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+/testCases/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "testCaseName"
                          ],
                          "request": {
                            "$ref": "GoogleCloudIntegrationsV1alphaExecuteTestCaseRequest"
                          },
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaExecuteTestCaseResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Executes functional test"
                        },
                        "upload": {
                          "id": "integrations.projects.locations.integrations.versions.testCases.upload",
                          "path": "v1/{+parent}/testCases:upload",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases:upload",
                          "httpMethod": "POST",
                          "parameters": {
                            "parent": {
                              "description": "Required. The test case to upload. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{integration_version}",
                              "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "parent"
                          ],
                          "request": {
                            "$ref": "GoogleCloudIntegrationsV1alphaUploadTestCaseRequest"
                          },
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaUploadTestCaseResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Uploads a test case. The content can be a previously downloaded test case. Performs the same function as CreateTestCase, but accepts input in a string format, which holds the complete representation of the TestCase content."
                        },
                        "download": {
                          "id": "integrations.projects.locations.integrations.versions.testCases.download",
                          "path": "v1/{+name}:download",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}:download",
                          "httpMethod": "GET",
                          "parameters": {
                            "name": {
                              "description": "Required. The test case to download. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{integration_version}/testCases/{test_case_id}",
                              "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+/testCases/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "fileFormat": {
                              "description": "File format for download request.",
                              "location": "query",
                              "type": "string",
                              "enumDescriptions": [
                                "Unspecified file format",
                                "JSON File Format",
                                "YAML File Format"
                              ],
                              "enum": [
                                "FILE_FORMAT_UNSPECIFIED",
                                "JSON",
                                "YAML"
                              ]
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaDownloadTestCaseResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Downloads a test case. Retrieves the `TestCase` for a given `test_case_id` and returns the response as a string."
                        },
                        "takeoverEditLock": {
                          "id": "integrations.projects.locations.integrations.versions.testCases.takeoverEditLock",
                          "path": "v1/{+name}:takeoverEditLock",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases/{testCasesId}:takeoverEditLock",
                          "httpMethod": "POST",
                          "parameters": {
                            "name": {
                              "description": "Required. The ID of test case to takeover edit lock. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{integration_version}/testCases/{test_case_id}",
                              "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+/testCases/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "request": {
                            "$ref": "GoogleCloudIntegrationsV1alphaTakeoverTestCaseEditLockRequest"
                          },
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaTestCase"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Clear the lock fields and assign them to current user"
                        },
                        "execute": {
                          "id": "integrations.projects.locations.integrations.versions.testCases.execute",
                          "path": "v1/{+parent}/testCases:execute",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}/testCases:execute",
                          "httpMethod": "POST",
                          "parameters": {
                            "parent": {
                              "description": "Required. The parent resource whose test cases are executed. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{integration_version}",
                              "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "parent"
                          ],
                          "request": {
                            "$ref": "GoogleCloudIntegrationsV1alphaExecuteTestCasesRequest"
                          },
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaExecuteTestCasesResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "Executes all test cases in an integration version."
                        }
                      }
                    }
                  }
                },
                "executions": {
                  "methods": {
                    "list": {
                      "id": "integrations.projects.locations.integrations.executions.list",
                      "path": "v1/{+parent}/executions",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions",
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "description": "Required. The parent resource name of the integration execution.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "filter": {
                          "description": "Optional. Standard filter field, we support filtering on following fields: workflow_name: the name of the integration. CreateTimestamp: the execution created time. event_execution_state: the state of the executions. execution_id: the id of the execution. trigger_id: the id of the trigger. parameter_type: the type of the parameters involved in the execution. All fields support for EQUALS, in additional: CreateTimestamp support for LESS_THAN, GREATER_THAN ParameterType support for HAS For example: \"parameter_type\" HAS \\\"string\\\" Also supports operators like AND, OR, NOT For example, trigger_id=\\\"id1\\\" AND workflow_name=\\\"testWorkflow\\\"",
                          "location": "query",
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "Optional. The size of entries in the response.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "Optional. The token returned in the previous response.",
                          "location": "query",
                          "type": "string"
                        },
                        "orderBy": {
                          "description": "Optional. The results would be returned in order you specified here. Currently supporting \"create_time\".",
                          "location": "query",
                          "type": "string"
                        },
                        "readMask": {
                          "description": "Optional. View mask for the response data. If set, only the field specified will be returned as part of the result. If not set, all fields in Execution will be filled and returned. Supported fields: trigger_id execution_method create_time update_time execution_details execution_details.state execution_details.execution_snapshots execution_details.attempt_stats execution_details.event_execution_snapshots_size request_parameters cloud_logging_details snapshot_number replay_info",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        },
                        "filterParams.workflowName": {
                          "description": "Workflow name.",
                          "location": "query",
                          "type": "string"
                        },
                        "filterParams.startTime": {
                          "description": "Start timestamp.",
                          "location": "query",
                          "type": "string",
                          "format": "int64"
                        },
                        "filterParams.endTime": {
                          "description": "End timestamp.",
                          "location": "query",
                          "type": "string",
                          "format": "int64"
                        },
                        "filterParams.eventStatuses": {
                          "description": "List of possible event statuses.",
                          "location": "query",
                          "repeated": true,
                          "type": "string"
                        },
                        "filterParams.taskStatuses": {
                          "description": "List of possible task statuses.",
                          "location": "query",
                          "deprecated": true,
                          "repeated": true,
                          "type": "string"
                        },
                        "filterParams.customFilter": {
                          "description": "Optional user-provided custom filter.",
                          "location": "query",
                          "type": "string"
                        },
                        "filterParams.executionId": {
                          "description": "Execution id.",
                          "location": "query",
                          "type": "string"
                        },
                        "filterParams.parameterValue": {
                          "description": "Param value. DEPRECATED. User parameter_pair_value instead.",
                          "location": "query",
                          "deprecated": true,
                          "type": "string"
                        },
                        "filterParams.parameterType": {
                          "description": "Param type.",
                          "location": "query",
                          "type": "string"
                        },
                        "filterParams.parameterKey": {
                          "description": "Param key. DEPRECATED. User parameter_pair_key instead.",
                          "location": "query",
                          "deprecated": true,
                          "type": "string"
                        },
                        "filterParams.parameterPairKey": {
                          "description": "Param key in the key value pair filter.",
                          "location": "query",
                          "type": "string"
                        },
                        "filterParams.parameterPairValue": {
                          "description": "Param value in the key value pair filter.",
                          "location": "query",
                          "type": "string"
                        },
                        "refreshAcl": {
                          "description": "Optional. If true, the service will use the most recent acl information to list event execution infos and renew the acl cache. Note that fetching the most recent acl is synchronous, so it will increase RPC call latency.",
                          "location": "query",
                          "type": "boolean"
                        },
                        "truncateParams": {
                          "description": "Optional. If true, the service will truncate the params to only keep the first 1000 characters of string params and empty the executions in order to make response smaller. Only works for UI and when the params fields are not filtered out.",
                          "location": "query",
                          "deprecated": true,
                          "type": "boolean"
                        },
                        "snapshotMetadataWithoutParams": {
                          "description": "Optional. If true, the service will provide execution info with snapshot metadata only i.e. without event parameters.",
                          "location": "query",
                          "type": "boolean"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaListExecutionsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Lists the results of all the integration executions. The response includes the same information as the [execution log](https://cloud.google.com/application-integration/docs/viewing-logs) in the Integration UI."
                    },
                    "get": {
                      "id": "integrations.projects.locations.integrations.executions.get",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. The execution resource name. Format: projects/{gcp_project_id}/locations/{location}/products/{product}/integrations/{integration_id}/executions/{execution_id}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/executions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaExecution"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Get an execution in the specified project."
                    },
                    "cancel": {
                      "id": "integrations.projects.locations.integrations.executions.cancel",
                      "path": "v1/{+name}:cancel",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}:cancel",
                      "httpMethod": "POST",
                      "parameters": {
                        "name": {
                          "description": "Required. The execution resource name. Format: projects/{gcp_project_id}/locations/{location}/products/{product}/integrations/{integration_id}/executions/{execution_id}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/executions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaCancelExecutionRequest"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaCancelExecutionResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Cancellation of an execution and associated sub-executions. This will not cancel an IN_PROCESS or completed(SUCCESSFUL, FAILED or CANCELLED) executions."
                    },
                    "download": {
                      "id": "integrations.projects.locations.integrations.executions.download",
                      "path": "v1/{+name}:download",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}:download",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. The execution resource name. Format: projects/{gcp_project_id}/locations/{location}/products/{product}/integrations/{integration_id}/executions/{execution_id}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/executions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaDownloadExecutionResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Download the execution."
                    },
                    "replay": {
                      "id": "integrations.projects.locations.integrations.executions.replay",
                      "path": "v1/{+name}:replay",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}:replay",
                      "httpMethod": "POST",
                      "parameters": {
                        "name": {
                          "description": "Required. Next ID: 6 The execution resource name. Format: projects/{gcp_project_id}/locations/{location}/integrations/{integration}/executions/{execution_id}",
                          "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/executions/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaReplayExecutionRequest"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaReplayExecutionResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Re-execute an existing execution, with same request parameters and execution strategy."
                    }
                  },
                  "resources": {
                    "suspensions": {
                      "methods": {
                        "resolve": {
                          "id": "integrations.projects.locations.integrations.executions.suspensions.resolve",
                          "path": "v1/{+name}:resolve",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions/{suspensionsId}:resolve",
                          "httpMethod": "POST",
                          "parameters": {
                            "name": {
                              "description": "Required. projects/{gcp_project_id}/locations/{location}/products/{product}/integrations/{integration_name}/executions/{execution_name}/suspensions/{suspension_id}",
                              "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/executions/[^/]+/suspensions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "request": {
                            "$ref": "GoogleCloudIntegrationsV1alphaResolveSuspensionRequest"
                          },
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaResolveSuspensionResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "* Resolves (lifts/rejects) any number of suspensions. If the integration is already running, only the status of the suspension is updated. Otherwise, the suspended integration will begin execution again."
                        },
                        "list": {
                          "id": "integrations.projects.locations.integrations.executions.suspensions.list",
                          "path": "v1/{+parent}/suspensions",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions",
                          "httpMethod": "GET",
                          "parameters": {
                            "parent": {
                              "description": "Required. projects/{gcp_project_id}/locations/{location}/products/{product}/integrations/{integration_name}/executions/{execution_name}",
                              "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/executions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "pageSize": {
                              "description": "Maximum number of entries in the response.",
                              "location": "query",
                              "type": "integer",
                              "format": "int32"
                            },
                            "pageToken": {
                              "description": "Token to retrieve a specific page.",
                              "location": "query",
                              "type": "string"
                            },
                            "filter": {
                              "description": "Standard filter field.",
                              "location": "query",
                              "type": "string"
                            },
                            "orderBy": {
                              "description": "Field name to order by.",
                              "location": "query",
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "parent"
                          ],
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaListSuspensionsResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "* Lists suspensions associated with a specific execution. Only those with permissions to resolve the relevant suspensions will be able to view them."
                        },
                        "lift": {
                          "id": "integrations.projects.locations.integrations.executions.suspensions.lift",
                          "path": "v1/{+name}:lift",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions/{suspensionsId}:lift",
                          "httpMethod": "POST",
                          "parameters": {
                            "name": {
                              "description": "Required. The resource that the suspension belongs to. \"projects/{project}/locations/{location}/products/{product}/integrations/{integration}/executions/{execution}/suspensions/{suspenion}\" format.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/executions/[^/]+/suspensions/[^/]+$",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "parameterOrder": [
                            "name"
                          ],
                          "request": {
                            "$ref": "GoogleCloudIntegrationsV1alphaLiftSuspensionRequest"
                          },
                          "response": {
                            "$ref": "GoogleCloudIntegrationsV1alphaLiftSuspensionResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "* Lifts suspension for the Suspension task. Fetch corresponding suspension with provided suspension Id, resolve suspension, and set up suspension result for the Suspension Task."
                        }
                      }
                    }
                  }
                }
              }
            },
            "sfdcInstances": {
              "methods": {
                "create": {
                  "id": "integrations.projects.locations.sfdcInstances.create",
                  "path": "v1/{+parent}/sfdcInstances",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sfdcInstances",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. \"projects/{project}/locations/{location}\" format.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Creates an sfdc instance record. Store the sfdc instance in Spanner. Returns the sfdc instance."
                },
                "patch": {
                  "id": "integrations.projects.locations.sfdcInstances.patch",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}",
                  "httpMethod": "PATCH",
                  "parameters": {
                    "name": {
                      "description": "Resource name of the SFDC instance projects/{project}/locations/{location}/sfdcInstances/{sfdcInstance}.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/sfdcInstances/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "updateMask": {
                      "description": "Field mask specifying the fields in the above SfdcInstance that have been modified and need to be updated.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Updates an sfdc instance. Updates the sfdc instance in spanner. Returns the sfdc instance."
                },
                "delete": {
                  "id": "integrations.projects.locations.sfdcInstances.delete",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}",
                  "httpMethod": "DELETE",
                  "parameters": {
                    "name": {
                      "description": "Required. The name that is associated with the SfdcInstance.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/sfdcInstances/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Deletes an sfdc instance."
                },
                "get": {
                  "id": "integrations.projects.locations.sfdcInstances.get",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "description": "Required. The name that is associated with the SfdcInstance.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/sfdcInstances/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Gets an sfdc instance. If the instance doesn't exist, Code.NOT_FOUND exception will be thrown."
                },
                "list": {
                  "id": "integrations.projects.locations.sfdcInstances.list",
                  "path": "v1/{+parent}/sfdcInstances",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sfdcInstances",
                  "httpMethod": "GET",
                  "parameters": {
                    "parent": {
                      "description": "Required. The client, which owns this collection of SfdcInstances.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "The size of entries in the response. If unspecified, defaults to 100.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "The token returned in the previous response.",
                      "location": "query",
                      "type": "string"
                    },
                    "filter": {
                      "description": "Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/list-filters.",
                      "location": "query",
                      "type": "string"
                    },
                    "readMask": {
                      "description": "The mask which specifies fields that need to be returned in the SfdcInstance's response.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaListSfdcInstancesResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Lists all sfdc instances that match the filter. Restrict to sfdc instances belonging to the current client only."
                }
              },
              "resources": {
                "sfdcChannels": {
                  "methods": {
                    "create": {
                      "id": "integrations.projects.locations.sfdcInstances.sfdcChannels.create",
                      "path": "v1/{+parent}/sfdcChannels",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels",
                      "httpMethod": "POST",
                      "parameters": {
                        "parent": {
                          "description": "Required. \"projects/{project}/locations/{location}\" format.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/sfdcInstances/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Creates an sfdc channel record. Store the sfdc channel in Spanner. Returns the sfdc channel."
                    },
                    "patch": {
                      "id": "integrations.projects.locations.sfdcInstances.sfdcChannels.patch",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels/{sfdcChannelsId}",
                      "httpMethod": "PATCH",
                      "parameters": {
                        "name": {
                          "description": "Resource name of the SFDC channel projects/{project}/locations/{location}/sfdcInstances/{sfdc_instance}/sfdcChannels/{sfdc_channel}.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/sfdcInstances/[^/]+/sfdcChannels/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "updateMask": {
                          "description": "Field mask specifying the fields in the above SfdcChannel that have been modified and need to be updated.",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel"
                      },
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Updates an sfdc channel. Updates the sfdc channel in spanner. Returns the sfdc channel."
                    },
                    "delete": {
                      "id": "integrations.projects.locations.sfdcInstances.sfdcChannels.delete",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels/{sfdcChannelsId}",
                      "httpMethod": "DELETE",
                      "parameters": {
                        "name": {
                          "description": "Required. The name that is associated with the SfdcChannel.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/sfdcInstances/[^/]+/sfdcChannels/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "GoogleProtobufEmpty"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Deletes an sfdc channel."
                    },
                    "get": {
                      "id": "integrations.projects.locations.sfdcInstances.sfdcChannels.get",
                      "path": "v1/{+name}",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels/{sfdcChannelsId}",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. The name that is associated with the SfdcChannel.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/sfdcInstances/[^/]+/sfdcChannels/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Gets an sfdc channel. If the channel doesn't exist, Code.NOT_FOUND exception will be thrown."
                    },
                    "list": {
                      "id": "integrations.projects.locations.sfdcInstances.sfdcChannels.list",
                      "path": "v1/{+parent}/sfdcChannels",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels",
                      "httpMethod": "GET",
                      "parameters": {
                        "parent": {
                          "description": "Required. The client, which owns this collection of SfdcChannels.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/sfdcInstances/[^/]+$",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "The size of entries in the response. If unspecified, defaults to 100.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "The token returned in the previous response.",
                          "location": "query",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/list-filters.",
                          "location": "query",
                          "type": "string"
                        },
                        "readMask": {
                          "description": "The mask which specifies fields that need to be returned in the SfdcChannel's response.",
                          "location": "query",
                          "type": "string",
                          "format": "google-fieldmask"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "GoogleCloudIntegrationsV1alphaListSfdcChannelsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Lists all sfdc channels that match the filter. Restrict to sfdc channels belonging to the current client only."
                    }
                  }
                }
              }
            },
            "templates": {
              "methods": {
                "list": {
                  "id": "integrations.projects.locations.templates.list",
                  "path": "v1/{+parent}/templates",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates",
                  "httpMethod": "GET",
                  "parameters": {
                    "parent": {
                      "description": "Required. The client, which owns this collection of Templates.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "Optional. The size of the response entries. If unspecified, defaults to 100. The maximum value is 1000; values above 1000 will be coerced to 1000.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "Optional. The token returned in the previous response.",
                      "location": "query",
                      "type": "string"
                    },
                    "filter": {
                      "description": "Optional. Standard filter field to filter templates. client_id filter won't be supported and will restrict to templates belonging to the current client only. Return all templates of the current client if the filter is empty. Also supports operators like AND, OR, NOT For example, \"status=\\\"ACTIVE\\\"",
                      "location": "query",
                      "type": "string"
                    },
                    "orderBy": {
                      "description": "Optional. The results would be returned in the order you specified here.",
                      "location": "query",
                      "type": "string"
                    },
                    "readMask": {
                      "description": "Optional. The mask which specifies fields that need to be returned in the template's response.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaListTemplatesResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Lists all templates matching the filter."
                },
                "get": {
                  "id": "integrations.projects.locations.templates.get",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "description": "Required. The template to retrieve. Format: projects/{project}/locations/{location}/templates/{template}",
                      "pattern": "^projects/[^/]+/locations/[^/]+/templates/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaTemplate"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Get a template in the specified project."
                },
                "create": {
                  "id": "integrations.projects.locations.templates.create",
                  "path": "v1/{+parent}/templates",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. \"projects/{project}/locations/{location}\" format.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaTemplate"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaTemplate"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Creates a new template"
                },
                "patch": {
                  "id": "integrations.projects.locations.templates.patch",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}",
                  "httpMethod": "PATCH",
                  "parameters": {
                    "name": {
                      "description": "Identifier. Resource name of the template.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/templates/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "updateMask": {
                      "description": "Required. Field mask specifying the fields in the above template that have been modified and must be updated.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaTemplate"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaTemplate"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Updates the template by given id."
                },
                "delete": {
                  "id": "integrations.projects.locations.templates.delete",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}",
                  "httpMethod": "DELETE",
                  "parameters": {
                    "name": {
                      "description": "Required. The name that is associated with the Template.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/templates/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Deletes a template"
                },
                "search": {
                  "id": "integrations.projects.locations.templates.search",
                  "path": "v1/{+parent}/templates:search",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates:search",
                  "httpMethod": "GET",
                  "parameters": {
                    "parent": {
                      "description": "Required. The client, which owns this collection of Templates.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "Optional. The size of the response entries. If unspecified, defaults to 100. The maximum value is 1000; values above 1000 will be coerced to 1000.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "Optional. The token returned in the previous response.",
                      "location": "query",
                      "type": "string"
                    },
                    "filter": {
                      "description": "Optional. Standard filter field to filter templates. client_id filter won't be supported and will restrict to templates belonging to the current client only. Return all templates of the current client if the filter is empty. Also supports operators like AND, OR, NOT For example, \"status=\\\"ACTIVE\\\"",
                      "location": "query",
                      "type": "string"
                    },
                    "orderBy": {
                      "description": "Optional. The results would be returned in the order you specified here.",
                      "location": "query",
                      "type": "string"
                    },
                    "readMask": {
                      "description": "Optional. The mask which specifies fields that need to be returned in the template's response.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    },
                    "query": {
                      "description": "Optional. The search query that will be passed to Vertex search service.",
                      "location": "query",
                      "type": "string"
                    },
                    "enableNaturalLanguageQueryUnderstanding": {
                      "description": "Optional. Whether to enable natural language query understanding.",
                      "location": "query",
                      "type": "boolean"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaSearchTemplatesResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Search templates based on user query and filters. This api would query the templates and return a list of templates based on the user filter."
                },
                "use": {
                  "id": "integrations.projects.locations.templates.use",
                  "path": "v1/{+name}:use",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:use",
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "description": "Required. The name that is associated with the Template.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/templates/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaUseTemplateRequest"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaUseTemplateResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Use the template to create integration. This api would keep track of usage_count and last_used_time. PERMISSION_DENIED would be thrown if template is not accessible by client."
                },
                "import": {
                  "id": "integrations.projects.locations.templates.import",
                  "path": "v1/{+name}:import",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:import",
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "description": "Required. The name that is associated with the Template.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/templates/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaImportTemplateRequest"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaImportTemplateResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Import the template to an existing integration. This api would keep track of usage_count and last_used_time. PERMISSION_DENIED would be thrown if template is not accessible by client."
                },
                "share": {
                  "id": "integrations.projects.locations.templates.share",
                  "path": "v1/{+name}:share",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:share",
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "description": "Required. The name that is associated with the Template.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/templates/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaShareTemplateRequest"
                  },
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Share a template with other clients. Only the template owner can share the templates with other projects. PERMISSION_DENIED would be thrown if the request is not from the owner."
                },
                "unshare": {
                  "id": "integrations.projects.locations.templates.unshare",
                  "path": "v1/{+name}:unshare",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:unshare",
                  "httpMethod": "POST",
                  "parameters": {
                    "name": {
                      "description": "Required. The name that is associated with the Template.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/templates/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaUnshareTemplateRequest"
                  },
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Unshare a template from given clients. Owner of the template can unshare template with clients. Shared client can only unshare the template from itself. PERMISSION_DENIED would be thrown if request is not from owner or for unsharing itself."
                },
                "upload": {
                  "id": "integrations.projects.locations.templates.upload",
                  "path": "v1/{+parent}/templates:upload",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates:upload",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "description": "Required. The template to upload. Format: projects/{project}/locations/{location}",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudIntegrationsV1alphaUploadTemplateRequest"
                  },
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaUploadTemplateResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Uploads a template. The content can be a previously downloaded template. Performs the same function as CreateTemplate, but accepts input in a string format, which holds the complete representation of the Template content."
                },
                "download": {
                  "id": "integrations.projects.locations.templates.download",
                  "path": "v1/{+name}:download",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/templates/{templatesId}:download",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "description": "Required. The template to download. Format: projects/{project}/locations/{location}/template/{template_id}",
                      "pattern": "^projects/[^/]+/locations/[^/]+/templates/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "fileFormat": {
                      "description": "Required. File format for download request.",
                      "location": "query",
                      "type": "string",
                      "enumDescriptions": [
                        "Unspecified file format",
                        "JSON File Format",
                        "YAML File Format"
                      ],
                      "enum": [
                        "FILE_FORMAT_UNSPECIFIED",
                        "JSON",
                        "YAML"
                      ]
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "GoogleCloudIntegrationsV1alphaDownloadTemplateResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Downloads a template. Retrieves the `Template` and returns the response as a string."
                }
              }
            }
          }
        }
      }
    },
    "connectorPlatformRegions": {
      "methods": {
        "enumerate": {
          "id": "integrations.connectorPlatformRegions.enumerate",
          "path": "v1/connectorPlatformRegions:enumerate",
          "flatPath": "v1/connectorPlatformRegions:enumerate",
          "httpMethod": "GET",
          "parameters": {},
          "parameterOrder": [],
          "response": {
            "$ref": "GoogleCloudIntegrationsV1alphaEnumerateConnectorPlatformRegionsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "description": "Enumerates the regions for which Connector Platform is provisioned."
        }
      }
    },
    "callback": {
      "methods": {
        "generateToken": {
          "id": "integrations.callback.generateToken",
          "path": "v1/callback:generateToken",
          "flatPath": "v1/callback:generateToken",
          "httpMethod": "GET",
          "parameters": {
            "state": {
              "description": "The auth config id for the given request",
              "location": "query",
              "type": "string"
            },
            "code": {
              "description": "The auth code for the given request",
              "location": "query",
              "type": "string"
            },
            "gcpProjectId": {
              "description": "The gcp project id of the request",
              "location": "query",
              "type": "string"
            },
            "redirectUri": {
              "description": "Redirect uri of the auth code request",
              "location": "query",
              "type": "string"
            },
            "product": {
              "description": "Which product sends the request",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                "",
                "",
                ""
              ],
              "enum": [
                "UNSPECIFIED_PRODUCT",
                "IP",
                "APIGEE",
                "SECURITY"
              ]
            }
          },
          "parameterOrder": [],
          "response": {
            "$ref": "GoogleCloudIntegrationsV1alphaGenerateTokenResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "description": "Receives the auth code and auth config id to combine that with the client id and secret to retrieve access tokens from the token endpoint. Returns either a success or error message when it's done."
        }
      }
    }
  },
  "revision": "20260323",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "name": "integrations",
  "title": "Application Integration API",
  "schemas": {
    "GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectRequest": {
      "id": "GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectRequest",
      "description": "Request for LinkAppsScriptProject rpc call.",
      "type": "object",
      "properties": {
        "scriptId": {
          "description": "The id of the Apps Script project to be linked.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectResponse": {
      "id": "GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectResponse",
      "description": "Response for LinkAppsScriptProject rpc call.",
      "type": "object",
      "properties": {
        "scriptId": {
          "description": "The id of the linked Apps Script project.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectRequest": {
      "id": "GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectRequest",
      "description": "Request for CreateAppsScriptProject rpc call.",
      "type": "object",
      "properties": {
        "appsScriptProject": {
          "description": "The name of the Apps Script project to be created.",
          "type": "string"
        },
        "authConfigId": {
          "description": "The auth config id necessary to fetch the necessary credentials to create the project for external clients",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectResponse": {
      "id": "GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectResponse",
      "description": "Response for CreateAppsScriptProject rpc call.",
      "type": "object",
      "properties": {
        "projectId": {
          "description": "The created AppsScriptProject ID.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaProvisionClientRequest": {
      "id": "GoogleCloudIntegrationsV1alphaProvisionClientRequest",
      "description": "Request for the Provision rpc",
      "type": "object",
      "properties": {
        "cloudKmsConfig": {
          "description": "Optional. OPTIONAL: Cloud KMS config for AuthModule to encrypt/decrypt credentials.",
          "$ref": "GoogleCloudIntegrationsV1alphaCloudKmsConfig"
        },
        "createSampleWorkflows": {
          "description": "Optional. Indicates if sample workflow should be created along with provisioning",
          "type": "boolean"
        },
        "provisionGmek": {
          "description": "Optional. Deprecated. Indicates provision with GMEK or CMEK. This field is deprecated and the provision would always be GMEK if cloud_kms_config is not present in the request.",
          "deprecated": true,
          "type": "boolean"
        },
        "runAsServiceAccount": {
          "description": "Optional. User input run-as service account, if empty, will bring up a new default service account",
          "type": "string"
        },
        "skipCpProvision": {
          "description": "Optional. Indicates if skip CP provision or not",
          "type": "boolean"
        },
        "enableHttpCall": {
          "description": "Optional. Indicates if the client should be allowed to make HTTP calls.",
          "type": "boolean"
        },
        "enableManagedAiFeatures": {
          "description": "Optional. Indicates if the client should be allowed to use managed AI features, i.e. using Cloud Companion APIs of the tenant project. This will allow the customers to use features like Troubleshooting, OpenAPI spec enrichment, etc. for free.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaCloudKmsConfig": {
      "id": "GoogleCloudIntegrationsV1alphaCloudKmsConfig",
      "description": "Configuration information for Client's Cloud KMS information",
      "type": "object",
      "properties": {
        "kmsLocation": {
          "description": "Required. Location name of the key ring, e.g. \"us-west1\".",
          "type": "string"
        },
        "kmsRing": {
          "description": "Required. A key ring organizes keys in a specific Google Cloud location and allows you to manage access control on groups of keys. A key ring's name does not need to be unique across a Google Cloud project, but must be unique within a given location.",
          "type": "string"
        },
        "key": {
          "description": "Required. A Cloud KMS key is a named object containing one or more key versions, along with metadata for the key. A key exists on exactly one key ring tied to a specific location.",
          "type": "string"
        },
        "keyVersion": {
          "description": "Optional. Each version of a key contains key material used for encryption or signing. A key's version is represented by an integer, starting at 1. To decrypt data or verify a signature, you must use the same key version that was used to encrypt or sign the data.",
          "type": "string"
        },
        "kmsProjectId": {
          "description": "Optional. The gcp project id of the project where the kms key stored. If empty, the kms key is stored at the same project as customer's project and ecrypted with CMEK, otherwise, the kms key is stored in the tenant project and encrypted with GMEK",
          "type": "string"
        }
      }
    },
    "GoogleProtobufEmpty": {
      "id": "GoogleProtobufEmpty",
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudIntegrationsV1alphaProvisionClientPostProcessorRequest": {
      "id": "GoogleCloudIntegrationsV1alphaProvisionClientPostProcessorRequest",
      "description": "Request for PostProvisioning rpc call.",
      "type": "object",
      "properties": {
        "workflows": {
          "description": "Optional. Indicate which workflows to create",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "Default value, should not be used.",
              "Ecom processing workflow",
              "Connector tool workflow"
            ],
            "enum": [
              "SAMPLE_INTEGRATIONS_UNSPECIFIED",
              "SAMPLE_WORKFLOW_ECOM_PROCESSING",
              "EXECUTE_CONNECTOR_TOOL_WORKFLOW"
            ]
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaProvisionClientPostProcessorResponse": {
      "id": "GoogleCloudIntegrationsV1alphaProvisionClientPostProcessorResponse",
      "description": "Response for PostProvisioning rpc call.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudIntegrationsV1alphaDeprovisionClientRequest": {
      "id": "GoogleCloudIntegrationsV1alphaDeprovisionClientRequest",
      "description": "Request for the Deprovision rpc",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudIntegrationsV1alphaGetClientResponse": {
      "id": "GoogleCloudIntegrationsV1alphaGetClientResponse",
      "description": "Response for the GetClient rpc",
      "type": "object",
      "properties": {
        "client": {
          "description": "Required. Required: The client configuration that was requested",
          "$ref": "GoogleCloudIntegrationsV1alphaClientConfig"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaClientConfig": {
      "id": "GoogleCloudIntegrationsV1alphaClientConfig",
      "description": "The configuration information for the Client",
      "type": "object",
      "properties": {
        "id": {
          "description": "Globally unique ID (project_id + region)",
          "type": "string"
        },
        "projectId": {
          "description": "The GCP project id of the client associated with",
          "type": "string"
        },
        "description": {
          "description": "Description of what the client is used for",
          "type": "string"
        },
        "region": {
          "description": "The region the client is linked to.",
          "type": "string"
        },
        "cloudKmsConfig": {
          "$ref": "GoogleCloudIntegrationsV1alphaCloudKmsConfig"
        },
        "createTime": {
          "description": "The timestamp when the client was first created.",
          "type": "string",
          "format": "google-datetime"
        },
        "p4ServiceAccount": {
          "description": "The service agent associated with this client",
          "type": "string"
        },
        "billingType": {
          "description": "Indicates the billing type of the client",
          "type": "string",
          "enumDescriptions": [
            "Unspecified billing type",
            "A trial org provisioned through Apigee Provisioning Wizard",
            "Subscription based users of Apigee",
            "Consumption based users of IP"
          ],
          "enum": [
            "BILLING_TYPE_UNSPECIFIED",
            "BILLING_TYPE_APIGEE_TRIALS",
            "BILLING_TYPE_APIGEE_SUBSCRIPTION",
            "BILLING_TYPE_PAYG"
          ]
        },
        "clientState": {
          "description": "Indicates the activity state the client",
          "type": "string",
          "enumDescriptions": [
            "The client state is unspecified",
            "The client is active and able to make calls to the IP APIs",
            "The client is disabled and will soon be deleted"
          ],
          "enum": [
            "CLIENT_STATE_UNSPECIFIED",
            "CLIENT_STATE_ACTIVE",
            "CLIENT_STATE_DISABLED"
          ]
        },
        "runAsServiceAccount": {
          "type": "string"
        },
        "enableVariableMasking": {
          "description": "Optional. ",
          "type": "boolean"
        },
        "isGmek": {
          "description": "Optional. Indicates the client is provisioned with CMEK or GMEK.",
          "type": "boolean"
        },
        "enableInternalIp": {
          "description": "Optional. Indicates the client enables internal IP feature, this is applicable for internal clients only.",
          "type": "boolean"
        },
        "enableHttpCall": {
          "description": "Optional. ",
          "type": "boolean"
        },
        "enableManagedAiFeatures": {
          "description": "Optional. ",
          "type": "boolean"
        },
        "customerConfig": {
          "description": "Optional. Customer configuration information for the given client.",
          "$ref": "GoogleCloudIntegrationsV1alphaCustomerConfig"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaCustomerConfig": {
      "id": "GoogleCloudIntegrationsV1alphaCustomerConfig",
      "description": "Customer configuration information for the given client",
      "type": "object",
      "properties": {
        "enableManagedAiFeatures": {
          "description": "Optional. Indicates if the client should be allowed to use managed AI features, i.e. using Cloud Companion APIs of the tenant project. This will allow the customers to use features like Troubleshooting, OpenAPI spec enrichment, etc. for free.",
          "type": "boolean"
        },
        "runAsServiceAccount": {
          "description": "Optional. Run-as service account to be updated for the provisioned client.",
          "type": "string"
        },
        "enableVariableMasking": {
          "description": "Optional. True if variable masking feature should be turned on for this region.",
          "type": "boolean"
        },
        "enableHttpCall": {
          "description": "Optional. Indicates if the client should be allowed to make HTTP calls. True if http call feature should be turned on for this region.",
          "type": "boolean"
        },
        "cloudKmsConfig": {
          "description": "Optional. Cloud KMS config for Auth Module to encrypt/decrypt credentials.",
          "$ref": "GoogleCloudIntegrationsV1alphaCloudKmsConfig"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaChangeCustomerConfigRequest": {
      "id": "GoogleCloudIntegrationsV1alphaChangeCustomerConfigRequest",
      "description": "Request for the ChangeCustomerConfig rpc",
      "type": "object",
      "properties": {
        "updateMask": {
          "description": "Required. Field mask specifying the fields in the customer config that have been modified and must be updated. If absent or empty, no fields are updated.",
          "type": "string",
          "format": "google-fieldmask"
        },
        "customerConfig": {
          "description": "Optional. The customer configuration to be updated.",
          "$ref": "GoogleCloudIntegrationsV1alphaCustomerConfig"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaChangeCustomerConfigResponse": {
      "id": "GoogleCloudIntegrationsV1alphaChangeCustomerConfigResponse",
      "description": "Response for the ChangeCustomerConfig rpc",
      "type": "object",
      "properties": {
        "customerConfig": {
          "description": "Required. The updated customer configuration.",
          "$ref": "GoogleCloudIntegrationsV1alphaCustomerConfig"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaGetClientMetadataResponse": {
      "id": "GoogleCloudIntegrationsV1alphaGetClientMetadataResponse",
      "description": "Response for the GetClientMetadata rpc",
      "type": "object",
      "properties": {
        "properties": {
          "description": "Required. Required: The client configuration that was requested",
          "$ref": "GoogleCloudIntegrationsV1alphaProjectProperties"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaProjectProperties": {
      "id": "GoogleCloudIntegrationsV1alphaProjectProperties",
      "description": "Metadata information for the given project",
      "type": "object",
      "properties": {
        "ipEnablementState": {
          "description": "An enum value of what the enablement state is for the given project",
          "type": "string",
          "enumDescriptions": [
            "The client enablement status is unspecified",
            "The client is enabled on Standalone IP",
            "The client is enabled on Apigee",
            "The client is entitled for Apigee but not enabled"
          ],
          "enum": [
            "IP_ENABLEMENT_STATE_UNSPECIFIED",
            "IP_ENABLEMENT_STATE_STANDALONE",
            "IP_ENABLEMENT_STATE_APIGEE",
            "IP_ENABLEMENT_STATE_APIGEE_ENTITLED"
          ]
        },
        "provisionedRegions": {
          "description": "A list of provisioned regions on the current project",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "billingType": {
          "description": "Required. Required: The client billing type that was requested",
          "type": "string",
          "enumDescriptions": [
            "",
            "A trial org provisioned through Apigee Provisioning Wizard",
            "Subscription based on concurrency model for Apigee and Application Integration users.",
            "Consumption based users of IP",
            "Argentum subscription for Application Integration users. To be used in the future.",
            "Special billing type to avoid any billing to clients (eg: trusted tester program). This should not be used without consulting with the leads."
          ],
          "enum": [
            "BILLING_TYPE_UNSPECIFIED",
            "APIGEE_TRIALS",
            "APIGEE_SUBSCRIPTION",
            "PAYG",
            "SUBSCRIPTION",
            "NO_BILLING"
          ]
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaSwitchEncryptionRequest": {
      "id": "GoogleCloudIntegrationsV1alphaSwitchEncryptionRequest",
      "description": "Request for the SwitchEncryption rpc",
      "type": "object",
      "properties": {
        "cloudKmsConfig": {
          "description": "Required. REQUIRED: Cloud KMS config for AuthModule to encrypt/decrypt credentials.",
          "$ref": "GoogleCloudIntegrationsV1alphaCloudKmsConfig"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaReplaceServiceAccountRequest": {
      "id": "GoogleCloudIntegrationsV1alphaReplaceServiceAccountRequest",
      "description": "Request for the ReplaceServiceAccount rpc",
      "type": "object",
      "properties": {
        "runAsServiceAccount": {
          "description": "Required. REQUIRED: Run-as service account to be updated",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaSwitchVariableMaskingRequest": {
      "id": "GoogleCloudIntegrationsV1alphaSwitchVariableMaskingRequest",
      "description": "Request to enable/disable variable masking for a provisioned client",
      "type": "object",
      "properties": {
        "enableVariableMasking": {
          "description": "Required. REQUIRED: True if variable masking feature should be turned on for this region",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaToggleHttpRequest": {
      "id": "GoogleCloudIntegrationsV1alphaToggleHttpRequest",
      "description": "Request to enable/disable http call for a provisioned client",
      "type": "object",
      "properties": {
        "enableHttpCall": {
          "description": "Required. REQUIRED: True if http call feature should be turned on for this region",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaCreateCloudFunctionRequest": {
      "id": "GoogleCloudIntegrationsV1alphaCreateCloudFunctionRequest",
      "description": "Request for Creating Cloud Function rpc call.",
      "type": "object",
      "properties": {
        "projectId": {
          "description": "Indicates the id of the GCP project that the function will be created in.",
          "type": "string"
        },
        "functionName": {
          "description": "The function name of CF to be created",
          "type": "string"
        },
        "functionRegion": {
          "description": "The function region of CF to be created",
          "type": "string"
        },
        "gcfApiVersion": {
          "description": "Optional. The api version of CF to be created",
          "type": "string",
          "enumDescriptions": [
            "Unspecified.",
            "V1 API version.",
            "V2 API version."
          ],
          "enum": [
            "GCF_API_VERSION_UNSPECIFIED",
            "API_VERSION_V1",
            "API_VERSION_V2"
          ]
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaCreateCloudFunctionResponse": {
      "id": "GoogleCloudIntegrationsV1alphaCreateCloudFunctionResponse",
      "description": "Response for Creating Cloud Function rpc call.",
      "type": "object",
      "properties": {
        "triggerUrl": {
          "description": "The trigger url that will be returned",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaListCertificatesResponse": {
      "id": "GoogleCloudIntegrationsV1alphaListCertificatesResponse",
      "description": "Response to list Certificates.",
      "type": "object",
      "properties": {
        "certificates": {
          "description": "The list of Certificates retrieved.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaCertificate"
          }
        },
        "nextPageToken": {
          "description": "The token used to retrieve the next page of results.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaCertificate": {
      "id": "GoogleCloudIntegrationsV1alphaCertificate",
      "description": "The certificate definition",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. Auto generated primary key",
          "readOnly": true,
          "type": "string"
        },
        "displayName": {
          "description": "Required. Name of the certificate",
          "type": "string"
        },
        "description": {
          "description": "Description of the certificate",
          "type": "string"
        },
        "requestorId": {
          "description": "Immutable. Requestor ID to be used to register certificate with trawler",
          "type": "string"
        },
        "credentialId": {
          "description": "Immutable. Credential id that will be used to register with trawler",
          "type": "string"
        },
        "certificateStatus": {
          "description": "Status of the certificate",
          "type": "string",
          "enumDescriptions": [
            "Unspecified certificate status",
            "Certificate in active state will be able to use",
            "Certificate in expired state needs to be updated"
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "EXPIRED"
          ]
        },
        "validStartTime": {
          "description": "Output only. The timestamp after which certificate will be valid",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "validEndTime": {
          "description": "Output only. The timestamp after which certificate will expire",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "rawCertificate": {
          "description": "Input only. Raw client certificate which would be registered with trawler",
          "$ref": "GoogleCloudIntegrationsV1alphaClientCertificate"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaClientCertificate": {
      "id": "GoogleCloudIntegrationsV1alphaClientCertificate",
      "description": "Contains client certificate information",
      "type": "object",
      "properties": {
        "sslCertificate": {
          "description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----",
          "type": "string"
        },
        "encryptedPrivateKey": {
          "description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----",
          "type": "string"
        },
        "passphrase": {
          "description": "'passphrase' should be left unset if private key is not encrypted. Note that 'passphrase' is not the password for web server, but an extra layer of security to protected private key.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaAuthConfig": {
      "id": "GoogleCloudIntegrationsV1alphaAuthConfig",
      "description": "The AuthConfig resource use to hold channels and connection config data.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Resource name of the auth config. For more information, see Manage authentication profiles. projects/{project}/locations/{location}/authConfigs/{authConfig}.",
          "type": "string"
        },
        "displayName": {
          "description": "Required. The name of the auth config.",
          "type": "string"
        },
        "description": {
          "description": "Optional. A description of the auth config.",
          "type": "string"
        },
        "encryptedCredential": {
          "description": "Auth credential encrypted by Cloud KMS. Can be decrypted as Credential with proper KMS key.",
          "type": "string",
          "format": "byte"
        },
        "decryptedCredential": {
          "description": "Raw auth credentials.",
          "$ref": "GoogleCloudIntegrationsV1alphaCredential"
        },
        "certificateId": {
          "description": "Certificate id for client certificate",
          "type": "string"
        },
        "credentialType": {
          "description": "Required. Credential type of the encrypted credential.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified credential type",
            "Regular username/password pair.",
            "API key.",
            "OAuth 2.0 Authorization Code Grant Type.",
            "OAuth 2.0 Implicit Grant Type.",
            "OAuth 2.0 Client Credentials Grant Type.",
            "OAuth 2.0 Resource Owner Credentials Grant Type.",
            "JWT Token.",
            "Auth Token, e.g. bearer token.",
            "Service Account which can be used to generate token for authentication.",
            "Client Certificate only.",
            "Google OIDC ID Token"
          ],
          "enum": [
            "CREDENTIAL_TYPE_UNSPECIFIED",
            "USERNAME_AND_PASSWORD",
            "API_KEY",
            "OAUTH2_AUTHORIZATION_CODE",
            "OAUTH2_IMPLICIT",
            "OAUTH2_CLIENT_CREDENTIALS",
            "OAUTH2_RESOURCE_OWNER_CREDENTIALS",
            "JWT",
            "AUTH_TOKEN",
            "SERVICE_ACCOUNT",
            "CLIENT_CERTIFICATE_ONLY",
            "OIDC_TOKEN"
          ]
        },
        "creatorEmail": {
          "description": "The creator's email address. Generated based on the End User Credentials/LOAS role of the user making the call.",
          "type": "string"
        },
        "createTime": {
          "description": "Output only. The timestamp when the auth config is created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "lastModifierEmail": {
          "description": "The last modifier's email address. Generated based on the End User Credentials/LOAS role of the user making the call.",
          "type": "string"
        },
        "updateTime": {
          "description": "Output only. The timestamp when the auth config is modified.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "visibility": {
          "description": "Optional. The visibility of the auth config.",
          "type": "string",
          "enumDescriptions": [
            "Visibility not specified.",
            "Profile visible to the creator only.",
            "Profile visible within the client."
          ],
          "enum": [
            "AUTH_CONFIG_VISIBILITY_UNSPECIFIED",
            "PRIVATE",
            "CLIENT_VISIBLE"
          ]
        },
        "state": {
          "description": "Output only. The status of the auth config.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Status not specified.",
            "Valid Auth config.",
            "General invalidity, if it doesn't fits in the detailed issue below.",
            "Auth config soft deleted.",
            "Auth config expired.",
            "Auth config unauthorized.",
            "Auth config not supported."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "VALID",
            "INVALID",
            "SOFT_DELETED",
            "EXPIRED",
            "UNAUTHORIZED",
            "UNSUPPORTED"
          ]
        },
        "reason": {
          "description": "Output only. The reason / details of the current status.",
          "readOnly": true,
          "type": "string"
        },
        "expiryNotificationDuration": {
          "description": "Optional. User can define the time to receive notification after which the auth config becomes invalid. Support up to 30 days. Support granularity in hours.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "google-duration"
          }
        },
        "validTime": {
          "description": "Optional. The time until the auth config is valid. Empty or max value is considered the auth config won't expire.",
          "type": "string",
          "format": "google-datetime"
        },
        "overrideValidTime": {
          "description": "Optional. User provided expiry time to override. For the example of Salesforce, username/password credentials can be valid for 6 months depending on the instance settings.",
          "type": "string",
          "format": "google-datetime"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaCredential": {
      "id": "GoogleCloudIntegrationsV1alphaCredential",
      "description": "Defines parameters for a single, canonical credential.",
      "type": "object",
      "properties": {
        "credentialType": {
          "description": "Credential type associated with auth config.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified credential type",
            "Regular username/password pair.",
            "API key.",
            "OAuth 2.0 Authorization Code Grant Type.",
            "OAuth 2.0 Implicit Grant Type.",
            "OAuth 2.0 Client Credentials Grant Type.",
            "OAuth 2.0 Resource Owner Credentials Grant Type.",
            "JWT Token.",
            "Auth Token, e.g. bearer token.",
            "Service Account which can be used to generate token for authentication.",
            "Client Certificate only.",
            "Google OIDC ID Token"
          ],
          "enum": [
            "CREDENTIAL_TYPE_UNSPECIFIED",
            "USERNAME_AND_PASSWORD",
            "API_KEY",
            "OAUTH2_AUTHORIZATION_CODE",
            "OAUTH2_IMPLICIT",
            "OAUTH2_CLIENT_CREDENTIALS",
            "OAUTH2_RESOURCE_OWNER_CREDENTIALS",
            "JWT",
            "AUTH_TOKEN",
            "SERVICE_ACCOUNT",
            "CLIENT_CERTIFICATE_ONLY",
            "OIDC_TOKEN"
          ]
        },
        "usernameAndPassword": {
          "description": "Username and password credential",
          "$ref": "GoogleCloudIntegrationsV1alphaUsernameAndPassword"
        },
        "oauth2AuthorizationCode": {
          "description": "The api_key and oauth2_implicit are not covered in v1 and will be picked up once v1 is implemented. ApiKey api_key = 3; OAuth2 authorization code credential",
          "$ref": "GoogleCloudIntegrationsV1alphaOAuth2AuthorizationCode"
        },
        "oauth2ClientCredentials": {
          "description": "OAuth2Implicit oauth2_implicit = 5; OAuth2 client credentials",
          "$ref": "GoogleCloudIntegrationsV1alphaOAuth2ClientCredentials"
        },
        "oauth2ResourceOwnerCredentials": {
          "description": "OAuth2 resource owner credentials",
          "$ref": "GoogleCloudIntegrationsV1alphaOAuth2ResourceOwnerCredentials"
        },
        "jwt": {
          "description": "JWT credential",
          "$ref": "GoogleCloudIntegrationsV1alphaJwt"
        },
        "authToken": {
          "description": "Auth token credential",
          "$ref": "GoogleCloudIntegrationsV1alphaAuthToken"
        },
        "serviceAccountCredentials": {
          "description": "Service account credential",
          "$ref": "GoogleCloudIntegrationsV1alphaServiceAccountCredentials"
        },
        "oidcToken": {
          "description": "Google OIDC ID Token",
          "$ref": "GoogleCloudIntegrationsV1alphaOidcToken"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaUsernameAndPassword": {
      "id": "GoogleCloudIntegrationsV1alphaUsernameAndPassword",
      "description": "Username and password pair.",
      "type": "object",
      "properties": {
        "username": {
          "description": "Username to be used",
          "type": "string"
        },
        "password": {
          "description": "Password to be used",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaOAuth2AuthorizationCode": {
      "id": "GoogleCloudIntegrationsV1alphaOAuth2AuthorizationCode",
      "description": "The OAuth Type where the client sends request with the client id and requested scopes to auth endpoint. User sees a consent screen and auth code is received at specified redirect url afterwards. The auth code is then combined with the client id and secret and sent to the token endpoint in exchange for the access and refresh token. The refresh token can be used to fetch new access tokens.",
      "type": "object",
      "properties": {
        "clientId": {
          "description": "The client's id.",
          "type": "string"
        },
        "clientSecret": {
          "description": "The client's secret.",
          "type": "string"
        },
        "scope": {
          "description": "A space-delimited list of requested scope permissions.",
          "type": "string"
        },
        "authEndpoint": {
          "description": "The auth url endpoint to send the auth code request to.",
          "type": "string"
        },
        "authParams": {
          "description": "The auth parameters sent along with the auth code request.",
          "$ref": "GoogleCloudIntegrationsV1alphaParameterMap"
        },
        "tokenEndpoint": {
          "description": "The token url endpoint to send the token request to.",
          "type": "string"
        },
        "tokenParams": {
          "description": "The token parameters sent along with the token request.",
          "$ref": "GoogleCloudIntegrationsV1alphaParameterMap"
        },
        "accessToken": {
          "description": "The access token received from the token endpoint.",
          "$ref": "GoogleCloudIntegrationsV1alphaAccessToken"
        },
        "authCode": {
          "description": "The Auth Code that is used to initially retrieve the access token.",
          "type": "string"
        },
        "requestType": {
          "description": "Represent how to pass parameters to fetch access token",
          "type": "string",
          "enumDescriptions": [
            "Unspecified request type",
            "To pass all the parameters in post body.",
            "To pass all the parameters as a part of query parameter.",
            "To pass client id and client secret as base 64 encoding of client_id:client_password and rest parameters in post body."
          ],
          "enum": [
            "REQUEST_TYPE_UNSPECIFIED",
            "REQUEST_BODY",
            "QUERY_PARAMETERS",
            "ENCODED_HEADER"
          ]
        },
        "applyReauthPolicy": {
          "description": "Indicates if the user has opted in Google Reauth Policy. If opted in, the refresh token will be valid for 20 hours, after which time users must re-authenticate in order to obtain a new one.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaParameterMap": {
      "id": "GoogleCloudIntegrationsV1alphaParameterMap",
      "description": "A generic multi-map that holds key value pairs. They keys and values can be of any type, unless specified.",
      "type": "object",
      "properties": {
        "entries": {
          "description": "A list of parameter map entries.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaParameterMapEntry"
          }
        },
        "keyType": {
          "description": "Option to specify key type for all entries of the map. If provided then field types for all entries must conform to this.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified.",
            "String.",
            "Integer.",
            "Double Number.",
            "Boolean.",
            "String Array.",
            "Integer Array.",
            "Double Number Array.",
            "Boolean Array.",
            "Json.",
            "Proto Value (Internal use only).",
            "Proto Array (Internal use only).",
            "// Non-serializable object (Internal use only).",
            "Proto Enum (Internal use only).",
            "Serialized object (Internal use only).",
            "Proto Enum Array (Internal use only).",
            "BYTES data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.",
            "BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields."
          ],
          "enum": [
            "INTEGRATION_PARAMETER_DATA_TYPE_UNSPECIFIED",
            "STRING_VALUE",
            "INT_VALUE",
            "DOUBLE_VALUE",
            "BOOLEAN_VALUE",
            "STRING_ARRAY",
            "INT_ARRAY",
            "DOUBLE_ARRAY",
            "BOOLEAN_ARRAY",
            "JSON_VALUE",
            "PROTO_VALUE",
            "PROTO_ARRAY",
            "NON_SERIALIZABLE_OBJECT",
            "PROTO_ENUM",
            "SERIALIZED_OBJECT_VALUE",
            "PROTO_ENUM_ARRAY",
            "BYTES",
            "BYTES_ARRAY"
          ]
        },
        "valueType": {
          "description": "Option to specify value type for all entries of the map. If provided then field types for all entries must conform to this.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified.",
            "String.",
            "Integer.",
            "Double Number.",
            "Boolean.",
            "String Array.",
            "Integer Array.",
            "Double Number Array.",
            "Boolean Array.",
            "Json.",
            "Proto Value (Internal use only).",
            "Proto Array (Internal use only).",
            "// Non-serializable object (Internal use only).",
            "Proto Enum (Internal use only).",
            "Serialized object (Internal use only).",
            "Proto Enum Array (Internal use only).",
            "BYTES data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.",
            "BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields."
          ],
          "enum": [
            "INTEGRATION_PARAMETER_DATA_TYPE_UNSPECIFIED",
            "STRING_VALUE",
            "INT_VALUE",
            "DOUBLE_VALUE",
            "BOOLEAN_VALUE",
            "STRING_ARRAY",
            "INT_ARRAY",
            "DOUBLE_ARRAY",
            "BOOLEAN_ARRAY",
            "JSON_VALUE",
            "PROTO_VALUE",
            "PROTO_ARRAY",
            "NON_SERIALIZABLE_OBJECT",
            "PROTO_ENUM",
            "SERIALIZED_OBJECT_VALUE",
            "PROTO_ENUM_ARRAY",
            "BYTES",
            "BYTES_ARRAY"
          ]
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaParameterMapEntry": {
      "id": "GoogleCloudIntegrationsV1alphaParameterMapEntry",
      "description": "Entry is a pair of key and value.",
      "type": "object",
      "properties": {
        "key": {
          "description": "Key of the map entry.",
          "$ref": "GoogleCloudIntegrationsV1alphaParameterMapField"
        },
        "value": {
          "description": "Value of the map entry.",
          "$ref": "GoogleCloudIntegrationsV1alphaParameterMapField"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaParameterMapField": {
      "id": "GoogleCloudIntegrationsV1alphaParameterMapField",
      "description": "Field represents either the key or value in an entry.",
      "type": "object",
      "properties": {
        "referenceKey": {
          "description": "Referencing one of the Integration variables.",
          "type": "string"
        },
        "literalValue": {
          "description": "Passing a literal value.",
          "$ref": "GoogleCloudIntegrationsV1alphaValueType"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaValueType": {
      "id": "GoogleCloudIntegrationsV1alphaValueType",
      "description": "The type of the parameter.",
      "type": "object",
      "properties": {
        "stringValue": {
          "description": "String.",
          "type": "string"
        },
        "intValue": {
          "description": "Integer.",
          "type": "string",
          "format": "int64"
        },
        "doubleValue": {
          "description": "Double Number.",
          "type": "number",
          "format": "double"
        },
        "booleanValue": {
          "description": "Boolean.",
          "type": "boolean"
        },
        "stringArray": {
          "description": "String Array.",
          "$ref": "GoogleCloudIntegrationsV1alphaStringParameterArray"
        },
        "intArray": {
          "description": "Integer Array.",
          "$ref": "GoogleCloudIntegrationsV1alphaIntParameterArray"
        },
        "doubleArray": {
          "description": "Double Number Array.",
          "$ref": "GoogleCloudIntegrationsV1alphaDoubleParameterArray"
        },
        "booleanArray": {
          "description": "Boolean Array.",
          "$ref": "GoogleCloudIntegrationsV1alphaBooleanParameterArray"
        },
        "jsonValue": {
          "description": "Json.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaStringParameterArray": {
      "id": "GoogleCloudIntegrationsV1alphaStringParameterArray",
      "description": "This message only contains a field of string array.",
      "type": "object",
      "properties": {
        "stringValues": {
          "description": "String array.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaIntParameterArray": {
      "id": "GoogleCloudIntegrationsV1alphaIntParameterArray",
      "description": "This message only contains a field of integer array.",
      "type": "object",
      "properties": {
        "intValues": {
          "description": "Integer array.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaDoubleParameterArray": {
      "id": "GoogleCloudIntegrationsV1alphaDoubleParameterArray",
      "description": "This message only contains a field of double number array.",
      "type": "object",
      "properties": {
        "doubleValues": {
          "description": "Double number array.",
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaBooleanParameterArray": {
      "id": "GoogleCloudIntegrationsV1alphaBooleanParameterArray",
      "description": "This message only contains a field of boolean array.",
      "type": "object",
      "properties": {
        "booleanValues": {
          "description": "Boolean array.",
          "type": "array",
          "items": {
            "type": "boolean"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaAccessToken": {
      "id": "GoogleCloudIntegrationsV1alphaAccessToken",
      "description": "The access token represents the authorization of a specific application to access specific parts of a user’s data.",
      "type": "object",
      "properties": {
        "accessToken": {
          "description": "The access token encapsulating the security identity of a process or thread.",
          "type": "string"
        },
        "accessTokenExpireTime": {
          "description": "Required. The approximate time until the access token retrieved is valid.",
          "type": "string",
          "format": "google-datetime"
        },
        "tokenType": {
          "description": "Only support \"bearer\" token in v1 as bearer token is the predominant type used with OAuth 2.0.",
          "type": "string"
        },
        "refreshToken": {
          "description": "If the access token will expire, use the refresh token to obtain another access token.",
          "type": "string"
        },
        "refreshTokenExpireTime": {
          "description": "The approximate time until the refresh token retrieved is valid.",
          "type": "string",
          "format": "google-datetime"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaOAuth2ClientCredentials": {
      "id": "GoogleCloudIntegrationsV1alphaOAuth2ClientCredentials",
      "description": "For client credentials grant, the client sends a POST request with grant_type as 'client_credentials' to the authorization server. The authorization server will respond with a JSON object containing the access token.",
      "type": "object",
      "properties": {
        "clientId": {
          "description": "The client's ID.",
          "type": "string"
        },
        "clientSecret": {
          "description": "The client's secret.",
          "type": "string"
        },
        "tokenEndpoint": {
          "description": "The token endpoint is used by the client to obtain an access token by presenting its authorization grant or refresh token.",
          "type": "string"
        },
        "scope": {
          "description": "A space-delimited list of requested scope permissions.",
          "type": "string"
        },
        "tokenParams": {
          "description": "Token parameters for the auth request.",
          "$ref": "GoogleCloudIntegrationsV1alphaParameterMap"
        },
        "accessToken": {
          "description": "Access token fetched from the authorization server.",
          "$ref": "GoogleCloudIntegrationsV1alphaAccessToken"
        },
        "requestType": {
          "description": "Represent how to pass parameters to fetch access token",
          "type": "string",
          "enumDescriptions": [
            "Unspecified request type",
            "To pass all the parameters in post body.",
            "To pass all the parameters as a part of query parameter.",
            "To pass client id and client secret as base 64 encoding of client_id:client_password and rest parameters in post body."
          ],
          "enum": [
            "REQUEST_TYPE_UNSPECIFIED",
            "REQUEST_BODY",
            "QUERY_PARAMETERS",
            "ENCODED_HEADER"
          ]
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaOAuth2ResourceOwnerCredentials": {
      "id": "GoogleCloudIntegrationsV1alphaOAuth2ResourceOwnerCredentials",
      "description": "For resource owner credentials grant, the client will ask the user for their authorization credentials (ususally a username and password) and send a POST request to the authorization server. The authorization server will respond with a JSON object containing the access token.",
      "type": "object",
      "properties": {
        "clientId": {
          "description": "The client's ID.",
          "type": "string"
        },
        "clientSecret": {
          "description": "The client's secret.",
          "type": "string"
        },
        "username": {
          "description": "The user's username.",
          "type": "string"
        },
        "password": {
          "description": "The user's password.",
          "type": "string"
        },
        "tokenEndpoint": {
          "description": "The token endpoint is used by the client to obtain an access token by presenting its authorization grant or refresh token.",
          "type": "string"
        },
        "scope": {
          "description": "A space-delimited list of requested scope permissions.",
          "type": "string"
        },
        "tokenParams": {
          "description": "Token parameters for the auth request.",
          "$ref": "GoogleCloudIntegrationsV1alphaParameterMap"
        },
        "accessToken": {
          "description": "Access token fetched from the authorization server.",
          "$ref": "GoogleCloudIntegrationsV1alphaAccessToken"
        },
        "requestType": {
          "description": "Represent how to pass parameters to fetch access token",
          "type": "string",
          "enumDescriptions": [
            "Unspecified request type",
            "To pass all the parameters in post body.",
            "To pass all the parameters as a part of query parameter.",
            "To pass client id and client secret as base 64 encoding of client_id:client_password and rest parameters in post body."
          ],
          "enum": [
            "REQUEST_TYPE_UNSPECIFIED",
            "REQUEST_BODY",
            "QUERY_PARAMETERS",
            "ENCODED_HEADER"
          ]
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaJwt": {
      "id": "GoogleCloudIntegrationsV1alphaJwt",
      "description": "Represents JSON web token(JWT), which is a compact, URL-safe means of representing claims to be transferred between two parties, enabling the claims to be digitally signed or integrity protected.",
      "type": "object",
      "properties": {
        "jwtHeader": {
          "description": "Identifies which algorithm is used to generate the signature.",
          "type": "string"
        },
        "jwtPayload": {
          "description": "Contains a set of claims. The JWT specification defines seven Registered Claim Names which are the standard fields commonly included in tokens. Custom claims are usually also included, depending on the purpose of the token.",
          "type": "string"
        },
        "secret": {
          "description": "User's pre-shared secret to sign the token.",
          "type": "string"
        },
        "jwt": {
          "description": "The token calculated by the header, payload and signature.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaAuthToken": {
      "id": "GoogleCloudIntegrationsV1alphaAuthToken",
      "description": "The credentials to authenticate a user agent with a server that is put in HTTP Authorization request header.",
      "type": "object",
      "properties": {
        "type": {
          "description": "Authentication type, e.g. \"Basic\", \"Bearer\", etc.",
          "type": "string"
        },
        "token": {
          "description": "The token for the auth type.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaServiceAccountCredentials": {
      "id": "GoogleCloudIntegrationsV1alphaServiceAccountCredentials",
      "description": "Represents the service account which can be used to generate access token for authenticating the service call.",
      "type": "object",
      "properties": {
        "serviceAccount": {
          "description": "Name of the service account that has the permission to make the request.",
          "type": "string"
        },
        "scope": {
          "description": "A space-delimited list of requested scope permissions.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaOidcToken": {
      "id": "GoogleCloudIntegrationsV1alphaOidcToken",
      "description": "OIDC Token",
      "type": "object",
      "properties": {
        "serviceAccountEmail": {
          "description": "The service account email to be used as the identity for the token.",
          "type": "string"
        },
        "audience": {
          "description": "Audience to be used when generating OIDC token. The audience claim identifies the recipients that the JWT is intended for.",
          "type": "string"
        },
        "token": {
          "description": "ID token obtained for the service account",
          "type": "string"
        },
        "tokenExpireTime": {
          "description": "The approximate time until the token retrieved is valid.",
          "type": "string",
          "format": "google-datetime"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaListAuthConfigsResponse": {
      "id": "GoogleCloudIntegrationsV1alphaListAuthConfigsResponse",
      "description": "Response to list AuthConfigs.",
      "type": "object",
      "properties": {
        "authConfigs": {
          "description": "The list of AuthConfigs retrieved.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaAuthConfig"
          }
        },
        "nextPageToken": {
          "description": "The token used to retrieve the next page of results.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaEnumerateConnectorPlatformRegionsResponse": {
      "id": "GoogleCloudIntegrationsV1alphaEnumerateConnectorPlatformRegionsResponse",
      "description": "Response containing all provisioned regions for Connector Platform.",
      "type": "object",
      "properties": {
        "regions": {
          "description": "All regions where Connector Platform is provisioned.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaListConnectionsResponse": {
      "id": "GoogleCloudIntegrationsV1alphaListConnectionsResponse",
      "description": "Response containing Connections listed by region.",
      "type": "object",
      "properties": {
        "connections": {
          "description": "Connections.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudConnectorsV1Connection"
          }
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        }
      }
    },
    "GoogleCloudConnectorsV1Connection": {
      "id": "GoogleCloudConnectorsV1Connection",
      "description": "Connection represents an instance of connector.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. Resource name of the Connection. Format: projects/{project}/locations/{location}/connections/{connection}",
          "readOnly": true,
          "type": "string"
        },
        "createTime": {
          "description": "Output only. Created time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Updated time.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "labels": {
          "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "description": {
          "description": "Optional. Description of the resource.",
          "type": "string"
        },
        "connectorVersion": {
          "description": "Required. Connector version on which the connection is created. The format is: projects/*/locations/*/providers/*/connectors/*/versions/* Only global location is supported for ConnectorVersion resource.",
          "type": "string"
        },
        "status": {
          "description": "Output only. Current status of the connection.",
          "readOnly": true,
          "$ref": "GoogleCloudConnectorsV1ConnectionStatus"
        },
        "configVariables": {
          "description": "Optional. Configuration for configuring the connection with an external system.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudConnectorsV1ConfigVariable"
          }
        },
        "authConfig": {
          "description": "Optional. Configuration for establishing the connection's authentication with an external system.",
          "$ref": "GoogleCloudConnectorsV1AuthConfig"
        },
        "lockConfig": {
          "description": "Optional. Configuration that indicates whether or not the Connection can be edited.",
          "$ref": "GoogleCloudConnectorsV1LockConfig"
        },
        "destinationConfigs": {
          "description": "Optional. Configuration of the Connector's destination. Only accepted for Connectors that accepts user defined destination(s).",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudConnectorsV1DestinationConfig"
          }
        },
        "imageLocation": {
          "description": "Output only. GCR location where the runtime image is stored. formatted like: gcr.io/{bucketName}/{imageName}",
          "readOnly": true,
          "type": "string"
        },
        "serviceAccount": {
          "description": "Optional. Service account needed for runtime plane to access Google Cloud resources.",
          "type": "string"
        },
        "serviceDirectory": {
          "description": "Output only. The name of the Service Directory service name. Used for Private Harpoon to resolve the ILB address. e.g. \"projects/cloud-connectors-e2e-testing/locations/us-central1/namespaces/istio-system/services/istio-ingressgateway-connectors\"",
          "readOnly": true,
          "type": "string"
        },
        "envoyImageLocation": {
          "description": "Output only. GCR location where the envoy image is stored. formatted like: gcr.io/{bucketName}/{imageName}",
          "readOnly": true,
          "type": "string"
        },
        "suspended": {
          "description": "Optional. Suspended indicates if a user has suspended a connection or not.",
          "type": "boolean"
        },
        "nodeConfig": {
          "description": "Optional. Node configuration for the connection.",
          "$ref": "GoogleCloudConnectorsV1NodeConfig"
        },
        "logConfig": {
          "description": "Optional. Log configuration for the connection.",
          "$ref": "GoogleCloudConnectorsV1LogConfig"
        },
        "sslConfig": {
          "description": "Optional. Ssl config of a connection",
          "$ref": "GoogleCloudConnectorsV1SslConfig"
        },
        "subscriptionType": {
          "description": "Output only. This subscription type enum states the subscription type of the project.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Unspecified subscription type.",
            "PayG subscription.",
            "Paid Subscription."
          ],
          "enum": [
            "SUBSCRIPTION_TYPE_UNSPECIFIED",
            "PAY_G",
            "PAID"
          ]
        },
        "connectionRevision": {
          "description": "Output only. Connection revision. This field is only updated when the connection is created or updated by User.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "eventingEnablementType": {
          "description": "Optional. Eventing enablement type. Will be nil if eventing is not enabled.",
          "type": "string",
          "enumDescriptions": [
            "Eventing Enablement Type Unspecifeied.",
            "Both connection and eventing.",
            "Only Eventing."
          ],
          "enum": [
            "EVENTING_ENABLEMENT_TYPE_UNSPECIFIED",
            "EVENTING_AND_CONNECTION",
            "ONLY_EVENTING"
          ]
        },
        "eventingConfig": {
          "description": "Optional. Eventing config of a connection",
          "$ref": "GoogleCloudConnectorsV1EventingConfig"
        },
        "connectorVersionLaunchStage": {
          "description": "Output only. Flag to mark the version indicating the launch stage.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "LAUNCH_STAGE_UNSPECIFIED.",
            "PREVIEW.",
            "GA.",
            "DEPRECATED.",
            "TEST.",
            "PRIVATE_PREVIEW."
          ],
          "enum": [
            "LAUNCH_STAGE_UNSPECIFIED",
            "PREVIEW",
            "GA",
            "DEPRECATED",
            "TEST",
            "PRIVATE_PREVIEW"
          ]
        },
        "eventingRuntimeData": {
          "description": "Output only. Eventing Runtime Data.",
          "readOnly": true,
          "$ref": "GoogleCloudConnectorsV1EventingRuntimeData"
        },
        "connectorVersionInfraConfig": {
          "description": "Output only. Infra configs supported by Connector Version.",
          "readOnly": true,
          "$ref": "GoogleCloudConnectorsV1ConnectorVersionInfraConfig"
        },
        "isTrustedTester": {
          "description": "Output only. Is trusted tester program enabled for the project.",
          "readOnly": true,
          "type": "boolean"
        },
        "authOverrideEnabled": {
          "description": "Optional. Auth override enabled for the connection. If Auth Override is enabled, Connection allows the backend service auth to be overridden in the entities/actions API.",
          "type": "boolean"
        },
        "billingConfig": {
          "description": "Output only. Billing config for the connection.",
          "readOnly": true,
          "$ref": "GoogleCloudConnectorsV1BillingConfig"
        },
        "asyncOperationsEnabled": {
          "description": "Optional. Async operations enabled for the connection. If Async Operations is enabled, Connection allows the customers to initiate async long running operations using the actions API.",
          "type": "boolean"
        },
        "host": {
          "description": "Output only. The name of the Hostname of the Service Directory service with TLS.",
          "readOnly": true,
          "type": "string"
        },
        "tlsServiceDirectory": {
          "description": "Output only. The name of the Service Directory service with TLS.",
          "readOnly": true,
          "type": "string"
        },
        "euaOauthAuthConfig": {
          "description": "Optional. Additional Oauth2.0 Auth config for EUA. If the connection is configured using non-OAuth authentication but OAuth needs to be used for EUA, this field can be populated with the OAuth config. This should be a OAuth2AuthCodeFlow Auth type only.",
          "$ref": "GoogleCloudConnectorsV1AuthConfig"
        },
        "trafficShapingConfigs": {
          "description": "Optional. Traffic shaping configuration for the connection.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudConnectorsV1TrafficShapingConfig"
          }
        },
        "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"
        }
      }
    },
    "GoogleCloudConnectorsV1ConnectionStatus": {
      "id": "GoogleCloudConnectorsV1ConnectionStatus",
      "description": "ConnectionStatus indicates the state of the connection.",
      "type": "object",
      "properties": {
        "state": {
          "description": "State.",
          "type": "string",
          "enumDescriptions": [
            "Connection does not have a state yet.",
            "Connection is being created.",
            "Connection is running and ready for requests.",
            "Connection is stopped.",
            "Connection is being deleted.",
            "Connection is being updated.",
            "Connection is not running due to an error.",
            "Connection is not running because the authorization configuration is not complete."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "CREATING",
            "ACTIVE",
            "INACTIVE",
            "DELETING",
            "UPDATING",
            "ERROR",
            "AUTHORIZATION_REQUIRED"
          ]
        },
        "description": {
          "description": "Description.",
          "type": "string"
        },
        "status": {
          "description": "Status provides detailed information for the state.",
          "type": "string"
        }
      }
    },
    "GoogleCloudConnectorsV1ConfigVariable": {
      "id": "GoogleCloudConnectorsV1ConfigVariable",
      "description": "ConfigVariable represents a configuration variable present in a Connection. or AuthConfig.",
      "type": "object",
      "properties": {
        "key": {
          "description": "Optional. Key of the config variable.",
          "type": "string"
        },
        "intValue": {
          "description": "Optional. Value is an integer",
          "type": "string",
          "format": "int64"
        },
        "boolValue": {
          "description": "Optional. Value is a bool.",
          "type": "boolean"
        },
        "stringValue": {
          "description": "Optional. Value is a string.",
          "type": "string"
        },
        "secretValue": {
          "description": "Optional. Value is a secret.",
          "$ref": "GoogleCloudConnectorsV1Secret"
        },
        "encryptionKeyValue": {
          "description": "Optional. Value is a Encryption Key.",
          "$ref": "GoogleCloudConnectorsV1EncryptionKey"
        }
      }
    },
    "GoogleCloudConnectorsV1Secret": {
      "id": "GoogleCloudConnectorsV1Secret",
      "description": "Secret provides a reference to entries in Secret Manager.",
      "type": "object",
      "properties": {
        "secretVersion": {
          "description": "Optional. The resource name of the secret version in the format, format as: `projects/*/secrets/*/versions/*`.",
          "type": "string"
        }
      }
    },
    "GoogleCloudConnectorsV1EncryptionKey": {
      "id": "GoogleCloudConnectorsV1EncryptionKey",
      "description": "Encryption Key value.",
      "type": "object",
      "properties": {
        "type": {
          "description": "Optional. Specifies the type of the encryption key.",
          "type": "string",
          "enumDescriptions": [
            "Value type is not specified.",
            "Google Managed.",
            "Customer Managed."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "GOOGLE_MANAGED",
            "CUSTOMER_MANAGED"
          ]
        },
        "kmsKeyName": {
          "description": "Optional. The [KMS key name] with which the content of the Operation is encrypted. The expected format: `projects/*/locations/*/keyRings/*/cryptoKeys/*`. Will be empty string if google managed.",
          "type": "string"
        }
      }
    },
    "GoogleCloudConnectorsV1AuthConfig": {
      "id": "GoogleCloudConnectorsV1AuthConfig",
      "description": "AuthConfig defines details of a authentication type.",
      "type": "object",
      "properties": {
        "authType": {
          "description": "Optional. The type of authentication configured.",
          "type": "string",
          "enumDescriptions": [
            "Authentication type not specified.",
            "Username and Password Authentication.",
            "JSON Web Token (JWT) Profile for Oauth 2.0 Authorization Grant based authentication",
            "Oauth 2.0 Client Credentials Grant Authentication",
            "SSH Public Key Authentication",
            "Oauth 2.0 Authorization Code Flow",
            "Google authentication",
            "Oauth 2.0 Authorization Code Flow with Google Provided OAuth Client"
          ],
          "enum": [
            "AUTH_TYPE_UNSPECIFIED",
            "USER_PASSWORD",
            "OAUTH2_JWT_BEARER",
            "OAUTH2_CLIENT_CREDENTIALS",
            "SSH_PUBLIC_KEY",
            "OAUTH2_AUTH_CODE_FLOW",
            "GOOGLE_AUTHENTICATION",
            "OAUTH2_AUTH_CODE_FLOW_GOOGLE_MANAGED"
          ]
        },
        "userPassword": {
          "description": "UserPassword.",
          "$ref": "GoogleCloudConnectorsV1AuthConfigUserPassword"
        },
        "oauth2JwtBearer": {
          "description": "Oauth2JwtBearer.",
          "$ref": "GoogleCloudConnectorsV1AuthConfigOauth2JwtBearer"
        },
        "oauth2ClientCredentials": {
          "description": "Oauth2ClientCredentials.",
          "$ref": "GoogleCloudConnectorsV1AuthConfigOauth2ClientCredentials"
        },
        "sshPublicKey": {
          "description": "SSH Public Key.",
          "$ref": "GoogleCloudConnectorsV1AuthConfigSshPublicKey"
        },
        "oauth2AuthCodeFlow": {
          "description": "Oauth2AuthCodeFlow.",
          "$ref": "GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlow"
        },
        "oauth2AuthCodeFlowGoogleManaged": {
          "description": "Oauth2AuthCodeFlowGoogleManaged.",
          "$ref": "GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlowGoogleManaged"
        },
        "additionalVariables": {
          "description": "Optional. List containing additional auth configs.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudConnectorsV1ConfigVariable"
          }
        },
        "authKey": {
          "description": "Optional. Identifier key for auth config",
          "type": "string"
        }
      }
    },
    "GoogleCloudConnectorsV1AuthConfigUserPassword": {
      "id": "GoogleCloudConnectorsV1AuthConfigUserPassword",
      "description": "Parameters to support Username and Password Authentication.",
      "type": "object",
      "properties": {
        "username": {
          "description": "Optional. Username.",
          "type": "string"
        },
        "password": {
          "description": "Optional. Secret version reference containing the password.",
          "$ref": "GoogleCloudConnectorsV1Secret"
        }
      }
    },
    "GoogleCloudConnectorsV1AuthConfigOauth2JwtBearer": {
      "id": "GoogleCloudConnectorsV1AuthConfigOauth2JwtBearer",
      "description": "Parameters to support JSON Web Token (JWT) Profile for Oauth 2.0 Authorization Grant based authentication. See https://tools.ietf.org/html/rfc7523 for more details.",
      "type": "object",
      "properties": {
        "clientKey": {
          "description": "Optional. Secret version reference containing a PKCS#8 PEM-encoded private key associated with the Client Certificate. This private key will be used to sign JWTs used for the jwt-bearer authorization grant. Specified in the form as: `projects/*/secrets/*/versions/*`.",
          "$ref": "GoogleCloudConnectorsV1Secret"
        },
        "jwtClaims": {
          "description": "Optional. JwtClaims providers fields to generate the token.",
          "$ref": "GoogleCloudConnectorsV1AuthConfigOauth2JwtBearerJwtClaims"
        }
      }
    },
    "GoogleCloudConnectorsV1AuthConfigOauth2JwtBearerJwtClaims": {
      "id": "GoogleCloudConnectorsV1AuthConfigOauth2JwtBearerJwtClaims",
      "description": "JWT claims used for the jwt-bearer authorization grant.",
      "type": "object",
      "properties": {
        "issuer": {
          "description": "Optional. Value for the \"iss\" claim.",
          "type": "string"
        },
        "subject": {
          "description": "Optional. Value for the \"sub\" claim.",
          "type": "string"
        },
        "audience": {
          "description": "Optional. Value for the \"aud\" claim.",
          "type": "string"
        }
      }
    },
    "GoogleCloudConnectorsV1AuthConfigOauth2ClientCredentials": {
      "id": "GoogleCloudConnectorsV1AuthConfigOauth2ClientCredentials",
      "description": "Parameters to support Oauth 2.0 Client Credentials Grant Authentication. See https://tools.ietf.org/html/rfc6749#section-1.3.4 for more details.",
      "type": "object",
      "properties": {
        "clientId": {
          "description": "Optional. The client identifier.",
          "type": "string"
        },
        "clientSecret": {
          "description": "Optional. Secret version reference containing the client secret.",
          "$ref": "GoogleCloudConnectorsV1Secret"
        }
      }
    },
    "GoogleCloudConnectorsV1AuthConfigSshPublicKey": {
      "id": "GoogleCloudConnectorsV1AuthConfigSshPublicKey",
      "description": "Parameters to support Ssh public key Authentication.",
      "type": "object",
      "properties": {
        "username": {
          "description": "Optional. The user account used to authenticate.",
          "type": "string"
        },
        "sshClientCert": {
          "description": "Optional. SSH Client Cert. It should contain both public and private key.",
          "$ref": "GoogleCloudConnectorsV1Secret"
        },
        "certType": {
          "description": "Optional. Format of SSH Client cert.",
          "type": "string"
        },
        "sshClientCertPass": {
          "description": "Optional. Password (passphrase) for ssh client certificate if it has one.",
          "$ref": "GoogleCloudConnectorsV1Secret"
        }
      }
    },
    "GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlow": {
      "id": "GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlow",
      "description": "Parameters to support Oauth 2.0 Auth Code Grant Authentication. See https://www.rfc-editor.org/rfc/rfc6749#section-1.3.1 for more details.",
      "type": "object",
      "properties": {
        "authCode": {
          "description": "Optional. Authorization code to be exchanged for access and refresh tokens.",
          "type": "string"
        },
        "pkceVerifier": {
          "description": "Optional. PKCE verifier to be used during the auth code exchange.",
          "type": "string"
        },
        "redirectUri": {
          "description": "Optional. Redirect URI to be provided during the auth code exchange.",
          "type": "string"
        },
        "clientId": {
          "description": "Optional. Client ID for user-provided OAuth app.",
          "type": "string"
        },
        "clientSecret": {
          "description": "Optional. Client secret for user-provided OAuth app.",
          "$ref": "GoogleCloudConnectorsV1Secret"
        },
        "scopes": {
          "description": "Optional. Scopes the connection will request when the user performs the auth code flow.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "enablePkce": {
          "description": "Optional. Whether to enable PKCE when the user performs the auth code flow.",
          "type": "boolean"
        },
        "authUri": {
          "description": "Optional. Auth URL for Authorization Code Flow",
          "type": "string"
        }
      }
    },
    "GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlowGoogleManaged": {
      "id": "GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlowGoogleManaged",
      "description": "Parameters to support Oauth 2.0 Auth Code Grant Authentication using Google Provided OAuth Client. See https://tools.ietf.org/html/rfc6749#section-1.3.1 for more details.",
      "type": "object",
      "properties": {
        "authCode": {
          "description": "Optional. Authorization code to be exchanged for access and refresh tokens.",
          "type": "string"
        },
        "redirectUri": {
          "description": "Optional. Redirect URI to be provided during the auth code exchange.",
          "type": "string"
        },
        "scopes": {
          "description": "Required. Scopes the connection will request when the user performs the auth code flow.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudConnectorsV1LockConfig": {
      "id": "GoogleCloudConnectorsV1LockConfig",
      "description": "Determines whether or no a connection is locked. If locked, a reason must be specified.",
      "type": "object",
      "properties": {
        "locked": {
          "description": "Optional. Indicates whether or not the connection is locked.",
          "type": "boolean"
        },
        "reason": {
          "description": "Optional. Describes why a connection is locked.",
          "type": "string"
        }
      }
    },
    "GoogleCloudConnectorsV1DestinationConfig": {
      "id": "GoogleCloudConnectorsV1DestinationConfig",
      "description": "Define the Connectors target endpoint.",
      "type": "object",
      "properties": {
        "key": {
          "description": "Optional. The key is the destination identifier that is supported by the Connector.",
          "type": "string"
        },
        "destinations": {
          "description": "Optional. The destinations for the key.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudConnectorsV1Destination"
          }
        }
      }
    },
    "GoogleCloudConnectorsV1Destination": {
      "id": "GoogleCloudConnectorsV1Destination",
      "type": "object",
      "properties": {
        "serviceAttachment": {
          "description": "PSC service attachments. Format: projects/*/regions/*/serviceAttachments/*",
          "deprecated": true,
          "type": "string"
        },
        "host": {
          "description": "For publicly routable host.",
          "type": "string"
        },
        "port": {
          "description": "Optional. The port is the target port number that is accepted by the destination.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "GoogleCloudConnectorsV1NodeConfig": {
      "id": "GoogleCloudConnectorsV1NodeConfig",
      "description": "Node configuration for the connection.",
      "type": "object",
      "properties": {
        "minNodeCount": {
          "description": "Optional. Minimum number of nodes in the runtime nodes.",
          "type": "integer",
          "format": "int32"
        },
        "maxNodeCount": {
          "description": "Optional. Maximum number of nodes in the runtime nodes.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "GoogleCloudConnectorsV1LogConfig": {
      "id": "GoogleCloudConnectorsV1LogConfig",
      "description": "Log configuration for the connection.",
      "type": "object",
      "properties": {
        "enabled": {
          "description": "Optional. Enabled represents whether logging is enabled or not for a connection.",
          "type": "boolean"
        },
        "level": {
          "description": "Optional. Log configuration level.",
          "type": "string",
          "enumDescriptions": [
            "Log level unspecified.",
            "Only error logs are enabled.",
            "Info and error logs are enabled.",
            "Debug and high verbosity logs are enabled."
          ],
          "enum": [
            "LOG_LEVEL_UNSPECIFIED",
            "ERROR",
            "INFO",
            "DEBUG"
          ]
        }
      }
    },
    "GoogleCloudConnectorsV1SslConfig": {
      "id": "GoogleCloudConnectorsV1SslConfig",
      "description": "SSL Configuration of a connection",
      "type": "object",
      "properties": {
        "type": {
          "description": "Optional. Controls the ssl type for the given connector version.",
          "type": "string",
          "enumDescriptions": [
            "No SSL configuration required.",
            "TLS Handshake",
            "mutual TLS (MTLS) Handshake"
          ],
          "enum": [
            "SSL_TYPE_UNSPECIFIED",
            "TLS",
            "MTLS"
          ]
        },
        "trustModel": {
          "description": "Optional. Trust Model of the SSL connection",
          "type": "string",
          "enumDescriptions": [
            "Public Trust Model. Takes the Default Java trust store.",
            "Private Trust Model. Takes custom/private trust store.",
            "Insecure Trust Model. Accept all certificates."
          ],
          "enum": [
            "PUBLIC",
            "PRIVATE",
            "INSECURE"
          ]
        },
        "privateServerCertificate": {
          "description": "Optional. Private Server Certificate. Needs to be specified if trust model is `PRIVATE`.",
          "$ref": "GoogleCloudConnectorsV1Secret"
        },
        "clientCertificate": {
          "description": "Optional. Client Certificate",
          "$ref": "GoogleCloudConnectorsV1Secret"
        },
        "clientPrivateKey": {
          "description": "Optional. Client Private Key",
          "$ref": "GoogleCloudConnectorsV1Secret"
        },
        "clientPrivateKeyPass": {
          "description": "Optional. Secret containing the passphrase protecting the Client Private Key",
          "$ref": "GoogleCloudConnectorsV1Secret"
        },
        "serverCertType": {
          "description": "Optional. Type of Server Cert (PEM/JKS/.. etc.)",
          "type": "string",
          "enumDescriptions": [
            "Cert type unspecified.",
            "Privacy Enhanced Mail (PEM) Type"
          ],
          "enum": [
            "CERT_TYPE_UNSPECIFIED",
            "PEM"
          ]
        },
        "clientCertType": {
          "description": "Optional. Type of Client Cert (PEM/JKS/.. etc.)",
          "type": "string",
          "enumDescriptions": [
            "Cert type unspecified.",
            "Privacy Enhanced Mail (PEM) Type"
          ],
          "enum": [
            "CERT_TYPE_UNSPECIFIED",
            "PEM"
          ]
        },
        "useSsl": {
          "description": "Optional. Bool for enabling SSL",
          "type": "boolean"
        },
        "additionalVariables": {
          "description": "Optional. Additional SSL related field values",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudConnectorsV1ConfigVariable"
          }
        }
      }
    },
    "GoogleCloudConnectorsV1EventingConfig": {
      "id": "GoogleCloudConnectorsV1EventingConfig",
      "description": "Eventing Configuration of a connection next: 20",
      "type": "object",
      "properties": {
        "registrationDestinationConfig": {
          "description": "Optional. Registration endpoint for auto registration.",
          "$ref": "GoogleCloudConnectorsV1DestinationConfig"
        },
        "authConfig": {
          "description": "Optional. Auth details for the webhook adapter.",
          "$ref": "GoogleCloudConnectorsV1AuthConfig"
        },
        "listenerAuthConfig": {
          "description": "Optional. Auth details for the event listener.",
          "$ref": "GoogleCloudConnectorsV1AuthConfig"
        },
        "additionalVariables": {
          "description": "Optional. Additional eventing related field values",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudConnectorsV1ConfigVariable"
          }
        },
        "enrichmentEnabled": {
          "description": "Optional. Enrichment Enabled.",
          "type": "boolean"
        },
        "privateConnectivityEnabled": {
          "description": "Optional. Private Connectivity Enabled.",
          "type": "boolean"
        },
        "eventsListenerIngressEndpoint": {
          "description": "Output only. Ingress endpoint of the event listener. This is used only when private connectivity is enabled.",
          "readOnly": true,
          "type": "string"
        },
        "deadLetterConfig": {
          "description": "Optional. Dead letter configuration for eventing of a connection.",
          "$ref": "GoogleCloudConnectorsV1EventingConfigDeadLetterConfig"
        },
        "proxyDestinationConfig": {
          "description": "Optional. Proxy for Eventing auto-registration.",
          "$ref": "GoogleCloudConnectorsV1DestinationConfig"
        },
        "enrichmentConfig": {
          "description": "Optional. Data enrichment configuration.",
          "$ref": "GoogleCloudConnectorsV1EnrichmentConfig"
        },
        "sslConfig": {
          "description": "Optional. Ssl config of a connection",
          "$ref": "GoogleCloudConnectorsV1SslConfig"
        },
        "privateConnectivityAllowlistedProjects": {
          "description": "Optional. List of projects to be allowlisted for the service attachment created in the tenant project for eventing ingress.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allowedEventTypes": {
          "description": "Optional. List of allowed event types for the connection.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudConnectorsV1EventingConfigDeadLetterConfig": {
      "id": "GoogleCloudConnectorsV1EventingConfigDeadLetterConfig",
      "description": "Dead Letter configuration details provided by the user.",
      "type": "object",
      "properties": {
        "topic": {
          "description": "Optional. Topic to push events which couldn't be processed.",
          "type": "string"
        },
        "projectId": {
          "description": "Optional. Project which has the topic given.",
          "type": "string"
        }
      }
    },
    "GoogleCloudConnectorsV1EnrichmentConfig": {
      "id": "GoogleCloudConnectorsV1EnrichmentConfig",
      "description": "Data enrichment configuration.",
      "type": "object",
      "properties": {
        "appendAcl": {
          "description": "Optional. Append ACL to the event.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudConnectorsV1EventingRuntimeData": {
      "id": "GoogleCloudConnectorsV1EventingRuntimeData",
      "description": "Eventing runtime data has the details related to eventing managed by the system.",
      "type": "object",
      "properties": {
        "status": {
          "description": "Output only. Current status of eventing.",
          "readOnly": true,
          "$ref": "GoogleCloudConnectorsV1EventingStatus"
        },
        "eventsListenerEndpoint": {
          "description": "Output only. Events listener endpoint. The value will populated after provisioning the events listener.",
          "readOnly": true,
          "type": "string"
        },
        "eventsListenerPscSa": {
          "description": "Output only. Events listener PSC Service attachment. The value will be populated after provisioning the events listener with private connectivity enabled.",
          "readOnly": true,
          "type": "string"
        },
        "webhookData": {
          "description": "Output only. Webhook data.",
          "readOnly": true,
          "$ref": "GoogleCloudConnectorsV1EventingRuntimeDataWebhookData"
        },
        "webhookSubscriptions": {
          "description": "Output only. Webhook subscriptions.",
          "readOnly": true,
          "$ref": "GoogleCloudConnectorsV1EventingRuntimeDataWebhookSubscriptions"
        }
      }
    },
    "GoogleCloudConnectorsV1EventingStatus": {
      "id": "GoogleCloudConnectorsV1EventingStatus",
      "description": "EventingStatus indicates the state of eventing.",
      "type": "object",
      "properties": {
        "state": {
          "description": "Output only. State.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Default state.",
            "Eventing is enabled and ready to receive events.",
            "Eventing is not active due to an error.",
            "Ingress endpoint required."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "ERROR",
            "INGRESS_ENDPOINT_REQUIRED"
          ]
        },
        "description": {
          "description": "Output only. Description of error if State is set to \"ERROR\".",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "GoogleCloudConnectorsV1EventingRuntimeDataWebhookData": {
      "id": "GoogleCloudConnectorsV1EventingRuntimeDataWebhookData",
      "description": "WebhookData has details of webhook configuration.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. Name of the Webhook",
          "readOnly": true,
          "type": "string"
        },
        "id": {
          "description": "Output only. ID to uniquely identify webhook.",
          "readOnly": true,
          "type": "string"
        },
        "additionalVariables": {
          "description": "Output only. Additional webhook related field values.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "GoogleCloudConnectorsV1ConfigVariable"
          }
        },
        "createTime": {
          "description": "Output only. Timestamp when the webhook was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Timestamp when the webhook was last updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "nextRefreshTime": {
          "description": "Output only. Next webhook refresh time. Will be null if refresh is not supported.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        }
      }
    },
    "GoogleCloudConnectorsV1EventingRuntimeDataWebhookSubscriptions": {
      "id": "GoogleCloudConnectorsV1EventingRuntimeDataWebhookSubscriptions",
      "description": "WebhookSubscriptions has details of webhook subscriptions.",
      "type": "object",
      "properties": {
        "webhookData": {
          "description": "Output only. Webhook data.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "GoogleCloudConnectorsV1EventingRuntimeDataWebhookData"
          }
        }
      }
    },
    "GoogleCloudConnectorsV1ConnectorVersionInfraConfig": {
      "id": "GoogleCloudConnectorsV1ConnectorVersionInfraConfig",
      "description": "This configuration provides infra configs like rate limit threshold which need to be configurable for every connector version",
      "type": "object",
      "properties": {
        "ratelimitThreshold": {
          "description": "Output only. Max QPS supported by the connector version before throttling of requests.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "internalclientRatelimitThreshold": {
          "description": "Output only. Max QPS supported for internal requests originating from Connd.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "hpaConfig": {
          "description": "Output only. HPA autoscaling config.",
          "readOnly": true,
          "$ref": "GoogleCloudConnectorsV1HPAConfig"
        },
        "resourceRequests": {
          "description": "Output only. System resource requests.",
          "readOnly": true,
          "$ref": "GoogleCloudConnectorsV1ResourceRequests"
        },
        "resourceLimits": {
          "description": "Output only. System resource limits.",
          "readOnly": true,
          "$ref": "GoogleCloudConnectorsV1ResourceLimits"
        },
        "sharedDeployment": {
          "description": "Output only. The name of shared connector deployment.",
          "readOnly": true,
          "type": "string"
        },
        "connectionRatelimitWindowSeconds": {
          "description": "Output only. The window used for ratelimiting runtime requests to connections.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "deploymentModel": {
          "description": "Output only. Indicates whether connector is deployed on GKE/CloudRun",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Deployment model is not specified.",
            "Default model gke mst.",
            "Cloud run mst."
          ],
          "enum": [
            "DEPLOYMENT_MODEL_UNSPECIFIED",
            "GKE_MST",
            "CLOUD_RUN_MST"
          ]
        },
        "deploymentModelMigrationState": {
          "description": "Output only. Status of the deployment model migration.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Deployment model migration state is not specified.",
            "Deployment model migration is in progress.",
            "Deployment model migration is completed.",
            "Deployment model migration rolledback.",
            "Deployment model migration rollback in progress."
          ],
          "enum": [
            "DEPLOYMENT_MODEL_MIGRATION_STATE_UNSPECIFIED",
            "IN_PROGRESS",
            "COMPLETED",
            "ROLLEDBACK",
            "ROLLBACK_IN_PROGRESS"
          ]
        },
        "maxInstanceRequestConcurrency": {
          "description": "Output only. Max instance request concurrency.",
          "readOnly": true,
          "type": "integer",
          "format": "int32"
        },
        "tlsMigrationState": {
          "description": "Output only. Status of the TLS migration.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "TLS migration state is not specified.",
            "TLS migration is in progress.",
            "TLS migration is completed."
          ],
          "enum": [
            "TLS_MIGRATION_STATE_UNSPECIFIED",
            "TLS_MIGRATION_NOT_STARTED",
            "TLS_MIGRATION_COMPLETED"
          ]
        }
      }
    },
    "GoogleCloudConnectorsV1HPAConfig": {
      "id": "GoogleCloudConnectorsV1HPAConfig",
      "description": "Autoscaling config for connector deployment system metrics.",
      "type": "object",
      "properties": {
        "cpuUtilizationThreshold": {
          "description": "Output only. Percent CPU utilization where HPA triggers autoscaling.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "memoryUtilizationThreshold": {
          "description": "Output only. Percent Memory utilization where HPA triggers autoscaling.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleCloudConnectorsV1ResourceRequests": {
      "id": "GoogleCloudConnectorsV1ResourceRequests",
      "description": "Resource requests defined for connection pods of a given connector type.",
      "type": "object",
      "properties": {
        "cpu": {
          "description": "Output only. CPU request.",
          "readOnly": true,
          "type": "string"
        },
        "memory": {
          "description": "Output only. Memory request.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "GoogleCloudConnectorsV1ResourceLimits": {
      "id": "GoogleCloudConnectorsV1ResourceLimits",
      "description": "Resource limits defined for connection pods of a given connector type.",
      "type": "object",
      "properties": {
        "cpu": {
          "description": "Output only. CPU limit.",
          "readOnly": true,
          "type": "string"
        },
        "memory": {
          "description": "Output only. Memory limit.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "GoogleCloudConnectorsV1BillingConfig": {
      "id": "GoogleCloudConnectorsV1BillingConfig",
      "description": "Billing config for the connection.",
      "type": "object",
      "properties": {
        "billingCategory": {
          "description": "Output only. Billing category for the connector.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Billing category is not specified.",
            "GCP/Technical connector.",
            "Non-GCP connector."
          ],
          "enum": [
            "BILLING_CATEGORY_UNSPECIFIED",
            "GCP_AND_TECHNICAL_CONNECTOR",
            "NON_GCP_CONNECTOR"
          ]
        }
      }
    },
    "GoogleCloudConnectorsV1TrafficShapingConfig": {
      "id": "GoogleCloudConnectorsV1TrafficShapingConfig",
      "description": "* TrafficShapingConfig defines the configuration for shaping API traffic by specifying a quota limit and the duration over which this limit is enforced. This configuration helps to control and manage the rate at which API calls are made on the client side, preventing service overload on the backend. For example: - if the quota limit is 100 calls per 10 seconds, then the message would be: { quota_limit: 100 duration: { seconds: 10 } } - if the quota limit is 100 calls per 5 minutes, then the message would be: { quota_limit: 100 duration: { seconds: 300 } } - if the quota limit is 10000 calls per day, then the message would be: { quota_limit: 10000 duration: { seconds: 86400 } and so on.",
      "type": "object",
      "properties": {
        "quotaLimit": {
          "description": "Required. Maximum number of api calls allowed.",
          "type": "string",
          "format": "int64"
        },
        "duration": {
          "description": "Required. Specifies the duration over which the API call quota limits are calculated. This duration is used to define the time window for evaluating if the number of API calls made by a user is within the allowed quota limits. For example: - To define a quota sampled over 16 seconds, set `seconds` to 16 - To define a quota sampled over 5 minutes, set `seconds` to 300 (5 * 60) - To define a quota sampled over 1 day, set `seconds` to 86400 (24 * 60 * 60) and so on. It is important to note that this duration is not the time the quota is valid for, but rather the time window over which the quota is evaluated. For example, if the quota is 100 calls per 10 seconds, then this duration field would be set to 10 seconds.",
          "type": "string",
          "format": "google-duration"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaConnectionSchemaMetadata": {
      "id": "GoogleCloudIntegrationsV1alphaConnectionSchemaMetadata",
      "description": "Metadata of runtime connection schema.",
      "type": "object",
      "properties": {
        "entities": {
          "description": "List of entity names.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "actions": {
          "description": "List of actions.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaListRuntimeEntitySchemasResponse": {
      "id": "GoogleCloudIntegrationsV1alphaListRuntimeEntitySchemasResponse",
      "description": "Response for listing RuntimeEntitySchemas for a specific Connection.",
      "type": "object",
      "properties": {
        "runtimeEntitySchemas": {
          "description": "Runtime entity schemas.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaRuntimeEntitySchema"
          }
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaRuntimeEntitySchema": {
      "id": "GoogleCloudIntegrationsV1alphaRuntimeEntitySchema",
      "description": "Metadata of an entity, including a schema for its properties.",
      "type": "object",
      "properties": {
        "entity": {
          "description": "Name of the entity.",
          "type": "string"
        },
        "fieldSchema": {
          "description": "List of fields in the entity.",
          "type": "string"
        },
        "arrayFieldSchema": {
          "description": "The above schema, but for an array of the associated entity.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaListRuntimeActionSchemasResponse": {
      "id": "GoogleCloudIntegrationsV1alphaListRuntimeActionSchemasResponse",
      "description": "Response for listing RuntimeActionSchemas for a specific Connection.",
      "type": "object",
      "properties": {
        "runtimeActionSchemas": {
          "description": "Runtime action schemas.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaRuntimeActionSchema"
          }
        },
        "nextPageToken": {
          "description": "Next page token.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaRuntimeActionSchema": {
      "id": "GoogleCloudIntegrationsV1alphaRuntimeActionSchema",
      "description": "Metadata of an action, including schemas for its inputs and outputs.",
      "type": "object",
      "properties": {
        "action": {
          "description": "Name of the action.",
          "type": "string"
        },
        "inputSchema": {
          "description": "Input parameter schema for the action.",
          "type": "string"
        },
        "outputSchema": {
          "description": "Output parameter schema for the action.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse": {
      "id": "GoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse",
      "description": "Response for ListIntegrationVersions.",
      "type": "object",
      "properties": {
        "integrationVersions": {
          "description": "The integrations which match the request.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
          }
        },
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "noPermission": {
          "description": "Whether the user has no permission on the version or not.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaIntegrationVersion": {
      "id": "GoogleCloudIntegrationsV1alphaIntegrationVersion",
      "description": "The integration version definition.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. Auto-generated primary key.",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "description": "Optional. The integration description.",
          "type": "string"
        },
        "taskConfigsInternal": {
          "description": "Optional. Task configuration for the integration. It's optional, but the integration doesn't do anything without task_configs.",
          "deprecated": true,
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmFrontendsEventbusProtoTaskConfig"
          }
        },
        "taskConfigs": {
          "description": "Optional. Task configuration for the integration. It's optional, but the integration doesn't do anything without task_configs.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaTaskConfig"
          }
        },
        "triggerConfigsInternal": {
          "description": "Optional. Trigger configurations.",
          "deprecated": true,
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmFrontendsEventbusProtoTriggerConfig"
          }
        },
        "triggerConfigs": {
          "description": "Optional. Trigger configurations.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaTriggerConfig"
          }
        },
        "integrationParametersInternal": {
          "description": "Optional. Parameters that are expected to be passed to the integration when an event is triggered. This consists of all the parameters that are expected in the integration execution. This gives the user the ability to provide default values, add information like PII and also provide data types of each parameter.",
          "deprecated": true,
          "$ref": "EnterpriseCrmFrontendsEventbusProtoWorkflowParameters"
        },
        "integrationParameters": {
          "description": "Optional. Parameters that are expected to be passed to the integration when an event is triggered. This consists of all the parameters that are expected in the integration execution. This gives the user the ability to provide default values, add information like PII and also provide data types of each parameter.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaIntegrationParameter"
          }
        },
        "teardown": {
          "description": "Optional. Contains a graph of tasks that will be executed before putting the event in a terminal state (SUCCEEDED/FAILED/FATAL), regardless of success or failure, similar to \"finally\" in code.",
          "deprecated": true,
          "$ref": "EnterpriseCrmEventbusProtoTeardown"
        },
        "origin": {
          "description": "Optional. The origin that indicates where this integration is coming from.",
          "deprecated": true,
          "type": "string",
          "enumDescriptions": [
            "",
            "Workflow is being created via event bus UI.",
            "User checked in this workflow in Piper as v2 textproto format and we synced it into spanner.",
            "User checked in this workflow in piper as v3 textproto format and we synced it into spanner.",
            "Workflow is being created via Standalone IP Provisioning",
            "Workflow is being created via Test Case."
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            false,
            false
          ],
          "enum": [
            "UNSPECIFIED",
            "UI",
            "PIPER_V2",
            "PIPER_V3",
            "APPLICATION_IP_PROVISIONING",
            "TEST_CASE"
          ]
        },
        "status": {
          "description": "Output only. Generated by eventbus. User should not set it as an input.",
          "readOnly": true,
          "deprecated": true,
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNKNOWN",
            "DRAFT",
            "ACTIVE",
            "ARCHIVED",
            "SNAPSHOT"
          ]
        },
        "state": {
          "description": "Output only. User should not set it as an input.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Default.",
            "Draft.",
            "Active.",
            "Archived.",
            "Snapshot."
          ],
          "enum": [
            "INTEGRATION_STATE_UNSPECIFIED",
            "DRAFT",
            "ACTIVE",
            "ARCHIVED",
            "SNAPSHOT"
          ]
        },
        "snapshotNumber": {
          "description": "Output only. An increasing sequence that is set when a new snapshot is created. The last created snapshot can be identified by [workflow_name, org_id latest(snapshot_number)]. However, last created snapshot need not be same as the HEAD. So users should always use \"HEAD\" tag to identify the head.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "updateTime": {
          "description": "Output only. Auto-generated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "lockHolder": {
          "description": "Optional. The edit lock holder's email address. Generated based on the End User Credentials/LOAS role of the user making the call.",
          "type": "string"
        },
        "createTime": {
          "description": "Output only. Auto-generated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "lastModifierEmail": {
          "description": "Optional. The last modifier's email address. Generated based on the End User Credentials/LOAS role of the user making the call.",
          "type": "string"
        },
        "parentTemplateId": {
          "description": "Optional. The id of the template which was used to create this integration_version.",
          "type": "string"
        },
        "userLabel": {
          "description": "Optional. A user-defined label that annotates an integration version. Typically, this is only set when the integration version is created.",
          "type": "string"
        },
        "databasePersistencePolicy": {
          "description": "Optional. Flag to disable database persistence for execution data, including event execution info, execution export info, execution metadata index and execution param index.",
          "type": "string",
          "enumDescriptions": [
            "Enables persistence for all execution data.",
            "Disables persistence for all execution data.",
            "Asynchronously persist all execution data."
          ],
          "enum": [
            "DATABASE_PERSISTENCE_POLICY_UNSPECIFIED",
            "DATABASE_PERSISTENCE_DISABLED",
            "DATABASE_PERSISTENCE_ASYNC"
          ]
        },
        "errorCatcherConfigs": {
          "description": "Optional. Error Catch Task configuration for the integration. It's optional.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaErrorCatcherConfig"
          }
        },
        "runAsServiceAccount": {
          "description": "Optional. The run-as service account email, if set and auth config is not configured, that will be used to generate auth token to be used in Connector task, Rest caller task and Cloud function task.",
          "type": "string"
        },
        "cloudLoggingDetails": {
          "description": "Optional. Cloud Logging details for the integration version",
          "$ref": "GoogleCloudIntegrationsV1alphaCloudLoggingDetails"
        },
        "integrationConfigParameters": {
          "description": "Optional. Config Parameters that are expected to be passed to the integration when an integration is published. This consists of all the parameters that are expected to provide configuration in the integration execution. This gives the user the ability to provide default values, value, add information like connection url, project based configuration value and also provide data types of each parameter.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaIntegrationConfigParameter"
          }
        },
        "enableVariableMasking": {
          "description": "Optional. True if variable masking feature should be turned on for this version",
          "type": "boolean"
        },
        "createdFromTemplate": {
          "description": "Optional. Optional. The resource name of the template from which the integration is created.",
          "type": "string"
        },
        "cloudKmsKey": {
          "description": "Optional. Cloud KMS resource name for the CMEK encryption key.",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoTaskConfig": {
      "id": "EnterpriseCrmFrontendsEventbusProtoTaskConfig",
      "description": "The task configuration details. This is not the implementation of Task. There might be multiple TaskConfigs for the same Task.",
      "type": "object",
      "properties": {
        "taskName": {
          "description": "The name for the task.",
          "type": "string"
        },
        "taskNumber": {
          "description": "REQUIRED: the identifier of this task within its parent event config, specified by the client. This should be unique among all the tasks belong to the same event config. We use this field as the identifier to find next tasks (via field `next_tasks.task_number`).",
          "type": "string"
        },
        "parameters": {
          "description": "The customized parameters the user can pass to this task.",
          "type": "object",
          "additionalProperties": {
            "$ref": "EnterpriseCrmFrontendsEventbusProtoParameterEntry"
          }
        },
        "taskSpec": {
          "description": "A string template that allows user to configure task parameters (with either literal default values or tokens which will be resolved at execution time) for the task. It will eventually replace the old \"parameters\" field.",
          "type": "string"
        },
        "creatorEmail": {
          "description": "The creator's email address. Auto-generated from the user's email.",
          "type": "string"
        },
        "createTime": {
          "description": "Auto-generated.",
          "type": "string",
          "format": "google-datetime"
        },
        "lastModifiedTime": {
          "description": "Auto-generated.",
          "type": "string",
          "format": "google-datetime"
        },
        "failurePolicy": {
          "description": "Optional. Determines the number of times the task will be retried on failure and with what retry strategy. This is applicable for asynchronous calls to Eventbus alone (Post To Queue, Schedule etc.).",
          "$ref": "EnterpriseCrmEventbusProtoFailurePolicy"
        },
        "synchronousCallFailurePolicy": {
          "description": "Optional. Determines the number of times the task will be retried on failure and with what retry strategy. This is applicable for synchronous calls to Eventbus alone (Post).",
          "$ref": "EnterpriseCrmEventbusProtoFailurePolicy"
        },
        "conditionalFailurePolicies": {
          "description": "Optional. Determines the number of times the task will be retried on failure and with what retry strategy. This is applicable for synchronous calls to Eventbus alone (Post).",
          "$ref": "EnterpriseCrmEventbusProtoConditionalFailurePolicies"
        },
        "nextTasks": {
          "description": "The set of tasks that are next in line to be executed as per the execution graph defined for the parent event, specified by `event_config_id`. Each of these next tasks are executed only if the condition associated with them evaluates to true.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoNextTask"
          }
        },
        "nextTasksExecutionPolicy": {
          "description": "The policy dictating the execution of the next set of tasks for the current task.",
          "type": "string",
          "enumDescriptions": [
            "Default",
            "Execute all the tasks that satisfy their associated condition.",
            "Execute the first task that satisfies the associated condition."
          ],
          "enum": [
            "UNSPECIFIED",
            "RUN_ALL_MATCH",
            "RUN_FIRST_MATCH"
          ]
        },
        "alertConfigs": {
          "description": "Alert configurations on error rate, warning rate, number of runs, durations, etc.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoTaskAlertConfig"
          }
        },
        "rollbackStrategy": {
          "description": "Optional. Contains information about what needs to be done upon failure (either a permanent error or after it has been retried too many times).",
          "$ref": "EnterpriseCrmFrontendsEventbusProtoRollbackStrategy"
        },
        "position": {
          "description": "Optional. Informs the front-end application where to draw this task config on the UI.",
          "$ref": "EnterpriseCrmEventbusProtoCoordinate"
        },
        "taskExecutionStrategy": {
          "description": "The policy dictating the execution strategy of this task.",
          "type": "string",
          "enumDescriptions": [
            "Wait until all of its previous tasks finished execution, then verify at least one of the edge conditions is met, and execute if possible. This should be considered as WHEN_ALL_TASKS_SUCCEED.",
            "Start execution as long as any of its previous tasks finished execution and the corresponding edge condition is met (since we will execute if only that succeeding edge condition is met).",
            "Wait until all of its previous tasks finished execution, then verify the all edge conditions are met and execute if possible."
          ],
          "enum": [
            "WHEN_ALL_SUCCEED",
            "WHEN_ANY_SUCCEED",
            "WHEN_ALL_TASKS_AND_CONDITIONS_SUCCEED"
          ]
        },
        "label": {
          "description": "User-provided label that is attached to this TaskConfig in the UI.",
          "type": "string"
        },
        "incomingEdgeCount": {
          "description": "The number of edges leading into this TaskConfig.",
          "type": "integer",
          "format": "int32"
        },
        "precondition": {
          "description": "Optional. Standard filter expression evaluated before execution. Independent of other conditions and tasks. Can be used to enable rollout. e.g. \"rollout(5)\" will only allow 5% of incoming traffic to task.",
          "type": "string"
        },
        "preconditionLabel": {
          "description": "Optional. User-provided label that is attached to precondition in the UI.",
          "type": "string"
        },
        "disableStrictTypeValidation": {
          "description": "If this config contains a TypedTask, allow validation to succeed if an input is read from the output of another TypedTask whose output type is declared as a superclass of the requested input type. For instance, if the previous task declares an output of type Message, any task with this flag enabled will pass validation when attempting to read any proto Message type from the resultant Event parameter.",
          "type": "boolean"
        },
        "successPolicy": {
          "description": "Determines what action to take upon successful task completion.",
          "$ref": "EnterpriseCrmEventbusProtoSuccessPolicy"
        },
        "taskEntity": {
          "description": "Copy of the task entity that this task config is an instance of.",
          "$ref": "EnterpriseCrmFrontendsEventbusProtoTaskEntity"
        },
        "jsonValidationOption": {
          "description": "If set, overrides the option configured in the Task implementation class.",
          "type": "string",
          "enumDescriptions": [
            "As per the default behavior, no validation will be run. Will not override any option set in a Task.",
            "Do not run any validation against JSON schemas.",
            "Validate all potential input JSON parameters against schemas specified in WorkflowParameters.",
            "Validate all potential output JSON parameters against schemas specified in WorkflowParameters.",
            "Perform both PRE_EXECUTION and POST_EXECUTION validations."
          ],
          "enum": [
            "UNSPECIFIED_JSON_VALIDATION_OPTION",
            "SKIP",
            "PRE_EXECUTION",
            "POST_EXECUTION",
            "PRE_POST_EXECUTION"
          ]
        },
        "taskType": {
          "description": "Defines the type of the task",
          "type": "string",
          "enumDescriptions": [
            "Normal IP task",
            "Task is of As-Is Template type",
            "Task is of I/O template type with a different underlying task"
          ],
          "enum": [
            "TASK",
            "ASIS_TEMPLATE",
            "IO_TEMPLATE"
          ]
        },
        "description": {
          "description": "User-provided description intended to give more business context about the task.",
          "type": "string"
        },
        "taskTemplateName": {
          "description": "Used to define task-template name if task is of type task-template",
          "type": "string"
        },
        "errorCatcherId": {
          "description": "Optional Error catcher id of the error catch flow which will be executed when execution error happens in the task",
          "type": "string"
        },
        "externalTaskType": {
          "type": "string",
          "enumDescriptions": [
            "Default value. External task type is not specified",
            "Tasks belongs to the normal task flows",
            "Task belongs to the error catch task flows"
          ],
          "enum": [
            "EXTERNAL_TASK_TYPE_UNSPECIFIED",
            "NORMAL_TASK",
            "ERROR_TASK"
          ]
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoParameterEntry": {
      "id": "EnterpriseCrmFrontendsEventbusProtoParameterEntry",
      "description": "Key-value pair of EventBus parameters.",
      "type": "object",
      "properties": {
        "key": {
          "description": "Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the workflow definition.",
          "type": "string"
        },
        "value": {
          "description": "Values for the defined keys. Each value can either be string, int, double or any proto message.",
          "$ref": "EnterpriseCrmFrontendsEventbusProtoParameterValueType"
        },
        "dataType": {
          "description": "Explicitly getting the type of the parameter.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.",
            "",
            "",
            ""
          ],
          "enum": [
            "DATA_TYPE_UNSPECIFIED",
            "STRING_VALUE",
            "INT_VALUE",
            "DOUBLE_VALUE",
            "BOOLEAN_VALUE",
            "PROTO_VALUE",
            "SERIALIZED_OBJECT_VALUE",
            "STRING_ARRAY",
            "INT_ARRAY",
            "DOUBLE_ARRAY",
            "PROTO_ARRAY",
            "PROTO_ENUM",
            "BOOLEAN_ARRAY",
            "PROTO_ENUM_ARRAY",
            "BYTES",
            "BYTES_ARRAY",
            "NON_SERIALIZABLE_OBJECT",
            "JSON_VALUE"
          ]
        },
        "masked": {
          "description": "True if this parameter should be masked in the logs",
          "type": "boolean"
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoParameterValueType": {
      "id": "EnterpriseCrmFrontendsEventbusProtoParameterValueType",
      "description": "To support various types of parameter values. Next available id: 14",
      "type": "object",
      "properties": {
        "stringValue": {
          "type": "string"
        },
        "intValue": {
          "type": "string",
          "format": "int64"
        },
        "doubleValue": {
          "type": "number",
          "format": "double"
        },
        "booleanValue": {
          "type": "boolean"
        },
        "protoValue": {
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        },
        "serializedObjectValue": {
          "$ref": "EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameter"
        },
        "stringArray": {
          "$ref": "EnterpriseCrmFrontendsEventbusProtoStringParameterArray"
        },
        "intArray": {
          "$ref": "EnterpriseCrmFrontendsEventbusProtoIntParameterArray"
        },
        "doubleArray": {
          "$ref": "EnterpriseCrmFrontendsEventbusProtoDoubleParameterArray"
        },
        "protoArray": {
          "$ref": "EnterpriseCrmFrontendsEventbusProtoProtoParameterArray"
        },
        "booleanArray": {
          "$ref": "EnterpriseCrmFrontendsEventbusProtoBooleanParameterArray"
        },
        "jsonValue": {
          "type": "string"
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameter": {
      "id": "EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameter",
      "type": "object",
      "properties": {
        "objectValue": {
          "type": "string",
          "format": "byte"
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoStringParameterArray": {
      "id": "EnterpriseCrmFrontendsEventbusProtoStringParameterArray",
      "type": "object",
      "properties": {
        "stringValues": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoIntParameterArray": {
      "id": "EnterpriseCrmFrontendsEventbusProtoIntParameterArray",
      "type": "object",
      "properties": {
        "intValues": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoDoubleParameterArray": {
      "id": "EnterpriseCrmFrontendsEventbusProtoDoubleParameterArray",
      "type": "object",
      "properties": {
        "doubleValues": {
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          }
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoProtoParameterArray": {
      "id": "EnterpriseCrmFrontendsEventbusProtoProtoParameterArray",
      "type": "object",
      "properties": {
        "protoValues": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            }
          }
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoBooleanParameterArray": {
      "id": "EnterpriseCrmFrontendsEventbusProtoBooleanParameterArray",
      "type": "object",
      "properties": {
        "booleanValues": {
          "type": "array",
          "items": {
            "type": "boolean"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoFailurePolicy": {
      "id": "EnterpriseCrmEventbusProtoFailurePolicy",
      "description": "Policy that defines the task retry logic and failure type. If no FailurePolicy is defined for a task, all its dependent tasks will not be executed (i.e, a `retry_strategy` of NONE will be applied).",
      "type": "object",
      "properties": {
        "retryStrategy": {
          "description": "Defines what happens to the task upon failure.",
          "type": "string",
          "enumDescriptions": [
            "",
            "Ignores the failure of this task. The rest of the workflow will be executed Assuming this task succeeded.",
            "Causes a permanent failure of the task. However, if the last task(s) of event was successfully completed despite the failure of this task, it has no impact on the workflow.",
            "Causes a permanent failure of the event. It is different from NONE because this will mark the event as FAILED by shutting down the event execution.",
            "The task will be retried from the failed task onwards after a fixed delay. A max-retry count is required to be specified with this strategy. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. Max_num_retries and interval_in_seconds must be specified.",
            "The task will be retried from the failed task onwards after a fixed delay that linearly increases with each retry attempt. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. Max_num_retries and interval_in_seconds must be specified.",
            "The task will be retried after an exponentially increasing period of time with each failure. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. `max_num_retries` and `interval_in_seconds` must be specified.",
            "The entire workflow will be restarted with the initial parameters that were set when the event was fired. A max-retry count is required to be specified with this strategy. `max_num_retries` and `interval_in_seconds` must be specified."
          ],
          "enum": [
            "UNSPECIFIED",
            "IGNORE",
            "NONE",
            "FATAL",
            "FIXED_INTERVAL",
            "LINEAR_BACKOFF",
            "EXPONENTIAL_BACKOFF",
            "RESTART_WORKFLOW_WITH_BACKOFF"
          ]
        },
        "maxNumRetries": {
          "description": "Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_WORKFLOW_WITH_BACKOFF. Defines the number of times the task will be retried if failed.",
          "type": "integer",
          "format": "int32"
        },
        "intervalInSeconds": {
          "description": "Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_WORKFLOW_WITH_BACKOFF. Defines the initial interval for backoff.",
          "type": "string",
          "format": "int64"
        },
        "retryCondition": {
          "description": "Optional. The retry condition that will be evaluated for this failure policy with the corresponding retry strategy.",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusProtoConditionalFailurePolicies": {
      "id": "EnterpriseCrmEventbusProtoConditionalFailurePolicies",
      "type": "object",
      "properties": {
        "failurePolicies": {
          "description": "The list of failure policies that will be applied to the task in order.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoFailurePolicy"
          }
        },
        "defaultFailurePolicy": {
          "description": "The default failure policy to be applied if no conditional failure policy matches",
          "$ref": "EnterpriseCrmEventbusProtoFailurePolicy"
        }
      }
    },
    "EnterpriseCrmEventbusProtoNextTask": {
      "id": "EnterpriseCrmEventbusProtoNextTask",
      "description": "The task that is next in line to be executed, if the condition specified evaluated to true.",
      "type": "object",
      "properties": {
        "taskConfigId": {
          "description": "ID of the next task.",
          "type": "string"
        },
        "taskNumber": {
          "description": "Task number of the next task.",
          "type": "string"
        },
        "combinedConditions": {
          "description": "Combined condition for this task to become an eligible next task. Each of these combined_conditions are joined with logical OR. DEPRECATED: use `condition`",
          "deprecated": true,
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoCombinedCondition"
          }
        },
        "condition": {
          "description": "Standard filter expression for this task to become an eligible next task.",
          "type": "string"
        },
        "label": {
          "description": "User-provided label that is attached to this edge in the UI.",
          "type": "string"
        },
        "description": {
          "description": "User-provided description intended to give more business context about the next task edge or condition.",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusProtoCombinedCondition": {
      "id": "EnterpriseCrmEventbusProtoCombinedCondition",
      "deprecated": true,
      "description": "This message recursively combines constituent conditions using logical AND.",
      "type": "object",
      "properties": {
        "conditions": {
          "description": "A set of individual constituent conditions.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoCondition"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoCondition": {
      "id": "EnterpriseCrmEventbusProtoCondition",
      "deprecated": true,
      "description": "Condition that uses `operator` to evaluate the key against the value.",
      "type": "object",
      "properties": {
        "eventPropertyKey": {
          "description": "Key that's evaluated against the `value`. Please note the data type of the runtime value associated with the key should match the data type of `value`, else an IllegalArgumentException is thrown.",
          "type": "string"
        },
        "operator": {
          "description": "Operator used to evaluate the condition. Please note that an operator with an inappropriate key/value operand will result in IllegalArgumentException, e.g. CONTAINS with boolean key/value pair.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNSET",
            "EQUALS",
            "CONTAINS",
            "LESS_THAN",
            "GREATER_THAN",
            "EXISTS",
            "DOES_NOT_EXIST",
            "IS_EMPTY",
            "IS_NOT_EMPTY"
          ]
        },
        "value": {
          "description": "Value that's checked for the key.",
          "$ref": "EnterpriseCrmEventbusProtoValueType"
        }
      }
    },
    "EnterpriseCrmEventbusProtoValueType": {
      "id": "EnterpriseCrmEventbusProtoValueType",
      "description": "Used for define type for values. Currently supported value types include int, string, double, array, and any proto message.",
      "type": "object",
      "properties": {
        "stringValue": {
          "type": "string"
        },
        "intValue": {
          "type": "string",
          "format": "int64"
        },
        "doubleValue": {
          "type": "number",
          "format": "double"
        },
        "protoValue": {
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        },
        "stringArray": {
          "$ref": "EnterpriseCrmEventbusProtoStringArray"
        },
        "intArray": {
          "$ref": "EnterpriseCrmEventbusProtoIntArray"
        },
        "doubleArray": {
          "$ref": "EnterpriseCrmEventbusProtoDoubleArray"
        },
        "booleanValue": {
          "type": "boolean"
        }
      }
    },
    "EnterpriseCrmEventbusProtoStringArray": {
      "id": "EnterpriseCrmEventbusProtoStringArray",
      "type": "object",
      "properties": {
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoIntArray": {
      "id": "EnterpriseCrmEventbusProtoIntArray",
      "type": "object",
      "properties": {
        "values": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoDoubleArray": {
      "id": "EnterpriseCrmEventbusProtoDoubleArray",
      "type": "object",
      "properties": {
        "values": {
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoTaskAlertConfig": {
      "id": "EnterpriseCrmEventbusProtoTaskAlertConfig",
      "description": "Message to be used to configure alerting in the {@code TaskConfig} protos for tasks in an event.",
      "type": "object",
      "properties": {
        "alertName": {
          "description": "A name to identify this alert. This will be displayed in the alert subject. If set, this name should be unique in within the scope of the containing workflow.",
          "type": "string"
        },
        "metricType": {
          "type": "string",
          "enumDescriptions": [
            "The default value. Metric type should always be set to one of the other non-default values, otherwise it will result in an INVALID_ARGUMENT error.",
            "Specifies alerting on the rate of errors (potentially for a specific set of enum values) for the enclosing TaskConfig.",
            "Specifies alerting on the rate of warnings (potentially for a specific set of enum values) for the enclosing TaskConfig. Warnings use the same enum values as errors.",
            "Specifies alerting on the number of instances for the enclosing TaskConfig executed in the given aggregation_period.",
            "Specifies alerting on the average duration of execution for the enclosing task.",
            "Specifies alerting on the duration of a particular percentile of task executions. E.g. If 10% or more of the task executions have durations above 5 seconds, alert."
          ],
          "enum": [
            "METRIC_TYPE_UNSPECIFIED",
            "TASK_ERROR_RATE",
            "TASK_WARNING_RATE",
            "TASK_RATE",
            "TASK_AVERAGE_DURATION",
            "TASK_PERCENTILE_DURATION"
          ]
        },
        "thresholdType": {
          "description": "The threshold type for which this alert is being configured. If value falls below expected_min or exceeds expected_max, an alert will be fired.",
          "type": "string",
          "enumDescriptions": [
            "",
            "Note that this field will only trigger alerts if the workflow specifying it runs at least once in 24 hours (which is our in-memory retention period for monarch streams). Also note that `aggregation_period` for this alert configuration must be less than 24 hours.",
            ""
          ],
          "enum": [
            "UNSPECIFIED_THRESHOLD_TYPE",
            "EXPECTED_MIN",
            "EXPECTED_MAX"
          ]
        },
        "thresholdValue": {
          "description": "The metric value, above or below which the alert should be triggered.",
          "$ref": "EnterpriseCrmEventbusProtoBaseAlertConfigThresholdValue"
        },
        "durationThresholdMs": {
          "description": "Should be specified only for TASK_AVERAGE_DURATION and TASK_PERCENTILE_DURATION metrics. This member should be used to specify what duration value the metrics should exceed for the alert to trigger.",
          "type": "string",
          "format": "int64"
        },
        "errorEnumList": {
          "$ref": "EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList"
        },
        "warningEnumList": {
          "$ref": "EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList"
        },
        "aggregationPeriod": {
          "description": "The period over which the metric value should be aggregated and evaluated. Format is , where integer should be a positive integer and unit should be one of (s,m,h,d,w) meaning (second, minute, hour, day, week).",
          "type": "string"
        },
        "numAggregationPeriods": {
          "description": "For how many contiguous aggregation periods should the expected min or max be violated for the alert to be fired.",
          "type": "integer",
          "format": "int32"
        },
        "alertDisabled": {
          "description": "Set to false by default. When set to true, the metrics are not aggregated or pushed to Monarch for this workflow alert.",
          "type": "boolean"
        },
        "onlyFinalAttempt": {
          "description": "Only count final task attempts, not retries.",
          "type": "boolean"
        },
        "playbookUrl": {
          "description": "Link to a playbook for resolving the issue that triggered this alert.",
          "type": "string"
        },
        "clientId": {
          "description": "Client associated with this alert configuration. Must be a client enabled in one of the containing workflow's triggers.",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusProtoBaseAlertConfigThresholdValue": {
      "id": "EnterpriseCrmEventbusProtoBaseAlertConfigThresholdValue",
      "description": "The threshold value of the metric, above or below which the alert should be triggered. See EventAlertConfig or TaskAlertConfig for the different alert metric types in each case. For the *RATE metrics, one or both of these fields may be set. Zero is the default value and can be left at that. For *PERCENTILE_DURATION metrics, one or both of these fields may be set, and also, the duration threshold value should be specified in the threshold_duration_ms member below. For *AVERAGE_DURATION metrics, these fields should not be set at all. A different member, threshold_duration_ms, must be set in the EventAlertConfig or the TaskAlertConfig.",
      "type": "object",
      "properties": {
        "absolute": {
          "type": "string",
          "format": "int64"
        },
        "percentage": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList": {
      "id": "EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList",
      "description": "List of error enums for alerts.",
      "type": "object",
      "properties": {
        "enumStrings": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "filterType": {
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "DEFAULT_INCLUSIVE",
            "EXCLUSIVE"
          ]
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoRollbackStrategy": {
      "id": "EnterpriseCrmFrontendsEventbusProtoRollbackStrategy",
      "description": "Next available id: 4",
      "type": "object",
      "properties": {
        "rollbackTaskImplementationClassName": {
          "description": "Required. This is the name of the task that needs to be executed upon rollback of this task.",
          "type": "string"
        },
        "parameters": {
          "description": "Optional. The customized parameters the user can pass to this task.",
          "$ref": "EnterpriseCrmFrontendsEventbusProtoEventParameters"
        },
        "taskNumbersToRollback": {
          "description": "Required. These are the tasks numbers of the tasks whose `rollback_strategy.rollback_task_implementation_class_name` needs to be executed upon failure of this task.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoEventParameters": {
      "id": "EnterpriseCrmFrontendsEventbusProtoEventParameters",
      "description": "LINT.IfChange This message is used for processing and persisting (when applicable) key value pair parameters for each event in the event bus. Please see",
      "type": "object",
      "properties": {
        "parameters": {
          "description": "Parameters are a part of Event and can be used to communicate between different tasks that are part of the same workflow execution.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmFrontendsEventbusProtoParameterEntry"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoCoordinate": {
      "id": "EnterpriseCrmEventbusProtoCoordinate",
      "description": "Represents two-dimensional positions.",
      "type": "object",
      "properties": {
        "x": {
          "type": "integer",
          "format": "int32"
        },
        "y": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "EnterpriseCrmEventbusProtoSuccessPolicy": {
      "id": "EnterpriseCrmEventbusProtoSuccessPolicy",
      "description": "Policy that dictates the behavior for the task after it completes successfully.",
      "type": "object",
      "properties": {
        "finalState": {
          "description": "State to which the execution snapshot status will be set if the task succeeds.",
          "type": "string",
          "enumDescriptions": [
            "",
            "The default behavior, where successful tasks will be marked as SUCCEEDED.",
            "Sets the state to SUSPENDED after executing. This is required for SuspensionTask; event execution will continue once the user calls ResolveSuspensions with the event_execution_info_id and the task number."
          ],
          "enum": [
            "UNSPECIFIED",
            "SUCCEEDED",
            "SUSPENDED"
          ]
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoTaskEntity": {
      "id": "EnterpriseCrmFrontendsEventbusProtoTaskEntity",
      "description": "Contains a task's metadata and associated information. Next available id: 7",
      "type": "object",
      "properties": {
        "metadata": {
          "description": "Metadata inclueds the task name, author and so on.",
          "$ref": "EnterpriseCrmEventbusProtoTaskMetadata"
        },
        "stats": {
          "description": "Deprecated - statistics from the Monarch query.",
          "deprecated": true,
          "$ref": "EnterpriseCrmEventbusStats"
        },
        "paramSpecs": {
          "description": "Declarations for inputs/outputs for a TypedTask. This is also associated with the METADATA mask.",
          "$ref": "EnterpriseCrmFrontendsEventbusProtoParamSpecsMessage"
        },
        "uiConfig": {
          "description": "UI configuration for this task Also associated with the METADATA mask.",
          "$ref": "EnterpriseCrmEventbusProtoTaskUiConfig"
        },
        "taskType": {
          "description": "Defines the type of the task",
          "type": "string",
          "enumDescriptions": [
            "Normal IP task",
            "Task is of As-Is Template type",
            "Task is of I/O template type with a different underlying task"
          ],
          "enum": [
            "TASK",
            "ASIS_TEMPLATE",
            "IO_TEMPLATE"
          ]
        },
        "disabledForVpcSc": {
          "description": "True if the task has conflict with vpcsc",
          "type": "boolean"
        }
      }
    },
    "EnterpriseCrmEventbusProtoTaskMetadata": {
      "id": "EnterpriseCrmEventbusProtoTaskMetadata",
      "description": "TaskMetadata are attributes that are associated to every common Task we have.",
      "type": "object",
      "properties": {
        "admins": {
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoTaskMetadataAdmin"
          }
        },
        "name": {
          "description": "The actual class name or the annotated name of the task. Task Author should initialize this field with value from the getName() method of the Task class.",
          "type": "string"
        },
        "descriptiveName": {
          "description": "The string name to show on the task list on the Workflow editor screen. This should be a very short, one to two words name for the task. (e.g. \"Send Mail\")",
          "type": "string"
        },
        "description": {
          "description": "In a few sentences, describe the purpose and usage of the task.",
          "type": "string"
        },
        "defaultSpec": {
          "description": "Contains the initial configuration of the task with default values set. For now, The string should be compatible to an ASCII-proto format.",
          "type": "string"
        },
        "g3DocLink": {
          "description": "URL to the associated G3 Doc for the task if available",
          "type": "string"
        },
        "iconLink": {
          "description": "URL to gstatic image icon for this task. This icon shows up on the task list panel along with the task name in the Workflow Editor screen. Use the 24p, 2x, gray color icon image format.",
          "type": "string"
        },
        "status": {
          "description": "Allows author to indicate if the task is ready to use or not. If not set, then it will default to INACTIVE.",
          "type": "string",
          "enumDescriptions": [
            "Default value. Actual Task Status should always be set to either INACTIVE or ACTIVE. If none is specified at runtime, it will be set to INACTIVE.",
            "Still in-progress or incomplete, and not intended for use.",
            "Available for use."
          ],
          "enum": [
            "UNSPECIFIED_STATUS",
            "DEFAULT_INACTIVE",
            "ACTIVE"
          ]
        },
        "codeSearchLink": {
          "description": "The Code Search link to the Task Java file.",
          "type": "string"
        },
        "isDeprecated": {
          "description": "The deprecation status of the current task. Default value is false;",
          "type": "boolean"
        },
        "activeTaskName": {
          "description": "The new task name to replace the current task if it is deprecated. Otherwise, it is the same as the current task name.",
          "type": "string"
        },
        "docMarkdown": {
          "description": "Snippet of markdown documentation to embed in the RHP for this task.",
          "type": "string"
        },
        "category": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "Internal IP tasks that should not be available in the UI.",
            "Tasks that are relevant to cloud systems teams and typically",
            "Task entities that derive from a custom task template.",
            "Category to show task recommendations"
          ],
          "enum": [
            "UNSPECIFIED_CATEGORY",
            "CUSTOM",
            "FLOW_CONTROL",
            "DATA_MANIPULATION",
            "SCRIPTING",
            "CONNECTOR",
            "HIDDEN",
            "CLOUD_SYSTEMS",
            "CUSTOM_TASK_TEMPLATE",
            "TASK_RECOMMENDATIONS"
          ]
        },
        "system": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNSPECIFIED_SYSTEM",
            "GENERIC",
            "BUGANIZER",
            "SALESFORCE",
            "CLOUD_SQL",
            "PLX",
            "SHEETS",
            "GOOGLE_GROUPS",
            "EMAIL",
            "SPANNER",
            "DATA_BRIDGE"
          ]
        },
        "defaultJsonValidationOption": {
          "description": "Controls whether JSON workflow parameters are validated against provided schemas before and/or after this task's execution.",
          "type": "string",
          "enumDescriptions": [
            "As per the default behavior, no validation will be run. Will not override any option set in a Task.",
            "Do not run any validation against JSON schemas.",
            "Validate all potential input JSON parameters against schemas specified in WorkflowParameters.",
            "Validate all potential output JSON parameters against schemas specified in WorkflowParameters.",
            "Perform both PRE_EXECUTION and POST_EXECUTION validations."
          ],
          "enum": [
            "UNSPECIFIED_JSON_VALIDATION_OPTION",
            "SKIP",
            "PRE_EXECUTION",
            "POST_EXECUTION",
            "PRE_POST_EXECUTION"
          ]
        },
        "tags": {
          "description": "A set of tags that pertain to a particular task. This can be used to improve the searchability of tasks with several names (\"REST Caller\" vs. \"Call REST Endpoint\") or to help users find tasks based on related words.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "externalCategory": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "HTTP tasks, e.g. rest api call task",
            "Integration services, e.g. connector task",
            "Customer ations, e.g. email task",
            "Flow control, e.g. while loop task",
            "Workspace tasks, e.g. list drive task",
            "Security, e.g. kms related tasks",
            "Database operation tasks, e.g. read firestore info tasks",
            "Analytics tasks, e.g. dataflow creattion tasks",
            "BYOC tasks",
            "BYOT tasks",
            "AI related tasks.",
            "Data manipulation related tasks, e.g. data mapping task"
          ],
          "enum": [
            "UNSPECIFIED_EXTERNAL_CATEGORY",
            "CORE",
            "CONNECTORS",
            "EXTERNAL_HTTP",
            "EXTERNAL_INTEGRATION_SERVICES",
            "EXTERNAL_CUSTOMER_ACTIONS",
            "EXTERNAL_FLOW_CONTROL",
            "EXTERNAL_WORKSPACE",
            "EXTERNAL_SECURITY",
            "EXTERNAL_DATABASES",
            "EXTERNAL_ANALYTICS",
            "EXTERNAL_BYOC",
            "EXTERNAL_BYOT",
            "EXTERNAL_ARTIFICIAL_INTELIGENCE",
            "EXTERNAL_DATA_MANIPULATION"
          ]
        },
        "externalCategorySequence": {
          "description": "Sequence with which the task in specific category to be displayed in task discovery panel for external users.",
          "type": "integer",
          "format": "int32"
        },
        "externalDocMarkdown": {
          "description": "DEPRECATED: Use external_doc_html.",
          "type": "string"
        },
        "externalDocHtml": {
          "description": "External-facing documention embedded in the RHP for this task.",
          "type": "string"
        },
        "standaloneExternalDocHtml": {
          "description": "External-facing documention for standalone IP in pantheon embedded in the RHP for this task. Non null only if different from external_doc_html",
          "type": "string"
        },
        "externalDocLink": {
          "description": "Doc link for external-facing documentation (separate from g3doc).",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusProtoTaskMetadataAdmin": {
      "id": "EnterpriseCrmEventbusProtoTaskMetadataAdmin",
      "description": "Admins are owners of a Task, and have all permissions on a particular task identified by the task name. By default, Eventbus periodically scans all task metadata and syncs (adds) any new admins defined here to Zanzibar.",
      "type": "object",
      "properties": {
        "userEmail": {
          "type": "string"
        },
        "googleGroupEmail": {
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusStats": {
      "id": "EnterpriseCrmEventbusStats",
      "description": "Stats for the requested dimensions: QPS, duration, and error/warning rate",
      "type": "object",
      "properties": {
        "dimensions": {
          "description": "Dimensions that these stats have been aggregated on.",
          "$ref": "EnterpriseCrmEventbusStatsDimensions"
        },
        "qps": {
          "description": "Queries per second.",
          "type": "number",
          "format": "double"
        },
        "durationInSeconds": {
          "description": "Average duration in seconds.",
          "type": "number",
          "format": "double"
        },
        "errorRate": {
          "description": "Average error rate.",
          "type": "number",
          "format": "double"
        },
        "warningRate": {
          "description": "Average warning rate.",
          "type": "number",
          "format": "double"
        }
      }
    },
    "EnterpriseCrmEventbusStatsDimensions": {
      "id": "EnterpriseCrmEventbusStatsDimensions",
      "type": "object",
      "properties": {
        "triggerId": {
          "description": "Stats have been or will be aggregated on set fields for any semantically-meaningful combination.",
          "type": "string"
        },
        "clientId": {
          "type": "string"
        },
        "workflowName": {
          "type": "string"
        },
        "workflowId": {
          "type": "string"
        },
        "taskName": {
          "type": "string"
        },
        "taskNumber": {
          "type": "string"
        },
        "errorEnumString": {
          "type": "string"
        },
        "warningEnumString": {
          "type": "string"
        },
        "retryAttempt": {
          "type": "string",
          "enumDescriptions": [
            "",
            "Task has completed successfully or has depleted all retry attempts.",
            "Task has failed but may be retried.",
            "Task has been deliberately canceled."
          ],
          "enum": [
            "UNSPECIFIED",
            "FINAL",
            "RETRYABLE",
            "CANCELED"
          ]
        },
        "enumFilterType": {
          "description": "Whether to include or exclude the enums matching the regex.",
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "DEFAULT_INCLUSIVE",
            "EXCLUSIVE"
          ]
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoParamSpecsMessage": {
      "id": "EnterpriseCrmFrontendsEventbusProtoParamSpecsMessage",
      "type": "object",
      "properties": {
        "parameters": {
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmFrontendsEventbusProtoParamSpecEntry"
          }
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoParamSpecEntry": {
      "id": "EnterpriseCrmFrontendsEventbusProtoParamSpecEntry",
      "description": "Key-value pair of EventBus task parameters. Next id: 13",
      "type": "object",
      "properties": {
        "key": {
          "description": "Key is used to retrieve the corresponding parameter value. This should be unique for a given task. These parameters must be predefined in the workflow definition.",
          "type": "string"
        },
        "dataType": {
          "description": "The data type of the parameter.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.",
            "",
            "",
            ""
          ],
          "enum": [
            "DATA_TYPE_UNSPECIFIED",
            "STRING_VALUE",
            "INT_VALUE",
            "DOUBLE_VALUE",
            "BOOLEAN_VALUE",
            "PROTO_VALUE",
            "SERIALIZED_OBJECT_VALUE",
            "STRING_ARRAY",
            "INT_ARRAY",
            "DOUBLE_ARRAY",
            "PROTO_ARRAY",
            "PROTO_ENUM",
            "BOOLEAN_ARRAY",
            "PROTO_ENUM_ARRAY",
            "BYTES",
            "BYTES_ARRAY",
            "NON_SERIALIZABLE_OBJECT",
            "JSON_VALUE"
          ]
        },
        "protoDef": {
          "description": "Populated if this represents a proto or proto array.",
          "$ref": "EnterpriseCrmEventbusProtoParamSpecEntryProtoDefinition"
        },
        "className": {
          "description": "The FQCN of the Java object this represents. A string, for example, would be \"java.lang.String\". If this is \"java.lang.Object\", the parameter can be of any type.",
          "type": "string"
        },
        "collectionElementClassName": {
          "description": "If it is a collection of objects, this would be the FCQN of every individual element in the collection. If this is \"java.lang.Object\", the parameter is a collection of any type.",
          "type": "string"
        },
        "jsonSchema": {
          "description": "If the data_type is JSON_VALUE, then this will define its schema.",
          "type": "string"
        },
        "defaultValue": {
          "description": "Default values for the defined keys. Each value can either be string, int, double or any proto message or a serialized object.",
          "$ref": "EnterpriseCrmFrontendsEventbusProtoParameterValueType"
        },
        "isOutput": {
          "type": "boolean"
        },
        "config": {
          "description": "Optional fields, such as help text and other useful info.",
          "$ref": "EnterpriseCrmEventbusProtoParamSpecEntryConfig"
        },
        "required": {
          "description": "If set, the user must provide an input value for this parameter.",
          "type": "boolean"
        },
        "isDeprecated": {
          "description": "If set, this entry is deprecated, so further use of this parameter should be prohibited.",
          "type": "boolean"
        },
        "validationRule": {
          "description": "Rule used to validate inputs (individual values and collection elements) for this parameter.",
          "$ref": "EnterpriseCrmEventbusProtoParamSpecEntryValidationRule"
        }
      }
    },
    "EnterpriseCrmEventbusProtoParamSpecEntryProtoDefinition": {
      "id": "EnterpriseCrmEventbusProtoParamSpecEntryProtoDefinition",
      "type": "object",
      "properties": {
        "path": {
          "description": "Path to the proto file that contains the message type's definition.",
          "type": "string"
        },
        "fullName": {
          "description": "The fully-qualified proto name. This message, for example, would be \"enterprise.crm.eventbus.proto.ParamSpecEntry.ProtoDefinition\".",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusProtoParamSpecEntryConfig": {
      "id": "EnterpriseCrmEventbusProtoParamSpecEntryConfig",
      "type": "object",
      "properties": {
        "descriptivePhrase": {
          "description": "A short phrase to describe what this parameter contains.",
          "type": "string"
        },
        "label": {
          "description": "A user-friendly label for the parameter.",
          "type": "string"
        },
        "helpText": {
          "description": "Detailed help text for this parameter containing information not provided elsewhere. For example, instructions on how to migrate from a deprecated parameter.",
          "type": "string"
        },
        "uiPlaceholderText": {
          "description": "Placeholder text which will appear in the UI input form for this parameter.",
          "type": "string"
        },
        "inputDisplayOption": {
          "type": "string",
          "enumDescriptions": [
            "A single-line input for strings, a numeric input box for numbers, or a checkbox for booleans.",
            "A multi-line input box for longer strings/string templates.",
            "A slider to select a numerical value. The default range is [0, 100].",
            "A toggle button for boolean parameters."
          ],
          "enum": [
            "DEFAULT",
            "STRING_MULTI_LINE",
            "NUMBER_SLIDER",
            "BOOLEAN_TOGGLE"
          ]
        },
        "subSectionLabel": {
          "description": "A user-friendly label for subSection under which the parameter will be displayed.",
          "type": "string"
        },
        "parameterNameOption": {
          "type": "string",
          "enumDescriptions": [
            "This field is not a parameter name.",
            "If this field is a string and this option is selected, the field will be interpreted as a parameter name. Users will be able to choose a variable using the autocomplete, but the name will be stored as a literal string.",
            "If this field is a ParameterMap and this option is selected, the map's keys will be interpreted as parameter names. Ignored if this field is not a ParameterMap.",
            "If this field is a ParameterMap and this option is selected, the map's values will be interpreted as parameter names. Ignored if this field is not a ParameterMap."
          ],
          "enum": [
            "DEFAULT_NOT_PARAMETER_NAME",
            "IS_PARAMETER_NAME",
            "KEY_IS_PARAMETER_NAME",
            "VALUE_IS_PARAMETER_NAME"
          ]
        },
        "isHidden": {
          "description": "Whether this field is hidden in the UI.",
          "type": "boolean"
        },
        "hideDefaultValue": {
          "description": "Whether the default value is hidden in the UI.",
          "type": "boolean"
        }
      }
    },
    "EnterpriseCrmEventbusProtoParamSpecEntryValidationRule": {
      "id": "EnterpriseCrmEventbusProtoParamSpecEntryValidationRule",
      "type": "object",
      "properties": {
        "intRange": {
          "$ref": "EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleIntRange"
        },
        "doubleRange": {
          "$ref": "EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleDoubleRange"
        },
        "stringRegex": {
          "$ref": "EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleStringRegex"
        }
      }
    },
    "EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleIntRange": {
      "id": "EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleIntRange",
      "description": "Range used to validate longs and ints.",
      "type": "object",
      "properties": {
        "min": {
          "description": "The inclusive minimum of the acceptable range.",
          "type": "string",
          "format": "int64"
        },
        "max": {
          "description": "The inclusive maximum of the acceptable range.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleDoubleRange": {
      "id": "EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleDoubleRange",
      "description": "Range used to validate doubles and floats.",
      "type": "object",
      "properties": {
        "min": {
          "description": "The inclusive minimum of the acceptable range.",
          "type": "number",
          "format": "double"
        },
        "max": {
          "description": "The inclusive maximum of the acceptable range.",
          "type": "number",
          "format": "double"
        }
      }
    },
    "EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleStringRegex": {
      "id": "EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleStringRegex",
      "description": "Rule used to validate strings.",
      "type": "object",
      "properties": {
        "regex": {
          "description": "The regex applied to the input value(s).",
          "type": "string"
        },
        "exclusive": {
          "description": "Whether the regex matcher is applied exclusively (if true, matching values will be rejected).",
          "type": "boolean"
        }
      }
    },
    "EnterpriseCrmEventbusProtoTaskUiConfig": {
      "id": "EnterpriseCrmEventbusProtoTaskUiConfig",
      "description": "Task authors would use this type to configure the UI for a particular task by specifying what UI config modules should be included to compose the UI. Learn more about config module framework:",
      "type": "object",
      "properties": {
        "taskUiModuleConfigs": {
          "description": "Configurations of included config modules.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoTaskUiModuleConfig"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoTaskUiModuleConfig": {
      "id": "EnterpriseCrmEventbusProtoTaskUiModuleConfig",
      "description": "Task author would use this type to configure a config module.",
      "type": "object",
      "properties": {
        "moduleId": {
          "description": "ID of the config module.",
          "type": "string",
          "enumDescriptions": [
            "Default",
            "Supports editing label of a task config.",
            "Supports editing error handling settings such as retry strategy.",
            "Supports adding, removing and editing task parameter values in a table with little assistance or restriction.",
            "Supports editing values of declared input parameters of a task. Think of it as a \"strongly typed\" upgrade to the TASK_PARAM_TABLE.",
            "Supports editing preconditions of a task config.",
            "Supports adding, editing, and deleting the scripts associated with a script task, as well as modifying the input/output parameters.",
            "Supports editing task parameters associated with an RPC/stubby task.",
            "Contains readonly task information, including input/output type info.",
            "Configures a SuspensionTask.",
            "Configures a GenericStubbyTypedTask.",
            "Configures a SubWorkflowExecutorTask.",
            "Supports navigating to Apps Script editor",
            "Configures a SubWorkflowForEachLoopTask.",
            "Configures a FieldMappingTask.",
            "Contains embedded in-product documentation for a task.",
            "UI widget for the rest caller task.",
            "Configures a SubWorkflowScatterGatherTask.",
            "Configures a CloudSql Task.",
            "Configure a GenericConnectorTask."
          ],
          "enum": [
            "UNSPECIFIED_TASK_MODULE",
            "LABEL",
            "ERROR_HANDLING",
            "TASK_PARAM_TABLE",
            "TASK_PARAM_FORM",
            "PRECONDITION",
            "SCRIPT_EDITOR",
            "RPC",
            "TASK_SUMMARY",
            "SUSPENSION",
            "RPC_TYPED",
            "SUB_WORKFLOW",
            "APPS_SCRIPT_NAVIGATOR",
            "SUB_WORKFLOW_FOR_EACH_LOOP",
            "FIELD_MAPPING",
            "README",
            "REST_CALLER",
            "SUB_WORKFLOW_SCATTER_GATHER",
            "CLOUD_SQL",
            "GENERIC_CONNECTOR_TASK"
          ]
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaTaskConfig": {
      "id": "GoogleCloudIntegrationsV1alphaTaskConfig",
      "description": "The task configuration details. This is not the implementation of Task. There might be multiple TaskConfigs for the same Task.",
      "type": "object",
      "properties": {
        "task": {
          "description": "Optional. The name for the task.",
          "type": "string"
        },
        "taskId": {
          "description": "Required. The identifier of this task within its parent event config, specified by the client. This should be unique among all the tasks belong to the same event config. We use this field as the identifier to find next tasks (via field `next_tasks.task_id`).",
          "type": "string"
        },
        "parameters": {
          "description": "Optional. The customized parameters the user can pass to this task.",
          "type": "object",
          "additionalProperties": {
            "$ref": "GoogleCloudIntegrationsV1alphaEventParameter"
          }
        },
        "failurePolicy": {
          "description": "Optional. Determines the number of times the task will be retried on failure and with what retry strategy. This is applicable for asynchronous calls to Eventbus alone (Post To Queue, Schedule etc.).",
          "$ref": "GoogleCloudIntegrationsV1alphaFailurePolicy"
        },
        "synchronousCallFailurePolicy": {
          "description": "Optional. Determines the number of times the task will be retried on failure and with what retry strategy. This is applicable for synchronous calls to Eventbus alone (Post).",
          "$ref": "GoogleCloudIntegrationsV1alphaFailurePolicy"
        },
        "conditionalFailurePolicies": {
          "description": "Optional. The list of conditional failure policies that will be applied to the task in order.",
          "$ref": "GoogleCloudIntegrationsV1alphaConditionalFailurePolicies"
        },
        "nextTasks": {
          "description": "Optional. The set of tasks that are next in line to be executed as per the execution graph defined for the parent event, specified by `event_config_id`. Each of these next tasks are executed only if the condition associated with them evaluates to true.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaNextTask"
          }
        },
        "nextTasksExecutionPolicy": {
          "description": "Optional. The policy dictating the execution of the next set of tasks for the current task.",
          "type": "string",
          "enumDescriptions": [
            "Default.",
            "Execute all the tasks that satisfy their associated condition.",
            "Execute the first task that satisfies the associated condition."
          ],
          "enum": [
            "NEXT_TASKS_EXECUTION_POLICY_UNSPECIFIED",
            "RUN_ALL_MATCH",
            "RUN_FIRST_MATCH"
          ]
        },
        "taskExecutionStrategy": {
          "description": "Optional. The policy dictating the execution strategy of this task.",
          "type": "string",
          "enumDescriptions": [
            "Default. If the strategy is not set explicitly, it will default to `WHEN_ALL_SUCCEED`.",
            "Wait until all of its previous tasks finished execution, then verify at least one of the edge conditions is met, and execute if possible. This should be considered as WHEN_ALL_TASKS_SUCCEED.",
            "Start execution as long as any of its previous tasks finished execution and the corresponding edge condition is met (since we will execute if only that succeeding edge condition is met).",
            "Wait until all of its previous tasks finished execution, then verify the all edge conditions are met and execute if possible."
          ],
          "enum": [
            "TASK_EXECUTION_STRATEGY_UNSPECIFIED",
            "WHEN_ALL_SUCCEED",
            "WHEN_ANY_SUCCEED",
            "WHEN_ALL_TASKS_AND_CONDITIONS_SUCCEED"
          ]
        },
        "displayName": {
          "description": "Optional. User-provided label that is attached to this TaskConfig in the UI.",
          "type": "string"
        },
        "successPolicy": {
          "description": "Optional. Determines what action to take upon successful task completion.",
          "$ref": "GoogleCloudIntegrationsV1alphaSuccessPolicy"
        },
        "jsonValidationOption": {
          "description": "Optional. If set, overrides the option configured in the Task implementation class.",
          "type": "string",
          "enumDescriptions": [
            "As per the default behavior, no validation will be run. Will not override any option set in a Task.",
            "Do not run any validation against JSON schemas.",
            "Validate all potential input JSON parameters against schemas specified in IntegrationParameter.",
            "Validate all potential output JSON parameters against schemas specified in IntegrationParameter.",
            "Perform both PRE_EXECUTION and POST_EXECUTION validations."
          ],
          "enum": [
            "JSON_VALIDATION_OPTION_UNSPECIFIED",
            "SKIP",
            "PRE_EXECUTION",
            "POST_EXECUTION",
            "PRE_POST_EXECUTION"
          ]
        },
        "description": {
          "description": "Optional. User-provided description intended to give additional business context about the task.",
          "type": "string"
        },
        "taskTemplate": {
          "description": "Optional. Used to define task-template name if task is of type task-template",
          "type": "string"
        },
        "errorCatcherId": {
          "description": "Optional. Optional Error catcher id of the error catch flow which will be executed when execution error happens in the task",
          "type": "string"
        },
        "externalTaskType": {
          "description": "Optional. External task type of the task",
          "type": "string",
          "enumDescriptions": [
            "Default value. External task type is not specified",
            "Tasks belongs to the normal task flows",
            "Task belongs to the error catch task flows"
          ],
          "enum": [
            "EXTERNAL_TASK_TYPE_UNSPECIFIED",
            "NORMAL_TASK",
            "ERROR_TASK"
          ]
        },
        "position": {
          "description": "Optional. Informs the front-end application where to draw this error catcher config on the UI.",
          "$ref": "GoogleCloudIntegrationsV1alphaCoordinate"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaEventParameter": {
      "id": "GoogleCloudIntegrationsV1alphaEventParameter",
      "description": "This message is used for processing and persisting (when applicable) key value pair parameters for each event in the event bus. Next available id: 4",
      "type": "object",
      "properties": {
        "key": {
          "description": "Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the integration definition.",
          "type": "string"
        },
        "value": {
          "description": "Values for the defined keys. Each value can either be string, int, double or any proto message.",
          "$ref": "GoogleCloudIntegrationsV1alphaValueType"
        },
        "masked": {
          "description": "True if this parameter should be masked in the logs",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaFailurePolicy": {
      "id": "GoogleCloudIntegrationsV1alphaFailurePolicy",
      "description": "Policy that defines the task retry logic and failure type. If no FailurePolicy is defined for a task, all its dependent tasks will not be executed (i.e, a `retry_strategy` of NONE will be applied).",
      "type": "object",
      "properties": {
        "retryStrategy": {
          "description": "Defines what happens to the task upon failure.",
          "type": "string",
          "enumDescriptions": [
            "UNSPECIFIED.",
            "Ignores the failure of this task. The rest of the integration will be executed Assuming this task succeeded.",
            "Causes a permanent failure of the task. However, if the last task(s) of event was successfully completed despite the failure of this task, it has no impact on the integration.",
            "Causes a permanent failure of the event. It is different from NONE because this will mark the event as FAILED by shutting down the event execution.",
            "The task will be retried from the failed task onwards after a fixed delay. A max-retry count is required to be specified with this strategy. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. max_retries and interval_in_seconds must be specified.",
            "The task will be retried from the failed task onwards after a fixed delay that linearly increases with each retry attempt. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. max_retries and interval_in_seconds must be specified.",
            "The task will be retried after an exponentially increasing period of time with each failure. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. `max_retries` and `interval_in_seconds` must be specified.",
            "The entire integration will be restarted with the initial parameters that were set when the event was fired. A max-retry count is required to be specified with this strategy. `max_retries` and `interval_in_seconds` must be specified."
          ],
          "enum": [
            "RETRY_STRATEGY_UNSPECIFIED",
            "IGNORE",
            "NONE",
            "FATAL",
            "FIXED_INTERVAL",
            "LINEAR_BACKOFF",
            "EXPONENTIAL_BACKOFF",
            "RESTART_INTEGRATION_WITH_BACKOFF"
          ]
        },
        "maxRetries": {
          "description": "Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_INTEGRATION_WITH_BACKOFF. Defines the number of times the task will be retried if failed.",
          "type": "integer",
          "format": "int32"
        },
        "intervalTime": {
          "description": "Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_INTEGRATION_WITH_BACKOFF. Defines the initial interval in seconds for backoff.",
          "type": "string",
          "format": "google-datetime"
        },
        "condition": {
          "description": "Optional. The string condition that will be evaluated to determine if the task should be retried with this failure policy.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaConditionalFailurePolicies": {
      "id": "GoogleCloudIntegrationsV1alphaConditionalFailurePolicies",
      "description": "Conditional task failur retry strategies",
      "type": "object",
      "properties": {
        "failurePolicies": {
          "description": "The list of failure policies that will be applied to the task in order.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaFailurePolicy"
          }
        },
        "defaultFailurePolicy": {
          "description": "The default failure policy to be applied if no conditional failure policy matches.",
          "$ref": "GoogleCloudIntegrationsV1alphaFailurePolicy"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaNextTask": {
      "id": "GoogleCloudIntegrationsV1alphaNextTask",
      "description": "The task that is next in line to be executed, if the condition specified evaluated to true.",
      "type": "object",
      "properties": {
        "taskConfigId": {
          "description": "ID of the next task.",
          "type": "string"
        },
        "taskId": {
          "description": "Task number of the next task.",
          "type": "string"
        },
        "condition": {
          "description": "Standard filter expression for this task to become an eligible next task.",
          "type": "string"
        },
        "displayName": {
          "description": "User-provided label that is attached to this edge in the UI.",
          "type": "string"
        },
        "description": {
          "description": "User-provided description intended to give additional business context about the task.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaSuccessPolicy": {
      "id": "GoogleCloudIntegrationsV1alphaSuccessPolicy",
      "description": "Policy that dictates the behavior for the task after it completes successfully.",
      "type": "object",
      "properties": {
        "finalState": {
          "description": "State to which the execution snapshot status will be set if the task succeeds.",
          "type": "string",
          "enumDescriptions": [
            "UNSPECIFIED.",
            "The default behavior, where successful tasks will be marked as SUCCEEDED.",
            "Sets the state to SUSPENDED after executing. This is required for SuspensionTask; event execution will continue once the user calls ResolveSuspensions with the event_execution_info_id and the task number."
          ],
          "enum": [
            "FINAL_STATE_UNSPECIFIED",
            "SUCCEEDED",
            "SUSPENDED"
          ]
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaCoordinate": {
      "id": "GoogleCloudIntegrationsV1alphaCoordinate",
      "description": "Configuration detail of coordinate, it used for UI",
      "type": "object",
      "properties": {
        "x": {
          "description": "Required. X axis of the coordinate",
          "type": "integer",
          "format": "int32"
        },
        "y": {
          "description": "Required. Y axis of the coordinate",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoTriggerConfig": {
      "id": "EnterpriseCrmFrontendsEventbusProtoTriggerConfig",
      "description": "Configuration detail of a trigger. Next available id: 22",
      "type": "object",
      "properties": {
        "label": {
          "description": "The user created label for a particular trigger.",
          "type": "string"
        },
        "startTasks": {
          "description": "Set of tasks numbers from where the workflow execution is started by this trigger. If this is empty, then workflow is executed with default start tasks. In the list of start tasks, none of two tasks can have direct ancestor-descendant relationships (i.e. in a same workflow execution graph).",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoNextTask"
          }
        },
        "properties": {
          "description": "Configurable properties of the trigger, not to be confused with workflow parameters. E.g. \"name\" is a property for API triggers and \"subscription\" is a property for Cloud Pubsub triggers.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "triggerType": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNKNOWN",
            "CLOUD_PUBSUB",
            "GOOPS",
            "SFDC_SYNC",
            "CRON",
            "API",
            "MANIFOLD_TRIGGER",
            "DATALAYER_DATA_CHANGE",
            "SFDC_CHANNEL",
            "CLOUD_PUBSUB_EXTERNAL",
            "SFDC_CDC_CHANNEL",
            "SFDC_PLATFORM_EVENTS_CHANNEL",
            "CLOUD_SCHEDULER",
            "INTEGRATION_CONNECTOR_TRIGGER",
            "PRIVATE_TRIGGER",
            "EVENTARC_TRIGGER"
          ]
        },
        "position": {
          "description": "Optional. Informs the front-end application where to draw this trigger config on the UI.",
          "$ref": "EnterpriseCrmEventbusProtoCoordinate"
        },
        "triggerNumber": {
          "description": "Required. A number to uniquely identify each trigger config within the workflow on UI.",
          "type": "string"
        },
        "alertConfig": {
          "description": "An alert threshold configuration for the [trigger + client + workflow] tuple. If these values are not specified in the trigger config, default values will be populated by the system. Note that there must be exactly one alert threshold configured per [client + trigger + workflow] when published.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoWorkflowAlertConfig"
          }
        },
        "nextTasksExecutionPolicy": {
          "description": "Dictates how next tasks will be executed.",
          "type": "string",
          "enumDescriptions": [
            "Default",
            "Execute all the tasks that satisfy their associated condition.",
            "Execute the first task that satisfies the associated condition."
          ],
          "enum": [
            "UNSPECIFIED",
            "RUN_ALL_MATCH",
            "RUN_FIRST_MATCH"
          ]
        },
        "enabledClients": {
          "description": "Required. The list of client ids which are enabled to execute the workflow using this trigger. In other words, these clients have the workflow execution privledges for this trigger. For API trigger, the client id in the incoming request is validated against the list of enabled clients. For non-API triggers, one workflow execution is triggered on behalf of each enabled client.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "pauseWorkflowExecutions": {
          "description": "Optional. If set to true, any upcoming requests for this trigger config will be paused and the executions will be resumed later when the flag is reset. The workflow to which this trigger config belongs has to be in ACTIVE status for the executions to be paused or resumed.",
          "type": "boolean"
        },
        "triggerCriteria": {
          "description": "Optional. When set, Eventbus will run the task specified in the trigger_criteria and validate the result using the trigger_criteria.condition, and only execute the workflow when result is true.",
          "$ref": "EnterpriseCrmEventbusProtoTriggerCriteria"
        },
        "triggerId": {
          "description": "The backend trigger ID.",
          "type": "string"
        },
        "description": {
          "description": "User-provided description intended to give more business context about the task.",
          "type": "string"
        },
        "cloudSchedulerConfig": {
          "$ref": "EnterpriseCrmEventbusProtoCloudSchedulerConfig"
        },
        "errorCatcherId": {
          "description": "Optional Error catcher id of the error catch flow which will be executed when execution error happens in the task",
          "type": "string"
        },
        "triggerName": {
          "description": "Optional. Name of the trigger This is added to identify the type of trigger. This is avoid the logic on triggerId to identify the trigger_type and push the same to monitoring.",
          "type": "string"
        },
        "inputVariables": {
          "description": "Optional. List of input variables for the api trigger.",
          "$ref": "EnterpriseCrmFrontendsEventbusProtoTriggerConfigVariables"
        },
        "outputVariables": {
          "description": "Optional. List of output variables for the api trigger.",
          "$ref": "EnterpriseCrmFrontendsEventbusProtoTriggerConfigVariables"
        }
      }
    },
    "EnterpriseCrmEventbusProtoWorkflowAlertConfig": {
      "id": "EnterpriseCrmEventbusProtoWorkflowAlertConfig",
      "description": "Message to be used to configure custom alerting in the {@code EventConfig} protos for an event.",
      "type": "object",
      "properties": {
        "alertName": {
          "description": "A name to identify this alert. This will be displayed in the alert subject. If set, this name should be unique within the scope of the workflow.",
          "type": "string"
        },
        "metricType": {
          "type": "string",
          "enumDescriptions": [
            "The default value. Metric type should always be set to one of the other non-default values, otherwise it will result in an INVALID_ARGUMENT error.",
            "Specifies alerting on the rate of errors for the enclosing workflow.",
            "Specifies alerting on the rate of warnings for the enclosing workflow. Warnings use the same enum values as errors.",
            "Specifies alerting on the rate of errors for any task in the enclosing workflow.",
            "Specifies alerting on the rate of warnings for any task in the enclosing workflow.",
            "Specifies alerting on the rate of executions over all tasks in the enclosing workflow.",
            "Specifies alerting on the number of events executed in the given aggregation_period.",
            "Specifies alerting on the average duration of executions for this workflow.",
            "Specifies alerting on the duration value of a particular percentile of workflow executions. E.g. If 10% or more of the workflow executions have durations above 5 seconds, alert.",
            "Specifies alerting on the average duration of any task in the enclosing workflow,",
            "Specifies alerting on the duration value of a particular percentile of any task executions within the enclosing workflow. E.g. If 10% or more of the task executions in the workflow have durations above 5 seconds, alert."
          ],
          "enum": [
            "METRIC_TYPE_UNSPECIFIED",
            "EVENT_ERROR_RATE",
            "EVENT_WARNING_RATE",
            "TASK_ERROR_RATE",
            "TASK_WARNING_RATE",
            "TASK_RATE",
            "EVENT_RATE",
            "EVENT_AVERAGE_DURATION",
            "EVENT_PERCENTILE_DURATION",
            "TASK_AVERAGE_DURATION",
            "TASK_PERCENTILE_DURATION"
          ]
        },
        "thresholdType": {
          "description": "The threshold type, whether lower(expected_min) or upper(expected_max), for which this alert is being configured. If value falls below expected_min or exceeds expected_max, an alert will be fired.",
          "type": "string",
          "enumDescriptions": [
            "",
            "Note that this field will only trigger alerts if the workflow specifying it runs at least once in 24 hours (which is our in-memory retention period for monarch streams). Also note that `aggregation_period` for this alert configuration must be less than 24 hours.",
            ""
          ],
          "enum": [
            "UNSPECIFIED_THRESHOLD_TYPE",
            "EXPECTED_MIN",
            "EXPECTED_MAX"
          ]
        },
        "thresholdValue": {
          "description": "The metric value, above or below which the alert should be triggered.",
          "$ref": "EnterpriseCrmEventbusProtoBaseAlertConfigThresholdValue"
        },
        "durationThresholdMs": {
          "description": "Should be specified only for *AVERAGE_DURATION and *PERCENTILE_DURATION metrics. This member should be used to specify what duration value the metrics should exceed for the alert to trigger.",
          "type": "string",
          "format": "int64"
        },
        "errorEnumList": {
          "$ref": "EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList"
        },
        "warningEnumList": {
          "$ref": "EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList"
        },
        "aggregationPeriod": {
          "description": "For an EXPECTED_MIN threshold, this aggregation_period must be lesser than 24 hours.",
          "type": "string"
        },
        "numAggregationPeriods": {
          "description": "For how many contiguous aggregation periods should the expected min or max be violated for the alert to be fired.",
          "type": "integer",
          "format": "int32"
        },
        "alertDisabled": {
          "description": "Set to false by default. When set to true, the metrics are not aggregated or pushed to Monarch for this workflow alert.",
          "type": "boolean"
        },
        "clientId": {
          "description": "Client associated with this alert configuration.",
          "type": "string"
        },
        "onlyFinalAttempt": {
          "description": "For either events or tasks, depending on the type of alert, count only final attempts, not retries.",
          "type": "boolean"
        },
        "playbookUrl": {
          "description": "Link to a playbook for resolving the issue that triggered this alert.",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusProtoTriggerCriteria": {
      "id": "EnterpriseCrmEventbusProtoTriggerCriteria",
      "type": "object",
      "properties": {
        "triggerCriteriaTaskImplementationClassName": {
          "description": "Optional. Implementation class name. The class should implement the “TypedTask” interface.",
          "type": "string"
        },
        "parameters": {
          "description": "Optional. To be used in TaskConfig for the implementation class.",
          "$ref": "EnterpriseCrmEventbusProtoEventParameters"
        },
        "condition": {
          "description": "Required. Standard filter expression, when true the workflow will be executed. If there's no trigger_criteria_task_implementation_class_name specified, the condition will be validated directly.",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusProtoEventParameters": {
      "id": "EnterpriseCrmEventbusProtoEventParameters",
      "description": "LINT.IfChange This message is used for processing and persisting (when applicable) key value pair parameters for each event in the event bus. Please see",
      "type": "object",
      "properties": {
        "parameters": {
          "description": "Parameters are a part of Event and can be used to communicate between different tasks that are part of the same integration execution.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoParameterEntry"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoParameterEntry": {
      "id": "EnterpriseCrmEventbusProtoParameterEntry",
      "description": "Key-value pair of EventBus parameters.",
      "type": "object",
      "properties": {
        "key": {
          "description": "Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the integration definition.",
          "type": "string"
        },
        "value": {
          "description": "Values for the defined keys. Each value can either be string, int, double or any proto message.",
          "$ref": "EnterpriseCrmEventbusProtoParameterValueType"
        },
        "masked": {
          "description": "True if this parameter should be masked in the logs",
          "type": "boolean"
        }
      }
    },
    "EnterpriseCrmEventbusProtoParameterValueType": {
      "id": "EnterpriseCrmEventbusProtoParameterValueType",
      "description": "LINT.IfChange To support various types of parameter values. Next available id: 14",
      "type": "object",
      "properties": {
        "stringValue": {
          "type": "string"
        },
        "intValue": {
          "type": "string",
          "format": "int64"
        },
        "doubleValue": {
          "type": "number",
          "format": "double"
        },
        "booleanValue": {
          "type": "boolean"
        },
        "protoValue": {
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        },
        "serializedObjectValue": {
          "$ref": "EnterpriseCrmEventbusProtoSerializedObjectParameter"
        },
        "stringArray": {
          "$ref": "EnterpriseCrmEventbusProtoStringParameterArray"
        },
        "intArray": {
          "$ref": "EnterpriseCrmEventbusProtoIntParameterArray"
        },
        "doubleArray": {
          "$ref": "EnterpriseCrmEventbusProtoDoubleParameterArray"
        },
        "protoArray": {
          "$ref": "EnterpriseCrmEventbusProtoProtoParameterArray"
        },
        "booleanArray": {
          "$ref": "EnterpriseCrmEventbusProtoBooleanParameterArray"
        }
      }
    },
    "EnterpriseCrmEventbusProtoSerializedObjectParameter": {
      "id": "EnterpriseCrmEventbusProtoSerializedObjectParameter",
      "type": "object",
      "properties": {
        "objectValue": {
          "type": "string",
          "format": "byte"
        }
      }
    },
    "EnterpriseCrmEventbusProtoStringParameterArray": {
      "id": "EnterpriseCrmEventbusProtoStringParameterArray",
      "type": "object",
      "properties": {
        "stringValues": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoIntParameterArray": {
      "id": "EnterpriseCrmEventbusProtoIntParameterArray",
      "type": "object",
      "properties": {
        "intValues": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoDoubleParameterArray": {
      "id": "EnterpriseCrmEventbusProtoDoubleParameterArray",
      "type": "object",
      "properties": {
        "doubleValues": {
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoProtoParameterArray": {
      "id": "EnterpriseCrmEventbusProtoProtoParameterArray",
      "type": "object",
      "properties": {
        "protoValues": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            }
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoBooleanParameterArray": {
      "id": "EnterpriseCrmEventbusProtoBooleanParameterArray",
      "type": "object",
      "properties": {
        "booleanValues": {
          "type": "array",
          "items": {
            "type": "boolean"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoCloudSchedulerConfig": {
      "id": "EnterpriseCrmEventbusProtoCloudSchedulerConfig",
      "description": "Cloud Scheduler Trigger configuration",
      "type": "object",
      "properties": {
        "serviceAccountEmail": {
          "description": "Required. Service account used by Cloud Scheduler to trigger the integration at scheduled time",
          "type": "string"
        },
        "cronTab": {
          "description": "Required. The cron tab of cloud scheduler trigger.",
          "type": "string"
        },
        "location": {
          "description": "Required. The location where associated cloud scheduler job will be created",
          "type": "string"
        },
        "errorMessage": {
          "description": "Optional. When the job was deleted from Pantheon UI, error_message will be populated when Get/List integrations",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoTriggerConfigVariables": {
      "id": "EnterpriseCrmFrontendsEventbusProtoTriggerConfigVariables",
      "description": "Variables names mapped to api trigger.",
      "type": "object",
      "properties": {
        "names": {
          "description": "Optional. List of variable names.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaTriggerConfig": {
      "id": "GoogleCloudIntegrationsV1alphaTriggerConfig",
      "description": "Configuration detail of a trigger.",
      "type": "object",
      "properties": {
        "label": {
          "description": "Optional. The user created label for a particular trigger.",
          "type": "string"
        },
        "startTasks": {
          "description": "Optional. Set of tasks numbers from where the integration execution is started by this trigger. If this is empty, then integration is executed with default start tasks. In the list of start tasks, none of two tasks can have direct ancestor-descendant relationships (i.e. in a same integration execution graph).",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaNextTask"
          }
        },
        "properties": {
          "description": "Optional. Configurable properties of the trigger, not to be confused with integration parameters. E.g. \"name\" is a property for API triggers and \"subscription\" is a property for Pub/sub triggers.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "triggerType": {
          "description": "Optional. Type of trigger",
          "type": "string",
          "enumDescriptions": [
            "Unknown.",
            "Trigger by scheduled time.",
            "Trigger by API call.",
            "Trigger by Salesforce Channel.",
            "Trigger by Pub/Sub external.",
            "SFDC Channel Trigger for CDC.",
            "Trigger by Cloud Scheduler job.",
            "Trigger by Connector Event",
            "Trigger for private workflow",
            "Trigger by cloud pub/sub for internal ip",
            "Trigger by Eventarc"
          ],
          "enum": [
            "TRIGGER_TYPE_UNSPECIFIED",
            "CRON",
            "API",
            "SFDC_CHANNEL",
            "CLOUD_PUBSUB_EXTERNAL",
            "SFDC_CDC_CHANNEL",
            "CLOUD_SCHEDULER",
            "INTEGRATION_CONNECTOR_TRIGGER",
            "PRIVATE_TRIGGER",
            "CLOUD_PUBSUB",
            "EVENTARC_TRIGGER"
          ]
        },
        "triggerNumber": {
          "description": "Required. A number to uniquely identify each trigger config within the integration on UI.",
          "type": "string"
        },
        "alertConfig": {
          "description": "Optional. An alert threshold configuration for the [trigger + client + integration] tuple. If these values are not specified in the trigger config, default values will be populated by the system. Note that there must be exactly one alert threshold configured per [client + trigger + integration] when published.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaIntegrationAlertConfig"
          }
        },
        "nextTasksExecutionPolicy": {
          "description": "Optional. Dictates how next tasks will be executed.",
          "type": "string",
          "enumDescriptions": [
            "Default.",
            "Execute all the tasks that satisfy their associated condition.",
            "Execute the first task that satisfies the associated condition."
          ],
          "enum": [
            "NEXT_TASKS_EXECUTION_POLICY_UNSPECIFIED",
            "RUN_ALL_MATCH",
            "RUN_FIRST_MATCH"
          ]
        },
        "triggerId": {
          "description": "Optional. Auto-generated trigger ID. The ID is based on the properties that you define in the trigger config. For example, for an API trigger, the trigger ID follows the format: api_trigger/TRIGGER_NAME Where trigger config has properties with value {\"Trigger name\": TRIGGER_NAME}",
          "type": "string"
        },
        "description": {
          "description": "Optional. User-provided description intended to give additional business context about the task.",
          "type": "string"
        },
        "cloudSchedulerConfig": {
          "description": "Optional. Cloud Scheduler Trigger related metadata",
          "$ref": "GoogleCloudIntegrationsV1alphaCloudSchedulerConfig"
        },
        "errorCatcherId": {
          "description": "Optional. Optional Error catcher id of the error catch flow which will be executed when execution error happens in the task",
          "type": "string"
        },
        "position": {
          "description": "Optional. Informs the front-end application where to draw this error catcher config on the UI.",
          "$ref": "GoogleCloudIntegrationsV1alphaCoordinate"
        },
        "trigger": {
          "description": "Optional. Name of the trigger. Example: \"API Trigger\", \"Cloud Pub Sub Trigger\" When set will be sent out to monitoring dashabord for tracking purpose.",
          "type": "string"
        },
        "inputVariables": {
          "description": "Optional. List of input variables for the api trigger.",
          "$ref": "GoogleCloudIntegrationsV1alphaTriggerConfigVariables"
        },
        "outputVariables": {
          "description": "Optional. List of output variables for the api trigger.",
          "$ref": "GoogleCloudIntegrationsV1alphaTriggerConfigVariables"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaIntegrationAlertConfig": {
      "id": "GoogleCloudIntegrationsV1alphaIntegrationAlertConfig",
      "description": "Message to be used to configure custom alerting in the {@code EventConfig} protos for an event.",
      "type": "object",
      "properties": {
        "displayName": {
          "description": "Name of the alert. This will be displayed in the alert subject. If set, this name should be unique within the scope of the integration.",
          "type": "string"
        },
        "metricType": {
          "description": "The type of metric.",
          "type": "string",
          "enumDescriptions": [
            "The default value. Metric type should always be set to one of the other non-default values, otherwise it will result in an INVALID_ARGUMENT error.",
            "Specifies alerting on the rate of errors for the enclosing integration.",
            "Specifies alerting on the rate of warnings for the enclosing integration. Warnings use the same enum values as errors.",
            "Specifies alerting on the rate of errors for any task in the enclosing integration.",
            "Specifies alerting on the rate of warnings for any task in the enclosing integration.",
            "Specifies alerting on the rate of executions over all tasks in the enclosing integration.",
            "Specifies alerting on the number of events executed in the given aggregation_period.",
            "Specifies alerting on the average duration of executions for this integration.",
            "Specifies alerting on the duration value of a particular percentile of integration executions. E.g. If 10% or more of the integration executions have durations above 5 seconds, alert.",
            "Specifies alerting on the average duration of any task in the enclosing integration,",
            "Specifies alerting on the duration value of a particular percentile of any task executions within the enclosing integration. E.g. If 10% or more of the task executions in the integration have durations above 5 seconds, alert."
          ],
          "enum": [
            "METRIC_TYPE_UNSPECIFIED",
            "EVENT_ERROR_RATE",
            "EVENT_WARNING_RATE",
            "TASK_ERROR_RATE",
            "TASK_WARNING_RATE",
            "TASK_RATE",
            "EVENT_RATE",
            "EVENT_AVERAGE_DURATION",
            "EVENT_PERCENTILE_DURATION",
            "TASK_AVERAGE_DURATION",
            "TASK_PERCENTILE_DURATION"
          ]
        },
        "thresholdType": {
          "description": "The threshold type, whether lower(expected_min) or upper(expected_max), for which this alert is being configured. If value falls below expected_min or exceeds expected_max, an alert will be fired.",
          "type": "string",
          "enumDescriptions": [
            "Default.",
            "Note that this field will only trigger alerts if the integration specifying it runs at least once in 24 hours (which is our in-memory retention period for monarch streams). Also note that `aggregation_period` for this alert configuration must be less than 24 hours. Min value threshold.",
            "Max value threshold."
          ],
          "enum": [
            "THRESHOLD_TYPE_UNSPECIFIED",
            "EXPECTED_MIN",
            "EXPECTED_MAX"
          ]
        },
        "thresholdValue": {
          "description": "The metric value, above or below which the alert should be triggered.",
          "$ref": "GoogleCloudIntegrationsV1alphaIntegrationAlertConfigThresholdValue"
        },
        "durationThreshold": {
          "description": "Should be specified only for *AVERAGE_DURATION and *PERCENTILE_DURATION metrics. This member should be used to specify what duration value the metrics should exceed for the alert to trigger.",
          "type": "string",
          "format": "google-duration"
        },
        "aggregationPeriod": {
          "description": "The period over which the metric value should be aggregated and evaluated. Format is , where integer should be a positive integer and unit should be one of (s,m,h,d,w) meaning (second, minute, hour, day, week). For an EXPECTED_MIN threshold, this aggregation_period must be lesser than 24 hours.",
          "type": "string"
        },
        "alertThreshold": {
          "description": "For how many contiguous aggregation periods should the expected min or max be violated for the alert to be fired.",
          "type": "integer",
          "format": "int32"
        },
        "disableAlert": {
          "description": "Set to false by default. When set to true, the metrics are not aggregated or pushed to Monarch for this integration alert.",
          "type": "boolean"
        },
        "onlyFinalAttempt": {
          "description": "For either events or tasks, depending on the type of alert, count only final attempts, not retries.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaIntegrationAlertConfigThresholdValue": {
      "id": "GoogleCloudIntegrationsV1alphaIntegrationAlertConfigThresholdValue",
      "description": "The threshold value of the metric, above or below which the alert should be triggered. See EventAlertConfig or TaskAlertConfig for the different alert metric types in each case. For the *RATE metrics, one or both of these fields may be set. Zero is the default value and can be left at that. For *PERCENTILE_DURATION metrics, one or both of these fields may be set, and also, the duration threshold value should be specified in the threshold_duration_ms member below. For *AVERAGE_DURATION metrics, these fields should not be set at all. A different member, threshold_duration_ms, must be set in the EventAlertConfig or the TaskAlertConfig.",
      "type": "object",
      "properties": {
        "absolute": {
          "description": "Absolute value threshold.",
          "type": "string",
          "format": "int64"
        },
        "percentage": {
          "description": "Percentage threshold.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaCloudSchedulerConfig": {
      "id": "GoogleCloudIntegrationsV1alphaCloudSchedulerConfig",
      "description": "Cloud Scheduler Trigger configuration",
      "type": "object",
      "properties": {
        "serviceAccountEmail": {
          "description": "Required. Service account used by Cloud Scheduler to trigger the integration at scheduled time",
          "type": "string"
        },
        "cronTab": {
          "description": "Required. The cron tab of cloud scheduler trigger.",
          "type": "string"
        },
        "location": {
          "description": "Required. The location where associated cloud scheduler job will be created",
          "type": "string"
        },
        "errorMessage": {
          "description": "Optional. When the job was deleted from Pantheon UI, error_message will be populated when Get/List integrations",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaTriggerConfigVariables": {
      "id": "GoogleCloudIntegrationsV1alphaTriggerConfigVariables",
      "description": "Variables names mapped to api trigger.",
      "type": "object",
      "properties": {
        "names": {
          "description": "Optional. List of variable names.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoWorkflowParameters": {
      "id": "EnterpriseCrmFrontendsEventbusProtoWorkflowParameters",
      "description": "LINT.IfChange This is the frontend version of WorkflowParameters. It's exactly like the backend version except that instead of flattening protobuf parameters and treating every field and subfield of a protobuf parameter as a separate parameter, the fields/subfields of a protobuf parameter will be nested as \"children\" (see 'children' field below) parameters of the parent parameter. Please refer to enterprise/crm/eventbus/proto/workflow_parameters.proto for more information about WorkflowParameters.",
      "type": "object",
      "properties": {
        "parameters": {
          "description": "Parameters are a part of Event and can be used to communiticate between different tasks that are part of the same workflow execution.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmFrontendsEventbusProtoWorkflowParameterEntry"
          }
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoWorkflowParameterEntry": {
      "id": "EnterpriseCrmFrontendsEventbusProtoWorkflowParameterEntry",
      "type": "object",
      "properties": {
        "key": {
          "description": "Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the workflow definition.",
          "type": "string"
        },
        "dataType": {
          "description": "The data type of the parameter.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.",
            "",
            "",
            ""
          ],
          "enum": [
            "DATA_TYPE_UNSPECIFIED",
            "STRING_VALUE",
            "INT_VALUE",
            "DOUBLE_VALUE",
            "BOOLEAN_VALUE",
            "PROTO_VALUE",
            "SERIALIZED_OBJECT_VALUE",
            "STRING_ARRAY",
            "INT_ARRAY",
            "DOUBLE_ARRAY",
            "PROTO_ARRAY",
            "PROTO_ENUM",
            "BOOLEAN_ARRAY",
            "PROTO_ENUM_ARRAY",
            "BYTES",
            "BYTES_ARRAY",
            "NON_SERIALIZABLE_OBJECT",
            "JSON_VALUE"
          ]
        },
        "protoDefPath": {
          "description": "If the data type is of type proto or proto array, this field needs to be populated with the fully qualified proto name. This message, for example, would be \"enterprise.crm.frontends.eventbus.proto.WorkflowParameterEntry\".",
          "type": "string"
        },
        "defaultValue": {
          "description": "Default values for the defined keys. Each value can either be string, int, double or any proto message or a serialized object.",
          "$ref": "EnterpriseCrmFrontendsEventbusProtoParameterValueType"
        },
        "attributes": {
          "description": "Metadata information about the parameters.",
          "$ref": "EnterpriseCrmEventbusProtoAttributes"
        },
        "children": {
          "description": "Child parameters nested within this parameter. This field only applies to protobuf parameters",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmFrontendsEventbusProtoWorkflowParameterEntry"
          }
        },
        "name": {
          "description": "The name (without prefix) to be displayed in the UI for this parameter. E.g. if the key is \"foo.bar.myName\", then the name would be \"myName\".",
          "type": "string"
        },
        "inOutType": {
          "description": "Specifies the input/output type for the parameter.",
          "type": "string",
          "enumDescriptions": [
            "",
            "Input parameters for the workflow. EventBus validates that these parameters exist in the workflows before execution.",
            "Output Parameters for the workflow. EventBus will only return the workflow parameters tagged with OUT in the response back.",
            "Input or Output Parameters. These can be used as both input and output. EventBus will validate for the existence of these parameters before execution and will also return this parameter back in the response."
          ],
          "enum": [
            "IN_OUT_TYPE_UNSPECIFIED",
            "IN",
            "OUT",
            "IN_OUT"
          ]
        },
        "protoDefName": {
          "description": "The name of the protobuf type if the parameter has a protobuf data type.",
          "type": "string"
        },
        "isTransient": {
          "description": "Whether this parameter is a transient parameter.",
          "type": "boolean"
        },
        "producedBy": {
          "description": "The identifier of the node (TaskConfig/TriggerConfig) this parameter was produced by, if it is a transient param or a copy of an input param.",
          "$ref": "EnterpriseCrmEventbusProtoNodeIdentifier"
        },
        "jsonSchema": {
          "description": "This schema will be used to validate runtime JSON-typed values of this parameter.",
          "type": "string"
        },
        "producer": {
          "type": "string"
        },
        "description": {
          "description": "Optional. The description about the parameter",
          "type": "string"
        },
        "containsLargeData": {
          "description": "Indicates whether this variable contains large data and need to be uploaded to Cloud Storage.",
          "type": "boolean"
        },
        "required": {
          "type": "boolean"
        }
      }
    },
    "EnterpriseCrmEventbusProtoAttributes": {
      "id": "EnterpriseCrmEventbusProtoAttributes",
      "description": "Attributes are additional options that can be associated with each event property. For more information, see",
      "type": "object",
      "properties": {
        "dataType": {
          "description": "Things like URL, Email, Currency, Timestamp (rather than string, int64...)",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "Domain is a web url string with one top-level private domain and a suffix (for example: google.com, walmart.com)"
          ],
          "enum": [
            "DATA_TYPE_UNSPECIFIED",
            "EMAIL",
            "URL",
            "CURRENCY",
            "TIMESTAMP",
            "DOMAIN_NAME"
          ]
        },
        "isRequired": {
          "description": "Required for event execution. The validation will be done by the event bus when the event is triggered.",
          "type": "boolean"
        },
        "defaultValue": {
          "description": "Used to define defaults.",
          "$ref": "EnterpriseCrmEventbusProtoValueType"
        },
        "taskVisibility": {
          "description": "List of tasks that can view this property, if empty then all.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "logSettings": {
          "description": "See",
          "$ref": "EnterpriseCrmEventbusProtoLogSettings"
        },
        "isSearchable": {
          "description": "Used to indicate if a ParameterEntry should be converted to ParamIndexes for ST-Spanner full-text search. DEPRECATED: use searchable.",
          "deprecated": true,
          "type": "boolean"
        },
        "searchable": {
          "type": "string",
          "enumDescriptions": [
            "",
            "If yes, the parameter key and value will be full-text indexed. In a proto, this value will propagate to all children whose searchable is unspecified.",
            "If no, the parameter key and value will not be full-text indexed. In a proto, this value will propagate to all children whose searchable is unspecified."
          ],
          "enum": [
            "UNSPECIFIED",
            "YES",
            "NO"
          ]
        },
        "readOnly": {
          "description": "Used to indicate if the ParameterEntry is a read only field or not.",
          "type": "boolean"
        },
        "masked": {
          "description": "True if this workflow parameter should be masked in the logs",
          "type": "boolean"
        }
      }
    },
    "EnterpriseCrmEventbusProtoLogSettings": {
      "id": "EnterpriseCrmEventbusProtoLogSettings",
      "description": "The LogSettings define the logging attributes for an event property. These attributes are used to map the property to the parameter in the log proto. Also used to define scrubbing/truncation behavior and PII information.",
      "type": "object",
      "properties": {
        "logFieldName": {
          "description": "The name of corresponding logging field of the event property. If omitted, assumes the same name as the event property key.",
          "type": "string"
        },
        "seedScope": {
          "type": "string",
          "enumDescriptions": [
            "",
            "Hash computations include the event name.",
            "Hash computations include a time period.",
            "Hash computations include the param name."
          ],
          "enum": [
            "SEED_SCOPE_UNSPECIFIED",
            "EVENT_NAME",
            "TIME_PERIOD",
            "PARAM_NAME"
          ]
        },
        "seedPeriod": {
          "type": "string",
          "enumDescriptions": [
            "",
            "Sanitized values remain constant for the day of the event.",
            "Sanitized values remain constant for the week of the event; may cross month boundaries.",
            "Sanitized values remain constant for the month of the event."
          ],
          "enum": [
            "SEED_PERIOD_UNSPECIFIED",
            "DAY",
            "WEEK",
            "MONTH"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoNodeIdentifier": {
      "id": "EnterpriseCrmEventbusProtoNodeIdentifier",
      "description": "Represents a node identifier (type + id). Next highest id: 3",
      "type": "object",
      "properties": {
        "elementType": {
          "description": "Destination node where the edge ends. It can only be a task config.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "UNKNOWN_TYPE",
            "TASK_CONFIG",
            "TRIGGER_CONFIG"
          ]
        },
        "elementIdentifier": {
          "description": "Configuration of the edge.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaIntegrationParameter": {
      "id": "GoogleCloudIntegrationsV1alphaIntegrationParameter",
      "description": "Integration Parameter is defined in the integration config and are used to provide information about data types of the expected parameters and provide any default values if needed. They can also be used to add custom attributes. These are static in nature and should not be used for dynamic event definition.",
      "type": "object",
      "properties": {
        "key": {
          "description": "Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the integration definition.",
          "type": "string"
        },
        "dataType": {
          "description": "Type of the parameter.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified.",
            "String.",
            "Integer.",
            "Double Number.",
            "Boolean.",
            "String Array.",
            "Integer Array.",
            "Double Number Array.",
            "Boolean Array.",
            "Json.",
            "Proto Value (Internal use only).",
            "Proto Array (Internal use only).",
            "// Non-serializable object (Internal use only).",
            "Proto Enum (Internal use only).",
            "Serialized object (Internal use only).",
            "Proto Enum Array (Internal use only).",
            "BYTES data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.",
            "BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields."
          ],
          "enum": [
            "INTEGRATION_PARAMETER_DATA_TYPE_UNSPECIFIED",
            "STRING_VALUE",
            "INT_VALUE",
            "DOUBLE_VALUE",
            "BOOLEAN_VALUE",
            "STRING_ARRAY",
            "INT_ARRAY",
            "DOUBLE_ARRAY",
            "BOOLEAN_ARRAY",
            "JSON_VALUE",
            "PROTO_VALUE",
            "PROTO_ARRAY",
            "NON_SERIALIZABLE_OBJECT",
            "PROTO_ENUM",
            "SERIALIZED_OBJECT_VALUE",
            "PROTO_ENUM_ARRAY",
            "BYTES",
            "BYTES_ARRAY"
          ]
        },
        "defaultValue": {
          "description": "Default values for the defined keys. Each value can either be string, int, double or any proto message or a serialized object.",
          "$ref": "GoogleCloudIntegrationsV1alphaValueType"
        },
        "searchable": {
          "description": "Searchable in the execution log or not.",
          "type": "boolean"
        },
        "displayName": {
          "description": "The name (without prefix) to be displayed in the UI for this parameter. E.g. if the key is \"foo.bar.myName\", then the name would be \"myName\".",
          "type": "string"
        },
        "inputOutputType": {
          "description": "Specifies the input/output type for the parameter.",
          "type": "string",
          "enumDescriptions": [
            "Default.",
            "Input parameters for the integration. EventBus validates that these parameters exist in the integrations before execution.",
            "Output Parameters for the integration. EventBus will only return the integration parameters tagged with OUT in the response back.",
            "Input and Output Parameters. These can be used as both input and output. EventBus will validate for the existence of these parameters before execution and will also return this parameter back in the response."
          ],
          "enum": [
            "IN_OUT_TYPE_UNSPECIFIED",
            "IN",
            "OUT",
            "IN_OUT"
          ]
        },
        "isTransient": {
          "description": "Whether this parameter is a transient parameter.",
          "type": "boolean"
        },
        "producer": {
          "description": "The identifier of the node (TaskConfig/TriggerConfig) this parameter was produced by, if it is a transient param or a copy of an input param.",
          "type": "string"
        },
        "jsonSchema": {
          "description": "This schema will be used to validate runtime JSON-typed values of this parameter.",
          "type": "string"
        },
        "containsLargeData": {
          "description": "Indicates whether this variable contains large data and need to be uploaded to Cloud Storage.",
          "type": "boolean"
        },
        "masked": {
          "description": "True if this parameter should be masked in the logs",
          "type": "boolean"
        },
        "description": {
          "description": "Optional. Description of the parameter.",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusProtoTeardown": {
      "id": "EnterpriseCrmEventbusProtoTeardown",
      "type": "object",
      "properties": {
        "teardownTaskConfigs": {
          "description": "Required.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoTeardownTaskConfig"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoTeardownTaskConfig": {
      "id": "EnterpriseCrmEventbusProtoTeardownTaskConfig",
      "type": "object",
      "properties": {
        "teardownTaskImplementationClassName": {
          "description": "Required. Implementation class name.",
          "type": "string"
        },
        "name": {
          "description": "Required. Unique identifier of the teardown task within this Config. We use this field as the identifier to find next teardown tasks.",
          "type": "string"
        },
        "parameters": {
          "description": "The parameters the user can pass to this task.",
          "$ref": "EnterpriseCrmEventbusProtoEventParameters"
        },
        "properties": {
          "$ref": "EnterpriseCrmEventbusProtoEventBusProperties"
        },
        "creatorEmail": {
          "description": "The creator's email address.",
          "type": "string"
        },
        "nextTeardownTask": {
          "$ref": "EnterpriseCrmEventbusProtoNextTeardownTask"
        }
      }
    },
    "EnterpriseCrmEventbusProtoEventBusProperties": {
      "id": "EnterpriseCrmEventbusProtoEventBusProperties",
      "description": "LINT.IfChange This message is used for storing key value pair properties for each Event / Task in the EventBus.",
      "type": "object",
      "properties": {
        "properties": {
          "description": "An unordered list of property entries.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoPropertyEntry"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoPropertyEntry": {
      "id": "EnterpriseCrmEventbusProtoPropertyEntry",
      "description": "Key-value pair of EventBus property.",
      "type": "object",
      "properties": {
        "key": {
          "description": "Key is used to retrieve the corresponding property value. This should be unique for a given fired event. The Tasks should be aware of the keys used while firing the events for them to be able to retrieve the values.",
          "type": "string"
        },
        "value": {
          "description": "Values for the defined keys. Each value can either be string, int, double or any proto message.",
          "$ref": "EnterpriseCrmEventbusProtoValueType"
        }
      }
    },
    "EnterpriseCrmEventbusProtoNextTeardownTask": {
      "id": "EnterpriseCrmEventbusProtoNextTeardownTask",
      "description": "The teardown task that is next in line to be executed. We support only sequential execution of teardown tasks (i.e. no branching).",
      "type": "object",
      "properties": {
        "name": {
          "description": "Required. Name of the next teardown task.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaErrorCatcherConfig": {
      "id": "GoogleCloudIntegrationsV1alphaErrorCatcherConfig",
      "description": "Configuration detail of a error catch task",
      "type": "object",
      "properties": {
        "errorCatcherId": {
          "description": "Required. An error catcher id is string representation for the error catcher config. Within a workflow, error_catcher_id uniquely identifies an error catcher config among all error catcher configs for the workflow",
          "type": "string"
        },
        "label": {
          "description": "Optional. The user created label for a particular error catcher. Optional.",
          "type": "string"
        },
        "errorCatcherNumber": {
          "description": "Required. A number to uniquely identify each error catcher config within the workflow on UI.",
          "type": "string"
        },
        "startErrorTasks": {
          "description": "Required. The set of start tasks that are to be executed for the error catch flow",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaNextTask"
          }
        },
        "description": {
          "description": "Optional. User-provided description intended to give more business context about the error catcher config.",
          "type": "string"
        },
        "position": {
          "description": "Optional. Informs the front-end application where to draw this error catcher config on the UI.",
          "$ref": "GoogleCloudIntegrationsV1alphaCoordinate"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaCloudLoggingDetails": {
      "id": "GoogleCloudIntegrationsV1alphaCloudLoggingDetails",
      "description": "Cloud Logging details for execution info",
      "type": "object",
      "properties": {
        "cloudLoggingSeverity": {
          "description": "Optional. Severity selected by the customer for the logs to be sent to Cloud Logging, for the integration version getting executed.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified",
            "If Severity selected is `INFO`, then all the Integration Execution States (`IN_PROCESS`, `ON_HOLD`, `SUCCEEDED`, `SUSPENDED`, `ERROR`, `CANCELLED`) will be sent to Cloud Logging.",
            "If Severity selected is `ERROR`, then only the following Integration Execution States (`ERROR`, `CANCELLED`) will be sent to Cloud Logging.",
            "If Severity selected is `WARNING`, then only the following Integration Execution States (`ERROR`, `CANCELLED`) will be sent to Cloud Logging."
          ],
          "enum": [
            "CLOUD_LOGGING_SEVERITY_UNSPECIFIED",
            "INFO",
            "ERROR",
            "WARNING"
          ]
        },
        "enableCloudLogging": {
          "description": "Optional. Status of whether Cloud Logging is enabled or not for the integration version getting executed.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaIntegrationConfigParameter": {
      "id": "GoogleCloudIntegrationsV1alphaIntegrationConfigParameter",
      "description": "Integration Config Parameter is defined in the integration config and are used to provide external configuration for integration. It provide information about data types of the expected parameters and provide any default values or value. They can also be used to add custom attributes.",
      "type": "object",
      "properties": {
        "parameter": {
          "description": "Optional. Integration Parameter to provide the default value, data type and attributes required for the Integration config variables.",
          "$ref": "GoogleCloudIntegrationsV1alphaIntegrationParameter"
        },
        "value": {
          "description": "Values for the defined keys. Each value can either be string, int, double or any proto message or a serialized object.",
          "$ref": "GoogleCloudIntegrationsV1alphaValueType"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest": {
      "id": "GoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest",
      "description": "Request for PublishIntegrationVersion.",
      "type": "object",
      "properties": {
        "configParameters": {
          "description": "Optional. Config parameters used during integration execution.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaPublishIntegrationVersionResponse": {
      "id": "GoogleCloudIntegrationsV1alphaPublishIntegrationVersionResponse",
      "description": "Response for PublishIntegrationVersion.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest": {
      "id": "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest",
      "description": "Request for UploadIntegrationVersion.",
      "type": "object",
      "properties": {
        "content": {
          "description": "The textproto of the IntegrationVersion.",
          "type": "string"
        },
        "fileFormat": {
          "description": "File format for upload request.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified file format",
            "JSON File Format",
            "YAML File Format"
          ],
          "enum": [
            "FILE_FORMAT_UNSPECIFIED",
            "JSON",
            "YAML"
          ]
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionResponse": {
      "id": "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionResponse",
      "description": "Response for UploadIntegrationVersion.",
      "type": "object",
      "properties": {
        "integrationVersion": {
          "description": "The uploaded integration.",
          "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaDownloadIntegrationVersionResponse": {
      "id": "GoogleCloudIntegrationsV1alphaDownloadIntegrationVersionResponse",
      "description": "Response for DownloadIntegrationVersion.",
      "type": "object",
      "properties": {
        "content": {
          "description": "String representation of the requested file.",
          "type": "string"
        },
        "files": {
          "description": "List containing String represendation for multiple file with type.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaSerializedFile"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaSerializedFile": {
      "id": "GoogleCloudIntegrationsV1alphaSerializedFile",
      "description": "To store string representation of Integration file.",
      "type": "object",
      "properties": {
        "content": {
          "description": "String representation of the file content.",
          "type": "string"
        },
        "file": {
          "description": "File information like Integration version, Integration Config variables etc.",
          "type": "string",
          "enumDescriptions": [
            "Default value.",
            "Integration file.",
            "Integration Config variables."
          ],
          "enum": [
            "INTEGRATION_FILE_UNSPECIFIED",
            "INTEGRATION",
            "INTEGRATION_CONFIG_VARIABLES"
          ]
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaDownloadJsonPackageResponse": {
      "id": "GoogleCloudIntegrationsV1alphaDownloadJsonPackageResponse",
      "description": "Response for DownloadJsonPackage.",
      "type": "object",
      "properties": {
        "files": {
          "description": "List containing JSON for multiple file with type information.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaFile"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaFile": {
      "id": "GoogleCloudIntegrationsV1alphaFile",
      "description": "To store Integration version related file i.e. Integration Version, Config variable etc.",
      "type": "object",
      "properties": {
        "integrationVersion": {
          "description": "Integration version",
          "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
        },
        "integrationConfig": {
          "description": "Integration version config file",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          }
        },
        "type": {
          "description": "File information like Integration version, Integration Config variables etc.",
          "type": "string",
          "enumDescriptions": [
            "Default value.",
            "Integration file.",
            "Integration Config variables."
          ],
          "enum": [
            "INTEGRATION_FILE_UNSPECIFIED",
            "INTEGRATION",
            "INTEGRATION_CONFIG_VARIABLES"
          ]
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaTakeoverEditLockRequest": {
      "id": "GoogleCloudIntegrationsV1alphaTakeoverEditLockRequest",
      "description": "Request for TakeoverEditLock.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudIntegrationsV1alphaTakeoverEditLockResponse": {
      "id": "GoogleCloudIntegrationsV1alphaTakeoverEditLockResponse",
      "description": "Response for TakeoverEditLock.",
      "type": "object",
      "properties": {
        "integrationVersion": {
          "description": "Version after the lock is acquired by the new user.",
          "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest": {
      "id": "GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest",
      "description": "Request for UnpublishIntegrationVersion.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudIntegrationsV1alphaExecuteIntegrationsRequest": {
      "id": "GoogleCloudIntegrationsV1alphaExecuteIntegrationsRequest",
      "description": "The request for executing an integration.",
      "type": "object",
      "properties": {
        "triggerId": {
          "description": "Required. Matched against all {@link TriggerConfig}s across all integrations. i.e. TriggerConfig.trigger_id.equals(trigger_id). The trigger_id is in the format of `api_trigger/TRIGGER_NAME`.",
          "type": "string"
        },
        "parameters": {
          "description": "Optional. Passed in as parameters to each integration execution. Redacted",
          "deprecated": true,
          "$ref": "EnterpriseCrmFrontendsEventbusProtoEventParameters"
        },
        "doNotPropagateError": {
          "description": "Optional. Flag to determine how to should propagate errors. If this flag is set to be true, it will not throw an exception. Instead, it will return a {@link ExecuteIntegrationsResponse} with an execution id and error messages as PostWithTriggerIdExecutionException in {@link EventParameters}. The flag is set to be false by default.",
          "type": "boolean"
        },
        "parameterEntries": {
          "description": "Optional. Parameters are a part of Event and can be used to communicate between different tasks that are part of the same integration execution.",
          "deprecated": true,
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmFrontendsEventbusProtoParameterEntry"
          }
        },
        "requestId": {
          "description": "Optional. This is used to de-dup incoming request: if the duplicate request was detected, the response from the previous execution is returned.",
          "type": "string"
        },
        "executionId": {
          "description": "Optional. The id of the ON_HOLD execution to be resumed.",
          "type": "string"
        },
        "inputParameters": {
          "description": "Optional. Input parameters used by integration execution.",
          "type": "object",
          "additionalProperties": {
            "$ref": "GoogleCloudIntegrationsV1alphaValueType"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse": {
      "id": "GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse",
      "description": "The response for executing an integration.",
      "type": "object",
      "properties": {
        "executionId": {
          "description": "The id of the execution corresponding to this run of integration.",
          "type": "string"
        },
        "eventParameters": {
          "description": "Details for the integration that were executed.",
          "deprecated": true,
          "$ref": "EnterpriseCrmFrontendsEventbusProtoEventParameters"
        },
        "executionFailed": {
          "description": "Is true if any execution in the integration failed. False otherwise.",
          "deprecated": true,
          "type": "boolean"
        },
        "parameterEntries": {
          "description": "Parameters are a part of Event and can be used to communicate between different tasks that are part of the same integration execution.",
          "deprecated": true,
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmFrontendsEventbusProtoParameterEntry"
          }
        },
        "outputParameters": {
          "description": "OUTPUT parameters in format of Map. Where Key is the name of the parameter. Note: Name of the system generated parameters are wrapped by backtick(`) to distinguish them from the user defined parameters.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          }
        },
        "parameters": {
          "description": "Optional. OUTPUT parameters from integration execution.",
          "type": "object",
          "additionalProperties": {
            "$ref": "GoogleCloudIntegrationsV1alphaValueType"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest": {
      "id": "GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest",
      "description": "The request for scheduling an integration.",
      "type": "object",
      "properties": {
        "triggerId": {
          "description": "Required. Matched against all {@link TriggerConfig}s across all integrations. i.e. TriggerConfig.trigger_id.equals(trigger_id)",
          "type": "string"
        },
        "parameters": {
          "description": "Passed in as parameters to each integration execution.",
          "deprecated": true,
          "$ref": "EnterpriseCrmEventbusProtoEventParameters"
        },
        "scheduleTime": {
          "description": "The time that the integration should be executed. If the time is less or equal to the current time, the integration is executed immediately.",
          "type": "string",
          "format": "google-datetime"
        },
        "requestId": {
          "description": "This is used to de-dup incoming request: if the duplicate request was detected, the response from the previous execution is returned.",
          "type": "string"
        },
        "parameterEntries": {
          "description": "Parameters are a part of Event and can be used to communicate between different tasks that are part of the same integration execution.",
          "deprecated": true,
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmFrontendsEventbusProtoParameterEntry"
          }
        },
        "inputParameters": {
          "description": "Optional. Input parameters used by integration execution.",
          "type": "object",
          "additionalProperties": {
            "$ref": "GoogleCloudIntegrationsV1alphaValueType"
          }
        },
        "userGeneratedExecutionId": {
          "description": "Optional. This is a unique id provided by the method caller. If provided this will be used as the execution_id when a new execution info is created. This is a string representation of a UUID. Must have no more than 36 characters and contain only alphanumeric characters and hyphens.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse": {
      "id": "GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse",
      "description": "The response for executing an integration.",
      "type": "object",
      "properties": {
        "executionInfoIds": {
          "description": "The execution info id for the executed integrations.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaExecuteEventResponse": {
      "id": "GoogleCloudIntegrationsV1alphaExecuteEventResponse",
      "description": "The response for executing an integration.",
      "type": "object",
      "properties": {
        "executionId": {
          "description": "The id of the execution corresponding to this run of integration.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaListExecutionsResponse": {
      "id": "GoogleCloudIntegrationsV1alphaListExecutionsResponse",
      "description": "Response for listing the integration execution data.",
      "type": "object",
      "properties": {
        "executionInfos": {
          "description": "Required. The detailed information of requested executions.",
          "deprecated": true,
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmFrontendsEventbusProtoEventExecutionInfo"
          }
        },
        "nextPageToken": {
          "description": "The token used to retrieve the next page results.",
          "type": "string"
        },
        "executions": {
          "description": "The detailed information of requested executions",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaExecution"
          }
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoEventExecutionInfo": {
      "id": "EnterpriseCrmFrontendsEventbusProtoEventExecutionInfo",
      "description": "Contains all the execution details for a workflow instance. Next available id: 27",
      "type": "object",
      "properties": {
        "eventExecutionInfoId": {
          "description": "Auto-generated primary key.",
          "type": "string"
        },
        "workflowName": {
          "description": "Name of the workflow.",
          "type": "string"
        },
        "workflowId": {
          "description": "Required. Pointer to the workflow it is executing.",
          "type": "string"
        },
        "clientId": {
          "description": "The event data user sends as request.",
          "type": "string"
        },
        "triggerId": {
          "description": "The trigger id of the workflow trigger config. If both trigger_id and client_id is present, the workflow is executed from the start tasks provided by the matching trigger config otherwise it is executed from the default start tasks.",
          "type": "string"
        },
        "requestParams": {
          "description": "Event parameters come in as part of the request.",
          "$ref": "EnterpriseCrmFrontendsEventbusProtoEventParameters"
        },
        "responseParams": {
          "description": "Event parameters come out as part of the response.",
          "$ref": "EnterpriseCrmFrontendsEventbusProtoEventParameters"
        },
        "postMethod": {
          "description": "The ways user posts this event.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNSPECIFIED",
            "POST",
            "POST_TO_QUEUE",
            "SCHEDULE",
            "POST_BY_EVENT_CONFIG_ID",
            "POST_WITH_EVENT_DETAILS"
          ]
        },
        "eventExecutionDetails": {
          "description": "The execution info about this event.",
          "$ref": "EnterpriseCrmFrontendsEventbusProtoEventExecutionDetails"
        },
        "createTime": {
          "description": "Auto-generated.",
          "type": "string",
          "format": "int64"
        },
        "lastModifiedTime": {
          "description": "Auto-generated.",
          "type": "string",
          "format": "int64"
        },
        "errors": {
          "description": "Errors, warnings, and informationals associated with the workflow/task. The order in which the errors were added by the workflow/task is maintained.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoErrorDetail"
          }
        },
        "errorCode": {
          "description": "Final error-code if event failed.",
          "$ref": "CrmlogErrorCode"
        },
        "tenant": {
          "description": "Tenant this event is created. Used to reschedule the event to correct tenant.",
          "type": "string"
        },
        "product": {
          "description": "Which Google product the execution_info belongs to. If not set, the execution_info belongs to Integration Platform by default.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNSPECIFIED_PRODUCT",
            "IP",
            "APIGEE",
            "SECURITY"
          ]
        },
        "snapshotNumber": {
          "description": "Workflow snapshot number.",
          "type": "string",
          "format": "int64"
        },
        "requestId": {
          "description": "Optional. This is used to de-dup incoming request.",
          "type": "string"
        },
        "executionTraceInfo": {
          "description": "Execution trace info to aggregate parent-child executions.",
          "$ref": "EnterpriseCrmEventbusProtoExecutionTraceInfo"
        },
        "workflowRetryBackoffIntervalSeconds": {
          "description": "Time interval in seconds to schedule retry of workflow in manifold when workflow is already running",
          "type": "string",
          "format": "int64"
        },
        "replayInfo": {
          "description": "Replay info for the execution",
          "$ref": "EnterpriseCrmFrontendsEventbusProtoEventExecutionInfoReplayInfo"
        },
        "cloudLoggingDetails": {
          "description": "Cloud Logging details for execution info",
          "$ref": "EnterpriseCrmEventbusProtoCloudLoggingDetails"
        },
        "integrationVersionUserLabel": {
          "description": "User-defined label that annotates the executed integration version.",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoEventExecutionDetails": {
      "id": "EnterpriseCrmFrontendsEventbusProtoEventExecutionDetails",
      "description": "Contains the details of the execution info of this event: this includes the tasks execution details plus the event execution statistics. Next available id: 12",
      "type": "object",
      "properties": {
        "eventExecutionState": {
          "description": "The execution state of this event.",
          "type": "string",
          "enumDescriptions": [
            "",
            "Event is received and waiting for the execution. This happens when firing the event via \"postToQueue\" or \"schedule\".",
            "Event is under processing.",
            "Event execution successfully finished. There's no more change after this state.",
            "Event execution failed. There's no more change after this state.",
            "Event execution canceled by user. There's no more change after this state.",
            "Event execution failed and waiting for retry.",
            "Event execution suspended and waiting for manual intervention."
          ],
          "enum": [
            "UNSPECIFIED",
            "ON_HOLD",
            "IN_PROCESS",
            "SUCCEEDED",
            "FAILED",
            "CANCELED",
            "RETRY_ON_HOLD",
            "SUSPENDED"
          ]
        },
        "eventExecutionSnapshot": {
          "description": "After snapshot migration, this field will no longer be populated, but old execution snapshots will still be accessible.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmFrontendsEventbusProtoEventExecutionSnapshot"
          }
        },
        "networkAddress": {
          "description": "The network address (aka. bns address) that indicates where the event executor is running.",
          "type": "string"
        },
        "logFilePath": {
          "description": "The log file path (aka. cns address) for this event.",
          "type": "string"
        },
        "eventAttemptStats": {
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoEventExecutionDetailsEventAttemptStats"
          }
        },
        "ryeLockUnheldCount": {
          "description": "Used internally and shouldn't be exposed to users. A counter for the cron job to record how many times this event is in in_process state but don't have a lock consecutively/",
          "type": "integer",
          "format": "int32"
        },
        "nextExecutionTime": {
          "description": "Next scheduled execution time in case the execution status was RETRY_ON_HOLD.",
          "type": "string",
          "format": "int64"
        },
        "eventRetriesFromBeginningCount": {
          "description": "Indicates the number of times the execution has restarted from the beginning.",
          "type": "integer",
          "format": "int32"
        },
        "eventExecutionSnapshotsSize": {
          "description": "Total size of all event_execution_snapshots for an execution",
          "type": "string",
          "format": "int64"
        },
        "cancelReason": {
          "description": "If the execution is manually canceled, this field will contain the reason for cancellation.",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoEventExecutionSnapshot": {
      "id": "EnterpriseCrmFrontendsEventbusProtoEventExecutionSnapshot",
      "type": "object",
      "properties": {
        "eventExecutionSnapshotId": {
          "description": "Auto-generated. Used as primary key for EventExecutionSnapshots table.",
          "type": "string"
        },
        "eventExecutionInfoId": {
          "description": "Points to the event execution info this snapshot belongs to.",
          "type": "string"
        },
        "checkpointTaskNumber": {
          "description": "Indicates \"right after which checkpoint task's execution\" this snapshot is taken.",
          "type": "string"
        },
        "eventExecutionSnapshotMetadata": {
          "$ref": "EnterpriseCrmEventbusProtoEventExecutionSnapshotEventExecutionSnapshotMetadata"
        },
        "taskName": {
          "description": "The task name associated with this snapshot. Could be empty.",
          "deprecated": true,
          "type": "string"
        },
        "snapshotTime": {
          "description": "Indicates when this snapshot is taken.",
          "type": "string",
          "format": "int64"
        },
        "eventParams": {
          "description": "The parameters in Event object.",
          "$ref": "EnterpriseCrmFrontendsEventbusProtoEventParameters"
        },
        "diffParams": {
          "description": "The parameters in Event object that differs from last snapshot.",
          "$ref": "EnterpriseCrmFrontendsEventbusProtoEventParameters"
        },
        "taskExecutionDetails": {
          "description": "All of the task execution details at the given point of time.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoTaskExecutionDetails"
          }
        },
        "conditionResults": {
          "description": "All of the computed conditions that been calculated.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoConditionResult"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoEventExecutionSnapshotEventExecutionSnapshotMetadata": {
      "id": "EnterpriseCrmEventbusProtoEventExecutionSnapshotEventExecutionSnapshotMetadata",
      "type": "object",
      "properties": {
        "taskNumber": {
          "description": "The task number associated with this snapshot. Could be empty.",
          "type": "string"
        },
        "taskName": {
          "description": "the task name associated with this snapshot. Could be empty.",
          "type": "string"
        },
        "eventAttemptNum": {
          "description": "the event attempt number this snapshot belongs to.",
          "type": "integer",
          "format": "int32"
        },
        "taskAttemptNum": {
          "description": "the task attempt number this snapshot belongs to. Could be empty.",
          "type": "integer",
          "format": "int32"
        },
        "taskLabel": {
          "description": "the task label associated with this snapshot. Could be empty.",
          "type": "string"
        },
        "ancestorTaskNumbers": {
          "description": "Ancestor task number for the task(it will only be non-empty if the task is under 'private workflow')",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ancestorIterationNumbers": {
          "description": "Ancestor iteration number for the task(it will only be non-empty if the task is under 'private workflow')",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "integrationName": {
          "description": "The direct integration which the event execution snapshots belongs to",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusProtoTaskExecutionDetails": {
      "id": "EnterpriseCrmEventbusProtoTaskExecutionDetails",
      "description": "Contains the details of the execution of this task. Next available id: 11",
      "type": "object",
      "properties": {
        "taskNumber": {
          "description": "Pointer to the task config it used for execution.",
          "type": "string"
        },
        "taskExecutionState": {
          "type": "string",
          "enumDescriptions": [
            "",
            "Task is waiting for its precondition tasks to finish to start the execution.",
            "Task is under processing.",
            "Task execution successfully finished. There's no more change after this state.",
            "Task execution failed. There's no more change after this state.",
            "Task execution failed and cause the whole event execution to fail immediately. There's no more change after this state.",
            "Task execution failed and waiting for retry.",
            "Task execution skipped. This happens when its precondition wasn't met, or the event execution been canceled before reach to the task. There's no more changes after this state.",
            "Task execution canceled when in progress. This happens when event execution been canceled or any other task fall in fatal state.",
            "Task is waiting for its dependency tasks' rollback to finish to start its rollback.",
            "Task is rolling back.",
            "Task is rolled back. This is the state we will set regardless of rollback succeeding or failing.",
            "Task is a SuspensionTask which has executed once, creating a pending suspension."
          ],
          "enum": [
            "UNSPECIFIED",
            "PENDING_EXECUTION",
            "IN_PROCESS",
            "SUCCEED",
            "FAILED",
            "FATAL",
            "RETRY_ON_HOLD",
            "SKIPPED",
            "CANCELED",
            "PENDING_ROLLBACK",
            "ROLLBACK_IN_PROCESS",
            "ROLLEDBACK",
            "SUSPENDED"
          ]
        },
        "taskAttemptStats": {
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoTaskExecutionDetailsTaskAttemptStats"
          }
        },
        "skippedOnFailure": {
          "description": "Indicates whether the task was skipped on failure. Only relevant if the task is in SKIPPED state.",
          "type": "boolean"
        }
      }
    },
    "EnterpriseCrmEventbusProtoTaskExecutionDetailsTaskAttemptStats": {
      "id": "EnterpriseCrmEventbusProtoTaskExecutionDetailsTaskAttemptStats",
      "type": "object",
      "properties": {
        "startTime": {
          "description": "The start time of the task execution for current attempt. This could be in the future if it's been scheduled.",
          "type": "string",
          "format": "int64"
        },
        "endTime": {
          "description": "The end time of the task execution for current attempt.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "EnterpriseCrmEventbusProtoConditionResult": {
      "id": "EnterpriseCrmEventbusProtoConditionResult",
      "description": "Contains the combined condition calculation results.",
      "type": "object",
      "properties": {
        "currentTaskNumber": {
          "description": "the current task number.",
          "type": "string"
        },
        "nextTaskNumber": {
          "description": "the next task number.",
          "type": "string"
        },
        "result": {
          "description": "the result comes out after evaluate the combined condition. True if there's no combined condition specified.",
          "type": "boolean"
        }
      }
    },
    "EnterpriseCrmEventbusProtoEventExecutionDetailsEventAttemptStats": {
      "id": "EnterpriseCrmEventbusProtoEventExecutionDetailsEventAttemptStats",
      "type": "object",
      "properties": {
        "startTime": {
          "description": "The start time of the event execution for current attempt. This could be in the future if it's been scheduled.",
          "type": "string",
          "format": "int64"
        },
        "endTime": {
          "description": "The end time of the event execution for current attempt.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "EnterpriseCrmEventbusProtoErrorDetail": {
      "id": "EnterpriseCrmEventbusProtoErrorDetail",
      "description": "An error, warning, or information message associated with a workflow.",
      "type": "object",
      "properties": {
        "errorCode": {
          "description": "The associated error-code, which can be a common or internal code.",
          "$ref": "CrmlogErrorCode"
        },
        "errorMessage": {
          "description": "The full text of the error message, including any parameters that were thrown along with the exception.",
          "type": "string"
        },
        "severity": {
          "description": "The severity of the error: ERROR|WARN|INFO.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "SEVERITY_UNSPECIFIED",
            "ERROR",
            "WARN",
            "INFO"
          ]
        },
        "taskNumber": {
          "description": "The task try-number, in which, the error occurred. If zero, the error happened at the event level.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "CrmlogErrorCode": {
      "id": "CrmlogErrorCode",
      "description": "Registered ids for errors, as \"oneof\" enums. Each task or logical grouping of tasks may share the same enum.",
      "type": "object",
      "properties": {
        "commonErrorCode": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "SYNC_EVENTBUS_EXECUTION_TIMEOUT is for eventbus internal use only.",
            "ASYNC_EVENTBUS_EXECUTION_TIMEOUT is for eventbus internal use only. This error will be counted as server availability error.",
            "",
            "",
            "",
            "",
            ""
          ],
          "enumDeprecated": [
            false,
            true,
            false,
            false,
            true,
            true,
            true,
            false,
            false,
            true,
            false,
            false,
            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,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false
          ],
          "enum": [
            "COMMON_ERROR_CODE_UNSPECIFIED",
            "INVALID_CREDENTIALS",
            "REQUIRED_FIELDS_MISSING",
            "INVALID_FIELDS",
            "BACKEND",
            "GENERAL",
            "INTERNAL",
            "IO_ERROR",
            "NOT_FOUND",
            "EVENT_BUS",
            "ALREADY_EXISTS",
            "CONCORD",
            "CONVERSION",
            "FLUME",
            "PERMISSION",
            "SALES_FORCE",
            "SPANNER",
            "UNIMPLEMENTED",
            "RELTIO",
            "WORKFLOW_NOT_FOUND",
            "QUOTA_THROTTLED",
            "QUOTA_ENQUEUED",
            "INVALID_QUOTA_CONFIGURATION",
            "TASK_NOT_FOUND",
            "EXECUTION_TIMEOUT",
            "INVALID_EVENT_EXECUTION_STATE",
            "INVALID_ATTRIBUTE",
            "MISSING_ATTRIBUTE",
            "CLIENT_UNAUTHORIZED_FOR_WORKFLOW",
            "INVALID_PARAMETER",
            "MISSING_PARAMETER",
            "UNAUTHROIZED_WORKFLOW_EDITOR_ACTION",
            "FAILED_PRECONDITION",
            "INVALID_CLIENT",
            "MISSING_CLIENT",
            "INVALID_WORKFLOW",
            "MISSING_QUOTA_CONFIGURATION",
            "UNHANDLED_TASK_ERROR",
            "SCRIPT_TASK_RUNTIME_ERROR",
            "RPC",
            "INVALID_PROTO",
            "UNHANDLED_EVENTBUS_ERROR",
            "INVALID_TASK_STATE",
            "TYPED_TASK_INVALID_INPUT_OPERATION",
            "TYPED_TASK_INVALID_OUTPUT_OPERATION",
            "VALIDATION_ERROR",
            "RESUME_ERROR",
            "APPS_SCRIPT_EXECUTION_ERROR",
            "INVALID_VECTOR_USER",
            "INFORMATICA",
            "RETRYABLE_TASK_ERROR",
            "INVALID_TENANT",
            "WRONG_TENANT",
            "INFORMATICA_BACKEND_UNAVAILABLE",
            "RPC_PERMISSION_DENIED",
            "SYNC_EVENTBUS_EXECUTION_TIMEOUT",
            "ASYNC_EVENTBUS_EXECUTION_TIMEOUT",
            "NOT_SUPPORTED_DATA_TYPE",
            "UNSANITIZED_USER_INPUT",
            "TRANSFORM_EXPRESSION_EVALUATION_ERROR",
            "HTTP_EXCEPTION",
            "EXECUTION_CANCELLED"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoExecutionTraceInfo": {
      "id": "EnterpriseCrmEventbusProtoExecutionTraceInfo",
      "description": "Message that helps aggregate all sub-executions triggered by one execution and keeps track of child-parent relationships.",
      "type": "object",
      "properties": {
        "traceId": {
          "description": "Used to aggregate ExecutionTraceInfo.",
          "type": "string"
        },
        "parentEventExecutionInfoId": {
          "description": "Parent event execution info id that triggers the current execution through SubWorkflowExecutorTask.",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoEventExecutionInfoReplayInfo": {
      "id": "EnterpriseCrmFrontendsEventbusProtoEventExecutionInfoReplayInfo",
      "description": "Contains the details of the execution info: this includes the replay reason and replay tree connecting executions in a parent-child relationship",
      "type": "object",
      "properties": {
        "originalExecutionInfoId": {
          "description": "If this execution is a replay of another execution, then this field contains the original execution id.",
          "type": "string"
        },
        "replayedExecutionInfoIds": {
          "description": "If this execution has been replayed, then this field contains the execution ids of the replayed executions.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "replayReason": {
          "description": "reason for replay",
          "type": "string"
        },
        "replayMode": {
          "description": "Replay mode for the execution",
          "type": "string",
          "enumDescriptions": [
            "",
            "Replay the original execution from the beginning.",
            "Replay the execution from the first failed task."
          ],
          "enum": [
            "REPLAY_MODE_UNSPECIFIED",
            "REPLAY_MODE_FROM_BEGINNING",
            "REPLAY_MODE_POINT_OF_FAILURE"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoCloudLoggingDetails": {
      "id": "EnterpriseCrmEventbusProtoCloudLoggingDetails",
      "description": "Cloud Logging details, selected by the user for the integration version (workflow). This message field will be also used in ExecutionInfo, to indicate the CloudLoggingDetails config at the time of workflow (integration version) execution, since this field value can be changed for an unpublished workflow.",
      "type": "object",
      "properties": {
        "enableCloudLogging": {
          "description": "Status of whether Cloud Logging is enabled or not for the integration version getting executed.",
          "type": "boolean"
        },
        "cloudLoggingSeverity": {
          "description": "Severity selected by the customer for the logs to be sent to Cloud Logging, for the integration version getting executed.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified",
            "If Severity selected is `INFO`, then all the Integration Execution States (`IN_PROCESS`, `ON_HOLD`, `SUCCEEDED`, `SUSPENDED`, `ERROR`, `CANCELLED`) will be sent to Cloud Logging.",
            "If Severity selected is `ERROR`, then only the following Integration Execution States (`ERROR`, `CANCELLED`) will be sent to Cloud Logging.",
            "If Severity selected is `WARNING`, then only the following Integration Execution States (`ERROR`, `CANCELLED`) will be sent to Cloud Logging."
          ],
          "enum": [
            "CLOUD_LOGGING_SEVERITY_UNSPECIFIED",
            "INFO",
            "ERROR",
            "WARNING"
          ]
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaExecution": {
      "id": "GoogleCloudIntegrationsV1alphaExecution",
      "description": "The Execution resource contains detailed information of an individual integration execution.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Auto-generated primary key.",
          "type": "string"
        },
        "triggerId": {
          "description": "The trigger id of the integration trigger config. If both trigger_id and client_id is present, the integration is executed from the start tasks provided by the matching trigger config otherwise it is executed from the default start tasks.",
          "type": "string"
        },
        "requestParams": {
          "description": "Event parameters come in as part of the request.",
          "deprecated": true,
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmFrontendsEventbusProtoParameterEntry"
          }
        },
        "responseParams": {
          "deprecated": true,
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmFrontendsEventbusProtoParameterEntry"
          }
        },
        "executionMethod": {
          "description": "The ways user posts this event.",
          "type": "string",
          "enumDescriptions": [
            "Default value.",
            "Sync post.",
            "Async post.",
            "Async post with schedule time."
          ],
          "enum": [
            "EXECUTION_METHOD_UNSPECIFIED",
            "POST",
            "POST_TO_QUEUE",
            "SCHEDULE"
          ]
        },
        "eventExecutionDetails": {
          "description": "The execution info about this event.",
          "deprecated": true,
          "$ref": "EnterpriseCrmEventbusProtoEventExecutionDetails"
        },
        "createTime": {
          "description": "Output only. Created time of the execution.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Last modified time of the execution.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "directSubExecutions": {
          "description": "Direct sub executions of the following Execution.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaExecution"
          }
        },
        "executionDetails": {
          "description": "Detailed info of this execution.",
          "$ref": "GoogleCloudIntegrationsV1alphaExecutionDetails"
        },
        "requestParameters": {
          "description": "Event parameters come in as part of the request.",
          "type": "object",
          "additionalProperties": {
            "$ref": "GoogleCloudIntegrationsV1alphaValueType"
          }
        },
        "responseParameters": {
          "description": "Event parameters returned as part of the response. In the case of error, the `ErrorInfo` field is returned in the following format: { \"ErrorInfo\": { \"message\": String, \"code\": Number } } ",
          "type": "object",
          "additionalProperties": {
            "$ref": "GoogleCloudIntegrationsV1alphaValueType"
          }
        },
        "cloudLoggingDetails": {
          "description": "Cloud Logging details for the integration version",
          "$ref": "GoogleCloudIntegrationsV1alphaCloudLoggingDetails"
        },
        "integrationVersionState": {
          "description": "Output only. State of the integration version",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Default.",
            "Draft.",
            "Active.",
            "Archived.",
            "Snapshot."
          ],
          "enum": [
            "INTEGRATION_STATE_UNSPECIFIED",
            "DRAFT",
            "ACTIVE",
            "ARCHIVED",
            "SNAPSHOT"
          ]
        },
        "snapshotNumber": {
          "description": "Output only. An increasing sequence that is set when a new snapshot is created",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "replayInfo": {
          "description": "Output only. Replay info for the execution",
          "readOnly": true,
          "$ref": "GoogleCloudIntegrationsV1alphaExecutionReplayInfo"
        },
        "cloudKmsKey": {
          "description": "Optional. Cloud KMS resource name for the CMEK encryption key.",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusProtoEventExecutionDetails": {
      "id": "EnterpriseCrmEventbusProtoEventExecutionDetails",
      "description": "Contains the details of the execution info of this event: this includes the tasks execution details plus the event execution statistics. Next available id: 12",
      "type": "object",
      "properties": {
        "eventExecutionState": {
          "type": "string",
          "enumDescriptions": [
            "",
            "Event is received and waiting for the execution. This happens when firing the event via \"postToQueue\" or \"schedule\".",
            "Event is under processing.",
            "Event execution successfully finished. There's no more change after this state.",
            "Event execution failed. There's no more change after this state.",
            "Event execution canceled by user. There's no more change after this state.",
            "Event execution failed and waiting for retry.",
            "Event execution suspended and waiting for manual intervention."
          ],
          "enum": [
            "UNSPECIFIED",
            "ON_HOLD",
            "IN_PROCESS",
            "SUCCEEDED",
            "FAILED",
            "CANCELED",
            "RETRY_ON_HOLD",
            "SUSPENDED"
          ]
        },
        "eventExecutionSnapshot": {
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoEventExecutionSnapshot"
          }
        },
        "networkAddress": {
          "description": "The network address (aka. bns address) that indicates where the event executor is running.",
          "type": "string"
        },
        "logFilePath": {
          "description": "The log file path (aka. cns address) for this event.",
          "type": "string"
        },
        "eventAttemptStats": {
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoEventExecutionDetailsEventAttemptStats"
          }
        },
        "ryeLockUnheldCount": {
          "description": "Used internally and shouldn't be exposed to users. A counter for the cron job to record how many times this event is in in_process state but don't have a lock consecutively/",
          "type": "integer",
          "format": "int32"
        },
        "nextExecutionTime": {
          "description": "Next scheduled execution time in case the execution status was RETRY_ON_HOLD.",
          "type": "string",
          "format": "int64"
        },
        "eventRetriesFromBeginningCount": {
          "description": "Indicates the number of times the execution has restarted from the beginning.",
          "type": "integer",
          "format": "int32"
        },
        "eventExecutionSnapshotsSize": {
          "description": "Total size of all event_execution_snapshots for an execution",
          "type": "string",
          "format": "int64"
        },
        "cancelReason": {
          "description": "If the execution is manually canceled, this field will contain the reason for cancellation.",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusProtoEventExecutionSnapshot": {
      "id": "EnterpriseCrmEventbusProtoEventExecutionSnapshot",
      "description": "Contains the snapshot of the event execution for a given checkpoint. Next available id: 15",
      "type": "object",
      "properties": {
        "eventExecutionSnapshotId": {
          "description": "Auto-generated. Used as primary key for EventExecutionSnapshots table.",
          "type": "string"
        },
        "eventExecutionInfoId": {
          "description": "Points to the event execution info this snapshot belongs to.",
          "type": "string"
        },
        "checkpointTaskNumber": {
          "description": "Indicates \"right after which checkpoint task's execution\" this snapshot is taken.",
          "type": "string"
        },
        "eventExecutionSnapshotMetadata": {
          "$ref": "EnterpriseCrmEventbusProtoEventExecutionSnapshotEventExecutionSnapshotMetadata"
        },
        "taskName": {
          "description": "The task name associated with this snapshot. Could be empty.",
          "deprecated": true,
          "type": "string"
        },
        "snapshotTime": {
          "description": "Indicates when this snapshot is taken.",
          "type": "string",
          "format": "int64"
        },
        "eventParams": {
          "description": "The parameters in Event object.",
          "$ref": "EnterpriseCrmEventbusProtoEventParameters"
        },
        "diffParams": {
          "description": "The parameters in Event object that differs from last snapshot.",
          "$ref": "EnterpriseCrmEventbusProtoEventParameters"
        },
        "taskExecutionDetails": {
          "description": "All of the task execution details at the given point of time.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoTaskExecutionDetails"
          }
        },
        "conditionResults": {
          "description": "All of the computed conditions that been calculated.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoConditionResult"
          }
        },
        "exceedMaxSize": {
          "description": "indicate whether snapshot exceeded maximum size before clean up",
          "type": "boolean"
        },
        "clientId": {
          "description": "Client that the execution snapshot is associated to.",
          "type": "string"
        },
        "workflowName": {
          "description": "Name of the workflow this event execution snapshot belongs to.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaExecutionDetails": {
      "id": "GoogleCloudIntegrationsV1alphaExecutionDetails",
      "description": "Contains the details of the execution info: this includes the tasks execution details plus the event execution statistics.",
      "type": "object",
      "properties": {
        "state": {
          "description": "Status of the execution.",
          "type": "string",
          "enumDescriptions": [
            "Default.",
            "Execution is scheduled and awaiting to be triggered.",
            "Execution is processing.",
            "Execution successfully finished. There's no more change after this state.",
            "Execution failed. There's no more change after this state.",
            "Execution canceled by user. There's no more change after this state.",
            "Execution failed and waiting for retry.",
            "Execution suspended and waiting for manual intervention."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "PENDING",
            "PROCESSING",
            "SUCCEEDED",
            "FAILED",
            "CANCELLED",
            "RETRY_ON_HOLD",
            "SUSPENDED"
          ]
        },
        "executionSnapshots": {
          "description": "List of snapshots taken during the execution.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaExecutionSnapshot"
          }
        },
        "attemptStats": {
          "description": "List of Start and end time of the execution attempts.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaAttemptStats"
          }
        },
        "eventExecutionSnapshotsSize": {
          "description": "Total size of all event_execution_snapshots for an execution",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaExecutionSnapshot": {
      "id": "GoogleCloudIntegrationsV1alphaExecutionSnapshot",
      "description": "Contains the snapshot of the execution for a given checkpoint.",
      "type": "object",
      "properties": {
        "checkpointTaskNumber": {
          "description": "Indicates \"after which checkpoint task's execution\" this snapshot is taken.",
          "type": "string"
        },
        "executionSnapshotMetadata": {
          "description": "Metadata of the execution snapshot.",
          "$ref": "GoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata"
        },
        "params": {
          "description": "Parameters used during the execution.",
          "type": "object",
          "additionalProperties": {
            "$ref": "GoogleCloudIntegrationsV1alphaValueType"
          }
        },
        "taskExecutionDetails": {
          "description": "All of the task execution details at the given point of time.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaTaskExecutionDetails"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata": {
      "id": "GoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata",
      "description": "Metadata of the execution snapshot.",
      "type": "object",
      "properties": {
        "taskNumber": {
          "description": "The task number associated with this snapshot.",
          "type": "string"
        },
        "task": {
          "description": "the task name associated with this snapshot.",
          "type": "string"
        },
        "executionAttempt": {
          "description": "the execution attempt number this snapshot belongs to.",
          "type": "integer",
          "format": "int32"
        },
        "taskAttempt": {
          "description": "the task attempt number this snapshot belongs to.",
          "type": "integer",
          "format": "int32"
        },
        "taskLabel": {
          "description": "the task label associated with this snapshot. Could be empty.",
          "type": "string"
        },
        "ancestorTaskNumbers": {
          "description": "Ancestor task number for the task(it will only be non-empty if the task is under 'private workflow')",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ancestorIterationNumbers": {
          "description": "Ancestor iteration number for the task(it will only be non-empty if the task is under 'private workflow')",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "integrationName": {
          "description": "The direct integration which the event execution snapshots belongs to",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaTaskExecutionDetails": {
      "id": "GoogleCloudIntegrationsV1alphaTaskExecutionDetails",
      "description": "Contains the details of the execution of this task.",
      "type": "object",
      "properties": {
        "taskNumber": {
          "description": "Pointer to the task config it used for execution.",
          "type": "string"
        },
        "taskExecutionState": {
          "description": "The execution state of this task.",
          "type": "string",
          "enumDescriptions": [
            "Default value.",
            "Task is waiting for its precondition tasks to finish to start the execution.",
            "Task is under processing.",
            "Task execution successfully finished. There's no more change after this state.",
            "Task execution failed. There's no more change after this state.",
            "Task execution failed and cause the whole integration execution to fail immediately. There's no more change after this state.",
            "Task execution failed and waiting for retry.",
            "Task execution skipped. This happens when its precondition wasn't met, or the integration execution been canceled before reach to the task. There's no more changes after this state.",
            "Task execution canceled when in progress. This happens when integration execution been canceled or any other task fall in fatal state.",
            "Task is waiting for its dependency tasks' rollback to finish to start its rollback.",
            "Task is rolling back.",
            "Task is rolled back. This is the state we will set regardless of rollback succeeding or failing.",
            "Task is a SuspensionTask which has executed once, creating a pending suspension."
          ],
          "enum": [
            "TASK_EXECUTION_STATE_UNSPECIFIED",
            "PENDING_EXECUTION",
            "IN_PROCESS",
            "SUCCEED",
            "FAILED",
            "FATAL",
            "RETRY_ON_HOLD",
            "SKIPPED",
            "CANCELLED",
            "PENDING_ROLLBACK",
            "ROLLBACK_IN_PROCESS",
            "ROLLEDBACK",
            "SUSPENDED"
          ]
        },
        "taskAttemptStats": {
          "description": "Status for the current task execution attempt.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaAttemptStats"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaAttemptStats": {
      "id": "GoogleCloudIntegrationsV1alphaAttemptStats",
      "description": "Status for the execution attempt.",
      "type": "object",
      "properties": {
        "startTime": {
          "description": "The start time of the integration execution for current attempt. This could be in the future if it's been scheduled.",
          "type": "string",
          "format": "google-datetime"
        },
        "endTime": {
          "description": "The end time of the integration execution for current attempt.",
          "type": "string",
          "format": "google-datetime"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaExecutionReplayInfo": {
      "id": "GoogleCloudIntegrationsV1alphaExecutionReplayInfo",
      "description": "Contains the details of the execution info: this includes the replay reason and replay tree connecting executions in a parent-child relationship",
      "type": "object",
      "properties": {
        "originalExecutionInfoId": {
          "description": "If this execution is a replay of another execution, then this field contains the original execution id.",
          "type": "string"
        },
        "replayedExecutionInfoIds": {
          "description": "If this execution has been replayed, then this field contains the execution ids of the replayed executions.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "replayReason": {
          "description": "reason for replay",
          "type": "string"
        },
        "replayMode": {
          "description": "Replay mode for the execution",
          "type": "string",
          "enumDescriptions": [
            "Default value.",
            "Replay the original execution from the beginning.",
            "Replay the execution from the first failed task."
          ],
          "enum": [
            "REPLAY_MODE_UNSPECIFIED",
            "REPLAY_MODE_FROM_BEGINNING",
            "REPLAY_MODE_POINT_OF_FAILURE"
          ]
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaCancelExecutionRequest": {
      "id": "GoogleCloudIntegrationsV1alphaCancelExecutionRequest",
      "description": "Request for cancelling an execution.",
      "type": "object",
      "properties": {
        "cancelReason": {
          "description": "Required. Reason for cancelling the execution. This is provided by the client requesting the cancellation, and is not used by the Platform.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaCancelExecutionResponse": {
      "id": "GoogleCloudIntegrationsV1alphaCancelExecutionResponse",
      "description": "Response for cancelling an execution.",
      "type": "object",
      "properties": {
        "isCanceled": {
          "description": "True if cancellation performed successfully.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaTestIntegrationsRequest": {
      "id": "GoogleCloudIntegrationsV1alphaTestIntegrationsRequest",
      "description": "The request for testing an integration.",
      "type": "object",
      "properties": {
        "integrationVersion": {
          "description": "Required. integration config to execute the workflow",
          "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
        },
        "parameters": {
          "description": "Optional. Passed in as parameters to each integration execution.",
          "deprecated": true,
          "$ref": "EnterpriseCrmFrontendsEventbusProtoEventParameters"
        },
        "triggerId": {
          "description": "Required. The trigger id of the integration trigger config. If both trigger_id and client_id is present, the integration is executed from the start tasks provided by the matching trigger config otherwise it is executed from the default start tasks.",
          "type": "string"
        },
        "clientId": {
          "description": "Required. This is used to identify the client on whose behalf the event will be executed.",
          "type": "string"
        },
        "testMode": {
          "description": "Optional. Can be specified in the event request, otherwise false (default). If true, enables tasks with condition \"test_mode = true\". If false, disables tasks with condition \"test_mode = true\" if global test mode (set by platform) is also false {@link EventBusConfig}.",
          "type": "boolean"
        },
        "deadlineSecondsTime": {
          "description": "Optional. custom deadline of the rpc",
          "type": "string",
          "format": "google-datetime"
        },
        "inputParameters": {
          "description": "Optional. Input parameters used during integration execution.",
          "type": "object",
          "additionalProperties": {
            "$ref": "GoogleCloudIntegrationsV1alphaValueType"
          }
        },
        "configParameters": {
          "description": "Optional. Config parameters used during integration execution.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaTestIntegrationsResponse": {
      "id": "GoogleCloudIntegrationsV1alphaTestIntegrationsResponse",
      "description": "The response for testing an integration.",
      "type": "object",
      "properties": {
        "executionId": {
          "description": "The id of the execution corresponding to this run of integration.",
          "type": "string"
        },
        "eventParameters": {
          "description": "Details for the integration that were executed.",
          "deprecated": true,
          "$ref": "EnterpriseCrmFrontendsEventbusProtoEventParameters"
        },
        "executionFailed": {
          "description": "Is true if any execution in the integration failed. False otherwise.",
          "type": "boolean"
        },
        "parameterEntries": {
          "description": "Parameters are a part of Event and can be used to communicate between different tasks that are part of the same integration execution.",
          "deprecated": true,
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmFrontendsEventbusProtoParameterEntry"
          }
        },
        "parameters": {
          "description": "Optional. Parameters are a part of Event and can be used to communicate between different tasks that are part of the same integration execution.",
          "type": "object",
          "additionalProperties": {
            "$ref": "GoogleCloudIntegrationsV1alphaValueType"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaDownloadExecutionResponse": {
      "id": "GoogleCloudIntegrationsV1alphaDownloadExecutionResponse",
      "description": "Response for downloading an execution.",
      "type": "object",
      "properties": {
        "content": {
          "description": "The content of downloaded execution.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaReplayExecutionRequest": {
      "id": "GoogleCloudIntegrationsV1alphaReplayExecutionRequest",
      "description": "Request for replaying an execution.",
      "type": "object",
      "properties": {
        "replayReason": {
          "description": "Required. The user provided reason for replaying the execution.",
          "type": "string"
        },
        "updateMask": {
          "description": "Optional. The list of parameters to be updated. - If the `update_mask` is not specified, all the parameters from original execution will be ignored and only the `modified_parameters` will be used. - It is an error to include a parameter in `update_mask` but not in `modified_parameters`. - Updating nested fields in a JSON parameter is not supported, please provide the complete JSON in the `modified_parameters`.",
          "type": "string",
          "format": "google-fieldmask"
        },
        "modifiedParameters": {
          "description": "Optional. The modified input parameters for replay. - Provide values for all the fields in the 'update_mask'. Any field not present in the 'update_mask' will be ignored and its value will be taken from the original execution. - If the 'update_mask' is not specified, all the parameters from original execution will be ignored and only the `modified_parameters` will be used.",
          "type": "object",
          "additionalProperties": {
            "$ref": "GoogleCloudIntegrationsV1alphaValueType"
          }
        },
        "replayMode": {
          "description": "Optional. The mode of the replay.",
          "type": "string",
          "enumDescriptions": [
            "Default value.",
            "Replay the original execution.",
            "Replay the execution with the modified parameters."
          ],
          "enum": [
            "REPLAY_MODE_UNSPECIFIED",
            "REPLAY_MODE_FROM_BEGINNING",
            "REPLAY_MODE_POINT_OF_FAILURE"
          ]
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaReplayExecutionResponse": {
      "id": "GoogleCloudIntegrationsV1alphaReplayExecutionResponse",
      "description": "Response for replaying an execution.",
      "type": "object",
      "properties": {
        "executionId": {
          "description": "Next ID: 4 The id of the execution corresponding to this run of the integration.",
          "type": "string"
        },
        "replayedExecutionId": {
          "description": "The execution id which is replayed.",
          "type": "string"
        },
        "outputParameters": {
          "description": "OUTPUT parameters in format of Map. Where Key is the name of the parameter. The parameters would only be present in case of synchrounous execution. Note: Name of the system generated parameters are wrapped by backtick(`) to distinguish them from the user defined parameters.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaListIntegrationsResponse": {
      "id": "GoogleCloudIntegrationsV1alphaListIntegrationsResponse",
      "description": "Response for ListIntegrations.",
      "type": "object",
      "properties": {
        "integrations": {
          "description": "The integrations which match the request.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaIntegration"
          }
        },
        "nextPageToken": {
          "description": "The next page token for the response.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaIntegration": {
      "id": "GoogleCloudIntegrationsV1alphaIntegration",
      "description": "The integration definition.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Required. The resource name of the integration.",
          "type": "string"
        },
        "description": {
          "description": "Optional.",
          "type": "string"
        },
        "updateTime": {
          "description": "Output only. Auto-generated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "active": {
          "description": "Required. If any integration version is published.",
          "type": "boolean"
        },
        "creatorEmail": {
          "description": "Output only. The creator's email address. Generated based on the End User Credentials/LOAS role of the user making the call.",
          "readOnly": true,
          "type": "string"
        },
        "lastModifierEmail": {
          "description": "Required. The last modifier of this integration",
          "type": "string"
        },
        "createTime": {
          "description": "Required. Output only. Auto-generated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaSearchIntegrationsResponse": {
      "id": "GoogleCloudIntegrationsV1alphaSearchIntegrationsResponse",
      "description": "Response for SearchIntegrations.",
      "type": "object",
      "properties": {
        "integrations": {
          "description": "The list of integrations that match the search criteria.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaSearchIntegrationsResponseIntegrationSearchResult"
          }
        },
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaSearchIntegrationsResponseIntegrationSearchResult": {
      "id": "GoogleCloudIntegrationsV1alphaSearchIntegrationsResponseIntegrationSearchResult",
      "description": "The integration search result with integration level information.",
      "type": "object",
      "properties": {
        "name": {
          "description": "The integration document metadata.",
          "type": "string"
        },
        "id": {
          "description": "The integration id.",
          "type": "string"
        },
        "creator": {
          "description": "The creator of the integration version.",
          "type": "string"
        },
        "description": {
          "description": "The description of the integration version.",
          "type": "string"
        },
        "status": {
          "description": "Output only. The status of the integration version.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Default.",
            "Draft.",
            "Active.",
            "Archived.",
            "Snapshot."
          ],
          "enum": [
            "INTEGRATION_STATE_UNSPECIFIED",
            "DRAFT",
            "ACTIVE",
            "ARCHIVED",
            "SNAPSHOT"
          ]
        },
        "region": {
          "description": "The region of the integration version.",
          "type": "string"
        },
        "createTime": {
          "description": "Output only. The create time of the integration version.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "version": {
          "description": "The version of the integration version.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaSfdcChannel": {
      "id": "GoogleCloudIntegrationsV1alphaSfdcChannel",
      "description": "The SfdcChannel that points to a CDC or Platform Event Channel.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Resource name of the SFDC channel projects/{project}/locations/{location}/sfdcInstances/{sfdc_instance}/sfdcChannels/{sfdc_channel}.",
          "type": "string"
        },
        "displayName": {
          "description": "Optional. Client level unique name/alias to easily reference a channel.",
          "type": "string"
        },
        "description": {
          "description": "Optional. The description for this channel",
          "type": "string"
        },
        "channelTopic": {
          "description": "Required. The Channel topic defined by salesforce once an channel is opened",
          "type": "string"
        },
        "isActive": {
          "description": "Output only. Indicated if a channel has any active integrations referencing it. Set to false when the channel is created, and set to true if there is any integration published with the channel configured in it.",
          "readOnly": true,
          "type": "boolean"
        },
        "createTime": {
          "description": "Output only. Time when the channel is created",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Time when the channel was last updated",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "deleteTime": {
          "description": "Output only. Time when the channel was deleted. Empty if not deleted.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "lastReplayId": {
          "description": "Output only. Last sfdc messsage replay id for channel",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaListSfdcChannelsResponse": {
      "id": "GoogleCloudIntegrationsV1alphaListSfdcChannelsResponse",
      "description": "Response to list SfdcChannels.",
      "type": "object",
      "properties": {
        "sfdcChannels": {
          "description": "The list of SfdcChannels retrieved.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel"
          }
        },
        "nextPageToken": {
          "description": "The token used to retrieve the next page of results.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaSfdcInstance": {
      "id": "GoogleCloudIntegrationsV1alphaSfdcInstance",
      "description": "The SfdcInstance resource use to hold channels and connection config data.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Resource name of the SFDC instance projects/{project}/locations/{location}/sfdcInstances/{sfdcInstance}.",
          "type": "string"
        },
        "displayName": {
          "description": "Optional. User selected unique name/alias to easily reference an instance.",
          "type": "string"
        },
        "description": {
          "description": "Optional. A description of the sfdc instance.",
          "type": "string"
        },
        "sfdcOrgId": {
          "description": "The SFDC Org Id. This is defined in salesforce.",
          "type": "string"
        },
        "authConfigId": {
          "description": "A list of AuthConfigs that can be tried to open the channel to SFDC",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "createTime": {
          "description": "Output only. Time when the instance is created",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Time when the instance was last updated",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "deleteTime": {
          "description": "Output only. Time when the instance was deleted. Empty if not deleted.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "serviceAuthority": {
          "description": "Optional. URL used for API calls after authentication (the login authority is configured within the referenced AuthConfig).",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaListSfdcInstancesResponse": {
      "id": "GoogleCloudIntegrationsV1alphaListSfdcInstancesResponse",
      "description": "Response to list SfdcInstances.",
      "type": "object",
      "properties": {
        "sfdcInstances": {
          "description": "The list of SfdcInstances retrieved.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance"
          }
        },
        "nextPageToken": {
          "description": "The token used to retrieve the next page of results.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaResolveSuspensionRequest": {
      "id": "GoogleCloudIntegrationsV1alphaResolveSuspensionRequest",
      "description": "Request for [Suspensions.ResolveSuspensions].",
      "type": "object",
      "properties": {
        "suspension": {
          "description": "Suspension, containing the event_execution_info_id, task_id, and state to set on the corresponding suspension record.",
          "$ref": "GoogleCloudIntegrationsV1alphaSuspension"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaSuspension": {
      "id": "GoogleCloudIntegrationsV1alphaSuspension",
      "description": "A record representing a suspension.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Resource name for suspensions suspension/{suspension_id}",
          "type": "string"
        },
        "eventExecutionInfoId": {
          "description": "Required. ID of the associated execution.",
          "type": "string"
        },
        "taskId": {
          "description": "Required. Task id of the associated SuspensionTask.",
          "type": "string"
        },
        "state": {
          "description": "Required. State of this suspension, indicating what action a resolver has taken.",
          "type": "string",
          "enumDescriptions": [
            "Unset state.",
            "The suspension has not yet been resolved.",
            "The resolver has rejected the suspension.",
            "The resolver has lifted the suspension."
          ],
          "enum": [
            "RESOLUTION_STATE_UNSPECIFIED",
            "PENDING",
            "REJECTED",
            "LIFTED"
          ]
        },
        "audit": {
          "description": "Metadata pertaining to the resolution of this suspension.",
          "$ref": "GoogleCloudIntegrationsV1alphaSuspensionAudit"
        },
        "createTime": {
          "description": "Output only. Auto-generated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "lastModifyTime": {
          "description": "Output only. Auto-generated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "suspensionConfig": {
          "description": "Controls the notifications and resolver permissions for this suspension.",
          "deprecated": true,
          "$ref": "EnterpriseCrmEventbusProtoSuspensionConfig"
        },
        "integration": {
          "description": "Required. The name of the originating integration.",
          "type": "string"
        },
        "approvalConfig": {
          "description": "Controls the notifications and approval permissions for this suspension.",
          "$ref": "GoogleCloudIntegrationsV1alphaSuspensionApprovalConfig"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaSuspensionAudit": {
      "id": "GoogleCloudIntegrationsV1alphaSuspensionAudit",
      "description": "Contains when and by whom the suspension was resolved.",
      "type": "object",
      "properties": {
        "resolveTime": {
          "description": "Time at which this suspension was resolved.",
          "type": "string",
          "format": "google-datetime"
        },
        "resolver": {
          "description": "Email address of the person who resolved this suspension.",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusProtoSuspensionConfig": {
      "id": "EnterpriseCrmEventbusProtoSuspensionConfig",
      "type": "object",
      "properties": {
        "whoMayResolve": {
          "description": "Identities able to resolve this suspension.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoSuspensionAuthPermissions"
          }
        },
        "customMessage": {
          "description": "Optional information to provide recipients of the suspension in addition to the resolution URL, typically containing relevant parameter values from the originating workflow.",
          "type": "string"
        },
        "notifications": {
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoNotification"
          }
        },
        "suspensionExpiration": {
          "description": "Indicates the next steps when no external actions happen on the suspension.",
          "$ref": "EnterpriseCrmEventbusProtoSuspensionExpiration"
        }
      }
    },
    "EnterpriseCrmEventbusProtoSuspensionAuthPermissions": {
      "id": "EnterpriseCrmEventbusProtoSuspensionAuthPermissions",
      "description": "LINT.IfChange",
      "type": "object",
      "properties": {
        "mdbGroup": {
          "type": "string"
        },
        "loasRole": {
          "type": "string"
        },
        "gaiaIdentity": {
          "description": "Represents a Gaia identity for a person or service account.",
          "$ref": "EnterpriseCrmEventbusProtoSuspensionAuthPermissionsGaiaIdentity"
        },
        "googleGroup": {
          "$ref": "EnterpriseCrmEventbusProtoSuspensionAuthPermissionsGaiaIdentity"
        }
      }
    },
    "EnterpriseCrmEventbusProtoSuspensionAuthPermissionsGaiaIdentity": {
      "id": "EnterpriseCrmEventbusProtoSuspensionAuthPermissionsGaiaIdentity",
      "type": "object",
      "properties": {
        "emailAddress": {
          "type": "string"
        },
        "gaiaId": {
          "type": "string",
          "format": "int64"
        }
      }
    },
    "EnterpriseCrmEventbusProtoNotification": {
      "id": "EnterpriseCrmEventbusProtoNotification",
      "type": "object",
      "properties": {
        "emailAddress": {
          "$ref": "EnterpriseCrmEventbusProtoAddress"
        },
        "pubsubTopic": {
          "type": "string"
        },
        "buganizerNotification": {
          "$ref": "EnterpriseCrmEventbusProtoBuganizerNotification"
        },
        "escalatorQueue": {
          "type": "string"
        },
        "request": {
          "description": "If the out-of-the-box email/pubsub notifications are not suitable and custom logic is required, fire a workflow containing all info needed to notify users to resume execution.",
          "$ref": "EnterpriseCrmEventbusProtoCustomSuspensionRequest"
        }
      }
    },
    "EnterpriseCrmEventbusProtoAddress": {
      "id": "EnterpriseCrmEventbusProtoAddress",
      "description": "Email address along with optional name and tokens. These tokens will be substituted for the variables in the form of [{var_name}], where var_name could be any string of no more than 32 bytes.",
      "type": "object",
      "properties": {
        "email": {
          "description": "Required.",
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "tokens": {
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoToken"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoToken": {
      "id": "EnterpriseCrmEventbusProtoToken",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusProtoBuganizerNotification": {
      "id": "EnterpriseCrmEventbusProtoBuganizerNotification",
      "type": "object",
      "properties": {
        "componentId": {
          "description": "ID of the buganizer component within which to create a new issue. Required.",
          "type": "string",
          "format": "int64"
        },
        "title": {
          "description": "Title of the issue to be created. Required.",
          "type": "string"
        },
        "assigneeEmailAddress": {
          "description": "Whom to assign the new bug. Optional.",
          "type": "string"
        },
        "templateId": {
          "description": "ID of the buganizer template to use. Optional.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "EnterpriseCrmEventbusProtoCustomSuspensionRequest": {
      "id": "EnterpriseCrmEventbusProtoCustomSuspensionRequest",
      "type": "object",
      "properties": {
        "suspensionInfoEventParameterKey": {
          "description": "In the fired event, set the SuspensionInfo message as the value for this key.",
          "type": "string"
        },
        "postToQueueWithTriggerIdRequest": {
          "description": "Request to fire an event containing the SuspensionInfo message.",
          "$ref": "GoogleInternalCloudCrmEventbusV3PostToQueueWithTriggerIdRequest"
        }
      }
    },
    "GoogleInternalCloudCrmEventbusV3PostToQueueWithTriggerIdRequest": {
      "id": "GoogleInternalCloudCrmEventbusV3PostToQueueWithTriggerIdRequest",
      "description": "LINT.IfChange Use this request to post all workflows associated with a given trigger id. Next available id: 13",
      "type": "object",
      "properties": {
        "triggerId": {
          "description": "Matched against all {@link TriggerConfig}s across all workflows. i.e. TriggerConfig.trigger_id.equals(trigger_id) Required.",
          "type": "string"
        },
        "clientId": {
          "description": "Optional. If the client id is provided, then the combination of trigger id and client id is matched across all the workflows. If the client id is not provided, then workflows with matching trigger id are executed for each client id in the {@link TriggerConfig}. For Api Trigger, the client id is required and will be validated against the allowed clients.",
          "type": "string"
        },
        "parameters": {
          "description": "Passed in as parameters to each workflow execution. Optional.",
          "$ref": "EnterpriseCrmEventbusProtoEventParameters"
        },
        "priority": {
          "description": "The request priority this request should be processed at. For internal users:",
          "type": "string",
          "enumDescriptions": [
            "Unspecified",
            "Frequent partial and occasional full unavailability is expected and not pageable. * Requests to this band will be shed before all other requests. * This is the default for async calls sent from batch jobs.",
            "Partial unavailability is expected and is not necessarily pageable. * Requests to this band will be shed before any critical traffic. * This is the default for async calls sent from production jobs.",
            "Any outage is a pageable event. * During a production outage requests in this band will only be shed before CRITICAL_PLUS. * This is the default for sync calls sent from production jobs.",
            "Any outage is a pageable event. * The guideline is for \u003c 10% of requests to a service to be in this band. * During a production outage requests in this band will be prioritized above all others. * Opt-in to CRITICAL_PLUS when your workflow triggers by human."
          ],
          "enum": [
            "UNSPCIFIED",
            "SHEDDABLE",
            "SHEDDABLE_PLUS",
            "CRITICAL",
            "CRITICAL_PLUS"
          ]
        },
        "testMode": {
          "description": "Optional. Sets test mode in {@link enterprise/crm/eventbus/event_message.proto}.",
          "type": "boolean"
        },
        "scheduledTime": {
          "description": "Optional. Time in milliseconds since epoch when the given event would be scheduled.",
          "type": "string",
          "format": "int64"
        },
        "ignoreErrorIfNoActiveWorkflow": {
          "description": "Optional. Flag to determine whether clients would suppress a warning when no ACTIVE workflows are not found. If this flag is set to be true, an error will not be thrown if the requested trigger_id or client_id is not found in any ACTIVE workflow. Otherwise, the error is always thrown. The flag is set to be false by default.",
          "type": "boolean"
        },
        "workflowName": {
          "description": "Optional. If provided, the workflow_name is used to filter all the matched workflows having same trigger_id+client_id. A combination of trigger_id, client_id and workflow_name identifies a unique workflow.",
          "type": "string"
        },
        "requestId": {
          "description": "Optional. This is used to de-dup incoming request: if the duplicate request was detected, the response from the previous execution is returned. Must have no more than 36 characters and contain only alphanumeric characters and hyphens.",
          "type": "string"
        },
        "resourceName": {
          "description": "This field is only required when using Admin Access. The resource name of target, or the parent resource name. For example: \"projects/*/locations/*/integrations/*\"",
          "type": "string"
        },
        "userGeneratedExecutionId": {
          "description": "This is a unique id provided by the method caller. If provided this will be used as the execution_id when a new execution info is created. This is a string representation of a UUID. Must have no more than 36 characters and contain only alphanumeric characters and hyphens.",
          "type": "string"
        },
        "quotaRetryCount": {
          "description": "Optional. This is a field to see the quota retry count for integration execution",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "EnterpriseCrmEventbusProtoSuspensionExpiration": {
      "id": "EnterpriseCrmEventbusProtoSuspensionExpiration",
      "type": "object",
      "properties": {
        "remindAfterMs": {
          "description": "Milliseconds after which the previous suspension action reminder, if any, is sent using the selected notification option, for a suspension which is still PENDING_UNSPECIFIED.",
          "type": "integer",
          "format": "int32"
        },
        "expireAfterMs": {
          "description": "Milliseconds after which the suspension expires, if no action taken.",
          "type": "integer",
          "format": "int32"
        },
        "liftWhenExpired": {
          "description": "Whether the suspension will be REJECTED or LIFTED upon expiration. REJECTED is the default behavior.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaSuspensionApprovalConfig": {
      "id": "GoogleCloudIntegrationsV1alphaSuspensionApprovalConfig",
      "description": "Configurations for approving the Suspension.",
      "type": "object",
      "properties": {
        "customMessage": {
          "description": "Information to provide for recipients.",
          "type": "string"
        },
        "emailAddresses": {
          "description": "Email addresses to send approval request to.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "expiration": {
          "description": "Indicates the next steps when no external actions happen on the suspension.",
          "$ref": "GoogleCloudIntegrationsV1alphaSuspensionApprovalExpiration"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaSuspensionApprovalExpiration": {
      "id": "GoogleCloudIntegrationsV1alphaSuspensionApprovalExpiration",
      "description": "Expiration configs for the approval request.",
      "type": "object",
      "properties": {
        "remindTime": {
          "description": "Time after the previous suspension action reminder, if any, is sent using the selected notification option, for a suspension which is still PENDING_UNSPECIFIED.",
          "type": "string",
          "format": "google-datetime"
        },
        "expireTime": {
          "description": "Output only. Time after which the suspension expires, if no action taken.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "liftWhenExpired": {
          "description": "Whether the suspension will be REJECTED or LIFTED upon expiration. REJECTED is the default behavior.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaResolveSuspensionResponse": {
      "id": "GoogleCloudIntegrationsV1alphaResolveSuspensionResponse",
      "description": "Response for Suspensions.ResolveSuspensions.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudIntegrationsV1alphaListSuspensionsResponse": {
      "id": "GoogleCloudIntegrationsV1alphaListSuspensionsResponse",
      "description": "Response for Suspensions.ListSuspensions.",
      "type": "object",
      "properties": {
        "suspensions": {
          "description": "The suspensions for the relevant execution which the caller has permissions to view and resolve.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaSuspension"
          }
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaLiftSuspensionRequest": {
      "id": "GoogleCloudIntegrationsV1alphaLiftSuspensionRequest",
      "description": "Request for lift Suspension",
      "type": "object",
      "properties": {
        "suspensionResult": {
          "description": "User passed in suspension result and will be used to control workflow execution branching behavior by setting up corresponnding edge condition with suspension result. For example, if you want to lift the suspension, you can pass \"Approved\", or if you want to reject the suspension and terminate workfloe execution, you can pass \"Rejected\" and terminate the workflow execution with configuring the edge condition.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaLiftSuspensionResponse": {
      "id": "GoogleCloudIntegrationsV1alphaLiftSuspensionResponse",
      "description": "Response of lift Suspense",
      "type": "object",
      "properties": {
        "eventExecutionInfoId": {
          "description": "Execution Id that will be returned",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaTestCase": {
      "id": "GoogleCloudIntegrationsV1alphaTestCase",
      "description": "Defines the functional test case for Application Integration. Next available id: 15",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. Auto-generated primary key.",
          "readOnly": true,
          "type": "string"
        },
        "displayName": {
          "description": "Required. The display name of test case.",
          "type": "string"
        },
        "description": {
          "description": "Optional. Description of the test case.",
          "type": "string"
        },
        "triggerId": {
          "description": "Required. This defines the trigger ID in workflow which is considered to be executed as starting point of the test case",
          "type": "string"
        },
        "testInputParameters": {
          "description": "Optional. Parameters that are expected to be passed to the test case when the test case is triggered. This gives the user the ability to provide default values. This should include all the output variables of the trigger as input variables.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaIntegrationParameter"
          }
        },
        "testTaskConfigs": {
          "description": "Optional. However, the test case doesn't mock or assert anything without test_task_configs.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaTestTaskConfig"
          }
        },
        "databasePersistencePolicy": {
          "description": "Optional. Various policies for how to persist the test execution info including execution info, execution export info, execution metadata index and execution param index..",
          "type": "string",
          "enumDescriptions": [
            "Enables persistence for all execution data.",
            "Disables persistence for all execution data.",
            "Asynchronously persist all execution data."
          ],
          "enum": [
            "DATABASE_PERSISTENCE_POLICY_UNSPECIFIED",
            "DATABASE_PERSISTENCE_DISABLED",
            "DATABASE_PERSISTENCE_ASYNC"
          ]
        },
        "creatorEmail": {
          "description": "Optional. The creator's email address. Generated based on the End User Credentials/LOAS role of the user making the call.",
          "type": "string"
        },
        "createTime": {
          "description": "Auto-generated.",
          "type": "string",
          "format": "google-datetime"
        },
        "lastModifierEmail": {
          "description": "The last modifier's email address. Generated based on the End User Credentials/LOAS role of the user making the call.",
          "type": "string"
        },
        "updateTime": {
          "description": "Auto-generated.",
          "type": "string",
          "format": "google-datetime"
        },
        "lockHolderEmail": {
          "description": "Optional. The edit lock holder's email address. Generated based on the End User Credentials/LOAS role of the user making the call.",
          "type": "string"
        },
        "triggerConfig": {
          "description": "Optional. Auto-generated.",
          "$ref": "GoogleCloudIntegrationsV1alphaTriggerConfig"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaTestTaskConfig": {
      "id": "GoogleCloudIntegrationsV1alphaTestTaskConfig",
      "description": "The task mock configuration details and assertions for functional tests. Next available id: 6",
      "type": "object",
      "properties": {
        "taskNumber": {
          "description": "Required. This defines in the test case, the task in integration which will be mocked by this test task config",
          "type": "string"
        },
        "mockConfig": {
          "description": "Optional. Defines how to mock the given task during test execution",
          "$ref": "GoogleCloudIntegrationsV1alphaMockConfig"
        },
        "assertions": {
          "description": "Optional. List of conditions or expressions which should be evaluated to true unless there is a bug/problem in the integration. These are evaluated one the task execution is completed as per the mock strategy in test case",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaAssertion"
          }
        },
        "task": {
          "description": "Required. This defines in the test case, the task name in integration which will be mocked by this test task config",
          "type": "string"
        },
        "taskConfig": {
          "description": "Optional. Auto-generated.",
          "$ref": "GoogleCloudIntegrationsV1alphaTaskConfig"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaMockConfig": {
      "id": "GoogleCloudIntegrationsV1alphaMockConfig",
      "description": "The configuration for mocking of a task during test execution Next available id: 4",
      "type": "object",
      "properties": {
        "mockStrategy": {
          "description": "Mockstrategy defines how the particular task should be mocked during test execution",
          "type": "string",
          "enumDescriptions": [
            "This should never be used to annotate a field",
            "Execute actual task",
            "Don't execute actual task, instead use the values specified by user for output of the task",
            "Don't execute actual task, instead return task failure",
            "Don't execute actual task, instead mark it as successful"
          ],
          "enum": [
            "MOCK_STRATEGY_UNSPECIFIED",
            "NO_MOCK_STRATEGY",
            "SPECIFIC_MOCK_STRATEGY",
            "FAILURE_MOCK_STRATEGY",
            "SKIP_MOCK_STRATEGY"
          ]
        },
        "parameters": {
          "description": "Optional. List of key-value pairs for specific mock strategy",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaEventParameter"
          }
        },
        "failedExecutions": {
          "description": "Optional. Number of times the given task should fail for failure mock strategy",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaAssertion": {
      "id": "GoogleCloudIntegrationsV1alphaAssertion",
      "description": "An assertion which will check for a condition over task execution status or an expression for task output variables",
      "type": "object",
      "properties": {
        "assertionStrategy": {
          "description": "Optional. The type of assertion to perform.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified Assertion strategy",
            "Test a successful execution",
            "Test a failed execution",
            "Test that the task was never executed",
            "Test the parameter selected is equal to the expected value",
            "Test the parameter selected is not equal to the expected value",
            "Test the parameter selected contains the configured value",
            "Test a specific condition"
          ],
          "enum": [
            "ASSERTION_STRATEGY_UNSPECIFIED",
            "ASSERT_SUCCESSFUL_EXECUTION",
            "ASSERT_FAILED_EXECUTION",
            "ASSERT_NO_EXECUTION",
            "ASSERT_EQUALS",
            "ASSERT_NOT_EQUALS",
            "ASSERT_CONTAINS",
            "ASSERT_CONDITION"
          ]
        },
        "parameter": {
          "description": "Optional. Key-value pair for ASSERT_EQUALS, ASSERT_NOT_EQUALS, ASSERT_CONTAINS to succeed",
          "$ref": "GoogleCloudIntegrationsV1alphaEventParameter"
        },
        "condition": {
          "description": "Optional. Standard filter expression for ASSERT_CONDITION to succeed",
          "type": "string"
        },
        "retryCount": {
          "description": "Number of times given task should be retried in case of ASSERT_FAILED_EXECUTION",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaListTestCasesResponse": {
      "id": "GoogleCloudIntegrationsV1alphaListTestCasesResponse",
      "description": "Response for ListTestCases",
      "type": "object",
      "properties": {
        "testCases": {
          "description": "The test cases corresponding to the specified filter",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaTestCase"
          }
        },
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaExecuteTestCaseRequest": {
      "id": "GoogleCloudIntegrationsV1alphaExecuteTestCaseRequest",
      "description": "The request for executing a functional test.",
      "type": "object",
      "properties": {
        "inputParameters": {
          "description": "Optional. Input parameters used by test case execution.",
          "type": "object",
          "additionalProperties": {
            "$ref": "GoogleCloudIntegrationsV1alphaValueType"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaExecuteTestCaseResponse": {
      "id": "GoogleCloudIntegrationsV1alphaExecuteTestCaseResponse",
      "description": "The response for executing a functional test.",
      "type": "object",
      "properties": {
        "executionId": {
          "description": "The id of the execution corresponding to this run of integration.",
          "type": "string"
        },
        "outputParameters": {
          "description": "OUTPUT parameters in format of Map. Where Key is the name of the parameter. Note: Name of the system generated parameters are wrapped by backtick(`) to distinguish them from the user defined parameters.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          }
        },
        "assertionResults": {
          "description": "Results of each assertions ran during execution of test case.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaAssertionResult"
          }
        },
        "testExecutionState": {
          "description": "State of the test case execution",
          "type": "string",
          "enumDescriptions": [
            "Unspecified state",
            "Test case execution passed",
            "Test case execution failed"
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "PASSED",
            "FAILED"
          ]
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaAssertionResult": {
      "id": "GoogleCloudIntegrationsV1alphaAssertionResult",
      "description": "The result of an assertion.",
      "type": "object",
      "properties": {
        "assertion": {
          "description": "Assertion that was run.",
          "$ref": "GoogleCloudIntegrationsV1alphaAssertion"
        },
        "taskNumber": {
          "description": "Task number of task where the assertion was run.",
          "type": "string"
        },
        "taskName": {
          "description": "Task name of task where the assertion was run.",
          "type": "string"
        },
        "status": {
          "description": "Status of assertion to signify if the assertion succeeded or failed",
          "type": "string",
          "enumDescriptions": [
            "Unspecified assertion status",
            "Assertion succeeded",
            "Assertion failed"
          ],
          "enum": [
            "ASSERTION_STATUS_UNSPECIFIED",
            "SUCCEEDED",
            "FAILED"
          ]
        },
        "failureMessage": {
          "description": "Details of the assertion failure",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaUploadTestCaseRequest": {
      "id": "GoogleCloudIntegrationsV1alphaUploadTestCaseRequest",
      "description": "Request for UploadTestCase.",
      "type": "object",
      "properties": {
        "content": {
          "description": "The textproto of the test case.",
          "type": "string"
        },
        "fileFormat": {
          "description": "File format for upload request.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified file format",
            "JSON File Format",
            "YAML File Format"
          ],
          "enum": [
            "FILE_FORMAT_UNSPECIFIED",
            "JSON",
            "YAML"
          ]
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaUploadTestCaseResponse": {
      "id": "GoogleCloudIntegrationsV1alphaUploadTestCaseResponse",
      "description": "Response for UploadTestCase.",
      "type": "object",
      "properties": {
        "testCase": {
          "description": "The uploaded TestCase",
          "$ref": "GoogleCloudIntegrationsV1alphaTestCase"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaDownloadTestCaseResponse": {
      "id": "GoogleCloudIntegrationsV1alphaDownloadTestCaseResponse",
      "description": "Response for DownloadTestCase.",
      "type": "object",
      "properties": {
        "content": {
          "description": "String representation of the test case.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaTakeoverTestCaseEditLockRequest": {
      "id": "GoogleCloudIntegrationsV1alphaTakeoverTestCaseEditLockRequest",
      "description": "Request for TakeoverTestCaseEditLock.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudIntegrationsV1alphaExecuteTestCasesRequest": {
      "id": "GoogleCloudIntegrationsV1alphaExecuteTestCasesRequest",
      "description": "Request for ExecuteTestCases.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudIntegrationsV1alphaExecuteTestCasesResponse": {
      "id": "GoogleCloudIntegrationsV1alphaExecuteTestCasesResponse",
      "description": "Response for ExecuteTestCases.",
      "type": "object",
      "properties": {
        "executeTestCaseResponses": {
          "description": "Results of each execution of test cases in an integration version.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaExecuteTestCaseResponse"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaListTemplatesResponse": {
      "id": "GoogleCloudIntegrationsV1alphaListTemplatesResponse",
      "description": "Response for a request to list templates",
      "type": "object",
      "properties": {
        "templates": {
          "description": "List of templates retrieved.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaTemplate"
          }
        },
        "nextPageToken": {
          "description": "The token used to retrieve the next page results.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaTemplate": {
      "id": "GoogleCloudIntegrationsV1alphaTemplate",
      "description": "Defines the template for Application Integration",
      "type": "object",
      "properties": {
        "name": {
          "description": "Identifier. Resource name of the template.",
          "type": "string"
        },
        "displayName": {
          "description": "Required. The name of the template",
          "type": "string"
        },
        "description": {
          "description": "Optional. Description of the template. The length should not be more than 255 characters",
          "type": "string"
        },
        "usageInfo": {
          "description": "Optional. Information on how to use the template. This should contain detailed information about usage of the template.",
          "type": "string"
        },
        "docLink": {
          "description": "Optional. Link to template documentation.",
          "type": "string"
        },
        "templateBundle": {
          "description": "Required. Bundle which is part of the templates. The template entities in the bundle would be converted to an actual entity.",
          "$ref": "GoogleCloudIntegrationsV1alphaTemplateBundle"
        },
        "components": {
          "description": "Optional. Components being used in the template. This could be used to categorize and filter.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaTemplateComponent"
          }
        },
        "tags": {
          "description": "Required. Tags which are used to identify templates. These tags could be for business use case, connectors etc.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "categories": {
          "description": "Required. Categories associated with the Template. The categories listed below will be utilized for the Template listing.",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "Category is unspecified",
              "AI_MACHINE_LEARNING",
              "BUSINESS_INTELLIGENCE",
              "COLLABORATION",
              "CUSTOMER_SERVICE",
              "DATAABASES",
              "DEVOPS_IT",
              "CONTENT_AND_FILES",
              "FINANCE_AND_ACCOUNTING",
              "HUMAN_RESOURCES",
              "OPERATIONS",
              "PRODUCT_PROJECT_MANAGEMENT",
              "PRODUCTIVITY",
              "SALES_AND_MARKETING",
              "UNIVERSAL_CONNECTORS",
              "UTILITY",
              "OTHERS"
            ],
            "enum": [
              "CATEGORY_UNSPECIFIED",
              "AI_MACHINE_LEARNING",
              "BUSINESS_INTELLIGENCE",
              "COLLABORATION",
              "CUSTOMER_SERVICE",
              "DATABASES",
              "DEVOPS_IT",
              "CONTENT_AND_FILES",
              "FINANCE_AND_ACCOUNTING",
              "HUMAN_RESOURCES",
              "OPERATIONS",
              "PRODUCT_PROJECT_MANAGEMENT",
              "PRODUCTIVITY",
              "SALES_AND_MARKETING",
              "UNIVERSAL_CONNECTORS",
              "UTILITY",
              "OTHERS"
            ]
          }
        },
        "createTime": {
          "description": "Output only. Auto-generated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. Auto-generated",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "author": {
          "description": "Optional. Creator of the template.",
          "type": "string"
        },
        "usageCount": {
          "description": "Optional. Number of template usages.",
          "type": "string",
          "format": "int64"
        },
        "lastUsedTime": {
          "description": "Optional. Time the template was last used.",
          "type": "string",
          "format": "google-datetime"
        },
        "visibility": {
          "description": "Required. Visibility of the template.",
          "type": "string",
          "enumDescriptions": [
            "Visibility is unspecified",
            "Visibility is private",
            "Visibility is shared",
            "Visibility is public"
          ],
          "enum": [
            "VISIBILITY_UNSPECIFIED",
            "PRIVATE",
            "SHARED",
            "PUBLIC"
          ]
        },
        "sharedWith": {
          "description": "Required. Resource names with which the template is shared for example ProjectNumber/Ord id",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaTemplateBundle": {
      "id": "GoogleCloudIntegrationsV1alphaTemplateBundle",
      "description": "Define the bundle of the template.",
      "type": "object",
      "properties": {
        "integrationVersionTemplate": {
          "description": "Required. Main integration templates of the template bundle.",
          "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersionTemplate"
        },
        "subIntegrationVersionTemplates": {
          "description": "Optional. Sub integration templates which would be added along with main integration.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersionTemplate"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaIntegrationVersionTemplate": {
      "id": "GoogleCloudIntegrationsV1alphaIntegrationVersionTemplate",
      "description": "Define the template of IntegrationVersion.",
      "type": "object",
      "properties": {
        "key": {
          "description": "Required. Unique Key of the IntegrationVersion.",
          "type": "string"
        },
        "integrationVersion": {
          "description": "Required. Templatized version of integration.",
          "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaTemplateComponent": {
      "id": "GoogleCloudIntegrationsV1alphaTemplateComponent",
      "description": "Define the components that are present in a template.",
      "type": "object",
      "properties": {
        "type": {
          "description": "Optional. Type of the component.",
          "type": "string",
          "enumDescriptions": [
            "Component type is unspecified",
            "Trigger component",
            "Task component",
            "Connector component"
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "TRIGGER",
            "TASK",
            "CONNECTOR"
          ]
        },
        "name": {
          "description": "Optional. Name of the component.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaSearchTemplatesResponse": {
      "id": "GoogleCloudIntegrationsV1alphaSearchTemplatesResponse",
      "description": "Response for a request to search templates",
      "type": "object",
      "properties": {
        "templates": {
          "description": "List of templates retrieved.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaTemplate"
          }
        },
        "nextPageToken": {
          "description": "The token used to retrieve the next page results.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaUseTemplateRequest": {
      "id": "GoogleCloudIntegrationsV1alphaUseTemplateRequest",
      "description": "Request to Use template",
      "type": "object",
      "properties": {
        "integrationDetails": {
          "description": "Required. Integration details which would be created via templates.",
          "$ref": "GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails"
        },
        "subIntegrations": {
          "description": "Optional. Sub Integration which would be created via templates.",
          "type": "object",
          "additionalProperties": {
            "$ref": "GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails"
          }
        },
        "integrationRegion": {
          "description": "Required. The region of the Integration to be created.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails": {
      "id": "GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails",
      "description": "Sub Integration which would be created via templates.",
      "type": "object",
      "properties": {
        "integration": {
          "description": "Required. Name of the sub integration which would be created via templates.",
          "type": "string"
        },
        "integrationDescription": {
          "description": "Optional. Description of the sub integration which would be created via templates.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaUseTemplateResponse": {
      "id": "GoogleCloudIntegrationsV1alphaUseTemplateResponse",
      "description": "Response for use template",
      "type": "object",
      "properties": {
        "integrationVersion": {
          "description": "IntegrationVersion which is created.",
          "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
        },
        "subIntegrationVersions": {
          "description": "Sub integration versions which are created.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaImportTemplateRequest": {
      "id": "GoogleCloudIntegrationsV1alphaImportTemplateRequest",
      "description": "Request to Import template",
      "type": "object",
      "properties": {
        "integration": {
          "description": "Required. Resource Name of the integration where template needs to be imported/inserted.",
          "type": "string"
        },
        "subIntegrations": {
          "description": "Optional. Sub Integration which would be created via templates.",
          "type": "object",
          "additionalProperties": {
            "$ref": "GoogleCloudIntegrationsV1alphaUseTemplateRequestIntegrationDetails"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaImportTemplateResponse": {
      "id": "GoogleCloudIntegrationsV1alphaImportTemplateResponse",
      "description": "Response for import template",
      "type": "object",
      "properties": {
        "integrationVersion": {
          "description": "IntegrationVersion after the import.",
          "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
        },
        "subIntegrationVersions": {
          "description": "Sub integration versions which are imported.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaShareTemplateRequest": {
      "id": "GoogleCloudIntegrationsV1alphaShareTemplateRequest",
      "description": "Request to Share template",
      "type": "object",
      "properties": {
        "resourceNames": {
          "description": "Optional. Project name resources to share the template. The project names is expected in resource format Ex: projects/{project-number} or organization/{org-id}",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaUnshareTemplateRequest": {
      "id": "GoogleCloudIntegrationsV1alphaUnshareTemplateRequest",
      "description": "Request to Unshare template",
      "type": "object",
      "properties": {
        "resourceNames": {
          "description": "Optional. Project name resources to unshare the template. The project names is expected in resource format Ex: projects/{project-number}",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaUploadTemplateRequest": {
      "id": "GoogleCloudIntegrationsV1alphaUploadTemplateRequest",
      "description": "Request for UploadTemplate.",
      "type": "object",
      "properties": {
        "content": {
          "description": "Required. The textproto of the template.",
          "type": "string"
        },
        "fileFormat": {
          "description": "Required. File format for upload request.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified file format",
            "JSON File Format",
            "YAML File Format"
          ],
          "enum": [
            "FILE_FORMAT_UNSPECIFIED",
            "JSON",
            "YAML"
          ]
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaUploadTemplateResponse": {
      "id": "GoogleCloudIntegrationsV1alphaUploadTemplateResponse",
      "description": "Response for UploadTemplate.",
      "type": "object",
      "properties": {
        "template": {
          "description": "The uploaded Template",
          "$ref": "GoogleCloudIntegrationsV1alphaTemplate"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaDownloadTemplateResponse": {
      "id": "GoogleCloudIntegrationsV1alphaDownloadTemplateResponse",
      "description": "Response for DownloadTemplate.",
      "type": "object",
      "properties": {
        "content": {
          "description": "String representation of the template.",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecRequest": {
      "id": "GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecRequest",
      "description": "Request for GenerateOpenApiSpec.",
      "type": "object",
      "properties": {
        "apiTriggerResources": {
          "description": "Required. List of api triggers",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudIntegrationsV1alphaApiTriggerResource"
          }
        },
        "fileFormat": {
          "description": "Required. File format for generated spec.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified file format",
            "JSON File Format",
            "YAML File Format"
          ],
          "enum": [
            "FILE_FORMAT_UNSPECIFIED",
            "JSON",
            "YAML"
          ]
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaApiTriggerResource": {
      "id": "GoogleCloudIntegrationsV1alphaApiTriggerResource",
      "description": "List of API triggerID and their workflow resource name.",
      "type": "object",
      "properties": {
        "integrationResource": {
          "description": "Required. Integration where the API is published",
          "type": "string"
        },
        "triggerId": {
          "description": "Required. Trigger Id of the API trigger(s) in the integration",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecResponse": {
      "id": "GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecResponse",
      "description": "Response of the GenerateOpenApiSpec API.",
      "type": "object",
      "properties": {
        "openApiSpec": {
          "description": "Open API spec as per the required format",
          "type": "string"
        }
      }
    },
    "GoogleCloudIntegrationsV1alphaGenerateTokenResponse": {
      "id": "GoogleCloudIntegrationsV1alphaGenerateTokenResponse",
      "description": "Returns success or error message",
      "type": "object",
      "properties": {
        "message": {
          "description": "The message that notifies the user if the request succeeded or not.",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusAuthconfigAuthConfigTaskParam": {
      "id": "EnterpriseCrmEventbusAuthconfigAuthConfigTaskParam",
      "type": "object",
      "properties": {
        "authConfigId": {
          "description": "UUID of the AuthConfig.",
          "type": "string"
        },
        "allowedCredentialTypes": {
          "description": "Defines the credential types to be supported as Task may restrict specific types to use, e.g. Cloud SQL Task will use username/password type only.",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "",
              "Regular username/password pair.",
              "API key.",
              "OAuth 2.0 Authorization Code Grant Type.",
              "OAuth 2.0 Implicit Grant Type.",
              "OAuth 2.0 Client Credentials Grant Type.",
              "OAuth 2.0 Resource Owner Credentials Grant Type.",
              "JWT Token.",
              "Auth Token, e.g. bearer token.",
              "Service Account which can be used to generate token for authentication.",
              "Client Certificate only.",
              "Google OIDC ID Token"
            ],
            "enum": [
              "CREDENTIAL_TYPE_UNSPECIFIED",
              "USERNAME_AND_PASSWORD",
              "API_KEY",
              "OAUTH2_AUTHORIZATION_CODE",
              "OAUTH2_IMPLICIT",
              "OAUTH2_CLIENT_CREDENTIALS",
              "OAUTH2_RESOURCE_OWNER_CREDENTIALS",
              "JWT",
              "AUTH_TOKEN",
              "SERVICE_ACCOUNT",
              "CLIENT_CERTIFICATE_ONLY",
              "OIDC_TOKEN"
            ]
          }
        },
        "allowedServiceAccountInContext": {
          "type": "boolean"
        },
        "useServiceAccountInContext": {
          "type": "boolean"
        },
        "scope": {
          "description": "A space-delimited list of requested scope permissions.",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusProtoFieldMappingConfig": {
      "id": "EnterpriseCrmEventbusProtoFieldMappingConfig",
      "description": "Field Mapping Config to map multiple output fields values from input fields values.",
      "type": "object",
      "properties": {
        "mappedFields": {
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoMappedField"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoMappedField": {
      "id": "EnterpriseCrmEventbusProtoMappedField",
      "description": "Mapped field is a pair of input field and output field.",
      "type": "object",
      "properties": {
        "inputField": {
          "description": "The input field being mapped from.",
          "$ref": "EnterpriseCrmEventbusProtoField"
        },
        "outputField": {
          "description": "The output field being mapped to.",
          "$ref": "EnterpriseCrmEventbusProtoField"
        }
      }
    },
    "EnterpriseCrmEventbusProtoField": {
      "id": "EnterpriseCrmEventbusProtoField",
      "description": "Information about the value and type of the field.",
      "type": "object",
      "properties": {
        "referenceKey": {
          "description": "This holds the reference key of the workflow or task parameter. 1. Any workflow parameter, for e.g. $workflowParam1$. 2. Any task input or output parameter, for e.g. $task1_param1$. 3. Any workflow or task parameters with subfield references, for e.g., $task1_param1.employee.id$",
          "type": "string"
        },
        "transformExpression": {
          "description": "This is the transform expression to fetch the input field value. for e.g. $param1$.CONCAT('test'). Keep points - 1. Only input field can have a transform expression. 2. If a transform expression is provided, reference_key will be ignored. 3. If no value is returned after evaluation of transform expression, default_value can be mapped if provided. 4. The field_type should be the type of the final object returned after the transform expression is evaluated. Scrubs the transform expression before logging as value provided by user so may or may not contain PII or SPII data.",
          "$ref": "EnterpriseCrmEventbusProtoTransformExpression"
        },
        "defaultValue": {
          "description": "This holds the default values for the fields. This value is supplied by user so may or may not contain PII or SPII data.",
          "$ref": "EnterpriseCrmEventbusProtoParameterValueType"
        },
        "fieldType": {
          "description": "Specifies the data type of the field.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.",
            "",
            "",
            ""
          ],
          "enum": [
            "DATA_TYPE_UNSPECIFIED",
            "STRING_VALUE",
            "INT_VALUE",
            "DOUBLE_VALUE",
            "BOOLEAN_VALUE",
            "PROTO_VALUE",
            "SERIALIZED_OBJECT_VALUE",
            "STRING_ARRAY",
            "INT_ARRAY",
            "DOUBLE_ARRAY",
            "PROTO_ARRAY",
            "PROTO_ENUM",
            "BOOLEAN_ARRAY",
            "PROTO_ENUM_ARRAY",
            "BYTES",
            "BYTES_ARRAY",
            "NON_SERIALIZABLE_OBJECT",
            "JSON_VALUE"
          ]
        },
        "protoDefPath": {
          "description": "Optional. The fully qualified proto name (e.g. enterprise.crm.storage.Account). Required for output field of type PROTO_VALUE or PROTO_ARRAY. For e.g., if input field_type is BYTES and output field_type is PROTO_VALUE, then fully qualified proto type url should be provided to parse the input bytes. If field_type is *_ARRAY, then all the converted protos are of the same type.",
          "type": "string"
        },
        "cardinality": {
          "description": "By default, if the cardinality is unspecified the field is considered required while mapping.",
          "type": "string",
          "enumDescriptions": [
            "For fields with unspecified cardinality.",
            "If field cardinality is set to optional, ignore errors if input field value is null or the reference_key is not found."
          ],
          "enum": [
            "UNSPECIFIED",
            "OPTIONAL"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoTransformExpression": {
      "id": "EnterpriseCrmEventbusProtoTransformExpression",
      "type": "object",
      "properties": {
        "initialValue": {
          "description": "Initial value upon which to perform transformations.",
          "$ref": "EnterpriseCrmEventbusProtoBaseValue"
        },
        "transformationFunctions": {
          "description": "Transformations to be applied sequentially.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoFunction"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoBaseValue": {
      "id": "EnterpriseCrmEventbusProtoBaseValue",
      "type": "object",
      "properties": {
        "literalValue": {
          "description": "Start with a literal value.",
          "$ref": "EnterpriseCrmEventbusProtoParameterValueType"
        },
        "referenceValue": {
          "description": "Start with a reference value to dereference.",
          "type": "string"
        },
        "baseFunction": {
          "description": "Start with a function that does not build on existing values. Eg. CurrentTime, Min, Max, Exists, etc.",
          "$ref": "EnterpriseCrmEventbusProtoFunction"
        }
      }
    },
    "EnterpriseCrmEventbusProtoFunction": {
      "id": "EnterpriseCrmEventbusProtoFunction",
      "type": "object",
      "properties": {
        "functionType": {
          "description": "The name of the function to perform.",
          "$ref": "EnterpriseCrmEventbusProtoFunctionType"
        },
        "parameters": {
          "description": "List of parameters required for the transformation.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoTransformExpression"
          }
        }
      }
    },
    "EnterpriseCrmEventbusProtoFunctionType": {
      "id": "EnterpriseCrmEventbusProtoFunctionType",
      "type": "object",
      "properties": {
        "baseFunction": {
          "description": "LINT.IfChange",
          "$ref": "EnterpriseCrmEventbusProtoBaseFunction"
        },
        "stringFunction": {
          "$ref": "EnterpriseCrmEventbusProtoStringFunction"
        },
        "intFunction": {
          "$ref": "EnterpriseCrmEventbusProtoIntFunction"
        },
        "doubleFunction": {
          "$ref": "EnterpriseCrmEventbusProtoDoubleFunction"
        },
        "booleanFunction": {
          "$ref": "EnterpriseCrmEventbusProtoBooleanFunction"
        },
        "protoFunction": {
          "$ref": "EnterpriseCrmEventbusProtoProtoFunction"
        },
        "stringArrayFunction": {
          "$ref": "EnterpriseCrmEventbusProtoStringArrayFunction"
        },
        "intArrayFunction": {
          "$ref": "EnterpriseCrmEventbusProtoIntArrayFunction"
        },
        "doubleArrayFunction": {
          "$ref": "EnterpriseCrmEventbusProtoDoubleArrayFunction"
        },
        "booleanArrayFunction": {
          "$ref": "EnterpriseCrmEventbusProtoBooleanArrayFunction"
        },
        "protoArrayFunction": {
          "$ref": "EnterpriseCrmEventbusProtoProtoArrayFunction"
        },
        "jsonFunction": {
          "$ref": "EnterpriseCrmEventbusProtoJsonFunction"
        }
      }
    },
    "EnterpriseCrmEventbusProtoBaseFunction": {
      "id": "EnterpriseCrmEventbusProtoBaseFunction",
      "type": "object",
      "properties": {
        "functionName": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNSPECIFIED",
            "NOW_IN_MILLIS",
            "INT_LIST",
            "ENVIRONMENT",
            "GET_EXECUTION_ID",
            "GET_INTEGRATION_NAME",
            "GET_REGION",
            "GET_UUID",
            "GET_PROJECT_ID"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoStringFunction": {
      "id": "EnterpriseCrmEventbusProtoStringFunction",
      "type": "object",
      "properties": {
        "functionName": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNSPECIFIED",
            "CONCAT",
            "TO_UPPERCASE",
            "TO_LOWERCASE",
            "CONTAINS",
            "SPLIT",
            "LENGTH",
            "EQUALS",
            "TO_INT",
            "TO_DOUBLE",
            "TO_BOOLEAN",
            "TO_BASE_64",
            "TO_JSON",
            "EQUALS_IGNORE_CASE",
            "REPLACE_ALL",
            "SUBSTRING",
            "RESOLVE_TEMPLATE",
            "DECODE_BASE64_STRING"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoIntFunction": {
      "id": "EnterpriseCrmEventbusProtoIntFunction",
      "type": "object",
      "properties": {
        "functionName": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNSPECIFIED",
            "ADD",
            "SUBTRACT",
            "MULTIPLY",
            "DIVIDE",
            "EXPONENT",
            "GREATER_THAN_EQUAL_TO",
            "GREATER_THAN",
            "LESS_THAN_EQUAL_TO",
            "LESS_THAN",
            "TO_DOUBLE",
            "TO_STRING",
            "EQUALS",
            "TO_JSON",
            "MOD",
            "EPOCH_TO_HUMAN_READABLE_TIME"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoDoubleFunction": {
      "id": "EnterpriseCrmEventbusProtoDoubleFunction",
      "type": "object",
      "properties": {
        "functionName": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNSPECIFIED",
            "TO_JSON",
            "TO_STRING",
            "ADD",
            "SUBTRACT",
            "MULTIPLY",
            "DIVIDE",
            "EXPONENT",
            "ROUND",
            "FLOOR",
            "CEIL",
            "GREATER_THAN",
            "LESS_THAN",
            "EQUALS",
            "GREATER_THAN_EQUALS",
            "LESS_THAN_EQUALS",
            "MOD"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoBooleanFunction": {
      "id": "EnterpriseCrmEventbusProtoBooleanFunction",
      "type": "object",
      "properties": {
        "functionName": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNSPECIFIED",
            "TO_JSON",
            "NOT",
            "AND",
            "NAND",
            "OR",
            "XOR",
            "NOR",
            "XNOR",
            "TO_STRING",
            "EQUALS"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoProtoFunction": {
      "id": "EnterpriseCrmEventbusProtoProtoFunction",
      "type": "object",
      "properties": {
        "functionName": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNSPECIFIED",
            "GET_STRING_SUBFIELD",
            "GET_INT_SUBFIELD",
            "GET_DOUBLE_SUBFIELD",
            "GET_BOOLEAN_SUBFIELD",
            "GET_STRING_ARRAY_SUBFIELD",
            "GET_INT_ARRAY_SUBFIELD",
            "GET_DOUBLE_ARRAY_SUBFIELD",
            "GET_BOOLEAN_ARRAY_SUBFIELD",
            "GET_PROTO_ARRAY_SUBFIELD",
            "GET_PROTO_SUBFIELD",
            "TO_JSON",
            "GET_BYTES_SUBFIELD_AS_UTF_8_STRING",
            "GET_BYTES_SUBFIELD_AS_PROTO",
            "EQUALS"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoStringArrayFunction": {
      "id": "EnterpriseCrmEventbusProtoStringArrayFunction",
      "type": "object",
      "properties": {
        "functionName": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNSPECIFIED",
            "GET",
            "APPEND",
            "SIZE",
            "TO_SET",
            "APPEND_ALL",
            "TO_JSON",
            "SET",
            "REMOVE",
            "REMOVE_AT",
            "CONTAINS",
            "FOR_EACH",
            "FILTER"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoIntArrayFunction": {
      "id": "EnterpriseCrmEventbusProtoIntArrayFunction",
      "type": "object",
      "properties": {
        "functionName": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNSPECIFIED",
            "GET",
            "APPEND",
            "SIZE",
            "SUM",
            "AVG",
            "MAX",
            "MIN",
            "TO_SET",
            "APPEND_ALL",
            "TO_JSON",
            "SET",
            "REMOVE",
            "REMOVE_AT",
            "CONTAINS",
            "FOR_EACH",
            "FILTER"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoDoubleArrayFunction": {
      "id": "EnterpriseCrmEventbusProtoDoubleArrayFunction",
      "type": "object",
      "properties": {
        "functionName": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNSPECIFIED",
            "GET",
            "APPEND",
            "SIZE",
            "SUM",
            "AVG",
            "MAX",
            "MIN",
            "TO_SET",
            "APPEND_ALL",
            "TO_JSON",
            "SET",
            "REMOVE",
            "REMOVE_AT",
            "CONTAINS",
            "FOR_EACH",
            "FILTER"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoBooleanArrayFunction": {
      "id": "EnterpriseCrmEventbusProtoBooleanArrayFunction",
      "type": "object",
      "properties": {
        "functionName": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNSPECIFIED",
            "GET",
            "APPEND",
            "SIZE",
            "TO_SET",
            "APPEND_ALL",
            "TO_JSON",
            "SET",
            "REMOVE",
            "REMOVE_AT",
            "CONTAINS",
            "FOR_EACH",
            "FILTER"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoProtoArrayFunction": {
      "id": "EnterpriseCrmEventbusProtoProtoArrayFunction",
      "type": "object",
      "properties": {
        "functionName": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNSPECIFIED",
            "GET",
            "APPEND",
            "SIZE",
            "TO_SET",
            "APPEND_ALL",
            "TO_JSON",
            "SET",
            "REMOVE",
            "REMOVE_AT",
            "CONTAINS",
            "FOR_EACH",
            "FILTER"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoJsonFunction": {
      "id": "EnterpriseCrmEventbusProtoJsonFunction",
      "type": "object",
      "properties": {
        "functionName": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNSPECIFIED",
            "GET_PROPERTY",
            "GET_ELEMENT",
            "APPEND_ELEMENT",
            "SIZE",
            "SET_PROPERTY",
            "FLATTEN",
            "FLATTEN_ONCE",
            "MERGE",
            "TO_STRING",
            "TO_INT",
            "TO_DOUBLE",
            "TO_BOOLEAN",
            "TO_PROTO",
            "TO_STRING_ARRAY",
            "TO_INT_ARRAY",
            "TO_DOUBLE_ARRAY",
            "TO_PROTO_ARRAY",
            "TO_BOOLEAN_ARRAY",
            "REMOVE_PROPERTY",
            "RESOLVE_TEMPLATE",
            "EQUALS",
            "FOR_EACH",
            "FILTER_ELEMENTS"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoLoopMetadata": {
      "id": "EnterpriseCrmEventbusProtoLoopMetadata",
      "type": "object",
      "properties": {
        "currentIterationCount": {
          "description": "Starting from 1, not 0.",
          "type": "string",
          "format": "int64"
        },
        "currentIterationDetail": {
          "description": "Needs to be set by the loop impl class before each iteration. The abstract loop class will append the request and response to it. Eg. The foreach Loop will clean up and set it as the current iteration element at the start of each loop. The post request and response will be appended to the value once they are available.",
          "type": "string"
        },
        "errorMsg": {
          "description": "Add the error message when loops fail.",
          "type": "string"
        },
        "failureLocation": {
          "description": "Indicates where in the loop logic did it error out.",
          "type": "string",
          "enumDescriptions": [
            "No error or Unknown.",
            "Subworkflow failed while firing/running.",
            "Param overrides failed.",
            "Param aggregation failed.",
            "Setting for loop current element failed.",
            "Getting the list to iterate.",
            "Evaluating the while loop condition.",
            "Building the iteration request"
          ],
          "enum": [
            "UNKNOWN",
            "SUBWORKFLOW",
            "PARAM_OVERRIDING",
            "PARAM_AGGREGATING",
            "SETTING_ITERATION_ELEMENT",
            "GETTING_LIST_TO_ITERATE",
            "CONDITION_EVALUATION",
            "BUILDING_REQUEST"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoParameterMap": {
      "id": "EnterpriseCrmEventbusProtoParameterMap",
      "description": "A generic multi-map that holds key value pairs. They keys and values can be of any type, unless specified.",
      "type": "object",
      "properties": {
        "entries": {
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoParameterMapEntry"
          }
        },
        "keyType": {
          "description": "Option to specify key value type for all entries of the map. If provided then field types for all entries must conform to this.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.",
            "",
            "",
            ""
          ],
          "enum": [
            "DATA_TYPE_UNSPECIFIED",
            "STRING_VALUE",
            "INT_VALUE",
            "DOUBLE_VALUE",
            "BOOLEAN_VALUE",
            "PROTO_VALUE",
            "SERIALIZED_OBJECT_VALUE",
            "STRING_ARRAY",
            "INT_ARRAY",
            "DOUBLE_ARRAY",
            "PROTO_ARRAY",
            "PROTO_ENUM",
            "BOOLEAN_ARRAY",
            "PROTO_ENUM_ARRAY",
            "BYTES",
            "BYTES_ARRAY",
            "NON_SERIALIZABLE_OBJECT",
            "JSON_VALUE"
          ]
        },
        "valueType": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.",
            "",
            "",
            ""
          ],
          "enum": [
            "DATA_TYPE_UNSPECIFIED",
            "STRING_VALUE",
            "INT_VALUE",
            "DOUBLE_VALUE",
            "BOOLEAN_VALUE",
            "PROTO_VALUE",
            "SERIALIZED_OBJECT_VALUE",
            "STRING_ARRAY",
            "INT_ARRAY",
            "DOUBLE_ARRAY",
            "PROTO_ARRAY",
            "PROTO_ENUM",
            "BOOLEAN_ARRAY",
            "PROTO_ENUM_ARRAY",
            "BYTES",
            "BYTES_ARRAY",
            "NON_SERIALIZABLE_OBJECT",
            "JSON_VALUE"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoParameterMapEntry": {
      "id": "EnterpriseCrmEventbusProtoParameterMapEntry",
      "description": "Entry is a pair of key and value.",
      "type": "object",
      "properties": {
        "key": {
          "$ref": "EnterpriseCrmEventbusProtoParameterMapField"
        },
        "value": {
          "$ref": "EnterpriseCrmEventbusProtoParameterMapField"
        }
      }
    },
    "EnterpriseCrmEventbusProtoParameterMapField": {
      "id": "EnterpriseCrmEventbusProtoParameterMapField",
      "description": "Field represents either the key or value in an entry.",
      "type": "object",
      "properties": {
        "referenceKey": {
          "description": "Referencing one of the WF variables.",
          "type": "string"
        },
        "literalValue": {
          "description": "Passing a literal value.",
          "$ref": "EnterpriseCrmEventbusProtoParameterValueType"
        }
      }
    },
    "EnterpriseCrmEventbusProtoScatterResponse": {
      "id": "EnterpriseCrmEventbusProtoScatterResponse",
      "type": "object",
      "properties": {
        "scatterElement": {
          "description": "The element that was scattered for this execution.",
          "$ref": "EnterpriseCrmEventbusProtoParameterValueType"
        },
        "executionIds": {
          "description": "The execution ids of each Subworkflow fired by this scatter.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "isSuccessful": {
          "description": "If execution is sync, this is true if the execution passed and false if it failed. If the execution is async, this is true if the WF was fired off successfully, and false if it failed to execute. The success or failure of the subworkflows executed are not captured.",
          "type": "boolean"
        },
        "responseParams": {
          "description": "A list of all the response parameters in the aggregtorMap stored with the remapped key.",
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmEventbusProtoParameterEntry"
          }
        },
        "errorMsg": {
          "description": "The error message of the failure if applicable.",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusProtoSuspensionResolutionInfo": {
      "id": "EnterpriseCrmEventbusProtoSuspensionResolutionInfo",
      "type": "object",
      "properties": {
        "suspensionId": {
          "description": "Primary key for the SuspensionResolutionInfoTable.",
          "type": "string"
        },
        "eventExecutionInfoId": {
          "description": "Required. ID of the associated execution.",
          "type": "string"
        },
        "taskNumber": {
          "description": "Required. Task number of the associated SuspensionTask.",
          "type": "string"
        },
        "status": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "PENDING_UNSPECIFIED",
            "REJECTED",
            "LIFTED",
            "CANCELED"
          ]
        },
        "audit": {
          "$ref": "EnterpriseCrmEventbusProtoSuspensionResolutionInfoAudit"
        },
        "createdTimestamp": {
          "description": "Auto-generated.",
          "type": "string",
          "format": "google-datetime"
        },
        "lastModifiedTimestamp": {
          "description": "Auto-generated.",
          "type": "string",
          "format": "google-datetime"
        },
        "suspensionConfig": {
          "$ref": "EnterpriseCrmEventbusProtoSuspensionConfig"
        },
        "workflowName": {
          "description": "Required. The name of the originating workflow.",
          "type": "string"
        },
        "externalTraffic": {
          "description": "The origin of the suspension for periodic notifications.",
          "$ref": "EnterpriseCrmEventbusProtoExternalTraffic"
        },
        "product": {
          "description": "Which Google product the suspension belongs to. If not set, the suspension belongs to Integration Platform by default.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNSPECIFIED_PRODUCT",
            "IP",
            "APIGEE",
            "SECURITY"
          ]
        },
        "cloudKmsConfig": {
          "description": "KMS info, used by cmek/gmek integration",
          "$ref": "EnterpriseCrmEventbusProtoCloudKmsConfig"
        },
        "encryptedSuspensionResolutionInfo": {
          "description": "Encrypted SuspensionResolutionInfo",
          "type": "string",
          "format": "byte"
        },
        "wrappedDek": {
          "description": "Wrapped dek",
          "type": "string",
          "format": "byte"
        },
        "clientId": {
          "description": "The event data user sends as request.",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusProtoSuspensionResolutionInfoAudit": {
      "id": "EnterpriseCrmEventbusProtoSuspensionResolutionInfoAudit",
      "type": "object",
      "properties": {
        "timestamp": {
          "type": "string",
          "format": "google-datetime"
        },
        "resolvedBy": {
          "type": "string"
        },
        "resolvedByCpi": {
          "type": "string"
        }
      }
    },
    "EnterpriseCrmEventbusProtoExternalTraffic": {
      "id": "EnterpriseCrmEventbusProtoExternalTraffic",
      "description": "Represents external traffic type and id.",
      "type": "object",
      "properties": {
        "source": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "SOURCE_UNSPECIFIED",
            "APIGEE",
            "SECURITY"
          ]
        },
        "gcpProjectId": {
          "description": "User’s GCP project id the traffic is referring to.",
          "type": "string"
        },
        "gcpProjectNumber": {
          "description": "User’s GCP project number the traffic is referring to.",
          "type": "string"
        },
        "location": {
          "description": "Location for the user's request.",
          "type": "string"
        },
        "retryRequestForQuota": {
          "description": "Enqueue the execution request due to quota issue",
          "type": "boolean"
        },
        "enableInternalIp": {
          "description": "Indicates the client enables internal IP feature, this is applicable for internal clients only.",
          "type": "boolean"
        }
      }
    },
    "EnterpriseCrmEventbusProtoCloudKmsConfig": {
      "id": "EnterpriseCrmEventbusProtoCloudKmsConfig",
      "type": "object",
      "properties": {
        "locationName": {
          "description": "Location name of the key ring, e.g. \"us-west1\".",
          "type": "string"
        },
        "keyRingName": {
          "description": "A key ring organizes keys in a specific Google Cloud location and allows you to manage access control on groups of keys. A key ring's name does not need to be unique across a Google Cloud project, but must be unique within a given location.",
          "type": "string"
        },
        "keyName": {
          "description": "A Cloud KMS key is a named object containing one or more key versions, along with metadata for the key. A key exists on exactly one key ring tied to a specific location.",
          "type": "string"
        },
        "keyVersionName": {
          "description": "Optional. Each version of a key contains key material used for encryption or signing. A key's version is represented by an integer, starting at 1. To decrypt data or verify a signature, you must use the same key version that was used to encrypt or sign the data.",
          "type": "string"
        },
        "gcpProjectId": {
          "description": "Optional. The id of GCP project where the KMS key is stored. If not provided, assume the key is stored in the same GCP project defined in Client (tag 14).",
          "type": "string"
        },
        "serviceAccount": {
          "description": "Optional. The service account used for authentication of this KMS key. If this is not provided, the service account in Client.clientSource will be used.",
          "type": "string"
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoParameterMap": {
      "id": "EnterpriseCrmFrontendsEventbusProtoParameterMap",
      "description": "A generic multi-map that holds key value pairs. They keys and values can be of any type, unless specified.",
      "type": "object",
      "properties": {
        "entries": {
          "type": "array",
          "items": {
            "$ref": "EnterpriseCrmFrontendsEventbusProtoParameterMapEntry"
          }
        },
        "keyType": {
          "description": "Option to specify key value type for all entries of the map. If provided then field types for all entries must conform to this.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.",
            "",
            "",
            ""
          ],
          "enum": [
            "DATA_TYPE_UNSPECIFIED",
            "STRING_VALUE",
            "INT_VALUE",
            "DOUBLE_VALUE",
            "BOOLEAN_VALUE",
            "PROTO_VALUE",
            "SERIALIZED_OBJECT_VALUE",
            "STRING_ARRAY",
            "INT_ARRAY",
            "DOUBLE_ARRAY",
            "PROTO_ARRAY",
            "PROTO_ENUM",
            "BOOLEAN_ARRAY",
            "PROTO_ENUM_ARRAY",
            "BYTES",
            "BYTES_ARRAY",
            "NON_SERIALIZABLE_OBJECT",
            "JSON_VALUE"
          ]
        },
        "valueType": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.",
            "",
            "",
            ""
          ],
          "enum": [
            "DATA_TYPE_UNSPECIFIED",
            "STRING_VALUE",
            "INT_VALUE",
            "DOUBLE_VALUE",
            "BOOLEAN_VALUE",
            "PROTO_VALUE",
            "SERIALIZED_OBJECT_VALUE",
            "STRING_ARRAY",
            "INT_ARRAY",
            "DOUBLE_ARRAY",
            "PROTO_ARRAY",
            "PROTO_ENUM",
            "BOOLEAN_ARRAY",
            "PROTO_ENUM_ARRAY",
            "BYTES",
            "BYTES_ARRAY",
            "NON_SERIALIZABLE_OBJECT",
            "JSON_VALUE"
          ]
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoParameterMapEntry": {
      "id": "EnterpriseCrmFrontendsEventbusProtoParameterMapEntry",
      "description": "Entry is a pair of key and value.",
      "type": "object",
      "properties": {
        "key": {
          "$ref": "EnterpriseCrmFrontendsEventbusProtoParameterMapField"
        },
        "value": {
          "$ref": "EnterpriseCrmFrontendsEventbusProtoParameterMapField"
        }
      }
    },
    "EnterpriseCrmFrontendsEventbusProtoParameterMapField": {
      "id": "EnterpriseCrmFrontendsEventbusProtoParameterMapField",
      "description": "Field represents either the key or value in an entry.",
      "type": "object",
      "properties": {
        "referenceKey": {
          "description": "Referencing one of the WF variables.",
          "type": "string"
        },
        "literalValue": {
          "description": "Passing a literal value.",
          "$ref": "EnterpriseCrmFrontendsEventbusProtoParameterValueType"
        }
      }
    },
    "EnterpriseCrmEventbusProtoConnectorsGenericConnectorTaskConfig": {
      "id": "EnterpriseCrmEventbusProtoConnectorsGenericConnectorTaskConfig",
      "type": "object",
      "properties": {
        "connection": {
          "description": "User-selected connection.",
          "$ref": "EnterpriseCrmEventbusProtoConnectorsConnection"
        },
        "operation": {
          "description": "Operation to perform using the configured connection.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "OPERATION_UNSPECIFIED",
            "EXECUTE_ACTION",
            "LIST_ENTITIES",
            "GET_ENTITY",
            "CREATE_ENTITY",
            "UPDATE_ENTITY",
            "DELETE_ENTITY",
            "EXECUTE_QUERY"
          ]
        }
      }
    },
    "EnterpriseCrmEventbusProtoConnectorsConnection": {
      "id": "EnterpriseCrmEventbusProtoConnectorsConnection",
      "type": "object",
      "properties": {
        "connectionName": {
          "description": "Connection name Format: projects/{project}/locations/{location}/connections/{connection}",
          "type": "string"
        },
        "serviceName": {
          "description": "Service name Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}",
          "type": "string"
        },
        "connectorVersion": {
          "description": "Connector version Format: projects/{project}/locations/{location}/providers/{provider}/connectors/{connector}/versions/{version}",
          "type": "string"
        },
        "host": {
          "description": "The name of the Hostname of the Service Directory service with TLS if used.",
          "type": "string"
        }
      }
    }
  },
  "parameters": {
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "alt": {
      "type": "string",
      "description": "Data format for response.",
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query"
    },
    "callback": {
      "type": "string",
      "description": "JSONP",
      "location": "query"
    },
    "fields": {
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query"
    },
    "key": {
      "type": "string",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query"
    },
    "oauth_token": {
      "type": "string",
      "description": "OAuth 2.0 token for the current user.",
      "location": "query"
    },
    "prettyPrint": {
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "default": "true",
      "location": "query"
    },
    "quotaUser": {
      "type": "string",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query"
    },
    "upload_protocol": {
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query"
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    },
    "$.xgafv": {
      "type": "string",
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query"
    }
  },
  "batchPath": "batch",
  "discoveryVersion": "v1",
  "ownerDomain": "google.com",
  "description": "",
  "fullyEncodeReservedExpansion": true,
  "ownerName": "Google",
  "rootUrl": "https://integrations.googleapis.com/",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
        }
      }
    }
  }
}
