// Type definitions for non-npm package Google Google Identity and Access Management (IAM) API v1 1.0 // Project: https://cloud.google.com/iam/ // Definitions by: Bolisov Alexey // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 // IMPORTANT // This file was generated by https://github.com/Bolisov/google-api-typings-generator. Please do not edit it manually. // In case of any problems please post issue to https://github.com/Bolisov/google-api-typings-generator // Generated from: https://iam.googleapis.com/$discovery/rest?version=v1 /// declare namespace gapi.client { /** Load Google Identity and Access Management (IAM) API v1 */ function load(name: "iam", version: "v1"): PromiseLike; function load(name: "iam", version: "v1", callback: () => any): void; const organizations: iam.OrganizationsResource; const permissions: iam.PermissionsResource; const projects: iam.ProjectsResource; const roles: iam.RolesResource; namespace iam { interface AuditData { /** Policy delta between the original policy and the newly set policy. */ policyDelta?: PolicyDelta; } interface 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`. */ members?: string[]; /** * Role that is assigned to `members`. * For example, `roles/viewer`, `roles/editor`, or `roles/owner`. * Required */ role?: string; } interface BindingDelta { /** * The action that was performed on a Binding. * Required */ action?: string; /** * The condition that is associated with this binding. * This field is GOOGLE_INTERNAL. * This field is not logged in IAM side because it's only for audit logging. * Optional */ condition?: Expr; /** * A single identity requesting access for a Cloud Platform resource. * Follows the same format of Binding.members. * Required */ member?: string; /** * Role that is assigned to `members`. * For example, `roles/viewer`, `roles/editor`, or `roles/owner`. * Required */ role?: string; } interface CreateRoleRequest { /** The Role resource to create. */ role?: Role; /** The role id to use for this role. */ roleId?: string; } interface CreateServiceAccountKeyRequest { /** * Which type of key and algorithm to use for the key. * The default is currently a 2K RSA key. However this may change in the * future. */ keyAlgorithm?: string; /** * The output format of the private key. `GOOGLE_CREDENTIALS_FILE` is the * default output format. */ privateKeyType?: string; } interface 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 6-30 characters long, and match the regular expression * `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035. */ accountId?: string; /** * The ServiceAccount resource to create. * Currently, only the following values are user assignable: * `display_name` . */ serviceAccount?: ServiceAccount; } interface 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. */ description?: string; /** * 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. */ expression?: string; /** * An optional string indicating the location of the expression for error * reporting, e.g. a file name and a position in the file. */ location?: string; /** * 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. */ title?: string; } interface ListRolesResponse { /** * To retrieve the next page of results, set * `ListRolesRequest.page_token` to this value. */ nextPageToken?: string; /** The Roles defined on this resource. */ roles?: Role[]; } interface ListServiceAccountKeysResponse { /** The public keys for the service account. */ keys?: ServiceAccountKey[]; } interface ListServiceAccountsResponse { /** The list of matching service accounts. */ accounts?: ServiceAccount[]; /** * To retrieve the next page of results, set * ListServiceAccountsRequest.page_token * to this value. */ nextPageToken?: string; } interface Permission { /** The current custom role support level. */ customRolesSupportLevel?: string; /** A brief description of what this Permission is used for. */ description?: string; /** The name of this Permission. */ name?: string; /** This permission can ONLY be used in predefined roles. */ onlyInPredefinedRoles?: boolean; /** The current launch stage of the permission. */ stage?: string; /** The title of this Permission. */ title?: string; } interface Policy { /** * Associates a list of `members` to a `role`. * `bindings` with no members will result in an error. */ bindings?: Binding[]; /** * `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. */ etag?: string; /** Version of the `Policy`. The default version is 0. */ version?: number; } interface PolicyDelta { /** The delta for Bindings between two policies. */ bindingDeltas?: BindingDelta[]; } interface QueryGrantableRolesRequest { /** * 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`. */ fullResourceName?: string; /** Optional limit on the number of roles to include in the response. */ pageSize?: number; /** * Optional pagination token returned in an earlier * QueryGrantableRolesResponse. */ pageToken?: string; view?: string; } interface QueryGrantableRolesResponse { /** * To retrieve the next page of results, set * `QueryGrantableRolesRequest.page_token` to this value. */ nextPageToken?: string; /** The list of matching roles. */ roles?: Role[]; } interface QueryTestablePermissionsRequest { /** * Required. The full resource name to query from the list of testable * permissions. * * 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`. */ fullResourceName?: string; /** Optional limit on the number of permissions to include in the response. */ pageSize?: number; /** * Optional pagination token returned in an earlier * QueryTestablePermissionsRequest. */ pageToken?: string; } interface QueryTestablePermissionsResponse { /** * To retrieve the next page of results, set * `QueryTestableRolesRequest.page_token` to this value. */ nextPageToken?: string; /** The Permissions testable on the requested resource. */ permissions?: Permission[]; } interface Role { /** * The current deleted state of the role. This field is read only. * It will be ignored in calls to CreateRole and UpdateRole. */ deleted?: boolean; /** Optional. A human-readable description for the role. */ description?: string; /** Used to perform a consistent read-modify-write. */ etag?: string; /** The names of the permissions this role grants when bound in an IAM policy. */ includedPermissions?: string[]; /** * 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. */ name?: string; /** The current launch stage of the role. */ stage?: string; /** * Optional. A human-readable title for the role. Typically this * is limited to 100 UTF-8 bytes. */ title?: string; } interface ServiceAccount { /** * Optional. A user-specified description of the service account. Must be * fewer than 100 UTF-8 bytes. */ displayName?: string; /** @OutputOnly The email address of the service account. */ email?: string; /** Used to perform a consistent read-modify-write. */ etag?: string; /** * The resource name of the service account in the following format: * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. * * Requests using `-` as a wildcard for the `PROJECT_ID` 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_ID}/serviceAccounts/{ACCOUNT}`. */ name?: string; /** * @OutputOnly. The OAuth2 client id for the service account. * This is used in conjunction with the OAuth2 clientconfig API to make * three legged OAuth2 (3LO) flows to access the data of Google users. */ oauth2ClientId?: string; /** @OutputOnly The id of the project that owns the service account. */ projectId?: string; /** @OutputOnly The unique and stable id of the service account. */ uniqueId?: string; } interface ServiceAccountKey { /** Specifies the algorithm (and possibly key size) for the key. */ keyAlgorithm?: string; /** * The resource name of the service account key in the following format * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. */ name?: string; /** * The private key data. Only provided in `CreateServiceAccountKey` * responses. Make sure to keep the private key data secure because it * allows for the assertion of the service account identity. * When decoded, the private key data can be used to authenticate with * Google API client libraries and with * gcloud * auth activate-service-account. */ privateKeyData?: string; /** * 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. */ privateKeyType?: string; /** The public key data. Only provided in `GetServiceAccountKey` responses. */ publicKeyData?: string; /** The key can be used after this timestamp. */ validAfterTime?: string; /** The key can be used before this timestamp. */ validBeforeTime?: string; } interface 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; } interface SignBlobRequest { /** The bytes to sign. */ bytesToSign?: string; } interface SignBlobResponse { /** The id of the key used to sign the blob. */ keyId?: string; /** The signed blob. */ signature?: string; } interface SignJwtRequest { /** The JWT payload to sign, a JSON JWT Claim set. */ payload?: string; } interface SignJwtResponse { /** The id of the key used to sign the JWT. */ keyId?: string; /** The signed JWT. */ signedJwt?: string; } interface 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). */ permissions?: string[]; } interface TestIamPermissionsResponse { /** * A subset of `TestPermissionsRequest.permissions` that the caller is * allowed. */ permissions?: string[]; } interface UndeleteRoleRequest { /** Used to perform a consistent read-modify-write. */ etag?: string; } interface RolesResource { /** Creates a new Role. */ create(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** * The resource name of the parent resource in one of the following formats: * `organizations/{ORGANIZATION_ID}` * `projects/{PROJECT_ID}` */ parent: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** * Soft deletes a role. The role is suspended and cannot be used to create new * IAM Policy Bindings. * The Role will not be included in `ListRoles()` unless `show_deleted` is set * in the `ListRolesRequest`. The Role contains the deleted boolean set. * Existing Bindings remains, but are inactive. The Role can be undeleted * within 7 days. After 7 days the Role is deleted and all Bindings associated * with the role are removed. */ delete(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Used to perform a consistent read-modify-write. */ etag?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource name of the role in one of the following formats: * `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` * `projects/{PROJECT_ID}/roles/{ROLE_NAME}` */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** Gets a Role definition. */ get(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource name of the role in one of the following formats: * `roles/{ROLE_NAME}` * `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` * `projects/{PROJECT_ID}/roles/{ROLE_NAME}` */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** Lists the Roles defined on a resource. */ list(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Optional limit on the number of roles to include in the response. */ pageSize?: number; /** Optional pagination token returned in an earlier ListRolesResponse. */ pageToken?: string; /** * The resource name of the parent resource in one of the following formats: * `` (empty string) -- this refers to curated roles. * `organizations/{ORGANIZATION_ID}` * `projects/{PROJECT_ID}` */ parent: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Include Roles that have been deleted. */ showDeleted?: boolean; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; /** Optional view for the returned Role objects. */ view?: string; }): Request; /** Updates a Role definition. */ patch(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource name of the role in one of the following formats: * `roles/{ROLE_NAME}` * `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` * `projects/{PROJECT_ID}/roles/{ROLE_NAME}` */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** A mask describing which fields in the Role have changed. */ updateMask?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** Undelete a Role, bringing it back in its previous state. */ undelete(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource name of the role in one of the following formats: * `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` * `projects/{PROJECT_ID}/roles/{ROLE_NAME}` */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; } interface OrganizationsResource { roles: RolesResource; } interface PermissionsResource { /** * Lists the permissions testable on a resource. * A permission is testable if it can be tested for an identity on a resource. */ queryTestablePermissions(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; } interface RolesResource { /** Creates a new Role. */ create(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** * The resource name of the parent resource in one of the following formats: * `organizations/{ORGANIZATION_ID}` * `projects/{PROJECT_ID}` */ parent: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** * Soft deletes a role. The role is suspended and cannot be used to create new * IAM Policy Bindings. * The Role will not be included in `ListRoles()` unless `show_deleted` is set * in the `ListRolesRequest`. The Role contains the deleted boolean set. * Existing Bindings remains, but are inactive. The Role can be undeleted * within 7 days. After 7 days the Role is deleted and all Bindings associated * with the role are removed. */ delete(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Used to perform a consistent read-modify-write. */ etag?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource name of the role in one of the following formats: * `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` * `projects/{PROJECT_ID}/roles/{ROLE_NAME}` */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** Gets a Role definition. */ get(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource name of the role in one of the following formats: * `roles/{ROLE_NAME}` * `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` * `projects/{PROJECT_ID}/roles/{ROLE_NAME}` */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** Lists the Roles defined on a resource. */ list(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Optional limit on the number of roles to include in the response. */ pageSize?: number; /** Optional pagination token returned in an earlier ListRolesResponse. */ pageToken?: string; /** * The resource name of the parent resource in one of the following formats: * `` (empty string) -- this refers to curated roles. * `organizations/{ORGANIZATION_ID}` * `projects/{PROJECT_ID}` */ parent: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Include Roles that have been deleted. */ showDeleted?: boolean; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; /** Optional view for the returned Role objects. */ view?: string; }): Request; /** Updates a Role definition. */ patch(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource name of the role in one of the following formats: * `roles/{ROLE_NAME}` * `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` * `projects/{PROJECT_ID}/roles/{ROLE_NAME}` */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** A mask describing which fields in the Role have changed. */ updateMask?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** Undelete a Role, bringing it back in its previous state. */ undelete(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource name of the role in one of the following formats: * `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` * `projects/{PROJECT_ID}/roles/{ROLE_NAME}` */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; } interface KeysResource { /** * Creates a ServiceAccountKey * and returns it. */ create(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource name of the service account in the following format: * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. * Using `-` as a wildcard for the `PROJECT_ID` will infer the project from * the account. The `ACCOUNT` value can be the `email` address or the * `unique_id` of the service account. */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** Deletes a ServiceAccountKey. */ delete(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource name of the service account key in the following format: * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. * Using `-` as a wildcard for the `PROJECT_ID` will infer the project from * the account. The `ACCOUNT` value can be the `email` address or the * `unique_id` of the service account. */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request<{}>; /** * Gets the ServiceAccountKey * by key id. */ get(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource name of the service account key in the following format: * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. * * Using `-` as a wildcard for the `PROJECT_ID` will infer the project from * the account. The `ACCOUNT` value can be the `email` address or the * `unique_id` of the service account. */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** * The output format of the public key requested. * X509_PEM is the default output format. */ publicKeyType?: string; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** Lists ServiceAccountKeys. */ list(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * 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. */ keyTypes?: string; /** * The resource name of the service account in the following format: * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. * * Using `-` as a wildcard for the `PROJECT_ID`, will infer the project from * the account. The `ACCOUNT` value can be the `email` address or the * `unique_id` of the service account. */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; } interface ServiceAccountsResource { /** * Creates a ServiceAccount * and returns it. */ create(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * Required. The resource name of the project associated with the service * accounts, such as `projects/my-project-123`. */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** Deletes a ServiceAccount. */ delete(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource name of the service account in the following format: * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. * Using `-` as a wildcard for the `PROJECT_ID` will infer the project from * the account. The `ACCOUNT` value can be the `email` address or the * `unique_id` of the service account. */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request<{}>; /** Gets a ServiceAccount. */ get(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource name of the service account in the following format: * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. * Using `-` as a wildcard for the `PROJECT_ID` will infer the project from * the account. The `ACCOUNT` value can be the `email` address or the * `unique_id` of the service account. */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** * Returns the IAM access control policy for a * ServiceAccount. */ getIamPolicy(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** * REQUIRED: The resource for which the policy is being requested. * See the operation documentation for the appropriate value for this field. */ resource: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** Lists ServiceAccounts for a project. */ list(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * Required. The resource name of the project associated with the service * accounts, such as `projects/my-project-123`. */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** * 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. */ pageSize?: number; /** * Optional pagination token returned in an earlier * ListServiceAccountsResponse.next_page_token. */ pageToken?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** * Sets the IAM access control policy for a * ServiceAccount. */ setIamPolicy(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** * REQUIRED: The resource for which the policy is being specified. * See the operation documentation for the appropriate value for this field. */ resource: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** Signs a blob using a service account's system-managed private key. */ signBlob(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource name of the service account in the following format: * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. * Using `-` as a wildcard for the `PROJECT_ID` will infer the project from * the account. The `ACCOUNT` value can be the `email` address or the * `unique_id` of the service account. */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** * Signs a JWT using a service account's system-managed private key. * * If no expiry time (`exp`) is provided in the `SignJwtRequest`, IAM sets an * an expiry time of one hour by default. If you request an expiry time of * more than one hour, the request will fail. */ signJwt(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource name of the service account in the following format: * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. * Using `-` as a wildcard for the `PROJECT_ID` will infer the project from * the account. The `ACCOUNT` value can be the `email` address or the * `unique_id` of the service account. */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** * Tests the specified permissions against the IAM access control policy * for a ServiceAccount. */ testIamPermissions(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** * REQUIRED: The resource for which the policy detail is being requested. * See the operation documentation for the appropriate value for this field. */ resource: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** * Updates a ServiceAccount. * * Currently, only the following fields are updatable: * `display_name` . * The `etag` is mandatory. */ update(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource name of the service account in the following format: * `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. * * Requests using `-` as a wildcard for the `PROJECT_ID` 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_ID}/serviceAccounts/{ACCOUNT}`. */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; keys: KeysResource; } interface ProjectsResource { roles: RolesResource; serviceAccounts: ServiceAccountsResource; } interface RolesResource { /** Gets a Role definition. */ get(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * The resource name of the role in one of the following formats: * `roles/{ROLE_NAME}` * `organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}` * `projects/{PROJECT_ID}/roles/{ROLE_NAME}` */ name: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; /** Lists the Roles defined on a resource. */ list(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Optional limit on the number of roles to include in the response. */ pageSize?: number; /** Optional pagination token returned in an earlier ListRolesResponse. */ pageToken?: string; /** * The resource name of the parent resource in one of the following formats: * `` (empty string) -- this refers to curated roles. * `organizations/{ORGANIZATION_ID}` * `projects/{PROJECT_ID}` */ parent?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Include Roles that have been deleted. */ showDeleted?: boolean; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; /** Optional view for the returned Role objects. */ view?: string; }): Request; /** * 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. */ queryGrantableRoles(request: { /** V1 error format. */ "$.xgafv"?: string; /** OAuth access token. */ access_token?: string; /** Data format for response. */ alt?: string; /** OAuth bearer token. */ bearer_token?: string; /** JSONP */ callback?: string; /** Selector specifying which fields to include in a partial response. */ fields?: string; /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** OAuth 2.0 token for the current user. */ oauth_token?: string; /** Pretty-print response. */ pp?: boolean; /** Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; }): Request; } } }