Api-Roll 51: 2017-07-10
R=vegorov@google.com
Review-Url: https://codereview.chromium.org//2973303002 .
diff --git a/generated/googleapis/lib/adexperiencereport/v1.dart b/generated/googleapis/lib/adexperiencereport/v1.dart
new file mode 100644
index 0000000..e3a0703
--- /dev/null
+++ b/generated/googleapis/lib/adexperiencereport/v1.dart
@@ -0,0 +1,289 @@
+// This is a generated file (see the discoveryapis_generator project).
+
+library googleapis.adexperiencereport.v1;
+
+import 'dart:core' as core;
+import 'dart:async' as async;
+import 'dart:convert' as convert;
+
+import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons;
+import 'package:http/http.dart' as http;
+
+export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show
+ ApiRequestError, DetailedApiRequestError;
+
+const core.String USER_AGENT = 'dart-api-client adexperiencereport/v1';
+
+/**
+ * View Ad Experience Report data, and get a list of sites that have a
+ * significant number of annoying ads.
+ */
+class AdexperiencereportApi {
+ /** Test scope for access to the Zoo service */
+ static const XapiZooScope = "https://www.googleapis.com/auth/xapi.zoo";
+
+
+ final commons.ApiRequester _requester;
+
+ SitesResourceApi get sites => new SitesResourceApi(_requester);
+ ViolatingSitesResourceApi get violatingSites => new ViolatingSitesResourceApi(_requester);
+
+ AdexperiencereportApi(http.Client client, {core.String rootUrl: "https://adexperiencereport.googleapis.com/", core.String servicePath: ""}) :
+ _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT);
+}
+
+
+class SitesResourceApi {
+ final commons.ApiRequester _requester;
+
+ SitesResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Gets a summary of the ads rating of a site.
+ *
+ * Request parameters:
+ *
+ * [name] - The required site name. It should be a site property registered in
+ * Search
+ * Console. The server will return an error of BAD_REQUEST if this field is
+ * not filled in.
+ * Value must have pattern "^sites/[^/]+$".
+ *
+ * Completes with a [SiteSummaryResponse].
+ *
+ * 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<SiteSummaryResponse> 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 SiteSummaryResponse.fromJson(data));
+ }
+
+}
+
+
+class ViolatingSitesResourceApi {
+ final commons.ApiRequester _requester;
+
+ ViolatingSitesResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Lists sites with Ad Experience Report statuses of "Failing" or "Warning".
+ *
+ * Request parameters:
+ *
+ * Completes with a [ViolatingSitesResponse].
+ *
+ * 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<ViolatingSitesResponse> list() {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+
+ _url = 'v1/violatingSites';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new ViolatingSitesResponse.fromJson(data));
+ }
+
+}
+
+
+
+/** Summary of the ads rating of a site for a specific platform. */
+class PlatformSummary {
+ /**
+ * The status of the site reviewed for the Better Ads Standards.
+ * Possible string values are:
+ * - "UNKNOWN" : Not reviewed.
+ * - "PASSING" : Passing.
+ * - "WARNING" : Warning.
+ * - "FAILING" : Failing.
+ */
+ core.String betterAdsStatus;
+ /**
+ * The status of the site reviewed for egregious ads.
+ * Possible string values are:
+ * - "UNKNOWN" : Not reviewed.
+ * - "PASSING" : Passing.
+ * - "FAILING" : Failing.
+ */
+ core.String egregiousStatus;
+ /** The date on which ad filtering begins. */
+ core.String enforcementTime;
+ /**
+ * The ad filtering status of the site.
+ * Possible string values are:
+ * - "UNKNOWN" : N/A.
+ * - "ON" : Ad filtering is on.
+ * - "OFF" : Ad filtering is off.
+ * - "PAUSED" : Ad filtering is paused.
+ * - "PENDING" : Ad filtering is pending.
+ */
+ core.String filterStatus;
+ /** The last time that the site changed status. */
+ core.String lastChangeTime;
+ /** The assigned regions for the site and platform. */
+ core.List<core.String> region;
+ /** A link that leads to a full ad experience report. */
+ core.String reportUrl;
+ /** Whether the site is currently under review. */
+ core.bool underReview;
+
+ PlatformSummary();
+
+ PlatformSummary.fromJson(core.Map _json) {
+ if (_json.containsKey("betterAdsStatus")) {
+ betterAdsStatus = _json["betterAdsStatus"];
+ }
+ if (_json.containsKey("egregiousStatus")) {
+ egregiousStatus = _json["egregiousStatus"];
+ }
+ if (_json.containsKey("enforcementTime")) {
+ enforcementTime = _json["enforcementTime"];
+ }
+ if (_json.containsKey("filterStatus")) {
+ filterStatus = _json["filterStatus"];
+ }
+ if (_json.containsKey("lastChangeTime")) {
+ lastChangeTime = _json["lastChangeTime"];
+ }
+ if (_json.containsKey("region")) {
+ region = _json["region"];
+ }
+ if (_json.containsKey("reportUrl")) {
+ reportUrl = _json["reportUrl"];
+ }
+ if (_json.containsKey("underReview")) {
+ underReview = _json["underReview"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (betterAdsStatus != null) {
+ _json["betterAdsStatus"] = betterAdsStatus;
+ }
+ if (egregiousStatus != null) {
+ _json["egregiousStatus"] = egregiousStatus;
+ }
+ if (enforcementTime != null) {
+ _json["enforcementTime"] = enforcementTime;
+ }
+ if (filterStatus != null) {
+ _json["filterStatus"] = filterStatus;
+ }
+ if (lastChangeTime != null) {
+ _json["lastChangeTime"] = lastChangeTime;
+ }
+ if (region != null) {
+ _json["region"] = region;
+ }
+ if (reportUrl != null) {
+ _json["reportUrl"] = reportUrl;
+ }
+ if (underReview != null) {
+ _json["underReview"] = underReview;
+ }
+ return _json;
+ }
+}
+
+/** Response message for GetSiteSummary. */
+class SiteSummaryResponse {
+ /** Summary for the desktop review of the site. */
+ PlatformSummary desktopSummary;
+ /** Summary for the mobile review of the site. */
+ PlatformSummary mobileSummary;
+ /** The name of the site reviewed. */
+ core.String reviewedSite;
+
+ SiteSummaryResponse();
+
+ SiteSummaryResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("desktopSummary")) {
+ desktopSummary = new PlatformSummary.fromJson(_json["desktopSummary"]);
+ }
+ if (_json.containsKey("mobileSummary")) {
+ mobileSummary = new PlatformSummary.fromJson(_json["mobileSummary"]);
+ }
+ if (_json.containsKey("reviewedSite")) {
+ reviewedSite = _json["reviewedSite"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (desktopSummary != null) {
+ _json["desktopSummary"] = (desktopSummary).toJson();
+ }
+ if (mobileSummary != null) {
+ _json["mobileSummary"] = (mobileSummary).toJson();
+ }
+ if (reviewedSite != null) {
+ _json["reviewedSite"] = reviewedSite;
+ }
+ return _json;
+ }
+}
+
+/** Response message for ListViolatingSites. */
+class ViolatingSitesResponse {
+ /** A list of summaries of violating sites. */
+ core.List<SiteSummaryResponse> violatingSites;
+
+ ViolatingSitesResponse();
+
+ ViolatingSitesResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("violatingSites")) {
+ violatingSites = _json["violatingSites"].map((value) => new SiteSummaryResponse.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 (violatingSites != null) {
+ _json["violatingSites"] = violatingSites.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
diff --git a/generated/googleapis/lib/admin/directory_v1.dart b/generated/googleapis/lib/admin/directory_v1.dart
index a5427b6..8190043 100644
--- a/generated/googleapis/lib/admin/directory_v1.dart
+++ b/generated/googleapis/lib/admin/directory_v1.dart
@@ -445,6 +445,8 @@
* - "status" : Chromebook status.
* - "supportEndDate" : Chromebook support end date.
*
+ * [orgUnitPath] - Full path of the organization unit or its Id
+ *
* [pageToken] - Token to specify next page in the list
*
* [projection] - Restrict information returned to a set of selected fields.
@@ -470,7 +472,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ChromeOsDevices> list(core.String customerId, {core.int maxResults, core.String orderBy, core.String pageToken, core.String projection, core.String query, core.String sortOrder}) {
+ async.Future<ChromeOsDevices> list(core.String customerId, {core.int maxResults, core.String orderBy, core.String orgUnitPath, core.String pageToken, core.String projection, core.String query, core.String sortOrder}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -487,6 +489,9 @@
if (orderBy != null) {
_queryParams["orderBy"] = [orderBy];
}
+ if (orgUnitPath != null) {
+ _queryParams["orgUnitPath"] = [orgUnitPath];
+ }
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
@@ -8001,6 +8006,13 @@
core.bool isMailboxSetup;
/** Kind of resource this is. */
core.String kind;
+ /**
+ *
+ *
+ * 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.Object languages;
/** User's last login time. (Read-only) */
core.DateTime lastLoginTime;
/**
@@ -8147,6 +8159,9 @@
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
+ if (_json.containsKey("languages")) {
+ languages = _json["languages"];
+ }
if (_json.containsKey("lastLoginTime")) {
lastLoginTime = core.DateTime.parse(_json["lastLoginTime"]);
}
@@ -8271,6 +8286,9 @@
if (kind != null) {
_json["kind"] = kind;
}
+ if (languages != null) {
+ _json["languages"] = languages;
+ }
if (lastLoginTime != null) {
_json["lastLoginTime"] = (lastLoginTime).toIso8601String();
}
@@ -8698,11 +8716,48 @@
}
}
+/** JSON template for a language entry. */
+class UserLanguage {
+ /**
+ * Other language. User can provide own language name if there is no
+ * corresponding Google III language code. If this is set LanguageCode can't
+ * be set
+ */
+ core.String customLanguage;
+ /**
+ * Language Code. Should be used for storing Google III LanguageCode string
+ * representation for language. Illegal values cause SchemaException.
+ */
+ core.String languageCode;
+
+ UserLanguage();
+
+ UserLanguage.fromJson(core.Map _json) {
+ if (_json.containsKey("customLanguage")) {
+ customLanguage = _json["customLanguage"];
+ }
+ if (_json.containsKey("languageCode")) {
+ languageCode = _json["languageCode"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (customLanguage != null) {
+ _json["customLanguage"] = customLanguage;
+ }
+ if (languageCode != null) {
+ _json["languageCode"] = languageCode;
+ }
+ return _json;
+ }
+}
+
/** JSON template for a location entry. */
class UserLocation {
/**
* Textual location. This is most useful for display purposes to concisely
- * describe the location. E.g. "Mountain View, CA", "Near Seattle",
+ * describe the location. For example, "Mountain View, CA", "Near Seattle",
* "US-NYC-9TH 9A209A".
*/
core.String area;
@@ -8715,9 +8770,9 @@
/** Floor name/number. */
core.String floorName;
/**
- * Floor Section. More specific location within the floor. E.g. if a floor is
- * divided into sections "A", "B", and "C", this field would identify one of
- * those values.
+ * Floor section. More specific location within the floor. For example, if a
+ * floor is divided into sections "A", "B", and "C", this field would identify
+ * one of those values.
*/
core.String floorSection;
/**
@@ -8857,6 +8912,10 @@
/** The domain to which the organization belongs to. */
core.String domain;
/**
+ * The full-time equivalent percent within the organization (100000 = 100%).
+ */
+ core.int fullTimeEquivalent;
+ /**
* Location of the organization. This need not be fully qualified address.
*/
core.String location;
@@ -8895,6 +8954,9 @@
if (_json.containsKey("domain")) {
domain = _json["domain"];
}
+ if (_json.containsKey("fullTimeEquivalent")) {
+ fullTimeEquivalent = _json["fullTimeEquivalent"];
+ }
if (_json.containsKey("location")) {
location = _json["location"];
}
@@ -8932,6 +8994,9 @@
if (domain != null) {
_json["domain"] = domain;
}
+ if (fullTimeEquivalent != null) {
+ _json["fullTimeEquivalent"] = fullTimeEquivalent;
+ }
if (location != null) {
_json["location"] = location;
}
diff --git a/generated/googleapis/lib/admin/reports_v1.dart b/generated/googleapis/lib/admin/reports_v1.dart
index a49417d..60aae5c 100644
--- a/generated/googleapis/lib/admin/reports_v1.dart
+++ b/generated/googleapis/lib/admin/reports_v1.dart
@@ -56,7 +56,7 @@
* [applicationName] - Application name for which the events are to be
* retrieved.
* Value must have pattern
- * "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)|(saml)|(chat)".
+ * "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)|(saml)|(chat)|(gplus)|(rules)".
*
* [actorIpAddress] - IP Address of host where the event was performed.
* Supports both IPv4 and IPv6 addresses.
@@ -157,7 +157,7 @@
* [applicationName] - Application name for which the events are to be
* retrieved.
* Value must have pattern
- * "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)|(saml)|(chat)".
+ * "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)|(saml)|(chat)|(gplus)|(rules)".
*
* [actorIpAddress] - IP Address of host where the event was performed.
* Supports both IPv4 and IPv6 addresses.
@@ -322,7 +322,7 @@
* [parameters] - Represents the application name, parameter name pairs to
* fetch in csv as app_name1:param_name1, app_name2:param_name2.
* Value must have pattern
- * "(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+,)*(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+)".
+ * "(((accounts)|(app_maker)|(apps_scripts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+,)*(((accounts)|(app_maker)|(apps_scripts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+)".
*
* Completes with a [UsageReports].
*
diff --git a/generated/googleapis/lib/appengine/v1.dart b/generated/googleapis/lib/appengine/v1.dart
index 078f510..c987edb 100644
--- a/generated/googleapis/lib/appengine/v1.dart
+++ b/generated/googleapis/lib/appengine/v1.dart
@@ -623,8 +623,6 @@
*
* [servicesId] - Part of `name`. See documentation of `appsId`.
*
- * [updateMask] - Standard field mask for the set of fields to be updated.
- *
* [migrateTraffic] - Set to true to gradually shift traffic to one or more
* versions that you specify. By default, traffic is shifted immediately. For
* gradual traffic migration, the target versions must be located within
@@ -639,6 +637,8 @@
* Splitting Traffic
* (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).
*
+ * [updateMask] - Standard field mask for the set of fields to be updated.
+ *
* Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -647,7 +647,7 @@
* 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> patch(Service request, core.String appsId, core.String servicesId, {core.String updateMask, core.bool migrateTraffic}) {
+ async.Future<Operation> patch(Service request, core.String appsId, core.String servicesId, {core.bool migrateTraffic, core.String updateMask}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -664,12 +664,12 @@
if (servicesId == null) {
throw new core.ArgumentError("Parameter servicesId is required.");
}
- if (updateMask != null) {
- _queryParams["updateMask"] = [updateMask];
- }
if (migrateTraffic != null) {
_queryParams["migrateTraffic"] = ["${migrateTraffic}"];
}
+ if (updateMask != null) {
+ _queryParams["updateMask"] = [updateMask];
+ }
_url = 'v1/apps/' + commons.Escaper.ecapeVariable('$appsId') + '/services/' + commons.Escaper.ecapeVariable('$servicesId');
@@ -1191,10 +1191,10 @@
*
* [versionsId] - Part of `parent`. See documentation of `appsId`.
*
- * [pageToken] - Continuation token for fetching the next page of results.
- *
* [pageSize] - Maximum results to return per page.
*
+ * [pageToken] - Continuation token for fetching the next page of results.
+ *
* Completes with a [ListInstancesResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1203,7 +1203,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListInstancesResponse> list(core.String appsId, core.String servicesId, core.String versionsId, {core.String pageToken, core.int pageSize}) {
+ async.Future<ListInstancesResponse> list(core.String appsId, core.String servicesId, core.String versionsId, {core.int pageSize, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1220,12 +1220,12 @@
if (versionsId == null) {
throw new core.ArgumentError("Parameter versionsId is required.");
}
- if (pageToken != null) {
- _queryParams["pageToken"] = [pageToken];
- }
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
_url = 'v1/apps/' + commons.Escaper.ecapeVariable('$appsId') + '/services/' + commons.Escaper.ecapeVariable('$servicesId') + '/versions/' + commons.Escaper.ecapeVariable('$versionsId') + '/instances';
diff --git a/generated/googleapis/lib/bigquery/v2.dart b/generated/googleapis/lib/bigquery/v2.dart
index 9c92f22..f879413 100644
--- a/generated/googleapis/lib/bigquery/v2.dart
+++ b/generated/googleapis/lib/bigquery/v2.dart
@@ -5050,6 +5050,8 @@
core.Map<core.String, core.String> labels;
/** A reference uniquely identifying the table. */
TableReference tableReference;
+ /** [Experimental] The time-based partitioning for this table. */
+ TimePartitioning timePartitioning;
/** The type of table. Possible values are: TABLE, VIEW. */
core.String type;
/** Additional details for a view. */
@@ -5073,6 +5075,9 @@
if (_json.containsKey("tableReference")) {
tableReference = new TableReference.fromJson(_json["tableReference"]);
}
+ if (_json.containsKey("timePartitioning")) {
+ timePartitioning = new TimePartitioning.fromJson(_json["timePartitioning"]);
+ }
if (_json.containsKey("type")) {
type = _json["type"];
}
@@ -5098,6 +5103,9 @@
if (tableReference != null) {
_json["tableReference"] = (tableReference).toJson();
}
+ if (timePartitioning != null) {
+ _json["timePartitioning"] = (timePartitioning).toJson();
+ }
if (type != null) {
_json["type"] = type;
}
diff --git a/generated/googleapis/lib/bigquerydatatransfer/v1.dart b/generated/googleapis/lib/bigquerydatatransfer/v1.dart
index 1528ade..e53ddd6 100644
--- a/generated/googleapis/lib/bigquerydatatransfer/v1.dart
+++ b/generated/googleapis/lib/bigquerydatatransfer/v1.dart
@@ -22,6 +22,12 @@
/** View and manage your data in Google BigQuery */
static const BigqueryScope = "https://www.googleapis.com/auth/bigquery";
+ /** View and manage your data across Google Cloud Platform services */
+ static const CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform";
+
+ /** View your data across Google Cloud Platform services */
+ static const CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only";
+
final commons.ApiRequester _requester;
@@ -582,6 +588,11 @@
*
* [parent] - The BigQuery project id where the transfer configuration should
* be created.
+ * Must be in the format /projects/{project_id}/locations/{location_id}
+ * or
+ * /projects/{project_id}/locations/-
+ * In case when '-' is specified as location_id, location is infered from
+ * the destination dataset region.
* Value must have pattern "^projects/[^/]+/locations/[^/]+$".
*
* [authorizationCode] - Optional OAuth2 authorization code to use with this
@@ -736,6 +747,9 @@
* should be returned: `projects/{project_id}`.
* Value must have pattern "^projects/[^/]+/locations/[^/]+$".
*
+ * [dataSourceIds] - When specified, only configurations of requested data
+ * sources are returned.
+ *
* [pageToken] - Pagination token, which can be used to request a specific
* page
* of `ListTransfersRequest` list results. For multiple-page
@@ -746,9 +760,6 @@
* [pageSize] - Page size. The default page size is the maximum value of 1000
* results.
*
- * [dataSourceIds] - When specified, only configurations of requested data
- * sources are returned.
- *
* Completes with a [ListTransferConfigsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -757,7 +768,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListTransferConfigsResponse> list(core.String parent, {core.String pageToken, core.int pageSize, core.List<core.String> dataSourceIds}) {
+ async.Future<ListTransferConfigsResponse> list(core.String parent, {core.List<core.String> dataSourceIds, core.String pageToken, core.int pageSize}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -768,15 +779,15 @@
if (parent == null) {
throw new core.ArgumentError("Parameter parent is required.");
}
+ if (dataSourceIds != null) {
+ _queryParams["dataSourceIds"] = dataSourceIds;
+ }
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
- if (dataSourceIds != null) {
- _queryParams["dataSourceIds"] = dataSourceIds;
- }
_url = 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/transferConfigs';
@@ -1033,12 +1044,12 @@
* a `next_page` token, which can be used as the
* `page_token` value to request the next page of list results.
*
- * [statuses] - When specified, only transfer runs with requested statuses are
- * returned.
- *
* [pageSize] - Page size. The default page size is the maximum value of 1000
* results.
*
+ * [statuses] - When specified, only transfer runs with requested statuses are
+ * returned.
+ *
* [runAttempt] - Indicates how run attempts are to be pulled.
* Possible string values are:
* - "RUN_ATTEMPT_UNSPECIFIED" : A RUN_ATTEMPT_UNSPECIFIED.
@@ -1052,7 +1063,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListTransferRunsResponse> list(core.String parent, {core.String pageToken, core.List<core.String> statuses, core.int pageSize, core.String runAttempt}) {
+ async.Future<ListTransferRunsResponse> list(core.String parent, {core.String pageToken, core.int pageSize, core.List<core.String> statuses, core.String runAttempt}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1066,12 +1077,12 @@
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
- if (statuses != null) {
- _queryParams["statuses"] = statuses;
- }
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
+ if (statuses != null) {
+ _queryParams["statuses"] = statuses;
+ }
if (runAttempt != null) {
_queryParams["runAttempt"] = [runAttempt];
}
@@ -1107,6 +1118,10 @@
* Value must have pattern
* "^projects/[^/]+/locations/[^/]+/transferConfigs/[^/]+/runs/[^/]+$".
*
+ * [messageTypes] - Message types to return. If not populated - INFO, WARNING
+ * and ERROR
+ * messages are returned.
+ *
* [pageToken] - Pagination token, which can be used to request a specific
* page
* of `ListTransferLogsRequest` list results. For multiple-page
@@ -1117,10 +1132,6 @@
* [pageSize] - Page size. The default page size is the maximum value of 1000
* results.
*
- * [messageTypes] - Message types to return. If not populated - INFO, WARNING
- * and ERROR
- * messages are returned.
- *
* Completes with a [ListTransferLogsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1129,7 +1140,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListTransferLogsResponse> list(core.String parent, {core.String pageToken, core.int pageSize, core.List<core.String> messageTypes}) {
+ async.Future<ListTransferLogsResponse> list(core.String parent, {core.List<core.String> messageTypes, core.String pageToken, core.int pageSize}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1140,15 +1151,15 @@
if (parent == null) {
throw new core.ArgumentError("Parameter parent is required.");
}
+ if (messageTypes != null) {
+ _queryParams["messageTypes"] = messageTypes;
+ }
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
- if (messageTypes != null) {
- _queryParams["messageTypes"] = messageTypes;
- }
_url = 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/transferLogs';
@@ -1182,6 +1193,11 @@
*
* [parent] - The BigQuery project id where the transfer configuration should
* be created.
+ * Must be in the format /projects/{project_id}/locations/{location_id}
+ * or
+ * /projects/{project_id}/locations/-
+ * In case when '-' is specified as location_id, location is infered from
+ * the destination dataset region.
* Value must have pattern "^projects/[^/]+$".
*
* [authorizationCode] - Optional OAuth2 authorization code to use with this
@@ -1334,6 +1350,9 @@
* should be returned: `projects/{project_id}`.
* Value must have pattern "^projects/[^/]+$".
*
+ * [dataSourceIds] - When specified, only configurations of requested data
+ * sources are returned.
+ *
* [pageToken] - Pagination token, which can be used to request a specific
* page
* of `ListTransfersRequest` list results. For multiple-page
@@ -1344,9 +1363,6 @@
* [pageSize] - Page size. The default page size is the maximum value of 1000
* results.
*
- * [dataSourceIds] - When specified, only configurations of requested data
- * sources are returned.
- *
* Completes with a [ListTransferConfigsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1355,7 +1371,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListTransferConfigsResponse> list(core.String parent, {core.String pageToken, core.int pageSize, core.List<core.String> dataSourceIds}) {
+ async.Future<ListTransferConfigsResponse> list(core.String parent, {core.List<core.String> dataSourceIds, core.String pageToken, core.int pageSize}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1366,15 +1382,15 @@
if (parent == null) {
throw new core.ArgumentError("Parameter parent is required.");
}
+ if (dataSourceIds != null) {
+ _queryParams["dataSourceIds"] = dataSourceIds;
+ }
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
- if (dataSourceIds != null) {
- _queryParams["dataSourceIds"] = dataSourceIds;
- }
_url = 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/transferConfigs';
@@ -1403,8 +1419,6 @@
* guaranteed or required. The name is ignored when creating a transfer run.
* Value must have pattern "^projects/[^/]+/transferConfigs/[^/]+$".
*
- * [updateMask] - Required list of fields to be updated in this request.
- *
* [authorizationCode] - Optional OAuth2 authorization code to use with this
* transfer configuration.
* If it is provided, the transfer configuration will be associated with the
@@ -1423,6 +1437,8 @@
* returned in the title bar of the browser, with the page text prompting
* the user to copy the code and paste it in the application.
*
+ * [updateMask] - Required list of fields to be updated in this request.
+ *
* Completes with a [TransferConfig].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1431,7 +1447,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<TransferConfig> patch(TransferConfig request, core.String name, {core.String updateMask, core.String authorizationCode}) {
+ async.Future<TransferConfig> patch(TransferConfig request, core.String name, {core.String authorizationCode, core.String updateMask}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1445,12 +1461,12 @@
if (name == null) {
throw new core.ArgumentError("Parameter name is required.");
}
- if (updateMask != null) {
- _queryParams["updateMask"] = [updateMask];
- }
if (authorizationCode != null) {
_queryParams["authorizationCode"] = [authorizationCode];
}
+ if (updateMask != null) {
+ _queryParams["updateMask"] = [updateMask];
+ }
_url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
@@ -1621,6 +1637,11 @@
* `projects/{project_id}/transferConfigs/{config_id}`.
* Value must have pattern "^projects/[^/]+/transferConfigs/[^/]+$".
*
+ * [runAttempt] - Indicates how run attempts are to be pulled.
+ * Possible string values are:
+ * - "RUN_ATTEMPT_UNSPECIFIED" : A RUN_ATTEMPT_UNSPECIFIED.
+ * - "LATEST" : A LATEST.
+ *
* [pageToken] - Pagination token, which can be used to request a specific
* page
* of `ListTransferRunsRequest` list results. For multiple-page
@@ -1628,16 +1649,11 @@
* a `next_page` token, which can be used as the
* `page_token` value to request the next page of list results.
*
- * [statuses] - When specified, only transfer runs with requested statuses are
- * returned.
- *
* [pageSize] - Page size. The default page size is the maximum value of 1000
* results.
*
- * [runAttempt] - Indicates how run attempts are to be pulled.
- * Possible string values are:
- * - "RUN_ATTEMPT_UNSPECIFIED" : A RUN_ATTEMPT_UNSPECIFIED.
- * - "LATEST" : A LATEST.
+ * [statuses] - When specified, only transfer runs with requested statuses are
+ * returned.
*
* Completes with a [ListTransferRunsResponse].
*
@@ -1647,7 +1663,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListTransferRunsResponse> list(core.String parent, {core.String pageToken, core.List<core.String> statuses, core.int pageSize, core.String runAttempt}) {
+ async.Future<ListTransferRunsResponse> list(core.String parent, {core.String runAttempt, core.String pageToken, core.int pageSize, core.List<core.String> statuses}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1658,17 +1674,17 @@
if (parent == null) {
throw new core.ArgumentError("Parameter parent is required.");
}
+ if (runAttempt != null) {
+ _queryParams["runAttempt"] = [runAttempt];
+ }
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
- if (statuses != null) {
- _queryParams["statuses"] = statuses;
- }
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
- if (runAttempt != null) {
- _queryParams["runAttempt"] = [runAttempt];
+ if (statuses != null) {
+ _queryParams["statuses"] = statuses;
}
_url = 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/runs';
@@ -2491,6 +2507,12 @@
core.int dataRefreshWindowDays;
/** Data source id. Cannot be changed once data transfer is created. */
core.String dataSourceId;
+ /**
+ * Region in which BigQuery dataset is located. Currently possible values are:
+ * "US" and "EU".
+ * @OutputOnly
+ */
+ core.String datasetRegion;
/** The BigQuery target dataset id. */
core.String destinationDatasetId;
/**
@@ -2552,6 +2574,13 @@
* @OutputOnly
*/
core.String updateTime;
+ /**
+ * GaiaID of the user on whose behalf transfer is done. Applicable only
+ * to data sources that do not support service accounts. When set to 0,
+ * the data source service account credentials are used.
+ * @OutputOnly
+ */
+ core.String userId;
TransferConfig();
@@ -2562,6 +2591,9 @@
if (_json.containsKey("dataSourceId")) {
dataSourceId = _json["dataSourceId"];
}
+ if (_json.containsKey("datasetRegion")) {
+ datasetRegion = _json["datasetRegion"];
+ }
if (_json.containsKey("destinationDatasetId")) {
destinationDatasetId = _json["destinationDatasetId"];
}
@@ -2589,6 +2621,9 @@
if (_json.containsKey("updateTime")) {
updateTime = _json["updateTime"];
}
+ if (_json.containsKey("userId")) {
+ userId = _json["userId"];
+ }
}
core.Map<core.String, core.Object> toJson() {
@@ -2599,6 +2634,9 @@
if (dataSourceId != null) {
_json["dataSourceId"] = dataSourceId;
}
+ if (datasetRegion != null) {
+ _json["datasetRegion"] = datasetRegion;
+ }
if (destinationDatasetId != null) {
_json["destinationDatasetId"] = destinationDatasetId;
}
@@ -2626,6 +2664,9 @@
if (updateTime != null) {
_json["updateTime"] = updateTime;
}
+ if (userId != null) {
+ _json["userId"] = userId;
+ }
return _json;
}
}
@@ -2682,6 +2723,12 @@
* @OutputOnly
*/
core.String dataSourceId;
+ /**
+ * Region in which BigQuery dataset is located. Currently possible values are:
+ * "US" and "EU".
+ * @OutputOnly
+ */
+ core.String datasetRegion;
/** The BigQuery target dataset id. */
core.String destinationDatasetId;
/**
@@ -2693,7 +2740,7 @@
/**
* The resource name of the transfer run.
* Transfer run names have the form
- * `projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}`.
+ * `projects/{project_id}/locations/{location}/transferConfigs/{config_id}/runs/{run_id}`.
* The name is ignored when creating a transfer run.
*/
core.String name;
@@ -2745,6 +2792,11 @@
* @OutputOnly
*/
core.String updateTime;
+ /**
+ * The user id for this transfer run.
+ * @OutputOnly
+ */
+ core.String userId;
TransferRun();
@@ -2752,6 +2804,9 @@
if (_json.containsKey("dataSourceId")) {
dataSourceId = _json["dataSourceId"];
}
+ if (_json.containsKey("datasetRegion")) {
+ datasetRegion = _json["datasetRegion"];
+ }
if (_json.containsKey("destinationDatasetId")) {
destinationDatasetId = _json["destinationDatasetId"];
}
@@ -2782,6 +2837,9 @@
if (_json.containsKey("updateTime")) {
updateTime = _json["updateTime"];
}
+ if (_json.containsKey("userId")) {
+ userId = _json["userId"];
+ }
}
core.Map<core.String, core.Object> toJson() {
@@ -2789,6 +2847,9 @@
if (dataSourceId != null) {
_json["dataSourceId"] = dataSourceId;
}
+ if (datasetRegion != null) {
+ _json["datasetRegion"] = datasetRegion;
+ }
if (destinationDatasetId != null) {
_json["destinationDatasetId"] = destinationDatasetId;
}
@@ -2819,6 +2880,9 @@
if (updateTime != null) {
_json["updateTime"] = updateTime;
}
+ if (userId != null) {
+ _json["userId"] = userId;
+ }
return _json;
}
}
diff --git a/generated/googleapis/lib/classroom/v1.dart b/generated/googleapis/lib/classroom/v1.dart
index 119940f..03c3eeb 100644
--- a/generated/googleapis/lib/classroom/v1.dart
+++ b/generated/googleapis/lib/classroom/v1.dart
@@ -254,6 +254,24 @@
*
* Request parameters:
*
+ * [pageSize] - Maximum number of items to return. Zero or unspecified
+ * indicates that the
+ * server may assign a maximum.
+ *
+ * The server may return fewer than the specified number of results.
+ *
+ * [courseStates] - Restricts returned courses to those in one of the
+ * specified states
+ * The default value is ACTIVE, ARCHIVED, PROVISIONED, DECLINED.
+ *
+ * [teacherId] - Restricts returned courses to those having a teacher with the
+ * specified
+ * identifier. The identifier can be one of the following:
+ *
+ * * the numeric identifier for the user
+ * * the email address of the user
+ * * the string literal `"me"`, indicating the requesting user
+ *
* [studentId] - Restricts returned courses to those having a student with the
* specified
* identifier. The identifier can be one of the following:
@@ -270,24 +288,6 @@
* The list request must be
* otherwise identical to the one that resulted in this token.
*
- * [pageSize] - Maximum number of items to return. Zero or unspecified
- * indicates that the
- * server may assign a maximum.
- *
- * The server may return fewer than the specified number of results.
- *
- * [teacherId] - Restricts returned courses to those having a teacher with the
- * specified
- * identifier. The identifier can be one of the following:
- *
- * * the numeric identifier for the user
- * * the email address of the user
- * * the string literal `"me"`, indicating the requesting user
- *
- * [courseStates] - Restricts returned courses to those in one of the
- * specified states
- * The default value is ACTIVE, ARCHIVED, PROVISIONED, DECLINED.
- *
* Completes with a [ListCoursesResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -296,7 +296,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListCoursesResponse> list({core.String studentId, core.String pageToken, core.int pageSize, core.String teacherId, core.List<core.String> courseStates}) {
+ async.Future<ListCoursesResponse> list({core.int pageSize, core.List<core.String> courseStates, core.String teacherId, core.String studentId, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -304,21 +304,21 @@
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (pageSize != null) {
+ _queryParams["pageSize"] = ["${pageSize}"];
+ }
+ if (courseStates != null) {
+ _queryParams["courseStates"] = courseStates;
+ }
+ if (teacherId != null) {
+ _queryParams["teacherId"] = [teacherId];
+ }
if (studentId != null) {
_queryParams["studentId"] = [studentId];
}
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
- if (pageSize != null) {
- _queryParams["pageSize"] = ["${pageSize}"];
- }
- if (teacherId != null) {
- _queryParams["teacherId"] = [teacherId];
- }
- if (courseStates != null) {
- _queryParams["courseStates"] = courseStates;
- }
_url = 'v1/courses';
@@ -854,6 +854,21 @@
* This identifier can be either the Classroom-assigned identifier or an
* alias.
*
+ * [pageToken] - nextPageToken
+ * value returned from a previous
+ * list call,
+ * indicating that the subsequent page of results should be returned.
+ *
+ * The list request
+ * must be otherwise identical to the one that resulted in this token.
+ *
+ * [orderBy] - Optional sort ordering for results. A comma-separated list of
+ * fields with
+ * an optional sort direction keyword. Supported fields are `updateTime`
+ * and `dueDate`. Supported direction keywords are `asc` and `desc`.
+ * If not specified, `updateTime desc` is the default behavior.
+ * Examples: `dueDate asc,updateTime desc`, `updateTime,dueDate desc`
+ *
* [pageSize] - Maximum number of items to return. Zero or unspecified
* indicates that the
* server may assign a maximum.
@@ -865,21 +880,6 @@
* is returned. If unspecified, items with a work status of `PUBLISHED`
* is returned.
*
- * [orderBy] - Optional sort ordering for results. A comma-separated list of
- * fields with
- * an optional sort direction keyword. Supported fields are `updateTime`
- * and `dueDate`. Supported direction keywords are `asc` and `desc`.
- * If not specified, `updateTime desc` is the default behavior.
- * Examples: `dueDate asc,updateTime desc`, `updateTime,dueDate desc`
- *
- * [pageToken] - nextPageToken
- * value returned from a previous
- * list call,
- * indicating that the subsequent page of results should be returned.
- *
- * The list request
- * must be otherwise identical to the one that resulted in this token.
- *
* Completes with a [ListCourseWorkResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -888,7 +888,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListCourseWorkResponse> list(core.String courseId, {core.int pageSize, core.List<core.String> courseWorkStates, core.String orderBy, core.String pageToken}) {
+ async.Future<ListCourseWorkResponse> list(core.String courseId, {core.String pageToken, core.String orderBy, core.int pageSize, core.List<core.String> courseWorkStates}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -899,18 +899,18 @@
if (courseId == null) {
throw new core.ArgumentError("Parameter courseId is required.");
}
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+ if (orderBy != null) {
+ _queryParams["orderBy"] = [orderBy];
+ }
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
if (courseWorkStates != null) {
_queryParams["courseWorkStates"] = courseWorkStates;
}
- if (orderBy != null) {
- _queryParams["orderBy"] = [orderBy];
- }
- if (pageToken != null) {
- _queryParams["pageToken"] = [pageToken];
- }
_url = 'v1/courses/' + commons.Escaper.ecapeVariable('$courseId') + '/courseWork';
@@ -972,6 +972,7 @@
* * `due_date`
* * `due_time`
* * `max_points`
+ * * `scheduled_time`
* * `submission_modification_mode`
*
* Completes with a [CourseWork].
@@ -1108,15 +1109,6 @@
* This may be set to the string literal `"-"` to request student work for
* all course work in the specified course.
*
- * [late] - Requested lateness value. If specified, returned student
- * submissions are
- * restricted by the requested value.
- * If unspecified, submissions are returned regardless of `late` value.
- * Possible string values are:
- * - "LATE_VALUES_UNSPECIFIED" : A LATE_VALUES_UNSPECIFIED.
- * - "LATE_ONLY" : A LATE_ONLY.
- * - "NOT_LATE_ONLY" : A NOT_LATE_ONLY.
- *
* [pageToken] - nextPageToken
* value returned from a previous
* list call,
@@ -1144,6 +1136,15 @@
* * the email address of the user
* * the string literal `"me"`, indicating the requesting user
*
+ * [late] - Requested lateness value. If specified, returned student
+ * submissions are
+ * restricted by the requested value.
+ * If unspecified, submissions are returned regardless of `late` value.
+ * Possible string values are:
+ * - "LATE_VALUES_UNSPECIFIED" : A LATE_VALUES_UNSPECIFIED.
+ * - "LATE_ONLY" : A LATE_ONLY.
+ * - "NOT_LATE_ONLY" : A NOT_LATE_ONLY.
+ *
* Completes with a [ListStudentSubmissionsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1152,7 +1153,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListStudentSubmissionsResponse> list(core.String courseId, core.String courseWorkId, {core.String late, core.String pageToken, core.int pageSize, core.List<core.String> states, core.String userId}) {
+ async.Future<ListStudentSubmissionsResponse> list(core.String courseId, core.String courseWorkId, {core.String pageToken, core.int pageSize, core.List<core.String> states, core.String userId, core.String late}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1166,9 +1167,6 @@
if (courseWorkId == null) {
throw new core.ArgumentError("Parameter courseWorkId is required.");
}
- if (late != null) {
- _queryParams["late"] = [late];
- }
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
@@ -1181,6 +1179,9 @@
if (userId != null) {
_queryParams["userId"] = [userId];
}
+ if (late != null) {
+ _queryParams["late"] = [late];
+ }
_url = 'v1/courses/' + commons.Escaper.ecapeVariable('$courseId') + '/courseWork/' + commons.Escaper.ecapeVariable('$courseWorkId') + '/studentSubmissions';
@@ -1789,10 +1790,6 @@
* This identifier can be either the Classroom-assigned identifier or an
* alias.
*
- * [pageSize] - Maximum number of items to return. Zero means no maximum.
- *
- * The server may return fewer than the specified number of results.
- *
* [pageToken] - nextPageToken
* value returned from a previous
* list call, indicating that
@@ -1801,6 +1798,10 @@
* The list request must be
* otherwise identical to the one that resulted in this token.
*
+ * [pageSize] - Maximum number of items to return. Zero means no maximum.
+ *
+ * The server may return fewer than the specified number of results.
+ *
* Completes with a [ListStudentsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1809,7 +1810,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListStudentsResponse> list(core.String courseId, {core.int pageSize, core.String pageToken}) {
+ async.Future<ListStudentsResponse> list(core.String courseId, {core.String pageToken, core.int pageSize}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1820,12 +1821,12 @@
if (courseId == null) {
throw new core.ArgumentError("Parameter courseId is required.");
}
- if (pageSize != null) {
- _queryParams["pageSize"] = ["${pageSize}"];
- }
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
+ if (pageSize != null) {
+ _queryParams["pageSize"] = ["${pageSize}"];
+ }
_url = 'v1/courses/' + commons.Escaper.ecapeVariable('$courseId') + '/students';
@@ -2307,14 +2308,6 @@
*
* Request parameters:
*
- * [userId] - Restricts returned invitations to those for a specific user. The
- * identifier
- * can be one of the following:
- *
- * * the numeric identifier for the user
- * * the email address of the user
- * * the string literal `"me"`, indicating the requesting user
- *
* [pageToken] - nextPageToken
* value returned from a previous
* list call, indicating
@@ -2323,6 +2316,14 @@
* The list request must be
* otherwise identical to the one that resulted in this token.
*
+ * [userId] - Restricts returned invitations to those for a specific user. The
+ * identifier
+ * can be one of the following:
+ *
+ * * the numeric identifier for the user
+ * * the email address of the user
+ * * the string literal `"me"`, indicating the requesting user
+ *
* [pageSize] - Maximum number of items to return. Zero means no maximum.
*
* The server may return fewer than the specified number of results.
@@ -2339,7 +2340,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListInvitationsResponse> list({core.String userId, core.String pageToken, core.int pageSize, core.String courseId}) {
+ async.Future<ListInvitationsResponse> list({core.String pageToken, core.String userId, core.int pageSize, core.String courseId}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -2347,12 +2348,12 @@
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (userId != null) {
- _queryParams["userId"] = [userId];
- }
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
+ if (userId != null) {
+ _queryParams["userId"] = [userId];
+ }
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
@@ -2615,20 +2616,20 @@
* The list request
* must be otherwise identical to the one that resulted in this token.
*
- * [invitedEmailAddress] - If specified, only results with the specified
- * `invited_email_address`
- * will be returned.
- *
- * [states] - If specified, only results with the specified `state` values
- * will be
- * returned. Otherwise, results with a `state` of `PENDING` will be returned.
- *
* [pageSize] - Maximum number of items to return. Zero or unspecified
* indicates that the
* server may assign a maximum.
*
* The server may return fewer than the specified number of results.
*
+ * [states] - If specified, only results with the specified `state` values
+ * will be
+ * returned. Otherwise, results with a `state` of `PENDING` will be returned.
+ *
+ * [invitedEmailAddress] - If specified, only results with the specified
+ * `invited_email_address`
+ * will be returned.
+ *
* Completes with a [ListGuardianInvitationsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -2637,7 +2638,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListGuardianInvitationsResponse> list(core.String studentId, {core.String pageToken, core.String invitedEmailAddress, core.List<core.String> states, core.int pageSize}) {
+ async.Future<ListGuardianInvitationsResponse> list(core.String studentId, {core.String pageToken, core.int pageSize, core.List<core.String> states, core.String invitedEmailAddress}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -2651,14 +2652,14 @@
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
- if (invitedEmailAddress != null) {
- _queryParams["invitedEmailAddress"] = [invitedEmailAddress];
+ if (pageSize != null) {
+ _queryParams["pageSize"] = ["${pageSize}"];
}
if (states != null) {
_queryParams["states"] = states;
}
- if (pageSize != null) {
- _queryParams["pageSize"] = ["${pageSize}"];
+ if (invitedEmailAddress != null) {
+ _queryParams["invitedEmailAddress"] = [invitedEmailAddress];
}
_url = 'v1/userProfiles/' + commons.Escaper.ecapeVariable('$studentId') + '/guardianInvitations';
@@ -2932,17 +2933,17 @@
* The list request
* must be otherwise identical to the one that resulted in this token.
*
- * [invitedEmailAddress] - Filter results by the email address that the
- * original invitation was sent
- * to, resulting in this guardian link.
- * This filter can only be used by domain administrators.
- *
* [pageSize] - Maximum number of items to return. Zero or unspecified
* indicates that the
* server may assign a maximum.
*
* The server may return fewer than the specified number of results.
*
+ * [invitedEmailAddress] - Filter results by the email address that the
+ * original invitation was sent
+ * to, resulting in this guardian link.
+ * This filter can only be used by domain administrators.
+ *
* Completes with a [ListGuardiansResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -2951,7 +2952,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListGuardiansResponse> list(core.String studentId, {core.String pageToken, core.String invitedEmailAddress, core.int pageSize}) {
+ async.Future<ListGuardiansResponse> list(core.String studentId, {core.String pageToken, core.int pageSize, core.String invitedEmailAddress}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -2965,12 +2966,12 @@
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
- if (invitedEmailAddress != null) {
- _queryParams["invitedEmailAddress"] = [invitedEmailAddress];
- }
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
+ if (invitedEmailAddress != null) {
+ _queryParams["invitedEmailAddress"] = [invitedEmailAddress];
+ }
_url = 'v1/userProfiles/' + commons.Escaper.ecapeVariable('$studentId') + '/guardians';
@@ -5292,7 +5293,9 @@
*/
core.String photoUrl;
/**
- * Whether or not the user is a verified teacher
+ * Represents whether a G Suite for Education user's domain administrator has
+ * explicitly verified them as being a teacher. If the user is not a member of
+ * a G Suite for Education domain, than this field will always be false.
*
* Read-only
*/
diff --git a/generated/googleapis/lib/cloudbuild/v1.dart b/generated/googleapis/lib/cloudbuild/v1.dart
index 2192951..7a0d4ed 100644
--- a/generated/googleapis/lib/cloudbuild/v1.dart
+++ b/generated/googleapis/lib/cloudbuild/v1.dart
@@ -370,12 +370,12 @@
*
* [projectId] - ID of the project.
*
- * [filter] - The raw filter text to constrain the results.
- *
* [pageToken] - Token to provide to skip to a particular spot in the list.
*
* [pageSize] - Number of results to return in the list.
*
+ * [filter] - The raw filter text to constrain the results.
+ *
* Completes with a [ListBuildsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -384,7 +384,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListBuildsResponse> list(core.String projectId, {core.String filter, core.String pageToken, core.int pageSize}) {
+ async.Future<ListBuildsResponse> list(core.String projectId, {core.String pageToken, core.int pageSize, core.String filter}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -395,15 +395,15 @@
if (projectId == null) {
throw new core.ArgumentError("Parameter projectId is required.");
}
- if (filter != null) {
- _queryParams["filter"] = [filter];
- }
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
_url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/builds';
@@ -943,6 +943,15 @@
core.String requestedVerifyOption;
/** Requested hash for SourceProvenance. */
core.List<core.String> sourceProvenanceHash;
+ /**
+ * SubstitutionOption to allow unmatch substitutions.
+ * Possible string values are:
+ * - "MUST_MATCH" : Fails the build if error in substitutions checks, like
+ * missing
+ * a substitution in the template or in the map.
+ * - "ALLOW_LOOSE" : Do not fail the build if error in substitutions checks.
+ */
+ core.String substitutionOption;
BuildOptions();
@@ -953,6 +962,9 @@
if (_json.containsKey("sourceProvenanceHash")) {
sourceProvenanceHash = _json["sourceProvenanceHash"];
}
+ if (_json.containsKey("substitutionOption")) {
+ substitutionOption = _json["substitutionOption"];
+ }
}
core.Map<core.String, core.Object> toJson() {
@@ -963,6 +975,9 @@
if (sourceProvenanceHash != null) {
_json["sourceProvenanceHash"] = sourceProvenanceHash;
}
+ if (substitutionOption != null) {
+ _json["substitutionOption"] = substitutionOption;
+ }
return _json;
}
}
@@ -1744,8 +1759,8 @@
/** 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 will be a
- * common set of message types for APIs to use.
+ * 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.
diff --git a/generated/googleapis/lib/clouddebugger/v2.dart b/generated/googleapis/lib/clouddebugger/v2.dart
index 1900b61..5d23d33 100644
--- a/generated/googleapis/lib/clouddebugger/v2.dart
+++ b/generated/googleapis/lib/clouddebugger/v2.dart
@@ -130,11 +130,6 @@
*
* [debuggeeId] - Identifies the debuggee.
*
- * [waitToken] - A wait token that, if specified, blocks the method call until
- * the list
- * of active breakpoints has changed, or a server selected timeout has
- * expired. The value should be set from the last returned response.
- *
* [successOnTimeout] - If set to `true`, returns `google.rpc.Code.OK` status
* and sets the
* `wait_expired` response field to `true` when the server-selected timeout
@@ -143,6 +138,11 @@
* If set to `false`, returns `google.rpc.Code.ABORTED` status when the
* server-selected timeout has expired (deprecated).
*
+ * [waitToken] - A wait token that, if specified, blocks the method call until
+ * the list
+ * of active breakpoints has changed, or a server selected timeout has
+ * expired. The value should be set from the last returned response.
+ *
* Completes with a [ListActiveBreakpointsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -151,7 +151,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListActiveBreakpointsResponse> list(core.String debuggeeId, {core.String waitToken, core.bool successOnTimeout}) {
+ async.Future<ListActiveBreakpointsResponse> list(core.String debuggeeId, {core.bool successOnTimeout, core.String waitToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -162,12 +162,12 @@
if (debuggeeId == null) {
throw new core.ArgumentError("Parameter debuggeeId is required.");
}
- if (waitToken != null) {
- _queryParams["waitToken"] = [waitToken];
- }
if (successOnTimeout != null) {
_queryParams["successOnTimeout"] = ["${successOnTimeout}"];
}
+ if (waitToken != null) {
+ _queryParams["waitToken"] = [waitToken];
+ }
_url = 'v2/controller/debuggees/' + commons.Escaper.ecapeVariable('$debuggeeId') + '/breakpoints';
@@ -428,6 +428,10 @@
*
* [debuggeeId] - ID of the debuggee whose breakpoints to list.
*
+ * [stripResults] - This field is deprecated. The following fields are always
+ * stripped out of
+ * the result: `stack_frames`, `evaluated_expressions` and `variable_table`.
+ *
* [waitToken] - A wait token that, if specified, blocks the call until the
* breakpoints
* list has changed, or a server selected timeout has expired. The value
@@ -435,26 +439,22 @@
* `google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which
* should be called again with the same `wait_token`.
*
+ * [clientVersion] - The client version making the call.
+ * Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
+ *
* [action_value] - Only breakpoints with the specified action will pass the
* filter.
* Possible string values are:
* - "CAPTURE" : A CAPTURE.
* - "LOG" : A LOG.
*
- * [clientVersion] - The client version making the call.
- * Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
- *
- * [includeInactive] - When set to `true`, the response includes active and
- * inactive
- * breakpoints. Otherwise, it includes only active breakpoints.
- *
* [includeAllUsers] - When set to `true`, the response includes the list of
* breakpoints set by
* any user. Otherwise, it includes only breakpoints set by the caller.
*
- * [stripResults] - This field is deprecated. The following fields are always
- * stripped out of
- * the result: `stack_frames`, `evaluated_expressions` and `variable_table`.
+ * [includeInactive] - When set to `true`, the response includes active and
+ * inactive
+ * breakpoints. Otherwise, it includes only active breakpoints.
*
* Completes with a [ListBreakpointsResponse].
*
@@ -464,7 +464,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListBreakpointsResponse> list(core.String debuggeeId, {core.String waitToken, core.String action_value, core.String clientVersion, core.bool includeInactive, core.bool includeAllUsers, core.bool stripResults}) {
+ async.Future<ListBreakpointsResponse> list(core.String debuggeeId, {core.bool stripResults, core.String waitToken, core.String clientVersion, core.String action_value, core.bool includeAllUsers, core.bool includeInactive}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -475,23 +475,23 @@
if (debuggeeId == null) {
throw new core.ArgumentError("Parameter debuggeeId is required.");
}
+ if (stripResults != null) {
+ _queryParams["stripResults"] = ["${stripResults}"];
+ }
if (waitToken != null) {
_queryParams["waitToken"] = [waitToken];
}
- if (action_value != null) {
- _queryParams["action.value"] = [action_value];
- }
if (clientVersion != null) {
_queryParams["clientVersion"] = [clientVersion];
}
- if (includeInactive != null) {
- _queryParams["includeInactive"] = ["${includeInactive}"];
+ if (action_value != null) {
+ _queryParams["action.value"] = [action_value];
}
if (includeAllUsers != null) {
_queryParams["includeAllUsers"] = ["${includeAllUsers}"];
}
- if (stripResults != null) {
- _queryParams["stripResults"] = ["${stripResults}"];
+ if (includeInactive != null) {
+ _queryParams["includeInactive"] = ["${includeInactive}"];
}
_url = 'v2/debugger/debuggees/' + commons.Escaper.ecapeVariable('$debuggeeId') + '/breakpoints';
diff --git a/generated/googleapis/lib/cloudkms/v1.dart b/generated/googleapis/lib/cloudkms/v1.dart
index 6717b89..73be975 100644
--- a/generated/googleapis/lib/cloudkms/v1.dart
+++ b/generated/googleapis/lib/cloudkms/v1.dart
@@ -98,12 +98,12 @@
* [name] - The resource that owns the locations collection, if applicable.
* Value must have pattern "^projects/[^/]+$".
*
- * [pageSize] - The standard list page size.
- *
* [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
@@ -112,7 +112,7 @@
* 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.int pageSize, core.String filter, core.String pageToken}) {
+ 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;
@@ -123,15 +123,15 @@
if (name == null) {
throw new core.ArgumentError("Parameter name is required.");
}
- if (pageSize != null) {
- _queryParams["pageSize"] = ["${pageSize}"];
- }
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';
@@ -710,14 +710,14 @@
* `projects / * /locations / * /keyRings / * `.
* Value must have pattern "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+$".
*
+ * [pageToken] - Optional pagination token, returned earlier via
+ * ListCryptoKeysResponse.next_page_token.
+ *
* [pageSize] - Optional limit on the number of CryptoKeys to include in the
* response. Further CryptoKeys can subsequently be obtained by
* including the ListCryptoKeysResponse.next_page_token in a subsequent
* request. If unspecified, the server will pick an appropriate default.
*
- * [pageToken] - Optional pagination token, returned earlier via
- * ListCryptoKeysResponse.next_page_token.
- *
* Completes with a [ListCryptoKeysResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -726,7 +726,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListCryptoKeysResponse> list(core.String parent, {core.int pageSize, core.String pageToken}) {
+ async.Future<ListCryptoKeysResponse> list(core.String parent, {core.String pageToken, core.int pageSize}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -737,12 +737,12 @@
if (parent == null) {
throw new core.ArgumentError("Parameter parent is required.");
}
- if (pageSize != null) {
- _queryParams["pageSize"] = ["${pageSize}"];
- }
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
+ if (pageSize != null) {
+ _queryParams["pageSize"] = ["${pageSize}"];
+ }
_url = 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/cryptoKeys';
@@ -2082,7 +2082,7 @@
core.String description;
/**
* Textual representation of an expression in
- * [Common Expression Language](http://go/api-expr) syntax.
+ * Common Expression Language syntax.
*
* The application context of the containing message determines which
* well-known feature set of CEL is supported.
@@ -2384,7 +2384,31 @@
}
}
-/** Specifies what kind of log the caller must write */
+/**
+ * Specifies what kind of log the caller must write
+ * Increment a streamz counter with the specified metric and field names.
+ *
+ * Metric names should start with a '/', generally be lowercase-only,
+ * and end in "_count". Field names should not contain an initial slash.
+ * The actual exported metric names will have "/iam/policy" prepended.
+ *
+ * Field names correspond to IAM request parameters and field values are
+ * their respective values.
+ *
+ * At present the only supported field names are
+ * - "iam_principal", corresponding to IAMContext.principal;
+ * - "" (empty string), resulting in one aggretated counter with no field.
+ *
+ * Examples:
+ * counter { metric: "/debug_access_count" field: "iam_principal" }
+ * ==> increment counter /iam/policy/backend_debug_access_count
+ * {iam_principal=[value of IAMContext.principal]}
+ *
+ * At this time we do not support:
+ * * multiple field names (though this may be supported in the future)
+ * * decrementing the counter
+ * * incrementing it by anything other than 1
+ */
class LogConfig {
/** Cloud audit options. */
CloudAuditOptions cloudAudit;
diff --git a/generated/googleapis/lib/cloudresourcemanager/v1.dart b/generated/googleapis/lib/cloudresourcemanager/v1.dart
index 6b434ac..696a3b4 100644
--- a/generated/googleapis/lib/cloudresourcemanager/v1.dart
+++ b/generated/googleapis/lib/cloudresourcemanager/v1.dart
@@ -434,15 +434,15 @@
*
* Request parameters:
*
- * [pageToken] - The `next_page_token` value returned from a previous List
- * request, if any.
- *
* [pageSize] - The maximum number of items to return. This is a suggestion
* for the server.
*
* [parent] - The name of the resource to list all attached Liens.
* For example, `projects/1234`.
*
+ * [pageToken] - The `next_page_token` value returned from a previous List
+ * request, if any.
+ *
* Completes with a [ListLiensResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -451,7 +451,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListLiensResponse> list({core.String pageToken, core.int pageSize, core.String parent}) {
+ async.Future<ListLiensResponse> list({core.int pageSize, core.String parent, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -459,15 +459,15 @@
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (pageToken != null) {
- _queryParams["pageToken"] = [pageToken];
- }
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
if (parent != null) {
_queryParams["parent"] = [parent];
}
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
_url = 'v1/liens';
@@ -680,6 +680,9 @@
* if no such policy or resource exists. The `resource` field should be the
* organization's resource name, e.g. "organizations/123".
*
+ * Authorization requires the Google IAM permission
+ * `resourcemanager.organizations.getIamPolicy` on the specified organization
+ *
* [request] - The metadata request object.
*
* Request parameters:
@@ -870,6 +873,9 @@
* order. New Organizations do not necessarily appear at the end of the
* results.
*
+ * Search will only return organizations on which the user has the permission
+ * `resourcemanager.organizations.get`
+ *
* [request] - The metadata request object.
*
* Request parameters:
@@ -911,6 +917,9 @@
* existing policy. The `resource` field should be the organization's resource
* name, e.g. "organizations/123".
*
+ * Authorization requires the Google IAM permission
+ * `resourcemanager.organizations.setIamPolicy` on the specified organization
+ *
* [request] - The metadata request object.
*
* Request parameters:
@@ -1009,6 +1018,8 @@
* The `resource` field should be the organization's resource name,
* e.g. "organizations/123".
*
+ * There are no permissions required for making this API call.
+ *
* [request] - The metadata request object.
*
* Request parameters:
@@ -1117,6 +1128,10 @@
* latency. 95th percentile latency is around 11 seconds. We recommend
* polling at the 5th second with an exponential backoff.
*
+ * Authorization requires the Google IAM permission
+ * `resourcemanager.projects.create` on the specified parent for the new
+ * project.
+ *
* [request] - The metadata request object.
*
* Request parameters:
@@ -1362,6 +1377,9 @@
* Returns the IAM access control policy for the specified Project.
* Permission is denied if the policy or the resource does not exist.
*
+ * Authorization requires the Google IAM permission
+ * `resourcemanager.projects.getIamPolicy` on the project
+ *
* [request] - The metadata request object.
*
* Request parameters:
@@ -1462,12 +1480,6 @@
*
* Request parameters:
*
- * [pageToken] - A pagination token returned from a previous call to
- * ListProjects
- * that indicates from where listing should continue.
- *
- * Optional.
- *
* [pageSize] - The maximum number of Projects to return in the response.
* The server can return fewer Projects than requested.
* If unspecified, server picks an appropriate default.
@@ -1495,6 +1507,21 @@
* |labels.color:red labels.size:big|The project's label `color` has the
* value `red` and its label `size` has the value `big`.
*
+ * If you specify a filter that has both `parent.type` and `parent.id`, then
+ * the `resourcemanager.projects.list` permission is checked on the parent.
+ * If the user has this permission, all projects under the parent will be
+ * returned after remaining filters have been applied. If the user lacks this
+ * permission, then all projects for which the user has the
+ * `resourcemanager.projects.get` permission will be returned after remaining
+ * filters have been applied. If no filter is specified, the call will return
+ * projects for which the user has `resourcemanager.projects.get` permissions.
+ *
+ * Optional.
+ *
+ * [pageToken] - A pagination token returned from a previous call to
+ * ListProjects
+ * that indicates from where listing should continue.
+ *
* Optional.
*
* Completes with a [ListProjectsResponse].
@@ -1505,7 +1532,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListProjectsResponse> list({core.String pageToken, core.int pageSize, core.String filter}) {
+ async.Future<ListProjectsResponse> list({core.int pageSize, core.String filter, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1513,15 +1540,15 @@
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (pageToken != null) {
- _queryParams["pageToken"] = [pageToken];
- }
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
if (filter != null) {
_queryParams["filter"] = [filter];
}
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
_url = 'v1/projects';
@@ -1666,6 +1693,9 @@
* how the service account is being used before removing or updating its
* roles.
*
+ * Authorization requires the Google IAM permission
+ * `resourcemanager.projects.setIamPolicy` on the project
+ *
* [request] - The metadata request object.
*
* Request parameters:
@@ -1761,6 +1791,8 @@
/**
* Returns permissions that a caller has on the specified Project.
*
+ * There are no permissions required for making this API call.
+ *
* [request] - The metadata request object.
*
* Request parameters:
diff --git a/generated/googleapis/lib/cloudresourcemanager/v2beta1.dart b/generated/googleapis/lib/cloudresourcemanager/v2beta1.dart
new file mode 100644
index 0000000..bad4faf
--- /dev/null
+++ b/generated/googleapis/lib/cloudresourcemanager/v2beta1.dart
@@ -0,0 +1,1663 @@
+// This is a generated file (see the discoveryapis_generator project).
+
+library googleapis.cloudresourcemanager.v2beta1;
+
+import 'dart:core' as core;
+import 'dart:async' as async;
+import 'dart:convert' as convert;
+
+import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons;
+import 'package:http/http.dart' as http;
+
+export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show
+ ApiRequestError, DetailedApiRequestError;
+
+const core.String USER_AGENT = 'dart-api-client cloudresourcemanager/v2beta1';
+
+/**
+ * The Google Cloud Resource Manager API provides methods for creating, reading,
+ * and updating project metadata.
+ */
+class CloudresourcemanagerApi {
+ /** View and manage your data across Google Cloud Platform services */
+ static const CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform";
+
+ /** View your data across Google Cloud Platform services */
+ static const CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only";
+
+
+ final commons.ApiRequester _requester;
+
+ FoldersResourceApi get folders => new FoldersResourceApi(_requester);
+
+ CloudresourcemanagerApi(http.Client client, {core.String rootUrl: "https://cloudresourcemanager.googleapis.com/", core.String servicePath: ""}) :
+ _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT);
+}
+
+
+class FoldersResourceApi {
+ final commons.ApiRequester _requester;
+
+ FoldersResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Creates a Folder in the resource hierarchy.
+ * Returns an Operation which can be used to track the progress of the
+ * folder creation workflow.
+ * Upon success the Operation.response field will be populated with the
+ * created Folder.
+ *
+ * In order to succeed, the addition of this new Folder must not violate
+ * the Folder naming, height or fanout constraints.
+ * + The Folder's display_name must be distinct from all other Folder's that
+ * share its parent.
+ * + The addition of the Folder must not cause the active Folder hierarchy
+ * to exceed a height of 4. Note, the full active + deleted Folder hierarchy
+ * is allowed to reach a height of 8; this provides additional headroom when
+ * moving folders that contain deleted folders.
+ * + The addition of the Folder must not cause the total number of Folders
+ * under its parent to exceed 100.
+ *
+ * If the operation fails due to a folder constraint violation,
+ * a PreconditionFailure explaining the violation will be returned.
+ * If the failure occurs synchronously then the PreconditionFailure
+ * will be returned via the Status.details field and if it occurs
+ * asynchronously then the PreconditionFailure will be returned
+ * via the the Operation.error field.
+ *
+ * The caller must have `resourcemanager.folders.create` permission on the
+ * identified parent.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [parent] - The resource name of the new Folder's parent.
+ * Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
+ *
+ * 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> create(Folder request, {core.String parent}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (parent != null) {
+ _queryParams["parent"] = [parent];
+ }
+
+ _url = 'v2beta1/folders';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Requests deletion of a Folder. The Folder is moved into the
+ * [DELETE_REQUESTED] state immediately, and is deleted approximately 30 days
+ * later. This method may only be called on an empty Folder in the [ACTIVE]
+ * state, where a Folder is empty if it doesn't contain any Folders or
+ * Projects in the [ACTIVE] state.
+ * The caller must have `resourcemanager.folders.delete` permission on the
+ * identified folder.
+ *
+ * Request parameters:
+ *
+ * [name] - the resource name of the Folder to be deleted.
+ * Must be of the form `folders/{folder_id}`.
+ * Value must have pattern "^folders/[^/]+$".
+ *
+ * Completes with a [Folder].
+ *
+ * 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<Folder> delete(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 = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$name');
+
+ var _response = _requester.request(_url,
+ "DELETE",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Folder.fromJson(data));
+ }
+
+ /**
+ * Retrieves a Folder identified by the supplied resource name.
+ * Valid Folder resource names have the format `folders/{folder_id}`
+ * (for example, `folders/1234`).
+ * The caller must have `resourcemanager.folders.get` permission on the
+ * identified folder.
+ *
+ * Request parameters:
+ *
+ * [name] - The resource name of the Folder to retrieve.
+ * Must be of the form `folders/{folder_id}`.
+ * Value must have pattern "^folders/[^/]+$".
+ *
+ * Completes with a [Folder].
+ *
+ * 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<Folder> 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 = 'v2beta1/' + 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 Folder.fromJson(data));
+ }
+
+ /**
+ * Gets the access control policy for a Folder. The returned policy may be
+ * empty if no such policy or resource exists. The `resource` field should
+ * be the Folder's resource name, e.g. "folders/1234".
+ * The caller must have `resourcemanager.folders.getIamPolicy` permission
+ * on the identified folder.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [resource] - REQUIRED: The resource for which the policy is being
+ * requested.
+ * See the operation documentation for the appropriate value for this field.
+ * Value must have pattern "^folders/[^/]+$".
+ *
+ * Completes with a [Policy].
+ *
+ * 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<Policy> getIamPolicy(GetIamPolicyRequest request, core.String resource) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (resource == null) {
+ throw new core.ArgumentError("Parameter resource is required.");
+ }
+
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getIamPolicy';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Policy.fromJson(data));
+ }
+
+ /**
+ * Lists the Folders that are direct descendants of supplied parent resource.
+ * List provides a strongly consistent view of the Folders underneath
+ * the specified parent resource.
+ * List returns Folders sorted based upon the (ascending) lexical ordering
+ * of their display_name.
+ * The caller must have `resourcemanager.folders.list` permission on the
+ * identified parent.
+ *
+ * Request parameters:
+ *
+ * [showDeleted] - Controls whether Folders in the [DELETE_REQUESTED} state
+ * should
+ * be returned.
+ *
+ * [pageToken] - A pagination token returned from a previous call to
+ * `ListFolders`
+ * that indicates where this listing should continue from.
+ * This field is optional.
+ *
+ * [pageSize] - The maximum number of Folders to return in the response.
+ * This field is optional.
+ *
+ * [parent] - The resource name of the Organization or Folder whose Folders
+ * are
+ * being listed.
+ * Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
+ * Access to this method is controlled by checking the
+ * `resourcemanager.folders.list` permission on the `parent`.
+ *
+ * Completes with a [ListFoldersResponse].
+ *
+ * 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<ListFoldersResponse> list({core.bool showDeleted, core.String pageToken, core.int pageSize, core.String parent}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (showDeleted != null) {
+ _queryParams["showDeleted"] = ["${showDeleted}"];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+ if (pageSize != null) {
+ _queryParams["pageSize"] = ["${pageSize}"];
+ }
+ if (parent != null) {
+ _queryParams["parent"] = [parent];
+ }
+
+ _url = 'v2beta1/folders';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new ListFoldersResponse.fromJson(data));
+ }
+
+ /**
+ * Moves a Folder under a new resource parent.
+ * Returns an Operation which can be used to track the progress of the
+ * folder move workflow.
+ * Upon success the Operation.response field will be populated with the
+ * moved Folder.
+ * Upon failure, a FolderOperationError categorizing the failure cause will
+ * be returned - if the failure occurs synchronously then the
+ * FolderOperationError will be returned via the Status.details field
+ * and if it occurs asynchronously then the FolderOperation will be returned
+ * via the the Operation.error field.
+ * In addition, the Operation.metadata field will be populated with a
+ * FolderOperation message as an aid to stateless clients.
+ * Folder moves will be rejected if they violate either the naming, height
+ * or fanout constraints described in the [CreateFolder] documentation.
+ * The caller must have `resourcemanager.folders.move` permission on the
+ * folder's current and proposed new parent.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [name] - The resource name of the Folder to move.
+ * Must be of the form folders/{folder_id}
+ * Value must have pattern "^folders/[^/]+$".
+ *
+ * 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> move(MoveFolderRequest request, 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 (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (name == null) {
+ throw new core.ArgumentError("Parameter name is required.");
+ }
+
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$name') + ':move';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Updates a Folder, changing its display_name.
+ * Changes to the folder display_name will be rejected if they violate either
+ * the display_name formatting rules or naming constraints described in
+ * the [CreateFolder] documentation.
+ * + The Folder's display name must start and end with a letter or digit,
+ * may contain letters, digits, spaces, hyphens and underscores and can be
+ * no longer than 30 characters. This is captured by the regular expression:
+ * [\p{L}\p{N}]({\p{L}\p{N}_- ]{0,28}[\p{L}\p{N}])?.
+ * The caller must have `resourcemanager.folders.update` permission on the
+ * identified folder.
+ *
+ * If the update fails due to the unique name constraint then a
+ * PreconditionFailure explaining this violation will be returned
+ * in the Status.details field.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [name] - Output only. The resource name of the Folder.
+ * Its format is `folders/{folder_id}`, for example: "folders/1234".
+ * Value must have pattern "^folders/[^/]+$".
+ *
+ * [updateMask] - Fields to be updated.
+ * Only the `display_name` can be updated.
+ *
+ * Completes with a [Folder].
+ *
+ * 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<Folder> patch(Folder request, core.String name, {core.String updateMask}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (name == null) {
+ throw new core.ArgumentError("Parameter name is required.");
+ }
+ if (updateMask != null) {
+ _queryParams["updateMask"] = [updateMask];
+ }
+
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$name');
+
+ var _response = _requester.request(_url,
+ "PATCH",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Folder.fromJson(data));
+ }
+
+ /**
+ * Search for folders that match specific filter criteria.
+ * Search provides an eventually consistent view of the folders a user has
+ * access to which meet the specified filter criteria.
+ *
+ * This will only return folders on which the caller has the
+ * permission `resourcemanager.folders.get`.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * Completes with a [SearchFoldersResponse].
+ *
+ * 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<SearchFoldersResponse> search(SearchFoldersRequest request) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+
+ _url = 'v2beta1/folders:search';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new SearchFoldersResponse.fromJson(data));
+ }
+
+ /**
+ * Sets the access control policy on a Folder, replacing any existing policy.
+ * The `resource` field should be the Folder's resource name, e.g.
+ * "folders/1234".
+ * The caller must have `resourcemanager.folders.setIamPolicy` permission
+ * on the identified folder.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [resource] - REQUIRED: The resource for which the policy is being
+ * specified.
+ * See the operation documentation for the appropriate value for this field.
+ * Value must have pattern "^folders/[^/]+$".
+ *
+ * Completes with a [Policy].
+ *
+ * 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<Policy> setIamPolicy(SetIamPolicyRequest request, core.String resource) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (resource == null) {
+ throw new core.ArgumentError("Parameter resource is required.");
+ }
+
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':setIamPolicy';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Policy.fromJson(data));
+ }
+
+ /**
+ * Returns permissions that a caller has on the specified Folder.
+ * The `resource` field should be the Folder's resource name,
+ * e.g. "folders/1234".
+ *
+ * There are no permissions required for making this API call.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [resource] - REQUIRED: The resource for which the policy detail is being
+ * requested.
+ * See the operation documentation for the appropriate value for this field.
+ * Value must have pattern "^folders/[^/]+$".
+ *
+ * Completes with a [TestIamPermissionsResponse].
+ *
+ * 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<TestIamPermissionsResponse> testIamPermissions(TestIamPermissionsRequest request, core.String resource) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (resource == null) {
+ throw new core.ArgumentError("Parameter resource is required.");
+ }
+
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':testIamPermissions';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new TestIamPermissionsResponse.fromJson(data));
+ }
+
+ /**
+ * Cancels the deletion request for a Folder. This method may only be
+ * called on a Folder in the [DELETE_REQUESTED] state.
+ * In order to succeed, the Folder's parent must be in the [ACTIVE] state.
+ * In addition, reintroducing the folder into the tree must not violate
+ * folder naming, height and fanout constraints described in the
+ * [CreateFolder] documentation.
+ * The caller must have `resourcemanager.folders.undelete` permission on the
+ * identified folder.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [name] - The resource name of the Folder to undelete.
+ * Must be of the form `folders/{folder_id}`.
+ * Value must have pattern "^folders/[^/]+$".
+ *
+ * Completes with a [Folder].
+ *
+ * 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<Folder> undelete(UndeleteFolderRequest request, 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 (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (name == null) {
+ throw new core.ArgumentError("Parameter name is required.");
+ }
+
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$name') + ':undelete';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Folder.fromJson(data));
+ }
+
+}
+
+
+
+/**
+ * Specifies the audit configuration for a service.
+ * The configuration determines which permission types are logged, and what
+ * identities, if any, are exempted from logging.
+ * An AuditConfig must have one or more AuditLogConfigs.
+ *
+ * If there are AuditConfigs for both `allServices` and a specific service,
+ * the union of the two AuditConfigs is used for that service: the log_types
+ * specified in each AuditConfig are enabled, and the exempted_members in each
+ * AuditConfig are exempted.
+ *
+ * Example Policy with multiple AuditConfigs:
+ *
+ * {
+ * "audit_configs": [
+ * {
+ * "service": "allServices"
+ * "audit_log_configs": [
+ * {
+ * "log_type": "DATA_READ",
+ * "exempted_members": [
+ * "user:foo@gmail.com"
+ * ]
+ * },
+ * {
+ * "log_type": "DATA_WRITE",
+ * },
+ * {
+ * "log_type": "ADMIN_READ",
+ * }
+ * ]
+ * },
+ * {
+ * "service": "fooservice.googleapis.com"
+ * "audit_log_configs": [
+ * {
+ * "log_type": "DATA_READ",
+ * },
+ * {
+ * "log_type": "DATA_WRITE",
+ * "exempted_members": [
+ * "user:bar@gmail.com"
+ * ]
+ * }
+ * ]
+ * }
+ * ]
+ * }
+ *
+ * For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
+ * logging. It also exempts foo@gmail.com from DATA_READ logging, and
+ * bar@gmail.com from DATA_WRITE logging.
+ */
+class AuditConfig {
+ /**
+ * The configuration for logging of each type of permission.
+ * Next ID: 4
+ */
+ core.List<AuditLogConfig> auditLogConfigs;
+ /**
+ * Specifies a service that will be enabled for audit logging.
+ * For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
+ * `allServices` is a special value that covers all services.
+ */
+ core.String service;
+
+ AuditConfig();
+
+ AuditConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("auditLogConfigs")) {
+ auditLogConfigs = _json["auditLogConfigs"].map((value) => new AuditLogConfig.fromJson(value)).toList();
+ }
+ if (_json.containsKey("service")) {
+ service = _json["service"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (auditLogConfigs != null) {
+ _json["auditLogConfigs"] = auditLogConfigs.map((value) => (value).toJson()).toList();
+ }
+ if (service != null) {
+ _json["service"] = service;
+ }
+ return _json;
+ }
+}
+
+/**
+ * Provides the configuration for logging a type of permissions.
+ * Example:
+ *
+ * {
+ * "audit_log_configs": [
+ * {
+ * "log_type": "DATA_READ",
+ * "exempted_members": [
+ * "user:foo@gmail.com"
+ * ]
+ * },
+ * {
+ * "log_type": "DATA_WRITE",
+ * }
+ * ]
+ * }
+ *
+ * This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
+ * foo@gmail.com from DATA_READ logging.
+ */
+class AuditLogConfig {
+ /**
+ * Specifies the identities that do not cause logging for this type of
+ * permission.
+ * Follows the same format of Binding.members.
+ */
+ core.List<core.String> exemptedMembers;
+ /**
+ * The log type that this config enables.
+ * Possible string values are:
+ * - "LOG_TYPE_UNSPECIFIED" : Default case. Should never be this.
+ * - "ADMIN_READ" : Admin reads. Example: CloudIAM getIamPolicy
+ * - "DATA_WRITE" : Data writes. Example: CloudSQL Users create
+ * - "DATA_READ" : Data reads. Example: CloudSQL Users list
+ */
+ core.String logType;
+
+ AuditLogConfig();
+
+ AuditLogConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("exemptedMembers")) {
+ exemptedMembers = _json["exemptedMembers"];
+ }
+ if (_json.containsKey("logType")) {
+ logType = _json["logType"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (exemptedMembers != null) {
+ _json["exemptedMembers"] = exemptedMembers;
+ }
+ if (logType != null) {
+ _json["logType"] = logType;
+ }
+ return _json;
+ }
+}
+
+/** Associates `members` with a `role`. */
+class Binding {
+ /**
+ * Specifies the identities requesting access for a Cloud Platform resource.
+ * `members` can have the following values:
+ *
+ * * `allUsers`: A special identifier that represents anyone who is
+ * on the internet; with or without a Google account.
+ *
+ * * `allAuthenticatedUsers`: A special identifier that represents anyone
+ * who is authenticated with a Google account or a service account.
+ *
+ * * `user:{emailid}`: An email address that represents a specific Google
+ * account. For example, `alice@gmail.com` or `joe@example.com`.
+ *
+ *
+ * * `serviceAccount:{emailid}`: An email address that represents a service
+ * account. For example, `my-other-app@appspot.gserviceaccount.com`.
+ *
+ * * `group:{emailid}`: An email address that represents a Google group.
+ * For example, `admins@example.com`.
+ *
+ *
+ * * `domain:{domain}`: A Google Apps domain name that represents all the
+ * users of that domain. For example, `google.com` or `example.com`.
+ */
+ core.List<core.String> members;
+ /**
+ * Role that is assigned to `members`.
+ * For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+ * Required
+ */
+ core.String role;
+
+ Binding();
+
+ Binding.fromJson(core.Map _json) {
+ if (_json.containsKey("members")) {
+ members = _json["members"];
+ }
+ if (_json.containsKey("role")) {
+ role = _json["role"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (members != null) {
+ _json["members"] = members;
+ }
+ if (role != null) {
+ _json["role"] = role;
+ }
+ return _json;
+ }
+}
+
+/**
+ * A Folder in an Organization's resource hierarchy, used to
+ * organize that Organization's resources.
+ */
+class Folder {
+ /**
+ * Output only. Timestamp when the Folder was created. Assigned by the server.
+ */
+ core.String createTime;
+ /**
+ * The folder’s display name.
+ * A folder’s display name must be unique amongst its siblings, e.g.
+ * no two folders with the same parent can share the same display name.
+ * The display name must start and end with a letter or digit, may contain
+ * letters, digits, spaces, hyphens and underscores and can be no longer
+ * than 30 characters. This is captured by the regular expression:
+ * [\p{L}\p{N}]({\p{L}\p{N}_- ]{0,28}[\p{L}\p{N}])?.
+ */
+ core.String displayName;
+ /**
+ * Output only. The lifecycle state of the folder.
+ * Updates to the lifecycle_state must be performed via
+ * [DeleteFolder] and [UndeleteFolder].
+ * Possible string values are:
+ * - "LIFECYCLE_STATE_UNSPECIFIED" : Unspecified state.
+ * - "ACTIVE" : The normal and active state.
+ * - "DELETE_REQUESTED" : The folder has been marked for deletion by the user.
+ */
+ core.String lifecycleState;
+ /**
+ * Output only. The resource name of the Folder.
+ * Its format is `folders/{folder_id}`, for example: "folders/1234".
+ */
+ core.String name;
+ /**
+ * The Folder’s parent's resource name.
+ * Updates to the folder's parent must be performed via [MoveFolders].
+ */
+ core.String parent;
+
+ Folder();
+
+ Folder.fromJson(core.Map _json) {
+ if (_json.containsKey("createTime")) {
+ createTime = _json["createTime"];
+ }
+ if (_json.containsKey("displayName")) {
+ displayName = _json["displayName"];
+ }
+ if (_json.containsKey("lifecycleState")) {
+ lifecycleState = _json["lifecycleState"];
+ }
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("parent")) {
+ parent = _json["parent"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (createTime != null) {
+ _json["createTime"] = createTime;
+ }
+ if (displayName != null) {
+ _json["displayName"] = displayName;
+ }
+ if (lifecycleState != null) {
+ _json["lifecycleState"] = lifecycleState;
+ }
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (parent != null) {
+ _json["parent"] = parent;
+ }
+ return _json;
+ }
+}
+
+/** Metadata describing a long running folder operation */
+class FolderOperation {
+ /**
+ * The resource name of the folder or organization we are either creating
+ * the folder under or moving the folder to.
+ */
+ core.String destinationParent;
+ /** The display name of the folder. */
+ core.String displayName;
+ /**
+ * The type of this operation.
+ * Possible string values are:
+ * - "OPERATION_TYPE_UNSPECIFIED" : Operation type not specified.
+ * - "CREATE" : A create folder operation.
+ * - "MOVE" : A move folder operation.
+ */
+ core.String operationType;
+ /**
+ * The resource name of the folder's parent.
+ * Only applicable when the operation_type is MOVE.
+ */
+ core.String sourceParent;
+
+ FolderOperation();
+
+ FolderOperation.fromJson(core.Map _json) {
+ if (_json.containsKey("destinationParent")) {
+ destinationParent = _json["destinationParent"];
+ }
+ if (_json.containsKey("displayName")) {
+ displayName = _json["displayName"];
+ }
+ if (_json.containsKey("operationType")) {
+ operationType = _json["operationType"];
+ }
+ if (_json.containsKey("sourceParent")) {
+ sourceParent = _json["sourceParent"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (destinationParent != null) {
+ _json["destinationParent"] = destinationParent;
+ }
+ if (displayName != null) {
+ _json["displayName"] = displayName;
+ }
+ if (operationType != null) {
+ _json["operationType"] = operationType;
+ }
+ if (sourceParent != null) {
+ _json["sourceParent"] = sourceParent;
+ }
+ return _json;
+ }
+}
+
+/** A classification of the Folder Operation error. */
+class FolderOperationError {
+ /**
+ * The type of operation error experienced.
+ * Possible string values are:
+ * - "ERROR_TYPE_UNSPECIFIED" : The error type was unrecognized or
+ * unspecified.
+ * - "ACTIVE_FOLDER_HEIGHT_VIOLATION" : The attempted action would violate the
+ * max folder depth constraint.
+ * - "MAX_CHILD_FOLDERS_VIOLATION" : The attempted action would violate the
+ * max child folders constraint.
+ * - "FOLDER_NAME_UNIQUENESS_VIOLATION" : The attempted action would violate
+ * the locally-unique folder
+ * display_name constraint.
+ * - "RESOURCE_DELETED_VIOLATION" : The resource being moved has been deleted.
+ * - "PARENT_DELETED_VIOLATION" : The resource a folder was being added to has
+ * been deleted.
+ * - "CYCLE_INTRODUCED_VIOLATION" : The attempted action would introduce cycle
+ * in resource path.
+ * - "FOLDER_BEING_MOVED_VIOLATION" : The attempted action would move a folder
+ * that is already being moved.
+ * - "FOLDER_TO_DELETE_NON_EMPTY_VIOLATION" : The folder the caller is trying
+ * to delete contains active resources.
+ * - "DELETED_FOLDER_HEIGHT_VIOLATION" : The attempted action would violate
+ * the max deleted folder depth
+ * constraint.
+ */
+ core.String errorMessageId;
+
+ FolderOperationError();
+
+ FolderOperationError.fromJson(core.Map _json) {
+ if (_json.containsKey("errorMessageId")) {
+ errorMessageId = _json["errorMessageId"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (errorMessageId != null) {
+ _json["errorMessageId"] = errorMessageId;
+ }
+ return _json;
+ }
+}
+
+/** Request message for `GetIamPolicy` method. */
+class GetIamPolicyRequest {
+
+ GetIamPolicyRequest();
+
+ GetIamPolicyRequest.fromJson(core.Map _json) {
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ return _json;
+ }
+}
+
+/** The ListFolders response message. */
+class ListFoldersResponse {
+ /**
+ * A possibly paginated list of Folders that are direct descendants of
+ * the specified parent resource.
+ */
+ core.List<Folder> folders;
+ /**
+ * A pagination token returned from a previous call to `ListFolders`
+ * that indicates from where listing should continue.
+ * This field is optional.
+ */
+ core.String nextPageToken;
+
+ ListFoldersResponse();
+
+ ListFoldersResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("folders")) {
+ folders = _json["folders"].map((value) => new Folder.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 (folders != null) {
+ _json["folders"] = folders.map((value) => (value).toJson()).toList();
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ return _json;
+ }
+}
+
+/** The MoveFolder request message. */
+class MoveFolderRequest {
+ /**
+ * The resource name of the Folder or Organization to reparent
+ * the folder under.
+ * Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
+ */
+ core.String destinationParent;
+
+ MoveFolderRequest();
+
+ MoveFolderRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("destinationParent")) {
+ destinationParent = _json["destinationParent"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (destinationParent != null) {
+ _json["destinationParent"] = destinationParent;
+ }
+ 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;
+ }
+}
+
+/**
+ * Defines an Identity and Access Management (IAM) policy. It is used to
+ * specify access control policies for Cloud Platform resources.
+ *
+ *
+ * A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
+ * `members` to a `role`, where the members can be user accounts, Google groups,
+ * Google domains, and service accounts. A `role` is a named list of permissions
+ * defined by IAM.
+ *
+ * **Example**
+ *
+ * {
+ * "bindings": [
+ * {
+ * "role": "roles/owner",
+ * "members": [
+ * "user:mike@example.com",
+ * "group:admins@example.com",
+ * "domain:google.com",
+ * "serviceAccount:my-other-app@appspot.gserviceaccount.com",
+ * ]
+ * },
+ * {
+ * "role": "roles/viewer",
+ * "members": ["user:sean@example.com"]
+ * }
+ * ]
+ * }
+ *
+ * For a description of IAM and its features, see the
+ * [IAM developer's guide](https://cloud.google.com/iam).
+ */
+class Policy {
+ /** Specifies cloud audit logging configuration for this policy. */
+ core.List<AuditConfig> auditConfigs;
+ /**
+ * Associates a list of `members` to a `role`.
+ * `bindings` with no members will result in an error.
+ */
+ core.List<Binding> bindings;
+ /**
+ * `etag` is used for optimistic concurrency control as a way to help
+ * prevent simultaneous updates of a policy from overwriting each other.
+ * It is strongly suggested that systems make use of the `etag` in the
+ * read-modify-write cycle to perform policy updates in order to avoid race
+ * conditions: An `etag` is returned in the response to `getIamPolicy`, and
+ * systems are expected to put that etag in the request to `setIamPolicy` to
+ * ensure that their change will be applied to the same version of the policy.
+ *
+ * If no `etag` is provided in the call to `setIamPolicy`, then the existing
+ * policy is overwritten blindly.
+ */
+ core.String etag;
+ core.List<core.int> get etagAsBytes {
+ return convert.BASE64.decode(etag);
+ }
+
+ void set etagAsBytes(core.List<core.int> _bytes) {
+ etag = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
+ }
+ /** Version of the `Policy`. The default version is 0. */
+ core.int version;
+
+ Policy();
+
+ Policy.fromJson(core.Map _json) {
+ if (_json.containsKey("auditConfigs")) {
+ auditConfigs = _json["auditConfigs"].map((value) => new AuditConfig.fromJson(value)).toList();
+ }
+ if (_json.containsKey("bindings")) {
+ bindings = _json["bindings"].map((value) => new Binding.fromJson(value)).toList();
+ }
+ if (_json.containsKey("etag")) {
+ etag = _json["etag"];
+ }
+ if (_json.containsKey("version")) {
+ version = _json["version"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (auditConfigs != null) {
+ _json["auditConfigs"] = auditConfigs.map((value) => (value).toJson()).toList();
+ }
+ if (bindings != null) {
+ _json["bindings"] = bindings.map((value) => (value).toJson()).toList();
+ }
+ if (etag != null) {
+ _json["etag"] = etag;
+ }
+ if (version != null) {
+ _json["version"] = version;
+ }
+ return _json;
+ }
+}
+
+/**
+ * A status object which is used as the `metadata` field for the Operation
+ * returned by CreateProject. It provides insight for when significant phases of
+ * Project creation have completed.
+ */
+class ProjectCreationStatus {
+ /** Creation time of the project creation workflow. */
+ core.String createTime;
+ /**
+ * True if the project can be retrieved using GetProject. No other operations
+ * on the project are guaranteed to work until the project creation is
+ * complete.
+ */
+ core.bool gettable;
+ /** True if the project creation process is complete. */
+ core.bool ready;
+
+ ProjectCreationStatus();
+
+ ProjectCreationStatus.fromJson(core.Map _json) {
+ if (_json.containsKey("createTime")) {
+ createTime = _json["createTime"];
+ }
+ if (_json.containsKey("gettable")) {
+ gettable = _json["gettable"];
+ }
+ if (_json.containsKey("ready")) {
+ ready = _json["ready"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (createTime != null) {
+ _json["createTime"] = createTime;
+ }
+ if (gettable != null) {
+ _json["gettable"] = gettable;
+ }
+ if (ready != null) {
+ _json["ready"] = ready;
+ }
+ return _json;
+ }
+}
+
+/** The request message for searching folders. */
+class SearchFoldersRequest {
+ /**
+ * The maximum number of folders to return in the response.
+ * This field is optional.
+ */
+ core.int pageSize;
+ /**
+ * A pagination token returned from a previous call to `SearchFolders`
+ * that indicates from where search should continue.
+ * This field is optional.
+ */
+ core.String pageToken;
+ /**
+ * Search criteria used to select the Folders to return.
+ * If no search criteria is specified then all accessible folders will be
+ * returned.
+ *
+ * Query expressions can be used to restrict results based upon displayName,
+ * lifecycleState and parent, where the operators `=`, `NOT`, `AND` and `OR`
+ * can be used along with the suffix wildcard symbol `*`.
+ *
+ * Some example queries are:
+ * |Query|Description|
+ * |------|-----------|
+ * |displayName=Test*|Folders whose display name starts with "Test".|
+ * |lifecycleState=ACTIVE|Folders whose lifecycleState is ACTIVE.|
+ * |parent=folders/123|Folders whose parent is "folders/123".|
+ * |parent=folders/123 AND lifecycleState=ACTIVE|Active folders whose
+ * parent is "folders/123".|
+ */
+ core.String query;
+
+ SearchFoldersRequest();
+
+ SearchFoldersRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("pageSize")) {
+ pageSize = _json["pageSize"];
+ }
+ if (_json.containsKey("pageToken")) {
+ pageToken = _json["pageToken"];
+ }
+ if (_json.containsKey("query")) {
+ query = _json["query"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (pageSize != null) {
+ _json["pageSize"] = pageSize;
+ }
+ if (pageToken != null) {
+ _json["pageToken"] = pageToken;
+ }
+ if (query != null) {
+ _json["query"] = query;
+ }
+ return _json;
+ }
+}
+
+/** The response message for searching folders. */
+class SearchFoldersResponse {
+ /**
+ * A possibly paginated folder search results.
+ * the specified parent resource.
+ */
+ core.List<Folder> folders;
+ /**
+ * A pagination token returned from a previous call to `SearchFolders`
+ * that indicates from where searching should continue.
+ * This field is optional.
+ */
+ core.String nextPageToken;
+
+ SearchFoldersResponse();
+
+ SearchFoldersResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("folders")) {
+ folders = _json["folders"].map((value) => new Folder.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 (folders != null) {
+ _json["folders"] = folders.map((value) => (value).toJson()).toList();
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ return _json;
+ }
+}
+
+/** Request message for `SetIamPolicy` method. */
+class SetIamPolicyRequest {
+ /**
+ * REQUIRED: The complete policy to be applied to the `resource`. The size of
+ * the policy is limited to a few 10s of KB. An empty policy is a
+ * valid policy but certain Cloud Platform services (such as Projects)
+ * might reject them.
+ */
+ Policy policy;
+ /**
+ * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
+ * the fields in the mask will be modified. If no mask is provided, the
+ * following default mask is used:
+ * paths: "bindings, etag"
+ * This field is only used by Cloud IAM.
+ */
+ core.String updateMask;
+
+ SetIamPolicyRequest();
+
+ SetIamPolicyRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("policy")) {
+ policy = new Policy.fromJson(_json["policy"]);
+ }
+ if (_json.containsKey("updateMask")) {
+ updateMask = _json["updateMask"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (policy != null) {
+ _json["policy"] = (policy).toJson();
+ }
+ if (updateMask != null) {
+ _json["updateMask"] = updateMask;
+ }
+ 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 will be 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;
+ }
+}
+
+/** Request message for `TestIamPermissions` method. */
+class TestIamPermissionsRequest {
+ /**
+ * The set of permissions to check for the `resource`. Permissions with
+ * wildcards (such as '*' or 'storage.*') are not allowed. For more
+ * information see
+ * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
+ */
+ core.List<core.String> permissions;
+
+ TestIamPermissionsRequest();
+
+ TestIamPermissionsRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("permissions")) {
+ permissions = _json["permissions"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (permissions != null) {
+ _json["permissions"] = permissions;
+ }
+ return _json;
+ }
+}
+
+/** Response message for `TestIamPermissions` method. */
+class TestIamPermissionsResponse {
+ /**
+ * A subset of `TestPermissionsRequest.permissions` that the caller is
+ * allowed.
+ */
+ core.List<core.String> permissions;
+
+ TestIamPermissionsResponse();
+
+ TestIamPermissionsResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("permissions")) {
+ permissions = _json["permissions"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (permissions != null) {
+ _json["permissions"] = permissions;
+ }
+ return _json;
+ }
+}
+
+/** The UndeleteFolder request message. */
+class UndeleteFolderRequest {
+
+ UndeleteFolderRequest();
+
+ UndeleteFolderRequest.fromJson(core.Map _json) {
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ return _json;
+ }
+}
diff --git a/generated/googleapis/lib/cloudtrace/v2.dart b/generated/googleapis/lib/cloudtrace/v2.dart
new file mode 100644
index 0000000..901b4a0
--- /dev/null
+++ b/generated/googleapis/lib/cloudtrace/v2.dart
@@ -0,0 +1,1321 @@
+// This is a generated file (see the discoveryapis_generator project).
+
+library googleapis.cloudtrace.v2;
+
+import 'dart:core' as core;
+import 'dart:async' as async;
+import 'dart:convert' as convert;
+
+import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons;
+import 'package:http/http.dart' as http;
+
+export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show
+ ApiRequestError, DetailedApiRequestError;
+
+const core.String USER_AGENT = 'dart-api-client cloudtrace/v2';
+
+/**
+ * Send and retrieve trace data from Stackdriver Trace. Data is generated and
+ * available by default for all App Engine applications. Data from other
+ * applications can be written to Stackdriver Trace for display, reporting, and
+ * analysis.
+ */
+class CloudtraceApi {
+ /** View and manage your data across Google Cloud Platform services */
+ static const CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform";
+
+ /** Write Trace data for a project or application */
+ static const TraceAppendScope = "https://www.googleapis.com/auth/trace.append";
+
+ /** Read Trace data for a project or application */
+ static const TraceReadonlyScope = "https://www.googleapis.com/auth/trace.readonly";
+
+
+ final commons.ApiRequester _requester;
+
+ ProjectsResourceApi get projects => new ProjectsResourceApi(_requester);
+
+ CloudtraceApi(http.Client client, {core.String rootUrl: "https://cloudtrace.googleapis.com/", core.String servicePath: ""}) :
+ _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT);
+}
+
+
+class ProjectsResourceApi {
+ final commons.ApiRequester _requester;
+
+ ProjectsTracesResourceApi get traces => new ProjectsTracesResourceApi(_requester);
+
+ ProjectsResourceApi(commons.ApiRequester client) :
+ _requester = client;
+}
+
+
+class ProjectsTracesResourceApi {
+ final commons.ApiRequester _requester;
+
+ ProjectsTracesSpansResourceApi get spans => new ProjectsTracesSpansResourceApi(_requester);
+
+ ProjectsTracesResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Sends new spans to Stackdriver Trace or updates existing traces. If the
+ * name of a trace that you send matches that of an existing trace, new spans
+ * are added to the existing trace. Attempt to update existing spans results
+ * undefined behavior. If the name does not match, a new trace is created
+ * with given set of spans.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [name] - Required. Name of the project where the spans belong. The format
+ * is
+ * `projects/PROJECT_ID`.
+ * Value must have pattern "^projects/[^/]+$".
+ *
+ * Completes with a [Empty].
+ *
+ * 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<Empty> batchWrite(BatchWriteSpansRequest request, 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 (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (name == null) {
+ throw new core.ArgumentError("Parameter name is required.");
+ }
+
+ _url = 'v2/' + commons.Escaper.ecapeVariableReserved('$name') + '/traces:batchWrite';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Empty.fromJson(data));
+ }
+
+ /**
+ * Returns of a list of traces that match the specified filter conditions.
+ *
+ * Request parameters:
+ *
+ * [parent] - Required. The project where the trace data is stored. The format
+ * is `projects/PROJECT_ID`.
+ * Value must have pattern "^projects/[^/]+$".
+ *
+ * [pageSize] - Optional. The maximum number of results to return from this
+ * request.
+ * Non-positive values are ignored. The presence of `next_page_token` in the
+ * response indicates that more results might be available, even if fewer than
+ * the maximum number of results is returned by this request.
+ *
+ * [orderBy] - Optional. A single field used to sort the returned traces.
+ * Only the following field names can be used:
+ *
+ * * `trace_id`: the trace's ID field
+ * * `name`: the root span's resource name
+ * * `duration`: the difference between the root span's start time and end
+ * time
+ * * `start`: the start time of the root span
+ *
+ * Sorting is in ascending order unless `desc` is appended to the sort field
+ * name.
+ * Example: `"name desc"`).
+ *
+ * [filter] - Opional. Return only traces that match this
+ * [trace filter](/trace/docs/trace-filters). Example:
+ *
+ * "label:/http/url root:/_ah/background my_label:17"
+ *
+ * [endTime] - Optional. Do not return traces whose start time is later than
+ * this time.
+ *
+ * [pageToken] - Optional. If present, then retrieve the next batch of results
+ * from the
+ * preceding call to this method. `page_token` must be the value of
+ * `next_page_token` from the previous response. The values of other method
+ * parameters should be identical to those in the previous call.
+ *
+ * [startTime] - Optional. Do not return traces whose end time is earlier than
+ * this time.
+ *
+ * Completes with a [ListTracesResponse].
+ *
+ * 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<ListTracesResponse> list(core.String parent, {core.int pageSize, core.String orderBy, core.String filter, core.String endTime, core.String pageToken, core.String startTime}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (parent == null) {
+ throw new core.ArgumentError("Parameter parent is required.");
+ }
+ if (pageSize != null) {
+ _queryParams["pageSize"] = ["${pageSize}"];
+ }
+ if (orderBy != null) {
+ _queryParams["orderBy"] = [orderBy];
+ }
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+ if (endTime != null) {
+ _queryParams["endTime"] = [endTime];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+ if (startTime != null) {
+ _queryParams["startTime"] = [startTime];
+ }
+
+ _url = 'v2/' + commons.Escaper.ecapeVariableReserved('$parent') + '/traces';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new ListTracesResponse.fromJson(data));
+ }
+
+ /**
+ * Returns a list of spans within a trace.
+ *
+ * Request parameters:
+ *
+ * [parent] - Required: The resource name of the trace containing the spans to
+ * list.
+ * The format is `projects/PROJECT_ID/traces/TRACE_ID`.
+ * Value must have pattern "^projects/[^/]+/traces/[^/]+$".
+ *
+ * [pageToken] - Optional. If present, then retrieve the next batch of results
+ * from the
+ * preceding call to this method. `page_token` must be the value of
+ * `next_page_token` from the previous response. The values of other method
+ * parameters should be identical to those in the previous call.
+ *
+ * Completes with a [ListSpansResponse].
+ *
+ * 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<ListSpansResponse> listSpans(core.String parent, {core.String pageToken}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (parent == null) {
+ throw new core.ArgumentError("Parameter parent is required.");
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+ _url = 'v2/' + commons.Escaper.ecapeVariableReserved('$parent') + ':listSpans';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new ListSpansResponse.fromJson(data));
+ }
+
+}
+
+
+class ProjectsTracesSpansResourceApi {
+ final commons.ApiRequester _requester;
+
+ ProjectsTracesSpansResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Creates a new Span.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [name] - The resource name of the span in the following format:
+ *
+ * projects/[PROJECT_ID]traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier
+ * for a trace within a project.
+ * [SPAN_ID] is a unique identifier for a span within a trace,
+ * assigned when the span is created.
+ * Value must have pattern "^projects/[^/]+/traces/[^/]+/spans/[^/]+$".
+ *
+ * Completes with a [Span].
+ *
+ * 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<Span> create(Span request, 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 (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (name == null) {
+ throw new core.ArgumentError("Parameter name is required.");
+ }
+
+ _url = 'v2/' + commons.Escaper.ecapeVariableReserved('$name');
+
+ var _response = _requester.request(_url,
+ "PUT",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Span.fromJson(data));
+ }
+
+}
+
+
+
+/** Text annotation with a set of attributes. */
+class Annotation {
+ /**
+ * A set of attributes on the annotation. There is a limit of 4 attributes
+ * per Annotation.
+ */
+ Attributes attributes;
+ /**
+ * A user-supplied message describing the event. The maximum length for
+ * the description is 256 bytes.
+ */
+ TruncatableString description;
+
+ Annotation();
+
+ Annotation.fromJson(core.Map _json) {
+ if (_json.containsKey("attributes")) {
+ attributes = new Attributes.fromJson(_json["attributes"]);
+ }
+ if (_json.containsKey("description")) {
+ description = new TruncatableString.fromJson(_json["description"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (attributes != null) {
+ _json["attributes"] = (attributes).toJson();
+ }
+ if (description != null) {
+ _json["description"] = (description).toJson();
+ }
+ return _json;
+ }
+}
+
+/** The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute. */
+class AttributeValue {
+ /** A Boolean value represented by `true` or `false`. */
+ core.bool boolValue;
+ /** A 64-bit signed integer. */
+ core.String intValue;
+ /** A string up to 256 bytes long. */
+ TruncatableString stringValue;
+
+ AttributeValue();
+
+ AttributeValue.fromJson(core.Map _json) {
+ if (_json.containsKey("boolValue")) {
+ boolValue = _json["boolValue"];
+ }
+ if (_json.containsKey("intValue")) {
+ intValue = _json["intValue"];
+ }
+ if (_json.containsKey("stringValue")) {
+ stringValue = new TruncatableString.fromJson(_json["stringValue"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (boolValue != null) {
+ _json["boolValue"] = boolValue;
+ }
+ if (intValue != null) {
+ _json["intValue"] = intValue;
+ }
+ if (stringValue != null) {
+ _json["stringValue"] = (stringValue).toJson();
+ }
+ return _json;
+ }
+}
+
+/** A set of attributes, each in the format `[KEY]:[VALUE]`. */
+class Attributes {
+ /**
+ * The set of attributes. Each attribute's key can be up to 128 bytes
+ * long. The value can be a string up to 256 bytes, an integer, or the
+ * Boolean values `true` and `false`. For example:
+ *
+ * "/instance_id": "my-instance"
+ * "/http/user_agent": ""
+ * "/http/request_bytes": 300
+ * "abc.com/myattribute": true
+ */
+ core.Map<core.String, AttributeValue> attributeMap;
+ /**
+ * The number of attributes that were discarded. Attributes can be discarded
+ * because their keys are too long or because there are too many attributes.
+ * If this value is 0 then all attributes are valid.
+ */
+ core.int droppedAttributesCount;
+
+ Attributes();
+
+ Attributes.fromJson(core.Map _json) {
+ if (_json.containsKey("attributeMap")) {
+ attributeMap = commons.mapMap<core.Map<core.String, core.Object>, AttributeValue>(_json["attributeMap"], (core.Map<core.String, core.Object> item) => new AttributeValue.fromJson(item));
+ }
+ if (_json.containsKey("droppedAttributesCount")) {
+ droppedAttributesCount = _json["droppedAttributesCount"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (attributeMap != null) {
+ _json["attributeMap"] = commons.mapMap<AttributeValue, core.Map<core.String, core.Object>>(attributeMap, (AttributeValue item) => (item).toJson());
+ }
+ if (droppedAttributesCount != null) {
+ _json["droppedAttributesCount"] = droppedAttributesCount;
+ }
+ return _json;
+ }
+}
+
+/** The request message for the `BatchWriteSpans` method. */
+class BatchWriteSpansRequest {
+ /** A collection of spans. */
+ core.List<Span> spans;
+
+ BatchWriteSpansRequest();
+
+ BatchWriteSpansRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("spans")) {
+ spans = _json["spans"].map((value) => new Span.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 (spans != null) {
+ _json["spans"] = spans.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/**
+ * A generic empty message that you can re-use to avoid defining duplicated
+ * empty messages in your APIs. A typical example is to use it as the request
+ * or the response type of an API method. For instance:
+ *
+ * service Foo {
+ * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+ * }
+ *
+ * The JSON representation for `Empty` is empty JSON object `{}`.
+ */
+class Empty {
+
+ Empty();
+
+ Empty.fromJson(core.Map _json) {
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ return _json;
+ }
+}
+
+/**
+ * A pointer from the current span to another span in the same trace or in a
+ * different trace. For example, this can be used in batching operations,
+ * where a single batch handler processes multiple requests from different
+ * traces or when the handler receives a request from a different project.
+ */
+class Link {
+ /**
+ * A set of attributes on the link. There is a limit of 32 attributes per
+ * link.
+ */
+ Attributes attributes;
+ /** `SPAN_ID` identifies a span within a trace. */
+ core.String spanId;
+ /** `TRACE_ID` identifies a trace within a project. */
+ core.String traceId;
+ /**
+ * The relationship of the current span relative to the linked span.
+ * Possible string values are:
+ * - "TYPE_UNSPECIFIED" : The relationship of the two spans is unknown.
+ * - "CHILD_LINKED_SPAN" : The linked span is a child of the current span.
+ * - "PARENT_LINKED_SPAN" : The linked span is a parent of the current span.
+ */
+ core.String type;
+
+ Link();
+
+ Link.fromJson(core.Map _json) {
+ if (_json.containsKey("attributes")) {
+ attributes = new Attributes.fromJson(_json["attributes"]);
+ }
+ if (_json.containsKey("spanId")) {
+ spanId = _json["spanId"];
+ }
+ if (_json.containsKey("traceId")) {
+ traceId = _json["traceId"];
+ }
+ if (_json.containsKey("type")) {
+ type = _json["type"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (attributes != null) {
+ _json["attributes"] = (attributes).toJson();
+ }
+ if (spanId != null) {
+ _json["spanId"] = spanId;
+ }
+ if (traceId != null) {
+ _json["traceId"] = traceId;
+ }
+ if (type != null) {
+ _json["type"] = type;
+ }
+ return _json;
+ }
+}
+
+/**
+ * A collection of links, which are references from this span to a span
+ * in the same or different trace.
+ */
+class Links {
+ /**
+ * The number of dropped links after the maximum size was enforced. If
+ * this value is 0, then no links were dropped.
+ */
+ core.int droppedLinksCount;
+ /** A collection of links. */
+ core.List<Link> link;
+
+ Links();
+
+ Links.fromJson(core.Map _json) {
+ if (_json.containsKey("droppedLinksCount")) {
+ droppedLinksCount = _json["droppedLinksCount"];
+ }
+ if (_json.containsKey("link")) {
+ link = _json["link"].map((value) => new Link.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 (droppedLinksCount != null) {
+ _json["droppedLinksCount"] = droppedLinksCount;
+ }
+ if (link != null) {
+ _json["link"] = link.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/** The response message for the `ListSpans` method. */
+class ListSpansResponse {
+ /**
+ * If defined, indicates that there might be more spans that match the
+ * request. Pass this as the value of `pageToken` in a subsequent request to
+ * retrieve additional spans.
+ */
+ core.String nextPageToken;
+ /** The requested spans, if there are any in the specified trace. */
+ core.List<Span> spans;
+
+ ListSpansResponse();
+
+ ListSpansResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("spans")) {
+ spans = _json["spans"].map((value) => new Span.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 (spans != null) {
+ _json["spans"] = spans.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/** The response message for the `ListTraces` method. */
+class ListTracesResponse {
+ /**
+ * If there might be more results than those appearing in this response, then
+ * `next_page_token` is included. To get the next set of results, call this
+ * method again using the value of `next_page_token` as `page_token`.
+ */
+ core.String nextPageToken;
+ /** List of trace records returned. */
+ core.List<Trace> traces;
+
+ ListTracesResponse();
+
+ ListTracesResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("traces")) {
+ traces = _json["traces"].map((value) => new Trace.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 (traces != null) {
+ _json["traces"] = traces.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/** Binary module. */
+class Module {
+ /**
+ * A unique identifier for the module, usually a hash of its
+ * contents (up to 128 bytes).
+ */
+ TruncatableString buildId;
+ /**
+ * For example: main binary, kernel modules, and dynamic libraries
+ * such as libc.so, sharedlib.so (up to 256 bytes).
+ */
+ TruncatableString module;
+
+ Module();
+
+ Module.fromJson(core.Map _json) {
+ if (_json.containsKey("buildId")) {
+ buildId = new TruncatableString.fromJson(_json["buildId"]);
+ }
+ if (_json.containsKey("module")) {
+ module = new TruncatableString.fromJson(_json["module"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (buildId != null) {
+ _json["buildId"] = (buildId).toJson();
+ }
+ if (module != null) {
+ _json["module"] = (module).toJson();
+ }
+ return _json;
+ }
+}
+
+/** An event describing an RPC message sent or received on the network. */
+class NetworkEvent {
+ /** An identifier for the message, which must be unique in this span. */
+ core.String messageId;
+ /** The number of bytes sent or received. */
+ core.String messageSize;
+ /**
+ * For sent messages, this is the time at which the first bit was sent.
+ * For received messages, this is the time at which the last bit was
+ * received.
+ */
+ core.String time;
+ /**
+ * Type of NetworkEvent. Indicates whether the RPC message was sent or
+ * received.
+ * Possible string values are:
+ * - "TYPE_UNSPECIFIED" : Unknown event type.
+ * - "SENT" : Indicates a sent RPC message.
+ * - "RECV" : Indicates a received RPC message.
+ */
+ core.String type;
+
+ NetworkEvent();
+
+ NetworkEvent.fromJson(core.Map _json) {
+ if (_json.containsKey("messageId")) {
+ messageId = _json["messageId"];
+ }
+ if (_json.containsKey("messageSize")) {
+ messageSize = _json["messageSize"];
+ }
+ if (_json.containsKey("time")) {
+ time = _json["time"];
+ }
+ if (_json.containsKey("type")) {
+ type = _json["type"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (messageId != null) {
+ _json["messageId"] = messageId;
+ }
+ if (messageSize != null) {
+ _json["messageSize"] = messageSize;
+ }
+ if (time != null) {
+ _json["time"] = time;
+ }
+ if (type != null) {
+ _json["type"] = type;
+ }
+ return _json;
+ }
+}
+
+/**
+ * A span represents a single operation within a trace. Spans can be
+ * nested to form a trace tree. Often, a trace contains a root span
+ * that describes the end-to-end latency, and one or more subspans for
+ * its sub-operations. A trace can also contain multiple root spans,
+ * or none at all. Spans do not need to be contiguous—there may be
+ * gaps or overlaps between spans in a trace.
+ */
+class Span {
+ /**
+ * A set of attributes on the span. There is a limit of 32 attributes per
+ * span.
+ */
+ Attributes attributes;
+ /**
+ * An optional number of child spans that were generated while this span
+ * was active. If set, allows implementation to detect missing child spans.
+ */
+ core.int childSpanCount;
+ /**
+ * A description of the span's operation (up to 128 bytes).
+ * Stackdriver Trace displays the description in the
+ * {% dynamic print site_values.console_name %}.
+ * For example, the display name can be a qualified method name or a file name
+ * and a line number where the operation is called. A best practice is to use
+ * the same display name within an application and at the same call point.
+ * This makes it easier to correlate spans in different traces.
+ */
+ TruncatableString displayName;
+ /**
+ * The end time of the span. On the client side, this is the time kept by
+ * the local machine where the span execution ends. On the server side, this
+ * is the time when the server application handler stops running.
+ */
+ core.String endTime;
+ /** A maximum of 128 links are allowed per Span. */
+ Links links;
+ /**
+ * The resource name of the span in the following format:
+ *
+ * projects/[PROJECT_ID]traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier
+ * for a trace within a project.
+ * [SPAN_ID] is a unique identifier for a span within a trace,
+ * assigned when the span is created.
+ */
+ core.String name;
+ /**
+ * The [SPAN_ID] of this span's parent span. If this is a root span,
+ * then this field must be empty.
+ */
+ core.String parentSpanId;
+ /**
+ * A highly recommended but not required flag that identifies when a trace
+ * crosses a process boundary. True when the parent_span belongs to the
+ * same process as the current span.
+ */
+ core.bool sameProcessAsParentSpan;
+ /** The [SPAN_ID] portion of the span's resource name. */
+ core.String spanId;
+ /** Stack trace captured at the start of the span. */
+ StackTrace stackTrace;
+ /**
+ * The start time of the span. On the client side, this is the time kept by
+ * the local machine where the span execution starts. On the server side, this
+ * is the time when the server's application handler starts running.
+ */
+ core.String startTime;
+ /** An optional final status for this span. */
+ Status status;
+ /**
+ * The included time events. There can be up to 32 annotations and 128 network
+ * events per span.
+ */
+ TimeEvents timeEvents;
+
+ Span();
+
+ Span.fromJson(core.Map _json) {
+ if (_json.containsKey("attributes")) {
+ attributes = new Attributes.fromJson(_json["attributes"]);
+ }
+ if (_json.containsKey("childSpanCount")) {
+ childSpanCount = _json["childSpanCount"];
+ }
+ if (_json.containsKey("displayName")) {
+ displayName = new TruncatableString.fromJson(_json["displayName"]);
+ }
+ if (_json.containsKey("endTime")) {
+ endTime = _json["endTime"];
+ }
+ if (_json.containsKey("links")) {
+ links = new Links.fromJson(_json["links"]);
+ }
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("parentSpanId")) {
+ parentSpanId = _json["parentSpanId"];
+ }
+ if (_json.containsKey("sameProcessAsParentSpan")) {
+ sameProcessAsParentSpan = _json["sameProcessAsParentSpan"];
+ }
+ if (_json.containsKey("spanId")) {
+ spanId = _json["spanId"];
+ }
+ if (_json.containsKey("stackTrace")) {
+ stackTrace = new StackTrace.fromJson(_json["stackTrace"]);
+ }
+ if (_json.containsKey("startTime")) {
+ startTime = _json["startTime"];
+ }
+ if (_json.containsKey("status")) {
+ status = new Status.fromJson(_json["status"]);
+ }
+ if (_json.containsKey("timeEvents")) {
+ timeEvents = new TimeEvents.fromJson(_json["timeEvents"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (attributes != null) {
+ _json["attributes"] = (attributes).toJson();
+ }
+ if (childSpanCount != null) {
+ _json["childSpanCount"] = childSpanCount;
+ }
+ if (displayName != null) {
+ _json["displayName"] = (displayName).toJson();
+ }
+ if (endTime != null) {
+ _json["endTime"] = endTime;
+ }
+ if (links != null) {
+ _json["links"] = (links).toJson();
+ }
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (parentSpanId != null) {
+ _json["parentSpanId"] = parentSpanId;
+ }
+ if (sameProcessAsParentSpan != null) {
+ _json["sameProcessAsParentSpan"] = sameProcessAsParentSpan;
+ }
+ if (spanId != null) {
+ _json["spanId"] = spanId;
+ }
+ if (stackTrace != null) {
+ _json["stackTrace"] = (stackTrace).toJson();
+ }
+ if (startTime != null) {
+ _json["startTime"] = startTime;
+ }
+ if (status != null) {
+ _json["status"] = (status).toJson();
+ }
+ if (timeEvents != null) {
+ _json["timeEvents"] = (timeEvents).toJson();
+ }
+ return _json;
+ }
+}
+
+/** Represents a single stack frame in a stack trace. */
+class StackFrame {
+ /**
+ * The column number where the function call appears, if available.
+ * This is important in JavaScript because of its anonymous functions.
+ */
+ core.String columnNumber;
+ /**
+ * The name of the source file where the function call appears (up to 256
+ * bytes).
+ */
+ TruncatableString fileName;
+ /**
+ * The fully-qualified name that uniquely identifies the function or
+ * method that is active in this frame (up to 1024 bytes).
+ */
+ TruncatableString functionName;
+ /** The line number in `file_name` where the function call appears. */
+ core.String lineNumber;
+ /** The binary module from where the code was loaded. */
+ Module loadModule;
+ /**
+ * An un-mangled function name, if `function_name` is
+ * [mangled](http://www.avabodh.com/cxxin/namemangling.html). The name can
+ * be fully-qualified (up to 1024 bytes).
+ */
+ TruncatableString originalFunctionName;
+ /** The version of the deployed source code (up to 128 bytes). */
+ TruncatableString sourceVersion;
+
+ StackFrame();
+
+ StackFrame.fromJson(core.Map _json) {
+ if (_json.containsKey("columnNumber")) {
+ columnNumber = _json["columnNumber"];
+ }
+ if (_json.containsKey("fileName")) {
+ fileName = new TruncatableString.fromJson(_json["fileName"]);
+ }
+ if (_json.containsKey("functionName")) {
+ functionName = new TruncatableString.fromJson(_json["functionName"]);
+ }
+ if (_json.containsKey("lineNumber")) {
+ lineNumber = _json["lineNumber"];
+ }
+ if (_json.containsKey("loadModule")) {
+ loadModule = new Module.fromJson(_json["loadModule"]);
+ }
+ if (_json.containsKey("originalFunctionName")) {
+ originalFunctionName = new TruncatableString.fromJson(_json["originalFunctionName"]);
+ }
+ if (_json.containsKey("sourceVersion")) {
+ sourceVersion = new TruncatableString.fromJson(_json["sourceVersion"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (columnNumber != null) {
+ _json["columnNumber"] = columnNumber;
+ }
+ if (fileName != null) {
+ _json["fileName"] = (fileName).toJson();
+ }
+ if (functionName != null) {
+ _json["functionName"] = (functionName).toJson();
+ }
+ if (lineNumber != null) {
+ _json["lineNumber"] = lineNumber;
+ }
+ if (loadModule != null) {
+ _json["loadModule"] = (loadModule).toJson();
+ }
+ if (originalFunctionName != null) {
+ _json["originalFunctionName"] = (originalFunctionName).toJson();
+ }
+ if (sourceVersion != null) {
+ _json["sourceVersion"] = (sourceVersion).toJson();
+ }
+ return _json;
+ }
+}
+
+/** A collection of stack frames, which can be truncated. */
+class StackFrames {
+ /**
+ * The number of stack frames that were dropped because there
+ * were too many stack frames.
+ * If this value is 0, then no stack frames were dropped.
+ */
+ core.int droppedFramesCount;
+ /** Stack frames in this call stack. */
+ core.List<StackFrame> frame;
+
+ StackFrames();
+
+ StackFrames.fromJson(core.Map _json) {
+ if (_json.containsKey("droppedFramesCount")) {
+ droppedFramesCount = _json["droppedFramesCount"];
+ }
+ if (_json.containsKey("frame")) {
+ frame = _json["frame"].map((value) => new StackFrame.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 (droppedFramesCount != null) {
+ _json["droppedFramesCount"] = droppedFramesCount;
+ }
+ if (frame != null) {
+ _json["frame"] = frame.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/** A call stack appearing in a trace. */
+class StackTrace {
+ /** Stack frames in this stack trace. A maximum of 128 frames are allowed. */
+ StackFrames stackFrames;
+ /**
+ * The hash ID is used to conserve network bandwidth for duplicate
+ * stack traces within a single trace.
+ *
+ * Often multiple spans will have identical stack traces.
+ * The first occurrence of a stack trace should contain both the
+ * `stackFrame` content and a value in `stackTraceHashId`.
+ *
+ * Subsequent spans within the same request can refer
+ * to that stack trace by only setting `stackTraceHashId`.
+ */
+ core.String stackTraceHashId;
+
+ StackTrace();
+
+ StackTrace.fromJson(core.Map _json) {
+ if (_json.containsKey("stackFrames")) {
+ stackFrames = new StackFrames.fromJson(_json["stackFrames"]);
+ }
+ if (_json.containsKey("stackTraceHashId")) {
+ stackTraceHashId = _json["stackTraceHashId"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (stackFrames != null) {
+ _json["stackFrames"] = (stackFrames).toJson();
+ }
+ if (stackTraceHashId != null) {
+ _json["stackTraceHashId"] = stackTraceHashId;
+ }
+ 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 will be 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;
+ }
+}
+
+/** A time-stamped annotation or network event in the Span. */
+class TimeEvent {
+ /** One or more key:value pairs. */
+ Annotation annotation;
+ /** An event describing an RPC message sent/received on the network. */
+ NetworkEvent networkEvent;
+ /** The timestamp indicating the time the event occurred. */
+ core.String time;
+
+ TimeEvent();
+
+ TimeEvent.fromJson(core.Map _json) {
+ if (_json.containsKey("annotation")) {
+ annotation = new Annotation.fromJson(_json["annotation"]);
+ }
+ if (_json.containsKey("networkEvent")) {
+ networkEvent = new NetworkEvent.fromJson(_json["networkEvent"]);
+ }
+ if (_json.containsKey("time")) {
+ time = _json["time"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (annotation != null) {
+ _json["annotation"] = (annotation).toJson();
+ }
+ if (networkEvent != null) {
+ _json["networkEvent"] = (networkEvent).toJson();
+ }
+ if (time != null) {
+ _json["time"] = time;
+ }
+ return _json;
+ }
+}
+
+/**
+ * A collection of `TimeEvent`s. A `TimeEvent` is a time-stamped annotation
+ * on the span, consisting of either user-supplied key:value pairs, or
+ * details of an RPC message sent/received on the network.
+ */
+class TimeEvents {
+ /**
+ * The number of dropped annotations in all the included time events.
+ * If the value is 0, then no annotations were dropped.
+ */
+ core.int droppedAnnotationsCount;
+ /**
+ * The number of dropped network events in all the included time events.
+ * If the value is 0, then no network events were dropped.
+ */
+ core.int droppedNetworkEventsCount;
+ /** A collection of `TimeEvent`s. */
+ core.List<TimeEvent> timeEvent;
+
+ TimeEvents();
+
+ TimeEvents.fromJson(core.Map _json) {
+ if (_json.containsKey("droppedAnnotationsCount")) {
+ droppedAnnotationsCount = _json["droppedAnnotationsCount"];
+ }
+ if (_json.containsKey("droppedNetworkEventsCount")) {
+ droppedNetworkEventsCount = _json["droppedNetworkEventsCount"];
+ }
+ if (_json.containsKey("timeEvent")) {
+ timeEvent = _json["timeEvent"].map((value) => new TimeEvent.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 (droppedAnnotationsCount != null) {
+ _json["droppedAnnotationsCount"] = droppedAnnotationsCount;
+ }
+ if (droppedNetworkEventsCount != null) {
+ _json["droppedNetworkEventsCount"] = droppedNetworkEventsCount;
+ }
+ if (timeEvent != null) {
+ _json["timeEvent"] = timeEvent.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/**
+ * A trace describes how long it takes for an application to perform some
+ * operations. It consists of a set of spans, each representing
+ * an operation and including time information and operation details.
+ */
+class Trace {
+ /**
+ * The resource name of the trace in the following format:
+ *
+ * projects/[PROJECT_ID]/traces/TRACE_ID is a unique identifier for a trace
+ * within a project.
+ * The ID is assigned when the trace is created.
+ */
+ core.String name;
+
+ Trace();
+
+ Trace.fromJson(core.Map _json) {
+ 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 (name != null) {
+ _json["name"] = name;
+ }
+ return _json;
+ }
+}
+
+/** Represents a string that might be shortened to a specified length. */
+class TruncatableString {
+ /**
+ * The number of bytes removed from the original string. If this
+ * value is 0, then the string was not shortened.
+ */
+ core.int truncatedByteCount;
+ /**
+ * The shortened string. For example, if the original string was 500
+ * bytes long and the limit of the string was 128 bytes, then this
+ * value contains the first 128 bytes of the 500-byte string. Note that
+ * truncation always happens on the character boundary, to ensure that
+ * truncated string is still valid UTF8. In case of multi-byte characters,
+ * size of truncated string can be less than truncation limit.
+ */
+ core.String value;
+
+ TruncatableString();
+
+ TruncatableString.fromJson(core.Map _json) {
+ if (_json.containsKey("truncatedByteCount")) {
+ truncatedByteCount = _json["truncatedByteCount"];
+ }
+ if (_json.containsKey("value")) {
+ value = _json["value"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (truncatedByteCount != null) {
+ _json["truncatedByteCount"] = truncatedByteCount;
+ }
+ if (value != null) {
+ _json["value"] = value;
+ }
+ return _json;
+ }
+}
diff --git a/generated/googleapis/lib/compute/v1.dart b/generated/googleapis/lib/compute/v1.dart
index 5fc0327..c748a61 100644
--- a/generated/googleapis/lib/compute/v1.dart
+++ b/generated/googleapis/lib/compute/v1.dart
@@ -37,6 +37,7 @@
final commons.ApiRequester _requester;
+ AcceleratorTypesResourceApi get acceleratorTypes => new AcceleratorTypesResourceApi(_requester);
AddressesResourceApi get addresses => new AddressesResourceApi(_requester);
AutoscalersResourceApi get autoscalers => new AutoscalersResourceApi(_requester);
BackendBucketsResourceApi get backendBuckets => new BackendBucketsResourceApi(_requester);
@@ -62,6 +63,7 @@
ProjectsResourceApi get projects => new ProjectsResourceApi(_requester);
RegionAutoscalersResourceApi get regionAutoscalers => new RegionAutoscalersResourceApi(_requester);
RegionBackendServicesResourceApi get regionBackendServices => new RegionBackendServicesResourceApi(_requester);
+ RegionCommitmentsResourceApi get regionCommitments => new RegionCommitmentsResourceApi(_requester);
RegionInstanceGroupManagersResourceApi get regionInstanceGroupManagers => new RegionInstanceGroupManagersResourceApi(_requester);
RegionInstanceGroupsResourceApi get regionInstanceGroups => new RegionInstanceGroupsResourceApi(_requester);
RegionOperationsResourceApi get regionOperations => new RegionOperationsResourceApi(_requester);
@@ -88,6 +90,273 @@
}
+class AcceleratorTypesResourceApi {
+ final commons.ApiRequester _requester;
+
+ AcceleratorTypesResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Retrieves an aggregated list of accelerator types.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [filter] - Sets a filter {expression} for filtering listed resources. Your
+ * {expression} must be in the format: field_name comparison_string
+ * literal_string.
+ *
+ * The field_name is the name of the field you want to compare. Only atomic
+ * field types are supported (string, number, boolean). The comparison_string
+ * must be either eq (equals) or ne (not equals). The literal_string is the
+ * string value to filter to. The literal value must be valid for the type of
+ * field you are filtering by (string, number, boolean). For string fields,
+ * the literal value is interpreted as a regular expression using RE2 syntax.
+ * The literal value must match the entire field.
+ *
+ * For example, to filter for instances that do not have a name of
+ * example-instance, you would use name ne example-instance.
+ *
+ * You can filter on nested fields. For example, you could filter on instances
+ * that have set the scheduling.automaticRestart field to true. Use filtering
+ * on nested fields to take advantage of labels to organize and search for
+ * results based on label values.
+ *
+ * To filter on multiple expressions, provide each separate expression within
+ * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
+ * us-central1-f). Multiple expressions are treated as AND expressions,
+ * meaning that resources must match all expressions to pass the filters.
+ *
+ * [maxResults] - The maximum number of results per page that should be
+ * returned. If the number of available results is larger than maxResults,
+ * Compute Engine returns a nextPageToken that can be used to get the next
+ * page of results in subsequent list requests. Acceptable values are 0 to
+ * 500, inclusive. (Default: 500)
+ *
+ * [orderBy] - Sorts list results by a certain order. By default, results are
+ * returned in alphanumerical order based on the resource name.
+ *
+ * You can also sort results in descending order based on the creation
+ * timestamp using orderBy="creationTimestamp desc". This sorts results based
+ * on the creationTimestamp field in reverse chronological order (newest
+ * result first). Use this to sort resources like operations so that the
+ * newest operation is returned first.
+ *
+ * Currently, only sorting by name or creationTimestamp desc is supported.
+ *
+ * [pageToken] - Specifies a page token to use. Set pageToken to the
+ * nextPageToken returned by a previous list request to get the next page of
+ * results.
+ *
+ * Completes with a [AcceleratorTypeAggregatedList].
+ *
+ * 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<AcceleratorTypeAggregatedList> aggregatedList(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (orderBy != null) {
+ _queryParams["orderBy"] = [orderBy];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/acceleratorTypes';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new AcceleratorTypeAggregatedList.fromJson(data));
+ }
+
+ /**
+ * Returns the specified accelerator type. Get a list of available accelerator
+ * types by making a list() request.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [zone] - The name of the zone for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [acceleratorType] - Name of the accelerator type to return.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [AcceleratorType].
+ *
+ * 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<AcceleratorType> get(core.String project, core.String zone, core.String acceleratorType) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (acceleratorType == null) {
+ throw new core.ArgumentError("Parameter acceleratorType is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/acceleratorTypes/' + commons.Escaper.ecapeVariable('$acceleratorType');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new AcceleratorType.fromJson(data));
+ }
+
+ /**
+ * Retrieves a list of accelerator types available to the specified project.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [zone] - The name of the zone for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [filter] - Sets a filter {expression} for filtering listed resources. Your
+ * {expression} must be in the format: field_name comparison_string
+ * literal_string.
+ *
+ * The field_name is the name of the field you want to compare. Only atomic
+ * field types are supported (string, number, boolean). The comparison_string
+ * must be either eq (equals) or ne (not equals). The literal_string is the
+ * string value to filter to. The literal value must be valid for the type of
+ * field you are filtering by (string, number, boolean). For string fields,
+ * the literal value is interpreted as a regular expression using RE2 syntax.
+ * The literal value must match the entire field.
+ *
+ * For example, to filter for instances that do not have a name of
+ * example-instance, you would use name ne example-instance.
+ *
+ * You can filter on nested fields. For example, you could filter on instances
+ * that have set the scheduling.automaticRestart field to true. Use filtering
+ * on nested fields to take advantage of labels to organize and search for
+ * results based on label values.
+ *
+ * To filter on multiple expressions, provide each separate expression within
+ * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
+ * us-central1-f). Multiple expressions are treated as AND expressions,
+ * meaning that resources must match all expressions to pass the filters.
+ *
+ * [maxResults] - The maximum number of results per page that should be
+ * returned. If the number of available results is larger than maxResults,
+ * Compute Engine returns a nextPageToken that can be used to get the next
+ * page of results in subsequent list requests. Acceptable values are 0 to
+ * 500, inclusive. (Default: 500)
+ *
+ * [orderBy] - Sorts list results by a certain order. By default, results are
+ * returned in alphanumerical order based on the resource name.
+ *
+ * You can also sort results in descending order based on the creation
+ * timestamp using orderBy="creationTimestamp desc". This sorts results based
+ * on the creationTimestamp field in reverse chronological order (newest
+ * result first). Use this to sort resources like operations so that the
+ * newest operation is returned first.
+ *
+ * Currently, only sorting by name or creationTimestamp desc is supported.
+ *
+ * [pageToken] - Specifies a page token to use. Set pageToken to the
+ * nextPageToken returned by a previous list request to get the next page of
+ * results.
+ *
+ * Completes with a [AcceleratorTypeList].
+ *
+ * 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<AcceleratorTypeList> list(core.String project, core.String zone, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (orderBy != null) {
+ _queryParams["orderBy"] = [orderBy];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/acceleratorTypes';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new AcceleratorTypeList.fromJson(data));
+ }
+
+}
+
+
class AddressesResourceApi {
final commons.ApiRequester _requester;
@@ -832,7 +1101,8 @@
/**
* Updates an autoscaler in the specified project using the data included in
- * the request. This method supports patch semantics.
+ * the request. This method supports PATCH semantics and uses the JSON merge
+ * patch format and processing rules.
*
* [request] - The metadata request object.
*
@@ -1201,7 +1471,8 @@
/**
* Updates the specified BackendBucket resource with the data included in the
- * request. This method supports patch semantics.
+ * request. This method supports PATCH semantics and uses the JSON merge patch
+ * format and processing rules.
*
* [request] - The metadata request object.
*
@@ -1715,7 +1986,8 @@
* Patches the specified BackendService resource with the data included in the
* request. There are several restrictions and guidelines to keep in mind when
* updating a backend service. Read Restrictions and Guidelines for more
- * information. This method supports patch semantics.
+ * information. This method supports PATCH semantics and uses the JSON merge
+ * patch format and processing rules.
*
* [request] - The metadata request object.
*
@@ -4553,7 +4825,8 @@
/**
* Updates a HealthCheck resource in the specified project using the data
- * included in the request. This method supports patch semantics.
+ * included in the request. This method supports PATCH semantics and uses the
+ * JSON merge patch format and processing rules.
*
* [request] - The metadata request object.
*
@@ -4910,7 +5183,8 @@
/**
* Updates a HttpHealthCheck resource in the specified project using the data
- * included in the request. This method supports patch semantics.
+ * included in the request. This method supports PATCH semantics and uses the
+ * JSON merge patch format and processing rules.
*
* [request] - The metadata request object.
*
@@ -5267,7 +5541,8 @@
/**
* Updates a HttpsHealthCheck resource in the specified project using the data
- * included in the request. This method supports patch semantics.
+ * included in the request. This method supports PATCH semantics and uses the
+ * JSON merge patch format and processing rules.
*
* [request] - The metadata request object.
*
@@ -5589,6 +5864,8 @@
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
+ * [forceCreate] - Force image creation if true.
+ *
* Completes with a [Operation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -5597,7 +5874,7 @@
* 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> insert(Image request, core.String project) {
+ async.Future<Operation> insert(Image request, core.String project, {core.bool forceCreate}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -5611,6 +5888,9 @@
if (project == null) {
throw new core.ArgumentError("Parameter project is required.");
}
+ if (forceCreate != null) {
+ _queryParams["forceCreate"] = ["${forceCreate}"];
+ }
_url = commons.Escaper.ecapeVariable('$project') + '/global/images';
@@ -8417,6 +8697,65 @@
}
/**
+ * Changes the number and/or type of accelerator for a stopped instance to the
+ * values specified in the request.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [zone] - The name of the zone for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [instance] - Name of the instance scoping this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * 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> setMachineResources(InstancesSetMachineResourcesRequest request, core.String project, core.String zone, core.String instance) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (instance == null) {
+ throw new core.ArgumentError("Parameter instance is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/instances/' + commons.Escaper.ecapeVariable('$instance') + '/setMachineResources';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
* Changes the machine type for a stopped instance to the machine type
* specified in the request.
*
@@ -8890,8 +9229,7 @@
_requester = client;
/**
- * Returns the specified License resource. Get a list of available licenses by
- * making a list() request.
+ * Returns the specified License resource.
*
* Request parameters:
*
@@ -10463,7 +10801,8 @@
/**
* Updates an autoscaler in the specified project using the data included in
- * the request. This method supports patch semantics.
+ * the request. This method supports PATCH semantics and uses the JSON merge
+ * patch format and processing rules.
*
* [request] - The metadata request object.
*
@@ -10918,7 +11257,8 @@
* Updates the specified regional BackendService resource with the data
* included in the request. There are several restrictions and guidelines to
* keep in mind when updating a backend service. Read Restrictions and
- * Guidelines for more information. This method supports patch semantics.
+ * Guidelines for more information. This method supports PATCH semantics and
+ * uses the JSON merge patch format and processing rules.
*
* [request] - The metadata request object.
*
@@ -11039,6 +11379,326 @@
}
+class RegionCommitmentsResourceApi {
+ final commons.ApiRequester _requester;
+
+ RegionCommitmentsResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Retrieves an aggregated list of commitments.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [filter] - Sets a filter {expression} for filtering listed resources. Your
+ * {expression} must be in the format: field_name comparison_string
+ * literal_string.
+ *
+ * The field_name is the name of the field you want to compare. Only atomic
+ * field types are supported (string, number, boolean). The comparison_string
+ * must be either eq (equals) or ne (not equals). The literal_string is the
+ * string value to filter to. The literal value must be valid for the type of
+ * field you are filtering by (string, number, boolean). For string fields,
+ * the literal value is interpreted as a regular expression using RE2 syntax.
+ * The literal value must match the entire field.
+ *
+ * For example, to filter for instances that do not have a name of
+ * example-instance, you would use name ne example-instance.
+ *
+ * You can filter on nested fields. For example, you could filter on instances
+ * that have set the scheduling.automaticRestart field to true. Use filtering
+ * on nested fields to take advantage of labels to organize and search for
+ * results based on label values.
+ *
+ * To filter on multiple expressions, provide each separate expression within
+ * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
+ * us-central1-f). Multiple expressions are treated as AND expressions,
+ * meaning that resources must match all expressions to pass the filters.
+ *
+ * [maxResults] - The maximum number of results per page that should be
+ * returned. If the number of available results is larger than maxResults,
+ * Compute Engine returns a nextPageToken that can be used to get the next
+ * page of results in subsequent list requests. Acceptable values are 0 to
+ * 500, inclusive. (Default: 500)
+ *
+ * [orderBy] - Sorts list results by a certain order. By default, results are
+ * returned in alphanumerical order based on the resource name.
+ *
+ * You can also sort results in descending order based on the creation
+ * timestamp using orderBy="creationTimestamp desc". This sorts results based
+ * on the creationTimestamp field in reverse chronological order (newest
+ * result first). Use this to sort resources like operations so that the
+ * newest operation is returned first.
+ *
+ * Currently, only sorting by name or creationTimestamp desc is supported.
+ *
+ * [pageToken] - Specifies a page token to use. Set pageToken to the
+ * nextPageToken returned by a previous list request to get the next page of
+ * results.
+ *
+ * Completes with a [CommitmentAggregatedList].
+ *
+ * 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<CommitmentAggregatedList> aggregatedList(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (orderBy != null) {
+ _queryParams["orderBy"] = [orderBy];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/aggregated/commitments';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new CommitmentAggregatedList.fromJson(data));
+ }
+
+ /**
+ * Returns the specified commitment resource. Get a list of available
+ * commitments by making a list() request.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [region] - Name of the region for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [commitment] - Name of the commitment to return.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * Completes with a [Commitment].
+ *
+ * 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<Commitment> get(core.String project, core.String region, core.String commitment) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (commitment == null) {
+ throw new core.ArgumentError("Parameter commitment is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/commitments/' + commons.Escaper.ecapeVariable('$commitment');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Commitment.fromJson(data));
+ }
+
+ /**
+ * Creates a commitment in the specified project using the data included in
+ * the request.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [region] - Name of the region for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * 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> insert(Commitment request, core.String project, core.String region) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/commitments';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Retrieves a list of commitments contained within the specified region.
+ *
+ * Request parameters:
+ *
+ * [project] - Project ID for this request.
+ * Value must have pattern
+ * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
+ *
+ * [region] - Name of the region for this request.
+ * Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
+ *
+ * [filter] - Sets a filter {expression} for filtering listed resources. Your
+ * {expression} must be in the format: field_name comparison_string
+ * literal_string.
+ *
+ * The field_name is the name of the field you want to compare. Only atomic
+ * field types are supported (string, number, boolean). The comparison_string
+ * must be either eq (equals) or ne (not equals). The literal_string is the
+ * string value to filter to. The literal value must be valid for the type of
+ * field you are filtering by (string, number, boolean). For string fields,
+ * the literal value is interpreted as a regular expression using RE2 syntax.
+ * The literal value must match the entire field.
+ *
+ * For example, to filter for instances that do not have a name of
+ * example-instance, you would use name ne example-instance.
+ *
+ * You can filter on nested fields. For example, you could filter on instances
+ * that have set the scheduling.automaticRestart field to true. Use filtering
+ * on nested fields to take advantage of labels to organize and search for
+ * results based on label values.
+ *
+ * To filter on multiple expressions, provide each separate expression within
+ * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq
+ * us-central1-f). Multiple expressions are treated as AND expressions,
+ * meaning that resources must match all expressions to pass the filters.
+ *
+ * [maxResults] - The maximum number of results per page that should be
+ * returned. If the number of available results is larger than maxResults,
+ * Compute Engine returns a nextPageToken that can be used to get the next
+ * page of results in subsequent list requests. Acceptable values are 0 to
+ * 500, inclusive. (Default: 500)
+ *
+ * [orderBy] - Sorts list results by a certain order. By default, results are
+ * returned in alphanumerical order based on the resource name.
+ *
+ * You can also sort results in descending order based on the creation
+ * timestamp using orderBy="creationTimestamp desc". This sorts results based
+ * on the creationTimestamp field in reverse chronological order (newest
+ * result first). Use this to sort resources like operations so that the
+ * newest operation is returned first.
+ *
+ * Currently, only sorting by name or creationTimestamp desc is supported.
+ *
+ * [pageToken] - Specifies a page token to use. Set pageToken to the
+ * nextPageToken returned by a previous list request to get the next page of
+ * results.
+ *
+ * Completes with a [CommitmentList].
+ *
+ * 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<CommitmentList> list(core.String project, core.String region, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (project == null) {
+ throw new core.ArgumentError("Parameter project is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (orderBy != null) {
+ _queryParams["orderBy"] = [orderBy];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+ _url = commons.Escaper.ecapeVariable('$project') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/commitments';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new CommitmentList.fromJson(data));
+ }
+
+}
+
+
class RegionInstanceGroupManagersResourceApi {
final commons.ApiRequester _requester;
@@ -17552,7 +18212,8 @@
/**
* Patches the specified UrlMap resource with the data included in the
- * request. This method supports patch semantics.
+ * request. This method supports PATCH semantics and uses the JSON merge patch
+ * format and processing rules.
*
* [request] - The metadata request object.
*
@@ -18466,6 +19127,399 @@
/**
+ * A specification of the type and number of accelerator cards attached to the
+ * instance.
+ */
+class AcceleratorConfig {
+ /** The number of the guest accelerator cards exposed to this instance. */
+ core.int acceleratorCount;
+ /**
+ * Full or partial URL of the accelerator type resource to expose to this
+ * instance.
+ */
+ core.String acceleratorType;
+
+ AcceleratorConfig();
+
+ AcceleratorConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("acceleratorCount")) {
+ acceleratorCount = _json["acceleratorCount"];
+ }
+ if (_json.containsKey("acceleratorType")) {
+ acceleratorType = _json["acceleratorType"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (acceleratorCount != null) {
+ _json["acceleratorCount"] = acceleratorCount;
+ }
+ if (acceleratorType != null) {
+ _json["acceleratorType"] = acceleratorType;
+ }
+ return _json;
+ }
+}
+
+/** An Accelerator Type resource. */
+class AcceleratorType {
+ /** [Output Only] Creation timestamp in RFC3339 text format. */
+ core.String creationTimestamp;
+ /**
+ * [Output Only] The deprecation status associated with this accelerator type.
+ */
+ DeprecationStatus deprecated;
+ /** [Output Only] An optional textual description of the resource. */
+ core.String description;
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
+ */
+ core.String id;
+ /**
+ * [Output Only] The type of the resource. Always compute#acceleratorType for
+ * accelerator types.
+ */
+ core.String kind;
+ /** [Output Only] Maximum accelerator cards allowed per instance. */
+ core.int maximumCardsPerInstance;
+ /** [Output Only] Name of the resource. */
+ core.String name;
+ /** [Output Only] Server-defined fully-qualified URL for this resource. */
+ core.String selfLink;
+ /**
+ * [Output Only] The name of the zone where the accelerator type resides, such
+ * as us-central1-a.
+ */
+ core.String zone;
+
+ AcceleratorType();
+
+ AcceleratorType.fromJson(core.Map _json) {
+ if (_json.containsKey("creationTimestamp")) {
+ creationTimestamp = _json["creationTimestamp"];
+ }
+ if (_json.containsKey("deprecated")) {
+ deprecated = new DeprecationStatus.fromJson(_json["deprecated"]);
+ }
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("maximumCardsPerInstance")) {
+ maximumCardsPerInstance = _json["maximumCardsPerInstance"];
+ }
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ if (_json.containsKey("zone")) {
+ zone = _json["zone"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (creationTimestamp != null) {
+ _json["creationTimestamp"] = creationTimestamp;
+ }
+ if (deprecated != null) {
+ _json["deprecated"] = (deprecated).toJson();
+ }
+ if (description != null) {
+ _json["description"] = description;
+ }
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (maximumCardsPerInstance != null) {
+ _json["maximumCardsPerInstance"] = maximumCardsPerInstance;
+ }
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ if (zone != null) {
+ _json["zone"] = zone;
+ }
+ return _json;
+ }
+}
+
+class AcceleratorTypeAggregatedList {
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
+ */
+ core.String id;
+ /** [Output Only] A map of scoped accelerator type lists. */
+ core.Map<core.String, AcceleratorTypesScopedList> items;
+ /**
+ * [Output Only] Type of resource. Always
+ * compute#acceleratorTypeAggregatedList for aggregated lists of accelerator
+ * types.
+ */
+ core.String kind;
+ /**
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
+ */
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
+
+ AcceleratorTypeAggregatedList();
+
+ AcceleratorTypeAggregatedList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("items")) {
+ items = commons.mapMap<core.Map<core.String, core.Object>, AcceleratorTypesScopedList>(_json["items"], (core.Map<core.String, core.Object> item) => new AcceleratorTypesScopedList.fromJson(item));
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (items != null) {
+ _json["items"] = commons.mapMap<AcceleratorTypesScopedList, core.Map<core.String, core.Object>>(items, (AcceleratorTypesScopedList item) => (item).toJson());
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ return _json;
+ }
+}
+
+/** Contains a list of accelerator types. */
+class AcceleratorTypeList {
+ /**
+ * [Output Only] Unique identifier for the resource; defined by the server.
+ */
+ core.String id;
+ /** A list of AcceleratorType resources. */
+ core.List<AcceleratorType> items;
+ /**
+ * [Output Only] Type of resource. Always compute#acceleratorTypeList for
+ * lists of accelerator types.
+ */
+ core.String kind;
+ /** [Output Only] A token used to continue a truncated list request. */
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
+
+ AcceleratorTypeList();
+
+ AcceleratorTypeList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("items")) {
+ items = _json["items"].map((value) => new AcceleratorType.fromJson(value)).toList();
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (items != null) {
+ _json["items"] = items.map((value) => (value).toJson()).toList();
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ return _json;
+ }
+}
+
+class AcceleratorTypesScopedListWarningData {
+ /**
+ * [Output Only] A key that provides more detail on the warning being
+ * returned. For example, for warnings where there are no results in a list
+ * request for a particular zone, this key might be scope and the key value
+ * might be the zone name. Other examples might be a key indicating a
+ * deprecated resource and a suggested replacement, or a warning about invalid
+ * network settings (for example, if an instance attempts to perform IP
+ * forwarding but is not enabled for IP forwarding).
+ */
+ core.String key;
+ /** [Output Only] A warning data value corresponding to the key. */
+ core.String value;
+
+ AcceleratorTypesScopedListWarningData();
+
+ AcceleratorTypesScopedListWarningData.fromJson(core.Map _json) {
+ if (_json.containsKey("key")) {
+ key = _json["key"];
+ }
+ if (_json.containsKey("value")) {
+ value = _json["value"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (key != null) {
+ _json["key"] = key;
+ }
+ if (value != null) {
+ _json["value"] = value;
+ }
+ return _json;
+ }
+}
+
+/**
+ * [Output Only] An informational warning that appears when the accelerator
+ * types list is empty.
+ */
+class AcceleratorTypesScopedListWarning {
+ /**
+ * [Output Only] A warning code, if applicable. For example, Compute Engine
+ * returns NO_RESULTS_ON_PAGE if there are no results in the response.
+ * Possible string values are:
+ * - "CLEANUP_FAILED"
+ * - "DEPRECATED_RESOURCE_USED"
+ * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ * - "FIELD_VALUE_OVERRIDEN"
+ * - "INJECTED_KERNELS_DEPRECATED"
+ * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
+ * - "NEXT_HOP_CANNOT_IP_FORWARD"
+ * - "NEXT_HOP_INSTANCE_NOT_FOUND"
+ * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
+ * - "NEXT_HOP_NOT_RUNNING"
+ * - "NOT_CRITICAL_ERROR"
+ * - "NO_RESULTS_ON_PAGE"
+ * - "REQUIRED_TOS_AGREEMENT"
+ * - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
+ * - "RESOURCE_NOT_DELETED"
+ * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
+ * - "UNREACHABLE"
+ */
+ core.String code;
+ /**
+ * [Output Only] Metadata about this warning in key: value format. For
+ * example:
+ * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
+ */
+ core.List<AcceleratorTypesScopedListWarningData> data;
+ /** [Output Only] A human-readable description of the warning code. */
+ core.String message;
+
+ AcceleratorTypesScopedListWarning();
+
+ AcceleratorTypesScopedListWarning.fromJson(core.Map _json) {
+ if (_json.containsKey("code")) {
+ code = _json["code"];
+ }
+ if (_json.containsKey("data")) {
+ data = _json["data"].map((value) => new AcceleratorTypesScopedListWarningData.fromJson(value)).toList();
+ }
+ 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 (data != null) {
+ _json["data"] = data.map((value) => (value).toJson()).toList();
+ }
+ if (message != null) {
+ _json["message"] = message;
+ }
+ return _json;
+ }
+}
+
+class AcceleratorTypesScopedList {
+ /** [Output Only] List of accelerator types contained in this scope. */
+ core.List<AcceleratorType> acceleratorTypes;
+ /**
+ * [Output Only] An informational warning that appears when the accelerator
+ * types list is empty.
+ */
+ AcceleratorTypesScopedListWarning warning;
+
+ AcceleratorTypesScopedList();
+
+ AcceleratorTypesScopedList.fromJson(core.Map _json) {
+ if (_json.containsKey("acceleratorTypes")) {
+ acceleratorTypes = _json["acceleratorTypes"].map((value) => new AcceleratorType.fromJson(value)).toList();
+ }
+ if (_json.containsKey("warning")) {
+ warning = new AcceleratorTypesScopedListWarning.fromJson(_json["warning"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (acceleratorTypes != null) {
+ _json["acceleratorTypes"] = acceleratorTypes.map((value) => (value).toJson()).toList();
+ }
+ if (warning != null) {
+ _json["warning"] = (warning).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
* An access configuration attached to an instance's network interface. Only one
* access config per instance is supported.
*/
@@ -19283,6 +20337,21 @@
core.String region;
/** [Output Only] Server-defined URL for the resource. */
core.String selfLink;
+ /**
+ * [Output Only] The status of the autoscaler configuration.
+ * Possible string values are:
+ * - "ACTIVE"
+ * - "DELETING"
+ * - "ERROR"
+ * - "PENDING"
+ */
+ core.String status;
+ /**
+ * [Output Only] Human-readable details about the current state of the
+ * autoscaler. Read the documentation for Commonly returned status messages
+ * for examples of status messages you might encounter.
+ */
+ core.List<AutoscalerStatusDetails> statusDetails;
/** URL of the managed instance group that this autoscaler will scale. */
core.String target;
/**
@@ -19318,6 +20387,12 @@
if (_json.containsKey("selfLink")) {
selfLink = _json["selfLink"];
}
+ if (_json.containsKey("status")) {
+ status = _json["status"];
+ }
+ if (_json.containsKey("statusDetails")) {
+ statusDetails = _json["statusDetails"].map((value) => new AutoscalerStatusDetails.fromJson(value)).toList();
+ }
if (_json.containsKey("target")) {
target = _json["target"];
}
@@ -19352,6 +20427,12 @@
if (selfLink != null) {
_json["selfLink"] = selfLink;
}
+ if (status != null) {
+ _json["status"] = status;
+ }
+ if (statusDetails != null) {
+ _json["statusDetails"] = statusDetails.map((value) => (value).toJson()).toList();
+ }
if (target != null) {
_json["target"] = target;
}
@@ -19493,6 +20574,53 @@
}
}
+class AutoscalerStatusDetails {
+ /** The status message. */
+ core.String message;
+ /**
+ * The type of error returned.
+ * Possible string values are:
+ * - "ALL_INSTANCES_UNHEALTHY"
+ * - "BACKEND_SERVICE_DOES_NOT_EXIST"
+ * - "CAPPED_AT_MAX_NUM_REPLICAS"
+ * - "CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE"
+ * - "CUSTOM_METRIC_INVALID"
+ * - "MIN_EQUALS_MAX"
+ * - "MISSING_CUSTOM_METRIC_DATA_POINTS"
+ * - "MISSING_LOAD_BALANCING_DATA_POINTS"
+ * - "MORE_THAN_ONE_BACKEND_SERVICE"
+ * - "NOT_ENOUGH_QUOTA_AVAILABLE"
+ * - "REGION_RESOURCE_STOCKOUT"
+ * - "SCALING_TARGET_DOES_NOT_EXIST"
+ * - "UNKNOWN"
+ * - "UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION"
+ * - "ZONE_RESOURCE_STOCKOUT"
+ */
+ core.String type;
+
+ AutoscalerStatusDetails();
+
+ AutoscalerStatusDetails.fromJson(core.Map _json) {
+ if (_json.containsKey("message")) {
+ message = _json["message"];
+ }
+ if (_json.containsKey("type")) {
+ type = _json["type"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (message != null) {
+ _json["message"] = message;
+ }
+ if (type != null) {
+ _json["type"] = type;
+ }
+ return _json;
+ }
+}
+
class AutoscalersScopedListWarningData {
/**
* [Output Only] A key that provides more detail on the warning being
@@ -20178,7 +21306,9 @@
/**
* The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for
* health checking this BackendService. Currently at most one health check can
- * be specified, and a health check is required.
+ * be specified, and a health check is required for GCE backend services. A
+ * health check must not be specified for GAE app backend and Cloud Function
+ * backend.
*
* For internal load balancing, a URL to a HealthCheck resource must be
* specified instead.
@@ -20868,6 +21998,438 @@
}
}
+/**
+ * Represents a Commitment resource. Creating a Commitment resource means that
+ * you are purchasing a committed use contract with an explicit start and end
+ * time. You can create commitments based on vCPUs and memory usage and receive
+ * discounted rates. For full details, read Signing Up for Committed Use
+ * Discounts.
+ *
+ * Committed use discounts are subject to Google Cloud Platform's Service
+ * Specific Terms. By purchasing a committed use discount, you agree to these
+ * terms. Committed use discounts will not renew, so you must purchase a new
+ * commitment to continue receiving discounts.
+ */
+class Commitment {
+ /** [Output Only] Creation timestamp in RFC3339 text format. */
+ core.String creationTimestamp;
+ /**
+ * An optional description of this resource. Provide this property when you
+ * create the resource.
+ */
+ core.String description;
+ /** [Output Only] Commitment end time in RFC3339 text format. */
+ core.String endTimestamp;
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
+ */
+ core.String id;
+ /**
+ * [Output Only] Type of the resource. Always compute#commitment for
+ * commitments.
+ */
+ core.String kind;
+ /**
+ * Name of the resource. Provided by the client when the resource is created.
+ * The name must be 1-63 characters long, and comply with RFC1035.
+ * Specifically, the name must be 1-63 characters long and match the regular
+ * expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must
+ * be a lowercase letter, and all following characters must be a dash,
+ * lowercase letter, or digit, except the last character, which cannot be a
+ * dash.
+ */
+ core.String name;
+ /**
+ * The plan for this commitment, which determines duration and discount rate.
+ * The currently supported plans are TWELVE_MONTH (1 year), and
+ * THIRTY_SIX_MONTH (3 years).
+ * Possible string values are:
+ * - "INVALID"
+ * - "THIRTY_SIX_MONTH"
+ * - "TWELVE_MONTH"
+ */
+ core.String plan;
+ /** [Output Only] URL of the region where this commitment may be used. */
+ core.String region;
+ /**
+ * List of commitment amounts for particular resources. Note that VCPU and
+ * MEMORY resource commitments must occur together.
+ */
+ core.List<ResourceCommitment> resources;
+ /** [Output Only] Server-defined URL for the resource. */
+ core.String selfLink;
+ /** [Output Only] Commitment start time in RFC3339 text format. */
+ core.String startTimestamp;
+ /**
+ * [Output Only] Status of the commitment with regards to eventual expiration
+ * (each commitment has an end date defined). One of the following values:
+ * NOT_YET_ACTIVE, ACTIVE, EXPIRED.
+ * Possible string values are:
+ * - "ACTIVE"
+ * - "CREATING"
+ * - "EXPIRED"
+ * - "NOT_YET_ACTIVE"
+ */
+ core.String status;
+ /** [Output Only] An optional, human-readable explanation of the status. */
+ core.String statusMessage;
+
+ Commitment();
+
+ Commitment.fromJson(core.Map _json) {
+ if (_json.containsKey("creationTimestamp")) {
+ creationTimestamp = _json["creationTimestamp"];
+ }
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("endTimestamp")) {
+ endTimestamp = _json["endTimestamp"];
+ }
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("plan")) {
+ plan = _json["plan"];
+ }
+ if (_json.containsKey("region")) {
+ region = _json["region"];
+ }
+ if (_json.containsKey("resources")) {
+ resources = _json["resources"].map((value) => new ResourceCommitment.fromJson(value)).toList();
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ if (_json.containsKey("startTimestamp")) {
+ startTimestamp = _json["startTimestamp"];
+ }
+ if (_json.containsKey("status")) {
+ status = _json["status"];
+ }
+ if (_json.containsKey("statusMessage")) {
+ statusMessage = _json["statusMessage"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (creationTimestamp != null) {
+ _json["creationTimestamp"] = creationTimestamp;
+ }
+ if (description != null) {
+ _json["description"] = description;
+ }
+ if (endTimestamp != null) {
+ _json["endTimestamp"] = endTimestamp;
+ }
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (plan != null) {
+ _json["plan"] = plan;
+ }
+ if (region != null) {
+ _json["region"] = region;
+ }
+ if (resources != null) {
+ _json["resources"] = resources.map((value) => (value).toJson()).toList();
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ if (startTimestamp != null) {
+ _json["startTimestamp"] = startTimestamp;
+ }
+ if (status != null) {
+ _json["status"] = status;
+ }
+ if (statusMessage != null) {
+ _json["statusMessage"] = statusMessage;
+ }
+ return _json;
+ }
+}
+
+class CommitmentAggregatedList {
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
+ */
+ core.String id;
+ /** Commitments by scope. */
+ core.Map<core.String, CommitmentsScopedList> items;
+ /**
+ * [Output Only] Type of resource. Always compute#commitmentAggregatedList for
+ * aggregated lists of commitments.
+ */
+ core.String kind;
+ /**
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
+ */
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
+
+ CommitmentAggregatedList();
+
+ CommitmentAggregatedList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("items")) {
+ items = commons.mapMap<core.Map<core.String, core.Object>, CommitmentsScopedList>(_json["items"], (core.Map<core.String, core.Object> item) => new CommitmentsScopedList.fromJson(item));
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (items != null) {
+ _json["items"] = commons.mapMap<CommitmentsScopedList, core.Map<core.String, core.Object>>(items, (CommitmentsScopedList item) => (item).toJson());
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ return _json;
+ }
+}
+
+/** Contains a list of Commitment resources. */
+class CommitmentList {
+ /**
+ * [Output Only] The unique identifier for the resource. This identifier is
+ * defined by the server.
+ */
+ core.String id;
+ /** A list of Commitment resources. */
+ core.List<Commitment> items;
+ /**
+ * [Output Only] Type of resource. Always compute#commitmentList for lists of
+ * commitments.
+ */
+ core.String kind;
+ /**
+ * [Output Only] This token allows you to get the next page of results for
+ * list requests. If the number of results is larger than maxResults, use the
+ * nextPageToken as a value for the query parameter pageToken in the next list
+ * request. Subsequent list requests will have their own nextPageToken to
+ * continue paging through the results.
+ */
+ core.String nextPageToken;
+ /** [Output Only] Server-defined URL for this resource. */
+ core.String selfLink;
+
+ CommitmentList();
+
+ CommitmentList.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("items")) {
+ items = _json["items"].map((value) => new Commitment.fromJson(value)).toList();
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("selfLink")) {
+ selfLink = _json["selfLink"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (items != null) {
+ _json["items"] = items.map((value) => (value).toJson()).toList();
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (selfLink != null) {
+ _json["selfLink"] = selfLink;
+ }
+ return _json;
+ }
+}
+
+class CommitmentsScopedListWarningData {
+ /**
+ * [Output Only] A key that provides more detail on the warning being
+ * returned. For example, for warnings where there are no results in a list
+ * request for a particular zone, this key might be scope and the key value
+ * might be the zone name. Other examples might be a key indicating a
+ * deprecated resource and a suggested replacement, or a warning about invalid
+ * network settings (for example, if an instance attempts to perform IP
+ * forwarding but is not enabled for IP forwarding).
+ */
+ core.String key;
+ /** [Output Only] A warning data value corresponding to the key. */
+ core.String value;
+
+ CommitmentsScopedListWarningData();
+
+ CommitmentsScopedListWarningData.fromJson(core.Map _json) {
+ if (_json.containsKey("key")) {
+ key = _json["key"];
+ }
+ if (_json.containsKey("value")) {
+ value = _json["value"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (key != null) {
+ _json["key"] = key;
+ }
+ if (value != null) {
+ _json["value"] = value;
+ }
+ return _json;
+ }
+}
+
+/**
+ * [Output Only] Informational warning which replaces the list of commitments
+ * when the list is empty.
+ */
+class CommitmentsScopedListWarning {
+ /**
+ * [Output Only] A warning code, if applicable. For example, Compute Engine
+ * returns NO_RESULTS_ON_PAGE if there are no results in the response.
+ * Possible string values are:
+ * - "CLEANUP_FAILED"
+ * - "DEPRECATED_RESOURCE_USED"
+ * - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ * - "FIELD_VALUE_OVERRIDEN"
+ * - "INJECTED_KERNELS_DEPRECATED"
+ * - "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
+ * - "NEXT_HOP_CANNOT_IP_FORWARD"
+ * - "NEXT_HOP_INSTANCE_NOT_FOUND"
+ * - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
+ * - "NEXT_HOP_NOT_RUNNING"
+ * - "NOT_CRITICAL_ERROR"
+ * - "NO_RESULTS_ON_PAGE"
+ * - "REQUIRED_TOS_AGREEMENT"
+ * - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
+ * - "RESOURCE_NOT_DELETED"
+ * - "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
+ * - "UNREACHABLE"
+ */
+ core.String code;
+ /**
+ * [Output Only] Metadata about this warning in key: value format. For
+ * example:
+ * "data": [ { "key": "scope", "value": "zones/us-east1-d" }
+ */
+ core.List<CommitmentsScopedListWarningData> data;
+ /** [Output Only] A human-readable description of the warning code. */
+ core.String message;
+
+ CommitmentsScopedListWarning();
+
+ CommitmentsScopedListWarning.fromJson(core.Map _json) {
+ if (_json.containsKey("code")) {
+ code = _json["code"];
+ }
+ if (_json.containsKey("data")) {
+ data = _json["data"].map((value) => new CommitmentsScopedListWarningData.fromJson(value)).toList();
+ }
+ 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 (data != null) {
+ _json["data"] = data.map((value) => (value).toJson()).toList();
+ }
+ if (message != null) {
+ _json["message"] = message;
+ }
+ return _json;
+ }
+}
+
+class CommitmentsScopedList {
+ /** [Output Only] List of commitments contained in this scope. */
+ core.List<Commitment> commitments;
+ /**
+ * [Output Only] Informational warning which replaces the list of commitments
+ * when the list is empty.
+ */
+ CommitmentsScopedListWarning warning;
+
+ CommitmentsScopedList();
+
+ CommitmentsScopedList.fromJson(core.Map _json) {
+ if (_json.containsKey("commitments")) {
+ commitments = _json["commitments"].map((value) => new Commitment.fromJson(value)).toList();
+ }
+ if (_json.containsKey("warning")) {
+ warning = new CommitmentsScopedListWarning.fromJson(_json["warning"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (commitments != null) {
+ _json["commitments"] = commitments.map((value) => (value).toJson()).toList();
+ }
+ if (warning != null) {
+ _json["warning"] = (warning).toJson();
+ }
+ return _json;
+ }
+}
+
/** Message containing connection draining configuration. */
class ConnectionDraining {
/**
@@ -22906,7 +24468,7 @@
/** Guest OS features. */
class GuestOsFeature {
/**
- * The type of supported feature. Currenty only VIRTIO_SCSI_MULTIQUEUE is
+ * The type of supported feature. Currently only VIRTIO_SCSI_MULTIQUEUE is
* supported. For newer Windows images, the server might also populate this
* property with the value WINDOWS to indicate that this is a Windows image.
* This value is purely informational and does not enable or disable any
@@ -24294,6 +25856,10 @@
*/
core.List<AttachedDisk> disks;
/**
+ * List of the type and count of accelerator cards attached to the instance.
+ */
+ core.List<AcceleratorConfig> guestAccelerators;
+ /**
* [Output Only] The unique identifier for the resource. This identifier is
* defined by the server.
*/
@@ -24430,6 +25996,9 @@
if (_json.containsKey("disks")) {
disks = _json["disks"].map((value) => new AttachedDisk.fromJson(value)).toList();
}
+ if (_json.containsKey("guestAccelerators")) {
+ guestAccelerators = _json["guestAccelerators"].map((value) => new AcceleratorConfig.fromJson(value)).toList();
+ }
if (_json.containsKey("id")) {
id = _json["id"];
}
@@ -24497,6 +26066,9 @@
if (disks != null) {
_json["disks"] = disks.map((value) => (value).toJson()).toList();
}
+ if (guestAccelerators != null) {
+ _json["guestAccelerators"] = guestAccelerators.map((value) => (value).toJson()).toList();
+ }
if (id != null) {
_json["id"] = id;
}
@@ -26117,6 +27689,11 @@
* from this template.
*/
core.List<AttachedDisk> disks;
+ /**
+ * A list of guest accelerator cards' type and count to use for instances
+ * created from the instance template.
+ */
+ core.List<AcceleratorConfig> guestAccelerators;
/** Labels to apply to instances that are created from this template. */
core.Map<core.String, core.String> labels;
/**
@@ -26163,6 +27740,9 @@
if (_json.containsKey("disks")) {
disks = _json["disks"].map((value) => new AttachedDisk.fromJson(value)).toList();
}
+ if (_json.containsKey("guestAccelerators")) {
+ guestAccelerators = _json["guestAccelerators"].map((value) => new AcceleratorConfig.fromJson(value)).toList();
+ }
if (_json.containsKey("labels")) {
labels = _json["labels"];
}
@@ -26197,6 +27777,9 @@
if (disks != null) {
_json["disks"] = disks.map((value) => (value).toJson()).toList();
}
+ if (guestAccelerators != null) {
+ _json["guestAccelerators"] = guestAccelerators.map((value) => (value).toJson()).toList();
+ }
if (labels != null) {
_json["labels"] = labels;
}
@@ -26627,6 +28210,29 @@
}
}
+class InstancesSetMachineResourcesRequest {
+ /**
+ * List of the type and count of accelerator cards attached to the instance.
+ */
+ core.List<AcceleratorConfig> guestAccelerators;
+
+ InstancesSetMachineResourcesRequest();
+
+ InstancesSetMachineResourcesRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("guestAccelerators")) {
+ guestAccelerators = _json["guestAccelerators"].map((value) => new AcceleratorConfig.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 (guestAccelerators != null) {
+ _json["guestAccelerators"] = guestAccelerators.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
class InstancesSetMachineTypeRequest {
/**
* Full or partial URL of the machine type resource. See Machine Types for a
@@ -29037,6 +30643,7 @@
* - "AUTOSCALERS"
* - "BACKEND_BUCKETS"
* - "BACKEND_SERVICES"
+ * - "COMMITMENTS"
* - "CPUS"
* - "CPUS_ALL_REGIONS"
* - "DISKS_TOTAL_GB"
@@ -29769,6 +31376,51 @@
}
}
+/**
+ * Commitment for a particular resource (a Commitment is composed of one or more
+ * of these).
+ */
+class ResourceCommitment {
+ /**
+ * The amount of the resource purchased (in a type-dependent unit, such as
+ * bytes). For vCPUs, this can just be an integer. For memory, this must be
+ * provided in MB. Memory must be a multiple of 256 MB, with up to 6.5GB of
+ * memory per every vCPU.
+ */
+ core.String amount;
+ /**
+ * Type of resource for which this commitment applies. Possible values are
+ * VCPU and MEMORY
+ * Possible string values are:
+ * - "MEMORY"
+ * - "UNSPECIFIED"
+ * - "VCPU"
+ */
+ core.String type;
+
+ ResourceCommitment();
+
+ ResourceCommitment.fromJson(core.Map _json) {
+ if (_json.containsKey("amount")) {
+ amount = _json["amount"];
+ }
+ if (_json.containsKey("type")) {
+ type = _json["type"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (amount != null) {
+ _json["amount"] = amount;
+ }
+ if (type != null) {
+ _json["type"] = type;
+ }
+ return _json;
+ }
+}
+
class ResourceGroupReference {
/**
* A URI referencing one of the instance groups listed in the backend service.
diff --git a/generated/googleapis/lib/container/v1.dart b/generated/googleapis/lib/container/v1.dart
index f7b7a68..4271316 100644
--- a/generated/googleapis/lib/container/v1.dart
+++ b/generated/googleapis/lib/container/v1.dart
@@ -110,6 +110,63 @@
_requester = client;
/**
+ * Sets the addons of a specific cluster.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectId] - The Google Developers Console [project ID or project
+ * number](https://support.google.com/cloud/answer/6158840).
+ *
+ * [zone] - The name of the Google Compute Engine
+ * [zone](/compute/docs/zones#available) in which the cluster
+ * resides.
+ *
+ * [clusterId] - The name of the cluster to upgrade.
+ *
+ * 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> addons(SetAddonsConfigRequest request, core.String projectId, core.String zone, core.String clusterId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (clusterId == null) {
+ throw new core.ArgumentError("Parameter clusterId is required.");
+ }
+
+ _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/clusters/' + commons.Escaper.ecapeVariable('$clusterId') + '/addons';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
* Completes master IP rotation.
*
* [request] - The metadata request object.
@@ -448,6 +505,234 @@
}
/**
+ * Sets the locations of a specific cluster.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectId] - The Google Developers Console [project ID or project
+ * number](https://support.google.com/cloud/answer/6158840).
+ *
+ * [zone] - The name of the Google Compute Engine
+ * [zone](/compute/docs/zones#available) in which the cluster
+ * resides.
+ *
+ * [clusterId] - The name of the cluster to upgrade.
+ *
+ * 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> locations(SetLocationsRequest request, core.String projectId, core.String zone, core.String clusterId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (clusterId == null) {
+ throw new core.ArgumentError("Parameter clusterId is required.");
+ }
+
+ _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/clusters/' + commons.Escaper.ecapeVariable('$clusterId') + '/locations';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Sets the logging service of a specific cluster.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectId] - The Google Developers Console [project ID or project
+ * number](https://support.google.com/cloud/answer/6158840).
+ *
+ * [zone] - The name of the Google Compute Engine
+ * [zone](/compute/docs/zones#available) in which the cluster
+ * resides.
+ *
+ * [clusterId] - The name of the cluster to upgrade.
+ *
+ * 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> logging(SetLoggingServiceRequest request, core.String projectId, core.String zone, core.String clusterId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (clusterId == null) {
+ throw new core.ArgumentError("Parameter clusterId is required.");
+ }
+
+ _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/clusters/' + commons.Escaper.ecapeVariable('$clusterId') + '/logging';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Updates the master of a specific cluster.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectId] - The Google Developers Console [project ID or project
+ * number](https://support.google.com/cloud/answer/6158840).
+ *
+ * [zone] - The name of the Google Compute Engine
+ * [zone](/compute/docs/zones#available) in which the cluster
+ * resides.
+ *
+ * [clusterId] - The name of the cluster to upgrade.
+ *
+ * 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> master(UpdateMasterRequest request, core.String projectId, core.String zone, core.String clusterId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (clusterId == null) {
+ throw new core.ArgumentError("Parameter clusterId is required.");
+ }
+
+ _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/clusters/' + commons.Escaper.ecapeVariable('$clusterId') + '/master';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Sets the monitoring service of a specific cluster.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectId] - The Google Developers Console [project ID or project
+ * number](https://support.google.com/cloud/answer/6158840).
+ *
+ * [zone] - The name of the Google Compute Engine
+ * [zone](/compute/docs/zones#available) in which the cluster
+ * resides.
+ *
+ * [clusterId] - The name of the cluster to upgrade.
+ *
+ * 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> monitoring(SetMonitoringServiceRequest request, core.String projectId, core.String zone, core.String clusterId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (clusterId == null) {
+ throw new core.ArgumentError("Parameter clusterId is required.");
+ }
+
+ _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/clusters/' + commons.Escaper.ecapeVariable('$clusterId') + '/monitoring';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
* Sets labels on a cluster.
*
* [request] - The metadata request object.
@@ -564,6 +849,63 @@
}
/**
+ * Enables/Disables Network Policy for a cluster.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectId] - The Google Developers Console [project ID or project
+ * number](https://developers.google.com/console/help/new/#projectnumber).
+ *
+ * [zone] - The name of the Google Compute Engine
+ * [zone](/compute/docs/zones#available) in which the cluster
+ * resides.
+ *
+ * [clusterId] - The name of the cluster.
+ *
+ * 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> setNetworkPolicy(SetNetworkPolicyRequest request, core.String projectId, core.String zone, core.String clusterId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (clusterId == null) {
+ throw new core.ArgumentError("Parameter clusterId is required.");
+ }
+
+ _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/clusters/' + commons.Escaper.ecapeVariable('$clusterId') + ':setNetworkPolicy';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
* Start master IP rotation.
*
* [request] - The metadata request object.
@@ -687,6 +1029,68 @@
_requester = client;
/**
+ * Sets the autoscaling settings of a specific node pool.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectId] - The Google Developers Console [project ID or project
+ * number](https://support.google.com/cloud/answer/6158840).
+ *
+ * [zone] - The name of the Google Compute Engine
+ * [zone](/compute/docs/zones#available) in which the cluster
+ * resides.
+ *
+ * [clusterId] - The name of the cluster to upgrade.
+ *
+ * [nodePoolId] - The name of the node pool to upgrade.
+ *
+ * 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> autoscaling(SetNodePoolAutoscalingRequest request, core.String projectId, core.String zone, core.String clusterId, core.String nodePoolId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (clusterId == null) {
+ throw new core.ArgumentError("Parameter clusterId is required.");
+ }
+ if (nodePoolId == null) {
+ throw new core.ArgumentError("Parameter nodePoolId is required.");
+ }
+
+ _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/clusters/' + commons.Escaper.ecapeVariable('$clusterId') + '/nodePools/' + commons.Escaper.ecapeVariable('$nodePoolId') + '/autoscaling';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
* Creates a node pool for a cluster.
*
* [request] - The metadata request object.
@@ -1034,6 +1438,130 @@
return _response.then((data) => new Operation.fromJson(data));
}
+ /**
+ * Sets the size of a specific node pool.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectId] - The Google Developers Console [project ID or project
+ * number](https://support.google.com/cloud/answer/6158840).
+ *
+ * [zone] - The name of the Google Compute Engine
+ * [zone](/compute/docs/zones#available) in which the cluster
+ * resides.
+ *
+ * [clusterId] - The name of the cluster to update.
+ *
+ * [nodePoolId] - The name of the node pool to update.
+ *
+ * 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> setSize(SetNodePoolSizeRequest request, core.String projectId, core.String zone, core.String clusterId, core.String nodePoolId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (clusterId == null) {
+ throw new core.ArgumentError("Parameter clusterId is required.");
+ }
+ if (nodePoolId == null) {
+ throw new core.ArgumentError("Parameter nodePoolId is required.");
+ }
+
+ _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/clusters/' + commons.Escaper.ecapeVariable('$clusterId') + '/nodePools/' + commons.Escaper.ecapeVariable('$nodePoolId') + '/setSize';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Updates the version and/or image type of a specific node pool.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectId] - The Google Developers Console [project ID or project
+ * number](https://support.google.com/cloud/answer/6158840).
+ *
+ * [zone] - The name of the Google Compute Engine
+ * [zone](/compute/docs/zones#available) in which the cluster
+ * resides.
+ *
+ * [clusterId] - The name of the cluster to upgrade.
+ *
+ * [nodePoolId] - The name of the node pool to upgrade.
+ *
+ * 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> update(UpdateNodePoolRequest request, core.String projectId, core.String zone, core.String clusterId, core.String nodePoolId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (zone == null) {
+ throw new core.ArgumentError("Parameter zone is required.");
+ }
+ if (clusterId == null) {
+ throw new core.ArgumentError("Parameter clusterId is required.");
+ }
+ if (nodePoolId == null) {
+ throw new core.ArgumentError("Parameter nodePoolId is required.");
+ }
+
+ _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/zones/' + commons.Escaper.ecapeVariable('$zone') + '/clusters/' + commons.Escaper.ecapeVariable('$clusterId') + '/nodePools/' + commons.Escaper.ecapeVariable('$nodePoolId') + '/update';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
}
@@ -1296,6 +1824,28 @@
}
}
+/** Configuration for client certificates on the cluster. */
+class ClientCertificateConfig {
+ /** Issue a client certificate. */
+ core.bool issueClientCertificate;
+
+ ClientCertificateConfig();
+
+ ClientCertificateConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("issueClientCertificate")) {
+ issueClientCertificate = _json["issueClientCertificate"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (issueClientCertificate != null) {
+ _json["issueClientCertificate"] = issueClientCertificate;
+ }
+ return _json;
+ }
+}
+
/** A Google Container Engine cluster. */
class Cluster {
/** Configurations for the various addons available to run in the cluster. */
@@ -1371,6 +1921,8 @@
* cluster.
*/
core.List<core.String> instanceGroupUrls;
+ /** Configuration for cluster IP allocation. */
+ IPAllocationPolicy ipAllocationPolicy;
/** The fingerprint of the set of labels for this cluster. */
core.String labelFingerprint;
/** Configuration for the legacy ABAC authorization mode. */
@@ -1417,6 +1969,8 @@
* will be used.
*/
core.String network;
+ /** Configuration options for the NetworkPolicy feature. */
+ NetworkPolicy networkPolicy;
/**
* Parameters used in creating the cluster's nodes.
* See `nodeConfig` for the description of its properties.
@@ -1535,6 +2089,9 @@
if (_json.containsKey("instanceGroupUrls")) {
instanceGroupUrls = _json["instanceGroupUrls"];
}
+ if (_json.containsKey("ipAllocationPolicy")) {
+ ipAllocationPolicy = new IPAllocationPolicy.fromJson(_json["ipAllocationPolicy"]);
+ }
if (_json.containsKey("labelFingerprint")) {
labelFingerprint = _json["labelFingerprint"];
}
@@ -1559,6 +2116,9 @@
if (_json.containsKey("network")) {
network = _json["network"];
}
+ if (_json.containsKey("networkPolicy")) {
+ networkPolicy = new NetworkPolicy.fromJson(_json["networkPolicy"]);
+ }
if (_json.containsKey("nodeConfig")) {
nodeConfig = new NodeConfig.fromJson(_json["nodeConfig"]);
}
@@ -1632,6 +2192,9 @@
if (instanceGroupUrls != null) {
_json["instanceGroupUrls"] = instanceGroupUrls;
}
+ if (ipAllocationPolicy != null) {
+ _json["ipAllocationPolicy"] = (ipAllocationPolicy).toJson();
+ }
if (labelFingerprint != null) {
_json["labelFingerprint"] = labelFingerprint;
}
@@ -1656,6 +2219,9 @@
if (network != null) {
_json["network"] = network;
}
+ if (networkPolicy != null) {
+ _json["networkPolicy"] = (networkPolicy).toJson();
+ }
if (nodeConfig != null) {
_json["nodeConfig"] = (nodeConfig).toJson();
}
@@ -1953,6 +2519,123 @@
}
}
+/** Configuration for controlling how IPs are allocated in the cluster. */
+class IPAllocationPolicy {
+ /**
+ * The IP address range for the cluster pod IPs. If this field is set, then
+ * `cluster.cluster_ipv4_cidr` must be left blank.
+ *
+ * This field is only applicable when `use_ip_aliases` is true.
+ *
+ * Set to blank to have a range will be chosen with the default size.
+ *
+ * Set to /netmask (e.g. `/14`) to have a range be chosen with a specific
+ * netmask.
+ *
+ * Set to a
+ * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+ * notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+ * `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+ * to use.
+ */
+ core.String clusterIpv4Cidr;
+ /**
+ * Whether a new subnetwork will be created automatically for the cluster.
+ *
+ * This field is only applicable when `use_ip_aliases` is true.
+ */
+ core.bool createSubnetwork;
+ /**
+ * The IP address range of the instance IPs in this cluster.
+ *
+ * This is applicable only if `create_subnetwork` is true.
+ *
+ * Set to blank to have a range will be chosen with the default size.
+ *
+ * Set to /netmask (e.g. `/14`) to have a range be chosen with a specific
+ * netmask.
+ *
+ * Set to a
+ * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+ * notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+ * `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+ * to use.
+ */
+ core.String nodeIpv4Cidr;
+ /**
+ * The IP address range of the services IPs in this cluster. If blank, a range
+ * will be automatically chosen with the default size.
+ *
+ * This field is only applicable when `use_ip_aliases` is true.
+ *
+ * Set to blank to have a range will be chosen with the default size.
+ *
+ * Set to /netmask (e.g. `/14`) to have a range be chosen with a specific
+ * netmask.
+ *
+ * Set to a
+ * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+ * notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+ * `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+ * to use.
+ */
+ core.String servicesIpv4Cidr;
+ /**
+ * A custom subnetwork name to be used if `create_subnetwork` is true. If
+ * this field is empty, then an automatic name will choosen for the new
+ * subnetwork.
+ */
+ core.String subnetworkName;
+ /** Whether alias IPs will be used for pod IPs in the cluster. */
+ core.bool useIpAliases;
+
+ IPAllocationPolicy();
+
+ IPAllocationPolicy.fromJson(core.Map _json) {
+ if (_json.containsKey("clusterIpv4Cidr")) {
+ clusterIpv4Cidr = _json["clusterIpv4Cidr"];
+ }
+ if (_json.containsKey("createSubnetwork")) {
+ createSubnetwork = _json["createSubnetwork"];
+ }
+ if (_json.containsKey("nodeIpv4Cidr")) {
+ nodeIpv4Cidr = _json["nodeIpv4Cidr"];
+ }
+ if (_json.containsKey("servicesIpv4Cidr")) {
+ servicesIpv4Cidr = _json["servicesIpv4Cidr"];
+ }
+ if (_json.containsKey("subnetworkName")) {
+ subnetworkName = _json["subnetworkName"];
+ }
+ if (_json.containsKey("useIpAliases")) {
+ useIpAliases = _json["useIpAliases"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (clusterIpv4Cidr != null) {
+ _json["clusterIpv4Cidr"] = clusterIpv4Cidr;
+ }
+ if (createSubnetwork != null) {
+ _json["createSubnetwork"] = createSubnetwork;
+ }
+ if (nodeIpv4Cidr != null) {
+ _json["nodeIpv4Cidr"] = nodeIpv4Cidr;
+ }
+ if (servicesIpv4Cidr != null) {
+ _json["servicesIpv4Cidr"] = servicesIpv4Cidr;
+ }
+ if (subnetworkName != null) {
+ _json["subnetworkName"] = subnetworkName;
+ }
+ if (useIpAliases != null) {
+ _json["useIpAliases"] = useIpAliases;
+ }
+ return _json;
+ }
+}
+
/**
* Configuration for the legacy Attribute Based Access Control authorization
* mode.
@@ -2086,6 +2769,11 @@
*/
core.String clientCertificate;
/**
+ * Configuration for client certificate authentication on the cluster. If no
+ * configuration is specified, a client certificate is issued.
+ */
+ ClientCertificateConfig clientCertificateConfig;
+ /**
* [Output only] Base64-encoded private key used by clients to authenticate
* to the cluster endpoint.
*/
@@ -2115,6 +2803,9 @@
if (_json.containsKey("clientCertificate")) {
clientCertificate = _json["clientCertificate"];
}
+ if (_json.containsKey("clientCertificateConfig")) {
+ clientCertificateConfig = new ClientCertificateConfig.fromJson(_json["clientCertificateConfig"]);
+ }
if (_json.containsKey("clientKey")) {
clientKey = _json["clientKey"];
}
@@ -2134,6 +2825,9 @@
if (clientCertificate != null) {
_json["clientCertificate"] = clientCertificate;
}
+ if (clientCertificateConfig != null) {
+ _json["clientCertificateConfig"] = (clientCertificateConfig).toJson();
+ }
if (clientKey != null) {
_json["clientKey"] = clientKey;
}
@@ -2150,6 +2844,44 @@
}
}
+/**
+ * Configuration options for the NetworkPolicy feature.
+ * https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
+ */
+class NetworkPolicy {
+ /** Whether network policy is enabled on the cluster. */
+ core.bool enabled;
+ /**
+ * The selected network policy provider.
+ * Possible string values are:
+ * - "UNKNOWN" : Not set
+ * - "CALICO" : Tigera (Calico Felix).
+ */
+ core.String provider;
+
+ NetworkPolicy();
+
+ NetworkPolicy.fromJson(core.Map _json) {
+ if (_json.containsKey("enabled")) {
+ enabled = _json["enabled"];
+ }
+ if (_json.containsKey("provider")) {
+ provider = _json["provider"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (enabled != null) {
+ _json["enabled"] = enabled;
+ }
+ if (provider != null) {
+ _json["provider"] = provider;
+ }
+ return _json;
+ }
+}
+
/** Parameters that describe the nodes in a cluster. */
class NodeConfig {
/**
@@ -2576,6 +3308,8 @@
* - "AUTO_UPGRADE_NODES" : Automatic node upgrade.
* - "SET_LABELS" : Set labels.
* - "SET_MASTER_AUTH" : Set/generate master auth materials
+ * - "SET_NODE_POOL_SIZE" : Set node pool size.
+ * - "SET_NETWORK_POLICY" : Updates network policy for a cluster.
*/
core.String operationType;
/** Server-defined URL for the resource. */
@@ -2732,6 +3466,31 @@
}
}
+/** SetAddonsConfigRequest sets the addons associated with the cluster. */
+class SetAddonsConfigRequest {
+ /**
+ * The desired configurations for the various addons available to run in the
+ * cluster.
+ */
+ AddonsConfig addonsConfig;
+
+ SetAddonsConfigRequest();
+
+ SetAddonsConfigRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("addonsConfig")) {
+ addonsConfig = new AddonsConfig.fromJson(_json["addonsConfig"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (addonsConfig != null) {
+ _json["addonsConfig"] = (addonsConfig).toJson();
+ }
+ return _json;
+ }
+}
+
/**
* SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
* Engine cluster, which will in turn set them for Google Compute Engine
@@ -2798,6 +3557,64 @@
}
}
+/** SetLocationsRequest sets the locations of the cluster. */
+class SetLocationsRequest {
+ /**
+ * The desired list of Google Compute Engine
+ * [locations](/compute/docs/zones#available) in which the cluster's nodes
+ * should be located. Changing the locations a cluster is in will result
+ * in nodes being either created or removed from the cluster, depending on
+ * whether locations are being added or removed.
+ *
+ * This list must always include the cluster's primary zone.
+ */
+ core.List<core.String> locations;
+
+ SetLocationsRequest();
+
+ SetLocationsRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("locations")) {
+ locations = _json["locations"];
+ }
+ }
+
+ 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;
+ }
+ return _json;
+ }
+}
+
+/** SetLoggingServiceRequest sets the logging service of a cluster. */
+class SetLoggingServiceRequest {
+ /**
+ * The logging service the cluster should use to write metrics.
+ * Currently available options:
+ *
+ * * "logging.googleapis.com" - the Google Cloud Logging service
+ * * "none" - no metrics will be exported from the cluster
+ */
+ core.String loggingService;
+
+ SetLoggingServiceRequest();
+
+ SetLoggingServiceRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("loggingService")) {
+ loggingService = _json["loggingService"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (loggingService != null) {
+ _json["loggingService"] = loggingService;
+ }
+ return _json;
+ }
+}
+
/** SetMasterAuthRequest updates the admin password of a cluster. */
class SetMasterAuthRequest {
/**
@@ -2834,6 +3651,80 @@
}
}
+/** SetMonitoringServiceRequest sets the monitoring service of a cluster. */
+class SetMonitoringServiceRequest {
+ /**
+ * The monitoring service the cluster should use to write metrics.
+ * Currently available options:
+ *
+ * * "monitoring.googleapis.com" - the Google Cloud Monitoring service
+ * * "none" - no metrics will be exported from the cluster
+ */
+ core.String monitoringService;
+
+ SetMonitoringServiceRequest();
+
+ SetMonitoringServiceRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("monitoringService")) {
+ monitoringService = _json["monitoringService"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (monitoringService != null) {
+ _json["monitoringService"] = monitoringService;
+ }
+ return _json;
+ }
+}
+
+/** SetNetworkPolicyRequest enables/disables network policy for a cluster. */
+class SetNetworkPolicyRequest {
+ /** Configuration options for the NetworkPolicy feature. */
+ NetworkPolicy networkPolicy;
+
+ SetNetworkPolicyRequest();
+
+ SetNetworkPolicyRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("networkPolicy")) {
+ networkPolicy = new NetworkPolicy.fromJson(_json["networkPolicy"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (networkPolicy != null) {
+ _json["networkPolicy"] = (networkPolicy).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.
+ */
+class SetNodePoolAutoscalingRequest {
+ /** Autoscaling configuration for the node pool. */
+ NodePoolAutoscaling autoscaling;
+
+ SetNodePoolAutoscalingRequest();
+
+ SetNodePoolAutoscalingRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("autoscaling")) {
+ autoscaling = new NodePoolAutoscaling.fromJson(_json["autoscaling"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (autoscaling != null) {
+ _json["autoscaling"] = (autoscaling).toJson();
+ }
+ return _json;
+ }
+}
+
/**
* SetNodePoolManagementRequest sets the node management properties of a node
* pool.
@@ -2860,6 +3751,31 @@
}
/**
+ * SetNodePoolSizeRequest sets the size a node
+ * pool.
+ */
+class SetNodePoolSizeRequest {
+ /** The desired node count for the pool. */
+ core.int nodeCount;
+
+ SetNodePoolSizeRequest();
+
+ SetNodePoolSizeRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("nodeCount")) {
+ nodeCount = _json["nodeCount"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (nodeCount != null) {
+ _json["nodeCount"] = nodeCount;
+ }
+ return _json;
+ }
+}
+
+/**
* StartIPRotationRequest creates a new IP for the cluster and then performs
* a node upgrade on each node pool to point to the new IP.
*/
@@ -2897,3 +3813,63 @@
return _json;
}
}
+
+/** UpdateMasterRequest updates the master of the cluster. */
+class UpdateMasterRequest {
+ /**
+ * The Kubernetes version to change the master to. The only valid value is the
+ * latest supported version. Use "-" to have the server automatically select
+ * the latest version.
+ */
+ core.String masterVersion;
+
+ UpdateMasterRequest();
+
+ UpdateMasterRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("masterVersion")) {
+ masterVersion = _json["masterVersion"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (masterVersion != null) {
+ _json["masterVersion"] = masterVersion;
+ }
+ return _json;
+ }
+}
+
+/** UpdateNodePoolRequests update a node pool's image and/or version. */
+class UpdateNodePoolRequest {
+ /** The desired image type for the node pool. */
+ core.String imageType;
+ /**
+ * The Kubernetes version to change the nodes to (typically an
+ * upgrade). Use `-` to upgrade to the latest version supported by
+ * the server.
+ */
+ core.String nodeVersion;
+
+ UpdateNodePoolRequest();
+
+ UpdateNodePoolRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("imageType")) {
+ imageType = _json["imageType"];
+ }
+ if (_json.containsKey("nodeVersion")) {
+ nodeVersion = _json["nodeVersion"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (imageType != null) {
+ _json["imageType"] = imageType;
+ }
+ if (nodeVersion != null) {
+ _json["nodeVersion"] = nodeVersion;
+ }
+ return _json;
+ }
+}
diff --git a/generated/googleapis/lib/content/v2.dart b/generated/googleapis/lib/content/v2.dart
index c8ad091..4149a9a 100644
--- a/generated/googleapis/lib/content/v2.dart
+++ b/generated/googleapis/lib/content/v2.dart
@@ -83,7 +83,9 @@
/**
* Claims the website of a Merchant Center sub-account. This method can only
- * be called for multi-client accounts.
+ * be called for accounts to which the managing account has access: either the
+ * managing account itself or sub-accounts if the managing account is a
+ * multi-client account.
*
* Request parameters:
*
diff --git a/generated/googleapis/lib/dataproc/v1.dart b/generated/googleapis/lib/dataproc/v1.dart
index 59c9c3e..d376dc8 100644
--- a/generated/googleapis/lib/dataproc/v1.dart
+++ b/generated/googleapis/lib/dataproc/v1.dart
@@ -278,6 +278,10 @@
* [region] - Required. The Cloud Dataproc region in which to handle the
* request.
*
+ * [pageToken] - Optional. The standard List page token.
+ *
+ * [pageSize] - Optional. The standard List page size.
+ *
* [filter] - Optional. A filter constraining the clusters to list. Filters
* are case-sensitive and have the following syntax:field = value AND field =
* value ...where field is one of status.state, clusterName, or labels.[KEY],
@@ -290,10 +294,6 @@
* implicit AND operator.Example filter:status.state = ACTIVE AND clusterName
* = mycluster AND labels.env = staging AND labels.starred = *
*
- * [pageToken] - Optional. The standard List page token.
- *
- * [pageSize] - Optional. The standard List page size.
- *
* Completes with a [ListClustersResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -302,7 +302,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListClustersResponse> list(core.String projectId, core.String region, {core.String filter, core.String pageToken, core.int pageSize}) {
+ async.Future<ListClustersResponse> list(core.String projectId, core.String region, {core.String pageToken, core.int pageSize, core.String filter}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -316,15 +316,15 @@
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
- if (filter != null) {
- _queryParams["filter"] = [filter];
- }
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
_url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/clusters';
@@ -609,6 +609,11 @@
* [region] - Required. The Cloud Dataproc region in which to handle the
* request.
*
+ * [pageSize] - Optional. The number of results to return in each response.
+ *
+ * [clusterName] - Optional. If set, the returned jobs list includes only jobs
+ * that were submitted to the named cluster.
+ *
* [filter] - Optional. A filter constraining the jobs to list. Filters are
* case-sensitive and have the following syntax:field = value AND field =
* value ...where field is status.state or labels.[KEY], and [KEY] is a label
@@ -628,11 +633,6 @@
* [pageToken] - Optional. The page token, returned by a previous call, to
* request the next page of results.
*
- * [pageSize] - Optional. The number of results to return in each response.
- *
- * [clusterName] - Optional. If set, the returned jobs list includes only jobs
- * that were submitted to the named cluster.
- *
* Completes with a [ListJobsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -641,7 +641,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListJobsResponse> list(core.String projectId, core.String region, {core.String filter, core.String jobStateMatcher, core.String pageToken, core.int pageSize, core.String clusterName}) {
+ async.Future<ListJobsResponse> list(core.String projectId, core.String region, {core.int pageSize, core.String clusterName, core.String filter, core.String jobStateMatcher, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -655,6 +655,12 @@
if (region == null) {
throw new core.ArgumentError("Parameter region is required.");
}
+ if (pageSize != null) {
+ _queryParams["pageSize"] = ["${pageSize}"];
+ }
+ if (clusterName != null) {
+ _queryParams["clusterName"] = [clusterName];
+ }
if (filter != null) {
_queryParams["filter"] = [filter];
}
@@ -664,12 +670,6 @@
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
- if (pageSize != null) {
- _queryParams["pageSize"] = ["${pageSize}"];
- }
- if (clusterName != null) {
- _queryParams["clusterName"] = [clusterName];
- }
_url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/jobs';
@@ -958,12 +958,12 @@
* [name] - The name of the operation's parent resource.
* Value must have pattern "^projects/[^/]+/regions/[^/]+/operations$".
*
+ * [filter] - The standard list filter.
+ *
* [pageToken] - The standard list page token.
*
* [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
@@ -972,7 +972,7 @@
* 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 name, {core.String pageToken, core.int pageSize, core.String filter}) {
+ async.Future<ListOperationsResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -983,15 +983,15 @@
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}"];
}
- if (filter != null) {
- _queryParams["filter"] = [filter];
- }
_url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
@@ -1019,9 +1019,12 @@
*/
core.int acceleratorCount;
/**
- * Full or partial URI of the accelerator type resource to expose to this
- * instance. See Google Compute Engine AcceleratorTypes(
- * /compute/docs/reference/beta/acceleratorTypes)
+ * Full URL, partial URI, or short name of the accelerator type resource to
+ * expose to this instance. See Google Compute Engine AcceleratorTypes(
+ * /compute/docs/reference/beta/acceleratorTypes)Examples *
+ * https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80
+ * * projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80
+ * * nvidia-tesla-k80
*/
core.String acceleratorTypeUri;
@@ -1621,8 +1624,11 @@
* communications. Cannot be specified with subnetwork_uri. If neither
* network_uri nor subnetwork_uri is specified, the "default" network of the
* project is used, if it exists. Cannot be a "Custom Subnet Network" (see
- * Using Subnetworks for more information). Example:
- * https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default.
+ * Using Subnetworks for more information).A full URL, partial URI, or short
+ * name are valid. Examples:
+ * https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default
+ * projects/[project_id]/regions/global/default
+ * default
*/
core.String networkUri;
/**
@@ -1652,8 +1658,11 @@
core.List<core.String> serviceAccountScopes;
/**
* Optional. The Google Compute Engine subnetwork to be used for machine
- * communications. Cannot be specified with network_uri. Example:
- * https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0.
+ * communications. Cannot be specified with network_uri.A full URL, partial
+ * URI, or short name are valid. Examples:
+ * https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0
+ * projects/[project_id]/regions/us-east1/sub0
+ * sub0
*/
core.String subnetworkUri;
/**
@@ -1662,9 +1671,14 @@
*/
core.List<core.String> tags;
/**
- * Required. The zone where the Google Compute Engine cluster will be located.
- * Example:
- * https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone].
+ * Optional. The zone where the Google Compute Engine cluster will be located.
+ * On a create request, it is required in the "global" region. If omitted in a
+ * non-global Cloud Dataproc region, the service will pick a zone in the
+ * corresponding GCE region. On a get request, zone will always be present.A
+ * full URL, partial URI, or short name are valid. Examples:
+ * https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]
+ * projects/[project_id]/zones/[zone]
+ * us-central1-f
*/
core.String zoneUri;
@@ -1948,9 +1962,11 @@
*/
core.bool isPreemptible;
/**
- * Required. The Google Compute Engine machine type used for cluster
- * instances. Example:
- * https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2.
+ * Optional. The Google Compute Engine machine type used for cluster
+ * instances.A full URL, partial URI, or short name are valid. Examples:
+ * https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2
+ * projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2
+ * n1-standard-2
*/
core.String machineTypeUri;
/**
@@ -1959,7 +1975,7 @@
*/
ManagedGroupConfig managedGroupConfig;
/**
- * Required. The number of VM instances in the instance group. For master
+ * Optional. The number of VM instances in the instance group. For master
* instance groups, must be set to 1.
*/
core.int numInstances;
diff --git a/generated/googleapis/lib/dataproc/v1beta2.dart b/generated/googleapis/lib/dataproc/v1beta2.dart
new file mode 100644
index 0000000..b5d6dfe
--- /dev/null
+++ b/generated/googleapis/lib/dataproc/v1beta2.dart
@@ -0,0 +1,3260 @@
+// This is a generated file (see the discoveryapis_generator project).
+
+library googleapis.dataproc.v1beta2;
+
+import 'dart:core' as core;
+import 'dart:async' as async;
+import 'dart:convert' as convert;
+
+import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons;
+import 'package:http/http.dart' as http;
+
+export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show
+ ApiRequestError, DetailedApiRequestError;
+
+const core.String USER_AGENT = 'dart-api-client dataproc/v1beta2';
+
+/** Manages Hadoop-based clusters and jobs on Google Cloud Platform. */
+class DataprocApi {
+ /** View and manage your data across Google Cloud Platform services */
+ static const CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform";
+
+
+ final commons.ApiRequester _requester;
+
+ ProjectsResourceApi get projects => new ProjectsResourceApi(_requester);
+
+ DataprocApi(http.Client client, {core.String rootUrl: "https://dataproc.googleapis.com/", core.String servicePath: ""}) :
+ _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT);
+}
+
+
+class ProjectsResourceApi {
+ final commons.ApiRequester _requester;
+
+ ProjectsRegionsResourceApi get regions => new ProjectsRegionsResourceApi(_requester);
+
+ ProjectsResourceApi(commons.ApiRequester client) :
+ _requester = client;
+}
+
+
+class ProjectsRegionsResourceApi {
+ final commons.ApiRequester _requester;
+
+ ProjectsRegionsClustersResourceApi get clusters => new ProjectsRegionsClustersResourceApi(_requester);
+ ProjectsRegionsJobsResourceApi get jobs => new ProjectsRegionsJobsResourceApi(_requester);
+ ProjectsRegionsOperationsResourceApi get operations => new ProjectsRegionsOperationsResourceApi(_requester);
+
+ ProjectsRegionsResourceApi(commons.ApiRequester client) :
+ _requester = client;
+}
+
+
+class ProjectsRegionsClustersResourceApi {
+ final commons.ApiRequester _requester;
+
+ ProjectsRegionsClustersResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Creates a cluster in a project.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectId] - Required. The ID of the Google Cloud Platform project that
+ * the cluster belongs to.
+ *
+ * [region] - Required. The Cloud Dataproc region in which to handle the
+ * request.
+ *
+ * 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> create(Cluster request, core.String projectId, core.String region) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+
+ _url = 'v1beta2/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/clusters';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Deletes a cluster in a project.
+ *
+ * Request parameters:
+ *
+ * [projectId] - Required. The ID of the Google Cloud Platform project that
+ * the cluster belongs to.
+ *
+ * [region] - Required. The Cloud Dataproc region in which to handle the
+ * request.
+ *
+ * [clusterName] - Required. The cluster name.
+ *
+ * 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> delete(core.String projectId, core.String region, core.String clusterName) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (clusterName == null) {
+ throw new core.ArgumentError("Parameter clusterName is required.");
+ }
+
+ _url = 'v1beta2/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/clusters/' + commons.Escaper.ecapeVariable('$clusterName');
+
+ var _response = _requester.request(_url,
+ "DELETE",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Gets cluster diagnostic information. After the operation completes, the
+ * Operation.response field contains DiagnoseClusterOutputLocation.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectId] - Required. The ID of the Google Cloud Platform project that
+ * the cluster belongs to.
+ *
+ * [region] - Required. The Cloud Dataproc region in which to handle the
+ * request.
+ *
+ * [clusterName] - Required. The cluster name.
+ *
+ * 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> diagnose(DiagnoseClusterRequest request, core.String projectId, core.String region, core.String clusterName) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (clusterName == null) {
+ throw new core.ArgumentError("Parameter clusterName is required.");
+ }
+
+ _url = 'v1beta2/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/clusters/' + commons.Escaper.ecapeVariable('$clusterName') + ':diagnose';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+ /**
+ * Gets the resource representation for a cluster in a project.
+ *
+ * Request parameters:
+ *
+ * [projectId] - Required. The ID of the Google Cloud Platform project that
+ * the cluster belongs to.
+ *
+ * [region] - Required. The Cloud Dataproc region in which to handle the
+ * request.
+ *
+ * [clusterName] - Required. The cluster name.
+ *
+ * Completes with a [Cluster].
+ *
+ * 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<Cluster> get(core.String projectId, core.String region, core.String clusterName) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (clusterName == null) {
+ throw new core.ArgumentError("Parameter clusterName is required.");
+ }
+
+ _url = 'v1beta2/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/clusters/' + commons.Escaper.ecapeVariable('$clusterName');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Cluster.fromJson(data));
+ }
+
+ /**
+ * Lists all regions/{region}/clusters in a project.
+ *
+ * Request parameters:
+ *
+ * [projectId] - Required. The ID of the Google Cloud Platform project that
+ * the cluster belongs to.
+ *
+ * [region] - Required. The Cloud Dataproc region in which to handle the
+ * request.
+ *
+ * [filter] - Optional. A filter constraining the clusters to list. Filters
+ * are case-sensitive and have the following syntax:field = value AND field =
+ * value ...where field is one of status.state, clusterName, or labels.[KEY],
+ * and [KEY] is a label key. value can be * to match all values. status.state
+ * can be one of the following: ACTIVE, INACTIVE, CREATING, RUNNING, ERROR,
+ * DELETING, or UPDATING. ACTIVE contains the CREATING, UPDATING, and RUNNING
+ * states. INACTIVE contains the DELETING and ERROR states. clusterName is the
+ * name of the cluster provided at creation time. Only the logical AND
+ * operator is supported; space-separated items are treated as having an
+ * implicit AND operator.Example filter:status.state = ACTIVE AND clusterName
+ * = mycluster AND labels.env = staging AND labels.starred = *
+ *
+ * [pageToken] - Optional. The standard List page token.
+ *
+ * [pageSize] - Optional. The standard List page size.
+ *
+ * Completes with a [ListClustersResponse].
+ *
+ * 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<ListClustersResponse> list(core.String projectId, core.String region, {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 (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+ if (pageSize != null) {
+ _queryParams["pageSize"] = ["${pageSize}"];
+ }
+
+ _url = 'v1beta2/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/clusters';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new ListClustersResponse.fromJson(data));
+ }
+
+ /**
+ * Updates a cluster in a project.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectId] - Required. The ID of the Google Cloud Platform project the
+ * cluster belongs to.
+ *
+ * [region] - Required. The Cloud Dataproc region in which to handle the
+ * request.
+ *
+ * [clusterName] - Required. The cluster name.
+ *
+ * [updateMask] - Required. Specifies the path, relative to
+ * <code>Cluster</code>, of the field to update. For example, to change the
+ * number of workers in a cluster to 5, the <code>update_mask</code> parameter
+ * would be specified as <code>config.worker_config.num_instances</code>, and
+ * the PATCH request body would specify the new value, as follows:
+ * {
+ * "config":{
+ * "workerConfig":{
+ * "numInstances":"5"
+ * }
+ * }
+ * }
+ * Similarly, to change the number of preemptible workers in a cluster to 5,
+ * the <code>update_mask</code> parameter would be
+ * <code>config.secondary_worker_config.num_instances</code>, and the PATCH
+ * request body would be set as follows:
+ * {
+ * "config":{
+ * "secondaryWorkerConfig":{
+ * "numInstances":"5"
+ * }
+ * }
+ * }
+ * <strong>Note:</strong> currently only some fields can be updated:
+ * |Mask|Purpose| |labels|Updates labels|
+ * |config.worker_config.num_instances|Resize primary worker group|
+ * |config.secondary_worker_config.num_instances|Resize secondary worker
+ * group|
+ *
+ * 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> patch(Cluster request, core.String projectId, core.String region, core.String clusterName, {core.String updateMask}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (clusterName == null) {
+ throw new core.ArgumentError("Parameter clusterName is required.");
+ }
+ if (updateMask != null) {
+ _queryParams["updateMask"] = [updateMask];
+ }
+
+ _url = 'v1beta2/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/clusters/' + commons.Escaper.ecapeVariable('$clusterName');
+
+ var _response = _requester.request(_url,
+ "PATCH",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Operation.fromJson(data));
+ }
+
+}
+
+
+class ProjectsRegionsJobsResourceApi {
+ final commons.ApiRequester _requester;
+
+ ProjectsRegionsJobsResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Starts a job cancellation request. To access the job resource after
+ * cancellation, call regions/{region}/jobs.list or regions/{region}/jobs.get.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectId] - Required. The ID of the Google Cloud Platform project that
+ * the job belongs to.
+ *
+ * [region] - Required. The Cloud Dataproc region in which to handle the
+ * request.
+ *
+ * [jobId] - Required. The job ID.
+ *
+ * Completes with a [Job].
+ *
+ * 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<Job> cancel(CancelJobRequest request, core.String projectId, core.String region, core.String jobId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (jobId == null) {
+ throw new core.ArgumentError("Parameter jobId is required.");
+ }
+
+ _url = 'v1beta2/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/jobs/' + commons.Escaper.ecapeVariable('$jobId') + ':cancel';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Job.fromJson(data));
+ }
+
+ /**
+ * Deletes the job from the project. If the job is active, the delete fails,
+ * and the response returns FAILED_PRECONDITION.
+ *
+ * Request parameters:
+ *
+ * [projectId] - Required. The ID of the Google Cloud Platform project that
+ * the job belongs to.
+ *
+ * [region] - Required. The Cloud Dataproc region in which to handle the
+ * request.
+ *
+ * [jobId] - Required. The job ID.
+ *
+ * Completes with a [Empty].
+ *
+ * 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<Empty> delete(core.String projectId, core.String region, core.String jobId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (jobId == null) {
+ throw new core.ArgumentError("Parameter jobId is required.");
+ }
+
+ _url = 'v1beta2/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/jobs/' + commons.Escaper.ecapeVariable('$jobId');
+
+ var _response = _requester.request(_url,
+ "DELETE",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Empty.fromJson(data));
+ }
+
+ /**
+ * Gets the resource representation for a job in a project.
+ *
+ * Request parameters:
+ *
+ * [projectId] - Required. The ID of the Google Cloud Platform project that
+ * the job belongs to.
+ *
+ * [region] - Required. The Cloud Dataproc region in which to handle the
+ * request.
+ *
+ * [jobId] - Required. The job ID.
+ *
+ * Completes with a [Job].
+ *
+ * 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<Job> get(core.String projectId, core.String region, core.String jobId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (jobId == null) {
+ throw new core.ArgumentError("Parameter jobId is required.");
+ }
+
+ _url = 'v1beta2/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/jobs/' + commons.Escaper.ecapeVariable('$jobId');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Job.fromJson(data));
+ }
+
+ /**
+ * Lists regions/{region}/jobs in a project.
+ *
+ * Request parameters:
+ *
+ * [projectId] - Required. The ID of the Google Cloud Platform project that
+ * the job belongs to.
+ *
+ * [region] - Required. The Cloud Dataproc region in which to handle the
+ * request.
+ *
+ * [filter] - Optional. A filter constraining the jobs to list. Filters are
+ * case-sensitive and have the following syntax:field = value AND field =
+ * value ...where field is status.state or labels.[KEY], and [KEY] is a label
+ * key. value can be * to match all values. status.state can be either ACTIVE
+ * or INACTIVE. Only the logical AND operator is supported; space-separated
+ * items are treated as having an implicit AND operator.Example
+ * filter:status.state = ACTIVE AND labels.env = staging AND labels.starred =
+ * *
+ *
+ * [jobStateMatcher] - Optional. Specifies enumerated categories of jobs to
+ * list (default = match ALL jobs).
+ * Possible string values are:
+ * - "ALL" : A ALL.
+ * - "ACTIVE" : A ACTIVE.
+ * - "NON_ACTIVE" : A NON_ACTIVE.
+ *
+ * [pageToken] - Optional. The page token, returned by a previous call, to
+ * request the next page of results.
+ *
+ * [pageSize] - Optional. The number of results to return in each response.
+ *
+ * [clusterName] - Optional. If set, the returned jobs list includes only jobs
+ * that were submitted to the named cluster.
+ *
+ * Completes with a [ListJobsResponse].
+ *
+ * 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<ListJobsResponse> list(core.String projectId, core.String region, {core.String filter, core.String jobStateMatcher, core.String pageToken, core.int pageSize, core.String clusterName}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+ if (jobStateMatcher != null) {
+ _queryParams["jobStateMatcher"] = [jobStateMatcher];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+ if (pageSize != null) {
+ _queryParams["pageSize"] = ["${pageSize}"];
+ }
+ if (clusterName != null) {
+ _queryParams["clusterName"] = [clusterName];
+ }
+
+ _url = 'v1beta2/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/jobs';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new ListJobsResponse.fromJson(data));
+ }
+
+ /**
+ * Updates a job in a project.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectId] - Required. The ID of the Google Cloud Platform project that
+ * the job belongs to.
+ *
+ * [region] - Required. The Cloud Dataproc region in which to handle the
+ * request.
+ *
+ * [jobId] - Required. The job ID.
+ *
+ * [updateMask] - Required. Specifies the path, relative to <code>Job</code>,
+ * of the field to update. For example, to update the labels of a Job the
+ * <code>update_mask</code> parameter would be specified as
+ * <code>labels</code>, and the PATCH request body would specify the new
+ * value. <strong>Note:</strong> Currently, <code>labels</code> is the only
+ * field that can be updated.
+ *
+ * Completes with a [Job].
+ *
+ * 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<Job> patch(Job request, core.String projectId, core.String region, core.String jobId, {core.String updateMask}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+ if (jobId == null) {
+ throw new core.ArgumentError("Parameter jobId is required.");
+ }
+ if (updateMask != null) {
+ _queryParams["updateMask"] = [updateMask];
+ }
+
+ _url = 'v1beta2/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/jobs/' + commons.Escaper.ecapeVariable('$jobId');
+
+ var _response = _requester.request(_url,
+ "PATCH",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Job.fromJson(data));
+ }
+
+ /**
+ * Submits a job to a cluster.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [projectId] - Required. The ID of the Google Cloud Platform project that
+ * the job belongs to.
+ *
+ * [region] - Required. The Cloud Dataproc region in which to handle the
+ * request.
+ *
+ * Completes with a [Job].
+ *
+ * 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<Job> submit(SubmitJobRequest request, core.String projectId, core.String region) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (projectId == null) {
+ throw new core.ArgumentError("Parameter projectId is required.");
+ }
+ if (region == null) {
+ throw new core.ArgumentError("Parameter region is required.");
+ }
+
+ _url = 'v1beta2/projects/' + commons.Escaper.ecapeVariable('$projectId') + '/regions/' + commons.Escaper.ecapeVariable('$region') + '/jobs:submit';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Job.fromJson(data));
+ }
+
+}
+
+
+class ProjectsRegionsOperationsResourceApi {
+ final commons.ApiRequester _requester;
+
+ ProjectsRegionsOperationsResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Starts asynchronous cancellation on a long-running operation. The server
+ * makes a best effort to cancel the operation, but success is not guaranteed.
+ * If the server doesn't support this method, it returns
+ * google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or
+ * other methods to check whether the cancellation succeeded or whether the
+ * operation completed despite cancellation. On successful cancellation, the
+ * operation is not deleted; instead, it becomes an operation with an
+ * Operation.error value with a google.rpc.Status.code of 1, corresponding to
+ * Code.CANCELLED.
+ *
+ * Request parameters:
+ *
+ * [name] - The name of the operation resource to be cancelled.
+ * Value must have pattern "^projects/[^/]+/regions/[^/]+/operations/[^/]+$".
+ *
+ * Completes with a [Empty].
+ *
+ * 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<Empty> cancel(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 = 'v1beta2/' + commons.Escaper.ecapeVariableReserved('$name') + ':cancel';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Empty.fromJson(data));
+ }
+
+ /**
+ * Deletes a long-running operation. This method indicates that the client is
+ * no longer interested in the operation result. It does not cancel the
+ * operation. If the server doesn't support this method, it returns
+ * google.rpc.Code.UNIMPLEMENTED.
+ *
+ * Request parameters:
+ *
+ * [name] - The name of the operation resource to be deleted.
+ * Value must have pattern "^projects/[^/]+/regions/[^/]+/operations/[^/]+$".
+ *
+ * Completes with a [Empty].
+ *
+ * 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<Empty> delete(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 = 'v1beta2/' + commons.Escaper.ecapeVariableReserved('$name');
+
+ var _response = _requester.request(_url,
+ "DELETE",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Empty.fromJson(data));
+ }
+
+ /**
+ * 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 "^projects/[^/]+/regions/[^/]+/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 = 'v1beta2/' + 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:
+ *
+ * [name] - The name of the operation's parent resource.
+ * Value must have pattern "^projects/[^/]+/regions/[^/]+/operations$".
+ *
+ * [pageSize] - The standard list page size.
+ *
+ * [filter] - The standard list filter.
+ *
+ * [pageToken] - The standard list page token.
+ *
+ * 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 name, {core.int pageSize, core.String filter, core.String pageToken}) {
+ 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 (pageSize != null) {
+ _queryParams["pageSize"] = ["${pageSize}"];
+ }
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+ _url = 'v1beta2/' + 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 ListOperationsResponse.fromJson(data));
+ }
+
+}
+
+
+
+/**
+ * Specifies the type and number of accelerator cards attached to the instances
+ * of an instance group (see GPUs on Compute Engine).
+ */
+class AcceleratorConfig {
+ /**
+ * The number of the accelerator cards of this type exposed to this instance.
+ */
+ core.int acceleratorCount;
+ /**
+ * Full URL, partial URI, or short name of the accelerator type resource to
+ * expose to this instance. See Google Compute Engine AcceleratorTypes(
+ * /compute/docs/reference/beta/acceleratorTypes)Examples *
+ * https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80
+ * * projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80
+ * * nvidia-tesla-k80
+ */
+ core.String acceleratorTypeUri;
+
+ AcceleratorConfig();
+
+ AcceleratorConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("acceleratorCount")) {
+ acceleratorCount = _json["acceleratorCount"];
+ }
+ if (_json.containsKey("acceleratorTypeUri")) {
+ acceleratorTypeUri = _json["acceleratorTypeUri"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (acceleratorCount != null) {
+ _json["acceleratorCount"] = acceleratorCount;
+ }
+ if (acceleratorTypeUri != null) {
+ _json["acceleratorTypeUri"] = acceleratorTypeUri;
+ }
+ return _json;
+ }
+}
+
+/** A request to cancel a job. */
+class CancelJobRequest {
+
+ CancelJobRequest();
+
+ CancelJobRequest.fromJson(core.Map _json) {
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ return _json;
+ }
+}
+
+/**
+ * Describes the identifying information, config, and status of a cluster of
+ * Google Compute Engine instances.
+ */
+class Cluster {
+ /**
+ * Required. The cluster name. Cluster names within a project must be unique.
+ * Names of deleted clusters can be reused.
+ */
+ core.String clusterName;
+ /**
+ * Output-only. A cluster UUID (Unique Universal Identifier). Cloud Dataproc
+ * generates this value when it creates the cluster.
+ */
+ core.String clusterUuid;
+ /**
+ * Required. The cluster config. Note that Cloud Dataproc may set default
+ * values, and values may change when clusters are updated.
+ */
+ ClusterConfig config;
+ /**
+ * Optional. The labels to associate with this cluster. Label keys must
+ * contain 1 to 63 characters, and must conform to RFC 1035
+ * (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if
+ * present, must contain 1 to 63 characters, and must conform to RFC 1035
+ * (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be
+ * associated with a cluster.
+ */
+ core.Map<core.String, core.String> labels;
+ /**
+ * Contains cluster daemon metrics such as HDFS and YARN stats.Beta Feature:
+ * This report is available for testing purposes only. It may be changed
+ * before final release.
+ */
+ ClusterMetrics metrics;
+ /**
+ * Required. The Google Cloud Platform project ID that the cluster belongs to.
+ */
+ core.String projectId;
+ /** Output-only. Cluster status. */
+ ClusterStatus status;
+ /** Output-only. The previous cluster status. */
+ core.List<ClusterStatus> statusHistory;
+
+ Cluster();
+
+ Cluster.fromJson(core.Map _json) {
+ if (_json.containsKey("clusterName")) {
+ clusterName = _json["clusterName"];
+ }
+ if (_json.containsKey("clusterUuid")) {
+ clusterUuid = _json["clusterUuid"];
+ }
+ if (_json.containsKey("config")) {
+ config = new ClusterConfig.fromJson(_json["config"]);
+ }
+ if (_json.containsKey("labels")) {
+ labels = _json["labels"];
+ }
+ if (_json.containsKey("metrics")) {
+ metrics = new ClusterMetrics.fromJson(_json["metrics"]);
+ }
+ if (_json.containsKey("projectId")) {
+ projectId = _json["projectId"];
+ }
+ if (_json.containsKey("status")) {
+ status = new ClusterStatus.fromJson(_json["status"]);
+ }
+ if (_json.containsKey("statusHistory")) {
+ statusHistory = _json["statusHistory"].map((value) => new ClusterStatus.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 (clusterName != null) {
+ _json["clusterName"] = clusterName;
+ }
+ if (clusterUuid != null) {
+ _json["clusterUuid"] = clusterUuid;
+ }
+ if (config != null) {
+ _json["config"] = (config).toJson();
+ }
+ if (labels != null) {
+ _json["labels"] = labels;
+ }
+ if (metrics != null) {
+ _json["metrics"] = (metrics).toJson();
+ }
+ if (projectId != null) {
+ _json["projectId"] = projectId;
+ }
+ if (status != null) {
+ _json["status"] = (status).toJson();
+ }
+ if (statusHistory != null) {
+ _json["statusHistory"] = statusHistory.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/** The cluster config. */
+class ClusterConfig {
+ /**
+ * Optional. A Google Cloud Storage staging bucket used for sharing generated
+ * SSH keys and config. If you do not specify a staging bucket, Cloud Dataproc
+ * will determine an appropriate Cloud Storage location (US, ASIA, or EU) for
+ * your cluster's staging bucket according to the Google Compute Engine zone
+ * where your cluster is deployed, and then it will create and manage this
+ * project-level, per-location bucket for you.
+ */
+ core.String configBucket;
+ /**
+ * Required. The shared Google Compute Engine config settings for all
+ * instances in a cluster.
+ */
+ GceClusterConfig gceClusterConfig;
+ /**
+ * Optional. Commands to execute on each node after config is completed. By
+ * default, executables are run on master and all worker nodes. You can test a
+ * node's <code>role</code> metadata to run an executable on a master or
+ * worker node, as shown below using curl (you can also use wget):
+ * ROLE=$(curl -H Metadata-Flavor:Google
+ * http://metadata/computeMetadata/v1beta2/instance/attributes/dataproc-role)
+ * if [[ "${ROLE}" == 'Master' ]]; then
+ * ... master specific actions ...
+ * else
+ * ... worker specific actions ...
+ * fi
+ */
+ core.List<NodeInitializationAction> initializationActions;
+ /**
+ * Optional. The Google Compute Engine config settings for the master instance
+ * in a cluster.
+ */
+ InstanceGroupConfig masterConfig;
+ /**
+ * Optional. The Google Compute Engine config settings for additional worker
+ * instances in a cluster.
+ */
+ InstanceGroupConfig secondaryWorkerConfig;
+ /** Optional. The config settings for software inside the cluster. */
+ SoftwareConfig softwareConfig;
+ /**
+ * Optional. The Google Compute Engine config settings for worker instances in
+ * a cluster.
+ */
+ InstanceGroupConfig workerConfig;
+
+ ClusterConfig();
+
+ ClusterConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("configBucket")) {
+ configBucket = _json["configBucket"];
+ }
+ if (_json.containsKey("gceClusterConfig")) {
+ gceClusterConfig = new GceClusterConfig.fromJson(_json["gceClusterConfig"]);
+ }
+ if (_json.containsKey("initializationActions")) {
+ initializationActions = _json["initializationActions"].map((value) => new NodeInitializationAction.fromJson(value)).toList();
+ }
+ if (_json.containsKey("masterConfig")) {
+ masterConfig = new InstanceGroupConfig.fromJson(_json["masterConfig"]);
+ }
+ if (_json.containsKey("secondaryWorkerConfig")) {
+ secondaryWorkerConfig = new InstanceGroupConfig.fromJson(_json["secondaryWorkerConfig"]);
+ }
+ if (_json.containsKey("softwareConfig")) {
+ softwareConfig = new SoftwareConfig.fromJson(_json["softwareConfig"]);
+ }
+ if (_json.containsKey("workerConfig")) {
+ workerConfig = new InstanceGroupConfig.fromJson(_json["workerConfig"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (configBucket != null) {
+ _json["configBucket"] = configBucket;
+ }
+ if (gceClusterConfig != null) {
+ _json["gceClusterConfig"] = (gceClusterConfig).toJson();
+ }
+ if (initializationActions != null) {
+ _json["initializationActions"] = initializationActions.map((value) => (value).toJson()).toList();
+ }
+ if (masterConfig != null) {
+ _json["masterConfig"] = (masterConfig).toJson();
+ }
+ if (secondaryWorkerConfig != null) {
+ _json["secondaryWorkerConfig"] = (secondaryWorkerConfig).toJson();
+ }
+ if (softwareConfig != null) {
+ _json["softwareConfig"] = (softwareConfig).toJson();
+ }
+ if (workerConfig != null) {
+ _json["workerConfig"] = (workerConfig).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * Contains cluster daemon metrics, such as HDFS and YARN stats.Beta Feature:
+ * This report is available for testing purposes only. It may be changed before
+ * final release.
+ */
+class ClusterMetrics {
+ /** The HDFS metrics. */
+ core.Map<core.String, core.String> hdfsMetrics;
+ /** The YARN metrics. */
+ core.Map<core.String, core.String> yarnMetrics;
+
+ ClusterMetrics();
+
+ ClusterMetrics.fromJson(core.Map _json) {
+ if (_json.containsKey("hdfsMetrics")) {
+ hdfsMetrics = _json["hdfsMetrics"];
+ }
+ if (_json.containsKey("yarnMetrics")) {
+ yarnMetrics = _json["yarnMetrics"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (hdfsMetrics != null) {
+ _json["hdfsMetrics"] = hdfsMetrics;
+ }
+ if (yarnMetrics != null) {
+ _json["yarnMetrics"] = yarnMetrics;
+ }
+ return _json;
+ }
+}
+
+/** Metadata describing the operation. */
+class ClusterOperationMetadata {
+ /** Output-only. Name of the cluster for the operation. */
+ core.String clusterName;
+ /** Output-only. Cluster UUID for the operation. */
+ core.String clusterUuid;
+ /** Output-only. Short description of operation. */
+ core.String description;
+ /** Output-only. Labels associated with the operation */
+ core.Map<core.String, core.String> labels;
+ /** Output-only. The operation type. */
+ core.String operationType;
+ /** Output-only. Current operation status. */
+ ClusterOperationStatus status;
+ /** Output-only. The previous operation status. */
+ core.List<ClusterOperationStatus> statusHistory;
+ /** Output-only. Errors encountered during operation execution. */
+ core.List<core.String> warnings;
+
+ ClusterOperationMetadata();
+
+ ClusterOperationMetadata.fromJson(core.Map _json) {
+ if (_json.containsKey("clusterName")) {
+ clusterName = _json["clusterName"];
+ }
+ if (_json.containsKey("clusterUuid")) {
+ clusterUuid = _json["clusterUuid"];
+ }
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("labels")) {
+ labels = _json["labels"];
+ }
+ if (_json.containsKey("operationType")) {
+ operationType = _json["operationType"];
+ }
+ if (_json.containsKey("status")) {
+ status = new ClusterOperationStatus.fromJson(_json["status"]);
+ }
+ if (_json.containsKey("statusHistory")) {
+ statusHistory = _json["statusHistory"].map((value) => new ClusterOperationStatus.fromJson(value)).toList();
+ }
+ if (_json.containsKey("warnings")) {
+ warnings = _json["warnings"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (clusterName != null) {
+ _json["clusterName"] = clusterName;
+ }
+ if (clusterUuid != null) {
+ _json["clusterUuid"] = clusterUuid;
+ }
+ if (description != null) {
+ _json["description"] = description;
+ }
+ if (labels != null) {
+ _json["labels"] = labels;
+ }
+ if (operationType != null) {
+ _json["operationType"] = operationType;
+ }
+ if (status != null) {
+ _json["status"] = (status).toJson();
+ }
+ if (statusHistory != null) {
+ _json["statusHistory"] = statusHistory.map((value) => (value).toJson()).toList();
+ }
+ if (warnings != null) {
+ _json["warnings"] = warnings;
+ }
+ return _json;
+ }
+}
+
+/** The status of the operation. */
+class ClusterOperationStatus {
+ /** Output-only.A message containing any operation metadata details. */
+ core.String details;
+ /** Output-only. A message containing the detailed operation state. */
+ core.String innerState;
+ /**
+ * Output-only. A message containing the operation state.
+ * Possible string values are:
+ * - "UNKNOWN" : Unused.
+ * - "PENDING" : The operation has been created.
+ * - "RUNNING" : The operation is running.
+ * - "DONE" : The operation is done; either cancelled or completed.
+ */
+ core.String state;
+ /** Output-only. The time this state was entered. */
+ core.String stateStartTime;
+
+ ClusterOperationStatus();
+
+ ClusterOperationStatus.fromJson(core.Map _json) {
+ if (_json.containsKey("details")) {
+ details = _json["details"];
+ }
+ if (_json.containsKey("innerState")) {
+ innerState = _json["innerState"];
+ }
+ if (_json.containsKey("state")) {
+ state = _json["state"];
+ }
+ if (_json.containsKey("stateStartTime")) {
+ stateStartTime = _json["stateStartTime"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (details != null) {
+ _json["details"] = details;
+ }
+ if (innerState != null) {
+ _json["innerState"] = innerState;
+ }
+ if (state != null) {
+ _json["state"] = state;
+ }
+ if (stateStartTime != null) {
+ _json["stateStartTime"] = stateStartTime;
+ }
+ return _json;
+ }
+}
+
+/** The status of a cluster and its instances. */
+class ClusterStatus {
+ /** Output-only. Optional details of cluster's state. */
+ core.String detail;
+ /**
+ * Output-only. The cluster's state.
+ * Possible string values are:
+ * - "UNKNOWN" : The cluster state is unknown.
+ * - "CREATING" : The cluster is being created and set up. It is not ready for
+ * use.
+ * - "RUNNING" : The cluster is currently running and healthy. It is ready for
+ * use.
+ * - "ERROR" : The cluster encountered an error. It is not ready for use.
+ * - "DELETING" : The cluster is being deleted. It cannot be used.
+ * - "UPDATING" : The cluster is being updated. It continues to accept and
+ * process jobs.
+ */
+ core.String state;
+ /** Output-only. Time when this state was entered. */
+ core.String stateStartTime;
+ /**
+ * Output-only. Additional state information that includes status reported by
+ * the agent.
+ * Possible string values are:
+ * - "UNSPECIFIED"
+ * - "UNHEALTHY" : The cluster is known to be in an unhealthy state (for
+ * example, critical daemons are not running or HDFS capacity is
+ * exhausted).Applies to RUNNING state.
+ * - "STALE_STATUS" : The agent-reported status is out of date (may occur if
+ * Cloud Dataproc loses communication with Agent).Applies to RUNNING state.
+ */
+ core.String substate;
+
+ ClusterStatus();
+
+ ClusterStatus.fromJson(core.Map _json) {
+ if (_json.containsKey("detail")) {
+ detail = _json["detail"];
+ }
+ if (_json.containsKey("state")) {
+ state = _json["state"];
+ }
+ if (_json.containsKey("stateStartTime")) {
+ stateStartTime = _json["stateStartTime"];
+ }
+ if (_json.containsKey("substate")) {
+ substate = _json["substate"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (detail != null) {
+ _json["detail"] = detail;
+ }
+ if (state != null) {
+ _json["state"] = state;
+ }
+ if (stateStartTime != null) {
+ _json["stateStartTime"] = stateStartTime;
+ }
+ if (substate != null) {
+ _json["substate"] = substate;
+ }
+ return _json;
+ }
+}
+
+/** A request to collect cluster diagnostic information. */
+class DiagnoseClusterRequest {
+
+ DiagnoseClusterRequest();
+
+ DiagnoseClusterRequest.fromJson(core.Map _json) {
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ return _json;
+ }
+}
+
+/** Specifies the config of disk options for a group of VM instances. */
+class DiskConfig {
+ /** Optional. Size in GB of the boot disk (default is 500GB). */
+ core.int bootDiskSizeGb;
+ /**
+ * Optional. Number of attached SSDs, from 0 to 4 (default is 0). If SSDs are
+ * not attached, the boot disk is used to store runtime logs and HDFS
+ * (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one
+ * or more SSDs are attached, this runtime bulk data is spread across them,
+ * and the boot disk contains only basic config and installed binaries.
+ */
+ core.int numLocalSsds;
+
+ DiskConfig();
+
+ DiskConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("bootDiskSizeGb")) {
+ bootDiskSizeGb = _json["bootDiskSizeGb"];
+ }
+ if (_json.containsKey("numLocalSsds")) {
+ numLocalSsds = _json["numLocalSsds"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (bootDiskSizeGb != null) {
+ _json["bootDiskSizeGb"] = bootDiskSizeGb;
+ }
+ if (numLocalSsds != null) {
+ _json["numLocalSsds"] = numLocalSsds;
+ }
+ return _json;
+ }
+}
+
+/**
+ * A generic empty message that you can re-use to avoid defining duplicated
+ * empty messages in your APIs. A typical example is to use it as the request or
+ * the response type of an API method. For instance:
+ * service Foo {
+ * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+ * }
+ * The JSON representation for Empty is empty JSON object {}.
+ */
+class Empty {
+
+ Empty();
+
+ Empty.fromJson(core.Map _json) {
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ return _json;
+ }
+}
+
+/**
+ * Common config settings for resources of Google Compute Engine cluster
+ * instances, applicable to all instances in the cluster.
+ */
+class GceClusterConfig {
+ /**
+ * Optional. If true, all instances in the cluster will only have internal IP
+ * addresses. By default, clusters are not restricted to internal IP
+ * addresses, and will have ephemeral external IP addresses assigned to each
+ * instance. This internal_ip_only restriction can only be enabled for
+ * subnetwork enabled networks, and all off-cluster dependencies must be
+ * configured to be accessible without external IP addresses.
+ */
+ core.bool internalIpOnly;
+ /**
+ * The Google Compute Engine metadata entries to add to all instances (see
+ * Project and instance metadata
+ * (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).
+ */
+ core.Map<core.String, core.String> metadata;
+ /**
+ * Optional. The Google Compute Engine network to be used for machine
+ * communications. Cannot be specified with subnetwork_uri. If neither
+ * network_uri nor subnetwork_uri is specified, the "default" network of the
+ * project is used, if it exists. Cannot be a "Custom Subnet Network" (see
+ * Using Subnetworks for more information).A full URL, partial URI, or short
+ * name are valid. Examples:
+ * https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default
+ * projects/[project_id]/regions/global/default
+ * default
+ */
+ core.String networkUri;
+ /**
+ * Optional. The service account of the instances. Defaults to the default
+ * Google Compute Engine service account. Custom service accounts need
+ * permissions equivalent to the folloing IAM roles:
+ * roles/logging.logWriter
+ * roles/storage.objectAdmin(see
+ * https://cloud.google.com/compute/docs/access/service-accounts#custom_service_accounts
+ * for more information). Example:
+ * [account_id]@[project_id].iam.gserviceaccount.com
+ */
+ core.String serviceAccount;
+ /**
+ * Optional. The URIs of service account scopes to be included in Google
+ * Compute Engine instances. The following base set of scopes is always
+ * included:
+ * https://www.googleapis.com/auth/cloud.useraccounts.readonly
+ * https://www.googleapis.com/auth/devstorage.read_write
+ * https://www.googleapis.com/auth/logging.writeIf no scopes are specified,
+ * the following defaults are also provided:
+ * https://www.googleapis.com/auth/bigquery
+ * https://www.googleapis.com/auth/bigtable.admin.table
+ * https://www.googleapis.com/auth/bigtable.data
+ * https://www.googleapis.com/auth/devstorage.full_control
+ */
+ core.List<core.String> serviceAccountScopes;
+ /**
+ * Optional. The Google Compute Engine subnetwork to be used for machine
+ * communications. Cannot be specified with network_uri.A full URL, partial
+ * URI, or short name are valid. Examples:
+ * https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0
+ * projects/[project_id]/regions/us-east1/sub0
+ * sub0
+ */
+ core.String subnetworkUri;
+ /**
+ * The Google Compute Engine tags to add to all instances (see Tagging
+ * instances).
+ */
+ core.List<core.String> tags;
+ /**
+ * Optional. The zone where the Google Compute Engine cluster will be located.
+ * On a create request, it is required in the "global" region. If omitted in a
+ * non-global Cloud Dataproc region, the service will pick a zone in the
+ * corresponding GCE region. On a get request, zone will always be present.A
+ * full URL, partial URI, or short name are valid. Examples:
+ * https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]
+ * projects/[project_id]/zones/[zone]
+ * us-central1-f
+ */
+ core.String zoneUri;
+
+ GceClusterConfig();
+
+ GceClusterConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("internalIpOnly")) {
+ internalIpOnly = _json["internalIpOnly"];
+ }
+ if (_json.containsKey("metadata")) {
+ metadata = _json["metadata"];
+ }
+ if (_json.containsKey("networkUri")) {
+ networkUri = _json["networkUri"];
+ }
+ if (_json.containsKey("serviceAccount")) {
+ serviceAccount = _json["serviceAccount"];
+ }
+ if (_json.containsKey("serviceAccountScopes")) {
+ serviceAccountScopes = _json["serviceAccountScopes"];
+ }
+ if (_json.containsKey("subnetworkUri")) {
+ subnetworkUri = _json["subnetworkUri"];
+ }
+ if (_json.containsKey("tags")) {
+ tags = _json["tags"];
+ }
+ if (_json.containsKey("zoneUri")) {
+ zoneUri = _json["zoneUri"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (internalIpOnly != null) {
+ _json["internalIpOnly"] = internalIpOnly;
+ }
+ if (metadata != null) {
+ _json["metadata"] = metadata;
+ }
+ if (networkUri != null) {
+ _json["networkUri"] = networkUri;
+ }
+ if (serviceAccount != null) {
+ _json["serviceAccount"] = serviceAccount;
+ }
+ if (serviceAccountScopes != null) {
+ _json["serviceAccountScopes"] = serviceAccountScopes;
+ }
+ if (subnetworkUri != null) {
+ _json["subnetworkUri"] = subnetworkUri;
+ }
+ if (tags != null) {
+ _json["tags"] = tags;
+ }
+ if (zoneUri != null) {
+ _json["zoneUri"] = zoneUri;
+ }
+ return _json;
+ }
+}
+
+/**
+ * A Cloud Dataproc job for running Apache Hadoop MapReduce
+ * (https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html)
+ * jobs on Apache Hadoop YARN
+ * (https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html).
+ */
+class HadoopJob {
+ /**
+ * Optional. HCFS URIs of archives to be extracted in the working directory of
+ * Hadoop drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz,
+ * or .zip.
+ */
+ core.List<core.String> archiveUris;
+ /**
+ * Optional. The arguments to pass to the driver. Do not include arguments,
+ * such as -libjars or -Dfoo=bar, that can be set as job properties, since a
+ * collision may occur that causes an incorrect job submission.
+ */
+ core.List<core.String> args;
+ /**
+ * Optional. HCFS (Hadoop Compatible Filesystem) URIs of files to be copied to
+ * the working directory of Hadoop drivers and distributed tasks. Useful for
+ * naively parallel tasks.
+ */
+ core.List<core.String> fileUris;
+ /**
+ * Optional. Jar file URIs to add to the CLASSPATHs of the Hadoop driver and
+ * tasks.
+ */
+ core.List<core.String> jarFileUris;
+ /** Optional. The runtime log config for job execution. */
+ LoggingConfig loggingConfig;
+ /**
+ * The name of the driver's main class. The jar file containing the class must
+ * be in the default CLASSPATH or specified in jar_file_uris.
+ */
+ core.String mainClass;
+ /**
+ * The HCFS URI of the jar file containing the main class. Examples:
+ * 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar'
+ * 'hdfs:/tmp/test-samples/custom-wordcount.jar'
+ * 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar'
+ */
+ core.String mainJarFileUri;
+ /**
+ * Optional. A mapping of property names to values, used to configure Hadoop.
+ * Properties that conflict with values set by the Cloud Dataproc API may be
+ * overwritten. Can include properties set in /etc/hadoop/conf / * -site and
+ * classes in user code.
+ */
+ core.Map<core.String, core.String> properties;
+
+ HadoopJob();
+
+ HadoopJob.fromJson(core.Map _json) {
+ if (_json.containsKey("archiveUris")) {
+ archiveUris = _json["archiveUris"];
+ }
+ if (_json.containsKey("args")) {
+ args = _json["args"];
+ }
+ if (_json.containsKey("fileUris")) {
+ fileUris = _json["fileUris"];
+ }
+ if (_json.containsKey("jarFileUris")) {
+ jarFileUris = _json["jarFileUris"];
+ }
+ if (_json.containsKey("loggingConfig")) {
+ loggingConfig = new LoggingConfig.fromJson(_json["loggingConfig"]);
+ }
+ if (_json.containsKey("mainClass")) {
+ mainClass = _json["mainClass"];
+ }
+ if (_json.containsKey("mainJarFileUri")) {
+ mainJarFileUri = _json["mainJarFileUri"];
+ }
+ if (_json.containsKey("properties")) {
+ properties = _json["properties"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (archiveUris != null) {
+ _json["archiveUris"] = archiveUris;
+ }
+ if (args != null) {
+ _json["args"] = args;
+ }
+ if (fileUris != null) {
+ _json["fileUris"] = fileUris;
+ }
+ if (jarFileUris != null) {
+ _json["jarFileUris"] = jarFileUris;
+ }
+ if (loggingConfig != null) {
+ _json["loggingConfig"] = (loggingConfig).toJson();
+ }
+ if (mainClass != null) {
+ _json["mainClass"] = mainClass;
+ }
+ if (mainJarFileUri != null) {
+ _json["mainJarFileUri"] = mainJarFileUri;
+ }
+ if (properties != null) {
+ _json["properties"] = properties;
+ }
+ return _json;
+ }
+}
+
+/**
+ * A Cloud Dataproc job for running Apache Hive (https://hive.apache.org/)
+ * queries on YARN.
+ */
+class HiveJob {
+ /**
+ * Optional. Whether to continue executing queries if a query fails. The
+ * default value is false. Setting to true can be useful when executing
+ * independent parallel queries.
+ */
+ core.bool continueOnFailure;
+ /**
+ * Optional. HCFS URIs of jar files to add to the CLASSPATH of the Hive server
+ * and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes and UDFs.
+ */
+ core.List<core.String> jarFileUris;
+ /**
+ * Optional. A mapping of property names and values, used to configure Hive.
+ * Properties that conflict with values set by the Cloud Dataproc API may be
+ * overwritten. Can include properties set in /etc/hadoop/conf / * -site.xml,
+ * /etc/hive/conf/hive-site.xml, and classes in user code.
+ */
+ core.Map<core.String, core.String> properties;
+ /** The HCFS URI of the script that contains Hive queries. */
+ core.String queryFileUri;
+ /** A list of queries. */
+ QueryList queryList;
+ /**
+ * Optional. Mapping of query variable names to values (equivalent to the Hive
+ * command: SET name="value";).
+ */
+ core.Map<core.String, core.String> scriptVariables;
+
+ HiveJob();
+
+ HiveJob.fromJson(core.Map _json) {
+ if (_json.containsKey("continueOnFailure")) {
+ continueOnFailure = _json["continueOnFailure"];
+ }
+ if (_json.containsKey("jarFileUris")) {
+ jarFileUris = _json["jarFileUris"];
+ }
+ if (_json.containsKey("properties")) {
+ properties = _json["properties"];
+ }
+ if (_json.containsKey("queryFileUri")) {
+ queryFileUri = _json["queryFileUri"];
+ }
+ if (_json.containsKey("queryList")) {
+ queryList = new QueryList.fromJson(_json["queryList"]);
+ }
+ if (_json.containsKey("scriptVariables")) {
+ scriptVariables = _json["scriptVariables"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (continueOnFailure != null) {
+ _json["continueOnFailure"] = continueOnFailure;
+ }
+ if (jarFileUris != null) {
+ _json["jarFileUris"] = jarFileUris;
+ }
+ if (properties != null) {
+ _json["properties"] = properties;
+ }
+ if (queryFileUri != null) {
+ _json["queryFileUri"] = queryFileUri;
+ }
+ if (queryList != null) {
+ _json["queryList"] = (queryList).toJson();
+ }
+ if (scriptVariables != null) {
+ _json["scriptVariables"] = scriptVariables;
+ }
+ return _json;
+ }
+}
+
+/**
+ * Optional. The config settings for Google Compute Engine resources in an
+ * instance group, such as a master or worker group.
+ */
+class InstanceGroupConfig {
+ /**
+ * Optional. The Google Compute Engine accelerator configuration for these
+ * instances.Beta Feature: This feature is still under development. It may be
+ * changed before final release.
+ */
+ core.List<AcceleratorConfig> accelerators;
+ /** Optional. Disk option config settings. */
+ DiskConfig diskConfig;
+ /**
+ * Output-only. The Google Compute Engine image resource used for cluster
+ * instances. Inferred from SoftwareConfig.image_version.
+ */
+ core.String imageUri;
+ /**
+ * Optional. The list of instance names. Cloud Dataproc derives the names from
+ * cluster_name, num_instances, and the instance group if not set by user
+ * (recommended practice is to let Cloud Dataproc derive the name).
+ */
+ core.List<core.String> instanceNames;
+ /**
+ * Optional. Specifies that this instance group contains preemptible
+ * instances.
+ */
+ core.bool isPreemptible;
+ /**
+ * Optional. The Google Compute Engine machine type used for cluster
+ * instances.A full URL, partial URI, or short name are valid. Examples:
+ * https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2
+ * projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2
+ * n1-standard-2
+ */
+ core.String machineTypeUri;
+ /**
+ * Output-only. The config for Google Compute Engine Instance Group Manager
+ * that manages this group. This is only used for preemptible instance groups.
+ */
+ ManagedGroupConfig managedGroupConfig;
+ /**
+ * Optional. The number of VM instances in the instance group. For master
+ * instance groups, must be set to 1.
+ */
+ core.int numInstances;
+
+ InstanceGroupConfig();
+
+ InstanceGroupConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("accelerators")) {
+ accelerators = _json["accelerators"].map((value) => new AcceleratorConfig.fromJson(value)).toList();
+ }
+ if (_json.containsKey("diskConfig")) {
+ diskConfig = new DiskConfig.fromJson(_json["diskConfig"]);
+ }
+ if (_json.containsKey("imageUri")) {
+ imageUri = _json["imageUri"];
+ }
+ if (_json.containsKey("instanceNames")) {
+ instanceNames = _json["instanceNames"];
+ }
+ if (_json.containsKey("isPreemptible")) {
+ isPreemptible = _json["isPreemptible"];
+ }
+ if (_json.containsKey("machineTypeUri")) {
+ machineTypeUri = _json["machineTypeUri"];
+ }
+ if (_json.containsKey("managedGroupConfig")) {
+ managedGroupConfig = new ManagedGroupConfig.fromJson(_json["managedGroupConfig"]);
+ }
+ if (_json.containsKey("numInstances")) {
+ numInstances = _json["numInstances"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (accelerators != null) {
+ _json["accelerators"] = accelerators.map((value) => (value).toJson()).toList();
+ }
+ if (diskConfig != null) {
+ _json["diskConfig"] = (diskConfig).toJson();
+ }
+ if (imageUri != null) {
+ _json["imageUri"] = imageUri;
+ }
+ if (instanceNames != null) {
+ _json["instanceNames"] = instanceNames;
+ }
+ if (isPreemptible != null) {
+ _json["isPreemptible"] = isPreemptible;
+ }
+ if (machineTypeUri != null) {
+ _json["machineTypeUri"] = machineTypeUri;
+ }
+ if (managedGroupConfig != null) {
+ _json["managedGroupConfig"] = (managedGroupConfig).toJson();
+ }
+ if (numInstances != null) {
+ _json["numInstances"] = numInstances;
+ }
+ return _json;
+ }
+}
+
+/** A Cloud Dataproc job resource. */
+class Job {
+ /**
+ * Output-only. If present, the location of miscellaneous control files which
+ * may be used as part of job setup and handling. If not present, control
+ * files may be placed in the same location as driver_output_uri.
+ */
+ core.String driverControlFilesUri;
+ /**
+ * Output-only. A URI pointing to the location of the stdout of the job's
+ * driver program.
+ */
+ core.String driverOutputResourceUri;
+ /** Job is a Hadoop job. */
+ HadoopJob hadoopJob;
+ /** Job is a Hive job. */
+ HiveJob hiveJob;
+ /**
+ * Optional. The labels to associate with this job. Label keys must contain 1
+ * to 63 characters, and must conform to RFC 1035
+ * (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if
+ * present, must contain 1 to 63 characters, and must conform to RFC 1035
+ * (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be
+ * associated with a job.
+ */
+ core.Map<core.String, core.String> labels;
+ /** Job is a Pig job. */
+ PigJob pigJob;
+ /**
+ * Required. Job information, including how, when, and where to run the job.
+ */
+ JobPlacement placement;
+ /** Job is a Pyspark job. */
+ PySparkJob pysparkJob;
+ /**
+ * Optional. The fully qualified reference to the job, which can be used to
+ * obtain the equivalent REST path of the job resource. If this property is
+ * not specified when a job is created, the server generates a
+ * <code>job_id</code>.
+ */
+ JobReference reference;
+ /** Optional. Job scheduling configuration. */
+ JobScheduling scheduling;
+ /** Job is a Spark job. */
+ SparkJob sparkJob;
+ /** Job is a SparkSql job. */
+ SparkSqlJob sparkSqlJob;
+ /**
+ * Output-only. The job status. Additional application-specific status
+ * information may be contained in the <code>type_job</code> and
+ * <code>yarn_applications</code> fields.
+ */
+ JobStatus status;
+ /** Output-only. The previous job status. */
+ core.List<JobStatus> statusHistory;
+ /**
+ * Output-only. The collection of YARN applications spun up by this job.Beta
+ * Feature: This report is available for testing purposes only. It may be
+ * changed before final release.
+ */
+ core.List<YarnApplication> yarnApplications;
+
+ Job();
+
+ Job.fromJson(core.Map _json) {
+ if (_json.containsKey("driverControlFilesUri")) {
+ driverControlFilesUri = _json["driverControlFilesUri"];
+ }
+ if (_json.containsKey("driverOutputResourceUri")) {
+ driverOutputResourceUri = _json["driverOutputResourceUri"];
+ }
+ if (_json.containsKey("hadoopJob")) {
+ hadoopJob = new HadoopJob.fromJson(_json["hadoopJob"]);
+ }
+ if (_json.containsKey("hiveJob")) {
+ hiveJob = new HiveJob.fromJson(_json["hiveJob"]);
+ }
+ if (_json.containsKey("labels")) {
+ labels = _json["labels"];
+ }
+ if (_json.containsKey("pigJob")) {
+ pigJob = new PigJob.fromJson(_json["pigJob"]);
+ }
+ if (_json.containsKey("placement")) {
+ placement = new JobPlacement.fromJson(_json["placement"]);
+ }
+ if (_json.containsKey("pysparkJob")) {
+ pysparkJob = new PySparkJob.fromJson(_json["pysparkJob"]);
+ }
+ if (_json.containsKey("reference")) {
+ reference = new JobReference.fromJson(_json["reference"]);
+ }
+ if (_json.containsKey("scheduling")) {
+ scheduling = new JobScheduling.fromJson(_json["scheduling"]);
+ }
+ if (_json.containsKey("sparkJob")) {
+ sparkJob = new SparkJob.fromJson(_json["sparkJob"]);
+ }
+ if (_json.containsKey("sparkSqlJob")) {
+ sparkSqlJob = new SparkSqlJob.fromJson(_json["sparkSqlJob"]);
+ }
+ if (_json.containsKey("status")) {
+ status = new JobStatus.fromJson(_json["status"]);
+ }
+ if (_json.containsKey("statusHistory")) {
+ statusHistory = _json["statusHistory"].map((value) => new JobStatus.fromJson(value)).toList();
+ }
+ if (_json.containsKey("yarnApplications")) {
+ yarnApplications = _json["yarnApplications"].map((value) => new YarnApplication.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 (driverControlFilesUri != null) {
+ _json["driverControlFilesUri"] = driverControlFilesUri;
+ }
+ if (driverOutputResourceUri != null) {
+ _json["driverOutputResourceUri"] = driverOutputResourceUri;
+ }
+ if (hadoopJob != null) {
+ _json["hadoopJob"] = (hadoopJob).toJson();
+ }
+ if (hiveJob != null) {
+ _json["hiveJob"] = (hiveJob).toJson();
+ }
+ if (labels != null) {
+ _json["labels"] = labels;
+ }
+ if (pigJob != null) {
+ _json["pigJob"] = (pigJob).toJson();
+ }
+ if (placement != null) {
+ _json["placement"] = (placement).toJson();
+ }
+ if (pysparkJob != null) {
+ _json["pysparkJob"] = (pysparkJob).toJson();
+ }
+ if (reference != null) {
+ _json["reference"] = (reference).toJson();
+ }
+ if (scheduling != null) {
+ _json["scheduling"] = (scheduling).toJson();
+ }
+ if (sparkJob != null) {
+ _json["sparkJob"] = (sparkJob).toJson();
+ }
+ if (sparkSqlJob != null) {
+ _json["sparkSqlJob"] = (sparkSqlJob).toJson();
+ }
+ if (status != null) {
+ _json["status"] = (status).toJson();
+ }
+ if (statusHistory != null) {
+ _json["statusHistory"] = statusHistory.map((value) => (value).toJson()).toList();
+ }
+ if (yarnApplications != null) {
+ _json["yarnApplications"] = yarnApplications.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/** Cloud Dataproc job config. */
+class JobPlacement {
+ /** Required. The name of the cluster where the job will be submitted. */
+ core.String clusterName;
+ /**
+ * Output-only. A cluster UUID generated by the Cloud Dataproc service when
+ * the job is submitted.
+ */
+ core.String clusterUuid;
+
+ JobPlacement();
+
+ JobPlacement.fromJson(core.Map _json) {
+ if (_json.containsKey("clusterName")) {
+ clusterName = _json["clusterName"];
+ }
+ if (_json.containsKey("clusterUuid")) {
+ clusterUuid = _json["clusterUuid"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (clusterName != null) {
+ _json["clusterName"] = clusterName;
+ }
+ if (clusterUuid != null) {
+ _json["clusterUuid"] = clusterUuid;
+ }
+ return _json;
+ }
+}
+
+/** Encapsulates the full scoping used to reference a job. */
+class JobReference {
+ /**
+ * Optional. The job ID, which must be unique within the project. The job ID
+ * is generated by the server upon job submission or provided by the user as a
+ * means to perform retries without creating duplicate jobs. The ID must
+ * contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or hyphens
+ * (-). The maximum length is 100 characters.
+ */
+ core.String jobId;
+ /**
+ * Required. The ID of the Google Cloud Platform project that the job belongs
+ * to.
+ */
+ core.String projectId;
+
+ JobReference();
+
+ JobReference.fromJson(core.Map _json) {
+ if (_json.containsKey("jobId")) {
+ jobId = _json["jobId"];
+ }
+ if (_json.containsKey("projectId")) {
+ projectId = _json["projectId"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (jobId != null) {
+ _json["jobId"] = jobId;
+ }
+ if (projectId != null) {
+ _json["projectId"] = projectId;
+ }
+ return _json;
+ }
+}
+
+/**
+ * Job scheduling options.Beta Feature: These options are available for testing
+ * purposes only. They may be changed before final release.
+ */
+class JobScheduling {
+ /**
+ * Optional. Maximum number of times per hour a driver may be restarted as a
+ * result of driver terminating with non-zero code before job is reported
+ * failed.A job may be reported as thrashing if driver exits with non-zero
+ * code 4 times within 10 minute window.Maximum value is 10.
+ */
+ core.int maxFailuresPerHour;
+
+ JobScheduling();
+
+ JobScheduling.fromJson(core.Map _json) {
+ if (_json.containsKey("maxFailuresPerHour")) {
+ maxFailuresPerHour = _json["maxFailuresPerHour"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (maxFailuresPerHour != null) {
+ _json["maxFailuresPerHour"] = maxFailuresPerHour;
+ }
+ return _json;
+ }
+}
+
+/** Cloud Dataproc job status. */
+class JobStatus {
+ /**
+ * Output-only. Optional job state details, such as an error description if
+ * the state is <code>ERROR</code>.
+ */
+ core.String details;
+ /**
+ * Output-only. A state message specifying the overall job state.
+ * Possible string values are:
+ * - "STATE_UNSPECIFIED" : The job state is unknown.
+ * - "PENDING" : The job is pending; it has been submitted, but is not yet
+ * running.
+ * - "SETUP_DONE" : Job has been received by the service and completed initial
+ * setup; it will soon be submitted to the cluster.
+ * - "RUNNING" : The job is running on the cluster.
+ * - "CANCEL_PENDING" : A CancelJob request has been received, but is pending.
+ * - "CANCEL_STARTED" : Transient in-flight resources have been canceled, and
+ * the request to cancel the running job has been issued to the cluster.
+ * - "CANCELLED" : The job cancellation was successful.
+ * - "DONE" : The job has completed successfully.
+ * - "ERROR" : The job has completed, but encountered an error.
+ * - "ATTEMPT_FAILURE" : Job attempt has failed. The detail field contains
+ * failure details for this attempt.Applies to restartable jobs only.
+ */
+ core.String state;
+ /** Output-only. The time when this state was entered. */
+ core.String stateStartTime;
+ /**
+ * Output-only. Additional state information, which includes status reported
+ * by the agent.
+ * Possible string values are:
+ * - "UNSPECIFIED"
+ * - "SUBMITTED" : The Job is submitted to the agent.Applies to RUNNING state.
+ * - "QUEUED" : The Job has been received and is awaiting execution (it may be
+ * waiting for a condition to be met). See the "details" field for the reason
+ * for the delay.Applies to RUNNING state.
+ * - "STALE_STATUS" : The agent-reported status is out of date, which may be
+ * caused by a loss of communication between the agent and Cloud Dataproc. If
+ * the agent does not send a timely update, the job will fail.Applies to
+ * RUNNING state.
+ */
+ core.String substate;
+
+ JobStatus();
+
+ JobStatus.fromJson(core.Map _json) {
+ if (_json.containsKey("details")) {
+ details = _json["details"];
+ }
+ if (_json.containsKey("state")) {
+ state = _json["state"];
+ }
+ if (_json.containsKey("stateStartTime")) {
+ stateStartTime = _json["stateStartTime"];
+ }
+ if (_json.containsKey("substate")) {
+ substate = _json["substate"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (details != null) {
+ _json["details"] = details;
+ }
+ if (state != null) {
+ _json["state"] = state;
+ }
+ if (stateStartTime != null) {
+ _json["stateStartTime"] = stateStartTime;
+ }
+ if (substate != null) {
+ _json["substate"] = substate;
+ }
+ return _json;
+ }
+}
+
+/** The list of all clusters in a project. */
+class ListClustersResponse {
+ /** Output-only. The clusters in the project. */
+ core.List<Cluster> clusters;
+ /**
+ * Output-only. This token is included in the response if there are more
+ * results to fetch. To fetch additional results, provide this value as the
+ * page_token in a subsequent <code>ListClustersRequest</code>.
+ */
+ core.String nextPageToken;
+
+ ListClustersResponse();
+
+ ListClustersResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("clusters")) {
+ clusters = _json["clusters"].map((value) => new Cluster.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 (clusters != null) {
+ _json["clusters"] = clusters.map((value) => (value).toJson()).toList();
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ return _json;
+ }
+}
+
+/** A list of jobs in a project. */
+class ListJobsResponse {
+ /** Output-only. Jobs list. */
+ core.List<Job> jobs;
+ /**
+ * Optional. This token is included in the response if there are more results
+ * to fetch. To fetch additional results, provide this value as the page_token
+ * in a subsequent <code>ListJobsRequest</code>.
+ */
+ core.String nextPageToken;
+
+ ListJobsResponse();
+
+ ListJobsResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("jobs")) {
+ jobs = _json["jobs"].map((value) => new Job.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 (jobs != null) {
+ _json["jobs"] = jobs.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;
+ }
+}
+
+/** The runtime logging config of the job. */
+class LoggingConfig {
+ /**
+ * The per-package log levels for the driver. This may include "root" package
+ * name to configure rootLogger. Examples: 'com.google = FATAL', 'root =
+ * INFO', 'org.apache = DEBUG'
+ */
+ core.Map<core.String, core.String> driverLogLevels;
+
+ LoggingConfig();
+
+ LoggingConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("driverLogLevels")) {
+ driverLogLevels = _json["driverLogLevels"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (driverLogLevels != null) {
+ _json["driverLogLevels"] = driverLogLevels;
+ }
+ return _json;
+ }
+}
+
+/** Specifies the resources used to actively manage an instance group. */
+class ManagedGroupConfig {
+ /** Output-only. The name of the Instance Group Manager for this group. */
+ core.String instanceGroupManagerName;
+ /**
+ * Output-only. The name of the Instance Template used for the Managed
+ * Instance Group.
+ */
+ core.String instanceTemplateName;
+
+ ManagedGroupConfig();
+
+ ManagedGroupConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("instanceGroupManagerName")) {
+ instanceGroupManagerName = _json["instanceGroupManagerName"];
+ }
+ if (_json.containsKey("instanceTemplateName")) {
+ instanceTemplateName = _json["instanceTemplateName"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (instanceGroupManagerName != null) {
+ _json["instanceGroupManagerName"] = instanceGroupManagerName;
+ }
+ if (instanceTemplateName != null) {
+ _json["instanceTemplateName"] = instanceTemplateName;
+ }
+ return _json;
+ }
+}
+
+/**
+ * Specifies an executable to run on a fully configured node and a timeout
+ * period for executable completion.
+ */
+class NodeInitializationAction {
+ /** Required. Google Cloud Storage URI of executable file. */
+ core.String executableFile;
+ /**
+ * Optional. Amount of time executable has to complete. Default is 10 minutes.
+ * Cluster creation fails with an explanatory error message (the name of the
+ * executable that caused the error and the exceeded timeout period) if the
+ * executable is not completed at end of the timeout period.
+ */
+ core.String executionTimeout;
+
+ NodeInitializationAction();
+
+ NodeInitializationAction.fromJson(core.Map _json) {
+ if (_json.containsKey("executableFile")) {
+ executableFile = _json["executableFile"];
+ }
+ if (_json.containsKey("executionTimeout")) {
+ executionTimeout = _json["executionTimeout"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (executableFile != null) {
+ _json["executableFile"] = executableFile;
+ }
+ if (executionTimeout != null) {
+ _json["executionTimeout"] = executionTimeout;
+ }
+ 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;
+ }
+}
+
+/**
+ * A Cloud Dataproc job for running Apache Pig (https://pig.apache.org/) queries
+ * on YARN.
+ */
+class PigJob {
+ /**
+ * Optional. Whether to continue executing queries if a query fails. The
+ * default value is false. Setting to true can be useful when executing
+ * independent parallel queries.
+ */
+ core.bool continueOnFailure;
+ /**
+ * Optional. HCFS URIs of jar files to add to the CLASSPATH of the Pig Client
+ * and Hadoop MapReduce (MR) tasks. Can contain Pig UDFs.
+ */
+ core.List<core.String> jarFileUris;
+ /** Optional. The runtime log config for job execution. */
+ LoggingConfig loggingConfig;
+ /**
+ * Optional. A mapping of property names to values, used to configure Pig.
+ * Properties that conflict with values set by the Cloud Dataproc API may be
+ * overwritten. Can include properties set in /etc/hadoop/conf / * -site.xml,
+ * /etc/pig/conf/pig.properties, and classes in user code.
+ */
+ core.Map<core.String, core.String> properties;
+ /** The HCFS URI of the script that contains the Pig queries. */
+ core.String queryFileUri;
+ /** A list of queries. */
+ QueryList queryList;
+ /**
+ * Optional. Mapping of query variable names to values (equivalent to the Pig
+ * command: name=[value]).
+ */
+ core.Map<core.String, core.String> scriptVariables;
+
+ PigJob();
+
+ PigJob.fromJson(core.Map _json) {
+ if (_json.containsKey("continueOnFailure")) {
+ continueOnFailure = _json["continueOnFailure"];
+ }
+ if (_json.containsKey("jarFileUris")) {
+ jarFileUris = _json["jarFileUris"];
+ }
+ if (_json.containsKey("loggingConfig")) {
+ loggingConfig = new LoggingConfig.fromJson(_json["loggingConfig"]);
+ }
+ if (_json.containsKey("properties")) {
+ properties = _json["properties"];
+ }
+ if (_json.containsKey("queryFileUri")) {
+ queryFileUri = _json["queryFileUri"];
+ }
+ if (_json.containsKey("queryList")) {
+ queryList = new QueryList.fromJson(_json["queryList"]);
+ }
+ if (_json.containsKey("scriptVariables")) {
+ scriptVariables = _json["scriptVariables"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (continueOnFailure != null) {
+ _json["continueOnFailure"] = continueOnFailure;
+ }
+ if (jarFileUris != null) {
+ _json["jarFileUris"] = jarFileUris;
+ }
+ if (loggingConfig != null) {
+ _json["loggingConfig"] = (loggingConfig).toJson();
+ }
+ if (properties != null) {
+ _json["properties"] = properties;
+ }
+ if (queryFileUri != null) {
+ _json["queryFileUri"] = queryFileUri;
+ }
+ if (queryList != null) {
+ _json["queryList"] = (queryList).toJson();
+ }
+ if (scriptVariables != null) {
+ _json["scriptVariables"] = scriptVariables;
+ }
+ return _json;
+ }
+}
+
+/**
+ * A Cloud Dataproc job for running Apache PySpark
+ * (https://spark.apache.org/docs/0.9.0/python-programming-guide.html)
+ * applications on YARN.
+ */
+class PySparkJob {
+ /**
+ * Optional. HCFS URIs of archives to be extracted in the working directory of
+ * .jar, .tar, .tar.gz, .tgz, and .zip.
+ */
+ core.List<core.String> archiveUris;
+ /**
+ * Optional. The arguments to pass to the driver. Do not include arguments,
+ * such as --conf, that can be set as job properties, since a collision may
+ * occur that causes an incorrect job submission.
+ */
+ core.List<core.String> args;
+ /**
+ * Optional. HCFS URIs of files to be copied to the working directory of
+ * Python drivers and distributed tasks. Useful for naively parallel tasks.
+ */
+ core.List<core.String> fileUris;
+ /**
+ * Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Python
+ * driver and tasks.
+ */
+ core.List<core.String> jarFileUris;
+ /** Optional. The runtime log config for job execution. */
+ LoggingConfig loggingConfig;
+ /**
+ * Required. The HCFS URI of the main Python file to use as the driver. Must
+ * be a .py file.
+ */
+ core.String mainPythonFileUri;
+ /**
+ * Optional. A mapping of property names to values, used to configure PySpark.
+ * Properties that conflict with values set by the Cloud Dataproc API may be
+ * overwritten. Can include properties set in
+ * /etc/spark/conf/spark-defaults.conf and classes in user code.
+ */
+ core.Map<core.String, core.String> properties;
+ /**
+ * Optional. HCFS file URIs of Python files to pass to the PySpark framework.
+ * Supported file types: .py, .egg, and .zip.
+ */
+ core.List<core.String> pythonFileUris;
+
+ PySparkJob();
+
+ PySparkJob.fromJson(core.Map _json) {
+ if (_json.containsKey("archiveUris")) {
+ archiveUris = _json["archiveUris"];
+ }
+ if (_json.containsKey("args")) {
+ args = _json["args"];
+ }
+ if (_json.containsKey("fileUris")) {
+ fileUris = _json["fileUris"];
+ }
+ if (_json.containsKey("jarFileUris")) {
+ jarFileUris = _json["jarFileUris"];
+ }
+ if (_json.containsKey("loggingConfig")) {
+ loggingConfig = new LoggingConfig.fromJson(_json["loggingConfig"]);
+ }
+ if (_json.containsKey("mainPythonFileUri")) {
+ mainPythonFileUri = _json["mainPythonFileUri"];
+ }
+ if (_json.containsKey("properties")) {
+ properties = _json["properties"];
+ }
+ if (_json.containsKey("pythonFileUris")) {
+ pythonFileUris = _json["pythonFileUris"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (archiveUris != null) {
+ _json["archiveUris"] = archiveUris;
+ }
+ if (args != null) {
+ _json["args"] = args;
+ }
+ if (fileUris != null) {
+ _json["fileUris"] = fileUris;
+ }
+ if (jarFileUris != null) {
+ _json["jarFileUris"] = jarFileUris;
+ }
+ if (loggingConfig != null) {
+ _json["loggingConfig"] = (loggingConfig).toJson();
+ }
+ if (mainPythonFileUri != null) {
+ _json["mainPythonFileUri"] = mainPythonFileUri;
+ }
+ if (properties != null) {
+ _json["properties"] = properties;
+ }
+ if (pythonFileUris != null) {
+ _json["pythonFileUris"] = pythonFileUris;
+ }
+ return _json;
+ }
+}
+
+/** A list of queries to run on a cluster. */
+class QueryList {
+ /**
+ * Required. The queries to execute. You do not need to terminate a query with
+ * a semicolon. Multiple queries can be specified in one string by separating
+ * each with a semicolon. Here is an example of an Cloud Dataproc API snippet
+ * that uses a QueryList to specify a HiveJob:
+ * "hiveJob": {
+ * "queryList": {
+ * "queries": [
+ * "query1",
+ * "query2",
+ * "query3;query4",
+ * ]
+ * }
+ * }
+ */
+ core.List<core.String> queries;
+
+ QueryList();
+
+ QueryList.fromJson(core.Map _json) {
+ if (_json.containsKey("queries")) {
+ queries = _json["queries"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (queries != null) {
+ _json["queries"] = queries;
+ }
+ return _json;
+ }
+}
+
+/** Specifies the selection and config of software inside the cluster. */
+class SoftwareConfig {
+ /**
+ * Optional. The version of software inside the cluster. It must match the
+ * regular expression [0-9]+\.[0-9]+. If unspecified, it defaults to the
+ * latest version (see Cloud Dataproc Versioning).
+ */
+ core.String imageVersion;
+ /**
+ * Optional. The properties to set on daemon config files.Property keys are
+ * specified in prefix:property format, such as core:fs.defaultFS. The
+ * following are supported prefixes and their mappings:
+ * capacity-scheduler: capacity-scheduler.xml
+ * core: core-site.xml
+ * distcp: distcp-default.xml
+ * hdfs: hdfs-site.xml
+ * hive: hive-site.xml
+ * mapred: mapred-site.xml
+ * pig: pig.properties
+ * spark: spark-defaults.conf
+ * yarn: yarn-site.xml
+ */
+ core.Map<core.String, core.String> properties;
+
+ SoftwareConfig();
+
+ SoftwareConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("imageVersion")) {
+ imageVersion = _json["imageVersion"];
+ }
+ if (_json.containsKey("properties")) {
+ properties = _json["properties"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (imageVersion != null) {
+ _json["imageVersion"] = imageVersion;
+ }
+ if (properties != null) {
+ _json["properties"] = properties;
+ }
+ return _json;
+ }
+}
+
+/**
+ * A Cloud Dataproc job for running Apache Spark (http://spark.apache.org/)
+ * applications on YARN.
+ */
+class SparkJob {
+ /**
+ * Optional. HCFS URIs of archives to be extracted in the working directory of
+ * Spark drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz,
+ * and .zip.
+ */
+ core.List<core.String> archiveUris;
+ /**
+ * Optional. The arguments to pass to the driver. Do not include arguments,
+ * such as --conf, that can be set as job properties, since a collision may
+ * occur that causes an incorrect job submission.
+ */
+ core.List<core.String> args;
+ /**
+ * Optional. HCFS URIs of files to be copied to the working directory of Spark
+ * drivers and distributed tasks. Useful for naively parallel tasks.
+ */
+ core.List<core.String> fileUris;
+ /**
+ * Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Spark
+ * driver and tasks.
+ */
+ core.List<core.String> jarFileUris;
+ /** Optional. The runtime log config for job execution. */
+ LoggingConfig loggingConfig;
+ /**
+ * The name of the driver's main class. The jar file that contains the class
+ * must be in the default CLASSPATH or specified in jar_file_uris.
+ */
+ core.String mainClass;
+ /** The HCFS URI of the jar file that contains the main class. */
+ core.String mainJarFileUri;
+ /**
+ * Optional. A mapping of property names to values, used to configure Spark.
+ * Properties that conflict with values set by the Cloud Dataproc API may be
+ * overwritten. Can include properties set in
+ * /etc/spark/conf/spark-defaults.conf and classes in user code.
+ */
+ core.Map<core.String, core.String> properties;
+
+ SparkJob();
+
+ SparkJob.fromJson(core.Map _json) {
+ if (_json.containsKey("archiveUris")) {
+ archiveUris = _json["archiveUris"];
+ }
+ if (_json.containsKey("args")) {
+ args = _json["args"];
+ }
+ if (_json.containsKey("fileUris")) {
+ fileUris = _json["fileUris"];
+ }
+ if (_json.containsKey("jarFileUris")) {
+ jarFileUris = _json["jarFileUris"];
+ }
+ if (_json.containsKey("loggingConfig")) {
+ loggingConfig = new LoggingConfig.fromJson(_json["loggingConfig"]);
+ }
+ if (_json.containsKey("mainClass")) {
+ mainClass = _json["mainClass"];
+ }
+ if (_json.containsKey("mainJarFileUri")) {
+ mainJarFileUri = _json["mainJarFileUri"];
+ }
+ if (_json.containsKey("properties")) {
+ properties = _json["properties"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (archiveUris != null) {
+ _json["archiveUris"] = archiveUris;
+ }
+ if (args != null) {
+ _json["args"] = args;
+ }
+ if (fileUris != null) {
+ _json["fileUris"] = fileUris;
+ }
+ if (jarFileUris != null) {
+ _json["jarFileUris"] = jarFileUris;
+ }
+ if (loggingConfig != null) {
+ _json["loggingConfig"] = (loggingConfig).toJson();
+ }
+ if (mainClass != null) {
+ _json["mainClass"] = mainClass;
+ }
+ if (mainJarFileUri != null) {
+ _json["mainJarFileUri"] = mainJarFileUri;
+ }
+ if (properties != null) {
+ _json["properties"] = properties;
+ }
+ return _json;
+ }
+}
+
+/**
+ * A Cloud Dataproc job for running Apache Spark SQL
+ * (http://spark.apache.org/sql/) queries.
+ */
+class SparkSqlJob {
+ /** Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH. */
+ core.List<core.String> jarFileUris;
+ /** Optional. The runtime log config for job execution. */
+ LoggingConfig loggingConfig;
+ /**
+ * Optional. A mapping of property names to values, used to configure Spark
+ * SQL's SparkConf. Properties that conflict with values set by the Cloud
+ * Dataproc API may be overwritten.
+ */
+ core.Map<core.String, core.String> properties;
+ /** The HCFS URI of the script that contains SQL queries. */
+ core.String queryFileUri;
+ /** A list of queries. */
+ QueryList queryList;
+ /**
+ * Optional. Mapping of query variable names to values (equivalent to the
+ * Spark SQL command: SET name="value";).
+ */
+ core.Map<core.String, core.String> scriptVariables;
+
+ SparkSqlJob();
+
+ SparkSqlJob.fromJson(core.Map _json) {
+ if (_json.containsKey("jarFileUris")) {
+ jarFileUris = _json["jarFileUris"];
+ }
+ if (_json.containsKey("loggingConfig")) {
+ loggingConfig = new LoggingConfig.fromJson(_json["loggingConfig"]);
+ }
+ if (_json.containsKey("properties")) {
+ properties = _json["properties"];
+ }
+ if (_json.containsKey("queryFileUri")) {
+ queryFileUri = _json["queryFileUri"];
+ }
+ if (_json.containsKey("queryList")) {
+ queryList = new QueryList.fromJson(_json["queryList"]);
+ }
+ if (_json.containsKey("scriptVariables")) {
+ scriptVariables = _json["scriptVariables"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (jarFileUris != null) {
+ _json["jarFileUris"] = jarFileUris;
+ }
+ if (loggingConfig != null) {
+ _json["loggingConfig"] = (loggingConfig).toJson();
+ }
+ if (properties != null) {
+ _json["properties"] = properties;
+ }
+ if (queryFileUri != null) {
+ _json["queryFileUri"] = queryFileUri;
+ }
+ if (queryList != null) {
+ _json["queryList"] = (queryList).toJson();
+ }
+ if (scriptVariables != null) {
+ _json["scriptVariables"] = scriptVariables;
+ }
+ 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 needsOverviewThe 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 mappingThe 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 usesThe 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 will be 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;
+ }
+}
+
+/** A request to submit a job. */
+class SubmitJobRequest {
+ /** Required. The job resource. */
+ Job job;
+
+ SubmitJobRequest();
+
+ SubmitJobRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("job")) {
+ job = new Job.fromJson(_json["job"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (job != null) {
+ _json["job"] = (job).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * A YARN application created by a job. Application information is a subset of
+ * <code>org.apache.hadoop.yarn.proto.YarnProtos.ApplicationReportProto</code>.Beta
+ * Feature: This report is available for testing purposes only. It may be
+ * changed before final release.
+ */
+class YarnApplication {
+ /** Required. The application name. */
+ core.String name;
+ /** Required. The numerical progress of the application, from 1 to 100. */
+ core.double progress;
+ /**
+ * Required. The application state.
+ * Possible string values are:
+ * - "STATE_UNSPECIFIED" : Status is unspecified.
+ * - "NEW" : Status is NEW.
+ * - "NEW_SAVING" : Status is NEW_SAVING.
+ * - "SUBMITTED" : Status is SUBMITTED.
+ * - "ACCEPTED" : Status is ACCEPTED.
+ * - "RUNNING" : Status is RUNNING.
+ * - "FINISHED" : Status is FINISHED.
+ * - "FAILED" : Status is FAILED.
+ * - "KILLED" : Status is KILLED.
+ */
+ core.String state;
+ /**
+ * Optional. The HTTP URL of the ApplicationMaster, HistoryServer, or
+ * TimelineServer that provides application-specific information. The URL uses
+ * the internal hostname, and requires a proxy server for resolution and,
+ * possibly, access.
+ */
+ core.String trackingUrl;
+
+ YarnApplication();
+
+ YarnApplication.fromJson(core.Map _json) {
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("progress")) {
+ progress = _json["progress"];
+ }
+ if (_json.containsKey("state")) {
+ state = _json["state"];
+ }
+ if (_json.containsKey("trackingUrl")) {
+ trackingUrl = _json["trackingUrl"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (progress != null) {
+ _json["progress"] = progress;
+ }
+ if (state != null) {
+ _json["state"] = state;
+ }
+ if (trackingUrl != null) {
+ _json["trackingUrl"] = trackingUrl;
+ }
+ return _json;
+ }
+}
diff --git a/generated/googleapis/lib/deploymentmanager/v2.dart b/generated/googleapis/lib/deploymentmanager/v2.dart
index c85ffeb..97e762d 100644
--- a/generated/googleapis/lib/deploymentmanager/v2.dart
+++ b/generated/googleapis/lib/deploymentmanager/v2.dart
@@ -326,9 +326,9 @@
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [filter] - Sets a filter expression for filtering listed resources, in the
- * form filter={expression}. Your {expression} must be in the format:
- * field_name comparison_string literal_string.
+ * [filter] - Sets a filter {expression} for filtering listed resources. Your
+ * {expression} must be in the format: field_name comparison_string
+ * literal_string.
*
* The field_name is the name of the field you want to compare. Only atomic
* field types are supported (string, number, boolean). The comparison_string
@@ -339,7 +339,7 @@
* The literal value must match the entire field.
*
* For example, to filter for instances that do not have a name of
- * example-instance, you would use filter=name ne example-instance.
+ * example-instance, you would use name ne example-instance.
*
* You can filter on nested fields. For example, you could filter on instances
* that have set the scheduling.automaticRestart field to true. Use filtering
@@ -814,9 +814,9 @@
* [deployment] - The name of the deployment for this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [filter] - Sets a filter expression for filtering listed resources, in the
- * form filter={expression}. Your {expression} must be in the format:
- * field_name comparison_string literal_string.
+ * [filter] - Sets a filter {expression} for filtering listed resources. Your
+ * {expression} must be in the format: field_name comparison_string
+ * literal_string.
*
* The field_name is the name of the field you want to compare. Only atomic
* field types are supported (string, number, boolean). The comparison_string
@@ -827,7 +827,7 @@
* The literal value must match the entire field.
*
* For example, to filter for instances that do not have a name of
- * example-instance, you would use filter=name ne example-instance.
+ * example-instance, you would use name ne example-instance.
*
* You can filter on nested fields. For example, you could filter on instances
* that have set the scheduling.automaticRestart field to true. Use filtering
@@ -971,9 +971,9 @@
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [filter] - Sets a filter expression for filtering listed resources, in the
- * form filter={expression}. Your {expression} must be in the format:
- * field_name comparison_string literal_string.
+ * [filter] - Sets a filter {expression} for filtering listed resources. Your
+ * {expression} must be in the format: field_name comparison_string
+ * literal_string.
*
* The field_name is the name of the field you want to compare. Only atomic
* field types are supported (string, number, boolean). The comparison_string
@@ -984,7 +984,7 @@
* The literal value must match the entire field.
*
* For example, to filter for instances that do not have a name of
- * example-instance, you would use filter=name ne example-instance.
+ * example-instance, you would use name ne example-instance.
*
* You can filter on nested fields. For example, you could filter on instances
* that have set the scheduling.automaticRestart field to true. Use filtering
@@ -1134,9 +1134,9 @@
* [deployment] - The name of the deployment for this request.
* Value must have pattern "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?".
*
- * [filter] - Sets a filter expression for filtering listed resources, in the
- * form filter={expression}. Your {expression} must be in the format:
- * field_name comparison_string literal_string.
+ * [filter] - Sets a filter {expression} for filtering listed resources. Your
+ * {expression} must be in the format: field_name comparison_string
+ * literal_string.
*
* The field_name is the name of the field you want to compare. Only atomic
* field types are supported (string, number, boolean). The comparison_string
@@ -1147,7 +1147,7 @@
* The literal value must match the entire field.
*
* For example, to filter for instances that do not have a name of
- * example-instance, you would use filter=name ne example-instance.
+ * example-instance, you would use name ne example-instance.
*
* You can filter on nested fields. For example, you could filter on instances
* that have set the scheduling.automaticRestart field to true. Use filtering
@@ -1245,9 +1245,9 @@
* Value must have pattern
* "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))".
*
- * [filter] - Sets a filter expression for filtering listed resources, in the
- * form filter={expression}. Your {expression} must be in the format:
- * field_name comparison_string literal_string.
+ * [filter] - Sets a filter {expression} for filtering listed resources. Your
+ * {expression} must be in the format: field_name comparison_string
+ * literal_string.
*
* The field_name is the name of the field you want to compare. Only atomic
* field types are supported (string, number, boolean). The comparison_string
@@ -1258,7 +1258,7 @@
* The literal value must match the entire field.
*
* For example, to filter for instances that do not have a name of
- * example-instance, you would use filter=name ne example-instance.
+ * example-instance, you would use name ne example-instance.
*
* You can filter on nested fields. For example, you could filter on instances
* that have set the scheduling.automaticRestart field to true. Use filtering
@@ -1446,6 +1446,13 @@
/** Associates `members` with a `role`. */
class Binding {
/**
+ * The condition that is associated with this binding. NOTE: an unsatisfied
+ * condition will not allow user access via current binding. Different
+ * bindings, including their conditions, are examined independently. This
+ * field is GOOGLE_INTERNAL.
+ */
+ Expr condition;
+ /**
* Specifies the identities requesting access for a Cloud Platform resource.
* `members` can have the following values:
*
@@ -1466,6 +1473,8 @@
* * `group:{emailid}`: An email address that represents a Google group. For
* example, `admins@example.com`.
*
+ *
+ *
* * `domain:{domain}`: A Google Apps domain name that represents all the
* users of that domain. For example, `google.com` or `example.com`.
*/
@@ -1479,6 +1488,9 @@
Binding();
Binding.fromJson(core.Map _json) {
+ if (_json.containsKey("condition")) {
+ condition = new Expr.fromJson(_json["condition"]);
+ }
if (_json.containsKey("members")) {
members = _json["members"];
}
@@ -1489,6 +1501,9 @@
core.Map<core.String, core.Object> toJson() {
final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (condition != null) {
+ _json["condition"] = (condition).toJson();
+ }
if (members != null) {
_json["members"] = members;
}
@@ -1950,6 +1965,72 @@
}
}
+/**
+ * Represents an expression text. Example:
+ *
+ * title: "User account presence" description: "Determines whether the request
+ * has a user account" expression: "size(request.user) > 0"
+ */
+class Expr {
+ /**
+ * An optional description of the expression. This is a longer text which
+ * describes the expression, e.g. when hovered over it in a UI.
+ */
+ core.String description;
+ /**
+ * Textual representation of an expression in Common Expression Language
+ * syntax.
+ *
+ * The application context of the containing message determines which
+ * well-known feature set of CEL is supported.
+ */
+ core.String expression;
+ /**
+ * An optional string indicating the location of the expression for error
+ * reporting, e.g. a file name and a position in the file.
+ */
+ core.String location;
+ /**
+ * An optional title for the expression, i.e. a short string describing its
+ * purpose. This can be used e.g. in UIs which allow to enter the expression.
+ */
+ core.String title;
+
+ Expr();
+
+ Expr.fromJson(core.Map _json) {
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("expression")) {
+ expression = _json["expression"];
+ }
+ if (_json.containsKey("location")) {
+ location = _json["location"];
+ }
+ if (_json.containsKey("title")) {
+ title = _json["title"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (description != null) {
+ _json["description"] = description;
+ }
+ if (expression != null) {
+ _json["expression"] = expression;
+ }
+ if (location != null) {
+ _json["location"] = location;
+ }
+ if (title != null) {
+ _json["title"] = title;
+ }
+ return _json;
+ }
+}
+
class ImportFile {
/** The contents of the file. */
core.String content;
@@ -1981,12 +2062,17 @@
/** Specifies what kind of log the caller must write */
class LogConfig {
+ /** Cloud audit options. */
+ LogConfigCloudAuditOptions cloudAudit;
/** Counter options. */
LogConfigCounterOptions counter;
LogConfig();
LogConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("cloudAudit")) {
+ cloudAudit = new LogConfigCloudAuditOptions.fromJson(_json["cloudAudit"]);
+ }
if (_json.containsKey("counter")) {
counter = new LogConfigCounterOptions.fromJson(_json["counter"]);
}
@@ -1994,6 +2080,9 @@
core.Map<core.String, core.Object> toJson() {
final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (cloudAudit != null) {
+ _json["cloudAudit"] = (cloudAudit).toJson();
+ }
if (counter != null) {
_json["counter"] = (counter).toJson();
}
@@ -2001,6 +2090,28 @@
}
}
+/** Write a Cloud Audit log */
+class LogConfigCloudAuditOptions {
+ /** The log_name to populate in the Cloud Audit Record. */
+ core.String logName;
+
+ LogConfigCloudAuditOptions();
+
+ LogConfigCloudAuditOptions.fromJson(core.Map _json) {
+ if (_json.containsKey("logName")) {
+ logName = _json["logName"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (logName != null) {
+ _json["logName"] = logName;
+ }
+ return _json;
+ }
+}
+
/** Options for counters */
class LogConfigCounterOptions {
/** The field value to attribute. */
@@ -2616,9 +2727,8 @@
/** Specifies cloud audit logging configuration for this policy. */
core.List<AuditConfig> auditConfigs;
/**
- * Associates a list of `members` to a `role`. Multiple `bindings` must not be
- * specified for the same `role`. `bindings` with no members will result in an
- * error.
+ * Associates a list of `members` to a `role`. `bindings` with no members will
+ * result in an error.
*/
core.List<Binding> bindings;
/**
diff --git a/generated/googleapis/lib/doubleclickbidmanager/v1.dart b/generated/googleapis/lib/doubleclickbidmanager/v1.dart
index 440de1f..488c378 100644
--- a/generated/googleapis/lib/doubleclickbidmanager/v1.dart
+++ b/generated/googleapis/lib/doubleclickbidmanager/v1.dart
@@ -487,8 +487,8 @@
/** Download line items response. */
class DownloadLineItemsResponse {
/**
- * Retrieved line items in CSV format. Refer to Entity Write File Format or
- * Structured Data File Format for more information on file formats.
+ * Retrieved line items in CSV format. For more information about file
+ * formats, see Entity Write File Format.
*/
core.String lineItems;
diff --git a/generated/googleapis/lib/drive/v2.dart b/generated/googleapis/lib/drive/v2.dart
index 51a3651..329af8a 100644
--- a/generated/googleapis/lib/drive/v2.dart
+++ b/generated/googleapis/lib/drive/v2.dart
@@ -1304,7 +1304,7 @@
/**
* Exports a Google Doc to the requested MIME type and returns the exported
- * content.
+ * content. Please note that the exported content is limited to 10MB.
*
* Request parameters:
*
diff --git a/generated/googleapis/lib/drive/v3.dart b/generated/googleapis/lib/drive/v3.dart
index 476e6f8..7664997 100644
--- a/generated/googleapis/lib/drive/v3.dart
+++ b/generated/googleapis/lib/drive/v3.dart
@@ -920,7 +920,7 @@
/**
* Exports a Google Doc to the requested MIME type and returns the exported
- * content.
+ * content. Please note that the exported content is limited to 10MB.
*
* Request parameters:
*
diff --git a/generated/googleapis/lib/firebaserules/v1.dart b/generated/googleapis/lib/firebaserules/v1.dart
index 12b9724..2201def 100644
--- a/generated/googleapis/lib/firebaserules/v1.dart
+++ b/generated/googleapis/lib/firebaserules/v1.dart
@@ -292,14 +292,6 @@
* Format: `projects/{project_id}`
* Value must have pattern "^projects/[^/]+$".
*
- * [pageToken] - Next page token for the next batch of `Release` instances.
- *
- * [pageSize] - Page size to load. Maximum of 100. Defaults to 10.
- * Note: `page_size` is just a hint and the service may choose to load fewer
- * than `page_size` results due to the size of the output. To traverse all of
- * the releases, the caller should iterate until the `page_token` on the
- * response is empty.
- *
* [filter] - `Release` filter. The list method supports filters with
* restrictions on the
* `Release.name`, `Release.ruleset_name`, and `Release.test_suite_name`.
@@ -326,6 +318,14 @@
* relative to the project. Fully qualified prefixed may also be used. e.g.
* `test_suite_name=projects/foo/testsuites/uuid1`
*
+ * [pageToken] - Next page token for the next batch of `Release` instances.
+ *
+ * [pageSize] - Page size to load. Maximum of 100. Defaults to 10.
+ * Note: `page_size` is just a hint and the service may choose to load fewer
+ * than `page_size` results due to the size of the output. To traverse all of
+ * the releases, the caller should iterate until the `page_token` on the
+ * response is empty.
+ *
* Completes with a [ListReleasesResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -334,7 +334,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListReleasesResponse> list(core.String name, {core.String pageToken, core.int pageSize, core.String filter}) {
+ async.Future<ListReleasesResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -345,15 +345,15 @@
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}"];
}
- if (filter != null) {
- _queryParams["filter"] = [filter];
- }
_url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/releases';
@@ -600,14 +600,6 @@
* Format: `projects/{project_id}`
* Value must have pattern "^projects/[^/]+$".
*
- * [pageToken] - Next page token for loading the next batch of `Ruleset`
- * instances.
- *
- * [pageSize] - Page size to load. Maximum of 100. Defaults to 10.
- * Note: `page_size` is just a hint and the service may choose to load less
- * than `page_size` due to the size of the output. To traverse all of the
- * releases, caller should iterate until the `page_token` is empty.
- *
* [filter] - `Ruleset` filter. The list method supports filters with
* restrictions on
* `Ruleset.name`.
@@ -617,6 +609,14 @@
*
* Example: `create_time > date("2017-01-01") AND name=UUID-*`
*
+ * [pageToken] - Next page token for loading the next batch of `Ruleset`
+ * instances.
+ *
+ * [pageSize] - Page size to load. Maximum of 100. Defaults to 10.
+ * Note: `page_size` is just a hint and the service may choose to load less
+ * than `page_size` due to the size of the output. To traverse all of the
+ * releases, caller should iterate until the `page_token` is empty.
+ *
* Completes with a [ListRulesetsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -625,7 +625,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListRulesetsResponse> list(core.String name, {core.String pageToken, core.int pageSize, core.String filter}) {
+ async.Future<ListRulesetsResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -636,15 +636,15 @@
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}"];
}
- if (filter != null) {
- _queryParams["filter"] = [filter];
- }
_url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/rulesets';
diff --git a/generated/googleapis/lib/genomics/v1.dart b/generated/googleapis/lib/genomics/v1.dart
index 26b7531..886cefa 100644
--- a/generated/googleapis/lib/genomics/v1.dart
+++ b/generated/googleapis/lib/genomics/v1.dart
@@ -1036,17 +1036,17 @@
*
* Request parameters:
*
+ * [pageToken] - The continuation token, which is used to page through large
+ * result sets.
+ * To get the next page of results, set this parameter to the value of
+ * `nextPageToken` from the previous response.
+ *
* [pageSize] - The maximum number of results to return in a single page. If
* unspecified,
* defaults to 50. The maximum value is 1024.
*
* [projectId] - Required. The Google Cloud project ID to list datasets for.
*
- * [pageToken] - The continuation token, which is used to page through large
- * result sets.
- * To get the next page of results, set this parameter to the value of
- * `nextPageToken` from the previous response.
- *
* Completes with a [ListDatasetsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1055,7 +1055,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListDatasetsResponse> list({core.int pageSize, core.String projectId, core.String pageToken}) {
+ async.Future<ListDatasetsResponse> list({core.String pageToken, core.int pageSize, core.String projectId}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1063,15 +1063,15 @@
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
if (projectId != null) {
_queryParams["projectId"] = [projectId];
}
- if (pageToken != null) {
- _queryParams["pageToken"] = [pageToken];
- }
_url = 'v1/datasets';
@@ -1410,6 +1410,12 @@
* [name] - The name of the operation's parent resource.
* Value must have pattern "^operations$".
*
+ * [pageToken] - The standard list page token.
+ *
+ * [pageSize] - The maximum number of results to return. If unspecified,
+ * defaults to
+ * 256. The maximum value is 2048.
+ *
* [filter] - A string for filtering Operations.
* The following filter fields are supported:
*
@@ -1430,12 +1436,6 @@
* * `projectId = my-project AND labels.color = *`
* * `projectId = my-project AND labels.color = red`
*
- * [pageToken] - The standard list page token.
- *
- * [pageSize] - The maximum number of results to return. If unspecified,
- * defaults to
- * 256. The maximum value is 2048.
- *
* Completes with a [ListOperationsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1444,7 +1444,7 @@
* 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 name, {core.String filter, core.String pageToken, core.int pageSize}) {
+ async.Future<ListOperationsResponse> list(core.String name, {core.String pageToken, core.int pageSize, core.String filter}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1455,15 +1455,15 @@
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}"];
}
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
_url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
@@ -1826,6 +1826,10 @@
* [readGroupSetId] - Required. The ID of the read group set over which
* coverage is requested.
*
+ * [referenceName] - The name of the reference to query, within the reference
+ * set associated
+ * with this query. Optional.
+ *
* [end] - The end position of the range on the reference, 0-based exclusive.
* If
* specified, `referenceName` must also be specified. If unset or 0, defaults
@@ -1853,10 +1857,6 @@
* `bucketWidth` is currently 2048 base pairs; this is subject to
* change.
*
- * [referenceName] - The name of the reference to query, within the reference
- * set associated
- * with this query. Optional.
- *
* Completes with a [ListCoverageBucketsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1865,7 +1865,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListCoverageBucketsResponse> list(core.String readGroupSetId, {core.String end, core.String pageToken, core.int pageSize, core.String start, core.String targetBucketWidth, core.String referenceName}) {
+ async.Future<ListCoverageBucketsResponse> list(core.String readGroupSetId, {core.String referenceName, core.String end, core.String pageToken, core.int pageSize, core.String start, core.String targetBucketWidth}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1876,6 +1876,9 @@
if (readGroupSetId == null) {
throw new core.ArgumentError("Parameter readGroupSetId is required.");
}
+ if (referenceName != null) {
+ _queryParams["referenceName"] = [referenceName];
+ }
if (end != null) {
_queryParams["end"] = [end];
}
@@ -1891,9 +1894,6 @@
if (targetBucketWidth != null) {
_queryParams["targetBucketWidth"] = [targetBucketWidth];
}
- if (referenceName != null) {
- _queryParams["referenceName"] = [referenceName];
- }
_url = 'v1/readgroupsets/' + commons.Escaper.ecapeVariable('$readGroupSetId') + '/coveragebuckets';
@@ -2104,6 +2104,11 @@
*
* [referenceId] - The ID of the reference.
*
+ * [pageToken] - The continuation token, which is used to page through large
+ * result sets.
+ * To get the next page of results, set this parameter to the value of
+ * `nextPageToken` from the previous response.
+ *
* [pageSize] - The maximum number of bases to return in a single page. If
* unspecified,
* defaults to 200Kbp (kilo base pairs). The maximum value is 10Mbp (mega base
@@ -2115,11 +2120,6 @@
* the length
* of this reference.
*
- * [pageToken] - The continuation token, which is used to page through large
- * result sets.
- * To get the next page of results, set this parameter to the value of
- * `nextPageToken` from the previous response.
- *
* Completes with a [ListBasesResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -2128,7 +2128,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListBasesResponse> list(core.String referenceId, {core.int pageSize, core.String start, core.String end, core.String pageToken}) {
+ async.Future<ListBasesResponse> list(core.String referenceId, {core.String pageToken, core.int pageSize, core.String start, core.String end}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -2139,6 +2139,9 @@
if (referenceId == null) {
throw new core.ArgumentError("Parameter referenceId is required.");
}
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
@@ -2148,9 +2151,6 @@
if (end != null) {
_queryParams["end"] = [end];
}
- if (pageToken != null) {
- _queryParams["pageToken"] = [pageToken];
- }
_url = 'v1/references/' + commons.Escaper.ecapeVariable('$referenceId') + '/bases';
@@ -6910,8 +6910,8 @@
/** 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 will be a
- * common set of message types for APIs to use.
+ * 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.
diff --git a/generated/googleapis/lib/iam/v1.dart b/generated/googleapis/lib/iam/v1.dart
index 8111990..e923a7b 100644
--- a/generated/googleapis/lib/iam/v1.dart
+++ b/generated/googleapis/lib/iam/v1.dart
@@ -1162,7 +1162,6 @@
class Policy {
/**
* Associates a list of `members` to a `role`.
- * Multiple `bindings` must not be specified for the same `role`.
* `bindings` with no members will result in an error.
*/
core.List<Binding> bindings;
@@ -1515,7 +1514,8 @@
core.String name;
/**
* The private key data. Only provided in `CreateServiceAccountKey`
- * responses.
+ * responses. Make sure to keep the private key data secure because it
+ * allows for the assertion of the service account identity.
*/
core.String privateKeyData;
core.List<core.int> get privateKeyDataAsBytes {
diff --git a/generated/googleapis/lib/kgsearch/v1.dart b/generated/googleapis/lib/kgsearch/v1.dart
index ce51ade..5ba8ef2 100644
--- a/generated/googleapis/lib/kgsearch/v1.dart
+++ b/generated/googleapis/lib/kgsearch/v1.dart
@@ -39,16 +39,6 @@
*
* Request parameters:
*
- * [types] - Restricts returned entities with these types, e.g. Person
- * (as defined in http://schema.org/Person). If multiple types are specified,
- * returned entities will contain one or more of these types.
- *
- * [indent] - Enables indenting of json results.
- *
- * [languages] - The list of language codes (defined in ISO 693) to run the
- * query with,
- * e.g. 'en'.
- *
* [ids] - The list of entity id to be used for search instead of query
* string.
* To specify multiple ids in the HTTP request, repeat the parameter in the
@@ -60,6 +50,16 @@
*
* [query] - The literal query string for search.
*
+ * [types] - Restricts returned entities with these types, e.g. Person
+ * (as defined in http://schema.org/Person). If multiple types are specified,
+ * returned entities will contain one or more of these types.
+ *
+ * [indent] - Enables indenting of json results.
+ *
+ * [languages] - The list of language codes (defined in ISO 693) to run the
+ * query with,
+ * e.g. 'en'.
+ *
* Completes with a [SearchResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -68,7 +68,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<SearchResponse> search({core.List<core.String> types, core.bool indent, core.List<core.String> languages, core.List<core.String> ids, core.int limit, core.bool prefix, core.String query}) {
+ async.Future<SearchResponse> search({core.List<core.String> ids, core.int limit, core.bool prefix, core.String query, core.List<core.String> types, core.bool indent, core.List<core.String> languages}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -76,15 +76,6 @@
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (types != null) {
- _queryParams["types"] = types;
- }
- if (indent != null) {
- _queryParams["indent"] = ["${indent}"];
- }
- if (languages != null) {
- _queryParams["languages"] = languages;
- }
if (ids != null) {
_queryParams["ids"] = ids;
}
@@ -97,6 +88,15 @@
if (query != null) {
_queryParams["query"] = [query];
}
+ if (types != null) {
+ _queryParams["types"] = types;
+ }
+ if (indent != null) {
+ _queryParams["indent"] = ["${indent}"];
+ }
+ if (languages != null) {
+ _queryParams["languages"] = languages;
+ }
_url = 'v1/entities:search';
diff --git a/generated/googleapis/lib/logging/v2.dart b/generated/googleapis/lib/logging/v2.dart
index 7365d67..3ae50ea 100644
--- a/generated/googleapis/lib/logging/v2.dart
+++ b/generated/googleapis/lib/logging/v2.dart
@@ -1363,15 +1363,15 @@
*
* Value must have pattern "^organizations/[^/]+$".
*
- * [pageSize] - Optional. The maximum number of results to return from this
- * request. Non-positive values are ignored. The presence of nextPageToken in
- * the response indicates that more results might be available.
- *
* [pageToken] - Optional. If present, then retrieve the next batch of results
* from the preceding call to this method. pageToken must be the value of
* nextPageToken from the previous response. The values of other method
* parameters should be identical to those in the previous call.
*
+ * [pageSize] - Optional. The maximum number of results to return from this
+ * request. Non-positive values are ignored. The presence of nextPageToken in
+ * the response indicates that more results might be available.
+ *
* Completes with a [ListSinksResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1380,7 +1380,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListSinksResponse> list(core.String parent, {core.int pageSize, core.String pageToken}) {
+ async.Future<ListSinksResponse> list(core.String parent, {core.String pageToken, core.int pageSize}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1391,12 +1391,12 @@
if (parent == null) {
throw new core.ArgumentError("Parameter parent is required.");
}
- if (pageSize != null) {
- _queryParams["pageSize"] = ["${pageSize}"];
- }
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
+ if (pageSize != null) {
+ _queryParams["pageSize"] = ["${pageSize}"];
+ }
_url = 'v2/' + commons.Escaper.ecapeVariableReserved('$parent') + '/sinks';
@@ -1762,15 +1762,15 @@
*
* Value must have pattern "^projects/[^/]+$".
*
+ * [pageSize] - Optional. The maximum number of results to return from this
+ * request. Non-positive values are ignored. The presence of nextPageToken in
+ * the response indicates that more results might be available.
+ *
* [pageToken] - Optional. If present, then retrieve the next batch of results
* from the preceding call to this method. pageToken must be the value of
* nextPageToken from the previous response. The values of other method
* parameters should be identical to those in the previous call.
*
- * [pageSize] - Optional. The maximum number of results to return from this
- * request. Non-positive values are ignored. The presence of nextPageToken in
- * the response indicates that more results might be available.
- *
* Completes with a [ListLogMetricsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1779,7 +1779,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListLogMetricsResponse> list(core.String parent, {core.String pageToken, core.int pageSize}) {
+ async.Future<ListLogMetricsResponse> list(core.String parent, {core.int pageSize, core.String pageToken}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1790,12 +1790,12 @@
if (parent == null) {
throw new core.ArgumentError("Parameter parent is required.");
}
- if (pageToken != null) {
- _queryParams["pageToken"] = [pageToken];
- }
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
_url = 'v2/' + commons.Escaper.ecapeVariableReserved('$parent') + '/metrics';
diff --git a/generated/googleapis/lib/manufacturers/v1.dart b/generated/googleapis/lib/manufacturers/v1.dart
index 110e355..98dc14f 100644
--- a/generated/googleapis/lib/manufacturers/v1.dart
+++ b/generated/googleapis/lib/manufacturers/v1.dart
@@ -46,9 +46,71 @@
_requester = client;
/**
+ * Deletes the product from a Manufacturer Center account.
+ *
+ * Request parameters:
+ *
+ * [parent] - Parent ID in the format `accounts/{account_id}`.
+ *
+ * `account_id` - The ID of the Manufacturer Center account.
+ * Value must have pattern "^accounts/[^/]+$".
+ *
+ * [name] - Name in the format
+ * `{target_country}:{content_language}:{product_id}`.
+ *
+ * `target_country` - The target country of the product as a CLDR territory
+ * code (for example, US).
+ *
+ * `content_language` - The content language of the product as a two-letter
+ * ISO 639-1 language code (for example, en).
+ *
+ * `product_id` - The ID of the product. For more information, see
+ * https://support.google.com/manufacturers/answer/6124116#id.
+ * Value must have pattern "^[^/]+$".
+ *
+ * Completes with a [Empty].
+ *
+ * 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<Empty> delete(core.String parent, 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 (parent == null) {
+ throw new core.ArgumentError("Parameter parent is required.");
+ }
+ if (name == null) {
+ throw new core.ArgumentError("Parameter name is required.");
+ }
+
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/products/' + commons.Escaper.ecapeVariableReserved('$name');
+
+ var _response = _requester.request(_url,
+ "DELETE",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Empty.fromJson(data));
+ }
+
+ /**
* Gets the product from a Manufacturer Center account, including product
* issues.
*
+ * A recently updated product takes some time to be processed before any
+ * changes are visible. While some issues may be available once the product
+ * has been processed, other issues may take days to appear.
+ *
* Request parameters:
*
* [parent] - Parent ID in the format `accounts/{account_id}`.
@@ -158,6 +220,80 @@
return _response.then((data) => new ListProductsResponse.fromJson(data));
}
+ /**
+ * Inserts or updates the product in a Manufacturer Center account.
+ *
+ * The checks at upload time are minimal. All required attributes need to be
+ * present for a product to be valid. Issues may show up later
+ * after the API has accepted an update for a product and it is possible to
+ * overwrite an existing valid product with an invalid product. To detect
+ * this, you should retrieve the product and check it for issues once the
+ * updated version is available.
+ *
+ * Inserted or updated products first need to be processed before they can be
+ * retrieved. Until then, new products will be unavailable, and retrieval
+ * of updated products will return the original state of the product.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [parent] - Parent ID in the format `accounts/{account_id}`.
+ *
+ * `account_id` - The ID of the Manufacturer Center account.
+ * Value must have pattern "^accounts/[^/]+$".
+ *
+ * [name] - Name in the format
+ * `{target_country}:{content_language}:{product_id}`.
+ *
+ * `target_country` - The target country of the product as a CLDR territory
+ * code (for example, US).
+ *
+ * `content_language` - The content language of the product as a two-letter
+ * ISO 639-1 language code (for example, en).
+ *
+ * `product_id` - The ID of the product. For more information, see
+ * https://support.google.com/manufacturers/answer/6124116#id.
+ * Value must have pattern "^[^/]+$".
+ *
+ * Completes with a [Product].
+ *
+ * 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<Product> update(Product request, core.String parent, 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 (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (parent == null) {
+ throw new core.ArgumentError("Parameter parent is required.");
+ }
+ if (name == null) {
+ throw new core.ArgumentError("Parameter name is required.");
+ }
+
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/products/' + commons.Escaper.ecapeVariableReserved('$name');
+
+ var _response = _requester.request(_url,
+ "PUT",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Product.fromJson(data));
+ }
+
}
@@ -599,6 +735,30 @@
}
/**
+ * A generic empty message that you can re-use to avoid defining duplicated
+ * empty messages in your APIs. A typical example is to use it as the request
+ * or the response type of an API method. For instance:
+ *
+ * service Foo {
+ * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+ * }
+ *
+ * The JSON representation for `Empty` is empty JSON object `{}`.
+ */
+class Empty {
+
+ Empty();
+
+ Empty.fromJson(core.Map _json) {
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ return _json;
+ }
+}
+
+/**
* A feature description of the product. For more information, see
* https://support.google.com/manufacturers/answer/6124116#featuredesc.
*/
diff --git a/generated/googleapis/lib/ml/v1.dart b/generated/googleapis/lib/ml/v1.dart
index ea6b7f1..2cabb42 100644
--- a/generated/googleapis/lib/ml/v1.dart
+++ b/generated/googleapis/lib/ml/v1.dart
@@ -48,8 +48,6 @@
* Request parameters:
*
* [name] - Required. The project name.
- *
- * Authorization: requires `Viewer` role on the specified project.
* Value must have pattern "^projects/[^/]+$".
*
* Completes with a [GoogleCloudMlV1GetConfigResponse].
@@ -95,7 +93,7 @@
*
* [name] - Required. The resource name of a model or a version.
*
- * Authorization: requires `Viewer` role on the parent project.
+ * Authorization: requires the `predict` permission on the specified resource.
* Value must have pattern "^projects/.+$".
*
* Completes with a [GoogleApiHttpBody].
@@ -150,8 +148,6 @@
* Request parameters:
*
* [name] - Required. The name of the job to cancel.
- *
- * Authorization: requires `Editor` role on the parent project.
* Value must have pattern "^projects/[^/]+/jobs/[^/]+$".
*
* Completes with a [GoogleProtobufEmpty].
@@ -197,8 +193,6 @@
* Request parameters:
*
* [parent] - Required. The project name.
- *
- * Authorization: requires `Editor` role on the specified project.
* Value must have pattern "^projects/[^/]+$".
*
* Completes with a [GoogleCloudMlV1Job].
@@ -242,8 +236,6 @@
* Request parameters:
*
* [name] - Required. The name of the job to get the description of.
- *
- * Authorization: requires `Viewer` role on the parent project.
* Value must have pattern "^projects/[^/]+/jobs/[^/]+$".
*
* Completes with a [GoogleCloudMlV1Job].
@@ -284,12 +276,8 @@
* Request parameters:
*
* [parent] - Required. The name of the project for which to list jobs.
- *
- * Authorization: requires `Viewer` role on the specified project.
* Value must have pattern "^projects/[^/]+$".
*
- * [filter] - Optional. Specifies the subset of jobs to retrieve.
- *
* [pageToken] - Optional. A page token to request the next page of results.
*
* You get the token from the `next_page_token` field of the response from
@@ -302,6 +290,8 @@
*
* The default value is 20, and the maximum page size is 100.
*
+ * [filter] - Optional. Specifies the subset of jobs to retrieve.
+ *
* Completes with a [GoogleCloudMlV1ListJobsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -310,7 +300,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<GoogleCloudMlV1ListJobsResponse> list(core.String parent, {core.String filter, core.String pageToken, core.int pageSize}) {
+ async.Future<GoogleCloudMlV1ListJobsResponse> list(core.String parent, {core.String pageToken, core.int pageSize, core.String filter}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -321,15 +311,15 @@
if (parent == null) {
throw new core.ArgumentError("Parameter parent is required.");
}
- if (filter != null) {
- _queryParams["filter"] = [filter];
- }
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
_url = 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/jobs';
@@ -366,8 +356,6 @@
* Request parameters:
*
* [parent] - Required. The project name.
- *
- * Authorization: requires `Editor` role on the specified project.
* Value must have pattern "^projects/[^/]+$".
*
* Completes with a [GoogleCloudMlV1Model].
@@ -415,8 +403,6 @@
* Request parameters:
*
* [name] - Required. The name of the model.
- *
- * Authorization: requires `Editor` role on the parent project.
* Value must have pattern "^projects/[^/]+/models/[^/]+$".
*
* Completes with a [GoogleLongrunningOperation].
@@ -459,8 +445,6 @@
* Request parameters:
*
* [name] - Required. The name of the model.
- *
- * Authorization: requires `Viewer` role on the parent project.
* Value must have pattern "^projects/[^/]+/models/[^/]+$".
*
* Completes with a [GoogleCloudMlV1Model].
@@ -496,6 +480,50 @@
}
/**
+ * Gets the access control policy for a resource.
+ * Returns an empty policy if the resource exists and does not have a policy
+ * set.
+ *
+ * Request parameters:
+ *
+ * [resource] - REQUIRED: The resource for which the policy is being
+ * requested.
+ * See the operation documentation for the appropriate value for this field.
+ * Value must have pattern "^projects/[^/]+/models/[^/]+$".
+ *
+ * Completes with a [GoogleIamV1Policy].
+ *
+ * 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<GoogleIamV1Policy> getIamPolicy(core.String resource) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (resource == null) {
+ throw new core.ArgumentError("Parameter resource is required.");
+ }
+
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getIamPolicy';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new GoogleIamV1Policy.fromJson(data));
+ }
+
+ /**
* Lists the models in a project.
*
* Each project can contain multiple models, and each model can have multiple
@@ -504,8 +532,6 @@
* Request parameters:
*
* [parent] - Required. The name of the project whose models are to be listed.
- *
- * Authorization: requires `Viewer` role on the specified project.
* Value must have pattern "^projects/[^/]+$".
*
* [pageToken] - Optional. A page token to request the next page of results.
@@ -558,6 +584,107 @@
return _response.then((data) => new GoogleCloudMlV1ListModelsResponse.fromJson(data));
}
+ /**
+ * Sets the access control policy on the specified resource. Replaces any
+ * existing policy.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [resource] - REQUIRED: The resource for which the policy is being
+ * specified.
+ * See the operation documentation for the appropriate value for this field.
+ * Value must have pattern "^projects/[^/]+/models/[^/]+$".
+ *
+ * Completes with a [GoogleIamV1Policy].
+ *
+ * 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<GoogleIamV1Policy> setIamPolicy(GoogleIamV1SetIamPolicyRequest request, core.String resource) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (resource == null) {
+ throw new core.ArgumentError("Parameter resource is required.");
+ }
+
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':setIamPolicy';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new GoogleIamV1Policy.fromJson(data));
+ }
+
+ /**
+ * Returns permissions that a caller has on the specified resource.
+ * If the resource does not exist, this will return an empty set of
+ * permissions, not a NOT_FOUND error.
+ *
+ * Note: This operation is designed to be used for building permission-aware
+ * UIs and command-line tools, not for authorization checking. This operation
+ * may "fail open" without warning.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [resource] - REQUIRED: The resource for which the policy detail is being
+ * requested.
+ * See the operation documentation for the appropriate value for this field.
+ * Value must have pattern "^projects/[^/]+/models/[^/]+$".
+ *
+ * Completes with a [GoogleIamV1TestIamPermissionsResponse].
+ *
+ * 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<GoogleIamV1TestIamPermissionsResponse> testIamPermissions(GoogleIamV1TestIamPermissionsRequest request, core.String resource) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (resource == null) {
+ throw new core.ArgumentError("Parameter resource is required.");
+ }
+
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':testIamPermissions';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new GoogleIamV1TestIamPermissionsResponse.fromJson(data));
+ }
+
}
@@ -582,8 +709,6 @@
* Request parameters:
*
* [parent] - Required. The name of the model.
- *
- * Authorization: requires `Editor` role on the parent project.
* Value must have pattern "^projects/[^/]+/models/[^/]+$".
*
* Completes with a [GoogleLongrunningOperation].
@@ -636,8 +761,6 @@
* the
* versions of a model by calling
* [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list).
- *
- * Authorization: requires `Editor` role on the parent project.
* Value must have pattern "^projects/[^/]+/models/[^/]+/versions/[^/]+$".
*
* Completes with a [GoogleLongrunningOperation].
@@ -683,8 +806,6 @@
* Request parameters:
*
* [name] - Required. The name of the version.
- *
- * Authorization: requires `Viewer` role on the parent project.
* Value must have pattern "^projects/[^/]+/models/[^/]+/versions/[^/]+$".
*
* Completes with a [GoogleCloudMlV1Version].
@@ -729,8 +850,6 @@
* Request parameters:
*
* [parent] - Required. The name of the model for which to list the version.
- *
- * Authorization: requires `Viewer` role on the parent project.
* Value must have pattern "^projects/[^/]+/models/[^/]+$".
*
* [pageToken] - Optional. A page token to request the next page of results.
@@ -802,7 +921,8 @@
* can get the names of all the versions of a model by calling
* [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list).
*
- * Authorization: requires `Editor` role on the parent project.
+ * Authorization: `ml.models.update` permission is required on the parent
+ * model.
* Value must have pattern "^projects/[^/]+/models/[^/]+/versions/[^/]+$".
*
* Completes with a [GoogleCloudMlV1Version].
@@ -2638,6 +2758,8 @@
* Optional. The description specified for the version when it was created.
*/
core.String description;
+ /** Output only. The details of a failure or a cancellation. */
+ core.String errorMessage;
/**
* Output only. If true, this version will be used to handle prediction
* requests that do not specify a version.
@@ -2668,6 +2790,16 @@
* If not set, Google Cloud ML will choose a version.
*/
core.String runtimeVersion;
+ /**
+ * Output only. The state of a version.
+ * Possible string values are:
+ * - "UNKNOWN" : The version state is unspecified.
+ * - "READY" : The version is ready for prediction.
+ * - "CREATING" : The version is still in the process of creation.
+ * - "FAILED" : The version failed to be created, possibly cancelled.
+ * `error_message` should contain the details of the failure.
+ */
+ core.String state;
GoogleCloudMlV1Version();
@@ -2684,6 +2816,9 @@
if (_json.containsKey("description")) {
description = _json["description"];
}
+ if (_json.containsKey("errorMessage")) {
+ errorMessage = _json["errorMessage"];
+ }
if (_json.containsKey("isDefault")) {
isDefault = _json["isDefault"];
}
@@ -2699,6 +2834,9 @@
if (_json.containsKey("runtimeVersion")) {
runtimeVersion = _json["runtimeVersion"];
}
+ if (_json.containsKey("state")) {
+ state = _json["state"];
+ }
}
core.Map<core.String, core.Object> toJson() {
@@ -2715,6 +2853,9 @@
if (description != null) {
_json["description"] = description;
}
+ if (errorMessage != null) {
+ _json["errorMessage"] = errorMessage;
+ }
if (isDefault != null) {
_json["isDefault"] = isDefault;
}
@@ -2730,6 +2871,9 @@
if (runtimeVersion != null) {
_json["runtimeVersion"] = runtimeVersion;
}
+ if (state != null) {
+ _json["state"] = state;
+ }
return _json;
}
}
@@ -2916,6 +3060,8 @@
* Optional. The description specified for the version when it was created.
*/
core.String description;
+ /** Output only. The details of a failure or a cancellation. */
+ core.String errorMessage;
/**
* Output only. If true, this version will be used to handle prediction
* requests that do not specify a version.
@@ -2946,6 +3092,16 @@
* If not set, Google Cloud ML will choose a version.
*/
core.String runtimeVersion;
+ /**
+ * Output only. The state of a version.
+ * Possible string values are:
+ * - "UNKNOWN" : / The version state is unspecified.
+ * - "READY" : The version is ready for prediction.
+ * - "CREATING" : The version is still in the process of creation.
+ * - "FAILED" : The version failed to be created, possibly cancelled.
+ * `error_message` should contain the details of the failure.
+ */
+ core.String state;
GoogleCloudMlV1beta1Version();
@@ -2962,6 +3118,9 @@
if (_json.containsKey("description")) {
description = _json["description"];
}
+ if (_json.containsKey("errorMessage")) {
+ errorMessage = _json["errorMessage"];
+ }
if (_json.containsKey("isDefault")) {
isDefault = _json["isDefault"];
}
@@ -2977,6 +3136,9 @@
if (_json.containsKey("runtimeVersion")) {
runtimeVersion = _json["runtimeVersion"];
}
+ if (_json.containsKey("state")) {
+ state = _json["state"];
+ }
}
core.Map<core.String, core.Object> toJson() {
@@ -2993,6 +3155,9 @@
if (description != null) {
_json["description"] = description;
}
+ if (errorMessage != null) {
+ _json["errorMessage"] = errorMessage;
+ }
if (isDefault != null) {
_json["isDefault"] = isDefault;
}
@@ -3008,6 +3173,795 @@
if (runtimeVersion != null) {
_json["runtimeVersion"] = runtimeVersion;
}
+ if (state != null) {
+ _json["state"] = state;
+ }
+ return _json;
+ }
+}
+
+/** Write a Cloud Audit log */
+class GoogleIamV1LogConfigCloudAuditOptions {
+ /**
+ * The log_name to populate in the Cloud Audit Record.
+ * Possible string values are:
+ * - "UNSPECIFIED_LOG_NAME" : Default. Should not be used.
+ * - "ADMIN_ACTIVITY" : Corresponds to "cloudaudit.googleapis.com/activity"
+ * - "DATA_ACCESS" : Corresponds to "cloudaudit.googleapis.com/data_access"
+ */
+ core.String logName;
+
+ GoogleIamV1LogConfigCloudAuditOptions();
+
+ GoogleIamV1LogConfigCloudAuditOptions.fromJson(core.Map _json) {
+ if (_json.containsKey("logName")) {
+ logName = _json["logName"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (logName != null) {
+ _json["logName"] = logName;
+ }
+ return _json;
+ }
+}
+
+/** Options for counters */
+class GoogleIamV1LogConfigCounterOptions {
+ /** The field value to attribute. */
+ core.String field;
+ /** The metric to update. */
+ core.String metric;
+
+ GoogleIamV1LogConfigCounterOptions();
+
+ GoogleIamV1LogConfigCounterOptions.fromJson(core.Map _json) {
+ if (_json.containsKey("field")) {
+ field = _json["field"];
+ }
+ if (_json.containsKey("metric")) {
+ metric = _json["metric"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (field != null) {
+ _json["field"] = field;
+ }
+ if (metric != null) {
+ _json["metric"] = metric;
+ }
+ return _json;
+ }
+}
+
+/** Write a Data Access (Gin) log */
+class GoogleIamV1LogConfigDataAccessOptions {
+
+ GoogleIamV1LogConfigDataAccessOptions();
+
+ GoogleIamV1LogConfigDataAccessOptions.fromJson(core.Map _json) {
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ return _json;
+ }
+}
+
+/**
+ * Specifies the audit configuration for a service.
+ * The configuration determines which permission types are logged, and what
+ * identities, if any, are exempted from logging.
+ * An AuditConfig must have one or more AuditLogConfigs.
+ *
+ * If there are AuditConfigs for both `allServices` and a specific service,
+ * the union of the two AuditConfigs is used for that service: the log_types
+ * specified in each AuditConfig are enabled, and the exempted_members in each
+ * AuditConfig are exempted.
+ *
+ * Example Policy with multiple AuditConfigs:
+ *
+ * {
+ * "audit_configs": [
+ * {
+ * "service": "allServices"
+ * "audit_log_configs": [
+ * {
+ * "log_type": "DATA_READ",
+ * "exempted_members": [
+ * "user:foo@gmail.com"
+ * ]
+ * },
+ * {
+ * "log_type": "DATA_WRITE",
+ * },
+ * {
+ * "log_type": "ADMIN_READ",
+ * }
+ * ]
+ * },
+ * {
+ * "service": "fooservice.googleapis.com"
+ * "audit_log_configs": [
+ * {
+ * "log_type": "DATA_READ",
+ * },
+ * {
+ * "log_type": "DATA_WRITE",
+ * "exempted_members": [
+ * "user:bar@gmail.com"
+ * ]
+ * }
+ * ]
+ * }
+ * ]
+ * }
+ *
+ * For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
+ * logging. It also exempts foo@gmail.com from DATA_READ logging, and
+ * bar@gmail.com from DATA_WRITE logging.
+ */
+class GoogleIamV1AuditConfig {
+ /**
+ * The configuration for logging of each type of permission.
+ * Next ID: 4
+ */
+ core.List<GoogleIamV1AuditLogConfig> auditLogConfigs;
+ core.List<core.String> exemptedMembers;
+ /**
+ * Specifies a service that will be enabled for audit logging.
+ * For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
+ * `allServices` is a special value that covers all services.
+ */
+ core.String service;
+
+ GoogleIamV1AuditConfig();
+
+ GoogleIamV1AuditConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("auditLogConfigs")) {
+ auditLogConfigs = _json["auditLogConfigs"].map((value) => new GoogleIamV1AuditLogConfig.fromJson(value)).toList();
+ }
+ if (_json.containsKey("exemptedMembers")) {
+ exemptedMembers = _json["exemptedMembers"];
+ }
+ if (_json.containsKey("service")) {
+ service = _json["service"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (auditLogConfigs != null) {
+ _json["auditLogConfigs"] = auditLogConfigs.map((value) => (value).toJson()).toList();
+ }
+ if (exemptedMembers != null) {
+ _json["exemptedMembers"] = exemptedMembers;
+ }
+ if (service != null) {
+ _json["service"] = service;
+ }
+ return _json;
+ }
+}
+
+/**
+ * Provides the configuration for logging a type of permissions.
+ * Example:
+ *
+ * {
+ * "audit_log_configs": [
+ * {
+ * "log_type": "DATA_READ",
+ * "exempted_members": [
+ * "user:foo@gmail.com"
+ * ]
+ * },
+ * {
+ * "log_type": "DATA_WRITE",
+ * }
+ * ]
+ * }
+ *
+ * This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
+ * foo@gmail.com from DATA_READ logging.
+ */
+class GoogleIamV1AuditLogConfig {
+ /**
+ * Specifies the identities that do not cause logging for this type of
+ * permission.
+ * Follows the same format of Binding.members.
+ */
+ core.List<core.String> exemptedMembers;
+ /**
+ * The log type that this config enables.
+ * Possible string values are:
+ * - "LOG_TYPE_UNSPECIFIED" : Default case. Should never be this.
+ * - "ADMIN_READ" : Admin reads. Example: CloudIAM getIamPolicy
+ * - "DATA_WRITE" : Data writes. Example: CloudSQL Users create
+ * - "DATA_READ" : Data reads. Example: CloudSQL Users list
+ */
+ core.String logType;
+
+ GoogleIamV1AuditLogConfig();
+
+ GoogleIamV1AuditLogConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("exemptedMembers")) {
+ exemptedMembers = _json["exemptedMembers"];
+ }
+ if (_json.containsKey("logType")) {
+ logType = _json["logType"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (exemptedMembers != null) {
+ _json["exemptedMembers"] = exemptedMembers;
+ }
+ if (logType != null) {
+ _json["logType"] = logType;
+ }
+ return _json;
+ }
+}
+
+/** Associates `members` with a `role`. */
+class GoogleIamV1Binding {
+ /**
+ * The condition that is associated with this binding.
+ * NOTE: an unsatisfied condition will not allow user access via current
+ * binding. Different bindings, including their conditions, are examined
+ * independently.
+ * This field is GOOGLE_INTERNAL.
+ */
+ GoogleTypeExpr condition;
+ /**
+ * Specifies the identities requesting access for a Cloud Platform resource.
+ * `members` can have the following values:
+ *
+ * * `allUsers`: A special identifier that represents anyone who is
+ * on the internet; with or without a Google account.
+ *
+ * * `allAuthenticatedUsers`: A special identifier that represents anyone
+ * who is authenticated with a Google account or a service account.
+ *
+ * * `user:{emailid}`: An email address that represents a specific Google
+ * account. For example, `alice@gmail.com` or `joe@example.com`.
+ *
+ *
+ * * `serviceAccount:{emailid}`: An email address that represents a service
+ * account. For example, `my-other-app@appspot.gserviceaccount.com`.
+ *
+ * * `group:{emailid}`: An email address that represents a Google group.
+ * For example, `admins@example.com`.
+ *
+ *
+ * * `domain:{domain}`: A Google Apps domain name that represents all the
+ * users of that domain. For example, `google.com` or `example.com`.
+ */
+ core.List<core.String> members;
+ /**
+ * Role that is assigned to `members`.
+ * For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+ * Required
+ */
+ core.String role;
+
+ GoogleIamV1Binding();
+
+ GoogleIamV1Binding.fromJson(core.Map _json) {
+ if (_json.containsKey("condition")) {
+ condition = new GoogleTypeExpr.fromJson(_json["condition"]);
+ }
+ if (_json.containsKey("members")) {
+ members = _json["members"];
+ }
+ if (_json.containsKey("role")) {
+ role = _json["role"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (condition != null) {
+ _json["condition"] = (condition).toJson();
+ }
+ if (members != null) {
+ _json["members"] = members;
+ }
+ if (role != null) {
+ _json["role"] = role;
+ }
+ return _json;
+ }
+}
+
+/** A condition to be met. */
+class GoogleIamV1Condition {
+ /**
+ * Trusted attributes supplied by the IAM system.
+ * Possible string values are:
+ * - "NO_ATTR" : Default non-attribute.
+ * - "AUTHORITY" : Either principal or (if present) authority selector.
+ * - "ATTRIBUTION" : The principal (even if an authority selector is present),
+ * which
+ * must only be used for attribution, not authorization.
+ * - "APPROVER" : An approver (distinct from the requester) that has
+ * authorized this
+ * request.
+ * When used with IN, the condition indicates that one of the approvers
+ * associated with the request matches the specified principal, or is a
+ * member of the specified group. Approvers can only grant additional
+ * access, and are thus only used in a strictly positive context
+ * (e.g. ALLOW/IN or DENY/NOT_IN).
+ * - "JUSTIFICATION_TYPE" : What types of justifications have been supplied
+ * with this request.
+ * String values should match enum names from tech.iam.JustificationType,
+ * e.g. "MANUAL_STRING". It is not permitted to grant access based on
+ * the *absence* of a justification, so justification conditions can only
+ * be used in a "positive" context (e.g., ALLOW/IN or DENY/NOT_IN).
+ *
+ * Multiple justifications, e.g., a Buganizer ID and a manually-entered
+ * reason, are normal and supported.
+ */
+ core.String iam;
+ /**
+ * An operator to apply the subject with.
+ * Possible string values are:
+ * - "NO_OP" : Default no-op.
+ * - "EQUALS" : DEPRECATED. Use IN instead.
+ * - "NOT_EQUALS" : DEPRECATED. Use NOT_IN instead.
+ * - "IN" : The condition is true if the subject (or any element of it if it
+ * is
+ * a set) matches any of the supplied values.
+ * - "NOT_IN" : The condition is true if the subject (or every element of it
+ * if it is
+ * a set) matches none of the supplied values.
+ * - "DISCHARGED" : Subject is discharged
+ */
+ core.String op;
+ /** Trusted attributes discharged by the service. */
+ core.String svc;
+ /**
+ * Trusted attributes supplied by any service that owns resources and uses
+ * the IAM system for access control.
+ * Possible string values are:
+ * - "NO_ATTR" : Default non-attribute type
+ * - "REGION" : Region of the resource
+ * - "SERVICE" : Service name
+ * - "NAME" : Resource name
+ * - "IP" : IP address of the caller
+ */
+ core.String sys;
+ /** DEPRECATED. Use 'values' instead. */
+ core.String value;
+ /** The objects of the condition. This is mutually exclusive with 'value'. */
+ core.List<core.String> values;
+
+ GoogleIamV1Condition();
+
+ GoogleIamV1Condition.fromJson(core.Map _json) {
+ if (_json.containsKey("iam")) {
+ iam = _json["iam"];
+ }
+ if (_json.containsKey("op")) {
+ op = _json["op"];
+ }
+ if (_json.containsKey("svc")) {
+ svc = _json["svc"];
+ }
+ if (_json.containsKey("sys")) {
+ sys = _json["sys"];
+ }
+ if (_json.containsKey("value")) {
+ value = _json["value"];
+ }
+ if (_json.containsKey("values")) {
+ values = _json["values"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (iam != null) {
+ _json["iam"] = iam;
+ }
+ if (op != null) {
+ _json["op"] = op;
+ }
+ if (svc != null) {
+ _json["svc"] = svc;
+ }
+ if (sys != null) {
+ _json["sys"] = sys;
+ }
+ if (value != null) {
+ _json["value"] = value;
+ }
+ if (values != null) {
+ _json["values"] = values;
+ }
+ return _json;
+ }
+}
+
+/**
+ * Specifies what kind of log the caller must write
+ * Increment a streamz counter with the specified metric and field names.
+ *
+ * Metric names should start with a '/', generally be lowercase-only,
+ * and end in "_count". Field names should not contain an initial slash.
+ * The actual exported metric names will have "/iam/policy" prepended.
+ *
+ * Field names correspond to IAM request parameters and field values are
+ * their respective values.
+ *
+ * At present the only supported field names are
+ * - "iam_principal", corresponding to IAMContext.principal;
+ * - "" (empty string), resulting in one aggretated counter with no field.
+ *
+ * Examples:
+ * counter { metric: "/debug_access_count" field: "iam_principal" }
+ * ==> increment counter /iam/policy/backend_debug_access_count
+ * {iam_principal=[value of IAMContext.principal]}
+ *
+ * At this time we do not support:
+ * * multiple field names (though this may be supported in the future)
+ * * decrementing the counter
+ * * incrementing it by anything other than 1
+ */
+class GoogleIamV1LogConfig {
+ /** Cloud audit options. */
+ GoogleIamV1LogConfigCloudAuditOptions cloudAudit;
+ /** Counter options. */
+ GoogleIamV1LogConfigCounterOptions counter;
+ /** Data access options. */
+ GoogleIamV1LogConfigDataAccessOptions dataAccess;
+
+ GoogleIamV1LogConfig();
+
+ GoogleIamV1LogConfig.fromJson(core.Map _json) {
+ if (_json.containsKey("cloudAudit")) {
+ cloudAudit = new GoogleIamV1LogConfigCloudAuditOptions.fromJson(_json["cloudAudit"]);
+ }
+ if (_json.containsKey("counter")) {
+ counter = new GoogleIamV1LogConfigCounterOptions.fromJson(_json["counter"]);
+ }
+ if (_json.containsKey("dataAccess")) {
+ dataAccess = new GoogleIamV1LogConfigDataAccessOptions.fromJson(_json["dataAccess"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (cloudAudit != null) {
+ _json["cloudAudit"] = (cloudAudit).toJson();
+ }
+ if (counter != null) {
+ _json["counter"] = (counter).toJson();
+ }
+ if (dataAccess != null) {
+ _json["dataAccess"] = (dataAccess).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * Defines an Identity and Access Management (IAM) policy. It is used to
+ * specify access control policies for Cloud Platform resources.
+ *
+ *
+ * A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
+ * `members` to a `role`, where the members can be user accounts, Google groups,
+ * Google domains, and service accounts. A `role` is a named list of permissions
+ * defined by IAM.
+ *
+ * **Example**
+ *
+ * {
+ * "bindings": [
+ * {
+ * "role": "roles/owner",
+ * "members": [
+ * "user:mike@example.com",
+ * "group:admins@example.com",
+ * "domain:google.com",
+ * "serviceAccount:my-other-app@appspot.gserviceaccount.com",
+ * ]
+ * },
+ * {
+ * "role": "roles/viewer",
+ * "members": ["user:sean@example.com"]
+ * }
+ * ]
+ * }
+ *
+ * For a description of IAM and its features, see the
+ * [IAM developer's guide](https://cloud.google.com/iam).
+ */
+class GoogleIamV1Policy {
+ /** Specifies cloud audit logging configuration for this policy. */
+ core.List<GoogleIamV1AuditConfig> auditConfigs;
+ /**
+ * Associates a list of `members` to a `role`.
+ * `bindings` with no members will result in an error.
+ */
+ core.List<GoogleIamV1Binding> bindings;
+ /**
+ * `etag` is used for optimistic concurrency control as a way to help
+ * prevent simultaneous updates of a policy from overwriting each other.
+ * It is strongly suggested that systems make use of the `etag` in the
+ * read-modify-write cycle to perform policy updates in order to avoid race
+ * conditions: An `etag` is returned in the response to `getIamPolicy`, and
+ * systems are expected to put that etag in the request to `setIamPolicy` to
+ * ensure that their change will be applied to the same version of the policy.
+ *
+ * If no `etag` is provided in the call to `setIamPolicy`, then the existing
+ * policy is overwritten blindly.
+ */
+ core.String etag;
+ core.List<core.int> get etagAsBytes {
+ return convert.BASE64.decode(etag);
+ }
+
+ void set etagAsBytes(core.List<core.int> _bytes) {
+ etag = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
+ }
+ core.bool iamOwned;
+ /**
+ * If more than one rule is specified, the rules are applied in the following
+ * manner:
+ * - All matching LOG rules are always applied.
+ * - If any DENY/DENY_WITH_LOG rule matches, permission is denied.
+ * Logging will be applied if one or more matching rule requires logging.
+ * - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is
+ * granted.
+ * Logging will be applied if one or more matching rule requires logging.
+ * - Otherwise, if no rule applies, permission is denied.
+ */
+ core.List<GoogleIamV1Rule> rules;
+ /** Version of the `Policy`. The default version is 0. */
+ core.int version;
+
+ GoogleIamV1Policy();
+
+ GoogleIamV1Policy.fromJson(core.Map _json) {
+ if (_json.containsKey("auditConfigs")) {
+ auditConfigs = _json["auditConfigs"].map((value) => new GoogleIamV1AuditConfig.fromJson(value)).toList();
+ }
+ if (_json.containsKey("bindings")) {
+ bindings = _json["bindings"].map((value) => new GoogleIamV1Binding.fromJson(value)).toList();
+ }
+ if (_json.containsKey("etag")) {
+ etag = _json["etag"];
+ }
+ if (_json.containsKey("iamOwned")) {
+ iamOwned = _json["iamOwned"];
+ }
+ if (_json.containsKey("rules")) {
+ rules = _json["rules"].map((value) => new GoogleIamV1Rule.fromJson(value)).toList();
+ }
+ if (_json.containsKey("version")) {
+ version = _json["version"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (auditConfigs != null) {
+ _json["auditConfigs"] = auditConfigs.map((value) => (value).toJson()).toList();
+ }
+ if (bindings != null) {
+ _json["bindings"] = bindings.map((value) => (value).toJson()).toList();
+ }
+ if (etag != null) {
+ _json["etag"] = etag;
+ }
+ if (iamOwned != null) {
+ _json["iamOwned"] = iamOwned;
+ }
+ if (rules != null) {
+ _json["rules"] = rules.map((value) => (value).toJson()).toList();
+ }
+ if (version != null) {
+ _json["version"] = version;
+ }
+ return _json;
+ }
+}
+
+/** A rule to be applied in a Policy. */
+class GoogleIamV1Rule {
+ /**
+ * Required
+ * Possible string values are:
+ * - "NO_ACTION" : Default no action.
+ * - "ALLOW" : Matching 'Entries' grant access.
+ * - "ALLOW_WITH_LOG" : Matching 'Entries' grant access and the caller
+ * promises to log
+ * the request per the returned log_configs.
+ * - "DENY" : Matching 'Entries' deny access.
+ * - "DENY_WITH_LOG" : Matching 'Entries' deny access and the caller promises
+ * to log
+ * the request per the returned log_configs.
+ * - "LOG" : Matching 'Entries' tell IAM.Check callers to generate logs.
+ */
+ core.String action;
+ /** Additional restrictions that must be met */
+ core.List<GoogleIamV1Condition> conditions;
+ /** Human-readable description of the rule. */
+ core.String description;
+ /**
+ * If one or more 'in' clauses are specified, the rule matches if
+ * the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.
+ */
+ core.List<core.String> in_;
+ /**
+ * The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
+ * that match the LOG action.
+ */
+ core.List<GoogleIamV1LogConfig> logConfig;
+ /**
+ * If one or more 'not_in' clauses are specified, the rule matches
+ * if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.
+ * The format for in and not_in entries is the same as for members in a
+ * Binding (see google/iam/v1/policy.proto).
+ */
+ core.List<core.String> notIn;
+ /**
+ * A permission is a string of form '<service>.<resource type>.<verb>'
+ * (e.g., 'storage.buckets.list'). A value of '*' matches all permissions,
+ * and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.
+ */
+ core.List<core.String> permissions;
+
+ GoogleIamV1Rule();
+
+ GoogleIamV1Rule.fromJson(core.Map _json) {
+ if (_json.containsKey("action")) {
+ action = _json["action"];
+ }
+ if (_json.containsKey("conditions")) {
+ conditions = _json["conditions"].map((value) => new GoogleIamV1Condition.fromJson(value)).toList();
+ }
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("in")) {
+ in_ = _json["in"];
+ }
+ if (_json.containsKey("logConfig")) {
+ logConfig = _json["logConfig"].map((value) => new GoogleIamV1LogConfig.fromJson(value)).toList();
+ }
+ if (_json.containsKey("notIn")) {
+ notIn = _json["notIn"];
+ }
+ if (_json.containsKey("permissions")) {
+ permissions = _json["permissions"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (action != null) {
+ _json["action"] = action;
+ }
+ if (conditions != null) {
+ _json["conditions"] = conditions.map((value) => (value).toJson()).toList();
+ }
+ if (description != null) {
+ _json["description"] = description;
+ }
+ if (in_ != null) {
+ _json["in"] = in_;
+ }
+ if (logConfig != null) {
+ _json["logConfig"] = logConfig.map((value) => (value).toJson()).toList();
+ }
+ if (notIn != null) {
+ _json["notIn"] = notIn;
+ }
+ if (permissions != null) {
+ _json["permissions"] = permissions;
+ }
+ return _json;
+ }
+}
+
+/** Request message for `SetIamPolicy` method. */
+class GoogleIamV1SetIamPolicyRequest {
+ /**
+ * REQUIRED: The complete policy to be applied to the `resource`. The size of
+ * the policy is limited to a few 10s of KB. An empty policy is a
+ * valid policy but certain Cloud Platform services (such as Projects)
+ * might reject them.
+ */
+ GoogleIamV1Policy policy;
+ /**
+ * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
+ * the fields in the mask will be modified. If no mask is provided, the
+ * following default mask is used:
+ * paths: "bindings, etag"
+ * This field is only used by Cloud IAM.
+ */
+ core.String updateMask;
+
+ GoogleIamV1SetIamPolicyRequest();
+
+ GoogleIamV1SetIamPolicyRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("policy")) {
+ policy = new GoogleIamV1Policy.fromJson(_json["policy"]);
+ }
+ if (_json.containsKey("updateMask")) {
+ updateMask = _json["updateMask"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (policy != null) {
+ _json["policy"] = (policy).toJson();
+ }
+ if (updateMask != null) {
+ _json["updateMask"] = updateMask;
+ }
+ return _json;
+ }
+}
+
+/** Request message for `TestIamPermissions` method. */
+class GoogleIamV1TestIamPermissionsRequest {
+ /**
+ * The set of permissions to check for the `resource`. Permissions with
+ * wildcards (such as '*' or 'storage.*') are not allowed. For more
+ * information see
+ * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
+ */
+ core.List<core.String> permissions;
+
+ GoogleIamV1TestIamPermissionsRequest();
+
+ GoogleIamV1TestIamPermissionsRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("permissions")) {
+ permissions = _json["permissions"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (permissions != null) {
+ _json["permissions"] = permissions;
+ }
+ return _json;
+ }
+}
+
+/** Response message for `TestIamPermissions` method. */
+class GoogleIamV1TestIamPermissionsResponse {
+ /**
+ * A subset of `TestPermissionsRequest.permissions` that the caller is
+ * allowed.
+ */
+ core.List<core.String> permissions;
+
+ GoogleIamV1TestIamPermissionsResponse();
+
+ GoogleIamV1TestIamPermissionsResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("permissions")) {
+ permissions = _json["permissions"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (permissions != null) {
+ _json["permissions"] = permissions;
+ }
return _json;
}
}
@@ -3253,3 +4207,71 @@
return _json;
}
}
+
+/**
+ * Represents an expression text. Example:
+ *
+ * title: "User account presence"
+ * description: "Determines whether the request has a user account"
+ * expression: "size(request.user) > 0"
+ */
+class GoogleTypeExpr {
+ /**
+ * An optional description of the expression. This is a longer text which
+ * describes the expression, e.g. when hovered over it in a UI.
+ */
+ core.String description;
+ /**
+ * Textual representation of an expression in
+ * Common Expression Language syntax.
+ *
+ * The application context of the containing message determines which
+ * well-known feature set of CEL is supported.
+ */
+ core.String expression;
+ /**
+ * An optional string indicating the location of the expression for error
+ * reporting, e.g. a file name and a position in the file.
+ */
+ core.String location;
+ /**
+ * An optional title for the expression, i.e. a short string describing
+ * its purpose. This can be used e.g. in UIs which allow to enter the
+ * expression.
+ */
+ core.String title;
+
+ GoogleTypeExpr();
+
+ GoogleTypeExpr.fromJson(core.Map _json) {
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("expression")) {
+ expression = _json["expression"];
+ }
+ if (_json.containsKey("location")) {
+ location = _json["location"];
+ }
+ if (_json.containsKey("title")) {
+ title = _json["title"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (description != null) {
+ _json["description"] = description;
+ }
+ if (expression != null) {
+ _json["expression"] = expression;
+ }
+ if (location != null) {
+ _json["location"] = location;
+ }
+ if (title != null) {
+ _json["title"] = title;
+ }
+ return _json;
+ }
+}
diff --git a/generated/googleapis/lib/monitoring/v3.dart b/generated/googleapis/lib/monitoring/v3.dart
index 2303347..62c146e 100644
--- a/generated/googleapis/lib/monitoring/v3.dart
+++ b/generated/googleapis/lib/monitoring/v3.dart
@@ -415,13 +415,6 @@
* "projects/{project_id_or_number}/groups/{group_id}".
* Value must have pattern "^projects/[^/]+/groups/[^/]+$".
*
- * [pageSize] - A positive number that is the maximum number of results to
- * return.
- *
- * [interval_startTime] - Optional. The beginning of the time interval. The
- * default value for the start time is the end time. The start time must not
- * be later than the end time.
- *
* [interval_endTime] - Required. The end of the time interval.
*
* [filter] - An optional list filter describing the members to be returned.
@@ -435,6 +428,13 @@
* field causes the method to return additional results from the previous
* method call.
*
+ * [pageSize] - A positive number that is the maximum number of results to
+ * return.
+ *
+ * [interval_startTime] - Optional. The beginning of the time interval. The
+ * default value for the start time is the end time. The start time must not
+ * be later than the end time.
+ *
* Completes with a [ListGroupMembersResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -443,7 +443,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListGroupMembersResponse> list(core.String name, {core.int pageSize, core.String interval_startTime, core.String interval_endTime, core.String filter, core.String pageToken}) {
+ async.Future<ListGroupMembersResponse> list(core.String name, {core.String interval_endTime, core.String filter, core.String pageToken, core.int pageSize, core.String interval_startTime}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -454,12 +454,6 @@
if (name == null) {
throw new core.ArgumentError("Parameter name is required.");
}
- if (pageSize != null) {
- _queryParams["pageSize"] = ["${pageSize}"];
- }
- if (interval_startTime != null) {
- _queryParams["interval.startTime"] = [interval_startTime];
- }
if (interval_endTime != null) {
_queryParams["interval.endTime"] = [interval_endTime];
}
@@ -469,6 +463,12 @@
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
+ if (pageSize != null) {
+ _queryParams["pageSize"] = ["${pageSize}"];
+ }
+ if (interval_startTime != null) {
+ _queryParams["interval.startTime"] = [interval_startTime];
+ }
_url = 'v3/' + commons.Escaper.ecapeVariableReserved('$name') + '/members';
@@ -635,12 +635,6 @@
* "projects/{project_id_or_number}".
* Value must have pattern "^projects/[^/]+$".
*
- * [filter] - If this field is empty, all custom and system-defined metric
- * descriptors are returned. Otherwise, the filter specifies which metric
- * descriptors are to be returned. For example, the following filter matches
- * all custom metrics:
- * metric.type = starts_with("custom.googleapis.com/")
- *
* [pageToken] - If this field is not empty then it must contain the
* nextPageToken value returned by a previous call to this method. Using this
* field causes the method to return additional results from the previous
@@ -649,6 +643,12 @@
* [pageSize] - A positive number that is the maximum number of results to
* return.
*
+ * [filter] - If this field is empty, all custom and system-defined metric
+ * descriptors are returned. Otherwise, the filter specifies which metric
+ * descriptors are to be returned. For example, the following filter matches
+ * all custom metrics:
+ * metric.type = starts_with("custom.googleapis.com/")
+ *
* Completes with a [ListMetricDescriptorsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -657,7 +657,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListMetricDescriptorsResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) {
+ async.Future<ListMetricDescriptorsResponse> list(core.String name, {core.String pageToken, core.int pageSize, core.String filter}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -668,15 +668,15 @@
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}"];
}
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
_url = 'v3/' + commons.Escaper.ecapeVariableReserved('$name') + '/metricDescriptors';
@@ -876,6 +876,29 @@
* "projects/{project_id_or_number}".
* Value must have pattern "^projects/[^/]+$".
*
+ * [aggregation_groupByFields] - The set of fields to preserve when
+ * crossSeriesReducer is specified. The groupByFields determine how the time
+ * series are partitioned into subsets prior to applying the aggregation
+ * function. Each subset contains time series that have the same value for
+ * each of the grouping fields. Each individual time series is a member of
+ * exactly one subset. The crossSeriesReducer is applied to each subset of
+ * time series. It is not possible to reduce across different resource types,
+ * so this field implicitly contains resource.type. Fields not specified in
+ * groupByFields are aggregated away. If groupByFields is not specified and
+ * all the time series have the same resource type, then the time series are
+ * aggregated into a single output time series. If crossSeriesReducer is not
+ * defined, this field is ignored.
+ *
+ * [interval_endTime] - Required. The end of the time interval.
+ *
+ * [aggregation_alignmentPeriod] - The alignment period for per-time series
+ * alignment. If present, alignmentPeriod must be at least 60 seconds. After
+ * per-time series alignment, each time series will contain data points only
+ * on the period boundaries. If perSeriesAligner is not specified or equals
+ * ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified
+ * and does not equal ALIGN_NONE, then this field must be defined; otherwise
+ * an error is returned.
+ *
* [pageSize] - A positive number that is the maximum number of results to
* return. When view field sets to FULL, it limits the number of Points server
* will return; if view field is HEADERS, it limits the number of TimeSeries
@@ -955,29 +978,6 @@
* - "FULL" : A FULL.
* - "HEADERS" : A HEADERS.
*
- * [aggregation_groupByFields] - The set of fields to preserve when
- * crossSeriesReducer is specified. The groupByFields determine how the time
- * series are partitioned into subsets prior to applying the aggregation
- * function. Each subset contains time series that have the same value for
- * each of the grouping fields. Each individual time series is a member of
- * exactly one subset. The crossSeriesReducer is applied to each subset of
- * time series. It is not possible to reduce across different resource types,
- * so this field implicitly contains resource.type. Fields not specified in
- * groupByFields are aggregated away. If groupByFields is not specified and
- * all the time series have the same resource type, then the time series are
- * aggregated into a single output time series. If crossSeriesReducer is not
- * defined, this field is ignored.
- *
- * [interval_endTime] - Required. The end of the time interval.
- *
- * [aggregation_alignmentPeriod] - The alignment period for per-time series
- * alignment. If present, alignmentPeriod must be at least 60 seconds. After
- * per-time series alignment, each time series will contain data points only
- * on the period boundaries. If perSeriesAligner is not specified or equals
- * ALIGN_NONE, then this field is ignored. If perSeriesAligner is specified
- * and does not equal ALIGN_NONE, then this field must be defined; otherwise
- * an error is returned.
- *
* Completes with a [ListTimeSeriesResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -986,7 +986,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListTimeSeriesResponse> list(core.String name, {core.int pageSize, core.String orderBy, core.String aggregation_crossSeriesReducer, core.String filter, core.String pageToken, core.String aggregation_perSeriesAligner, core.String interval_startTime, core.String view, core.List<core.String> aggregation_groupByFields, core.String interval_endTime, core.String aggregation_alignmentPeriod}) {
+ async.Future<ListTimeSeriesResponse> list(core.String name, {core.List<core.String> aggregation_groupByFields, core.String interval_endTime, core.String aggregation_alignmentPeriod, core.int pageSize, core.String orderBy, core.String aggregation_crossSeriesReducer, core.String filter, core.String pageToken, core.String aggregation_perSeriesAligner, core.String interval_startTime, core.String view}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -997,6 +997,15 @@
if (name == null) {
throw new core.ArgumentError("Parameter name is required.");
}
+ if (aggregation_groupByFields != null) {
+ _queryParams["aggregation.groupByFields"] = aggregation_groupByFields;
+ }
+ if (interval_endTime != null) {
+ _queryParams["interval.endTime"] = [interval_endTime];
+ }
+ if (aggregation_alignmentPeriod != null) {
+ _queryParams["aggregation.alignmentPeriod"] = [aggregation_alignmentPeriod];
+ }
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
@@ -1021,15 +1030,6 @@
if (view != null) {
_queryParams["view"] = [view];
}
- if (aggregation_groupByFields != null) {
- _queryParams["aggregation.groupByFields"] = aggregation_groupByFields;
- }
- if (interval_endTime != null) {
- _queryParams["interval.endTime"] = [interval_endTime];
- }
- if (aggregation_alignmentPeriod != null) {
- _queryParams["aggregation.alignmentPeriod"] = [aggregation_alignmentPeriod];
- }
_url = 'v3/' + commons.Escaper.ecapeVariableReserved('$name') + '/timeSeries';
diff --git a/generated/googleapis/lib/partners/v2.dart b/generated/googleapis/lib/partners/v2.dart
index 8cadb8a..df3855e 100644
--- a/generated/googleapis/lib/partners/v2.dart
+++ b/generated/googleapis/lib/partners/v2.dart
@@ -241,24 +241,24 @@
* An identifier has multiple letters created by a team which redirected the
* traffic to us.
*
+ * [requestMetadata_partnersSessionId] - Google Partners session ID.
+ *
* [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
* instead of the user's ID.
*
- * [requestMetadata_partnersSessionId] - Google Partners session ID.
- *
* [view] - The view of `Company` resource to be returned. This must not be
* `COMPANY_VIEW_UNSPECIFIED`.
* Possible string values are:
* - "COMPANY_VIEW_UNSPECIFIED" : A COMPANY_VIEW_UNSPECIFIED.
* - "CV_GOOGLE_PARTNER_SEARCH" : A CV_GOOGLE_PARTNER_SEARCH.
*
- * [requestMetadata_locale] - Locale to use for the current request.
- *
* [address] - The address to use for sorting the company's addresses by
* proximity.
* If not given, the geo-located address of the request is used.
* Used when order_by is set.
*
+ * [requestMetadata_locale] - Locale to use for the current request.
+ *
* Completes with a [GetCompanyResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -267,7 +267,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<GetCompanyResponse> get(core.String companyId, {core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String currencyCode, core.String orderBy, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String view, core.String requestMetadata_locale, core.String address}) {
+ async.Future<GetCompanyResponse> get(core.String companyId, {core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String currencyCode, core.String orderBy, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String view, core.String address, core.String requestMetadata_locale}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -296,21 +296,21 @@
if (requestMetadata_trafficSource_trafficSubId != null) {
_queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
}
- if (requestMetadata_userOverrides_userId != null) {
- _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
- }
if (requestMetadata_partnersSessionId != null) {
_queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
}
+ if (requestMetadata_userOverrides_userId != null) {
+ _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
+ }
if (view != null) {
_queryParams["view"] = [view];
}
- if (requestMetadata_locale != null) {
- _queryParams["requestMetadata.locale"] = [requestMetadata_locale];
- }
if (address != null) {
_queryParams["address"] = [address];
}
+ if (requestMetadata_locale != null) {
+ _queryParams["requestMetadata.locale"] = [requestMetadata_locale];
+ }
_url = 'v2/companies/' + commons.Escaper.ecapeVariable('$companyId');
@@ -329,6 +329,39 @@
*
* Request parameters:
*
+ * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
+ * instead of the user's ID.
+ *
+ * [minMonthlyBudget_currencyCode] - The 3-letter currency code defined in ISO
+ * 4217.
+ *
+ * [view] - The view of the `Company` resource to be returned. This must not
+ * be
+ * `COMPANY_VIEW_UNSPECIFIED`.
+ * Possible string values are:
+ * - "COMPANY_VIEW_UNSPECIFIED" : A COMPANY_VIEW_UNSPECIFIED.
+ * - "CV_GOOGLE_PARTNER_SEARCH" : A CV_GOOGLE_PARTNER_SEARCH.
+ *
+ * [requestMetadata_locale] - Locale to use for the current request.
+ *
+ * [address] - The address to use when searching for companies.
+ * If not given, the geo-located address of the request is used.
+ *
+ * [minMonthlyBudget_units] - The whole units of the amount.
+ * For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ *
+ * [maxMonthlyBudget_nanos] - Number of nano (10^-9) units of the amount.
+ * The value must be between -999,999,999 and +999,999,999 inclusive.
+ * If `units` is positive, `nanos` must be positive or zero.
+ * If `units` is zero, `nanos` can be positive, zero, or negative.
+ * If `units` is negative, `nanos` must be negative or zero.
+ * For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+ *
+ * [services] - List of services that the returned agencies should provide. If
+ * this is
+ * not empty, any returned agency must have at least one of these services,
+ * or one of the specializations in the "specializations" field.
+ *
* [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
* where the traffic comes from.
* An identifier has multiple letters created by a team which redirected the
@@ -397,39 +430,6 @@
* [maxMonthlyBudget_currencyCode] - The 3-letter currency code defined in ISO
* 4217.
*
- * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
- * instead of the user's ID.
- *
- * [minMonthlyBudget_currencyCode] - The 3-letter currency code defined in ISO
- * 4217.
- *
- * [view] - The view of the `Company` resource to be returned. This must not
- * be
- * `COMPANY_VIEW_UNSPECIFIED`.
- * Possible string values are:
- * - "COMPANY_VIEW_UNSPECIFIED" : A COMPANY_VIEW_UNSPECIFIED.
- * - "CV_GOOGLE_PARTNER_SEARCH" : A CV_GOOGLE_PARTNER_SEARCH.
- *
- * [address] - The address to use when searching for companies.
- * If not given, the geo-located address of the request is used.
- *
- * [requestMetadata_locale] - Locale to use for the current request.
- *
- * [minMonthlyBudget_units] - The whole units of the amount.
- * For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
- *
- * [maxMonthlyBudget_nanos] - Number of nano (10^-9) units of the amount.
- * The value must be between -999,999,999 and +999,999,999 inclusive.
- * If `units` is positive, `nanos` must be positive or zero.
- * If `units` is zero, `nanos` can be positive, zero, or negative.
- * If `units` is negative, `nanos` must be negative or zero.
- * For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
- *
- * [services] - List of services that the returned agencies should provide. If
- * this is
- * not empty, any returned agency must have at least one of these services,
- * or one of the specializations in the "specializations" field.
- *
* Completes with a [ListCompaniesResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -438,7 +438,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListCompaniesResponse> list({core.String requestMetadata_trafficSource_trafficSourceId, core.String maxMonthlyBudget_units, core.String requestMetadata_trafficSource_trafficSubId, core.int minMonthlyBudget_nanos, core.String requestMetadata_partnersSessionId, core.String companyName, core.String pageToken, core.List<core.String> industries, core.String websiteUrl, core.List<core.String> gpsMotivations, core.List<core.String> languageCodes, core.int pageSize, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String orderBy, core.List<core.String> specializations, core.String maxMonthlyBudget_currencyCode, core.String requestMetadata_userOverrides_userId, core.String minMonthlyBudget_currencyCode, core.String view, core.String address, core.String requestMetadata_locale, core.String minMonthlyBudget_units, core.int maxMonthlyBudget_nanos, core.List<core.String> services}) {
+ async.Future<ListCompaniesResponse> list({core.String requestMetadata_userOverrides_userId, core.String minMonthlyBudget_currencyCode, core.String view, core.String requestMetadata_locale, core.String address, core.String minMonthlyBudget_units, core.int maxMonthlyBudget_nanos, core.List<core.String> services, core.String requestMetadata_trafficSource_trafficSourceId, core.String maxMonthlyBudget_units, core.String requestMetadata_trafficSource_trafficSubId, core.int minMonthlyBudget_nanos, core.String requestMetadata_partnersSessionId, core.String companyName, core.String pageToken, core.List<core.String> industries, core.String websiteUrl, core.List<core.String> gpsMotivations, core.List<core.String> languageCodes, core.int pageSize, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String orderBy, core.List<core.String> specializations, core.String maxMonthlyBudget_currencyCode}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -446,6 +446,30 @@
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (requestMetadata_userOverrides_userId != null) {
+ _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
+ }
+ if (minMonthlyBudget_currencyCode != null) {
+ _queryParams["minMonthlyBudget.currencyCode"] = [minMonthlyBudget_currencyCode];
+ }
+ if (view != null) {
+ _queryParams["view"] = [view];
+ }
+ if (requestMetadata_locale != null) {
+ _queryParams["requestMetadata.locale"] = [requestMetadata_locale];
+ }
+ if (address != null) {
+ _queryParams["address"] = [address];
+ }
+ if (minMonthlyBudget_units != null) {
+ _queryParams["minMonthlyBudget.units"] = [minMonthlyBudget_units];
+ }
+ if (maxMonthlyBudget_nanos != null) {
+ _queryParams["maxMonthlyBudget.nanos"] = ["${maxMonthlyBudget_nanos}"];
+ }
+ if (services != null) {
+ _queryParams["services"] = services;
+ }
if (requestMetadata_trafficSource_trafficSourceId != null) {
_queryParams["requestMetadata.trafficSource.trafficSourceId"] = [requestMetadata_trafficSource_trafficSourceId];
}
@@ -497,30 +521,6 @@
if (maxMonthlyBudget_currencyCode != null) {
_queryParams["maxMonthlyBudget.currencyCode"] = [maxMonthlyBudget_currencyCode];
}
- if (requestMetadata_userOverrides_userId != null) {
- _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
- }
- if (minMonthlyBudget_currencyCode != null) {
- _queryParams["minMonthlyBudget.currencyCode"] = [minMonthlyBudget_currencyCode];
- }
- if (view != null) {
- _queryParams["view"] = [view];
- }
- if (address != null) {
- _queryParams["address"] = [address];
- }
- if (requestMetadata_locale != null) {
- _queryParams["requestMetadata.locale"] = [requestMetadata_locale];
- }
- if (minMonthlyBudget_units != null) {
- _queryParams["minMonthlyBudget.units"] = [minMonthlyBudget_units];
- }
- if (maxMonthlyBudget_nanos != null) {
- _queryParams["maxMonthlyBudget.nanos"] = ["${maxMonthlyBudget_nanos}"];
- }
- if (services != null) {
- _queryParams["services"] = services;
- }
_url = 'v2/companies';
@@ -616,11 +616,6 @@
* - "CET_DIGITAL_SALES" : A CET_DIGITAL_SALES.
* - "CET_MOBILE_SITES" : A CET_MOBILE_SITES.
*
- * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
- * indicate where the traffic comes from.
- * An identifier has multiple letters created by a team which redirected the
- * traffic to us.
- *
* [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
* instead of the user's ID.
*
@@ -639,6 +634,11 @@
* [requestMetadata_experimentIds] - Experiment IDs the current request
* belongs to.
*
+ * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
+ * indicate where the traffic comes from.
+ * An identifier has multiple letters created by a team which redirected the
+ * traffic to us.
+ *
* Completes with a [ExamToken].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -647,7 +647,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ExamToken> getToken(core.String examType, {core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds}) {
+ async.Future<ExamToken> getToken(core.String examType, {core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -658,9 +658,6 @@
if (examType == null) {
throw new core.ArgumentError("Parameter examType is required.");
}
- if (requestMetadata_trafficSource_trafficSubId != null) {
- _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
- }
if (requestMetadata_userOverrides_userId != null) {
_queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
}
@@ -679,6 +676,9 @@
if (requestMetadata_experimentIds != null) {
_queryParams["requestMetadata.experimentIds"] = requestMetadata_experimentIds;
}
+ if (requestMetadata_trafficSource_trafficSubId != null) {
+ _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
+ }
_url = 'v2/exams/' + commons.Escaper.ecapeVariable('$examType') + '/token';
@@ -707,6 +707,17 @@
*
* Request parameters:
*
+ * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
+ * instead of the user's ID.
+ *
+ * [requestMetadata_partnersSessionId] - Google Partners session ID.
+ *
+ * [pageToken] - A token identifying a page of results that the server
+ * returns.
+ * Typically, this is the value of `ListLeadsResponse.next_page_token`
+ * returned from the previous call to
+ * ListLeads.
+ *
* [pageSize] - Requested page size. Server may return fewer leads than
* requested.
* If unspecified, server picks an appropriate default.
@@ -732,17 +743,6 @@
* An identifier has multiple letters created by a team which redirected the
* traffic to us.
*
- * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
- * instead of the user's ID.
- *
- * [requestMetadata_partnersSessionId] - Google Partners session ID.
- *
- * [pageToken] - A token identifying a page of results that the server
- * returns.
- * Typically, this is the value of `ListLeadsResponse.next_page_token`
- * returned from the previous call to
- * ListLeads.
- *
* Completes with a [ListLeadsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -751,7 +751,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListLeadsResponse> list({core.int pageSize, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String orderBy, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String pageToken}) {
+ async.Future<ListLeadsResponse> list({core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String pageToken, core.int pageSize, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String orderBy, core.String requestMetadata_trafficSource_trafficSubId}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -759,6 +759,15 @@
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (requestMetadata_userOverrides_userId != null) {
+ _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
+ }
+ if (requestMetadata_partnersSessionId != null) {
+ _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
@@ -780,15 +789,6 @@
if (requestMetadata_trafficSource_trafficSubId != null) {
_queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
}
- if (requestMetadata_userOverrides_userId != null) {
- _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
- }
- if (requestMetadata_partnersSessionId != null) {
- _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
- }
- if (pageToken != null) {
- _queryParams["pageToken"] = [pageToken];
- }
_url = 'v2/leads';
@@ -818,11 +818,6 @@
*
* Request parameters:
*
- * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
- * instead of the user's ID.
- *
- * [requestMetadata_partnersSessionId] - Google Partners session ID.
- *
* [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
* where the traffic comes from.
* An identifier has multiple letters created by a team which redirected the
@@ -841,6 +836,11 @@
* An identifier has multiple letters created by a team which redirected the
* traffic to us.
*
+ * [requestMetadata_partnersSessionId] - Google Partners session ID.
+ *
+ * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
+ * instead of the user's ID.
+ *
* Completes with a [ListOffersResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -849,7 +849,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListOffersResponse> list({core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId}) {
+ async.Future<ListOffersResponse> list({core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -857,12 +857,6 @@
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (requestMetadata_userOverrides_userId != null) {
- _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
- }
- if (requestMetadata_partnersSessionId != null) {
- _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
- }
if (requestMetadata_trafficSource_trafficSourceId != null) {
_queryParams["requestMetadata.trafficSource.trafficSourceId"] = [requestMetadata_trafficSource_trafficSourceId];
}
@@ -878,6 +872,12 @@
if (requestMetadata_trafficSource_trafficSubId != null) {
_queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
}
+ if (requestMetadata_partnersSessionId != null) {
+ _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
+ }
+ if (requestMetadata_userOverrides_userId != null) {
+ _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
+ }
_url = 'v2/offers';
@@ -905,11 +905,11 @@
*
* Request parameters:
*
- * [requestMetadata_partnersSessionId] - Google Partners session ID.
- *
* [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
* instead of the user's ID.
*
+ * [requestMetadata_partnersSessionId] - Google Partners session ID.
+ *
* [pageToken] - Token to retrieve a specific page.
*
* [pageSize] - Maximum number of rows to return per page.
@@ -930,6 +930,11 @@
* [requestMetadata_experimentIds] - Experiment IDs the current request
* belongs to.
*
+ * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
+ * indicate where the traffic comes from.
+ * An identifier has multiple letters created by a team which redirected the
+ * traffic to us.
+ *
* [orderBy] - Comma-separated list of fields to order by, e.g.:
* "foo,bar,baz".
* Use "foo desc" to sort descending.
@@ -937,11 +942,6 @@
* last_modified_time, sender_name, creation_time, country_code,
* offer_type.
*
- * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
- * indicate where the traffic comes from.
- * An identifier has multiple letters created by a team which redirected the
- * traffic to us.
- *
* Completes with a [ListOffersHistoryResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -950,7 +950,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListOffersHistoryResponse> list({core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String pageToken, core.int pageSize, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.bool entireCompany, core.List<core.String> requestMetadata_experimentIds, core.String orderBy, core.String requestMetadata_trafficSource_trafficSubId}) {
+ async.Future<ListOffersHistoryResponse> list({core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String pageToken, core.int pageSize, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.bool entireCompany, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String orderBy}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -958,12 +958,12 @@
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (requestMetadata_partnersSessionId != null) {
- _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
- }
if (requestMetadata_userOverrides_userId != null) {
_queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
}
+ if (requestMetadata_partnersSessionId != null) {
+ _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
+ }
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
@@ -985,12 +985,12 @@
if (requestMetadata_experimentIds != null) {
_queryParams["requestMetadata.experimentIds"] = requestMetadata_experimentIds;
}
- if (orderBy != null) {
- _queryParams["orderBy"] = [orderBy];
- }
if (requestMetadata_trafficSource_trafficSubId != null) {
_queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
}
+ if (orderBy != null) {
+ _queryParams["orderBy"] = [orderBy];
+ }
_url = 'v2/offers/history';
@@ -1066,8 +1066,6 @@
*
* Request parameters:
*
- * [requestMetadata_locale] - Locale to use for the current request.
- *
* [requestMetadata_userOverrides_ipAddress] - IP address to use instead of
* the user's geo-located IP address.
*
@@ -1079,16 +1077,18 @@
* An identifier has multiple letters created by a team which redirected the
* traffic to us.
*
- * [requestMetadata_partnersSessionId] - Google Partners session ID.
- *
* [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
* instead of the user's ID.
*
+ * [requestMetadata_partnersSessionId] - Google Partners session ID.
+ *
* [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
* where the traffic comes from.
* An identifier has multiple letters created by a team which redirected the
* traffic to us.
*
+ * [requestMetadata_locale] - Locale to use for the current request.
+ *
* Completes with a [ListUserStatesResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1097,7 +1097,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListUserStatesResponse> list({core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_trafficSource_trafficSourceId}) {
+ async.Future<ListUserStatesResponse> list({core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1105,9 +1105,6 @@
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (requestMetadata_locale != null) {
- _queryParams["requestMetadata.locale"] = [requestMetadata_locale];
- }
if (requestMetadata_userOverrides_ipAddress != null) {
_queryParams["requestMetadata.userOverrides.ipAddress"] = [requestMetadata_userOverrides_ipAddress];
}
@@ -1117,15 +1114,18 @@
if (requestMetadata_trafficSource_trafficSubId != null) {
_queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
}
- if (requestMetadata_partnersSessionId != null) {
- _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
- }
if (requestMetadata_userOverrides_userId != null) {
_queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
}
+ if (requestMetadata_partnersSessionId != null) {
+ _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
+ }
if (requestMetadata_trafficSource_trafficSourceId != null) {
_queryParams["requestMetadata.trafficSource.trafficSourceId"] = [requestMetadata_trafficSource_trafficSourceId];
}
+ if (requestMetadata_locale != null) {
+ _queryParams["requestMetadata.locale"] = [requestMetadata_locale];
+ }
_url = 'v2/userStates';
@@ -1158,6 +1158,14 @@
* [userId] - The ID of the user. Can be set to <code>me</code> to mean
* the currently authenticated user.
*
+ * [requestMetadata_experimentIds] - Experiment IDs the current request
+ * belongs to.
+ *
+ * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
+ * indicate where the traffic comes from.
+ * An identifier has multiple letters created by a team which redirected the
+ * traffic to us.
+ *
* [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
* instead of the user's ID.
*
@@ -1173,14 +1181,6 @@
* [requestMetadata_userOverrides_ipAddress] - IP address to use instead of
* the user's geo-located IP address.
*
- * [requestMetadata_experimentIds] - Experiment IDs the current request
- * belongs to.
- *
- * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
- * indicate where the traffic comes from.
- * An identifier has multiple letters created by a team which redirected the
- * traffic to us.
- *
* Completes with a [CompanyRelation].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1189,7 +1189,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<CompanyRelation> createCompanyRelation(CompanyRelation request, core.String userId, {core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId}) {
+ async.Future<CompanyRelation> createCompanyRelation(CompanyRelation request, core.String userId, {core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1203,6 +1203,12 @@
if (userId == null) {
throw new core.ArgumentError("Parameter userId is required.");
}
+ if (requestMetadata_experimentIds != null) {
+ _queryParams["requestMetadata.experimentIds"] = requestMetadata_experimentIds;
+ }
+ if (requestMetadata_trafficSource_trafficSubId != null) {
+ _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
+ }
if (requestMetadata_userOverrides_userId != null) {
_queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
}
@@ -1218,12 +1224,6 @@
if (requestMetadata_userOverrides_ipAddress != null) {
_queryParams["requestMetadata.userOverrides.ipAddress"] = [requestMetadata_userOverrides_ipAddress];
}
- if (requestMetadata_experimentIds != null) {
- _queryParams["requestMetadata.experimentIds"] = requestMetadata_experimentIds;
- }
- if (requestMetadata_trafficSource_trafficSubId != null) {
- _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
- }
_url = 'v2/users/' + commons.Escaper.ecapeVariable('$userId') + '/companyRelation';
@@ -1253,11 +1253,11 @@
* An identifier has multiple letters created by a team which redirected the
* traffic to us.
*
- * [requestMetadata_partnersSessionId] - Google Partners session ID.
- *
* [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
* instead of the user's ID.
*
+ * [requestMetadata_partnersSessionId] - Google Partners session ID.
+ *
* [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
* where the traffic comes from.
* An identifier has multiple letters created by a team which redirected the
@@ -1276,7 +1276,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Empty> deleteCompanyRelation(core.String userId, {core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress}) {
+ async.Future<Empty> deleteCompanyRelation(core.String userId, {core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1293,12 +1293,12 @@
if (requestMetadata_trafficSource_trafficSubId != null) {
_queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
}
- if (requestMetadata_partnersSessionId != null) {
- _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
- }
if (requestMetadata_userOverrides_userId != null) {
_queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
}
+ if (requestMetadata_partnersSessionId != null) {
+ _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
+ }
if (requestMetadata_trafficSource_trafficSourceId != null) {
_queryParams["requestMetadata.trafficSource.trafficSourceId"] = [requestMetadata_trafficSource_trafficSourceId];
}
@@ -1330,6 +1330,17 @@
* the currently
* authenticated user.
*
+ * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
+ * instead of the user's ID.
+ *
+ * [requestMetadata_partnersSessionId] - Google Partners session ID.
+ *
+ * [userView] - Specifies what parts of the user information to return.
+ * Possible string values are:
+ * - "BASIC" : A BASIC.
+ * - "PROFILE" : A PROFILE.
+ * - "PUBLIC_PROFILE" : A PUBLIC_PROFILE.
+ *
* [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
* where the traffic comes from.
* An identifier has multiple letters created by a team which redirected the
@@ -1348,17 +1359,6 @@
* An identifier has multiple letters created by a team which redirected the
* traffic to us.
*
- * [requestMetadata_partnersSessionId] - Google Partners session ID.
- *
- * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
- * instead of the user's ID.
- *
- * [userView] - Specifies what parts of the user information to return.
- * Possible string values are:
- * - "BASIC" : A BASIC.
- * - "PROFILE" : A PROFILE.
- * - "PUBLIC_PROFILE" : A PUBLIC_PROFILE.
- *
* Completes with a [User].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1367,7 +1367,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<User> get(core.String userId, {core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String userView}) {
+ async.Future<User> get(core.String userId, {core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String userView, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1378,6 +1378,15 @@
if (userId == null) {
throw new core.ArgumentError("Parameter userId is required.");
}
+ if (requestMetadata_userOverrides_userId != null) {
+ _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
+ }
+ if (requestMetadata_partnersSessionId != null) {
+ _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
+ }
+ if (userView != null) {
+ _queryParams["userView"] = [userView];
+ }
if (requestMetadata_trafficSource_trafficSourceId != null) {
_queryParams["requestMetadata.trafficSource.trafficSourceId"] = [requestMetadata_trafficSource_trafficSourceId];
}
@@ -1393,15 +1402,6 @@
if (requestMetadata_trafficSource_trafficSubId != null) {
_queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
}
- if (requestMetadata_partnersSessionId != null) {
- _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
- }
- if (requestMetadata_userOverrides_userId != null) {
- _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
- }
- if (userView != null) {
- _queryParams["userView"] = [userView];
- }
_url = 'v2/users/' + commons.Escaper.ecapeVariable('$userId');
@@ -1423,11 +1423,6 @@
*
* Request parameters:
*
- * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
- * indicate where the traffic comes from.
- * An identifier has multiple letters created by a team which redirected the
- * traffic to us.
- *
* [requestMetadata_partnersSessionId] - Google Partners session ID.
*
* [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
@@ -1446,6 +1441,11 @@
* [requestMetadata_experimentIds] - Experiment IDs the current request
* belongs to.
*
+ * [requestMetadata_trafficSource_trafficSubId] - Second level identifier to
+ * indicate where the traffic comes from.
+ * An identifier has multiple letters created by a team which redirected the
+ * traffic to us.
+ *
* Completes with a [UserProfile].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1454,7 +1454,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<UserProfile> updateProfile(UserProfile request, {core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds}) {
+ async.Future<UserProfile> updateProfile(UserProfile request, {core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1465,9 +1465,6 @@
if (request != null) {
_body = convert.JSON.encode((request).toJson());
}
- if (requestMetadata_trafficSource_trafficSubId != null) {
- _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
- }
if (requestMetadata_partnersSessionId != null) {
_queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
}
@@ -1486,6 +1483,9 @@
if (requestMetadata_experimentIds != null) {
_queryParams["requestMetadata.experimentIds"] = requestMetadata_experimentIds;
}
+ if (requestMetadata_trafficSource_trafficSubId != null) {
+ _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
+ }
_url = 'v2/users/profile';
@@ -1514,6 +1514,11 @@
*
* Request parameters:
*
+ * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
+ * instead of the user's ID.
+ *
+ * [requestMetadata_partnersSessionId] - Google Partners session ID.
+ *
* [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
* where the traffic comes from.
* An identifier has multiple letters created by a team which redirected the
@@ -1532,11 +1537,6 @@
* An identifier has multiple letters created by a team which redirected the
* traffic to us.
*
- * [requestMetadata_partnersSessionId] - Google Partners session ID.
- *
- * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
- * instead of the user's ID.
- *
* Completes with a [GetPartnersStatusResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1545,7 +1545,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<GetPartnersStatusResponse> getPartnersstatus({core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId}) {
+ async.Future<GetPartnersStatusResponse> getPartnersstatus({core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1553,6 +1553,12 @@
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
+ if (requestMetadata_userOverrides_userId != null) {
+ _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
+ }
+ if (requestMetadata_partnersSessionId != null) {
+ _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
+ }
if (requestMetadata_trafficSource_trafficSourceId != null) {
_queryParams["requestMetadata.trafficSource.trafficSourceId"] = [requestMetadata_trafficSource_trafficSourceId];
}
@@ -1568,12 +1574,6 @@
if (requestMetadata_trafficSource_trafficSubId != null) {
_queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
}
- if (requestMetadata_partnersSessionId != null) {
- _queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
- }
- if (requestMetadata_userOverrides_userId != null) {
- _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
- }
_url = 'v2/partnersstatus';
@@ -1595,6 +1595,18 @@
*
* Request parameters:
*
+ * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
+ * instead of the user's ID.
+ *
+ * [requestMetadata_partnersSessionId] - Google Partners session ID.
+ *
+ * [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
+ * where the traffic comes from.
+ * An identifier has multiple letters created by a team which redirected the
+ * traffic to us.
+ *
+ * [requestMetadata_locale] - Locale to use for the current request.
+ *
* [requestMetadata_userOverrides_ipAddress] - IP address to use instead of
* the user's geo-located IP address.
*
@@ -1609,18 +1621,6 @@
* An identifier has multiple letters created by a team which redirected the
* traffic to us.
*
- * [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
- * instead of the user's ID.
- *
- * [requestMetadata_partnersSessionId] - Google Partners session ID.
- *
- * [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
- * where the traffic comes from.
- * An identifier has multiple letters created by a team which redirected the
- * traffic to us.
- *
- * [requestMetadata_locale] - Locale to use for the current request.
- *
* Completes with a [Company].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1629,7 +1629,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Company> updateCompanies(Company request, {core.String requestMetadata_userOverrides_ipAddress, core.String updateMask, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale}) {
+ async.Future<Company> updateCompanies(Company request, {core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.String updateMask, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1640,18 +1640,6 @@
if (request != null) {
_body = convert.JSON.encode((request).toJson());
}
- if (requestMetadata_userOverrides_ipAddress != null) {
- _queryParams["requestMetadata.userOverrides.ipAddress"] = [requestMetadata_userOverrides_ipAddress];
- }
- if (updateMask != null) {
- _queryParams["updateMask"] = [updateMask];
- }
- if (requestMetadata_experimentIds != null) {
- _queryParams["requestMetadata.experimentIds"] = requestMetadata_experimentIds;
- }
- if (requestMetadata_trafficSource_trafficSubId != null) {
- _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
- }
if (requestMetadata_userOverrides_userId != null) {
_queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
}
@@ -1664,6 +1652,18 @@
if (requestMetadata_locale != null) {
_queryParams["requestMetadata.locale"] = [requestMetadata_locale];
}
+ if (requestMetadata_userOverrides_ipAddress != null) {
+ _queryParams["requestMetadata.userOverrides.ipAddress"] = [requestMetadata_userOverrides_ipAddress];
+ }
+ if (updateMask != null) {
+ _queryParams["updateMask"] = [updateMask];
+ }
+ if (requestMetadata_experimentIds != null) {
+ _queryParams["requestMetadata.experimentIds"] = requestMetadata_experimentIds;
+ }
+ if (requestMetadata_trafficSource_trafficSubId != null) {
+ _queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
+ }
_url = 'v2/companies';
@@ -1684,13 +1684,6 @@
*
* Request parameters:
*
- * [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
- * where the traffic comes from.
- * An identifier has multiple letters created by a team which redirected the
- * traffic to us.
- *
- * [requestMetadata_locale] - Locale to use for the current request.
- *
* [requestMetadata_userOverrides_ipAddress] - IP address to use instead of
* the user's geo-located IP address.
*
@@ -1706,11 +1699,18 @@
* An identifier has multiple letters created by a team which redirected the
* traffic to us.
*
- * [requestMetadata_partnersSessionId] - Google Partners session ID.
- *
* [requestMetadata_userOverrides_userId] - Logged-in user ID to impersonate
* instead of the user's ID.
*
+ * [requestMetadata_partnersSessionId] - Google Partners session ID.
+ *
+ * [requestMetadata_trafficSource_trafficSourceId] - Identifier to indicate
+ * where the traffic comes from.
+ * An identifier has multiple letters created by a team which redirected the
+ * traffic to us.
+ *
+ * [requestMetadata_locale] - Locale to use for the current request.
+ *
* Completes with a [Lead].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -1719,7 +1719,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Lead> updateLeads(Lead request, {core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale, core.String requestMetadata_userOverrides_ipAddress, core.String updateMask, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_userOverrides_userId}) {
+ async.Future<Lead> updateLeads(Lead request, {core.String requestMetadata_userOverrides_ipAddress, core.String updateMask, core.List<core.String> requestMetadata_experimentIds, core.String requestMetadata_trafficSource_trafficSubId, core.String requestMetadata_userOverrides_userId, core.String requestMetadata_partnersSessionId, core.String requestMetadata_trafficSource_trafficSourceId, core.String requestMetadata_locale}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1730,12 +1730,6 @@
if (request != null) {
_body = convert.JSON.encode((request).toJson());
}
- if (requestMetadata_trafficSource_trafficSourceId != null) {
- _queryParams["requestMetadata.trafficSource.trafficSourceId"] = [requestMetadata_trafficSource_trafficSourceId];
- }
- if (requestMetadata_locale != null) {
- _queryParams["requestMetadata.locale"] = [requestMetadata_locale];
- }
if (requestMetadata_userOverrides_ipAddress != null) {
_queryParams["requestMetadata.userOverrides.ipAddress"] = [requestMetadata_userOverrides_ipAddress];
}
@@ -1748,11 +1742,17 @@
if (requestMetadata_trafficSource_trafficSubId != null) {
_queryParams["requestMetadata.trafficSource.trafficSubId"] = [requestMetadata_trafficSource_trafficSubId];
}
+ if (requestMetadata_userOverrides_userId != null) {
+ _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
+ }
if (requestMetadata_partnersSessionId != null) {
_queryParams["requestMetadata.partnersSessionId"] = [requestMetadata_partnersSessionId];
}
- if (requestMetadata_userOverrides_userId != null) {
- _queryParams["requestMetadata.userOverrides.userId"] = [requestMetadata_userOverrides_userId];
+ if (requestMetadata_trafficSource_trafficSourceId != null) {
+ _queryParams["requestMetadata.trafficSource.trafficSourceId"] = [requestMetadata_trafficSource_trafficSourceId];
+ }
+ if (requestMetadata_locale != null) {
+ _queryParams["requestMetadata.locale"] = [requestMetadata_locale];
}
_url = 'v2/leads';
diff --git a/generated/googleapis/lib/people/v1.dart b/generated/googleapis/lib/people/v1.dart
index 99ceee7..08d4d40 100644
--- a/generated/googleapis/lib/people/v1.dart
+++ b/generated/googleapis/lib/people/v1.dart
@@ -46,6 +46,7 @@
final commons.ApiRequester _requester;
+ ContactGroupsResourceApi get contactGroups => new ContactGroupsResourceApi(_requester);
PeopleResourceApi get people => new PeopleResourceApi(_requester);
PeopleApi(http.Client client, {core.String rootUrl: "https://people.googleapis.com/", core.String servicePath: ""}) :
@@ -53,6 +54,351 @@
}
+class ContactGroupsResourceApi {
+ final commons.ApiRequester _requester;
+
+ ContactGroupsMembersResourceApi get members => new ContactGroupsMembersResourceApi(_requester);
+
+ ContactGroupsResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Get a list of contact groups owned by the authenticated user by specifying
+ * a list of contact group resource names.
+ *
+ * Request parameters:
+ *
+ * [maxMembers] - Specifies the maximum number of members to return for each
+ * group.
+ *
+ * [resourceNames] - The resource names of the contact groups to get.
+ *
+ * Completes with a [BatchGetContactGroupsResponse].
+ *
+ * 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<BatchGetContactGroupsResponse> batchGet({core.int maxMembers, core.List<core.String> resourceNames}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (maxMembers != null) {
+ _queryParams["maxMembers"] = ["${maxMembers}"];
+ }
+ if (resourceNames != null) {
+ _queryParams["resourceNames"] = resourceNames;
+ }
+
+ _url = 'v1/contactGroups:batchGet';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new BatchGetContactGroupsResponse.fromJson(data));
+ }
+
+ /**
+ * Create a new contact group owned by the authenticated user.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * Completes with a [ContactGroup].
+ *
+ * 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<ContactGroup> create(CreateContactGroupRequest request) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+
+ _url = 'v1/contactGroups';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new ContactGroup.fromJson(data));
+ }
+
+ /**
+ * Delete an existing contact group owned by the authenticated user by
+ * specifying a contact group resource name.
+ *
+ * Request parameters:
+ *
+ * [resourceName] - The resource name of the contact group to delete.
+ * Value must have pattern "^contactGroups/[^/]+$".
+ *
+ * [deleteContacts] - Set to true to also delete the contacts in the specified
+ * group.
+ *
+ * Completes with a [Empty].
+ *
+ * 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<Empty> delete(core.String resourceName, {core.bool deleteContacts}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (resourceName == null) {
+ throw new core.ArgumentError("Parameter resourceName is required.");
+ }
+ if (deleteContacts != null) {
+ _queryParams["deleteContacts"] = ["${deleteContacts}"];
+ }
+
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resourceName');
+
+ var _response = _requester.request(_url,
+ "DELETE",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Empty.fromJson(data));
+ }
+
+ /**
+ * Get a specific contact group owned by the authenticated user by specifying
+ * a contact group resource name.
+ *
+ * Request parameters:
+ *
+ * [resourceName] - The resource name of the contact group to get.
+ * Value must have pattern "^contactGroups/[^/]+$".
+ *
+ * [maxMembers] - Specifies the maximum number of members to return.
+ *
+ * Completes with a [ContactGroup].
+ *
+ * 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<ContactGroup> get(core.String resourceName, {core.int maxMembers}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (resourceName == null) {
+ throw new core.ArgumentError("Parameter resourceName is required.");
+ }
+ if (maxMembers != null) {
+ _queryParams["maxMembers"] = ["${maxMembers}"];
+ }
+
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resourceName');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new ContactGroup.fromJson(data));
+ }
+
+ /**
+ * List all contact groups owned by the authenticated user. Members of the
+ * contact groups are not populated.
+ *
+ * Request parameters:
+ *
+ * [syncToken] - A sync token, returned by a previous call to
+ * `contactgroups.list`.
+ * Only resources changed since the sync token was created will be returned.
+ *
+ * [pageToken] - The next_page_token value returned from a previous call to
+ * [ListContactGroups](/people/api/rest/v1/contactgroups/list).
+ * Requests the next page of resources.
+ *
+ * [pageSize] - The maximum number of resources to return.
+ *
+ * Completes with a [ListContactGroupsResponse].
+ *
+ * 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<ListContactGroupsResponse> list({core.String syncToken, 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 (syncToken != null) {
+ _queryParams["syncToken"] = [syncToken];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+ if (pageSize != null) {
+ _queryParams["pageSize"] = ["${pageSize}"];
+ }
+
+ _url = 'v1/contactGroups';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new ListContactGroupsResponse.fromJson(data));
+ }
+
+ /**
+ * Update the name of an existing contact group owned by the authenticated
+ * user.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [resourceName] - The resource name for the contact group, assigned by the
+ * server. An ASCII
+ * string, in the form of `contactGroups/<contact_group_id>`.
+ * Value must have pattern "^contactGroups/[^/]+$".
+ *
+ * Completes with a [ContactGroup].
+ *
+ * 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<ContactGroup> update(UpdateContactGroupRequest request, core.String resourceName) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (resourceName == null) {
+ throw new core.ArgumentError("Parameter resourceName is required.");
+ }
+
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resourceName');
+
+ var _response = _requester.request(_url,
+ "PUT",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new ContactGroup.fromJson(data));
+ }
+
+}
+
+
+class ContactGroupsMembersResourceApi {
+ final commons.ApiRequester _requester;
+
+ ContactGroupsMembersResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Modify the members of a contact group owned by the authenticated user.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [resourceName] - The resource name of the contact group to modify.
+ * Value must have pattern "^contactGroups/[^/]+$".
+ *
+ * Completes with a [ModifyContactGroupMembersResponse].
+ *
+ * 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<ModifyContactGroupMembersResponse> modify(ModifyContactGroupMembersRequest request, core.String resourceName) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (resourceName == null) {
+ throw new core.ArgumentError("Parameter resourceName is required.");
+ }
+
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resourceName') + '/members:modify';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new ModifyContactGroupMembersResponse.fromJson(data));
+ }
+
+}
+
+
class PeopleResourceApi {
final commons.ApiRequester _requester;
@@ -62,8 +408,94 @@
_requester = client;
/**
+ * Create a new contact and return the person resource for that contact.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [parent] - The resource name of the owning person resource.
+ *
+ * Completes with a [Person].
+ *
+ * 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<Person> createContact(Person request, {core.String parent}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (parent != null) {
+ _queryParams["parent"] = [parent];
+ }
+
+ _url = 'v1/people:createContact';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Person.fromJson(data));
+ }
+
+ /**
+ * Delete a contact person. Any non-contact data will not be deleted.
+ *
+ * Request parameters:
+ *
+ * [resourceName] - The resource name of the contact to delete.
+ * Value must have pattern "^people/[^/]+$".
+ *
+ * Completes with a [Empty].
+ *
+ * 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<Empty> deleteContact(core.String resourceName) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (resourceName == null) {
+ throw new core.ArgumentError("Parameter resourceName is required.");
+ }
+
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resourceName') + ':deleteContact';
+
+ var _response = _requester.request(_url,
+ "DELETE",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Empty.fromJson(data));
+ }
+
+ /**
* Provides information about a person by specifying a resource name. Use
* `people/me` to indicate the authenticated user.
+ * <br>
+ * The request throws a 400 error if 'personFields' is not specified.
*
* Request parameters:
*
@@ -71,12 +503,45 @@
* about.
*
* - To get information about the authenticated user, specify `people/me`.
- * - To get information about any user, specify the resource name that
- * identifies the user, such as the resource names returned by
+ * - To get information about a google account, specify `people/<account_id>`.
+ * - To get information about a contact, specify the resource name that
+ * identifies the contact as returned by
* [`people.connections.list`](/people/api/rest/v1/people.connections/list).
* Value must have pattern "^people/[^/]+$".
*
- * [requestMask_includeField] - Required. Comma-separated list of person
+ * [personFields] - **Required.** A field mask to restrict which fields on the
+ * person are
+ * returned. Valid values are:
+ *
+ * * addresses
+ * * ageRanges
+ * * biographies
+ * * birthdays
+ * * braggingRights
+ * * coverPhotos
+ * * emailAddresses
+ * * events
+ * * genders
+ * * imClients
+ * * interests
+ * * locales
+ * * memberships
+ * * metadata
+ * * names
+ * * nicknames
+ * * occupations
+ * * organizations
+ * * phoneNumbers
+ * * photos
+ * * relations
+ * * relationshipInterests
+ * * relationshipStatuses
+ * * residences
+ * * skills
+ * * taglines
+ * * urls
+ *
+ * [requestMask_includeField] - **Required.** Comma-separated list of person
* fields to be included in the
* response. Each path should start with `person.`: for example,
* `person.names` or `person.photos`.
@@ -89,7 +554,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Person> get(core.String resourceName, {core.String requestMask_includeField}) {
+ async.Future<Person> get(core.String resourceName, {core.String personFields, core.String requestMask_includeField}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -100,6 +565,9 @@
if (resourceName == null) {
throw new core.ArgumentError("Parameter resourceName is required.");
}
+ if (personFields != null) {
+ _queryParams["personFields"] = [personFields];
+ }
if (requestMask_includeField != null) {
_queryParams["requestMask.includeField"] = [requestMask_includeField];
}
@@ -120,10 +588,12 @@
* Provides information about a list of specific people by specifying a list
* of requested resource names. Use `people/me` to indicate the authenticated
* user.
+ * <br>
+ * The request throws a 400 error if 'personFields' is not specified.
*
* Request parameters:
*
- * [requestMask_includeField] - Required. Comma-separated list of person
+ * [requestMask_includeField] - **Required.** Comma-separated list of person
* fields to be included in the
* response. Each path should start with `person.`: for example,
* `person.names` or `person.photos`.
@@ -133,6 +603,38 @@
* of one of the people to provide information about. You can include this
* parameter up to 50 times in one request.
*
+ * [personFields] - **Required.** A field mask to restrict which fields on
+ * each person are
+ * returned. Valid values are:
+ *
+ * * addresses
+ * * ageRanges
+ * * biographies
+ * * birthdays
+ * * braggingRights
+ * * coverPhotos
+ * * emailAddresses
+ * * events
+ * * genders
+ * * imClients
+ * * interests
+ * * locales
+ * * memberships
+ * * metadata
+ * * names
+ * * nicknames
+ * * occupations
+ * * organizations
+ * * phoneNumbers
+ * * photos
+ * * relations
+ * * relationshipInterests
+ * * relationshipStatuses
+ * * residences
+ * * skills
+ * * taglines
+ * * urls
+ *
* Completes with a [GetPeopleResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -141,7 +643,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<GetPeopleResponse> getBatchGet({core.String requestMask_includeField, core.List<core.String> resourceNames}) {
+ async.Future<GetPeopleResponse> getBatchGet({core.String requestMask_includeField, core.List<core.String> resourceNames, core.String personFields}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -155,6 +657,9 @@
if (resourceNames != null) {
_queryParams["resourceNames"] = resourceNames;
}
+ if (personFields != null) {
+ _queryParams["personFields"] = [personFields];
+ }
_url = 'v1/people:batchGet';
@@ -168,6 +673,91 @@
return _response.then((data) => new GetPeopleResponse.fromJson(data));
}
+ /**
+ * Update contact data for an existing contact person. Any non-contact data
+ * will not be modified.
+ *
+ * The request throws a 400 error if `updatePersonFields` is not specified.
+ * <br>
+ * The request throws a 400 error if `person.metadata.sources` is not
+ * specified for the contact to be updated.
+ * <br>
+ * The request throws a 412 error if `person.metadata.sources.etag` is
+ * different than the contact's etag, which indicates the contact has changed
+ * since its data was read. Clients should get the latest person and re-apply
+ * their updates to the latest person.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [resourceName] - The resource name for the person, assigned by the server.
+ * An ASCII string
+ * with a max length of 27 characters, in the form of `people/<person_id>`.
+ * Value must have pattern "^people/[^/]+$".
+ *
+ * [updatePersonFields] - **Required.** A field mask to restrict which fields
+ * on the person are
+ * updated. Valid values are:
+ *
+ * * addresses
+ * * biographies
+ * * birthdays
+ * * braggingRights
+ * * emailAddresses
+ * * events
+ * * genders
+ * * imClients
+ * * interests
+ * * locales
+ * * names
+ * * nicknames
+ * * occupations
+ * * organizations
+ * * phoneNumbers
+ * * relations
+ * * residences
+ * * skills
+ * * urls
+ *
+ * Completes with a [Person].
+ *
+ * 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<Person> updateContact(Person request, core.String resourceName, {core.String updatePersonFields}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (resourceName == null) {
+ throw new core.ArgumentError("Parameter resourceName is required.");
+ }
+ if (updatePersonFields != null) {
+ _queryParams["updatePersonFields"] = [updatePersonFields];
+ }
+
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resourceName') + ':updateContact';
+
+ var _response = _requester.request(_url,
+ "PATCH",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Person.fromJson(data));
+ }
+
}
@@ -179,7 +769,9 @@
/**
* Provides a list of the authenticated user's contacts merged with any
- * linked profiles.
+ * connected profiles.
+ * <br>
+ * The request throws a 400 error if 'personFields' is not specified.
*
* Request parameters:
*
@@ -187,19 +779,42 @@
* `people/me` is valid.
* Value must have pattern "^people/[^/]+$".
*
- * [requestMask_includeField] - Required. Comma-separated list of person
- * fields to be included in the
- * response. Each path should start with `person.`: for example,
- * `person.names` or `person.photos`.
- *
- * [pageSize] - The number of connections to include in the response. Valid
- * values are
- * between 1 and 2000, inclusive. Defaults to 100.
- *
* [syncToken] - A sync token, returned by a previous call to
* `people.connections.list`.
* Only resources changed since the sync token was created will be returned.
*
+ * [personFields] - **Required.** A field mask to restrict which fields on
+ * each person are
+ * returned. Valid values are:
+ *
+ * * addresses
+ * * ageRanges
+ * * biographies
+ * * birthdays
+ * * braggingRights
+ * * coverPhotos
+ * * emailAddresses
+ * * events
+ * * genders
+ * * imClients
+ * * interests
+ * * locales
+ * * memberships
+ * * metadata
+ * * names
+ * * nicknames
+ * * occupations
+ * * organizations
+ * * phoneNumbers
+ * * photos
+ * * relations
+ * * relationshipInterests
+ * * relationshipStatuses
+ * * residences
+ * * skills
+ * * taglines
+ * * urls
+ *
* [sortOrder] - The order in which the connections should be sorted. Defaults
* to
* `LAST_MODIFIED_ASCENDING`.
@@ -214,6 +829,15 @@
*
* [pageToken] - The token of the page to be returned.
*
+ * [pageSize] - The number of connections to include in the response. Valid
+ * values are
+ * between 1 and 2000, inclusive. Defaults to 100.
+ *
+ * [requestMask_includeField] - **Required.** Comma-separated list of person
+ * fields to be included in the
+ * response. Each path should start with `person.`: for example,
+ * `person.names` or `person.photos`.
+ *
* Completes with a [ListConnectionsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -222,7 +846,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListConnectionsResponse> list(core.String resourceName, {core.String requestMask_includeField, core.int pageSize, core.String syncToken, core.String sortOrder, core.bool requestSyncToken, core.String pageToken}) {
+ async.Future<ListConnectionsResponse> list(core.String resourceName, {core.String syncToken, core.String personFields, core.String sortOrder, core.bool requestSyncToken, core.String pageToken, core.int pageSize, core.String requestMask_includeField}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -233,15 +857,12 @@
if (resourceName == null) {
throw new core.ArgumentError("Parameter resourceName is required.");
}
- if (requestMask_includeField != null) {
- _queryParams["requestMask.includeField"] = [requestMask_includeField];
- }
- if (pageSize != null) {
- _queryParams["pageSize"] = ["${pageSize}"];
- }
if (syncToken != null) {
_queryParams["syncToken"] = [syncToken];
}
+ if (personFields != null) {
+ _queryParams["personFields"] = [personFields];
+ }
if (sortOrder != null) {
_queryParams["sortOrder"] = [sortOrder];
}
@@ -251,6 +872,12 @@
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
+ if (pageSize != null) {
+ _queryParams["pageSize"] = ["${pageSize}"];
+ }
+ if (requestMask_includeField != null) {
+ _queryParams["requestMask.includeField"] = [requestMask_includeField];
+ }
_url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resourceName') + '/connections';
@@ -436,6 +1063,28 @@
}
}
+/** The response to a batch get contact groups request. */
+class BatchGetContactGroupsResponse {
+ /** The list of responses for each requested contact group resource. */
+ core.List<ContactGroupResponse> responses;
+
+ BatchGetContactGroupsResponse();
+
+ BatchGetContactGroupsResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("responses")) {
+ responses = _json["responses"].map((value) => new ContactGroupResponse.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 (responses != null) {
+ _json["responses"] = responses.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
/** A person's short biography. */
class Biography {
/**
@@ -552,6 +1201,111 @@
}
}
+/** A contact group. */
+class ContactGroup {
+ /**
+ * The [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag) of the
+ * resource. Used for web cache validation.
+ */
+ core.String etag;
+ /**
+ * The read-only name translated and formatted in the viewer's account locale
+ * or the `Accept-Language` HTTP header locale for system groups names.
+ * Group names set by the owner are the same as name.
+ */
+ core.String formattedName;
+ /**
+ * The read-only contact group type.
+ * Possible string values are:
+ * - "GROUP_TYPE_UNSPECIFIED" : Unspecified.
+ * - "USER_CONTACT_GROUP" : User defined contact group.
+ * - "SYSTEM_CONTACT_GROUP" : System defined contact group.
+ */
+ core.String groupType;
+ /**
+ * The total number of contacts in the group irrespective of max members in
+ * specified in the request.
+ */
+ core.int memberCount;
+ /**
+ * The list of contact person resource names that are members of the contact
+ * group. The field is not populated for LIST requests and can only be updated
+ * through the
+ * [ModifyContactGroupMembers](/people/api/rest/v1/contactgroups/members/modify).
+ */
+ core.List<core.String> memberResourceNames;
+ /** Metadata about the contact group. */
+ ContactGroupMetadata metadata;
+ /**
+ * The contact group name set by the group owner or a system provided name
+ * for system groups.
+ */
+ core.String name;
+ /**
+ * The resource name for the contact group, assigned by the server. An ASCII
+ * string, in the form of `contactGroups/<contact_group_id>`.
+ */
+ core.String resourceName;
+
+ ContactGroup();
+
+ ContactGroup.fromJson(core.Map _json) {
+ if (_json.containsKey("etag")) {
+ etag = _json["etag"];
+ }
+ if (_json.containsKey("formattedName")) {
+ formattedName = _json["formattedName"];
+ }
+ if (_json.containsKey("groupType")) {
+ groupType = _json["groupType"];
+ }
+ if (_json.containsKey("memberCount")) {
+ memberCount = _json["memberCount"];
+ }
+ if (_json.containsKey("memberResourceNames")) {
+ memberResourceNames = _json["memberResourceNames"];
+ }
+ if (_json.containsKey("metadata")) {
+ metadata = new ContactGroupMetadata.fromJson(_json["metadata"]);
+ }
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("resourceName")) {
+ resourceName = _json["resourceName"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (etag != null) {
+ _json["etag"] = etag;
+ }
+ if (formattedName != null) {
+ _json["formattedName"] = formattedName;
+ }
+ if (groupType != null) {
+ _json["groupType"] = groupType;
+ }
+ if (memberCount != null) {
+ _json["memberCount"] = memberCount;
+ }
+ if (memberResourceNames != null) {
+ _json["memberResourceNames"] = memberResourceNames;
+ }
+ if (metadata != null) {
+ _json["metadata"] = (metadata).toJson();
+ }
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (resourceName != null) {
+ _json["resourceName"] = resourceName;
+ }
+ return _json;
+ }
+}
+
/** A Google contact group membership. */
class ContactGroupMembership {
/**
@@ -582,6 +1336,78 @@
}
}
+/** The read-only metadata about a contact group. */
+class ContactGroupMetadata {
+ /**
+ * True if the contact group resource has been deleted. Populated only for
+ * [`ListContactGroups`](/people/api/rest/v1/contactgroups/list) requests
+ * that include a sync token.
+ */
+ core.bool deleted;
+ /** The time the group was last updated. */
+ core.String updateTime;
+
+ ContactGroupMetadata();
+
+ ContactGroupMetadata.fromJson(core.Map _json) {
+ if (_json.containsKey("deleted")) {
+ deleted = _json["deleted"];
+ }
+ if (_json.containsKey("updateTime")) {
+ updateTime = _json["updateTime"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (deleted != null) {
+ _json["deleted"] = deleted;
+ }
+ if (updateTime != null) {
+ _json["updateTime"] = updateTime;
+ }
+ return _json;
+ }
+}
+
+/** The response for a specific contact group. */
+class ContactGroupResponse {
+ /** The contact group. */
+ ContactGroup contactGroup;
+ /** The original requested resource name. */
+ core.String requestedResourceName;
+ /** The status of the response. */
+ Status status;
+
+ ContactGroupResponse();
+
+ ContactGroupResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("contactGroup")) {
+ contactGroup = new ContactGroup.fromJson(_json["contactGroup"]);
+ }
+ if (_json.containsKey("requestedResourceName")) {
+ requestedResourceName = _json["requestedResourceName"];
+ }
+ if (_json.containsKey("status")) {
+ status = new Status.fromJson(_json["status"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (contactGroup != null) {
+ _json["contactGroup"] = (contactGroup).toJson();
+ }
+ if (requestedResourceName != null) {
+ _json["requestedResourceName"] = requestedResourceName;
+ }
+ if (status != null) {
+ _json["status"] = (status).toJson();
+ }
+ return _json;
+ }
+}
+
/**
* A person's read-only cover photo. A large image shown on the person's
* profile page that represents who they are or what they care about.
@@ -626,6 +1452,28 @@
}
}
+/** A request to create a new contact group. */
+class CreateContactGroupRequest {
+ /** The contact group to create. */
+ ContactGroup contactGroup;
+
+ CreateContactGroupRequest();
+
+ CreateContactGroupRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("contactGroup")) {
+ contactGroup = new ContactGroup.fromJson(_json["contactGroup"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (contactGroup != null) {
+ _json["contactGroup"] = (contactGroup).toJson();
+ }
+ return _json;
+ }
+}
+
/**
* Represents a whole calendar date, for example a date of birth. The time
* of day and time zone are either specified elsewhere or are not
@@ -765,6 +1613,30 @@
}
}
+/**
+ * A generic empty message that you can re-use to avoid defining duplicated
+ * empty messages in your APIs. A typical example is to use it as the request
+ * or the response type of an API method. For instance:
+ *
+ * service Foo {
+ * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+ * }
+ *
+ * The JSON representation for `Empty` is empty JSON object `{}`.
+ */
+class Empty {
+
+ Empty();
+
+ Empty.fromJson(core.Map _json) {
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ return _json;
+ }
+}
+
/** An event related to the person. */
class Event {
/** The date of the event. */
@@ -1064,8 +1936,8 @@
/** The total number of items in the list without pagination. */
core.int totalItems;
/**
- * DEPRECATED(Please use total_items). The total number of people in the list
- * without pagination.
+ * **DEPRECATED** (Please use totalItems)
+ * The total number of people in the list without pagination.
*/
core.int totalPeople;
@@ -1110,6 +1982,55 @@
}
}
+/** The response to a list contact groups request. */
+class ListContactGroupsResponse {
+ /**
+ * The list of contact groups. Members of the contact groups are not
+ * populated.
+ */
+ core.List<ContactGroup> contactGroups;
+ /** The token that can be used to retrieve the next page of results. */
+ core.String nextPageToken;
+ /** The token that can be used to retrieve changes since the last request. */
+ core.String nextSyncToken;
+ /** The total number of items in the list without pagination. */
+ core.int totalItems;
+
+ ListContactGroupsResponse();
+
+ ListContactGroupsResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("contactGroups")) {
+ contactGroups = _json["contactGroups"].map((value) => new ContactGroup.fromJson(value)).toList();
+ }
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("nextSyncToken")) {
+ nextSyncToken = _json["nextSyncToken"];
+ }
+ if (_json.containsKey("totalItems")) {
+ totalItems = _json["totalItems"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (contactGroups != null) {
+ _json["contactGroups"] = contactGroups.map((value) => (value).toJson()).toList();
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (nextSyncToken != null) {
+ _json["nextSyncToken"] = nextSyncToken;
+ }
+ if (totalItems != null) {
+ _json["totalItems"] = totalItems;
+ }
+ return _json;
+ }
+}
+
/** A person's locale preference. */
class Locale {
/** Metadata about the locale. */
@@ -1181,6 +2102,64 @@
}
}
+/** A request to modify an existing contact group's members. */
+class ModifyContactGroupMembersRequest {
+ /**
+ * The resource names of the contact people to add in the form of in the form
+ * `people/<person_id>`.
+ */
+ core.List<core.String> resourceNamesToAdd;
+ /**
+ * The resource names of the contact people to remove in the form of in the
+ * form of `people/<person_id>`.
+ */
+ core.List<core.String> resourceNamesToRemove;
+
+ ModifyContactGroupMembersRequest();
+
+ ModifyContactGroupMembersRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("resourceNamesToAdd")) {
+ resourceNamesToAdd = _json["resourceNamesToAdd"];
+ }
+ if (_json.containsKey("resourceNamesToRemove")) {
+ resourceNamesToRemove = _json["resourceNamesToRemove"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (resourceNamesToAdd != null) {
+ _json["resourceNamesToAdd"] = resourceNamesToAdd;
+ }
+ if (resourceNamesToRemove != null) {
+ _json["resourceNamesToRemove"] = resourceNamesToRemove;
+ }
+ return _json;
+ }
+}
+
+/** The response to a modify contact group members request. */
+class ModifyContactGroupMembersResponse {
+ /** The contact people resource names that were not found. */
+ core.List<core.String> notFoundResourceNames;
+
+ ModifyContactGroupMembersResponse();
+
+ ModifyContactGroupMembersResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("notFoundResourceNames")) {
+ notFoundResourceNames = _json["notFoundResourceNames"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (notFoundResourceNames != null) {
+ _json["notFoundResourceNames"] = notFoundResourceNames;
+ }
+ return _json;
+ }
+}
+
/** A person's name. If the name is a mononym, the family name is empty. */
class Name {
/**
@@ -1552,7 +2531,9 @@
/** The person's street addresses. */
core.List<Address> addresses;
/**
- * DEPRECATED(Please read person.age_ranges instead). The person's age range.
+ * **DEPRECATED** (Please use `person.ageRanges` instead)**
+ *
+ * The person's read-only age range.
* Possible string values are:
* - "AGE_RANGE_UNSPECIFIED" : Unspecified.
* - "LESS_THAN_EIGHTEEN" : Younger than eighteen.
@@ -1560,7 +2541,7 @@
* - "TWENTY_ONE_OR_OLDER" : Twenty-one and older.
*/
core.String ageRange;
- /** The person's age ranges. */
+ /** The person's read-only age ranges. */
core.List<AgeRangeType> ageRanges;
/** The person's biographies. */
core.List<Biography> biographies;
@@ -1568,7 +2549,7 @@
core.List<Birthday> birthdays;
/** The person's bragging rights. */
core.List<BraggingRights> braggingRights;
- /** The person's cover photos. */
+ /** The person's read-only cover photos. */
core.List<CoverPhoto> coverPhotos;
/** The person's email addresses. */
core.List<EmailAddress> emailAddresses;
@@ -1587,9 +2568,9 @@
core.List<Interest> interests;
/** The person's locale preferences. */
core.List<Locale> locales;
- /** The person's group memberships. */
+ /** The person's read-only group memberships. */
core.List<Membership> memberships;
- /** Metadata about the person. */
+ /** Read-only metadata about the person. */
PersonMetadata metadata;
/** The person's names. */
core.List<Name> names;
@@ -1601,13 +2582,13 @@
core.List<Organization> organizations;
/** The person's phone numbers. */
core.List<PhoneNumber> phoneNumbers;
- /** The person's photos. */
+ /** The person's read-only photos. */
core.List<Photo> photos;
/** The person's relations. */
core.List<Relation> relations;
- /** The kind of relationship the person is looking for. */
+ /** The person's read-only relationship interests. */
core.List<RelationshipInterest> relationshipInterests;
- /** The person's relationship statuses. */
+ /** The person's read-only relationship statuses. */
core.List<RelationshipStatus> relationshipStatuses;
/** The person's residences. */
core.List<Residence> residences;
@@ -1618,7 +2599,7 @@
core.String resourceName;
/** The person's skills. */
core.List<Skill> skills;
- /** The person's taglines. */
+ /** The person's read-only taglines. */
core.List<Tagline> taglines;
/** The person's associated URLs. */
core.List<Url> urls;
@@ -1825,7 +2806,9 @@
/** Resource names of people linked to this resource. */
core.List<core.String> linkedPeopleResourceNames;
/**
- * DEPRECATED(Please read person.metadata.sources.profile_metadata instead).
+ * **DEPRECATED** (Please use
+ * `person.metadata.sources.profileMetadata.objectType` instead)
+ *
* The type of the person object.
* Possible string values are:
* - "OBJECT_TYPE_UNSPECIFIED" : Unspecified.
@@ -1890,9 +2873,10 @@
/** The response for a single person */
class PersonResponse {
/**
- * DEPRECATED(Please use status instead).
- * [HTTP 1.1 status
- * code](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).
+ * **DEPRECATED** (Please use status instead)
+ *
+ * [HTTP 1.1 status code]
+ * (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).
*/
core.int httpStatusCode;
/** The person. */
@@ -1954,7 +2938,7 @@
core.String canonicalForm;
/**
* The read-only type of the phone number translated and formatted in the
- * viewer's account locale or the the `Accept-Language` HTTP header locale.
+ * viewer's account locale or the `Accept-Language` HTTP header locale.
*/
core.String formattedType;
/** Metadata about the phone number. */
@@ -2068,6 +3052,8 @@
* - "PAGE" : [Google+ Page.](http://www.google.com/+/brands/)
*/
core.String objectType;
+ /** The user types. */
+ core.List<core.String> userTypes;
ProfileMetadata();
@@ -2075,6 +3061,9 @@
if (_json.containsKey("objectType")) {
objectType = _json["objectType"];
}
+ if (_json.containsKey("userTypes")) {
+ userTypes = _json["userTypes"];
+ }
}
core.Map<core.String, core.Object> toJson() {
@@ -2082,6 +3071,9 @@
if (objectType != null) {
_json["objectType"] = objectType;
}
+ if (userTypes != null) {
+ _json["userTypes"] = userTypes;
+ }
return _json;
}
}
@@ -2349,16 +3341,18 @@
* - "ACCOUNT" : [Google Account](https://accounts.google.com).
* - "PROFILE" : [Google profile](https://profiles.google.com). You can view
* the
- * profile at https://profiles.google.com/<id> where <id> is the source
- * id.
+ * profile at https://profiles.google.com/<var>id</var> where
+ * <var>id</var> is the source id.
* - "DOMAIN_PROFILE" : [Google Apps domain
* profile](https://admin.google.com).
* - "CONTACT" : [Google contact](https://contacts.google.com). You can view
* the
- * contact at https://contact.google.com/<id> where <id> is the source
- * id.
+ * contact at https://contact.google.com/<var>id</var> where <var>id</var>
+ * is the source id.
*/
core.String type;
+ /** Last update timestamp of this source. */
+ core.String updateTime;
Source();
@@ -2375,6 +3369,9 @@
if (_json.containsKey("type")) {
type = _json["type"];
}
+ if (_json.containsKey("updateTime")) {
+ updateTime = _json["updateTime"];
+ }
}
core.Map<core.String, core.Object> toJson() {
@@ -2391,6 +3388,9 @@
if (type != null) {
_json["type"] = type;
}
+ if (updateTime != null) {
+ _json["updateTime"] = updateTime;
+ }
return _json;
}
}
@@ -2455,8 +3455,8 @@
/** 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 will be a
- * common set of message types for APIs to use.
+ * 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.
@@ -2528,6 +3528,30 @@
}
}
+/**
+ * A request to update an existing contact group. Only the name can be updated.
+ */
+class UpdateContactGroupRequest {
+ /** The contact group to update. */
+ ContactGroup contactGroup;
+
+ UpdateContactGroupRequest();
+
+ UpdateContactGroupRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("contactGroup")) {
+ contactGroup = new ContactGroup.fromJson(_json["contactGroup"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (contactGroup != null) {
+ _json["contactGroup"] = (contactGroup).toJson();
+ }
+ return _json;
+ }
+}
+
/** A person's associated URLs. */
class Url {
/**
diff --git a/generated/googleapis/lib/playmoviespartner/v1.dart b/generated/googleapis/lib/playmoviespartner/v1.dart
index 4fb19aa..f24bf7c 100644
--- a/generated/googleapis/lib/playmoviespartner/v1.dart
+++ b/generated/googleapis/lib/playmoviespartner/v1.dart
@@ -103,8 +103,6 @@
* [accountId] - REQUIRED. See _General rules_ for more information about this
* field.
*
- * [pphNames] - See _List methods rules_ for info about this field.
- *
* [altId] - Filter Avails that match a case-insensitive, partner-specific
* custom id.
* NOTE: this field is deprecated and will be removed on V2; `alt_ids`
@@ -130,6 +128,8 @@
* [altIds] - Filter Avails that match (case-insensitive) any of the given
* partner-specific custom ids.
*
+ * [pphNames] - See _List methods rules_ for info about this field.
+ *
* Completes with a [ListAvailsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -138,7 +138,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListAvailsResponse> list(core.String accountId, {core.List<core.String> pphNames, core.String altId, core.List<core.String> studioNames, core.List<core.String> territories, core.String title, core.String pageToken, core.List<core.String> videoIds, core.int pageSize, core.List<core.String> altIds}) {
+ async.Future<ListAvailsResponse> list(core.String accountId, {core.String altId, core.List<core.String> studioNames, core.List<core.String> territories, core.String title, core.String pageToken, core.List<core.String> videoIds, core.int pageSize, core.List<core.String> altIds, core.List<core.String> pphNames}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -149,9 +149,6 @@
if (accountId == null) {
throw new core.ArgumentError("Parameter accountId is required.");
}
- if (pphNames != null) {
- _queryParams["pphNames"] = pphNames;
- }
if (altId != null) {
_queryParams["altId"] = [altId];
}
@@ -176,6 +173,9 @@
if (altIds != null) {
_queryParams["altIds"] = altIds;
}
+ if (pphNames != null) {
+ _queryParams["pphNames"] = pphNames;
+ }
_url = 'v1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '/avails';
@@ -257,25 +257,25 @@
* [accountId] - REQUIRED. See _General rules_ for more information about this
* field.
*
- * [videoIds] - Filter Orders that match any of the given `video_id`s.
- *
- * [pageToken] - See _List methods rules_ for info about this field.
- *
- * [customId] - Filter Orders that match a case-insensitive, partner-specific
- * custom id.
- *
- * [pageSize] - See _List methods rules_ for info about this field.
- *
* [pphNames] - See _List methods rules_ for info about this field.
*
* [status] - Filter Orders that match one of the given status.
*
- * [studioNames] - See _List methods rules_ for info about this field.
- *
* [name] - Filter that matches Orders with a `name`, `show`, `season` or
* `episode`
* that contains the given case-insensitive name.
*
+ * [studioNames] - See _List methods rules_ for info about this field.
+ *
+ * [videoIds] - Filter Orders that match any of the given `video_id`s.
+ *
+ * [customId] - Filter Orders that match a case-insensitive, partner-specific
+ * custom id.
+ *
+ * [pageToken] - See _List methods rules_ for info about this field.
+ *
+ * [pageSize] - See _List methods rules_ for info about this field.
+ *
* Completes with a [ListOrdersResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -284,7 +284,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListOrdersResponse> list(core.String accountId, {core.List<core.String> videoIds, core.String pageToken, core.String customId, core.int pageSize, core.List<core.String> pphNames, core.List<core.String> status, core.List<core.String> studioNames, core.String name}) {
+ async.Future<ListOrdersResponse> list(core.String accountId, {core.List<core.String> pphNames, core.List<core.String> status, core.String name, core.List<core.String> studioNames, core.List<core.String> videoIds, core.String customId, core.String pageToken, core.int pageSize}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -295,29 +295,29 @@
if (accountId == null) {
throw new core.ArgumentError("Parameter accountId is required.");
}
- if (videoIds != null) {
- _queryParams["videoIds"] = videoIds;
- }
- if (pageToken != null) {
- _queryParams["pageToken"] = [pageToken];
- }
- if (customId != null) {
- _queryParams["customId"] = [customId];
- }
- if (pageSize != null) {
- _queryParams["pageSize"] = ["${pageSize}"];
- }
if (pphNames != null) {
_queryParams["pphNames"] = pphNames;
}
if (status != null) {
_queryParams["status"] = status;
}
+ if (name != null) {
+ _queryParams["name"] = [name];
+ }
if (studioNames != null) {
_queryParams["studioNames"] = studioNames;
}
- if (name != null) {
- _queryParams["name"] = [name];
+ if (videoIds != null) {
+ _queryParams["videoIds"] = videoIds;
+ }
+ if (customId != null) {
+ _queryParams["customId"] = [customId];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+ if (pageSize != null) {
+ _queryParams["pageSize"] = ["${pageSize}"];
}
_url = 'v1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '/orders';
@@ -354,15 +354,20 @@
* [accountId] - REQUIRED. See _General rules_ for more information about this
* field.
*
+ * [studioNames] - See _List methods rules_ for info about this field.
+ *
+ * [name] - Filter that matches StoreInfos with a `name` or `show_name`
+ * that contains the given case-insensitive name.
+ *
* [seasonIds] - Filter StoreInfos that match any of the given `season_id`s.
*
- * [videoIds] - Filter StoreInfos that match any of the given `video_id`s.
+ * [pageToken] - See _List methods rules_ for info about this field.
*
* [videoId] - Filter StoreInfos that match a given `video_id`.
* NOTE: this field is deprecated and will be removed on V2; `video_ids`
* should be used instead.
*
- * [pageToken] - See _List methods rules_ for info about this field.
+ * [videoIds] - Filter StoreInfos that match any of the given `video_id`s.
*
* [pageSize] - See _List methods rules_ for info about this field.
*
@@ -374,11 +379,6 @@
* given country
* codes, using the "ISO 3166-1 alpha-2" format (examples: "US", "us", "Us").
*
- * [studioNames] - See _List methods rules_ for info about this field.
- *
- * [name] - Filter that matches StoreInfos with a `name` or `show_name`
- * that contains the given case-insensitive name.
- *
* Completes with a [ListStoreInfosResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -387,7 +387,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListStoreInfosResponse> list(core.String accountId, {core.List<core.String> seasonIds, core.List<core.String> videoIds, core.String videoId, core.String pageToken, core.int pageSize, core.List<core.String> mids, core.List<core.String> pphNames, core.List<core.String> countries, core.List<core.String> studioNames, core.String name}) {
+ async.Future<ListStoreInfosResponse> list(core.String accountId, {core.List<core.String> studioNames, core.String name, core.List<core.String> seasonIds, core.String pageToken, core.String videoId, core.List<core.String> videoIds, core.int pageSize, core.List<core.String> mids, core.List<core.String> pphNames, core.List<core.String> countries}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -398,17 +398,23 @@
if (accountId == null) {
throw new core.ArgumentError("Parameter accountId is required.");
}
+ if (studioNames != null) {
+ _queryParams["studioNames"] = studioNames;
+ }
+ if (name != null) {
+ _queryParams["name"] = [name];
+ }
if (seasonIds != null) {
_queryParams["seasonIds"] = seasonIds;
}
- if (videoIds != null) {
- _queryParams["videoIds"] = videoIds;
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
}
if (videoId != null) {
_queryParams["videoId"] = [videoId];
}
- if (pageToken != null) {
- _queryParams["pageToken"] = [pageToken];
+ if (videoIds != null) {
+ _queryParams["videoIds"] = videoIds;
}
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
@@ -422,12 +428,6 @@
if (countries != null) {
_queryParams["countries"] = countries;
}
- if (studioNames != null) {
- _queryParams["studioNames"] = studioNames;
- }
- if (name != null) {
- _queryParams["name"] = [name];
- }
_url = 'v1/accounts/' + commons.Escaper.ecapeVariable('$accountId') + '/storeInfos';
diff --git a/generated/googleapis/lib/pubsub/v1.dart b/generated/googleapis/lib/pubsub/v1.dart
index 18db1e5..4447763 100644
--- a/generated/googleapis/lib/pubsub/v1.dart
+++ b/generated/googleapis/lib/pubsub/v1.dart
@@ -1261,6 +1261,7 @@
* * `group:{emailid}`: An email address that represents a Google group.
* For example, `admins@example.com`.
*
+ *
* * `domain:{domain}`: A Google Apps domain name that represents all the
* users of that domain. For example, `google.com` or `example.com`.
*/
@@ -1523,7 +1524,6 @@
class Policy {
/**
* Associates a list of `members` to a `role`.
- * Multiple `bindings` must not be specified for the same `role`.
* `bindings` with no members will result in an error.
*/
core.List<Binding> bindings;
diff --git a/generated/googleapis/lib/safebrowsing/v4.dart b/generated/googleapis/lib/safebrowsing/v4.dart
index 53c741b..0f635f0 100644
--- a/generated/googleapis/lib/safebrowsing/v4.dart
+++ b/generated/googleapis/lib/safebrowsing/v4.dart
@@ -105,12 +105,12 @@
*
* [encodedRequest] - A serialized FetchThreatListUpdatesRequest proto.
*
- * [clientVersion] - The version of the client implementation.
- *
* [clientId] - A client ID that uniquely identifies the client implementation
* of the Safe
* Browsing API.
*
+ * [clientVersion] - The version of the client implementation.
+ *
* Completes with a [FetchThreatListUpdatesResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -119,7 +119,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<FetchThreatListUpdatesResponse> get(core.String encodedRequest, {core.String clientVersion, core.String clientId}) {
+ async.Future<FetchThreatListUpdatesResponse> get(core.String encodedRequest, {core.String clientId, core.String clientVersion}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -130,12 +130,12 @@
if (encodedRequest == null) {
throw new core.ArgumentError("Parameter encodedRequest is required.");
}
- if (clientVersion != null) {
- _queryParams["clientVersion"] = [clientVersion];
- }
if (clientId != null) {
_queryParams["clientId"] = [clientId];
}
+ if (clientVersion != null) {
+ _queryParams["clientVersion"] = [clientVersion];
+ }
_url = 'v4/encodedUpdates/' + commons.Escaper.ecapeVariable('$encodedRequest');
diff --git a/generated/googleapis/lib/servicemanagement/v1.dart b/generated/googleapis/lib/servicemanagement/v1.dart
index 9e7711a..db2603c 100644
--- a/generated/googleapis/lib/servicemanagement/v1.dart
+++ b/generated/googleapis/lib/servicemanagement/v1.dart
@@ -96,10 +96,10 @@
*
* Request parameters:
*
- * [name] - Not used.
- *
* [pageToken] - The standard list page token.
*
+ * [name] - Not used.
+ *
* [pageSize] - The maximum number of operations to return. If unspecified,
* defaults to
* 50. The maximum value is 100.
@@ -134,7 +134,7 @@
* If the used [http_1.Client] completes with an error when making a REST
* call, this method will complete with the same error.
*/
- async.Future<ListOperationsResponse> list({core.String name, core.String pageToken, core.int pageSize, core.String filter}) {
+ 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;
@@ -142,12 +142,12 @@
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (name != null) {
- _queryParams["name"] = [name];
- }
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
+ if (name != null) {
+ _queryParams["name"] = [name];
+ }
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
@@ -469,8 +469,6 @@
* [overview](/service-management/overview)
* for naming requirements. For example: `example.googleapis.com`.
*
- * [configId] - The id of the service configuration resource.
- *
* [view] - Specifies which parts of the Service Config should be returned in
* the
* response.
@@ -478,6 +476,8 @@
* - "BASIC" : A BASIC.
* - "FULL" : A FULL.
*
+ * [configId] - The id of the service configuration resource.
+ *
* Completes with a [Service].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -486,7 +486,7 @@
* If the used [http_1.Client] completes with an error when making a REST
* call, this method will complete with the same error.
*/
- async.Future<Service> getConfig(core.String serviceName, {core.String configId, core.String view}) {
+ async.Future<Service> getConfig(core.String serviceName, {core.String view, core.String configId}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -497,12 +497,12 @@
if (serviceName == null) {
throw new core.ArgumentError("Parameter serviceName is required.");
}
- if (configId != null) {
- _queryParams["configId"] = [configId];
- }
if (view != null) {
_queryParams["view"] = [view];
}
+ if (configId != null) {
+ _queryParams["configId"] = [configId];
+ }
_url = 'v1/services/' + commons.Escaper.ecapeVariable('$serviceName') + '/config';
@@ -3320,7 +3320,7 @@
core.String description;
/**
* Textual representation of an expression in
- * [Common Expression Language](http://go/api-expr) syntax.
+ * Common Expression Language syntax.
*
* The application context of the containing message determines which
* well-known feature set of CEL is supported.
@@ -4325,7 +4325,31 @@
}
}
-/** Specifies what kind of log the caller must write */
+/**
+ * Specifies what kind of log the caller must write
+ * Increment a streamz counter with the specified metric and field names.
+ *
+ * Metric names should start with a '/', generally be lowercase-only,
+ * and end in "_count". Field names should not contain an initial slash.
+ * The actual exported metric names will have "/iam/policy" prepended.
+ *
+ * Field names correspond to IAM request parameters and field values are
+ * their respective values.
+ *
+ * At present the only supported field names are
+ * - "iam_principal", corresponding to IAMContext.principal;
+ * - "" (empty string), resulting in one aggretated counter with no field.
+ *
+ * Examples:
+ * counter { metric: "/debug_access_count" field: "iam_principal" }
+ * ==> increment counter /iam/policy/backend_debug_access_count
+ * {iam_principal=[value of IAMContext.principal]}
+ *
+ * At this time we do not support:
+ * * multiple field names (though this may be supported in the future)
+ * * decrementing the counter
+ * * incrementing it by anything other than 1
+ */
class LogConfig {
/** Cloud audit options. */
CloudAuditOptions cloudAudit;
@@ -7333,6 +7357,11 @@
* Refer to selector for syntax details.
*/
core.String selector;
+ /**
+ * True, if the method should skip service control. If so, no control plane
+ * feature (like quota and billing) will be enabled.
+ */
+ core.bool skipServiceControl;
UsageRule();
@@ -7343,6 +7372,9 @@
if (_json.containsKey("selector")) {
selector = _json["selector"];
}
+ if (_json.containsKey("skipServiceControl")) {
+ skipServiceControl = _json["skipServiceControl"];
+ }
}
core.Map<core.String, core.Object> toJson() {
@@ -7353,6 +7385,9 @@
if (selector != null) {
_json["selector"] = selector;
}
+ if (skipServiceControl != null) {
+ _json["skipServiceControl"] = skipServiceControl;
+ }
return _json;
}
}
diff --git a/generated/googleapis/lib/serviceuser/v1.dart b/generated/googleapis/lib/serviceuser/v1.dart
index d67f257..b5d00dc 100644
--- a/generated/googleapis/lib/serviceuser/v1.dart
+++ b/generated/googleapis/lib/serviceuser/v1.dart
@@ -4583,6 +4583,11 @@
* Refer to selector for syntax details.
*/
core.String selector;
+ /**
+ * True, if the method should skip service control. If so, no control plane
+ * feature (like quota and billing) will be enabled.
+ */
+ core.bool skipServiceControl;
UsageRule();
@@ -4593,6 +4598,9 @@
if (_json.containsKey("selector")) {
selector = _json["selector"];
}
+ if (_json.containsKey("skipServiceControl")) {
+ skipServiceControl = _json["skipServiceControl"];
+ }
}
core.Map<core.String, core.Object> toJson() {
@@ -4603,6 +4611,9 @@
if (selector != null) {
_json["selector"] = selector;
}
+ if (skipServiceControl != null) {
+ _json["skipServiceControl"] = skipServiceControl;
+ }
return _json;
}
}
diff --git a/generated/googleapis/lib/sheets/v4.dart b/generated/googleapis/lib/sheets/v4.dart
index 4627c81..01acbb6 100644
--- a/generated/googleapis/lib/sheets/v4.dart
+++ b/generated/googleapis/lib/sheets/v4.dart
@@ -181,11 +181,11 @@
*
* [spreadsheetId] - The spreadsheet to request.
*
- * [ranges] - The ranges to retrieve from the spreadsheet.
- *
* [includeGridData] - True if grid data should be returned.
* This parameter is ignored if a field mask was set in the request.
*
+ * [ranges] - The ranges to retrieve from the spreadsheet.
+ *
* Completes with a [Spreadsheet].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -194,7 +194,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Spreadsheet> get(core.String spreadsheetId, {core.List<core.String> ranges, core.bool includeGridData}) {
+ async.Future<Spreadsheet> get(core.String spreadsheetId, {core.bool includeGridData, core.List<core.String> ranges}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -205,12 +205,12 @@
if (spreadsheetId == null) {
throw new core.ArgumentError("Parameter spreadsheetId is required.");
}
- if (ranges != null) {
- _queryParams["ranges"] = ranges;
- }
if (includeGridData != null) {
_queryParams["includeGridData"] = ["${includeGridData}"];
}
+ if (ranges != null) {
+ _queryParams["ranges"] = ranges;
+ }
_url = 'v4/spreadsheets/' + commons.Escaper.ecapeVariable('$spreadsheetId');
@@ -317,6 +317,20 @@
* [range] - The A1 notation of a range to search for a logical table of data.
* Values will be appended after the last row of the table.
*
+ * [responseDateTimeRenderOption] - Determines how dates, times, and durations
+ * in the response should be
+ * rendered. This is ignored if response_value_render_option is
+ * FORMATTED_VALUE.
+ * The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].
+ * Possible string values are:
+ * - "SERIAL_NUMBER" : A SERIAL_NUMBER.
+ * - "FORMATTED_STRING" : A FORMATTED_STRING.
+ *
+ * [includeValuesInResponse] - Determines if the update response should
+ * include the values
+ * of the cells that were appended. By default, responses
+ * do not include the updated values.
+ *
* [responseValueRenderOption] - Determines how values in the response should
* be rendered.
* The default render option is ValueRenderOption.FORMATTED_VALUE.
@@ -336,20 +350,6 @@
* - "RAW" : A RAW.
* - "USER_ENTERED" : A USER_ENTERED.
*
- * [responseDateTimeRenderOption] - Determines how dates, times, and durations
- * in the response should be
- * rendered. This is ignored if response_value_render_option is
- * FORMATTED_VALUE.
- * The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].
- * Possible string values are:
- * - "SERIAL_NUMBER" : A SERIAL_NUMBER.
- * - "FORMATTED_STRING" : A FORMATTED_STRING.
- *
- * [includeValuesInResponse] - Determines if the update response should
- * include the values
- * of the cells that were appended. By default, responses
- * do not include the updated values.
- *
* Completes with a [AppendValuesResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -358,7 +358,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<AppendValuesResponse> append(ValueRange request, core.String spreadsheetId, core.String range, {core.String responseValueRenderOption, core.String insertDataOption, core.String valueInputOption, core.String responseDateTimeRenderOption, core.bool includeValuesInResponse}) {
+ async.Future<AppendValuesResponse> append(ValueRange request, core.String spreadsheetId, core.String range, {core.String responseDateTimeRenderOption, core.bool includeValuesInResponse, core.String responseValueRenderOption, core.String insertDataOption, core.String valueInputOption}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -375,6 +375,12 @@
if (range == null) {
throw new core.ArgumentError("Parameter range is required.");
}
+ if (responseDateTimeRenderOption != null) {
+ _queryParams["responseDateTimeRenderOption"] = [responseDateTimeRenderOption];
+ }
+ if (includeValuesInResponse != null) {
+ _queryParams["includeValuesInResponse"] = ["${includeValuesInResponse}"];
+ }
if (responseValueRenderOption != null) {
_queryParams["responseValueRenderOption"] = [responseValueRenderOption];
}
@@ -384,12 +390,6 @@
if (valueInputOption != null) {
_queryParams["valueInputOption"] = [valueInputOption];
}
- if (responseDateTimeRenderOption != null) {
- _queryParams["responseDateTimeRenderOption"] = [responseDateTimeRenderOption];
- }
- if (includeValuesInResponse != null) {
- _queryParams["includeValuesInResponse"] = ["${includeValuesInResponse}"];
- }
_url = 'v4/spreadsheets/' + commons.Escaper.ecapeVariable('$spreadsheetId') + '/values/' + commons.Escaper.ecapeVariable('$range') + ':append';
@@ -458,13 +458,6 @@
*
* [spreadsheetId] - The ID of the spreadsheet to retrieve data from.
*
- * [valueRenderOption] - How values should be represented in the output.
- * The default render option is ValueRenderOption.FORMATTED_VALUE.
- * Possible string values are:
- * - "FORMATTED_VALUE" : A FORMATTED_VALUE.
- * - "UNFORMATTED_VALUE" : A UNFORMATTED_VALUE.
- * - "FORMULA" : A FORMULA.
- *
* [dateTimeRenderOption] - How dates, times, and durations should be
* represented in the output.
* This is ignored if value_render_option is
@@ -474,7 +467,12 @@
* - "SERIAL_NUMBER" : A SERIAL_NUMBER.
* - "FORMATTED_STRING" : A FORMATTED_STRING.
*
- * [ranges] - The A1 notation of the values to retrieve.
+ * [valueRenderOption] - How values should be represented in the output.
+ * The default render option is ValueRenderOption.FORMATTED_VALUE.
+ * Possible string values are:
+ * - "FORMATTED_VALUE" : A FORMATTED_VALUE.
+ * - "UNFORMATTED_VALUE" : A UNFORMATTED_VALUE.
+ * - "FORMULA" : A FORMULA.
*
* [majorDimension] - The major dimension that results should use.
*
@@ -488,6 +486,8 @@
* - "ROWS" : A ROWS.
* - "COLUMNS" : A COLUMNS.
*
+ * [ranges] - The A1 notation of the values to retrieve.
+ *
* Completes with a [BatchGetValuesResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -496,7 +496,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<BatchGetValuesResponse> batchGet(core.String spreadsheetId, {core.String valueRenderOption, core.String dateTimeRenderOption, core.List<core.String> ranges, core.String majorDimension}) {
+ async.Future<BatchGetValuesResponse> batchGet(core.String spreadsheetId, {core.String dateTimeRenderOption, core.String valueRenderOption, core.String majorDimension, core.List<core.String> ranges}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -507,18 +507,18 @@
if (spreadsheetId == null) {
throw new core.ArgumentError("Parameter spreadsheetId is required.");
}
- if (valueRenderOption != null) {
- _queryParams["valueRenderOption"] = [valueRenderOption];
- }
if (dateTimeRenderOption != null) {
_queryParams["dateTimeRenderOption"] = [dateTimeRenderOption];
}
- if (ranges != null) {
- _queryParams["ranges"] = ranges;
+ if (valueRenderOption != null) {
+ _queryParams["valueRenderOption"] = [valueRenderOption];
}
if (majorDimension != null) {
_queryParams["majorDimension"] = [majorDimension];
}
+ if (ranges != null) {
+ _queryParams["ranges"] = ranges;
+ }
_url = 'v4/spreadsheets/' + commons.Escaper.ecapeVariable('$spreadsheetId') + '/values:batchGet';
@@ -641,22 +641,6 @@
*
* [range] - The A1 notation of the values to retrieve.
*
- * [valueRenderOption] - How values should be represented in the output.
- * The default render option is ValueRenderOption.FORMATTED_VALUE.
- * Possible string values are:
- * - "FORMATTED_VALUE" : A FORMATTED_VALUE.
- * - "UNFORMATTED_VALUE" : A UNFORMATTED_VALUE.
- * - "FORMULA" : A FORMULA.
- *
- * [dateTimeRenderOption] - How dates, times, and durations should be
- * represented in the output.
- * This is ignored if value_render_option is
- * FORMATTED_VALUE.
- * The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].
- * Possible string values are:
- * - "SERIAL_NUMBER" : A SERIAL_NUMBER.
- * - "FORMATTED_STRING" : A FORMATTED_STRING.
- *
* [majorDimension] - The major dimension that results should use.
*
* For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`,
@@ -669,6 +653,22 @@
* - "ROWS" : A ROWS.
* - "COLUMNS" : A COLUMNS.
*
+ * [dateTimeRenderOption] - How dates, times, and durations should be
+ * represented in the output.
+ * This is ignored if value_render_option is
+ * FORMATTED_VALUE.
+ * The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].
+ * Possible string values are:
+ * - "SERIAL_NUMBER" : A SERIAL_NUMBER.
+ * - "FORMATTED_STRING" : A FORMATTED_STRING.
+ *
+ * [valueRenderOption] - How values should be represented in the output.
+ * The default render option is ValueRenderOption.FORMATTED_VALUE.
+ * Possible string values are:
+ * - "FORMATTED_VALUE" : A FORMATTED_VALUE.
+ * - "UNFORMATTED_VALUE" : A UNFORMATTED_VALUE.
+ * - "FORMULA" : A FORMULA.
+ *
* Completes with a [ValueRange].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -677,7 +677,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ValueRange> get(core.String spreadsheetId, core.String range, {core.String valueRenderOption, core.String dateTimeRenderOption, core.String majorDimension}) {
+ async.Future<ValueRange> get(core.String spreadsheetId, core.String range, {core.String majorDimension, core.String dateTimeRenderOption, core.String valueRenderOption}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -691,14 +691,14 @@
if (range == null) {
throw new core.ArgumentError("Parameter range is required.");
}
- if (valueRenderOption != null) {
- _queryParams["valueRenderOption"] = [valueRenderOption];
+ if (majorDimension != null) {
+ _queryParams["majorDimension"] = [majorDimension];
}
if (dateTimeRenderOption != null) {
_queryParams["dateTimeRenderOption"] = [dateTimeRenderOption];
}
- if (majorDimension != null) {
- _queryParams["majorDimension"] = [majorDimension];
+ if (valueRenderOption != null) {
+ _queryParams["valueRenderOption"] = [valueRenderOption];
}
_url = 'v4/spreadsheets/' + commons.Escaper.ecapeVariable('$spreadsheetId') + '/values/' + commons.Escaper.ecapeVariable('$range');
@@ -2695,8 +2695,8 @@
core.List<CandlestickData> data;
/**
* The domain data (horizontal axis) for the candlestick chart. String data
- * will be treated as discrete labels, other data will be treated as continous
- * values.
+ * will be treated as discrete labels, other data will be treated as
+ * continuous values.
*/
CandlestickDomain domain;
@@ -6397,6 +6397,28 @@
}
}
+/** Randomizes the order of the rows in a range. */
+class RandomizeRangeRequest {
+ /** The range to randomize. */
+ GridRange range;
+
+ RandomizeRangeRequest();
+
+ RandomizeRangeRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("range")) {
+ range = new GridRange.fromJson(_json["range"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (range != null) {
+ _json["range"] = (range).toJson();
+ }
+ return _json;
+ }
+}
+
/**
* Updates all cells in the range to the values in the given Cell object.
* Only the fields listed in the fields field are updated; others are
@@ -6520,6 +6542,8 @@
MoveDimensionRequest moveDimension;
/** Pastes data (HTML or delimited) into a sheet. */
PasteDataRequest pasteData;
+ /** Randomizes the order of the rows in a range. */
+ RandomizeRangeRequest randomizeRange;
/** Repeats a single cell across a range. */
RepeatCellRequest repeatCell;
/** Sets the basic filter on a sheet. */
@@ -6653,6 +6677,9 @@
if (_json.containsKey("pasteData")) {
pasteData = new PasteDataRequest.fromJson(_json["pasteData"]);
}
+ if (_json.containsKey("randomizeRange")) {
+ randomizeRange = new RandomizeRangeRequest.fromJson(_json["randomizeRange"]);
+ }
if (_json.containsKey("repeatCell")) {
repeatCell = new RepeatCellRequest.fromJson(_json["repeatCell"]);
}
@@ -6804,6 +6831,9 @@
if (pasteData != null) {
_json["pasteData"] = (pasteData).toJson();
}
+ if (randomizeRange != null) {
+ _json["randomizeRange"] = (randomizeRange).toJson();
+ }
if (repeatCell != null) {
_json["repeatCell"] = (repeatCell).toJson();
}
diff --git a/generated/googleapis/lib/slides/v1.dart b/generated/googleapis/lib/slides/v1.dart
index 1843e3b..e8238a9 100644
--- a/generated/googleapis/lib/slides/v1.dart
+++ b/generated/googleapis/lib/slides/v1.dart
@@ -260,13 +260,6 @@
*
* [pageObjectId] - The object ID of the page whose thumbnail to retrieve.
*
- * [thumbnailProperties_mimeType] - The optional mime type of the thumbnail
- * image.
- *
- * If you don't specify the mime type, the default mime type will be PNG.
- * Possible string values are:
- * - "PNG" : A PNG.
- *
* [thumbnailProperties_thumbnailSize] - The optional thumbnail image size.
*
* If you don't specify the size, the server chooses a default size of the
@@ -275,6 +268,13 @@
* - "THUMBNAIL_SIZE_UNSPECIFIED" : A THUMBNAIL_SIZE_UNSPECIFIED.
* - "LARGE" : A LARGE.
*
+ * [thumbnailProperties_mimeType] - The optional mime type of the thumbnail
+ * image.
+ *
+ * If you don't specify the mime type, the default mime type will be PNG.
+ * Possible string values are:
+ * - "PNG" : A PNG.
+ *
* Completes with a [Thumbnail].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -283,7 +283,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<Thumbnail> getThumbnail(core.String presentationId, core.String pageObjectId, {core.String thumbnailProperties_mimeType, core.String thumbnailProperties_thumbnailSize}) {
+ async.Future<Thumbnail> getThumbnail(core.String presentationId, core.String pageObjectId, {core.String thumbnailProperties_thumbnailSize, core.String thumbnailProperties_mimeType}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -297,12 +297,12 @@
if (pageObjectId == null) {
throw new core.ArgumentError("Parameter pageObjectId is required.");
}
- if (thumbnailProperties_mimeType != null) {
- _queryParams["thumbnailProperties.mimeType"] = [thumbnailProperties_mimeType];
- }
if (thumbnailProperties_thumbnailSize != null) {
_queryParams["thumbnailProperties.thumbnailSize"] = [thumbnailProperties_thumbnailSize];
}
+ if (thumbnailProperties_mimeType != null) {
+ _queryParams["thumbnailProperties.mimeType"] = [thumbnailProperties_mimeType];
+ }
_url = 'v1/presentations/' + commons.Escaper.ecapeVariable('$presentationId') + '/pages/' + commons.Escaper.ecapeVariable('$pageObjectId') + '/thumbnail';
@@ -2524,7 +2524,7 @@
* relevant for pages with page_type LAYOUT.
*/
class LayoutProperties {
- /** The human readable name of the layout in the presentation's locale. */
+ /** The human-readable name of the layout. */
core.String displayName;
/** The object ID of the master that this layout is based on. */
core.String masterObjectId;
diff --git a/generated/googleapis/lib/spanner/v1.dart b/generated/googleapis/lib/spanner/v1.dart
index fadcaf2..340b45a 100644
--- a/generated/googleapis/lib/spanner/v1.dart
+++ b/generated/googleapis/lib/spanner/v1.dart
@@ -22,6 +22,12 @@
/** View and manage your data across Google Cloud Platform services */
static const CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform";
+ /** Administer your Spanner databases */
+ static const SpannerAdminScope = "https://www.googleapis.com/auth/spanner.admin";
+
+ /** View and manage the contents of your Spanner databases */
+ static const SpannerDataScope = "https://www.googleapis.com/auth/spanner.data";
+
final commons.ApiRequester _requester;
@@ -1262,21 +1268,26 @@
* 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 below allows API services to override the binding
- * to use different resource name schemes, such as `users / * /operations`.
+ * 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:
*
- * [name] - The name of the operation collection.
+ * [name] - The name of the operation's parent resource.
* Value must have pattern
* "^projects/[^/]+/instances/[^/]+/databases/[^/]+/operations$".
*
- * [filter] - The standard list filter.
- *
* [pageToken] - The standard list page token.
*
* [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
@@ -1285,7 +1296,7 @@
* 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 name, {core.String filter, core.String pageToken, core.int pageSize}) {
+ async.Future<ListOperationsResponse> list(core.String name, {core.String pageToken, core.int pageSize, core.String filter}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -1296,15 +1307,15 @@
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}"];
}
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
_url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
@@ -1992,20 +2003,25 @@
* 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 below allows API services to override the binding
- * to use different resource name schemes, such as `users / * /operations`.
+ * 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:
*
- * [name] - The name of the operation collection.
+ * [name] - The name of the operation's parent resource.
* Value must have pattern "^projects/[^/]+/instances/[^/]+/operations$".
*
- * [pageSize] - The standard list page size.
- *
* [filter] - The standard list filter.
*
* [pageToken] - The standard list page token.
*
+ * [pageSize] - The standard list page size.
+ *
* Completes with a [ListOperationsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -2014,7 +2030,7 @@
* 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 name, {core.int pageSize, core.String filter, core.String pageToken}) {
+ async.Future<ListOperationsResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -2025,15 +2041,15 @@
if (name == null) {
throw new core.ArgumentError("Parameter name is required.");
}
- if (pageSize != null) {
- _queryParams["pageSize"] = ["${pageSize}"];
- }
if (filter != null) {
_queryParams["filter"] = [filter];
}
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
+ if (pageSize != null) {
+ _queryParams["pageSize"] = ["${pageSize}"];
+ }
_url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
@@ -2233,6 +2249,14 @@
/** Associates `members` with a `role`. */
class Binding {
/**
+ * The condition that is associated with this binding.
+ * NOTE: an unsatisfied condition will not allow user access via current
+ * binding. Different bindings, including their conditions, are examined
+ * independently.
+ * This field is GOOGLE_INTERNAL.
+ */
+ Expr condition;
+ /**
* Specifies the identities requesting access for a Cloud Platform resource.
* `members` can have the following values:
*
@@ -2252,6 +2276,7 @@
* * `group:{emailid}`: An email address that represents a Google group.
* For example, `admins@example.com`.
*
+ *
* * `domain:{domain}`: A Google Apps domain name that represents all the
* users of that domain. For example, `google.com` or `example.com`.
*/
@@ -2266,6 +2291,9 @@
Binding();
Binding.fromJson(core.Map _json) {
+ if (_json.containsKey("condition")) {
+ condition = new Expr.fromJson(_json["condition"]);
+ }
if (_json.containsKey("members")) {
members = _json["members"];
}
@@ -2276,6 +2304,9 @@
core.Map<core.String, core.Object> toJson() {
final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (condition != null) {
+ _json["condition"] = (condition).toJson();
+ }
if (members != null) {
_json["members"] = members;
}
@@ -2343,14 +2374,28 @@
/** Write a Cloud Audit log */
class CloudAuditOptions {
+ /**
+ * The log_name to populate in the Cloud Audit Record.
+ * Possible string values are:
+ * - "UNSPECIFIED_LOG_NAME" : Default. Should not be used.
+ * - "ADMIN_ACTIVITY" : Corresponds to "cloudaudit.googleapis.com/activity"
+ * - "DATA_ACCESS" : Corresponds to "cloudaudit.googleapis.com/data_access"
+ */
+ core.String logName;
CloudAuditOptions();
CloudAuditOptions.fromJson(core.Map _json) {
+ if (_json.containsKey("logName")) {
+ logName = _json["logName"];
+ }
}
core.Map<core.String, core.Object> toJson() {
final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (logName != null) {
+ _json["logName"] = logName;
+ }
return _json;
}
}
@@ -2461,7 +2506,6 @@
* member of the specified group. Approvers can only grant additional
* access, and are thus only used in a strictly positive context
* (e.g. ALLOW/IN or DENY/NOT_IN).
- * See: go/rpc-security-policy-dynamicauth.
* - "JUSTIFICATION_TYPE" : What types of justifications have been supplied
* with this request.
* String values should match enum names from tech.iam.JustificationType,
@@ -2977,6 +3021,74 @@
}
}
+/**
+ * Represents an expression text. Example:
+ *
+ * title: "User account presence"
+ * description: "Determines whether the request has a user account"
+ * expression: "size(request.user) > 0"
+ */
+class Expr {
+ /**
+ * An optional description of the expression. This is a longer text which
+ * describes the expression, e.g. when hovered over it in a UI.
+ */
+ core.String description;
+ /**
+ * Textual representation of an expression in
+ * [Common Expression Language](http://go/api-expr) syntax.
+ *
+ * The application context of the containing message determines which
+ * well-known feature set of CEL is supported.
+ */
+ core.String expression;
+ /**
+ * An optional string indicating the location of the expression for error
+ * reporting, e.g. a file name and a position in the file.
+ */
+ core.String location;
+ /**
+ * An optional title for the expression, i.e. a short string describing
+ * its purpose. This can be used e.g. in UIs which allow to enter the
+ * expression.
+ */
+ core.String title;
+
+ Expr();
+
+ Expr.fromJson(core.Map _json) {
+ if (_json.containsKey("description")) {
+ description = _json["description"];
+ }
+ if (_json.containsKey("expression")) {
+ expression = _json["expression"];
+ }
+ if (_json.containsKey("location")) {
+ location = _json["location"];
+ }
+ if (_json.containsKey("title")) {
+ title = _json["title"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (description != null) {
+ _json["description"] = description;
+ }
+ if (expression != null) {
+ _json["expression"] = expression;
+ }
+ if (location != null) {
+ _json["location"] = location;
+ }
+ if (title != null) {
+ _json["title"] = title;
+ }
+ return _json;
+ }
+}
+
/** Message representing a single field of a struct. */
class Field {
/**
@@ -4060,7 +4172,6 @@
core.List<AuditConfig> auditConfigs;
/**
* Associates a list of `members` to a `role`.
- * Multiple `bindings` must not be specified for the same `role`.
* `bindings` with no members will result in an error.
*/
core.List<Binding> bindings;
@@ -4173,7 +4284,7 @@
}
}
-/** Options for read-only transactions. */
+/** Message type to initiate a read-only transaction. */
class ReadOnly {
/**
* Executes all reads at a timestamp that is `exact_staleness`
@@ -4396,7 +4507,10 @@
}
}
-/** Options for read-write transactions. */
+/**
+ * Message type to initiate a read-write transaction. Currently this
+ * transaction type has no options.
+ */
class ReadWrite {
ReadWrite();
@@ -4799,7 +4913,7 @@
* 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` which can be used for common error conditions.
+ * in the package `google.rpc` that can be used for common error conditions.
*
* # Language mapping
*
@@ -4822,7 +4936,7 @@
* errors.
*
* - Workflow errors. A typical workflow has multiple steps. Each step may
- * have a `Status` message for error reporting purpose.
+ * 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
diff --git a/generated/googleapis/lib/speech/v1.dart b/generated/googleapis/lib/speech/v1.dart
index b2169f5..e99fcf4 100644
--- a/generated/googleapis/lib/speech/v1.dart
+++ b/generated/googleapis/lib/speech/v1.dart
@@ -189,13 +189,13 @@
*
* Request parameters:
*
- * [name] - The name of the operation's parent resource.
+ * [filter] - The standard list filter.
*
* [pageToken] - The standard list page token.
*
- * [pageSize] - The standard list page size.
+ * [name] - The name of the operation's parent resource.
*
- * [filter] - The standard list filter.
+ * [pageSize] - The standard list page size.
*
* Completes with a [ListOperationsResponse].
*
@@ -205,7 +205,7 @@
* 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 name, core.String pageToken, core.int pageSize, core.String filter}) {
+ async.Future<ListOperationsResponse> list({core.String filter, core.String pageToken, core.String name, core.int pageSize}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -213,18 +213,18 @@
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (name != null) {
- _queryParams["name"] = [name];
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
}
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';
@@ -804,8 +804,7 @@
* indicates an estimated greater likelihood that the recognized words are
* correct. This field is typically provided only for the top hypothesis, and
* only for `is_final=true` results. Clients should not rely on the
- * `confidence` field as it is not guaranteed to be accurate, or even set, in
- * any of the results.
+ * `confidence` field as it is not guaranteed to be accurate or consistent.
* The default of 0.0 is a sentinel value indicating `confidence` was not set.
*/
core.double confidence;
diff --git a/generated/googleapis/lib/storagetransfer/v1.dart b/generated/googleapis/lib/storagetransfer/v1.dart
index e3f750c..722f6dd 100644
--- a/generated/googleapis/lib/storagetransfer/v1.dart
+++ b/generated/googleapis/lib/storagetransfer/v1.dart
@@ -439,8 +439,6 @@
* [name] - The value `transferOperations`.
* Value must have pattern "^transferOperations$".
*
- * [pageSize] - The list page size. The max allowed value is 256.
- *
* [filter] - A list of query parameters specified as JSON text in the form of
* {\"project_id\" : \"my_project_id\", \"job_names\" : [\"jobid1\",
* \"jobid2\",...], \"operation_names\" : [\"opid1\", \"opid2\",...],
@@ -451,6 +449,8 @@
*
* [pageToken] - The list page token.
*
+ * [pageSize] - The list page size. The max allowed value is 256.
+ *
* Completes with a [ListOperationsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -459,7 +459,7 @@
* 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 name, {core.int pageSize, core.String filter, core.String pageToken}) {
+ async.Future<ListOperationsResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -470,15 +470,15 @@
if (name == null) {
throw new core.ArgumentError("Parameter name is required.");
}
- if (pageSize != null) {
- _queryParams["pageSize"] = ["${pageSize}"];
- }
if (filter != null) {
_queryParams["filter"] = [filter];
}
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
+ if (pageSize != null) {
+ _queryParams["pageSize"] = ["${pageSize}"];
+ }
_url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
@@ -1954,10 +1954,15 @@
class TransferOptions {
/**
* Whether objects should be deleted from the source after they are
- * transferred to the sink.
+ * transferred to the sink. Note that this option and
+ * `deleteObjectsUniqueInSink` are mutually exclusive.
*/
core.bool deleteObjectsFromSourceAfterTransfer;
- /** Whether objects that exist only in the sink should be deleted. */
+ /**
+ * Whether objects that exist only in the sink should be deleted. Note that
+ * this option and `deleteObjectsFromSourceAfterTransfer` are mutually
+ * exclusive.
+ */
core.bool deleteObjectsUniqueInSink;
/** Whether overwriting objects that already exist in the sink is allowed. */
core.bool overwriteObjectsAlreadyExistingInSink;
diff --git a/generated/googleapis/lib/translate/v2.dart b/generated/googleapis/lib/translate/v2.dart
index 35663b5..e5cd8a5 100644
--- a/generated/googleapis/lib/translate/v2.dart
+++ b/generated/googleapis/lib/translate/v2.dart
@@ -138,12 +138,12 @@
*
* Request parameters:
*
+ * [model] - The model type for which supported languages should be returned.
+ *
* [target] - The language to use to return localized, human readable names of
* supported
* languages.
*
- * [model] - The model type for which supported languages should be returned.
- *
* Completes with a [LanguagesListResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -152,7 +152,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<LanguagesListResponse> list({core.String target, core.String model}) {
+ async.Future<LanguagesListResponse> list({core.String model, core.String target}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -160,12 +160,12 @@
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (target != null) {
- _queryParams["target"] = [target];
- }
if (model != null) {
_queryParams["model"] = [model];
}
+ if (target != null) {
+ _queryParams["target"] = [target];
+ }
_url = 'v2/languages';
@@ -201,6 +201,9 @@
* one of the
* language codes listed in Language Support.
*
+ * [model] - The `model` type requested for this translation. Valid values are
+ * listed in public documentation.
+ *
* [source] - The language of the source text, set to one of the language
* codes listed in
* Language Support. If the source language is not specified, the API will
@@ -216,9 +219,6 @@
* - "html" : Specifies the input is in HTML
* - "text" : Specifies the input is in plain textual format
*
- * [model] - The `model` type requested for this translation. Valid values are
- * listed in public documentation.
- *
* Completes with a [TranslationsListResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -227,7 +227,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<TranslationsListResponse> list(core.List<core.String> q, core.String target, {core.String source, core.List<core.String> cid, core.String format, core.String model}) {
+ async.Future<TranslationsListResponse> list(core.List<core.String> q, core.String target, {core.String model, core.String source, core.List<core.String> cid, core.String format}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -243,6 +243,9 @@
throw new core.ArgumentError("Parameter target is required.");
}
_queryParams["target"] = [target];
+ if (model != null) {
+ _queryParams["model"] = [model];
+ }
if (source != null) {
_queryParams["source"] = [source];
}
@@ -252,9 +255,6 @@
if (format != null) {
_queryParams["format"] = [format];
}
- if (model != null) {
- _queryParams["model"] = [model];
- }
_url = 'v2';
diff --git a/generated/googleapis/lib/vision/v1.dart b/generated/googleapis/lib/vision/v1.dart
index 5111e2d..5c5df61 100644
--- a/generated/googleapis/lib/vision/v1.dart
+++ b/generated/googleapis/lib/vision/v1.dart
@@ -23,6 +23,9 @@
/** View and manage your data across Google Cloud Platform services */
static const CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform";
+ /** Apply machine learning models to understand and label images */
+ static const CloudVisionScope = "https://www.googleapis.com/auth/cloud-vision";
+
final commons.ApiRequester _requester;
diff --git a/generated/googleapis/lib/youtubereporting/v1.dart b/generated/googleapis/lib/youtubereporting/v1.dart
index fc1a545..0cf211e 100644
--- a/generated/googleapis/lib/youtubereporting/v1.dart
+++ b/generated/googleapis/lib/youtubereporting/v1.dart
@@ -193,25 +193,25 @@
*
* Request parameters:
*
- * [pageToken] - A token identifying a page of results the server should
- * return. Typically,
- * this is the value of
- * ListReportTypesResponse.next_page_token
- * returned in response to the previous call to the `ListJobs` method.
+ * [onBehalfOfContentOwner] - The content owner's external ID on which behalf
+ * the user is acting on. If
+ * not set, the user is acting for himself (his own channel).
*
* [includeSystemManaged] - If set to true, also system-managed jobs will be
* returned; otherwise only
* user-created jobs will be returned. System-managed jobs can neither be
* modified nor deleted.
*
+ * [pageToken] - A token identifying a page of results the server should
+ * return. Typically,
+ * this is the value of
+ * ListReportTypesResponse.next_page_token
+ * returned in response to the previous call to the `ListJobs` method.
+ *
* [pageSize] - Requested page size. Server may return fewer jobs than
* requested.
* If unspecified, server will pick an appropriate default.
*
- * [onBehalfOfContentOwner] - The content owner's external ID on which behalf
- * the user is acting on. If
- * not set, the user is acting for himself (his own channel).
- *
* Completes with a [ListJobsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -220,7 +220,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListJobsResponse> list({core.String pageToken, core.bool includeSystemManaged, core.int pageSize, core.String onBehalfOfContentOwner}) {
+ async.Future<ListJobsResponse> list({core.String onBehalfOfContentOwner, core.bool includeSystemManaged, core.String pageToken, core.int pageSize}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -228,18 +228,18 @@
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (pageToken != null) {
- _queryParams["pageToken"] = [pageToken];
+ if (onBehalfOfContentOwner != null) {
+ _queryParams["onBehalfOfContentOwner"] = [onBehalfOfContentOwner];
}
if (includeSystemManaged != null) {
_queryParams["includeSystemManaged"] = ["${includeSystemManaged}"];
}
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}
- if (onBehalfOfContentOwner != null) {
- _queryParams["onBehalfOfContentOwner"] = [onBehalfOfContentOwner];
- }
_url = 'v1/jobs';
@@ -321,10 +321,6 @@
*
* [jobId] - The ID of the job.
*
- * [startTimeBefore] - If set, only reports whose start time is smaller than
- * the specified
- * date/time are returned.
- *
* [createdAfter] - If set, only reports created after the specified date/time
* are returned.
*
@@ -346,6 +342,10 @@
* the user is acting on. If
* not set, the user is acting for himself (his own channel).
*
+ * [startTimeBefore] - If set, only reports whose start time is smaller than
+ * the specified
+ * date/time are returned.
+ *
* Completes with a [ListReportsResponse].
*
* Completes with a [commons.ApiRequestError] if the API endpoint returned an
@@ -354,7 +354,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListReportsResponse> list(core.String jobId, {core.String startTimeBefore, core.String createdAfter, core.String startTimeAtOrAfter, core.String pageToken, core.int pageSize, core.String onBehalfOfContentOwner}) {
+ async.Future<ListReportsResponse> list(core.String jobId, {core.String createdAfter, core.String startTimeAtOrAfter, core.String pageToken, core.int pageSize, core.String onBehalfOfContentOwner, core.String startTimeBefore}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -365,9 +365,6 @@
if (jobId == null) {
throw new core.ArgumentError("Parameter jobId is required.");
}
- if (startTimeBefore != null) {
- _queryParams["startTimeBefore"] = [startTimeBefore];
- }
if (createdAfter != null) {
_queryParams["createdAfter"] = [createdAfter];
}
@@ -383,6 +380,9 @@
if (onBehalfOfContentOwner != null) {
_queryParams["onBehalfOfContentOwner"] = [onBehalfOfContentOwner];
}
+ if (startTimeBefore != null) {
+ _queryParams["startTimeBefore"] = [startTimeBefore];
+ }
_url = 'v1/jobs/' + commons.Escaper.ecapeVariable('$jobId') + '/reports';
@@ -476,17 +476,17 @@
*
* Request parameters:
*
+ * [includeSystemManaged] - If set to true, also system-managed report types
+ * will be returned;
+ * otherwise only the report types that can be used to create new reporting
+ * jobs will be returned.
+ *
* [pageToken] - A token identifying a page of results the server should
* return. Typically,
* this is the value of
* ListReportTypesResponse.next_page_token
* returned in response to the previous call to the `ListReportTypes` method.
*
- * [includeSystemManaged] - If set to true, also system-managed report types
- * will be returned;
- * otherwise only the report types that can be used to create new reporting
- * jobs will be returned.
- *
* [pageSize] - Requested page size. Server may return fewer report types than
* requested.
* If unspecified, server will pick an appropriate default.
@@ -503,7 +503,7 @@
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListReportTypesResponse> list({core.String pageToken, core.bool includeSystemManaged, core.int pageSize, core.String onBehalfOfContentOwner}) {
+ async.Future<ListReportTypesResponse> list({core.bool includeSystemManaged, core.String pageToken, core.int pageSize, core.String onBehalfOfContentOwner}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -511,12 +511,12 @@
var _downloadOptions = commons.DownloadOptions.Metadata;
var _body = null;
- if (pageToken != null) {
- _queryParams["pageToken"] = [pageToken];
- }
if (includeSystemManaged != null) {
_queryParams["includeSystemManaged"] = ["${includeSystemManaged}"];
}
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
if (pageSize != null) {
_queryParams["pageSize"] = ["${pageSize}"];
}