Index: generated/googleapis/lib/iam/v1.dart |
diff --git a/generated/googleapis/lib/iam/v1.dart b/generated/googleapis/lib/iam/v1.dart |
index 2e29a755ac1cb9f1b3b8e6e99e79898cec2fa4aa..d2b3f4447a277318004fc6dbb16481fd4d3e4ab5 100644 |
--- a/generated/googleapis/lib/iam/v1.dart |
+++ b/generated/googleapis/lib/iam/v1.dart |
@@ -27,6 +27,7 @@ class IamApi { |
final commons.ApiRequester _requester; |
ProjectsResourceApi get projects => new ProjectsResourceApi(_requester); |
+ RolesResourceApi get roles => new RolesResourceApi(_requester); |
IamApi(http.Client client, {core.String rootUrl: "https://iam.googleapis.com/", core.String servicePath: ""}) : |
_requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT); |
@@ -52,14 +53,14 @@ class ProjectsServiceAccountsResourceApi { |
_requester = client; |
/** |
- * Creates a service account and returns it. |
+ * Creates a ServiceAccount and returns it. |
* |
* [request] - The metadata request object. |
* |
* Request parameters: |
* |
* [name] - Required. The resource name of the project associated with the |
- * service accounts, such as "projects/123" |
+ * service accounts, such as `projects/my-project-123`. |
* Value must have pattern "^projects/[^/]*$". |
* |
* Completes with a [ServiceAccount]. |
@@ -98,14 +99,14 @@ class ProjectsServiceAccountsResourceApi { |
} |
/** |
- * Deletes a service acount. |
+ * Deletes a ServiceAccount. |
* |
* Request parameters: |
* |
- * [name] - The resource name of the service account in the format |
- * "projects/{project}/serviceAccounts/{account}". Using '-' as a wildcard for |
- * the project, will infer the project from the account. The account value can |
- * be the email address or the unique_id of the service account. |
+ * [name] - The resource name of the service account in the following format: |
+ * `projects/{project}/serviceAccounts/{account}`. Using `-` as a wildcard for |
+ * the project will infer the project from the account. The `account` value |
+ * can be the `email` address or the `unique_id` of the service account. |
* Value must have pattern "^projects/[^/] * / serviceAccounts/[^/]*$". |
* |
* Completes with a [Empty]. |
@@ -141,14 +142,14 @@ class ProjectsServiceAccountsResourceApi { |
} |
/** |
- * Gets a ServiceAccount |
+ * Gets a ServiceAccount. |
* |
* Request parameters: |
* |
- * [name] - The resource name of the service account in the format |
- * "projects/{project}/serviceAccounts/{account}". Using '-' as a wildcard for |
- * the project, will infer the project from the account. The account value can |
- * be the email address or the unique_id of the service account. |
+ * [name] - The resource name of the service account in the following format: |
+ * `projects/{project}/serviceAccounts/{account}`. Using `-` as a wildcard for |
+ * the project will infer the project from the account. The `account` value |
+ * can be the `email` address or the `unique_id` of the service account. |
* Value must have pattern "^projects/[^/] * / serviceAccounts/[^/]*$". |
* |
* Completes with a [ServiceAccount]. |
@@ -184,15 +185,13 @@ class ProjectsServiceAccountsResourceApi { |
} |
/** |
- * Returns the IAM access control policy for specified IAM resource. |
+ * Returns the IAM access control policy for a ServiceAccount. |
* |
* Request parameters: |
* |
* [resource] - REQUIRED: The resource for which the policy is being |
- * requested. `resource` is usually specified as a path, such as `projects / * |
- * project * / zones / * zone * / disks / * disk*`. The format for the path |
- * specified in this value is resource specific and is specified in the |
- * `getIamPolicy` documentation. |
+ * requested. `resource` is usually specified as a path. For example, a |
+ * Project resource is specified as `projects/{project}`. |
* Value must have pattern "^projects/[^/] * / serviceAccounts/[^/]*$". |
* |
* Completes with a [Policy]. |
@@ -228,20 +227,20 @@ class ProjectsServiceAccountsResourceApi { |
} |
/** |
- * Lists service accounts for a project. |
+ * Lists ServiceAccounts for a project. |
* |
* Request parameters: |
* |
* [name] - Required. The resource name of the project associated with the |
- * service accounts, such as "projects/123" |
+ * service accounts, such as `projects/my-project-123`. |
* Value must have pattern "^projects/[^/]*$". |
* |
* [pageSize] - Optional limit on the number of service accounts to include in |
* the response. Further accounts can subsequently be obtained by including |
- * the [ListServiceAccountsResponse.next_page_token] in a subsequent request. |
+ * the ListServiceAccountsResponse.next_page_token in a subsequent request. |
* |
* [pageToken] - Optional pagination token returned in an earlier |
- * [ListServiceAccountsResponse.next_page_token]. |
+ * ListServiceAccountsResponse.next_page_token. |
* |
* Completes with a [ListServiceAccountsResponse]. |
* |
@@ -282,17 +281,15 @@ class ProjectsServiceAccountsResourceApi { |
} |
/** |
- * Sets the IAM access control policy for the specified IAM resource. |
+ * Sets the IAM access control policy for a ServiceAccount. |
* |
* [request] - The metadata request object. |
* |
* Request parameters: |
* |
* [resource] - REQUIRED: The resource for which the policy is being |
- * specified. `resource` is usually specified as a path, such as `projects / * |
- * project * / zones / * zone * / disks / * disk*`. The format for the path |
- * specified in this value is resource specific and is specified in the |
- * `setIamPolicy` documentation. |
+ * specified. `resource` is usually specified as a path. For example, a |
+ * Project resource is specified as `projects/{project}`. |
* Value must have pattern "^projects/[^/] * / serviceAccounts/[^/]*$". |
* |
* Completes with a [Policy]. |
@@ -331,16 +328,16 @@ class ProjectsServiceAccountsResourceApi { |
} |
/** |
- * Signs a blob using a service account. |
+ * Signs a blob using a service account's system-managed private key. |
* |
* [request] - The metadata request object. |
* |
* Request parameters: |
* |
- * [name] - The resource name of the service account in the format |
- * "projects/{project}/serviceAccounts/{account}". Using '-' as a wildcard for |
- * the project, will infer the project from the account. The account value can |
- * be the email address or the unique_id of the service account. |
+ * [name] - The resource name of the service account in the following format: |
+ * `projects/{project}/serviceAccounts/{account}`. Using `-` as a wildcard for |
+ * the project will infer the project from the account. The `account` value |
+ * can be the `email` address or the `unique_id` of the service account. |
* Value must have pattern "^projects/[^/] * / serviceAccounts/[^/]*$". |
* |
* Completes with a [SignBlobResponse]. |
@@ -379,18 +376,16 @@ class ProjectsServiceAccountsResourceApi { |
} |
/** |
- * Tests the specified permissions against the IAM access control policy for |
- * the specified IAM resource. |
+ * Tests the specified permissions against the IAM access control policy for a |
+ * ServiceAccount. |
* |
* [request] - The metadata request object. |
* |
* Request parameters: |
* |
* [resource] - REQUIRED: The resource for which the policy detail is being |
- * requested. `resource` is usually specified as a path, such as `projects / * |
- * project * / zones / * zone * / disks / * disk*`. The format for the path |
- * specified in this value is resource specific and is specified in the |
- * `testIamPermissions` documentation. |
+ * requested. `resource` is usually specified as a path. For example, a |
+ * Project resource is specified as `projects/{project}`. |
* Value must have pattern "^projects/[^/] * / serviceAccounts/[^/]*$". |
* |
* Completes with a [TestIamPermissionsResponse]. |
@@ -429,19 +424,19 @@ class ProjectsServiceAccountsResourceApi { |
} |
/** |
- * Updates a service account. Currently, only the following fields are |
- * updatable: 'display_name' . The 'etag' is mandatory. |
+ * Updates a ServiceAccount. Currently, only the following fields are |
+ * updatable: `display_name` . The `etag` is mandatory. |
* |
* [request] - The metadata request object. |
* |
* Request parameters: |
* |
- * [name] - The resource name of the service account in the format |
- * "projects/{project}/serviceAccounts/{account}". In requests using '-' as a |
- * wildcard for the project, will infer the project from the account and the |
- * account value can be the email address or the unique_id of the service |
- * account. In responses the resource name will always be in the format |
- * "projects/{project}/serviceAccounts/{email}". |
+ * [name] - The resource name of the service account in the following format: |
+ * `projects/{project}/serviceAccounts/{account}`. Requests using `-` as a |
+ * wildcard for the project will infer the project from the `account` and the |
+ * `account` value can be the `email` address or the `unique_id` of the |
+ * service account. In responses the resource name will always be in the |
+ * format `projects/{project}/serviceAccounts/{email}`. |
* Value must have pattern "^projects/[^/] * / serviceAccounts/[^/]*$". |
* |
* Completes with a [ServiceAccount]. |
@@ -489,16 +484,16 @@ class ProjectsServiceAccountsKeysResourceApi { |
_requester = client; |
/** |
- * Creates a service account key and returns it. |
+ * Creates a ServiceAccountKey and returns it. |
* |
* [request] - The metadata request object. |
* |
* Request parameters: |
* |
- * [name] - The resource name of the service account in the format |
- * "projects/{project}/serviceAccounts/{account}". Using '-' as a wildcard for |
- * the project, will infer the project from the account. The account value can |
- * be the email address or the unique_id of the service account. |
+ * [name] - The resource name of the service account in the following format: |
+ * `projects/{project}/serviceAccounts/{account}`. Using `-` as a wildcard for |
+ * the project will infer the project from the account. The `account` value |
+ * can be the `email` address or the `unique_id` of the service account. |
* Value must have pattern "^projects/[^/] * / serviceAccounts/[^/]*$". |
* |
* Completes with a [ServiceAccountKey]. |
@@ -537,15 +532,15 @@ class ProjectsServiceAccountsKeysResourceApi { |
} |
/** |
- * Deletes a service account key. |
+ * Deletes a ServiceAccountKey. |
* |
* Request parameters: |
* |
- * [name] - The resource name of the service account key in the format |
- * "projects/{project}/serviceAccounts/{account}/keys/{key}". Using '-' as a |
- * wildcard for the project will infer the project from the account. The |
- * account value can be the email address or the unique_id of the service |
- * account. |
+ * [name] - The resource name of the service account key in the following |
+ * format: `projects/{project}/serviceAccounts/{account}/keys/{key}`. Using |
+ * `-` as a wildcard for the project will infer the project from the account. |
+ * The `account` value can be the `email` address or the `unique_id` of the |
+ * service account. |
* Value must have pattern "^projects/[^/] * / serviceAccounts/[^/] * / |
* keys/[^/]*$". |
* |
@@ -586,14 +581,21 @@ class ProjectsServiceAccountsKeysResourceApi { |
* |
* Request parameters: |
* |
- * [name] - The resource name of the service account key in the format |
- * "projects/{project}/serviceAccounts/{account}/keys/{key}". Using '-' as a |
- * wildcard for the project will infer the project from the account. The |
- * account value can be the email address or the unique_id of the service |
- * account. |
+ * [name] - The resource name of the service account key in the following |
+ * format: `projects/{project}/serviceAccounts/{account}/keys/{key}`. Using |
+ * `-` as a wildcard for the project will infer the project from the account. |
+ * The `account` value can be the `email` address or the `unique_id` of the |
+ * service account. |
* Value must have pattern "^projects/[^/] * / serviceAccounts/[^/] * / |
* keys/[^/]*$". |
* |
+ * [publicKeyType] - The output format of the public key requested. X509_PEM |
+ * is the default output format. |
+ * Possible string values are: |
+ * - "TYPE_NONE" : A TYPE_NONE. |
+ * - "TYPE_X509_PEM_FILE" : A TYPE_X509_PEM_FILE. |
+ * - "TYPE_RAW_PUBLIC_KEY" : A TYPE_RAW_PUBLIC_KEY. |
+ * |
* Completes with a [ServiceAccountKey]. |
* |
* Completes with a [commons.ApiRequestError] if the API endpoint returned an |
@@ -602,7 +604,7 @@ class ProjectsServiceAccountsKeysResourceApi { |
* If the used [http.Client] completes with an error when making a REST call, |
* this method will complete with the same error. |
*/ |
- async.Future<ServiceAccountKey> get(core.String name) { |
+ async.Future<ServiceAccountKey> get(core.String name, {core.String publicKeyType}) { |
var _url = null; |
var _queryParams = new core.Map(); |
var _uploadMedia = null; |
@@ -613,6 +615,9 @@ class ProjectsServiceAccountsKeysResourceApi { |
if (name == null) { |
throw new core.ArgumentError("Parameter name is required."); |
} |
+ if (publicKeyType != null) { |
+ _queryParams["publicKeyType"] = [publicKeyType]; |
+ } |
_url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); |
@@ -627,18 +632,19 @@ class ProjectsServiceAccountsKeysResourceApi { |
} |
/** |
- * Lists service account keys |
+ * Lists ServiceAccountKeys. |
* |
* Request parameters: |
* |
- * [name] - The resource name of the service account in the format |
- * "projects/{project}/serviceAccounts/{account}". Using '-' as a wildcard for |
- * the project, will infer the project from the account. The account value can |
- * be the email address or the unique_id of the service account. |
+ * [name] - The resource name of the service account in the following format: |
+ * `projects/{project}/serviceAccounts/{account}`. Using `-` as a wildcard for |
+ * the project, will infer the project from the account. The `account` value |
+ * can be the `email` address or the `unique_id` of the service account. |
* Value must have pattern "^projects/[^/] * / serviceAccounts/[^/]*$". |
* |
- * [keyTypes] - The type of keys the user wants to list. If empty, all key |
- * types are included in the response. Duplicate key types are not allowed. |
+ * [keyTypes] - Filters the types of keys the user wants to include in the |
+ * list response. Duplicate key types are not allowed. If no key type is |
+ * provided, all keys are returned. |
* |
* Completes with a [ListServiceAccountKeysResponse]. |
* |
@@ -678,6 +684,81 @@ class ProjectsServiceAccountsKeysResourceApi { |
} |
+class RolesResourceApi { |
+ final commons.ApiRequester _requester; |
+ |
+ RolesResourceApi(commons.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Queries roles that can be granted on a particular resource. A role is |
+ * grantable if it can be used as the role in a binding for a policy for that |
+ * resource. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * Completes with a [QueryGrantableRolesResponse]. |
+ * |
+ * 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<QueryGrantableRolesResponse> queryGrantableRoles(QueryGrantableRolesRequest 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/roles:queryGrantableRoles'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new QueryGrantableRolesResponse.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+ |
+/** |
+ * Audit log information specific to Cloud IAM. This message is serialized as an |
+ * `Any` type in the `ServiceData` message of an `AuditLog` message. |
+ */ |
+class AuditData { |
+ /** Policy delta between the original policy and the newly set policy. */ |
+ PolicyDelta policyDelta; |
+ |
+ AuditData(); |
+ |
+ AuditData.fromJson(core.Map _json) { |
+ if (_json.containsKey("policyDelta")) { |
+ policyDelta = new PolicyDelta.fromJson(_json["policyDelta"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (policyDelta != null) { |
+ _json["policyDelta"] = (policyDelta).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
/** Associates `members` with a `role`. */ |
class Binding { |
@@ -726,131 +807,54 @@ class Binding { |
} |
} |
-/** Write a Cloud Audit log */ |
-class CloudAuditOptions { |
- |
- CloudAuditOptions(); |
- |
- CloudAuditOptions.fromJson(core.Map _json) { |
- } |
- |
- core.Map toJson() { |
- var _json = new core.Map(); |
- return _json; |
- } |
-} |
- |
-/** A condition to be met. */ |
-class Condition { |
+/** |
+ * One delta entry for Binding. Each individual change (only one member in each |
+ * entry) to a binding will be a separate entry. |
+ */ |
+class BindingDelta { |
/** |
- * Trusted attributes supplied by the IAM system. |
+ * The action that was performed on a Binding. Required |
* Possible string values are: |
- * - "NO_ATTR" : A NO_ATTR. |
- * - "AUTHORITY" : A AUTHORITY. |
- * - "ATTRIBUTION" : A ATTRIBUTION. |
+ * - "ACTION_UNSPECIFIED" : A ACTION_UNSPECIFIED. |
+ * - "ADD" : A ADD. |
+ * - "REMOVE" : A REMOVE. |
*/ |
- core.String iam; |
+ core.String action; |
/** |
- * An operator to apply the subject with. |
- * Possible string values are: |
- * - "NO_OP" : A NO_OP. |
- * - "EQUALS" : A EQUALS. |
- * - "NOT_EQUALS" : A NOT_EQUALS. |
- * - "IN" : A IN. |
- * - "NOT_IN" : A NOT_IN. |
- * - "DISCHARGED" : A DISCHARGED. |
+ * A single identity requesting access for a Cloud Platform resource. Follows |
+ * the same format of Binding.members. Required |
*/ |
- core.String op; |
- /** Trusted attributes discharged by the service. */ |
- core.String svc; |
+ core.String member; |
/** |
- * Trusted attributes supplied by any service that owns resources and uses the |
- * IAM system for access control. |
- * Possible string values are: |
- * - "NO_ATTR" : A NO_ATTR. |
- * - "REGION" : A REGION. |
- * - "SERVICE" : A SERVICE. |
- * - "NAME" : A NAME. |
- * - "IP" : A IP. |
+ * Role that is assigned to `members`. For example, `roles/viewer`, |
+ * `roles/editor`, or `roles/owner`. Required |
*/ |
- core.String sys; |
- /** The object of the condition. Exactly one of these must be set. */ |
- core.String value; |
- /** The objects of the condition. This is mutually exclusive with 'value'. */ |
- core.List<core.String> values; |
+ core.String role; |
- Condition(); |
+ BindingDelta(); |
- Condition.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"]; |
+ BindingDelta.fromJson(core.Map _json) { |
+ if (_json.containsKey("action")) { |
+ action = _json["action"]; |
} |
- if (_json.containsKey("value")) { |
- value = _json["value"]; |
+ if (_json.containsKey("member")) { |
+ member = _json["member"]; |
} |
- if (_json.containsKey("values")) { |
- values = _json["values"]; |
+ if (_json.containsKey("role")) { |
+ role = _json["role"]; |
} |
} |
core.Map toJson() { |
var _json = new core.Map(); |
- 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; |
- } |
-} |
- |
-/** Options for counters */ |
-class CounterOptions { |
- /** The field value to attribute. */ |
- core.String field; |
- /** The metric to update. */ |
- core.String metric; |
- |
- CounterOptions(); |
- |
- CounterOptions.fromJson(core.Map _json) { |
- if (_json.containsKey("field")) { |
- field = _json["field"]; |
- } |
- if (_json.containsKey("metric")) { |
- metric = _json["metric"]; |
+ if (action != null) { |
+ _json["action"] = action; |
} |
- } |
- |
- core.Map toJson() { |
- var _json = new core.Map(); |
- if (field != null) { |
- _json["field"] = field; |
+ if (member != null) { |
+ _json["member"] = member; |
} |
- if (metric != null) { |
- _json["metric"] = metric; |
+ if (role != null) { |
+ _json["role"] = role; |
} |
return _json; |
} |
@@ -859,7 +863,17 @@ class CounterOptions { |
/** The service account key create request. */ |
class CreateServiceAccountKeyRequest { |
/** |
- * The type of the key requested. GOOGLE_CREDENTIALS is the default key type. |
+ * Which type of key and algorithm to use for the key. The default is |
+ * currently a 4K RSA key. However this may change in the future. |
+ * Possible string values are: |
+ * - "KEY_ALG_UNSPECIFIED" : A KEY_ALG_UNSPECIFIED. |
+ * - "KEY_ALG_RSA_1024" : A KEY_ALG_RSA_1024. |
+ * - "KEY_ALG_RSA_2048" : A KEY_ALG_RSA_2048. |
+ */ |
+ core.String keyAlgorithm; |
+ /** |
+ * The output format of the private key. `GOOGLE_CREDENTIALS_FILE` is the |
+ * default output format. |
* Possible string values are: |
* - "TYPE_UNSPECIFIED" : A TYPE_UNSPECIFIED. |
* - "TYPE_PKCS12_FILE" : A TYPE_PKCS12_FILE. |
@@ -870,6 +884,9 @@ class CreateServiceAccountKeyRequest { |
CreateServiceAccountKeyRequest(); |
CreateServiceAccountKeyRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("keyAlgorithm")) { |
+ keyAlgorithm = _json["keyAlgorithm"]; |
+ } |
if (_json.containsKey("privateKeyType")) { |
privateKeyType = _json["privateKeyType"]; |
} |
@@ -877,6 +894,9 @@ class CreateServiceAccountKeyRequest { |
core.Map toJson() { |
var _json = new core.Map(); |
+ if (keyAlgorithm != null) { |
+ _json["keyAlgorithm"] = keyAlgorithm; |
+ } |
if (privateKeyType != null) { |
_json["privateKeyType"] = privateKeyType; |
} |
@@ -888,14 +908,14 @@ class CreateServiceAccountKeyRequest { |
class CreateServiceAccountRequest { |
/** |
* Required. The account id that is used to generate the service account email |
- * address and a stable unique id. It is unique within a project, must be 1-63 |
- * characters long, and match the regular expression [a-z]([-a-z0-9]*[a-z0-9]) |
- * to comply with RFC1035. |
+ * address and a stable unique id. It is unique within a project, must be 6-30 |
+ * characters long, and match the regular expression |
+ * `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035. |
*/ |
core.String accountId; |
/** |
* The ServiceAccount resource to create. Currently, only the following values |
- * are user assignable: display_name . |
+ * are user assignable: `display_name` . |
*/ |
ServiceAccount serviceAccount; |
@@ -922,20 +942,6 @@ class CreateServiceAccountRequest { |
} |
} |
-/** Write a Data Access (Gin) log */ |
-class DataAccessOptions { |
- |
- DataAccessOptions(); |
- |
- DataAccessOptions.fromJson(core.Map _json) { |
- } |
- |
- core.Map toJson() { |
- var _json = new core.Map(); |
- 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 |
@@ -984,7 +990,7 @@ class ListServiceAccountsResponse { |
core.List<ServiceAccount> accounts; |
/** |
* To retrieve the next page of results, set |
- * [ListServiceAccountsRequest.page_token] to this value. |
+ * ListServiceAccountsRequest.page_token to this value. |
*/ |
core.String nextPageToken; |
@@ -1012,57 +1018,6 @@ class ListServiceAccountsResponse { |
} |
/** |
- * 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 only "iam_principal", |
- * corresponding to IAMContext.principal, is supported. 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; |
- /** Counter options. */ |
- CounterOptions counter; |
- /** Data access options. */ |
- DataAccessOptions dataAccess; |
- |
- LogConfig(); |
- |
- LogConfig.fromJson(core.Map _json) { |
- if (_json.containsKey("cloudAudit")) { |
- cloudAudit = new CloudAuditOptions.fromJson(_json["cloudAudit"]); |
- } |
- if (_json.containsKey("counter")) { |
- counter = new CounterOptions.fromJson(_json["counter"]); |
- } |
- if (_json.containsKey("dataAccess")) { |
- dataAccess = new DataAccessOptions.fromJson(_json["dataAccess"]); |
- } |
- } |
- |
- core.Map toJson() { |
- var _json = new core.Map(); |
- 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`, |
@@ -1070,7 +1025,7 @@ class LogConfig { |
* 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": |
+ * "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). |
@@ -1101,7 +1056,6 @@ class Policy { |
void set etagAsBytes(core.List<core.int> _bytes) { |
etag = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
} |
- core.List<Rule> rules; |
/** Version of the `Policy`. The default version is 0. */ |
core.int version; |
@@ -1114,9 +1068,6 @@ class Policy { |
if (_json.containsKey("etag")) { |
etag = _json["etag"]; |
} |
- if (_json.containsKey("rules")) { |
- rules = _json["rules"].map((value) => new Rule.fromJson(value)).toList(); |
- } |
if (_json.containsKey("version")) { |
version = _json["version"]; |
} |
@@ -1130,9 +1081,6 @@ class Policy { |
if (etag != null) { |
_json["etag"] = etag; |
} |
- if (rules != null) { |
- _json["rules"] = rules.map((value) => (value).toJson()).toList(); |
- } |
if (version != null) { |
_json["version"] = version; |
} |
@@ -1140,94 +1088,119 @@ class Policy { |
} |
} |
-/** A rule to be applied in a Policy. */ |
-class Rule { |
+/** The difference delta between two policies. */ |
+class PolicyDelta { |
+ /** The delta for Bindings between two policies. */ |
+ core.List<BindingDelta> bindingDeltas; |
+ |
+ PolicyDelta(); |
+ |
+ PolicyDelta.fromJson(core.Map _json) { |
+ if (_json.containsKey("bindingDeltas")) { |
+ bindingDeltas = _json["bindingDeltas"].map((value) => new BindingDelta.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (bindingDeltas != null) { |
+ _json["bindingDeltas"] = bindingDeltas.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** The grantable role query request. */ |
+class QueryGrantableRolesRequest { |
/** |
- * Required |
- * Possible string values are: |
- * - "NO_ACTION" : A NO_ACTION. |
- * - "ALLOW" : A ALLOW. |
- * - "ALLOW_WITH_LOG" : A ALLOW_WITH_LOG. |
- * - "DENY" : A DENY. |
- * - "DENY_WITH_LOG" : A DENY_WITH_LOG. |
- * - "LOG" : A LOG. |
+ * Required. The full resource name to query from the list of grantable roles. |
+ * The name follows the Google Cloud Platform resource format. For example, a |
+ * Cloud Platform project with id `my-project` will be named |
+ * `//cloudresourcemanager.googleapis.com/projects/my-project`. |
*/ |
- core.String action; |
- /** Additional restrictions that must be met */ |
- core.List<Condition> conditions; |
- /** Human-readable description of the rule. */ |
+ core.String fullResourceName; |
+ |
+ QueryGrantableRolesRequest(); |
+ |
+ QueryGrantableRolesRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("fullResourceName")) { |
+ fullResourceName = _json["fullResourceName"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (fullResourceName != null) { |
+ _json["fullResourceName"] = fullResourceName; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** The grantable role query response. */ |
+class QueryGrantableRolesResponse { |
+ /** The list of matching roles. */ |
+ core.List<Role> roles; |
+ |
+ QueryGrantableRolesResponse(); |
+ |
+ QueryGrantableRolesResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("roles")) { |
+ roles = _json["roles"].map((value) => new Role.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (roles != null) { |
+ _json["roles"] = roles.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** A role in the Identity and Access Management API. */ |
+class Role { |
+ /** Optional. A human-readable description for the role. */ |
core.String description; |
/** |
- * The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in this set of |
- * entries. |
+ * The name of the role. When Role is used in CreateRole, the role name must |
+ * not be set. When Role is used in output and other input such as UpdateRole, |
+ * the role name is the complete path, e.g., roles/logging.viewer for curated |
+ * roles and organizations/{organization-id}/roles/logging.viewer for custom |
+ * roles. |
*/ |
- 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<LogConfig> logConfig; |
- /** |
- * The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is not in this set of |
- * 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; |
+ core.String name; |
/** |
- * A permission is a string of form '..' (e.g., 'storage.buckets.list'). A |
- * value of '*' matches all permissions, and a verb part of '*' (e.g., |
- * 'storage.buckets.*') matches all verbs. |
+ * Optional. A human-readable title for the role. Typically this is limited to |
+ * 100 UTF-8 bytes. |
*/ |
- core.List<core.String> permissions; |
+ core.String title; |
- Rule(); |
+ Role(); |
- Rule.fromJson(core.Map _json) { |
- if (_json.containsKey("action")) { |
- action = _json["action"]; |
- } |
- if (_json.containsKey("conditions")) { |
- conditions = _json["conditions"].map((value) => new Condition.fromJson(value)).toList(); |
- } |
+ Role.fromJson(core.Map _json) { |
if (_json.containsKey("description")) { |
description = _json["description"]; |
} |
- if (_json.containsKey("in")) { |
- in_ = _json["in"]; |
- } |
- if (_json.containsKey("logConfig")) { |
- logConfig = _json["logConfig"].map((value) => new LogConfig.fromJson(value)).toList(); |
- } |
- if (_json.containsKey("notIn")) { |
- notIn = _json["notIn"]; |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
} |
- if (_json.containsKey("permissions")) { |
- permissions = _json["permissions"]; |
+ if (_json.containsKey("title")) { |
+ title = _json["title"]; |
} |
} |
core.Map toJson() { |
var _json = new core.Map(); |
- 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 (name != null) { |
+ _json["name"] = name; |
} |
- if (notIn != null) { |
- _json["notIn"] = notIn; |
- } |
- if (permissions != null) { |
- _json["permissions"] = permissions; |
+ if (title != null) { |
+ _json["title"] = title; |
} |
return _json; |
} |
@@ -1235,13 +1208,17 @@ class Rule { |
/** |
* A service account in the Identity and Access Management API. To create a |
- * service account, you specify the project_id and account_id for the account. |
- * The account_id is unique within the project, and used to generate the service |
- * account email address and a stable unique id. All other methods can identify |
- * accounts using the format "projects/{project}/serviceAccounts/{account}". |
- * Using '-' as a wildcard for the project, will infer the project from the |
- * account. The account value can be the email address or the unique_id of the |
- * service account. |
+ * service account, specify the `project_id` and the `account_id` for the |
+ * account. The `account_id` is unique within the project, and is used to |
+ * generate the service account email address and a stable `unique_id`. If the |
+ * account already exists, the account's resource name is returned in |
+ * util::Status's ResourceInfo.resource_name in the format of |
+ * projects/{project}/serviceAccounts/{email}. The caller can use the name in |
+ * other methods to access the account. All other methods can identify the |
+ * service account using the format |
+ * `projects/{project}/serviceAccounts/{account}`. Using `-` as a wildcard for |
+ * the project will infer the project from the account. The `account` value can |
+ * be the `email` address or the `unique_id` of the service account. |
*/ |
class ServiceAccount { |
/** |
@@ -1249,7 +1226,7 @@ class ServiceAccount { |
* fewer than 100 UTF-8 bytes. |
*/ |
core.String displayName; |
- /** @OutputOnly Email address of the service account. */ |
+ /** @OutputOnly The email address of the service account. */ |
core.String email; |
/** Used to perform a consistent read-modify-write. */ |
core.String etag; |
@@ -1261,12 +1238,12 @@ class ServiceAccount { |
etag = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
} |
/** |
- * The resource name of the service account in the format |
- * "projects/{project}/serviceAccounts/{account}". In requests using '-' as a |
- * wildcard for the project, will infer the project from the account and the |
- * account value can be the email address or the unique_id of the service |
- * account. In responses the resource name will always be in the format |
- * "projects/{project}/serviceAccounts/{email}". |
+ * The resource name of the service account in the following format: |
+ * `projects/{project}/serviceAccounts/{account}`. Requests using `-` as a |
+ * wildcard for the project will infer the project from the `account` and the |
+ * `account` value can be the `email` address or the `unique_id` of the |
+ * service account. In responses the resource name will always be in the |
+ * format `projects/{project}/serviceAccounts/{email}`. |
*/ |
core.String name; |
/** |
@@ -1277,7 +1254,7 @@ class ServiceAccount { |
core.String oauth2ClientId; |
/** @OutputOnly The id of the project that owns the service account. */ |
core.String projectId; |
- /** @OutputOnly unique and stable id of the service account. */ |
+ /** @OutputOnly The unique and stable id of the service account. */ |
core.String uniqueId; |
ServiceAccount(); |
@@ -1334,17 +1311,33 @@ class ServiceAccount { |
} |
/** |
- * Represents a service account key. A service account can have 0 or more key |
- * pairs. The private keys for these are not stored by Google. |
- * ServiceAccountKeys are immutable. |
+ * Represents a service account key. A service account has two sets of |
+ * key-pairs: user-managed, and system-managed. User-managed key-pairs can be |
+ * created and deleted by users. Users are responsible for rotating these keys |
+ * periodically to ensure security of their service accounts. Users retain the |
+ * private key of these key-pairs, and Google retains ONLY the public key. |
+ * System-managed key-pairs are managed automatically by Google, and rotated |
+ * daily without user intervention. The private key never leaves Google's |
+ * servers to maximize security. Public keys for all service accounts are also |
+ * published at the OAuth2 Service Account API. |
*/ |
class ServiceAccountKey { |
/** |
- * The resource name of the service account key in the format |
- * "projects/{project}/serviceAccounts/{email}/keys/{key}". |
+ * Specifies the algorithm (and possibly key size) for the key. |
+ * Possible string values are: |
+ * - "KEY_ALG_UNSPECIFIED" : A KEY_ALG_UNSPECIFIED. |
+ * - "KEY_ALG_RSA_1024" : A KEY_ALG_RSA_1024. |
+ * - "KEY_ALG_RSA_2048" : A KEY_ALG_RSA_2048. |
+ */ |
+ core.String keyAlgorithm; |
+ /** |
+ * The resource name of the service account key in the following format |
+ * `projects/{project}/serviceAccounts/{account}/keys/{key}`. |
*/ |
core.String name; |
- /** The key data. */ |
+ /** |
+ * The private key data. Only provided in `CreateServiceAccountKey` responses. |
+ */ |
core.String privateKeyData; |
core.List<core.int> get privateKeyDataAsBytes { |
return convert.BASE64.decode(privateKeyData); |
@@ -1354,13 +1347,27 @@ class ServiceAccountKey { |
privateKeyData = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
} |
/** |
- * The type of the private key. |
+ * The output format for the private key. Only provided in |
+ * `CreateServiceAccountKey` responses, not in `GetServiceAccountKey` or |
+ * `ListServiceAccountKey` responses. Google never exposes system-managed |
+ * private keys, and never retains user-managed private keys. |
* Possible string values are: |
* - "TYPE_UNSPECIFIED" : A TYPE_UNSPECIFIED. |
* - "TYPE_PKCS12_FILE" : A TYPE_PKCS12_FILE. |
* - "TYPE_GOOGLE_CREDENTIALS_FILE" : A TYPE_GOOGLE_CREDENTIALS_FILE. |
*/ |
core.String privateKeyType; |
+ /** |
+ * The public key data. Only provided in `GetServiceAccountKey` responses. |
+ */ |
+ core.String publicKeyData; |
+ core.List<core.int> get publicKeyDataAsBytes { |
+ return convert.BASE64.decode(publicKeyData); |
+ } |
+ |
+ void set publicKeyDataAsBytes(core.List<core.int> _bytes) { |
+ publicKeyData = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
+ } |
/** The key can be used after this timestamp. */ |
core.String validAfterTime; |
/** The key can be used before this timestamp. */ |
@@ -1369,6 +1376,9 @@ class ServiceAccountKey { |
ServiceAccountKey(); |
ServiceAccountKey.fromJson(core.Map _json) { |
+ if (_json.containsKey("keyAlgorithm")) { |
+ keyAlgorithm = _json["keyAlgorithm"]; |
+ } |
if (_json.containsKey("name")) { |
name = _json["name"]; |
} |
@@ -1378,6 +1388,9 @@ class ServiceAccountKey { |
if (_json.containsKey("privateKeyType")) { |
privateKeyType = _json["privateKeyType"]; |
} |
+ if (_json.containsKey("publicKeyData")) { |
+ publicKeyData = _json["publicKeyData"]; |
+ } |
if (_json.containsKey("validAfterTime")) { |
validAfterTime = _json["validAfterTime"]; |
} |
@@ -1388,6 +1401,9 @@ class ServiceAccountKey { |
core.Map toJson() { |
var _json = new core.Map(); |
+ if (keyAlgorithm != null) { |
+ _json["keyAlgorithm"] = keyAlgorithm; |
+ } |
if (name != null) { |
_json["name"] = name; |
} |
@@ -1397,6 +1413,9 @@ class ServiceAccountKey { |
if (privateKeyType != null) { |
_json["privateKeyType"] = privateKeyType; |
} |
+ if (publicKeyData != null) { |
+ _json["publicKeyData"] = publicKeyData; |
+ } |
if (validAfterTime != null) { |
_json["validAfterTime"] = validAfterTime; |
} |
@@ -1435,7 +1454,7 @@ class SetIamPolicyRequest { |
/** The service account sign blob request. */ |
class SignBlobRequest { |
- /** The bytes to sign */ |
+ /** The bytes to sign. */ |
core.String bytesToSign; |
core.List<core.int> get bytesToSignAsBytes { |
return convert.BASE64.decode(bytesToSign); |
@@ -1504,7 +1523,8 @@ 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. |
+ * information see [IAM |
+ * Overview](https://cloud.google.com/iam/docs/overview#permissions). |
*/ |
core.List<core.String> permissions; |