| Index: generated/googleapis/lib/cloudfunctions/v1.dart | 
| diff --git a/generated/googleapis/lib/cloudfunctions/v1.dart b/generated/googleapis/lib/cloudfunctions/v1.dart | 
| index 467c19052329642270bebad5cb2d16613638c66d..a259bfbd8554318dd68166aa99d8fbcf3ac7b40b 100644 | 
| --- a/generated/googleapis/lib/cloudfunctions/v1.dart | 
| +++ b/generated/googleapis/lib/cloudfunctions/v1.dart | 
| @@ -19,14 +19,412 @@ const core.String USER_AGENT = 'dart-api-client cloudfunctions/v1'; | 
| * events. | 
| */ | 
| class CloudfunctionsApi { | 
| +  /** View and manage your data across Google Cloud Platform services */ | 
| +  static const CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"; | 
| + | 
|  | 
| final commons.ApiRequester _requester; | 
|  | 
| +  OperationsResourceApi get operations => new OperationsResourceApi(_requester); | 
| +  ProjectsResourceApi get projects => new ProjectsResourceApi(_requester); | 
| + | 
| CloudfunctionsApi(http.Client client, {core.String rootUrl: "https://cloudfunctions.googleapis.com/", core.String servicePath: ""}) : | 
| _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT); | 
| } | 
|  | 
|  | 
| +class OperationsResourceApi { | 
| +  final commons.ApiRequester _requester; | 
| + | 
| +  OperationsResourceApi(commons.ApiRequester client) : | 
| +      _requester = client; | 
| + | 
| +  /** | 
| +   * Gets the latest state of a long-running operation.  Clients can use this | 
| +   * method to poll the operation result at intervals as recommended by the API | 
| +   * service. | 
| +   * | 
| +   * Request parameters: | 
| +   * | 
| +   * [name] - The name of the operation resource. | 
| +   * Value must have pattern "^operations/[^/]+$". | 
| +   * | 
| +   * Completes with a [Operation]. | 
| +   * | 
| +   * Completes with a [commons.ApiRequestError] if the API endpoint returned an | 
| +   * error. | 
| +   * | 
| +   * If the used [http.Client] completes with an error when making a REST call, | 
| +   * this method will complete with the same error. | 
| +   */ | 
| +  async.Future<Operation> get(core.String name) { | 
| +    var _url = null; | 
| +    var _queryParams = new core.Map(); | 
| +    var _uploadMedia = null; | 
| +    var _uploadOptions = null; | 
| +    var _downloadOptions = commons.DownloadOptions.Metadata; | 
| +    var _body = null; | 
| + | 
| +    if (name == null) { | 
| +      throw new core.ArgumentError("Parameter name is required."); | 
| +    } | 
| + | 
| +    _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); | 
| + | 
| +    var _response = _requester.request(_url, | 
| +                                       "GET", | 
| +                                       body: _body, | 
| +                                       queryParams: _queryParams, | 
| +                                       uploadOptions: _uploadOptions, | 
| +                                       uploadMedia: _uploadMedia, | 
| +                                       downloadOptions: _downloadOptions); | 
| +    return _response.then((data) => new Operation.fromJson(data)); | 
| +  } | 
| + | 
| +  /** | 
| +   * Lists operations that match the specified filter in the request. If the | 
| +   * server doesn't support this method, it returns `UNIMPLEMENTED`. | 
| +   * | 
| +   * NOTE: the `name` binding allows API services to override the binding | 
| +   * to use different resource name schemes, such as `users / * /operations`. To | 
| +   * override the binding, API services can add a binding such as | 
| +   * `"/v1/{name=users / * }/operations"` to their service configuration. | 
| +   * For backwards compatibility, the default name includes the operations | 
| +   * collection id, however overriding users must ensure the name binding | 
| +   * is the parent resource, without the operations collection id. | 
| +   * | 
| +   * Request parameters: | 
| +   * | 
| +   * [pageToken] - The standard list page token. | 
| +   * | 
| +   * [name] - The name of the operation's parent resource. | 
| +   * | 
| +   * [pageSize] - The standard list page size. | 
| +   * | 
| +   * [filter] - The standard list filter. | 
| +   * | 
| +   * Completes with a [ListOperationsResponse]. | 
| +   * | 
| +   * Completes with a [commons.ApiRequestError] if the API endpoint returned an | 
| +   * error. | 
| +   * | 
| +   * If the used [http.Client] completes with an error when making a REST call, | 
| +   * this method will complete with the same error. | 
| +   */ | 
| +  async.Future<ListOperationsResponse> list({core.String pageToken, core.String name, core.int pageSize, core.String filter}) { | 
| +    var _url = null; | 
| +    var _queryParams = new core.Map(); | 
| +    var _uploadMedia = null; | 
| +    var _uploadOptions = null; | 
| +    var _downloadOptions = commons.DownloadOptions.Metadata; | 
| +    var _body = null; | 
| + | 
| +    if (pageToken != null) { | 
| +      _queryParams["pageToken"] = [pageToken]; | 
| +    } | 
| +    if (name != null) { | 
| +      _queryParams["name"] = [name]; | 
| +    } | 
| +    if (pageSize != null) { | 
| +      _queryParams["pageSize"] = ["${pageSize}"]; | 
| +    } | 
| +    if (filter != null) { | 
| +      _queryParams["filter"] = [filter]; | 
| +    } | 
| + | 
| +    _url = 'v1/operations'; | 
| + | 
| +    var _response = _requester.request(_url, | 
| +                                       "GET", | 
| +                                       body: _body, | 
| +                                       queryParams: _queryParams, | 
| +                                       uploadOptions: _uploadOptions, | 
| +                                       uploadMedia: _uploadMedia, | 
| +                                       downloadOptions: _downloadOptions); | 
| +    return _response.then((data) => new ListOperationsResponse.fromJson(data)); | 
| +  } | 
| + | 
| +} | 
| + | 
| + | 
| +class ProjectsResourceApi { | 
| +  final commons.ApiRequester _requester; | 
| + | 
| +  ProjectsLocationsResourceApi get locations => new ProjectsLocationsResourceApi(_requester); | 
| + | 
| +  ProjectsResourceApi(commons.ApiRequester client) : | 
| +      _requester = client; | 
| +} | 
| + | 
| + | 
| +class ProjectsLocationsResourceApi { | 
| +  final commons.ApiRequester _requester; | 
| + | 
| +  ProjectsLocationsResourceApi(commons.ApiRequester client) : | 
| +      _requester = client; | 
| + | 
| +  /** | 
| +   * Lists information about the supported locations for this service. | 
| +   * | 
| +   * Request parameters: | 
| +   * | 
| +   * [name] - The resource that owns the locations collection, if applicable. | 
| +   * Value must have pattern "^projects/[^/]+$". | 
| +   * | 
| +   * [filter] - The standard list filter. | 
| +   * | 
| +   * [pageToken] - The standard list page token. | 
| +   * | 
| +   * [pageSize] - The standard list page size. | 
| +   * | 
| +   * Completes with a [ListLocationsResponse]. | 
| +   * | 
| +   * Completes with a [commons.ApiRequestError] if the API endpoint returned an | 
| +   * error. | 
| +   * | 
| +   * If the used [http.Client] completes with an error when making a REST call, | 
| +   * this method will complete with the same error. | 
| +   */ | 
| +  async.Future<ListLocationsResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) { | 
| +    var _url = null; | 
| +    var _queryParams = new core.Map(); | 
| +    var _uploadMedia = null; | 
| +    var _uploadOptions = null; | 
| +    var _downloadOptions = commons.DownloadOptions.Metadata; | 
| +    var _body = null; | 
| + | 
| +    if (name == null) { | 
| +      throw new core.ArgumentError("Parameter name is required."); | 
| +    } | 
| +    if (filter != null) { | 
| +      _queryParams["filter"] = [filter]; | 
| +    } | 
| +    if (pageToken != null) { | 
| +      _queryParams["pageToken"] = [pageToken]; | 
| +    } | 
| +    if (pageSize != null) { | 
| +      _queryParams["pageSize"] = ["${pageSize}"]; | 
| +    } | 
| + | 
| +    _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/locations'; | 
| + | 
| +    var _response = _requester.request(_url, | 
| +                                       "GET", | 
| +                                       body: _body, | 
| +                                       queryParams: _queryParams, | 
| +                                       uploadOptions: _uploadOptions, | 
| +                                       uploadMedia: _uploadMedia, | 
| +                                       downloadOptions: _downloadOptions); | 
| +    return _response.then((data) => new ListLocationsResponse.fromJson(data)); | 
| +  } | 
| + | 
| +} | 
| + | 
| + | 
| + | 
| +/** The response message for Locations.ListLocations. */ | 
| +class ListLocationsResponse { | 
| +  /** A list of locations that matches the specified filter in the request. */ | 
| +  core.List<Location> locations; | 
| +  /** The standard List next-page token. */ | 
| +  core.String nextPageToken; | 
| + | 
| +  ListLocationsResponse(); | 
| + | 
| +  ListLocationsResponse.fromJson(core.Map _json) { | 
| +    if (_json.containsKey("locations")) { | 
| +      locations = _json["locations"].map((value) => new Location.fromJson(value)).toList(); | 
| +    } | 
| +    if (_json.containsKey("nextPageToken")) { | 
| +      nextPageToken = _json["nextPageToken"]; | 
| +    } | 
| +  } | 
| + | 
| +  core.Map<core.String, core.Object> toJson() { | 
| +    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); | 
| +    if (locations != null) { | 
| +      _json["locations"] = locations.map((value) => (value).toJson()).toList(); | 
| +    } | 
| +    if (nextPageToken != null) { | 
| +      _json["nextPageToken"] = nextPageToken; | 
| +    } | 
| +    return _json; | 
| +  } | 
| +} | 
| + | 
| +/** The response message for Operations.ListOperations. */ | 
| +class ListOperationsResponse { | 
| +  /** The standard List next-page token. */ | 
| +  core.String nextPageToken; | 
| +  /** A list of operations that matches the specified filter in the request. */ | 
| +  core.List<Operation> operations; | 
| + | 
| +  ListOperationsResponse(); | 
| + | 
| +  ListOperationsResponse.fromJson(core.Map _json) { | 
| +    if (_json.containsKey("nextPageToken")) { | 
| +      nextPageToken = _json["nextPageToken"]; | 
| +    } | 
| +    if (_json.containsKey("operations")) { | 
| +      operations = _json["operations"].map((value) => new Operation.fromJson(value)).toList(); | 
| +    } | 
| +  } | 
| + | 
| +  core.Map<core.String, core.Object> toJson() { | 
| +    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); | 
| +    if (nextPageToken != null) { | 
| +      _json["nextPageToken"] = nextPageToken; | 
| +    } | 
| +    if (operations != null) { | 
| +      _json["operations"] = operations.map((value) => (value).toJson()).toList(); | 
| +    } | 
| +    return _json; | 
| +  } | 
| +} | 
| + | 
| +/** A resource that represents Google Cloud Platform location. */ | 
| +class Location { | 
| +  /** | 
| +   * Cross-service attributes for the location. For example | 
| +   * | 
| +   *     {"cloud.googleapis.com/region": "us-east1"} | 
| +   */ | 
| +  core.Map<core.String, core.String> labels; | 
| +  /** The canonical id for this location. For example: `"us-east1"`. */ | 
| +  core.String locationId; | 
| +  /** | 
| +   * Service-specific metadata. For example the available capacity at the given | 
| +   * location. | 
| +   * | 
| +   * The values for Object must be JSON objects. It can consist of `num`, | 
| +   * `String`, `bool` and `null` as well as `Map` and `List` values. | 
| +   */ | 
| +  core.Map<core.String, core.Object> metadata; | 
| +  /** | 
| +   * Resource name for the location, which may vary between implementations. | 
| +   * For example: `"projects/example-project/locations/us-east1"` | 
| +   */ | 
| +  core.String name; | 
| + | 
| +  Location(); | 
| + | 
| +  Location.fromJson(core.Map _json) { | 
| +    if (_json.containsKey("labels")) { | 
| +      labels = _json["labels"]; | 
| +    } | 
| +    if (_json.containsKey("locationId")) { | 
| +      locationId = _json["locationId"]; | 
| +    } | 
| +    if (_json.containsKey("metadata")) { | 
| +      metadata = _json["metadata"]; | 
| +    } | 
| +    if (_json.containsKey("name")) { | 
| +      name = _json["name"]; | 
| +    } | 
| +  } | 
| + | 
| +  core.Map<core.String, core.Object> toJson() { | 
| +    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); | 
| +    if (labels != null) { | 
| +      _json["labels"] = labels; | 
| +    } | 
| +    if (locationId != null) { | 
| +      _json["locationId"] = locationId; | 
| +    } | 
| +    if (metadata != null) { | 
| +      _json["metadata"] = metadata; | 
| +    } | 
| +    if (name != null) { | 
| +      _json["name"] = name; | 
| +    } | 
| +    return _json; | 
| +  } | 
| +} | 
| + | 
| +/** | 
| + * This resource represents a long-running operation that is the result of a | 
| + * network API call. | 
| + */ | 
| +class Operation { | 
| +  /** | 
| +   * If the value is `false`, it means the operation is still in progress. | 
| +   * If true, the operation is completed, and either `error` or `response` is | 
| +   * available. | 
| +   */ | 
| +  core.bool done; | 
| +  /** The error result of the operation in case of failure or cancellation. */ | 
| +  Status error; | 
| +  /** | 
| +   * Service-specific metadata associated with the operation.  It typically | 
| +   * contains progress information and common metadata such as create time. | 
| +   * Some services might not provide such metadata.  Any method that returns a | 
| +   * long-running operation should document the metadata type, if any. | 
| +   * | 
| +   * The values for Object must be JSON objects. It can consist of `num`, | 
| +   * `String`, `bool` and `null` as well as `Map` and `List` values. | 
| +   */ | 
| +  core.Map<core.String, core.Object> metadata; | 
| +  /** | 
| +   * The server-assigned name, which is only unique within the same service that | 
| +   * originally returns it. If you use the default HTTP mapping, the | 
| +   * `name` should have the format of `operations/some/unique/name`. | 
| +   */ | 
| +  core.String name; | 
| +  /** | 
| +   * The normal response of the operation in case of success.  If the original | 
| +   * method returns no data on success, such as `Delete`, the response is | 
| +   * `google.protobuf.Empty`.  If the original method is standard | 
| +   * `Get`/`Create`/`Update`, the response should be the resource.  For other | 
| +   * methods, the response should have the type `XxxResponse`, where `Xxx` | 
| +   * is the original method name.  For example, if the original method name | 
| +   * is `TakeSnapshot()`, the inferred response type is | 
| +   * `TakeSnapshotResponse`. | 
| +   * | 
| +   * The values for Object must be JSON objects. It can consist of `num`, | 
| +   * `String`, `bool` and `null` as well as `Map` and `List` values. | 
| +   */ | 
| +  core.Map<core.String, core.Object> response; | 
| + | 
| +  Operation(); | 
| + | 
| +  Operation.fromJson(core.Map _json) { | 
| +    if (_json.containsKey("done")) { | 
| +      done = _json["done"]; | 
| +    } | 
| +    if (_json.containsKey("error")) { | 
| +      error = new Status.fromJson(_json["error"]); | 
| +    } | 
| +    if (_json.containsKey("metadata")) { | 
| +      metadata = _json["metadata"]; | 
| +    } | 
| +    if (_json.containsKey("name")) { | 
| +      name = _json["name"]; | 
| +    } | 
| +    if (_json.containsKey("response")) { | 
| +      response = _json["response"]; | 
| +    } | 
| +  } | 
| + | 
| +  core.Map<core.String, core.Object> toJson() { | 
| +    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); | 
| +    if (done != null) { | 
| +      _json["done"] = done; | 
| +    } | 
| +    if (error != null) { | 
| +      _json["error"] = (error).toJson(); | 
| +    } | 
| +    if (metadata != null) { | 
| +      _json["metadata"] = metadata; | 
| +    } | 
| +    if (name != null) { | 
| +      _json["name"] = name; | 
| +    } | 
| +    if (response != null) { | 
| +      _json["response"] = response; | 
| +    } | 
| +    return _json; | 
| +  } | 
| +} | 
|  | 
| /** Metadata describing an Operation */ | 
| class OperationMetadataV1Beta2 { | 
| @@ -80,3 +478,106 @@ class OperationMetadataV1Beta2 { | 
| return _json; | 
| } | 
| } | 
| + | 
| +/** | 
| + * The `Status` type defines a logical error model that is suitable for | 
| + * different | 
| + * programming environments, including REST APIs and RPC APIs. It is used by | 
| + * [gRPC](https://github.com/grpc). The error model is designed to be: | 
| + * | 
| + * - Simple to use and understand for most users | 
| + * - Flexible enough to meet unexpected needs | 
| + * | 
| + * # Overview | 
| + * | 
| + * The `Status` message contains three pieces of data: error code, error | 
| + * message, | 
| + * and error details. The error code should be an enum value of | 
| + * google.rpc.Code, but it may accept additional error codes if needed.  The | 
| + * error message should be a developer-facing English message that helps | 
| + * developers *understand* and *resolve* the error. If a localized user-facing | 
| + * error message is needed, put the localized message in the error details or | 
| + * localize it in the client. The optional error details may contain arbitrary | 
| + * information about the error. There is a predefined set of error detail types | 
| + * in the package `google.rpc` that can be used for common error conditions. | 
| + * | 
| + * # Language mapping | 
| + * | 
| + * The `Status` message is the logical representation of the error model, but it | 
| + * is not necessarily the actual wire format. When the `Status` message is | 
| + * exposed in different client libraries and different wire protocols, it can be | 
| + * mapped differently. For example, it will likely be mapped to some exceptions | 
| + * in Java, but more likely mapped to some error codes in C. | 
| + * | 
| + * # Other uses | 
| + * | 
| + * The error model and the `Status` message can be used in a variety of | 
| + * environments, either with or without APIs, to provide a | 
| + * consistent developer experience across different environments. | 
| + * | 
| + * Example uses of this error model include: | 
| + * | 
| + * - Partial errors. If a service needs to return partial errors to the client, | 
| + *     it may embed the `Status` in the normal response to indicate the partial | 
| + *     errors. | 
| + * | 
| + * - Workflow errors. A typical workflow has multiple steps. Each step may | 
| + *     have a `Status` message for error reporting. | 
| + * | 
| + * - Batch operations. If a client uses batch request and batch response, the | 
| + *     `Status` message should be used directly inside batch response, one for | 
| + *     each error sub-response. | 
| + * | 
| + * - Asynchronous operations. If an API call embeds asynchronous operation | 
| + *     results in its response, the status of those operations should be | 
| + *     represented directly using the `Status` message. | 
| + * | 
| + * - Logging. If some API errors are stored in logs, the message `Status` could | 
| + * be used directly after any stripping needed for security/privacy reasons. | 
| + */ | 
| +class Status { | 
| +  /** The status code, which should be an enum value of google.rpc.Code. */ | 
| +  core.int code; | 
| +  /** | 
| +   * A list of messages that carry the error details.  There is a common set of | 
| +   * message types for APIs to use. | 
| +   * | 
| +   * The values for Object must be JSON objects. It can consist of `num`, | 
| +   * `String`, `bool` and `null` as well as `Map` and `List` values. | 
| +   */ | 
| +  core.List<core.Map<core.String, core.Object>> details; | 
| +  /** | 
| +   * A developer-facing error message, which should be in English. Any | 
| +   * user-facing error message should be localized and sent in the | 
| +   * google.rpc.Status.details field, or localized by the client. | 
| +   */ | 
| +  core.String message; | 
| + | 
| +  Status(); | 
| + | 
| +  Status.fromJson(core.Map _json) { | 
| +    if (_json.containsKey("code")) { | 
| +      code = _json["code"]; | 
| +    } | 
| +    if (_json.containsKey("details")) { | 
| +      details = _json["details"]; | 
| +    } | 
| +    if (_json.containsKey("message")) { | 
| +      message = _json["message"]; | 
| +    } | 
| +  } | 
| + | 
| +  core.Map<core.String, core.Object> toJson() { | 
| +    final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); | 
| +    if (code != null) { | 
| +      _json["code"] = code; | 
| +    } | 
| +    if (details != null) { | 
| +      _json["details"] = details; | 
| +    } | 
| +    if (message != null) { | 
| +      _json["message"] = message; | 
| +    } | 
| +    return _json; | 
| +  } | 
| +} | 
|  |