Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(201)

Unified Diff: generated/googleapis/lib/ml/v1.dart

Issue 2973303002: Api-Roll 51: 2017-07-10 (Closed)
Patch Set: Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « generated/googleapis/lib/manufacturers/v1.dart ('k') | generated/googleapis/lib/monitoring/v3.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: generated/googleapis/lib/ml/v1.dart
diff --git a/generated/googleapis/lib/ml/v1.dart b/generated/googleapis/lib/ml/v1.dart
index ea6b7f14132ee1538c6b3d4e0d4cb638ba588623..2cabb4283cd0df680aa51216de79e88109db17d8 100644
--- a/generated/googleapis/lib/ml/v1.dart
+++ b/generated/googleapis/lib/ml/v1.dart
@@ -48,8 +48,6 @@ class ProjectsResourceApi {
* 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 @@ class ProjectsResourceApi {
*
* [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 @@ class ProjectsJobsResourceApi {
* 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 @@ class ProjectsJobsResourceApi {
* 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 @@ class ProjectsJobsResourceApi {
* 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 @@ class ProjectsJobsResourceApi {
* 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 @@ class ProjectsJobsResourceApi {
*
* 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 @@ class ProjectsJobsResourceApi {
* 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 @@ class ProjectsJobsResourceApi {
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 @@ class ProjectsModelsResourceApi {
* 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 @@ class ProjectsModelsResourceApi {
* 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 @@ class ProjectsModelsResourceApi {
* 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].
@@ -495,6 +479,50 @@ class ProjectsModelsResourceApi {
return _response.then((data) => new GoogleCloudMlV1Model.fromJson(data));
}
+ /**
+ * 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.
*
@@ -504,8 +532,6 @@ class ProjectsModelsResourceApi {
* 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 @@ class ProjectsModelsResourceApi {
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 @@ class ProjectsModelsVersionsResourceApi {
* 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 @@ class ProjectsModelsVersionsResourceApi {
* 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 @@ class ProjectsModelsVersionsResourceApi {
* 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 @@ class ProjectsModelsVersionsResourceApi {
* 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 @@ class ProjectsModelsVersionsResourceApi {
* 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 @@ class GoogleCloudMlV1Version {
* 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 @@ class GoogleCloudMlV1Version {
* 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 @@ class GoogleCloudMlV1Version {
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 @@ class GoogleCloudMlV1Version {
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 @@ class GoogleCloudMlV1Version {
if (description != null) {
_json["description"] = description;
}
+ if (errorMessage != null) {
+ _json["errorMessage"] = errorMessage;
+ }
if (isDefault != null) {
_json["isDefault"] = isDefault;
}
@@ -2730,6 +2871,9 @@ class GoogleCloudMlV1Version {
if (runtimeVersion != null) {
_json["runtimeVersion"] = runtimeVersion;
}
+ if (state != null) {
+ _json["state"] = state;
+ }
return _json;
}
}
@@ -2916,6 +3060,8 @@ class GoogleCloudMlV1beta1Version {
* 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 @@ class GoogleCloudMlV1beta1Version {
* 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 @@ class GoogleCloudMlV1beta1Version {
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 @@ class GoogleCloudMlV1beta1Version {
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 @@ class GoogleCloudMlV1beta1Version {
if (description != null) {
_json["description"] = description;
}
+ if (errorMessage != null) {
+ _json["errorMessage"] = errorMessage;
+ }
if (isDefault != null) {
_json["isDefault"] = isDefault;
}
@@ -3008,6 +3173,795 @@ class GoogleCloudMlV1beta1Version {
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 @@ class GoogleRpcStatus {
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;
+ }
+}
« no previous file with comments | « generated/googleapis/lib/manufacturers/v1.dart ('k') | generated/googleapis/lib/monitoring/v3.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698