{
  "discoveryVersion": "v1",
  "version_module": true,
  "schemas": {
    "OperationMetadataV1Beta2": {
      "description": "Metadata describing an Operation",
      "type": "object",
      "properties": {
        "target": {
          "description": "Target of the operation - for example\nprojects/project-1/locations/region-1/functions/function-1",
          "type": "string"
        },
        "versionId": {
          "format": "int64",
          "description": "Version id of the function created or updated by an API call.\nThis field is only pupulated for Create and Update operations.",
          "type": "string"
        },
        "request": {
          "type": "object",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "The original request that started the operation."
        },
        "type": {
          "enumDescriptions": [
            "Unknown operation type.",
            "Triggered by CreateFunction call",
            "Triggered by UpdateFunction call",
            "Triggered by DeleteFunction call."
          ],
          "enum": [
            "OPERATION_UNSPECIFIED",
            "CREATE_FUNCTION",
            "UPDATE_FUNCTION",
            "DELETE_FUNCTION"
          ],
          "description": "Type of operation.",
          "type": "string"
        }
      },
      "id": "OperationMetadataV1Beta2"
    },
    "Status": {
      "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed.  The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n    it may embed the `Status` in the normal response to indicate the partial\n    errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n    have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n    `Status` message should be used directly inside batch response, one for\n    each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n    results in its response, the status of those operations should be\n    represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n    be used directly after any stripping needed for security/privacy reasons.",
      "type": "object",
      "properties": {
        "code": {
          "format": "int32",
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "type": "integer"
        },
        "message": {
          "type": "string",
          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client."
        },
        "details": {
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          },
          "type": "array",
          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use."
        }
      },
      "id": "Status"
    },
    "CallFunctionRequest": {
      "type": "object",
      "properties": {
        "data": {
          "description": "Input to be passed to the function.",
          "type": "string"
        }
      },
      "id": "CallFunctionRequest",
      "description": "Request for the `CallFunction` method."
    },
    "SourceRepository": {
      "description": "Describes the location of the function source in a remote repository.",
      "type": "object",
      "properties": {
        "revision": {
          "description": "The id of the revision that captures the state of the repository from\nwhich the function should be fetched.",
          "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"
        },
        "tag": {
          "description": "The name of the tag that captures the state of the repository from\nwhich the function should be fetched.",
          "type": "string"
        },
        "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"
        },
        "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"
        }
      },
      "id": "SourceRepository"
    },
    "CloudFunction": {
      "description": "Describes a Cloud Function that contains user computation executed in\nresponse to an event. It encapsulate function and triggers configurations.",
      "type": "object",
      "properties": {
        "httpsTrigger": {
          "description": "An HTTPS endpoint type of source that can be triggered via URL.",
          "$ref": "HTTPSTrigger"
        },
        "timeout": {
          "format": "google-duration",
          "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.",
          "type": "string"
        },
        "status": {
          "type": "string",
          "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."
          ],
          "enum": [
            "STATUS_UNSPECIFIED",
            "READY",
            "FAILED",
            "DEPLOYING",
            "DELETING"
          ],
          "description": "Output only. Status of the function deployment."
        },
        "eventTrigger": {
          "$ref": "EventTrigger",
          "description": "A source that fires events in response to a condition in another service."
        },
        "availableMemoryMb": {
          "format": "int32",
          "description": "The amount of memory in MB available for a function.\nDefaults to 256MB.",
          "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"
        },
        "versionId": {
          "format": "int64",
          "description": "Output only.\nThe version identifier of the Cloud Function. Each deployment attempt\nresults in a new version of a function being created.",
          "type": "string"
        },
        "serviceAccount": {
          "description": "Output only. The service account of the function.",
          "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."
        },
        "entryPoint": {
          "type": "string",
          "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`."
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Labels associated with this Cloud Function.",
          "type": "object"
        },
        "updateTime": {
          "format": "google-datetime",
          "description": "Output only. The last update timestamp of a Cloud Function.",
          "type": "string"
        },
        "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"
        },
        "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"
        }
      },
      "id": "CloudFunction"
    },
    "Location": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`",
          "type": "string"
        },
        "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"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Cross-service attributes for the location. For example\n\n    {\"cloud.googleapis.com/region\": \"us-east1\"}",
          "type": "object"
        }
      },
      "id": "Location",
      "description": "A resource that represents Google Cloud Platform location."
    },
    "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.",
      "type": "object",
      "properties": {},
      "id": "Retry"
    },
    "ListOperationsResponse": {
      "description": "The response message for Operations.ListOperations.",
      "type": "object",
      "properties": {
        "operations": {
          "description": "A list of operations that matches the specified filter in the request.",
          "items": {
            "$ref": "Operation"
          },
          "type": "array"
        },
        "nextPageToken": {
          "type": "string",
          "description": "The standard List next-page token."
        }
      },
      "id": "ListOperationsResponse"
    },
    "ListFunctionsResponse": {
      "properties": {
        "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"
        },
        "functions": {
          "description": "The functions that match the request.",
          "items": {
            "$ref": "CloudFunction"
          },
          "type": "array"
        }
      },
      "id": "ListFunctionsResponse",
      "description": "Response for the `ListFunctions` method.",
      "type": "object"
    },
    "CallFunctionResponse": {
      "description": "Response of `CallFunction` method.",
      "type": "object",
      "properties": {
        "error": {
          "description": "Either system or user-function generated error. Set if execution\nwas not successful.",
          "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"
        },
        "executionId": {
          "description": "Execution id of function invocation.",
          "type": "string"
        }
      },
      "id": "CallFunctionResponse"
    },
    "ListLocationsResponse": {
      "description": "The response message for Locations.ListLocations.",
      "type": "object",
      "properties": {
        "locations": {
          "description": "A list of locations that matches the specified filter in the request.",
          "items": {
            "$ref": "Location"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        }
      },
      "id": "ListLocationsResponse"
    },
    "EventTrigger": {
      "type": "object",
      "properties": {
        "failurePolicy": {
          "description": "Specifies policy for failed executions.",
          "$ref": "FailurePolicy"
        },
        "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\n     Handle an object changing in Google Cloud Storage\n     `providers/cloud.storage/eventTypes/object.change`\n\n     Handle a write to the Firebase Realtime Database\n     `providers/google.firebase.database/eventTypes/ref.write`",
          "type": "string"
        },
        "resource": {
          "type": "string",
          "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/*`)"
        },
        "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"
        }
      },
      "id": "EventTrigger",
      "description": "Describes EventTrigger, used to request events be sent from another\nservice."
    },
    "HTTPSTrigger": {
      "id": "HTTPSTrigger",
      "description": "Describes HTTPSTrigger, could be used to connect web hooks to function.",
      "type": "object",
      "properties": {
        "url": {
          "description": "Output only. The deployed url for the function.",
          "type": "string"
        }
      }
    },
    "FailurePolicy": {
      "properties": {
        "retry": {
          "$ref": "Retry",
          "description": "If specified, then the function will be retried in case of a failure."
        }
      },
      "id": "FailurePolicy",
      "description": "Describes the policy in case of function's execution failure.\nIf empty, then defaults to ignoring failures (i.e. not retrying them).",
      "type": "object"
    },
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
      "type": "object",
      "properties": {
        "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"
        },
        "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 have the format of `operations/some/unique/name`.",
          "type": "string"
        },
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "Status"
        },
        "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"
        },
        "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"
        }
      },
      "id": "Operation"
    }
  },
  "protocol": "rest",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "canonicalName": "Cloud Functions",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        }
      }
    }
  },
  "rootUrl": "https://cloudfunctions.googleapis.com/",
  "ownerDomain": "google.com",
  "name": "cloudfunctions",
  "batchPath": "batch",
  "fullyEncodeReservedExpansion": true,
  "title": "Google Cloud Functions API",
  "ownerName": "Google",
  "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.",
          "httpMethod": "GET",
          "response": {
            "$ref": "Operation"
          },
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "The name of the operation resource.",
              "type": "string",
              "required": true,
              "pattern": "^operations/[^/]+$",
              "location": "path"
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "flatPath": "v1beta2/operations/{operationsId}",
          "path": "v1beta2/{+name}",
          "id": "cloudfunctions.operations.get"
        },
        "list": {
          "id": "cloudfunctions.operations.list",
          "path": "v1beta2/operations",
          "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.",
          "response": {
            "$ref": "ListOperationsResponse"
          },
          "parameterOrder": [],
          "httpMethod": "GET",
          "parameters": {
            "filter": {
              "location": "query",
              "description": "The standard list filter.",
              "type": "string"
            },
            "pageToken": {
              "location": "query",
              "description": "The standard list page token.",
              "type": "string"
            },
            "name": {
              "description": "The name of the operation's parent resource.",
              "type": "string",
              "location": "query"
            },
            "pageSize": {
              "format": "int32",
              "description": "The standard list page size.",
              "type": "integer",
              "location": "query"
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "flatPath": "v1beta2/operations"
        }
      }
    },
    "projects": {
      "resources": {
        "locations": {
          "resources": {
            "functions": {
              "methods": {
                "delete": {
                  "id": "cloudfunctions.projects.locations.functions.delete",
                  "path": "v1beta2/{+name}",
                  "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.",
                  "response": {
                    "$ref": "Operation"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "DELETE",
                  "parameters": {
                    "name": {
                      "description": "The name of the function which should be deleted.",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$",
                      "location": "path"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}"
                },
                "list": {
                  "id": "cloudfunctions.projects.locations.functions.list",
                  "path": "v1beta2/{+location}/functions",
                  "description": "Returns a list of functions that belong to the requested project.",
                  "response": {
                    "$ref": "ListFunctionsResponse"
                  },
                  "parameterOrder": [
                    "location"
                  ],
                  "httpMethod": "GET",
                  "parameters": {
                    "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.",
                      "type": "string",
                      "location": "query"
                    },
                    "pageSize": {
                      "location": "query",
                      "format": "int32",
                      "description": "Maximum number of functions to return per call.",
                      "type": "integer"
                    },
                    "location": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "description": "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.",
                      "type": "string",
                      "required": true
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions"
                },
                "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.",
                  "request": {
                    "$ref": "CloudFunction"
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "parameterOrder": [
                    "location"
                  ],
                  "httpMethod": "POST",
                  "parameters": {
                    "location": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "description": "The project and location in which the function should be created, specified\nin the format `projects/*/locations/*`",
                      "type": "string",
                      "required": true
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions",
                  "id": "cloudfunctions.projects.locations.functions.create",
                  "path": "v1beta2/{+location}/functions"
                },
                "call": {
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "CallFunctionResponse"
                  },
                  "parameters": {
                    "name": {
                      "location": "path",
                      "description": "The name of the function to be called.",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:call",
                  "path": "v1beta2/{+name}:call",
                  "id": "cloudfunctions.projects.locations.functions.call",
                  "description": "Invokes synchronously deployed function. To be used for testing, very\nlimited traffic allowed.",
                  "request": {
                    "$ref": "CallFunctionRequest"
                  }
                },
                "get": {
                  "response": {
                    "$ref": "CloudFunction"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "name": {
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$",
                      "location": "path",
                      "description": "The name of the function which details should be obtained."
                    }
                  },
                  "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}",
                  "id": "cloudfunctions.projects.locations.functions.get",
                  "path": "v1beta2/{+name}",
                  "description": "Returns a function with the given name from the requested project."
                },
                "update": {
                  "id": "cloudfunctions.projects.locations.functions.update",
                  "path": "v1beta2/{+name}",
                  "description": "Updates existing function.",
                  "request": {
                    "$ref": "CloudFunction"
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "PUT",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "description": "The name of the function to be updated.",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}"
                }
              }
            }
          },
          "methods": {
            "list": {
              "flatPath": "v1beta2/projects/{projectsId}/locations",
              "id": "cloudfunctions.projects.locations.list",
              "path": "v1beta2/{+name}/locations",
              "description": "Lists information about the supported locations for this service.",
              "response": {
                "$ref": "ListLocationsResponse"
              },
              "parameterOrder": [
                "name"
              ],
              "httpMethod": "GET",
              "parameters": {
                "pageToken": {
                  "location": "query",
                  "description": "The standard list page token.",
                  "type": "string"
                },
                "name": {
                  "location": "path",
                  "description": "The resource that owns the locations collection, if applicable.",
                  "type": "string",
                  "required": true,
                  "pattern": "^projects/[^/]+$"
                },
                "pageSize": {
                  "location": "query",
                  "format": "int32",
                  "description": "The standard list page size.",
                  "type": "integer"
                },
                "filter": {
                  "description": "The standard list filter.",
                  "type": "string",
                  "location": "query"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            }
          }
        }
      }
    }
  },
  "parameters": {
    "upload_protocol": {
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string"
    },
    "prettyPrint": {
      "location": "query",
      "description": "Returns response with indentations and line breaks.",
      "default": "true",
      "type": "boolean"
    },
    "uploadType": {
      "type": "string",
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "fields": {
      "location": "query",
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string"
    },
    "callback": {
      "location": "query",
      "description": "JSONP",
      "type": "string"
    },
    "$.xgafv": {
      "location": "query",
      "enum": [
        "1",
        "2"
      ],
      "description": "V1 error format.",
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ]
    },
    "alt": {
      "description": "Data format for response.",
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "type": "string",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query"
    },
    "key": {
      "location": "query",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "type": "string"
    },
    "access_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth access token."
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "type": "string",
      "location": "query"
    },
    "pp": {
      "location": "query",
      "description": "Pretty-print response.",
      "default": "true",
      "type": "boolean"
    },
    "oauth_token": {
      "location": "query",
      "description": "OAuth 2.0 token for the current user.",
      "type": "string"
    },
    "bearer_token": {
      "description": "OAuth bearer token.",
      "type": "string",
      "location": "query"
    }
  },
  "version": "v1beta2",
  "baseUrl": "https://cloudfunctions.googleapis.com/",
  "servicePath": "",
  "description": "API for managing lightweight user-provided functions executed in response to events.",
  "kind": "discovery#restDescription",
  "basePath": "",
  "id": "cloudfunctions:v1beta2",
  "documentationLink": "https://cloud.google.com/functions",
  "revision": "20171009"
}
