{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://cloudfunctions.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Cloud Functions",
  "description": "Manages lightweight user-provided functions executed in response to events.",
  "discoveryVersion": "v1",
  "documentationLink": "https://cloud.google.com/functions",
  "fullyEncodeReservedExpansion": true,
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "cloudfunctions:v1beta2",
  "kind": "discovery#restDescription",
  "name": "cloudfunctions",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "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",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "operations": {
      "methods": {
        "get": {
          "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
          "flatPath": "v1beta2/operations/{operationsId}",
          "httpMethod": "GET",
          "id": "cloudfunctions.operations.get",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "The name of the operation resource.",
              "location": "path",
              "pattern": "^operations/[^/]+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1beta2/{+name}",
          "response": {
            "$ref": "Operation"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "list": {
          "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
          "flatPath": "v1beta2/operations",
          "httpMethod": "GET",
          "id": "cloudfunctions.operations.list",
          "parameterOrder": [],
          "parameters": {
            "filter": {
              "description": "Required. A filter for matching the requested operations.\u003cbr\u003e\u003cbr\u003e The supported formats of \u003cb\u003efilter\u003c/b\u003e are:\u003cbr\u003e To query for specific function: \u003ccode\u003eproject:*,location:*,function:*\u003c/code\u003e\u003cbr\u003e To query for all of the latest operations for a project: \u003ccode\u003eproject:*,latest:true\u003c/code\u003e",
              "location": "query",
              "type": "string"
            },
            "name": {
              "description": "Must not be set.",
              "location": "query",
              "type": "string"
            },
            "pageSize": {
              "description": "The standard list page size.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "The standard list page token.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1beta2/operations",
          "response": {
            "$ref": "ListOperationsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    },
    "projects": {
      "resources": {
        "locations": {
          "methods": {
            "list": {
              "description": "Lists information about the supported locations for this service.",
              "flatPath": "v1beta2/projects/{projectsId}/locations",
              "httpMethod": "GET",
              "id": "cloudfunctions.projects.locations.list",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "filter": {
                  "description": "The standard list filter.",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "description": "The resource that owns the locations collection, if applicable.",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "pageSize": {
                  "description": "The standard list page size.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "The standard list page token.",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1beta2/{+name}/locations",
              "response": {
                "$ref": "ListLocationsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            }
          },
          "resources": {
            "functions": {
              "methods": {
                "call": {
                  "description": "Synchronously invokes a deployed Cloud Function. To be used for testing\npurposes as very limited traffic is allowed. For more information on\nthe actual limits refer to [API Calls](\nhttps://cloud.google.com/functions/quotas#rate_limits).",
                  "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:call",
                  "httpMethod": "POST",
                  "id": "cloudfunctions.projects.locations.functions.call",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "Required. The name of the function to be called.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1beta2/{+name}:call",
                  "request": {
                    "$ref": "CallFunctionRequest"
                  },
                  "response": {
                    "$ref": "CallFunctionResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "create": {
                  "description": "Creates a new function. If a function with the given name already exists in\nthe specified project, the long running operation will return\n`ALREADY_EXISTS` error.",
                  "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions",
                  "httpMethod": "POST",
                  "id": "cloudfunctions.projects.locations.functions.create",
                  "parameterOrder": [
                    "location"
                  ],
                  "parameters": {
                    "location": {
                      "description": "Required. The project and location in which the function should be created, specified\nin the format `projects/*/locations/*`",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1beta2/{+location}/functions",
                  "request": {
                    "$ref": "CloudFunction"
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "delete": {
                  "description": "Deletes a function with the given name from the specified project. If the\ngiven function is used by some trigger, the trigger will be updated to\nremove this function.",
                  "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}",
                  "httpMethod": "DELETE",
                  "id": "cloudfunctions.projects.locations.functions.delete",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "Required. The name of the function which should be deleted.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1beta2/{+name}",
                  "response": {
                    "$ref": "Operation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "generateDownloadUrl": {
                  "description": "Returns a signed URL for downloading deployed function source code.\nThe URL is only valid for a limited period and should be used within\nminutes after generation.\nFor more information about the signed URL usage see:\nhttps://cloud.google.com/storage/docs/access-control/signed-urls",
                  "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:generateDownloadUrl",
                  "httpMethod": "POST",
                  "id": "cloudfunctions.projects.locations.functions.generateDownloadUrl",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "The name of function for which source code Google Cloud Storage signed\nURL should be generated.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1beta2/{+name}:generateDownloadUrl",
                  "request": {
                    "$ref": "GenerateDownloadUrlRequest"
                  },
                  "response": {
                    "$ref": "GenerateDownloadUrlResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "generateUploadUrl": {
                  "description": "Returns a signed URL for uploading a function source code.\nFor more information about the signed URL usage see:\nhttps://cloud.google.com/storage/docs/access-control/signed-urls\nOnce the function source code upload is complete, the used signed\nURL should be provided in CreateFunction or UpdateFunction request\nas a reference to the function source code.\n\nWhen uploading source code to the generated signed URL, please follow\nthese restrictions:\n\n* Source file type should be a zip file.\n* Source file size should not exceed 100MB limit.\n* No credentials should be attached - the signed URLs provide access to the\n  target bucket using internal service identity; if credentials were\n  attached, the identity from the credentials would be used, but that\n  identity does not have permissions to upload files to the URL.\n\nWhen making a HTTP PUT request, these two headers need to be specified:\n\n* `content-type: application/zip`\n* `x-goog-content-length-range: 0,104857600`\n\nAnd this header SHOULD NOT be specified:\n\n* `Authorization: Bearer YOUR_TOKEN`",
                  "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions:generateUploadUrl",
                  "httpMethod": "POST",
                  "id": "cloudfunctions.projects.locations.functions.generateUploadUrl",
                  "parameterOrder": [
                    "parent"
                  ],
                  "parameters": {
                    "parent": {
                      "description": "The project and location in which the Google Cloud Storage signed URL\nshould be generated, specified in the format `projects/*/locations/*`.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1beta2/{+parent}/functions:generateUploadUrl",
                  "request": {
                    "$ref": "GenerateUploadUrlRequest"
                  },
                  "response": {
                    "$ref": "GenerateUploadUrlResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "get": {
                  "description": "Returns a function with the given name from the requested project.",
                  "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}",
                  "httpMethod": "GET",
                  "id": "cloudfunctions.projects.locations.functions.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "Required. The name of the function which details should be obtained.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1beta2/{+name}",
                  "response": {
                    "$ref": "CloudFunction"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "list": {
                  "description": "Returns a list of functions that belong to the requested project.",
                  "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions",
                  "httpMethod": "GET",
                  "id": "cloudfunctions.projects.locations.functions.list",
                  "parameterOrder": [
                    "location"
                  ],
                  "parameters": {
                    "location": {
                      "description": "Required. The project and location from which the function should be listed,\nspecified in the format `projects/*/locations/*`\nIf you want to list functions in all locations, use \"-\" in place of a\nlocation.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "Maximum number of functions to return per call.",
                      "format": "int32",
                      "location": "query",
                      "type": "integer"
                    },
                    "pageToken": {
                      "description": "The value returned by the last\n`ListFunctionsResponse`; indicates that\nthis is a continuation of a prior `ListFunctions` call, and that the\nsystem should return the next page of data.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "path": "v1beta2/{+location}/functions",
                  "response": {
                    "$ref": "ListFunctionsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "update": {
                  "description": "Updates existing function.",
                  "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}",
                  "httpMethod": "PUT",
                  "id": "cloudfunctions.projects.locations.functions.update",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "Required. The name of the function to be updated.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1beta2/{+name}",
                  "request": {
                    "$ref": "CloudFunction"
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "revision": "20190923",
  "rootUrl": "https://cloudfunctions.googleapis.com/",
  "schemas": {
    "CallFunctionRequest": {
      "description": "Request for the `CallFunction` method.",
      "id": "CallFunctionRequest",
      "properties": {
        "data": {
          "description": "Required. Input to be passed to the function.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CallFunctionResponse": {
      "description": "Response of `CallFunction` method.",
      "id": "CallFunctionResponse",
      "properties": {
        "error": {
          "description": "Either system or user-function generated error. Set if execution\nwas not successful.",
          "type": "string"
        },
        "executionId": {
          "description": "Execution id of function invocation.",
          "type": "string"
        },
        "result": {
          "description": "Result populated for successful execution of synchronous function. Will\nnot be populated if function does not return a result through context.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CloudFunction": {
      "description": "Describes a Cloud Function that contains user computation executed in\nresponse to an event. It encapsulate function and triggers configurations.",
      "id": "CloudFunction",
      "properties": {
        "availableMemoryMb": {
          "description": "The amount of memory in MB available for a function.\nDefaults to 256MB.",
          "format": "int32",
          "type": "integer"
        },
        "entryPoint": {
          "description": "The name of the function (as defined in source code) that will be\nexecuted. Defaults to the resource name suffix, if not specified. For\nbackward compatibility, if function with given name is not found, then the\nsystem will try to use function named \"function\".\nFor Node.js this is name of a function exported by the module specified\nin `source_location`.",
          "type": "string"
        },
        "environmentVariables": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Environment variables that shall be available during function execution.",
          "type": "object"
        },
        "eventTrigger": {
          "$ref": "EventTrigger",
          "description": "A source that fires events in response to a condition in another service."
        },
        "httpsTrigger": {
          "$ref": "HTTPSTrigger",
          "description": "An HTTPS endpoint type of source that can be triggered via URL."
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Labels associated with this Cloud Function.",
          "type": "object"
        },
        "latestOperation": {
          "description": "Output only. Name of the most recent operation modifying the function. If\nthe function status is `DEPLOYING` or `DELETING`, then it points to the\nactive operation.",
          "type": "string"
        },
        "maxInstances": {
          "description": "The limit on the maximum number of function instances that may coexist at a\ngiven time.",
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "description": "A user-defined name of the function. Function names must be unique\nglobally and match pattern `projects/*/locations/*/functions/*`",
          "type": "string"
        },
        "network": {
          "description": "The VPC Network that this cloud function can connect to. It can be\neither the fully-qualified URI, or the short name of the network resource.\nIf the short network name is used, the network must belong to the same\nproject. Otherwise, it must belong to a project within the same\norganization. The format of this field is either\n`projects/{project}/global/networks/{network}` or `{network}`, where\n{project} is a project id where the network is defined, and {network} is\nthe short name of the network.\n\nThis field is mutually exclusive with `vpc_connector` and will be replaced\nby it.\n\nSee [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for\nmore information on connecting Cloud projects.",
          "type": "string"
        },
        "runtime": {
          "description": "The runtime in which to run the function. Required when deploying a new\nfunction, optional when updating an existing function. For a complete\nlist of possible choices, see the\n[`gcloud` command\nreference](/sdk/gcloud/reference/functions/deploy#--runtime).",
          "type": "string"
        },
        "serviceAccount": {
          "description": "The email of the function's service account. If empty, defaults to\n`{project_id}@appspot.gserviceaccount.com`.",
          "type": "string"
        },
        "sourceArchiveUrl": {
          "description": "The Google Cloud Storage URL, starting with gs://, pointing to the zip\narchive which contains the function.",
          "type": "string"
        },
        "sourceRepository": {
          "$ref": "SourceRepository",
          "description": "The hosted repository where the function is defined."
        },
        "sourceRepositoryUrl": {
          "description": "The URL pointing to the hosted repository where the function is defined.\nThere are supported Cloud Source Repository URLs in the following\nformats:\n\nTo refer to a specific commit:\n`https://source.developers.google.com/projects/*/repos/*/revisions/*/paths/*`\nTo refer to a moveable alias (branch):\n`https://source.developers.google.com/projects/*/repos/*/moveable-aliases/*/paths/*`\nIn particular, to refer to HEAD use `master` moveable alias.\nTo refer to a specific fixed alias (tag):\n`https://source.developers.google.com/projects/*/repos/*/fixed-aliases/*/paths/*`\n\nYou may omit `paths/*` if you want to use the main directory.",
          "type": "string"
        },
        "sourceUploadUrl": {
          "description": "The Google Cloud Storage signed URL used for source uploading, generated\nby google.cloud.functions.v1beta2.GenerateUploadUrl",
          "type": "string"
        },
        "status": {
          "description": "Output only. Status of the function deployment.",
          "enum": [
            "STATUS_UNSPECIFIED",
            "READY",
            "FAILED",
            "DEPLOYING",
            "DELETING"
          ],
          "enumDescriptions": [
            "Status not specified.",
            "Successfully deployed.",
            "Not deployed correctly - behavior is undefined. The item should be updated\nor deleted to move it out of this state.",
            "Creation or update in progress.",
            "Deletion in progress."
          ],
          "type": "string"
        },
        "timeout": {
          "description": "The function execution timeout. Execution is considered failed and\ncan be terminated if the function is not completed at the end of the\ntimeout period. Defaults to 60 seconds.",
          "format": "google-duration",
          "type": "string"
        },
        "updateTime": {
          "description": "Output only. The last update timestamp of a Cloud Function.",
          "format": "google-datetime",
          "type": "string"
        },
        "versionId": {
          "description": "Output only. The version identifier of the Cloud Function. Each deployment attempt\nresults in a new version of a function being created.",
          "format": "int64",
          "type": "string"
        },
        "vpcConnector": {
          "description": "The VPC Network Connector that this cloud function can connect to. It can\nbe either the fully-qualified URI, or the short name of the network\nconnector resource. The format of this field is\n`projects/*/locations/*/connectors/*`\n\nThis field is mutually exclusive with `network` field and will eventually\nreplace it.\n\nSee [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for\nmore information on connecting Cloud projects.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EventTrigger": {
      "description": "Describes EventTrigger, used to request events be sent from another\nservice.",
      "id": "EventTrigger",
      "properties": {
        "eventType": {
          "description": "`event_type` names contain the service that is sending an event and the\nkind of event that was fired. Must be of the form\n`providers/*/eventTypes/*` e.g. Directly handle a Message published to\nGoogle Cloud Pub/Sub `providers/cloud.pubsub/eventTypes/topic.publish`.\n\nHandle an object changing in Google Cloud Storage:\n`providers/cloud.storage/eventTypes/object.change`\n\nHandle a write to the Firebase Realtime Database:\n`providers/google.firebase.database/eventTypes/ref.write`",
          "type": "string"
        },
        "failurePolicy": {
          "$ref": "FailurePolicy",
          "description": "Specifies policy for failed executions."
        },
        "resource": {
          "description": "Which instance of the source's service should send events. E.g. for Pub/Sub\nthis would be a Pub/Sub topic at `projects/*/topics/*`. For Google Cloud\nStorage this would be a bucket at `projects/*/buckets/*`. For any source\nthat only supports one instance per-project, this should be the name of the\nproject (`projects/*`)",
          "type": "string"
        },
        "service": {
          "description": "The hostname of the service that should be observed.\n\nIf no string is provided, the default service implementing the API will\nbe used. For example, `storage.googleapis.com` is the default for all\nevent types in the `google.storage` namespace.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "FailurePolicy": {
      "description": "Describes the policy in case of function's execution failure.\nIf empty, then defaults to ignoring failures (i.e. not retrying them).",
      "id": "FailurePolicy",
      "properties": {
        "retry": {
          "$ref": "Retry",
          "description": "If specified, then the function will be retried in case of a failure."
        }
      },
      "type": "object"
    },
    "GenerateDownloadUrlRequest": {
      "description": "Request of `GenerateDownloadUrl` method.",
      "id": "GenerateDownloadUrlRequest",
      "properties": {
        "versionId": {
          "description": "The optional version of function.",
          "format": "uint64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GenerateDownloadUrlResponse": {
      "description": "Response of `GenerateDownloadUrl` method.",
      "id": "GenerateDownloadUrlResponse",
      "properties": {
        "downloadUrl": {
          "description": "The generated Google Cloud Storage signed URL that should be used for\nfunction source code download.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GenerateUploadUrlRequest": {
      "description": "Request of `GenerateUploadUrl` method.",
      "id": "GenerateUploadUrlRequest",
      "properties": {},
      "type": "object"
    },
    "GenerateUploadUrlResponse": {
      "description": "Response of `GenerateUploadUrl` method.",
      "id": "GenerateUploadUrlResponse",
      "properties": {
        "uploadUrl": {
          "description": "The generated Google Cloud Storage signed URL that should be used for a\nfunction source code upload. The uploaded file should be a zip archive\nwhich contains a function.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "HTTPSTrigger": {
      "description": "Describes HTTPSTrigger, could be used to connect web hooks to function.",
      "id": "HTTPSTrigger",
      "properties": {
        "url": {
          "description": "Output only. The deployed url for the function.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListFunctionsResponse": {
      "description": "Response for the `ListFunctions` method.",
      "id": "ListFunctionsResponse",
      "properties": {
        "functions": {
          "description": "The functions that match the request.",
          "items": {
            "$ref": "CloudFunction"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "If not empty, indicates that there may be more functions that match\nthe request; this value should be passed in a new\ngoogle.cloud.functions.v1beta2.ListFunctionsRequest\nto get more functions.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListLocationsResponse": {
      "description": "The response message for Locations.ListLocations.",
      "id": "ListLocationsResponse",
      "properties": {
        "locations": {
          "description": "A list of locations that matches the specified filter in the request.",
          "items": {
            "$ref": "Location"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListOperationsResponse": {
      "description": "The response message for Operations.ListOperations.",
      "id": "ListOperationsResponse",
      "properties": {
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        },
        "operations": {
          "description": "A list of operations that matches the specified filter in the request.",
          "items": {
            "$ref": "Operation"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Location": {
      "description": "A resource that represents Google Cloud Platform location.",
      "id": "Location",
      "properties": {
        "displayName": {
          "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".",
          "type": "string"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Cross-service attributes for the location. For example\n\n    {\"cloud.googleapis.com/region\": \"us-east1\"}",
          "type": "object"
        },
        "locationId": {
          "description": "The canonical id for this location. For example: `\"us-east1\"`.",
          "type": "string"
        },
        "metadata": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "Service-specific metadata. For example the available capacity at the given\nlocation.",
          "type": "object"
        },
        "name": {
          "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
      "id": "Operation",
      "properties": {
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
          "type": "boolean"
        },
        "error": {
          "$ref": "Status",
          "description": "The error result of the operation in case of failure or cancellation."
        },
        "metadata": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
          "type": "object"
        },
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
          "type": "string"
        },
        "response": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "OperationMetadataV1": {
      "description": "Metadata describing an Operation",
      "id": "OperationMetadataV1",
      "properties": {
        "request": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "The original request that started the operation.",
          "type": "object"
        },
        "target": {
          "description": "Target of the operation - for example\nprojects/project-1/locations/region-1/functions/function-1",
          "type": "string"
        },
        "type": {
          "description": "Type of operation.",
          "enum": [
            "OPERATION_UNSPECIFIED",
            "CREATE_FUNCTION",
            "UPDATE_FUNCTION",
            "DELETE_FUNCTION"
          ],
          "enumDescriptions": [
            "Unknown operation type.",
            "Triggered by CreateFunction call",
            "Triggered by UpdateFunction call",
            "Triggered by DeleteFunction call."
          ],
          "type": "string"
        },
        "updateTime": {
          "description": "The last update timestamp of the operation.",
          "format": "google-datetime",
          "type": "string"
        },
        "versionId": {
          "description": "Version id of the function created or updated by an API call.\nThis field is only populated for Create and Update operations.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "OperationMetadataV1Beta2": {
      "description": "Metadata describing an Operation",
      "id": "OperationMetadataV1Beta2",
      "properties": {
        "request": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "The original request that started the operation.",
          "type": "object"
        },
        "target": {
          "description": "Target of the operation - for example\nprojects/project-1/locations/region-1/functions/function-1",
          "type": "string"
        },
        "type": {
          "description": "Type of operation.",
          "enum": [
            "OPERATION_UNSPECIFIED",
            "CREATE_FUNCTION",
            "UPDATE_FUNCTION",
            "DELETE_FUNCTION"
          ],
          "enumDescriptions": [
            "Unknown operation type.",
            "Triggered by CreateFunction call",
            "Triggered by UpdateFunction call",
            "Triggered by DeleteFunction call."
          ],
          "type": "string"
        },
        "updateTime": {
          "description": "The last update timestamp of the operation.",
          "format": "google-datetime",
          "type": "string"
        },
        "versionId": {
          "description": "Version id of the function created or updated by an API call.\nThis field is only populated for Create and Update operations.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Retry": {
      "description": "Describes the retry policy in case of function's execution failure.\nA function execution will be retried on any failure.\nA failed execution will be retried up to 7 days with an exponential backoff\n(capped at 10 seconds).\nRetried execution is charged as any other execution.",
      "id": "Retry",
      "properties": {},
      "type": "object"
    },
    "SourceRepository": {
      "description": "Describes the location of the function source in a remote repository.",
      "id": "SourceRepository",
      "properties": {
        "branch": {
          "description": "The name of the branch from which the function should be fetched.",
          "type": "string"
        },
        "deployedRevision": {
          "description": "Output only. The id of the revision that was resolved at the moment of\nfunction creation or update. For example when a user deployed from a\nbranch, it will be the revision id of the latest change on this branch at\nthat time. If user deployed from revision then this value will be always\nequal to the revision specified by the user.",
          "type": "string"
        },
        "repositoryUrl": {
          "description": "URL to the hosted repository where the function is defined. Only paths in\nhttps://source.developers.google.com domain are supported. The path should\ncontain the name of the repository.",
          "type": "string"
        },
        "revision": {
          "description": "The id of the revision that captures the state of the repository from\nwhich the function should be fetched.",
          "type": "string"
        },
        "sourcePath": {
          "description": "The path within the repository where the function is defined. The path\nshould point to the directory where Cloud Functions files are located. Use\n\"/\" if the function is defined directly in the root directory of a\nrepository.",
          "type": "string"
        },
        "tag": {
          "description": "The name of the tag that captures the state of the repository from\nwhich the function should be fetched.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Status": {
      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
      "id": "Status",
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32",
          "type": "integer"
        },
        "details": {
          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          },
          "type": "array"
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Cloud Functions API",
  "version": "v1beta2",
  "version_module": true
}