googleapis
Version:
Google APIs Client Library for Node.js
1,203 lines • 182 kB
TypeScript
/// <reference types="node" />
import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosPromise, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { Readable } from 'stream';
export declare namespace cloudidentity_v1 {
export interface Options extends GlobalOptions {
version: 'v1';
}
interface StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth;
/**
* V1 error format.
*/
'$.xgafv'?: string;
/**
* OAuth access token.
*/
access_token?: string;
/**
* Data format for response.
*/
alt?: 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;
/**
* 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;
}
/**
* Cloud Identity API
*
* API for provisioning and managing identity resources.
*
* @example
* ```js
* const {google} = require('googleapis');
* const cloudidentity = google.cloudidentity('v1');
* ```
*/
export class Cloudidentity {
context: APIRequestContext;
customers: Resource$Customers;
devices: Resource$Devices;
groups: Resource$Groups;
inboundSamlSsoProfiles: Resource$Inboundsamlssoprofiles;
inboundSsoAssignments: Resource$Inboundssoassignments;
constructor(options: GlobalOptions, google?: GoogleConfigurable);
}
/**
* LRO response metadata for InboundSamlSsoProfilesService.AddIdpCredential.
*/
export interface Schema$AddIdpCredentialOperationMetadata {
}
/**
* The request for creating an IdpCredential with its associated payload. An InboundSamlSsoProfile can own up to 2 credentials.
*/
export interface Schema$AddIdpCredentialRequest {
/**
* PEM encoded x509 certificate containing the public key for verifying IdP signatures.
*/
pemData?: string | null;
}
/**
* Request to cancel sent invitation for target email in UserInvitation.
*/
export interface Schema$CancelUserInvitationRequest {
}
/**
* The response message for MembershipsService.CheckTransitiveMembership.
*/
export interface Schema$CheckTransitiveMembershipResponse {
/**
* Response does not include the possible roles of a member since the behavior of this rpc is not all-or-nothing unlike the other rpcs. So, it may not be possible to list all the roles definitively, due to possible lack of authorization in some of the paths.
*/
hasMembership?: boolean | null;
}
/**
* Metadata for CreateGroup LRO.
*/
export interface Schema$CreateGroupMetadata {
}
/**
* LRO response metadata for InboundSamlSsoProfilesService.CreateInboundSamlSsoProfile.
*/
export interface Schema$CreateInboundSamlSsoProfileOperationMetadata {
}
/**
* LRO response metadata for InboundSsoAssignmentsService.CreateInboundSsoAssignment.
*/
export interface Schema$CreateInboundSsoAssignmentOperationMetadata {
}
/**
* Metadata for CreateMembership LRO.
*/
export interface Schema$CreateMembershipMetadata {
}
/**
* Metadata for DeleteGroup LRO.
*/
export interface Schema$DeleteGroupMetadata {
}
/**
* LRO response metadata for InboundSamlSsoProfilesService.DeleteIdpCredential.
*/
export interface Schema$DeleteIdpCredentialOperationMetadata {
}
/**
* LRO response metadata for InboundSamlSsoProfilesService.DeleteInboundSamlSsoProfile.
*/
export interface Schema$DeleteInboundSamlSsoProfileOperationMetadata {
}
/**
* LRO response metadata for InboundSsoAssignmentsService.DeleteInboundSsoAssignment.
*/
export interface Schema$DeleteInboundSsoAssignmentOperationMetadata {
}
/**
* Metadata for DeleteMembership LRO.
*/
export interface Schema$DeleteMembershipMetadata {
}
/**
* Information of a DSA public key.
*/
export interface Schema$DsaPublicKeyInfo {
/**
* Key size in bits (size of parameter P).
*/
keySize?: number | null;
}
/**
* Dynamic group metadata like queries and status.
*/
export interface Schema$DynamicGroupMetadata {
/**
* Memberships will be the union of all queries. Only one entry with USER resource is currently supported. Customers can create up to 100 dynamic groups.
*/
queries?: Schema$DynamicGroupQuery[];
/**
* Output only. Status of the dynamic group.
*/
status?: Schema$DynamicGroupStatus;
}
/**
* Defines a query on a resource.
*/
export interface Schema$DynamicGroupQuery {
/**
* Query that determines the memberships of the dynamic group. Examples: All users with at least one `organizations.department` of engineering. `user.organizations.exists(org, org.department=='engineering')` All users with at least one location that has `area` of `foo` and `building_id` of `bar`. `user.locations.exists(loc, loc.area=='foo' && loc.building_id=='bar')` All users with any variation of the name John Doe (case-insensitive queries add `equalsIgnoreCase()` to the value being queried). `user.name.value.equalsIgnoreCase('jOhn DoE')`
*/
query?: string | null;
/**
* Resource type for the Dynamic Group Query
*/
resourceType?: string | null;
}
/**
* The current status of a dynamic group along with timestamp.
*/
export interface Schema$DynamicGroupStatus {
/**
* Status of the dynamic group.
*/
status?: string | null;
/**
* The latest time at which the dynamic group is guaranteed to be in the given status. If status is `UP_TO_DATE`, the latest time at which the dynamic group was confirmed to be up-to-date. If status is `UPDATING_MEMBERSHIPS`, the time at which dynamic group was created.
*/
statusTime?: string | null;
}
/**
* A unique identifier for an entity in the Cloud Identity Groups API. An entity can represent either a group with an optional `namespace` or a user without a `namespace`. The combination of `id` and `namespace` must be unique; however, the same `id` can be used with different `namespace`s.
*/
export interface Schema$EntityKey {
/**
* The ID of the entity. For Google-managed entities, the `id` should be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source's requirements. Must be unique within a `namespace`.
*/
id?: string | null;
/**
* The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source\}`.
*/
namespace?: string | null;
}
/**
* The `MembershipRole` expiry details.
*/
export interface Schema$ExpiryDetail {
/**
* The time at which the `MembershipRole` will expire.
*/
expireTime?: string | null;
}
/**
* Metadata of GetMembershipGraphResponse LRO. This is currently empty to permit future extensibility.
*/
export interface Schema$GetMembershipGraphMetadata {
}
/**
* The response message for MembershipsService.GetMembershipGraph.
*/
export interface Schema$GetMembershipGraphResponse {
/**
* The membership graph's path information represented as an adjacency list.
*/
adjacencyList?: Schema$MembershipAdjacencyList[];
/**
* The resources representing each group in the adjacency list. Each group in this list can be correlated to a 'group' of the MembershipAdjacencyList using the 'name' of the Group resource.
*/
groups?: Schema$Group[];
}
/**
* Resource representing the Android specific attributes of a Device.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1AndroidAttributes {
/**
* Whether the device passes Android CTS compliance.
*/
ctsProfileMatch?: boolean | null;
/**
* Whether applications from unknown sources can be installed on device.
*/
enabledUnknownSources?: boolean | null;
/**
* Whether any potentially harmful apps were detected on the device.
*/
hasPotentiallyHarmfulApps?: boolean | null;
/**
* Whether this account is on an owner/primary profile. For phones, only true for owner profiles. Android 4+ devices can have secondary or restricted user profiles.
*/
ownerProfileAccount?: boolean | null;
/**
* Ownership privileges on device.
*/
ownershipPrivilege?: string | null;
/**
* Whether device supports Android work profiles. If false, this service will not block access to corp data even if an administrator turns on the "Enforce Work Profile" policy.
*/
supportsWorkProfile?: boolean | null;
/**
* Whether Android verified boot status is GREEN.
*/
verifiedBoot?: boolean | null;
/**
* Whether Google Play Protect Verify Apps is enabled.
*/
verifyAppsEnabled?: boolean | null;
}
/**
* Metadata for ApproveDeviceUser LRO.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata {
}
/**
* Request message for approving the device to access user data.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest {
/**
* Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer\}`, where customer is the customer to whom the device belongs.
*/
customer?: string | null;
}
/**
* Response message for approving the device to access user data.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse {
/**
* Resultant DeviceUser object for the action.
*/
deviceUser?: Schema$GoogleAppsCloudidentityDevicesV1DeviceUser;
}
/**
* Metadata for BlockDeviceUser LRO.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata {
}
/**
* Request message for blocking account on device.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest {
/**
* Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer\}`, where customer is the customer to whom the device belongs.
*/
customer?: string | null;
}
/**
* Response message for blocking the device from accessing user data.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse {
/**
* Resultant DeviceUser object for the action.
*/
deviceUser?: Schema$GoogleAppsCloudidentityDevicesV1DeviceUser;
}
/**
* Metadata for CancelWipeDevice LRO.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata {
}
/**
* Request message for cancelling an unfinished device wipe.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest {
/**
* Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer\}`, where customer is the customer to whom the device belongs.
*/
customer?: string | null;
}
/**
* Response message for cancelling an unfinished device wipe.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse {
/**
* Resultant Device object for the action. Note that asset tags will not be returned in the device object.
*/
device?: Schema$GoogleAppsCloudidentityDevicesV1Device;
}
/**
* Metadata for CancelWipeDeviceUser LRO.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata {
}
/**
* Request message for cancelling an unfinished user account wipe.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest {
/**
* Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer\}`, where customer is the customer to whom the device belongs.
*/
customer?: string | null;
}
/**
* Response message for cancelling an unfinished user account wipe.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse {
/**
* Resultant DeviceUser object for the action.
*/
deviceUser?: Schema$GoogleAppsCloudidentityDevicesV1DeviceUser;
}
/**
* Represents the state associated with an API client calling the Devices API. Resource representing ClientState and supports updates from API users
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1ClientState {
/**
* The caller can specify asset tags for this resource
*/
assetTags?: string[] | null;
/**
* The compliance state of the resource as specified by the API client.
*/
complianceState?: string | null;
/**
* Output only. The time the client state data was created.
*/
createTime?: string | null;
/**
* This field may be used to store a unique identifier for the API resource within which these CustomAttributes are a field.
*/
customId?: string | null;
/**
* The token that needs to be passed back for concurrency control in updates. Token needs to be passed back in UpdateRequest
*/
etag?: string | null;
/**
* The Health score of the resource. The Health score is the callers specification of the condition of the device from a usability point of view. For example, a third-party device management provider may specify a health score based on its compliance with organizational policies.
*/
healthScore?: string | null;
/**
* The map of key-value attributes stored by callers specific to a device. The total serialized length of this map may not exceed 10KB. No limit is placed on the number of attributes in a map.
*/
keyValuePairs?: {
[key: string]: Schema$GoogleAppsCloudidentityDevicesV1CustomAttributeValue;
} | null;
/**
* Output only. The time the client state data was last updated.
*/
lastUpdateTime?: string | null;
/**
* The management state of the resource as specified by the API client.
*/
managed?: string | null;
/**
* Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device\}/deviceUsers/{device_user\}/clientState/{partner\}`, where partner corresponds to the partner storing the data. For partners belonging to the "BeyondCorp Alliance", this is the partner ID specified to you by Google. For all other callers, this is a string of the form: `{customer\}-suffix`, where `customer` is your customer ID. The *suffix* is any string the caller specifies. This string will be displayed verbatim in the administration console. This suffix is used in setting up Custom Access Levels in Context-Aware Access. Your organization's customer ID can be obtained from the URL: `GET https://www.googleapis.com/admin/directory/v1/customers/my_customer` The `id` field in the response contains the customer ID starting with the letter 'C'. The customer ID to be used in this API is the string after the letter 'C' (not including 'C')
*/
name?: string | null;
/**
* Output only. The owner of the ClientState
*/
ownerType?: string | null;
/**
* A descriptive cause of the health score.
*/
scoreReason?: string | null;
}
/**
* Metadata for CreateDevice LRO.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata {
}
/**
* Additional custom attribute values may be one of these types
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1CustomAttributeValue {
/**
* Represents a boolean value.
*/
boolValue?: boolean | null;
/**
* Represents a double value.
*/
numberValue?: number | null;
/**
* Represents a string value.
*/
stringValue?: string | null;
}
/**
* Metadata for DeleteDevice LRO.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata {
}
/**
* Metadata for DeleteDeviceUser LRO.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata {
}
/**
* A Device within the Cloud Identity Devices API. Represents a Device known to Google Cloud, independent of the device ownership, type, and whether it is assigned or in use by a user.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1Device {
/**
* Output only. Attributes specific to Android devices.
*/
androidSpecificAttributes?: Schema$GoogleAppsCloudidentityDevicesV1AndroidAttributes;
/**
* Asset tag of the device.
*/
assetTag?: string | null;
/**
* Output only. Baseband version of the device.
*/
basebandVersion?: string | null;
/**
* Output only. Device bootloader version. Example: 0.6.7.
*/
bootloaderVersion?: string | null;
/**
* Output only. Device brand. Example: Samsung.
*/
brand?: string | null;
/**
* Output only. Build number of the device.
*/
buildNumber?: string | null;
/**
* Output only. Represents whether the Device is compromised.
*/
compromisedState?: string | null;
/**
* Output only. When the Company-Owned device was imported. This field is empty for BYOD devices.
*/
createTime?: string | null;
/**
* Unique identifier for the device.
*/
deviceId?: string | null;
/**
* Output only. Type of device.
*/
deviceType?: string | null;
/**
* Output only. Whether developer options is enabled on device.
*/
enabledDeveloperOptions?: boolean | null;
/**
* Output only. Whether USB debugging is enabled on device.
*/
enabledUsbDebugging?: boolean | null;
/**
* Output only. Device encryption state.
*/
encryptionState?: string | null;
/**
* Host name of the device.
*/
hostname?: string | null;
/**
* Output only. IMEI number of device if GSM device; empty otherwise.
*/
imei?: string | null;
/**
* Output only. Kernel version of the device.
*/
kernelVersion?: string | null;
/**
* Most recent time when device synced with this service.
*/
lastSyncTime?: string | null;
/**
* Output only. Management state of the device
*/
managementState?: string | null;
/**
* Output only. Device manufacturer. Example: Motorola.
*/
manufacturer?: string | null;
/**
* Output only. MEID number of device if CDMA device; empty otherwise.
*/
meid?: string | null;
/**
* Output only. Model name of device. Example: Pixel 3.
*/
model?: string | null;
/**
* Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device\}`, where device is the unique id assigned to the Device.
*/
name?: string | null;
/**
* Output only. Mobile or network operator of device, if available.
*/
networkOperator?: string | null;
/**
* Output only. OS version of the device. Example: Android 8.1.0.
*/
osVersion?: string | null;
/**
* Output only. Domain name for Google accounts on device. Type for other accounts on device. On Android, will only be populated if |ownership_privilege| is |PROFILE_OWNER| or |DEVICE_OWNER|. Does not include the account signed in to the device policy app if that account's domain has only one account. Examples: "com.example", "xyz.com".
*/
otherAccounts?: string[] | null;
/**
* Output only. Whether the device is owned by the company or an individual
*/
ownerType?: string | null;
/**
* Output only. OS release version. Example: 6.0.
*/
releaseVersion?: string | null;
/**
* Output only. OS security patch update time on device.
*/
securityPatchTime?: string | null;
/**
* Serial Number of device. Example: HT82V1A01076.
*/
serialNumber?: string | null;
/**
* WiFi MAC addresses of device.
*/
wifiMacAddresses?: string[] | null;
}
/**
* Represents a user's use of a Device in the Cloud Identity Devices API. A DeviceUser is a resource representing a user's use of a Device
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1DeviceUser {
/**
* Compromised State of the DeviceUser object
*/
compromisedState?: string | null;
/**
* When the user first signed in to the device
*/
createTime?: string | null;
/**
* Output only. Most recent time when user registered with this service.
*/
firstSyncTime?: string | null;
/**
* Output only. Default locale used on device, in IETF BCP-47 format.
*/
languageCode?: string | null;
/**
* Output only. Last time when user synced with policies.
*/
lastSyncTime?: string | null;
/**
* Output only. Management state of the user on the device.
*/
managementState?: string | null;
/**
* Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the DeviceUser in format: `devices/{device\}/deviceUsers/{device_user\}`, where `device_user` uniquely identifies a user's use of a device.
*/
name?: string | null;
/**
* Password state of the DeviceUser object
*/
passwordState?: string | null;
/**
* Output only. User agent on the device for this specific user
*/
userAgent?: string | null;
/**
* Email address of the user registered on the device.
*/
userEmail?: string | null;
}
/**
* Response message that is returned in ListClientStates.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1ListClientStatesResponse {
/**
* Client states meeting the list restrictions.
*/
clientStates?: Schema$GoogleAppsCloudidentityDevicesV1ClientState[];
/**
* Token to retrieve the next page of results. Empty if there are no more results.
*/
nextPageToken?: string | null;
}
/**
* Response message that is returned from the ListDevices method.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1ListDevicesResponse {
/**
* Devices meeting the list restrictions.
*/
devices?: Schema$GoogleAppsCloudidentityDevicesV1Device[];
/**
* Token to retrieve the next page of results. Empty if there are no more results.
*/
nextPageToken?: string | null;
}
/**
* Response message that is returned from the ListDeviceUsers method.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse {
/**
* Devices meeting the list restrictions.
*/
deviceUsers?: Schema$GoogleAppsCloudidentityDevicesV1DeviceUser[];
/**
* Token to retrieve the next page of results. Empty if there are no more results.
*/
nextPageToken?: string | null;
}
/**
* Metadata for ListEndpointApps LRO.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata {
}
/**
* Response containing resource names of the DeviceUsers associated with the caller's credentials.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse {
/**
* The customer resource name that may be passed back to other Devices API methods such as List, Get, etc.
*/
customer?: string | null;
/**
* [Resource names](https://cloud.google.com/apis/design/resource_names) of the DeviceUsers in the format: `devices/{device\}/deviceUsers/{user_resource\}`, where device is the unique ID assigned to a Device and user_resource is the unique user ID
*/
names?: string[] | null;
/**
* Token to retrieve the next page of results. Empty if there are no more results.
*/
nextPageToken?: string | null;
}
/**
* Metadata for SignoutDeviceUser LRO.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata {
}
/**
* Metadata for UpdateClientState LRO.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata {
}
/**
* Metadata for UpdateDevice LRO.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata {
}
/**
* Metadata for WipeDevice LRO.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata {
}
/**
* Request message for wiping all data on the device.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1WipeDeviceRequest {
/**
* Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer\}`, where customer is the customer to whom the device belongs.
*/
customer?: string | null;
/**
* Optional. Specifies if a user is able to factory reset a device after a Device Wipe. On iOS, this is called "Activation Lock", while on Android, this is known as "Factory Reset Protection". If true, this protection will be removed from the device, so that a user can successfully factory reset. If false, the setting is untouched on the device.
*/
removeResetLock?: boolean | null;
}
/**
* Response message for wiping all data on the device.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1WipeDeviceResponse {
/**
* Resultant Device object for the action. Note that asset tags will not be returned in the device object.
*/
device?: Schema$GoogleAppsCloudidentityDevicesV1Device;
}
/**
* Metadata for WipeDeviceUser LRO.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata {
}
/**
* Request message for starting an account wipe on device.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest {
/**
* Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer\}`, where customer is the customer to whom the device belongs.
*/
customer?: string | null;
}
/**
* Response message for wiping the user's account from the device.
*/
export interface Schema$GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse {
/**
* Resultant DeviceUser object for the action.
*/
deviceUser?: Schema$GoogleAppsCloudidentityDevicesV1DeviceUser;
}
/**
* A group within the Cloud Identity Groups API. A `Group` is a collection of entities, where each entity is either a user, another group, or a service account.
*/
export interface Schema$Group {
/**
* Output only. Additional group keys associated with the Group.
*/
additionalGroupKeys?: Schema$EntityKey[];
/**
* Output only. The time when the `Group` was created.
*/
createTime?: string | null;
/**
* An extended description to help users determine the purpose of a `Group`. Must not be longer than 4,096 characters.
*/
description?: string | null;
/**
* The display name of the `Group`.
*/
displayName?: string | null;
/**
* Optional. Dynamic group metadata like queries and status.
*/
dynamicGroupMetadata?: Schema$DynamicGroupMetadata;
/**
* Required. The `EntityKey` of the `Group`.
*/
groupKey?: Schema$EntityKey;
/**
* Required. One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value.
*/
labels?: {
[key: string]: string;
} | null;
/**
* Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall be of the form `groups/{group\}`.
*/
name?: string | null;
/**
* Required. Immutable. The resource name of the entity under which this `Group` resides in the Cloud Identity resource hierarchy. Must be of the form `identitysources/{identity_source\}` for external [identity-mapped groups](https://support.google.com/a/answer/9039510) or `customers/{customer_id\}` for Google Groups. The `customer_id` must begin with "C" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793)
*/
parent?: string | null;
/**
* Output only. The time when the `Group` was last updated.
*/
updateTime?: string | null;
}
/**
* Message representing a transitive group of a user or a group.
*/
export interface Schema$GroupRelation {
/**
* Display name for this group.
*/
displayName?: string | null;
/**
* Resource name for this group.
*/
group?: string | null;
/**
* Entity key has an id and a namespace. In case of discussion forums, the id will be an email address without a namespace.
*/
groupKey?: Schema$EntityKey;
/**
* Labels for Group resource.
*/
labels?: {
[key: string]: string;
} | null;
/**
* The relation between the member and the transitive group.
*/
relationType?: string | null;
/**
* Membership roles of the member for the group.
*/
roles?: Schema$TransitiveMembershipRole[];
}
/**
* Credential for verifying signatures produced by the Identity Provider.
*/
export interface Schema$IdpCredential {
/**
* Output only. Information of a DSA public key.
*/
dsaKeyInfo?: Schema$DsaPublicKeyInfo;
/**
* Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the credential.
*/
name?: string | null;
/**
* Output only. Information of a RSA public key.
*/
rsaKeyInfo?: Schema$RsaPublicKeyInfo;
/**
* Output only. Time when the `IdpCredential` was last updated.
*/
updateTime?: string | null;
}
/**
* A [SAML 2.0](https://www.oasis-open.org/standards#samlv2.0) federation between a Google enterprise customer and a SAML identity provider.
*/
export interface Schema$InboundSamlSsoProfile {
/**
* Immutable. The customer. For example: `customers/C0123abc`.
*/
customer?: string | null;
/**
* Human-readable name of the SAML SSO profile.
*/
displayName?: string | null;
/**
* SAML identity provider configuration.
*/
idpConfig?: Schema$SamlIdpConfig;
/**
* Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the SAML SSO profile.
*/
name?: string | null;
/**
* SAML service provider configuration for this SAML SSO profile. These are the service provider details provided by Google that should be configured on the corresponding identity provider.
*/
spConfig?: Schema$SamlSpConfig;
}
/**
* Targets with "set" SSO assignments and their respective assignments.
*/
export interface Schema$InboundSsoAssignment {
/**
* Immutable. The customer. For example: `customers/C0123abc`.
*/
customer?: string | null;
/**
* Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Inbound SSO Assignment.
*/
name?: string | null;
/**
* Must be zero (which is the default value so it can be omitted) for assignments with `target_org_unit` set and must be greater-than-or-equal-to one for assignments with `target_group` set.
*/
rank?: number | null;
/**
* SAML SSO details. Must be set if and only if `sso_mode` is set to `SAML_SSO`.
*/
samlSsoInfo?: Schema$SamlSsoInfo;
/**
* Assertions about users assigned to an IdP will always be accepted from that IdP. This controls whether/when Google should redirect a user to the IdP. Unset (defaults) is the recommended configuration.
*/
signInBehavior?: Schema$SignInBehavior;
/**
* Inbound SSO behavior.
*/
ssoMode?: string | null;
/**
* Immutable. Must be of the form `groups/{group\}`.
*/
targetGroup?: string | null;
/**
* Immutable. Must be of the form `orgUnits/{org_unit\}`.
*/
targetOrgUnit?: string | null;
}
/**
* Response for IsInvitableUser RPC.
*/
export interface Schema$IsInvitableUserResponse {
/**
* Returns true if the email address is invitable.
*/
isInvitableUser?: boolean | null;
}
/**
* Response message for ListGroups operation.
*/
export interface Schema$ListGroupsResponse {
/**
* Groups returned in response to list request. The results are not sorted.
*/
groups?: Schema$Group[];
/**
* Token to retrieve the next page of results, or empty if there are no more results available for listing.
*/
nextPageToken?: string | null;
}
/**
* Response of the InboundSamlSsoProfilesService.ListIdpCredentials method.
*/
export interface Schema$ListIdpCredentialsResponse {
/**
* The IdpCredentials from the specified InboundSamlSsoProfile.
*/
idpCredentials?: Schema$IdpCredential[];
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
}
/**
* Response of the InboundSamlSsoProfilesService.ListInboundSamlSsoProfiles method.
*/
export interface Schema$ListInboundSamlSsoProfilesResponse {
/**
* List of InboundSamlSsoProfiles.
*/
inboundSamlSsoProfiles?: Schema$InboundSamlSsoProfile[];
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
}
/**
* Response of the InboundSsoAssignmentsService.ListInboundSsoAssignments method.
*/
export interface Schema$ListInboundSsoAssignmentsResponse {
/**
* The assignments.
*/
inboundSsoAssignments?: Schema$InboundSsoAssignment[];
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
}
/**
* The response message for MembershipsService.ListMemberships.
*/
export interface Schema$ListMembershipsResponse {
/**
* The `Membership`s under the specified `parent`.
*/
memberships?: Schema$Membership[];
/**
* A continuation token to retrieve the next page of results, or empty if there are no more results available.
*/
nextPageToken?: string | null;
}
/**
* Response message for UserInvitation listing request.
*/
export interface Schema$ListUserInvitationsResponse {
/**
* The token for the next page. If not empty, indicates that there may be more `UserInvitation` resources that match the listing request; this value can be used in a subsequent ListUserInvitationsRequest to get continued results with the current list call.
*/
nextPageToken?: string | null;
/**
* The list of UserInvitation resources.
*/
userInvitations?: Schema$UserInvitation[];
}
/**
* The response message for GroupsService.LookupGroupName.
*/
export interface Schema$LookupGroupNameResponse {
/**
* The [resource name](https://cloud.google.com/apis/design/resource_names) of the looked-up `Group`.
*/
name?: string | null;
}
/**
* The response message for MembershipsService.LookupMembershipName.
*/
export interface Schema$LookupMembershipNameResponse {
/**
* The [resource name](https://cloud.google.com/apis/design/resource_names) of the looked-up `Membership`. Must be of the form `groups/{group\}/memberships/{membership\}`.
*/
name?: string | null;
}
/**
* Message representing a transitive membership of a group.
*/
export interface Schema$MemberRelation {
/**
* Resource name for this member.
*/
member?: string | null;
/**
* Entity key has an id and a namespace. In case of discussion forums, the id will be an email address without a namespace.
*/
preferredMemberKey?: Schema$EntityKey[];
/**
* The relation between the group and the transitive member.
*/
relationType?: string | null;
/**
* The membership role details (i.e name of role and expiry time).
*/
roles?: Schema$TransitiveMembershipRole[];
}
/**
* The definition of MemberRestriction
*/
export interface Schema$MemberRestriction {
/**
* The evaluated state of this restriction on a group.
*/
evaluation?: Schema$RestrictionEvaluation;
/**
* Member Restriction as defined by CEL expression. Supported restrictions are: `member.customer_id` and `member.type`. Valid values for `member.type` are `1`, `2` and `3`. They correspond to USER, SERVICE_ACCOUNT, and GROUP respectively. The value for `member.customer_id` only supports `groupCustomerId()` currently which means the customer id of the group will be used for restriction. Supported operators are `&&`, `||` and `==`, corresponding to AND, OR, and EQUAL. Examples: Allow only service accounts of given customer to be members. `member.type == 2 && member.customer_id == groupCustomerId()` Allow only users or groups to be members. `member.type == 1 || member.type == 3`
*/
query?: string | null;
}
/**
* A membership within the Cloud Identity Groups API. A `Membership` defines a relationship between a `Group` and an entity belonging to that `Group`, referred to as a "member".
*/
export interface Schema$Membership {
/**
* Output only. The time when the `Membership` was created.
*/
createTime?: string | null;
/**
* Output only. Delivery setting associated with the membership.
*/
deliverySetting?: string | null;
/**
* Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership`. Shall be of the form `groups/{group\}/memberships/{membership\}`.
*/
name?: string | null;
/**
* Required. Immutable. The `EntityKey` of the member.
*/
preferredMemberKey?: Schema$EntityKey;
/**
* The `MembershipRole`s that apply to the `Membership`. If unspecified, defaults to a single `MembershipRole` with `name` `MEMBER`. Must not contain duplicate `MembershipRole`s with the same `name`.
*/
roles?: Schema$MembershipRole[];
/**
* Output only. The type of the membership.
*/
type?: string | null;
/**
* Output only. The time when the `Membership` was last updated.
*/
updateTime?: string | null;
}
/**
* Membership graph's path information as an adjacency list.
*/
export interface Schema$MembershipAdjacencyList {
/**
* Each edge contains information about the member that belongs to this group. Note: Fields returned here will help identify the specific Membership resource (e.g name, preferred_member_key and role), but may not be a comprehensive list of all fields.
*/
edges?: Schema$Membership[];
/**
* Resource name of the group that the members belong to.
*/
group?: string | null;
}
/**
* Message containing membership relation.
*/
export interface Schema$MembershipRelation {
/**
* An extended description to help users determine the purpose of a `Group`.
*/
description?: string | null;
/**
* The display name of the `Group`.
*/
displayName?: string | null;
/**
* The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall be of the form `groups/{group_id\}`.
*/
group?: string | null;
/**
* The `EntityKey` of the `Group`.
*/
groupKey?: Schema$EntityKey;
/**
* One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value.
*/
labels?: {
[key: string]: string;
} | null;
/**
* The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership`. Shall be of the form `groups/{group_id\}/memberships/{membership_id\}`.
*/
membership?: string | null;
/**
* The `MembershipRole`s that apply to the `Membership`.
*/
roles?: Schema$MembershipRole[];
}
/**
* A membership role within the Cloud Identity Groups API. A `MembershipRole` defines the privileges granted to a `Membership`.
*/
export interface Schema$MembershipRole {
/**
* The expiry details of the `MembershipRole`. Expiry details are only supported for `MEMBER` `MembershipRoles`. May be set if `name` is `MEMBER`. Must not be set if `name` is any other value.
*/
expiryDetail?: Schema$ExpiryDetail;
/**
* The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.
*/
name?: string | null;
/**
* Evaluations of restrictions applied to parent group on this membership.
*/
restrictionEvaluations?: Schema$RestrictionEvaluations;
}
/**
* The evaluated state of this restriction.
*/
export interface Schema$MembershipRoleRestrictionEvaluation {
/**
* Output only. The current state of the restriction
*/
state?: string | null;
}
/**
* The request message for MembershipsService.ModifyMembershipRoles.
*/
export interface Schema$ModifyMembershipRolesRequest {
/**
* The `MembershipRole`s to be added. Adding or removing roles in the same request as updating roles is not supported. Must not be set if `update_roles_params` is set.
*/
addRoles?: Schema$MembershipRole[];
/**
* The `name`s of the `MembershipRole`s to be removed. Adding or removing roles in the same request as updating roles is not supported. It is not possible to remove the `MEMBER` `MembershipRole`. If you wish to delete a `Membership`, call MembershipsService.DeleteMembership instead. Must not contain `MEMBER`. Must not be set if `update_roles_params` is set.
*/
removeRoles?: string[] | null;
/**
* The `MembershipRole`s to be updated. Updating roles in the same request as adding or removing roles is not supported. Must not be set if either `add_roles` or `remove_roles` is set.
*/
updateRolesParams?: Schema$UpdateMembershipRolesParams[];
}
/**
* The response message for MembershipsService.ModifyMembershipRoles.
*/
export interface Schema$ModifyMembershipRolesResponse {
/**
* The `Membership` resource after modifying its `MembershipRole`s.
*/
membership?: Schema$Membership;
}
/**
* This resource represents a long-running operation that is the result of a network API call.
*/
export interface Schema$Operation {
/**
* If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
*/
done?: boolean | null;
/**
* The error result of the operation in case of failure or cancellation.
*/
error?: Schema$Status;
/**
* Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
*/
metadata?: {
[key: string]: any;
} | null;
/**
* The server-assigned name, which is only