{
  "protocol": "rest",
  "version_module": true,
  "ownerName": "Google",
  "fullyEncodeReservedExpansion": true,
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        },
        "https://www.googleapis.com/auth/cloud-identity.groups.readonly": {
          "description": "See any Cloud Identity Groups that you can access, including group members and their emails"
        },
        "https://www.googleapis.com/auth/cloud-identity.groups": {
          "description": "See, change, create, and delete any of the Cloud Identity Groups that you can access, including the members of each group"
        },
        "https://www.googleapis.com/auth/cloud-identity.devices.lookup": {
          "description": "See your device details"
        }
      }
    }
  },
  "canonicalName": "Cloud Identity",
  "ownerDomain": "google.com",
  "mtlsRootUrl": "https://cloudidentity.mtls.googleapis.com/",
  "discoveryVersion": "v1",
  "documentationLink": "https://cloud.google.com/identity/",
  "description": "API for provisioning and managing identity resources.",
  "version": "v1beta1",
  "kind": "discovery#restDescription",
  "title": "Cloud Identity API",
  "parameters": {
    "fields": {
      "location": "query",
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "type": "string",
      "location": "query"
    },
    "key": {
      "type": "string",
      "location": "query",
      "description": "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."
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "$.xgafv": {
      "location": "query",
      "enum": [
        "1",
        "2"
      ],
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "description": "V1 error format."
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "callback": {
      "location": "query",
      "type": "string",
      "description": "JSONP"
    },
    "quotaUser": {
      "type": "string",
      "location": "query",
      "description": "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."
    },
    "alt": {
      "default": "json",
      "location": "query",
      "description": "Data format for response.",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "type": "string"
    },
    "prettyPrint": {
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "default": "true"
    }
  },
  "batchPath": "batch",
  "revision": "20201117",
  "resources": {
    "devices": {
      "resources": {
        "deviceUsers": {
          "methods": {
            "lookup": {
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.devices.lookup"
              ],
              "description": "Looks up resource names of the DeviceUsers associated with the caller's credentials, as well as the properties provided in the request. This method must be called with end-user credentials with the scope: https://www.googleapis.com/auth/cloud-identity.devices.lookup If multiple properties are provided, only DeviceUsers having all of these properties are considered as matches - i.e. the query behaves like an AND. Different platforms require different amounts of information from the caller to ensure that the DeviceUser is uniquely identified. - iOS: No properties need to be passed, the caller's credentials are sufficient to identify the corresponding DeviceUser. - Android: Specifying the 'android_id' field is required. - Desktop: Specifying the 'raw_resource_id' field is required.",
              "flatPath": "v1beta1/devices/{devicesId}/deviceUsers:lookup",
              "parameterOrder": [
                "parent"
              ],
              "id": "cloudidentity.devices.deviceUsers.lookup",
              "parameters": {
                "androidId": {
                  "location": "query",
                  "description": "Android Id returned by [Settings.Secure#ANDROID_ID](https://developer.android.com/reference/android/provider/Settings.Secure.html#ANDROID_ID).",
                  "type": "string"
                },
                "rawResourceId": {
                  "type": "string",
                  "description": "Raw Resource Id used by Google Endpoint Verification. If the user is enrolled into Google Endpoint Verification, this id will be saved as the 'device_resource_id' field in the following platform dependent files. Mac: ~/.secureConnect/context_aware_config.json Windows: C:\\Users\\%USERPROFILE%\\.secureConnect\\context_aware_config.json Linux: ~/.secureConnect/context_aware_config.json",
                  "location": "query"
                },
                "parent": {
                  "type": "string",
                  "description": "Must be set to \"devices/-/deviceUsers\" to search across all DeviceUser belonging to the user.",
                  "pattern": "^devices/[^/]+/deviceUsers$",
                  "required": true,
                  "location": "path"
                },
                "userId": {
                  "description": "The user whose DeviceUser's resource name will be fetched. Must be set to 'me' to fetch the DeviceUser's resource name for the calling user.",
                  "location": "query",
                  "type": "string"
                },
                "pageToken": {
                  "type": "string",
                  "location": "query",
                  "description": "A page token, received from a previous `LookupDeviceUsers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `LookupDeviceUsers` must match the call that provided the page token."
                },
                "pageSize": {
                  "description": "The maximum number of DeviceUsers to return. If unspecified, at most 20 DeviceUsers will be returned. The maximum value is 20; values above 20 will be coerced to 20.",
                  "location": "query",
                  "format": "int32",
                  "type": "integer"
                }
              },
              "path": "v1beta1/{+parent}:lookup",
              "response": {
                "$ref": "LookupSelfDeviceUsersResponse"
              }
            },
            "get": {
              "parameters": {
                "name": {
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.",
                  "type": "string",
                  "required": true,
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "location": "path"
                },
                "customer": {
                  "description": "Required. [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_id}`, where customer_id is the customer to whom the device belongs.",
                  "location": "query",
                  "type": "string"
                }
              },
              "description": "Retrieves the specified DeviceUser",
              "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}",
              "response": {
                "$ref": "DeviceUser"
              },
              "httpMethod": "GET",
              "parameterOrder": [
                "name"
              ],
              "id": "cloudidentity.devices.deviceUsers.get",
              "path": "v1beta1/{+name}"
            },
            "wipe": {
              "parameters": {
                "name": {
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "type": "string",
                  "required": true,
                  "location": "path",
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User."
                }
              },
              "id": "cloudidentity.devices.deviceUsers.wipe",
              "parameterOrder": [
                "name"
              ],
              "path": "v1beta1/{+name}:wipe",
              "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}:wipe",
              "description": "Wipes the user's account on a device.",
              "httpMethod": "POST",
              "response": {
                "$ref": "Operation"
              },
              "request": {
                "$ref": "WipeDeviceUserRequest"
              }
            },
            "block": {
              "path": "v1beta1/{+name}:block",
              "httpMethod": "POST",
              "description": "Blocks device from accessing user data",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "required": true,
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "location": "path",
                  "type": "string",
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User."
                }
              },
              "response": {
                "$ref": "Operation"
              },
              "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}:block",
              "request": {
                "$ref": "BlockDeviceUserRequest"
              },
              "id": "cloudidentity.devices.deviceUsers.block"
            },
            "approve": {
              "description": "Approves device to access user data.",
              "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}:approve",
              "request": {
                "$ref": "ApproveDeviceUserRequest"
              },
              "response": {
                "$ref": "Operation"
              },
              "httpMethod": "POST",
              "path": "v1beta1/{+name}:approve",
              "id": "cloudidentity.devices.deviceUsers.approve",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "type": "string",
                  "location": "path",
                  "required": true,
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User."
                }
              }
            },
            "delete": {
              "parameters": {
                "name": {
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "location": "path",
                  "required": true,
                  "type": "string",
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User."
                },
                "customer": {
                  "location": "query",
                  "type": "string",
                  "description": "Required. [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_id}`, where customer_id is the customer to whom the device belongs."
                }
              },
              "httpMethod": "DELETE",
              "parameterOrder": [
                "name"
              ],
              "path": "v1beta1/{+name}",
              "description": "Deletes the specified DeviceUser. This also revokes the user's access to device data.",
              "id": "cloudidentity.devices.deviceUsers.delete",
              "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}",
              "response": {
                "$ref": "Operation"
              }
            },
            "list": {
              "description": "Lists/Searches DeviceUsers.",
              "id": "cloudidentity.devices.deviceUsers.list",
              "parameterOrder": [
                "parent"
              ],
              "path": "v1beta1/{+parent}/deviceUsers",
              "response": {
                "$ref": "ListDeviceUsersResponse"
              },
              "flatPath": "v1beta1/devices/{devicesId}/deviceUsers",
              "parameters": {
                "orderBy": {
                  "location": "query",
                  "description": "Optional. Order specification for devices in the response.",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. To list all DeviceUsers, set this to \"devices/-\". To list all DeviceUsers owned by a device, set this to the resource name of the device. Format: devices/{device}",
                  "pattern": "^devices/[^/]+$",
                  "required": true,
                  "type": "string",
                  "location": "path"
                },
                "pageSize": {
                  "type": "integer",
                  "format": "int32",
                  "location": "query",
                  "description": "Optional. The maximum number of DeviceUsers to return. If unspecified, at most 5 DeviceUsers will be returned. The maximum value is 20; values above 20 will be coerced to 20."
                },
                "filter": {
                  "location": "query",
                  "type": "string",
                  "description": "Optional. Additional restrictions when fetching list of devices. For a list of search fields, refer to [Mobile device search fields](https://developers.google.com/admin-sdk/directory/v1/search-operators). Multiple search fields are separated by the space character."
                },
                "pageToken": {
                  "type": "string",
                  "description": "Optional. A page token, received from a previous `ListDeviceUsers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBooks` must match the call that provided the page token.",
                  "location": "query"
                },
                "customer": {
                  "description": "Required. [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_id}`, where customer_id is the customer to whom the device belongs.",
                  "location": "query",
                  "type": "string"
                }
              },
              "httpMethod": "GET"
            },
            "cancelWipe": {
              "path": "v1beta1/{+name}:cancelWipe",
              "id": "cloudidentity.devices.deviceUsers.cancelWipe",
              "request": {
                "$ref": "CancelWipeDeviceUserRequest"
              },
              "response": {
                "$ref": "Operation"
              },
              "parameterOrder": [
                "name"
              ],
              "description": "Cancels an unfinished user account wipe. This operation can be used to cancel device wipe in the gap between the wipe operation returning success and the device being wiped.",
              "parameters": {
                "name": {
                  "location": "path",
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "required": true,
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.",
                  "type": "string"
                }
              },
              "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}:cancelWipe",
              "httpMethod": "POST"
            }
          },
          "resources": {
            "clientStates": {
              "methods": {
                "get": {
                  "path": "v1beta1/{+name}",
                  "response": {
                    "$ref": "ClientState"
                  },
                  "httpMethod": "GET",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "cloudidentity.devices.deviceUsers.clientStates.get",
                  "parameters": {
                    "name": {
                      "required": true,
                      "location": "path",
                      "pattern": "^devices/[^/]+/deviceUsers/[^/]+/clientStates/[^/]+$",
                      "type": "string",
                      "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device_id}/deviceUsers/{device_user_id}/clientStates/{partner_id}`, where device_id is the unique ID assigned to the Device, device_user_id is the unique ID assigned to the User and partner_id identifies the partner storing the data. To get the client state for devices belonging to your own organization, the `partnerId` is in the format: `customerId-*anystring*`. Where the `customerId` is your organization's customer ID and `anystring` is any suffix. This suffix is used in setting up Custom Access Levels in Context-Aware Access. You may use `my_customer` instead of the customer ID for devices managed by your own organization."
                    },
                    "customer": {
                      "description": "Required. [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_id}`, where customer_id is the customer to whom the device belongs.",
                      "type": "string",
                      "location": "query"
                    }
                  },
                  "description": "Gets the client state for the device user",
                  "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}/clientStates/{clientStatesId}"
                },
                "patch": {
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}/clientStates/{clientStatesId}",
                  "id": "cloudidentity.devices.deviceUsers.clientStates.patch",
                  "response": {
                    "$ref": "Operation"
                  },
                  "path": "v1beta1/{+name}",
                  "parameters": {
                    "customer": {
                      "type": "string",
                      "description": "Required. [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_id}`, where customer_id is the customer to whom the device belongs.",
                      "location": "query"
                    },
                    "updateMask": {
                      "type": "string",
                      "format": "google-fieldmask",
                      "description": "Optional. Comma-separated list of fully qualified names of fields to be updated. If not specified, all updatable fields in ClientState are updated.",
                      "location": "query"
                    },
                    "name": {
                      "required": true,
                      "pattern": "^devices/[^/]+/deviceUsers/[^/]+/clientStates/[^/]+$",
                      "location": "path",
                      "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device_id}/deviceUsers/{device_user_id}/clientState/{partner_id}`, where partner_id corresponds to the partner storing the data.",
                      "type": "string"
                    }
                  },
                  "httpMethod": "PATCH",
                  "description": "Updates the client state for the device user",
                  "request": {
                    "$ref": "ClientState"
                  }
                }
              }
            }
          }
        }
      },
      "methods": {
        "delete": {
          "response": {
            "$ref": "Operation"
          },
          "flatPath": "v1beta1/devices/{devicesId}",
          "parameterOrder": [
            "name"
          ],
          "httpMethod": "DELETE",
          "description": "Deletes the specified device.",
          "id": "cloudidentity.devices.delete",
          "parameters": {
            "name": {
              "location": "path",
              "type": "string",
              "pattern": "^devices/[^/]+$",
              "required": true,
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}`, where device_id is the unique ID assigned to the Device."
            },
            "customer": {
              "location": "query",
              "type": "string",
              "description": "Required. [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_id}`, where customer_id is the customer to whom the device belongs."
            }
          },
          "path": "v1beta1/{+name}"
        },
        "create": {
          "id": "cloudidentity.devices.create",
          "request": {
            "$ref": "CreateDeviceRequest"
          },
          "response": {
            "$ref": "Operation"
          },
          "flatPath": "v1beta1/devices",
          "httpMethod": "POST",
          "parameterOrder": [],
          "parameters": {},
          "description": "Creates a device. Only company-owned device may be created.",
          "path": "v1beta1/devices"
        },
        "cancelWipe": {
          "id": "cloudidentity.devices.cancelWipe",
          "httpMethod": "POST",
          "request": {
            "$ref": "CancelWipeDeviceRequest"
          },
          "path": "v1beta1/{+name}:cancelWipe",
          "parameterOrder": [
            "name"
          ],
          "response": {
            "$ref": "Operation"
          },
          "flatPath": "v1beta1/devices/{devicesId}:cancelWipe",
          "description": "Cancels an unfinished device wipe. This operation can be used to cancel device wipe in the gap between the wipe operation returning success and the device being wiped.",
          "parameters": {
            "name": {
              "type": "string",
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}`, where device_id is the unique ID assigned to the Device.",
              "required": true,
              "location": "path",
              "pattern": "^devices/[^/]+$"
            }
          }
        },
        "wipe": {
          "id": "cloudidentity.devices.wipe",
          "parameterOrder": [
            "name"
          ],
          "path": "v1beta1/{+name}:wipe",
          "request": {
            "$ref": "WipeDeviceRequest"
          },
          "httpMethod": "POST",
          "response": {
            "$ref": "Operation"
          },
          "flatPath": "v1beta1/devices/{devicesId}:wipe",
          "parameters": {
            "name": {
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.",
              "pattern": "^devices/[^/]+$",
              "required": true,
              "location": "path",
              "type": "string"
            }
          },
          "description": "Wipes all data on the specified device."
        },
        "get": {
          "path": "v1beta1/{+name}",
          "httpMethod": "GET",
          "flatPath": "v1beta1/devices/{devicesId}",
          "parameters": {
            "name": {
              "type": "string",
              "pattern": "^devices/[^/]+$",
              "required": true,
              "location": "path",
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}`, where device_id is the unique ID assigned to the Device."
            },
            "customer": {
              "location": "query",
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Customer in format: `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
              "type": "string"
            }
          },
          "id": "cloudidentity.devices.get",
          "description": "Retrieves the specified device.",
          "parameterOrder": [
            "name"
          ],
          "response": {
            "$ref": "Device"
          }
        },
        "list": {
          "parameters": {
            "customer": {
              "location": "query",
              "type": "string",
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer."
            },
            "pageSize": {
              "type": "integer",
              "location": "query",
              "format": "int32",
              "description": "Optional. The maximum number of Devices to return. If unspecified, at most 20 Devices will be returned. The maximum value is 100; values above 100 will be coerced to 100."
            },
            "view": {
              "type": "string",
              "location": "query",
              "enumDescriptions": [
                "Default value. The value is unused.",
                "This view contains all devices imported by the company admin. Each device in the response contains all information specified by the company admin when importing the device (i.e. asset tags).",
                "This view contains all devices with at least one user registered on the device. Each device in the response contains all device information, except for asset tags."
              ],
              "description": "Optional. The view to use for the List request.",
              "enum": [
                "VIEW_UNSPECIFIED",
                "COMPANY_INVENTORY",
                "USER_ASSIGNED_DEVICES"
              ]
            },
            "pageToken": {
              "location": "query",
              "description": "Optional. A page token, received from a previous `ListDevices` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDevices` must match the call that provided the page token.",
              "type": "string"
            },
            "orderBy": {
              "description": "Optional. Order specification for devices in the response. Only one of the following field names may be used to specify the order: `create_time`, `last_sync_time`, `model`, `os_version`, `device_type` and `serial_number`. `desc` may be specified optionally to specify results to be sorted in descending order. Default order is ascending.",
              "type": "string",
              "location": "query"
            },
            "filter": {
              "description": "Optional. Additional restrictions when fetching list of devices. For a list of search fields, refer to [Mobile device search fields](https://developers.google.com/admin-sdk/directory/v1/search-operators). Multiple search fields are separated by the space character.",
              "location": "query",
              "type": "string"
            }
          },
          "id": "cloudidentity.devices.list",
          "httpMethod": "GET",
          "path": "v1beta1/devices",
          "flatPath": "v1beta1/devices",
          "description": "Lists/Searches devices.",
          "parameterOrder": [],
          "response": {
            "$ref": "ListDevicesResponse"
          }
        }
      }
    },
    "groups": {
      "methods": {
        "search": {
          "description": "Searches for `Group`s matching a specified query.",
          "path": "v1beta1/groups:search",
          "parameters": {
            "view": {
              "enum": [
                "BASIC",
                "FULL"
              ],
              "description": "The level of detail to be returned. If unspecified, defaults to `View.BASIC`.",
              "enumDescriptions": [
                "Default. Only basic resource information is returned.",
                "All resource information is returned."
              ],
              "location": "query",
              "type": "string"
            },
            "query": {
              "type": "string",
              "description": "Required. The search query. Must be specified in [Common Expression Language](https://opensource.google/projects/cel). May only contain equality operators on the parent and inclusion operators on labels (e.g., `parent == 'customers/{customer_id}' && 'cloudidentity.googleapis.com/groups.discussion_forum' in labels`).",
              "location": "query"
            },
            "pageSize": {
              "description": "The maximum number of results to return. Note that the number of results returned may be less than this value even if there are more available results. To fetch all results, clients must continue calling this method repeatedly until the response no longer contains a `next_page_token`. If unspecified, defaults to 200 for `GroupView.BASIC` and to 50 for `GroupView.FULL`. Must not be greater than 1000 for `GroupView.BASIC` or 500 for `GroupView.FULL`.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "location": "query",
              "type": "string",
              "description": "The `next_page_token` value returned from a previous search request, if any."
            }
          },
          "parameterOrder": [],
          "id": "cloudidentity.groups.search",
          "response": {
            "$ref": "SearchGroupsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "httpMethod": "GET",
          "flatPath": "v1beta1/groups:search"
        },
        "create": {
          "parameterOrder": [],
          "flatPath": "v1beta1/groups",
          "description": "Creates a `Group`.",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "id": "cloudidentity.groups.create",
          "parameters": {
            "initialGroupConfig": {
              "description": "Required. The initial configuration option for the `Group`.",
              "enum": [
                "INITIAL_GROUP_CONFIG_UNSPECIFIED",
                "WITH_INITIAL_OWNER",
                "EMPTY"
              ],
              "type": "string",
              "enumDescriptions": [
                "Default. Should not be used.",
                "The end user making the request will be added as the initial owner of the `Group`.",
                "An empty group is created without any initial owners. This can only be used by admins of the domain."
              ],
              "location": "query"
            }
          },
          "request": {
            "$ref": "Group"
          },
          "path": "v1beta1/groups",
          "httpMethod": "POST",
          "response": {
            "$ref": "Operation"
          }
        },
        "delete": {
          "path": "v1beta1/{+name}",
          "parameterOrder": [
            "name"
          ],
          "httpMethod": "DELETE",
          "response": {
            "$ref": "Operation"
          },
          "id": "cloudidentity.groups.delete",
          "parameters": {
            "name": {
              "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group` to retrieve. Must be of the form `groups/{group_id}`.",
              "location": "path",
              "type": "string",
              "pattern": "^groups/[^/]+$",
              "required": true
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "flatPath": "v1beta1/groups/{groupsId}",
          "description": "Deletes a `Group`."
        },
        "list": {
          "parameterOrder": [],
          "id": "cloudidentity.groups.list",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "flatPath": "v1beta1/groups",
          "description": "Lists the `Group`s under a customer or namespace.",
          "response": {
            "$ref": "ListGroupsResponse"
          },
          "path": "v1beta1/groups",
          "httpMethod": "GET",
          "parameters": {
            "pageSize": {
              "location": "query",
              "type": "integer",
              "format": "int32",
              "description": "The maximum number of results to return. Note that the number of results returned may be less than this value even if there are more available results. To fetch all results, clients must continue calling this method repeatedly until the response no longer contains a `next_page_token`. If unspecified, defaults to 200 for `View.BASIC` and to 50 for `View.FULL`. Must not be greater than 1000 for `View.BASIC` or 500 for `View.FULL`."
            },
            "pageToken": {
              "type": "string",
              "description": "The `next_page_token` value returned from a previous list request, if any.",
              "location": "query"
            },
            "parent": {
              "location": "query",
              "type": "string",
              "description": "Required. The parent resource under which to list all `Group`s. Must be of the form `identitysources/{identity_source_id}` for external- identity-mapped groups or `customers/{customer_id}` for Google Groups."
            },
            "view": {
              "type": "string",
              "enumDescriptions": [
                "Default. Should not be used.",
                "Only basic resource information is returned.",
                "All resource information is returned."
              ],
              "description": "The level of detail to be returned. If unspecified, defaults to `View.BASIC`.",
              "enum": [
                "VIEW_UNSPECIFIED",
                "BASIC",
                "FULL"
              ],
              "location": "query"
            }
          }
        },
        "lookup": {
          "response": {
            "$ref": "LookupGroupNameResponse"
          },
          "description": "Looks up the [resource name](https://cloud.google.com/apis/design/resource_names) of a `Group` by its `EntityKey`.",
          "path": "v1beta1/groups:lookup",
          "flatPath": "v1beta1/groups:lookup",
          "parameters": {
            "groupKey.namespace": {
              "description": "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_id}.",
              "type": "string",
              "location": "query"
            },
            "groupKey.id": {
              "location": "query",
              "description": "The ID of the entity. For Google-managed entities, the `id` must 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`.",
              "type": "string"
            }
          },
          "id": "cloudidentity.groups.lookup",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "parameterOrder": [],
          "httpMethod": "GET"
        },
        "get": {
          "parameterOrder": [
            "name"
          ],
          "httpMethod": "GET",
          "path": "v1beta1/{+name}",
          "id": "cloudidentity.groups.get",
          "parameters": {
            "name": {
              "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group` to retrieve. Must be of the form `groups/{group_id}`.",
              "location": "path",
              "pattern": "^groups/[^/]+$",
              "required": true,
              "type": "string"
            }
          },
          "description": "Retrieves a `Group`.",
          "flatPath": "v1beta1/groups/{groupsId}",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "response": {
            "$ref": "Group"
          }
        },
        "patch": {
          "flatPath": "v1beta1/groups/{groupsId}",
          "httpMethod": "PATCH",
          "request": {
            "$ref": "Group"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "parameters": {
            "name": {
              "location": "path",
              "type": "string",
              "pattern": "^groups/[^/]+$",
              "required": true,
              "description": "Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall be of the form `groups/{group_id}`."
            },
            "updateMask": {
              "type": "string",
              "description": "Required. The fully-qualified names of fields to update. May only contain the following fields: `display_name`, `description`.",
              "format": "google-fieldmask",
              "location": "query"
            }
          },
          "description": "Updates a `Group`.",
          "id": "cloudidentity.groups.patch",
          "response": {
            "$ref": "Operation"
          },
          "parameterOrder": [
            "name"
          ],
          "path": "v1beta1/{+name}"
        }
      },
      "resources": {
        "memberships": {
          "methods": {
            "lookup": {
              "description": "Looks up the [resource name](https://cloud.google.com/apis/design/resource_names) of a `Membership` by its `EntityKey`.",
              "id": "cloudidentity.groups.memberships.lookup",
              "flatPath": "v1beta1/groups/{groupsId}/memberships:lookup",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "parent": {
                  "pattern": "^groups/[^/]+$",
                  "description": "Required. The parent `Group` resource under which to lookup the `Membership` name. Must be of the form `groups/{group_id}`.",
                  "type": "string",
                  "required": true,
                  "location": "path"
                },
                "memberKey.id": {
                  "description": "The ID of the entity. For Google-managed entities, the `id` must 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`.",
                  "type": "string",
                  "location": "query"
                },
                "memberKey.namespace": {
                  "location": "query",
                  "type": "string",
                  "description": "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_id}."
                }
              },
              "httpMethod": "GET",
              "response": {
                "$ref": "LookupMembershipNameResponse"
              },
              "parameterOrder": [
                "parent"
              ],
              "path": "v1beta1/{+parent}/memberships:lookup"
            },
            "create": {
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Creates a `Membership`.",
              "id": "cloudidentity.groups.memberships.create",
              "response": {
                "$ref": "Operation"
              },
              "httpMethod": "POST",
              "flatPath": "v1beta1/groups/{groupsId}/memberships",
              "parameterOrder": [
                "parent"
              ],
              "request": {
                "$ref": "Membership"
              },
              "path": "v1beta1/{+parent}/memberships",
              "parameters": {
                "parent": {
                  "description": "Required. The parent `Group` resource under which to create the `Membership`. Must be of the form `groups/{group_id}`.",
                  "type": "string",
                  "pattern": "^groups/[^/]+$",
                  "location": "path",
                  "required": true
                }
              }
            },
            "getMembershipGraph": {
              "parameterOrder": [
                "parent"
              ],
              "path": "v1beta1/{+parent}/memberships:getMembershipGraph",
              "httpMethod": "GET",
              "description": "Get a membership graph of just a member or both a member and a group. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. Given a member, the response will contain all membership paths from the member. Given both a group and a member, the response will contain all membership paths between the group and the member.",
              "parameters": {
                "query": {
                  "description": "Required. A CEL expression that MUST include member specification AND label(s). Certain groups are uniquely identified by both a 'member_key_id' and a 'member_key_namespace', which requires an additional query input: 'member_key_namespace'. Example query: `member_key_id == 'member_key_id_value' && in labels`",
                  "type": "string",
                  "location": "query"
                },
                "parent": {
                  "type": "string",
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group to which the Membership belongs to. group_id can be a wildcard collection id \"-\". When a group_id is specified, the membership graph will be constrained to paths between the member (defined in the query) and the parent. If a wildcard collection is provided, all membership paths connected to the member will be returned.",
                  "required": true,
                  "pattern": "^groups/[^/]+$",
                  "location": "path"
                }
              },
              "response": {
                "$ref": "Operation"
              },
              "flatPath": "v1beta1/groups/{groupsId}/memberships:getMembershipGraph",
              "id": "cloudidentity.groups.memberships.getMembershipGraph",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "get": {
              "parameterOrder": [
                "name"
              ],
              "httpMethod": "GET",
              "path": "v1beta1/{+name}",
              "flatPath": "v1beta1/groups/{groupsId}/memberships/{membershipsId}",
              "id": "cloudidentity.groups.memberships.get",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "response": {
                "$ref": "Membership"
              },
              "description": "Retrieves a `Membership`.",
              "parameters": {
                "name": {
                  "required": true,
                  "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` to retrieve. Must be of the form `groups/{group_id}/memberships/{membership_id}`.",
                  "type": "string",
                  "pattern": "^groups/[^/]+/memberships/[^/]+$",
                  "location": "path"
                }
              }
            },
            "searchTransitiveGroups": {
              "parameterOrder": [
                "parent"
              ],
              "description": "Search transitive groups of a member. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. A transitive group is any group that has a direct or indirect membership to the member. Actor must have view permissions all transitive groups.",
              "flatPath": "v1beta1/groups/{groupsId}/memberships:searchTransitiveGroups",
              "id": "cloudidentity.groups.memberships.searchTransitiveGroups",
              "path": "v1beta1/{+parent}/memberships:searchTransitiveGroups",
              "response": {
                "$ref": "SearchTransitiveGroupsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "parent": {
                  "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group_id}`, where `group_id` is always '-' as this API will search across all groups for a given member.",
                  "type": "string",
                  "required": true,
                  "location": "path",
                  "pattern": "^groups/[^/]+$"
                },
                "pageSize": {
                  "description": "The default page size is 200 (max 1000).",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "type": "string",
                  "location": "query",
                  "description": "The next_page_token value returned from a previous list request, if any."
                },
                "query": {
                  "description": "Required. A CEL expression that MUST include member specification AND label(s). This is a `required` field. Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Certain groups are uniquely identified by both a 'member_key_id' and a 'member_key_namespace', which requires an additional query input: 'member_key_namespace'. Example query: `member_key_id == 'member_key_id_value' && in labels`",
                  "location": "query",
                  "type": "string"
                }
              },
              "httpMethod": "GET"
            },
            "searchTransitiveMemberships": {
              "parameters": {
                "parent": {
                  "required": true,
                  "pattern": "^groups/[^/]+$",
                  "type": "string",
                  "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group.",
                  "location": "path"
                },
                "pageToken": {
                  "location": "query",
                  "description": "The next_page_token value returned from a previous list request, if any.",
                  "type": "string"
                },
                "pageSize": {
                  "type": "integer",
                  "format": "int32",
                  "location": "query",
                  "description": "The default page size is 200 (max 1000)."
                }
              },
              "httpMethod": "GET",
              "parameterOrder": [
                "parent"
              ],
              "path": "v1beta1/{+parent}/memberships:searchTransitiveMemberships",
              "response": {
                "$ref": "SearchTransitiveMembershipsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "flatPath": "v1beta1/groups/{groupsId}/memberships:searchTransitiveMemberships",
              "description": "Search transitive memberships of a group. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. A transitive membership is any direct or indirect membership of a group. Actor must have view permissions to all transitive memberships.",
              "id": "cloudidentity.groups.memberships.searchTransitiveMemberships"
            },
            "modifyMembershipRoles": {
              "request": {
                "$ref": "ModifyMembershipRolesRequest"
              },
              "parameters": {
                "name": {
                  "pattern": "^groups/[^/]+/memberships/[^/]+$",
                  "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` whose roles are to be modified. Must be of the form `groups/{group_id}/memberships/{membership_id}`.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "flatPath": "v1beta1/groups/{groupsId}/memberships/{membershipsId}:modifyMembershipRoles",
              "path": "v1beta1/{+name}:modifyMembershipRoles",
              "httpMethod": "POST",
              "description": "Modifies the `MembershipRole`s of a `Membership`.",
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "ModifyMembershipRolesResponse"
              },
              "id": "cloudidentity.groups.memberships.modifyMembershipRoles",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "list": {
              "parameterOrder": [
                "parent"
              ],
              "id": "cloudidentity.groups.memberships.list",
              "path": "v1beta1/{+parent}/memberships",
              "description": "Lists the `Membership`s within a `Group`.",
              "httpMethod": "GET",
              "parameters": {
                "pageToken": {
                  "location": "query",
                  "type": "string",
                  "description": "The `next_page_token` value returned from a previous search request, if any."
                },
                "view": {
                  "type": "string",
                  "enum": [
                    "BASIC",
                    "FULL"
                  ],
                  "description": "The level of detail to be returned. If unspecified, defaults to `MembershipView.BASIC`.",
                  "location": "query",
                  "enumDescriptions": [
                    "Default. Only basic resource information is returned.",
                    "All resource information is returned."
                  ]
                },
                "parent": {
                  "pattern": "^groups/[^/]+$",
                  "required": true,
                  "description": "Required. The parent `Group` resource under which to lookup the `Membership` name. Must be of the form `groups/{group_id}`.",
                  "location": "path",
                  "type": "string"
                },
                "pageSize": {
                  "description": "The maximum number of results to return. Note that the number of results returned may be less than this value even if there are more available results. To fetch all results, clients must continue calling this method repeatedly until the response no longer contains a `next_page_token`. If unspecified, defaults to 200 for `GroupView.BASIC` and to 50 for `GroupView.FULL`. Must not be greater than 1000 for `GroupView.BASIC` or 500 for `GroupView.FULL`.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                }
              },
              "flatPath": "v1beta1/groups/{groupsId}/memberships",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "response": {
                "$ref": "ListMembershipsResponse"
              }
            },
            "delete": {
              "description": "Deletes a `Membership`.",
              "response": {
                "$ref": "Operation"
              },
              "flatPath": "v1beta1/groups/{groupsId}/memberships/{membershipsId}",
              "httpMethod": "DELETE",
              "path": "v1beta1/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "cloudidentity.groups.memberships.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "type": "string",
                  "pattern": "^groups/[^/]+/memberships/[^/]+$",
                  "location": "path",
                  "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` to delete. Must be of the form `groups/{group_id}/memberships/{membership_id}`.",
                  "required": true
                }
              }
            },
            "checkTransitiveMembership": {
              "parameterOrder": [
                "parent"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "query": {
                  "type": "string",
                  "description": "Required. A CEL expression that MUST include member specification. This is a `required` field. Certain groups are uniquely identified by both a 'member_key_id' and a 'member_key_namespace', which requires an additional query input: 'member_key_namespace'. Example query: `member_key_id == 'member_key_id_value'`",
                  "location": "query"
                },
                "parent": {
                  "required": true,
                  "pattern": "^groups/[^/]+$",
                  "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to check the transitive membership in. Format: `groups/{group_id}`, where `group_id` is the unique id assigned to the Group to which the Membership belongs to.",
                  "location": "path",
                  "type": "string"
                }
              },
              "id": "cloudidentity.groups.memberships.checkTransitiveMembership",
              "response": {
                "$ref": "CheckTransitiveMembershipResponse"
              },
              "flatPath": "v1beta1/groups/{groupsId}/memberships:checkTransitiveMembership",
              "httpMethod": "GET",
              "path": "v1beta1/{+parent}/memberships:checkTransitiveMembership",
              "description": "Check a potential member for membership in a group. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. A member has membership to a group as long as there is a single viewable transitive membership between the group and the member. The actor must have view permissions to at least one transitive membership between the member and group."
            }
          }
        }
      }
    }
  },
  "schemas": {
    "ApproveDeviceUserResponse": {
      "properties": {
        "deviceUser": {
          "$ref": "DeviceUser",
          "description": "Resultant DeviceUser object for the action."
        }
      },
      "id": "ApproveDeviceUserResponse",
      "description": "Response message for approving the device to access user data.",
      "type": "object"
    },
    "AndroidAttributes": {
      "type": "object",
      "description": "Resource representing the Android specific attributes of a Device.",
      "id": "AndroidAttributes",
      "properties": {
        "supportsWorkProfile": {
          "type": "boolean",
          "description": "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."
        },
        "ownerProfileAccount": {
          "description": "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.",
          "type": "boolean"
        },
        "ownershipPrivilege": {
          "description": "Ownership privileges on device.",
          "type": "string",
          "enum": [
            "OWNERSHIP_PRIVILEGE_UNSPECIFIED",
            "DEVICE_ADMINISTRATOR",
            "PROFILE_OWNER",
            "DEVICE_OWNER"
          ],
          "enumDescriptions": [
            "Ownership privilege is not set.",
            "Active device administrator privileges on the device.",
            "Profile Owner privileges. The account is in a managed corporate profile.",
            "Device Owner privileges on the device."
          ]
        },
        "enabledUnknownSources": {
          "description": "Whether applications from unknown sources can be installed on device.",
          "type": "boolean"
        }
      }
    },
    "EntityKey": {
      "id": "EntityKey",
      "description": "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.",
      "properties": {
        "namespace": {
          "type": "string",
          "description": "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_id}."
        },
        "id": {
          "type": "string",
          "description": "The ID of the entity. For Google-managed entities, the `id` must 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`."
        }
      },
      "type": "object"
    },
    "CancelWipeDeviceUserRequest": {
      "id": "CancelWipeDeviceUserRequest",
      "properties": {
        "customer": {
          "description": "Required. [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_id}`, where customer_id is the customer to whom the device belongs.",
          "type": "string"
        }
      },
      "description": "Request message for cancelling an unfinished user account wipe.",
      "type": "object"
    },
    "SearchGroupsResponse": {
      "type": "object",
      "properties": {
        "nextPageToken": {
          "description": "A continuation token to retrieve the next page of results, or empty if there are no more results available.",
          "type": "string"
        },
        "groups": {
          "type": "array",
          "description": "The `Group`s that match the search query.",
          "items": {
            "$ref": "Group"
          }
        }
      },
      "id": "SearchGroupsResponse",
      "description": "The response message for GroupsService.SearchGroups."
    },
    "CancelWipeDeviceRequest": {
      "id": "CancelWipeDeviceRequest",
      "type": "object",
      "description": "Request message for cancelling an unfinished device wipe.",
      "properties": {
        "customer": {
          "type": "string",
          "description": "Required. [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_id}`, where customer_id is the customer to whom the device belongs."
        }
      }
    },
    "GoogleAppsCloudidentityDevicesV1ClientState": {
      "type": "object",
      "properties": {
        "complianceState": {
          "type": "string",
          "enum": [
            "COMPLIANCE_STATE_UNSPECIFIED",
            "COMPLIANT",
            "NON_COMPLIANT"
          ],
          "enumDescriptions": [
            "The compliance state of the resource is unknown or unspecified.",
            "Device is compliant with third party policies",
            "Device is not compliant with third party policies"
          ],
          "description": "The compliance state of the resource as specified by the API client."
        },
        "createTime": {
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. The time the client state data was created.",
          "type": "string"
        },
        "healthScore": {
          "enum": [
            "HEALTH_SCORE_UNSPECIFIED",
            "VERY_POOR",
            "POOR",
            "NEUTRAL",
            "GOOD",
            "VERY_GOOD"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default value",
            "The object is in very poor health as defined by the caller.",
            "The object is in poor health as defined by the caller.",
            "The object health is neither good nor poor, as defined by the caller.",
            "The object is in good health as defined by the caller.",
            "The object is in very good health as defined by the caller."
          ],
          "description": "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."
        },
        "keyValuePairs": {
          "additionalProperties": {
            "$ref": "GoogleAppsCloudidentityDevicesV1CustomAttributeValue"
          },
          "description": "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.",
          "type": "object"
        },
        "scoreReason": {
          "type": "string",
          "description": "A descriptive cause of the health score."
        },
        "managed": {
          "description": "The management state of the resource as specified by the API client.",
          "enumDescriptions": [
            "The management state of the resource is unknown or unspecified.",
            "The resource is managed.",
            "The resource is not managed."
          ],
          "type": "string",
          "enum": [
            "MANAGED_STATE_UNSPECIFIED",
            "MANAGED",
            "UNMANAGED"
          ]
        },
        "ownerType": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The owner of the ClientState",
          "enumDescriptions": [
            "Unknown owner type",
            "Customer is the owner",
            "Partner is the owner"
          ],
          "enum": [
            "OWNER_TYPE_UNSPECIFIED",
            "OWNER_TYPE_CUSTOMER",
            "OWNER_TYPE_PARTNER"
          ]
        },
        "assetTags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The caller can specify asset tags for this resource"
        },
        "customId": {
          "type": "string",
          "description": "This field may be used to store a unique identifier for the API resource within which these CustomAttributes are a field."
        },
        "name": {
          "readOnly": true,
          "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device_id}/deviceUsers/{device_user_id}/clientState/{partner_id}`, where partner_id 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_id}-suffix`, where `customer_id` 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')",
          "type": "string"
        },
        "lastUpdateTime": {
          "description": "Output only. The time the client state data was last updated.",
          "readOnly": true,
          "format": "google-datetime",
          "type": "string"
        },
        "etag": {
          "type": "string",
          "description": "The token that needs to be passed back for concurrency control in updates. Token needs to be passed back in UpdateRequest"
        }
      },
      "id": "GoogleAppsCloudidentityDevicesV1ClientState",
      "description": "Represents the state associated with an API client calling the Devices API. Resource representing ClientState and supports updates from API users"
    },
    "GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse": {
      "id": "GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse",
      "type": "object",
      "description": "Response message for blocking the device from accessing user data.",
      "properties": {
        "deviceUser": {
          "description": "Resultant DeviceUser object for the action.",
          "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser"
        }
      }
    },
    "GroupRelation": {
      "description": "Message representing a transitive group of a user or a group.",
      "id": "GroupRelation",
      "type": "object",
      "properties": {
        "groupKey": {
          "$ref": "EntityKey",
          "description": "Entity key has an id and a namespace. In case of discussion forums, the id will be an email address without a namespace."
        },
        "relationType": {
          "type": "string",
          "description": "The relation between the member and the transitive group.",
          "enumDescriptions": [
            "The relation type is undefined or undetermined.",
            "The two entities have only a direct membership with each other.",
            "The two entities have only an indirect membership with each other.",
            "The two entities have both a direct and an indirect membership with each other."
          ],
          "enum": [
            "RELATION_TYPE_UNSPECIFIED",
            "DIRECT",
            "INDIRECT",
            "DIRECT_AND_INDIRECT"
          ]
        },
        "displayName": {
          "type": "string",
          "description": "Display name for this group."
        },
        "labels": {
          "type": "object",
          "description": "Labels for Group resource.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "roles": {
          "description": "Membership roles of the member for the group.",
          "type": "array",
          "items": {
            "$ref": "TransitiveMembershipRole"
          }
        },
        "group": {
          "type": "string",
          "description": "Resource name for this group."
        }
      }
    },
    "GoogleAppsCloudidentityDevicesV1DeviceUser": {
      "properties": {
        "passwordState": {
          "description": "Password state of the DeviceUser object",
          "enum": [
            "PASSWORD_STATE_UNSPECIFIED",
            "PASSWORD_SET",
            "PASSWORD_NOT_SET"
          ],
          "enumDescriptions": [
            "Password state not set.",
            "Password set in object.",
            "Password not set in object."
          ],
          "type": "string"
        },
        "compromisedState": {
          "enum": [
            "COMPROMISED_STATE_UNSPECIFIED",
            "COMPROMISED",
            "NOT_COMPROMISED"
          ],
          "type": "string",
          "description": "Compromised State of the DeviceUser object",
          "enumDescriptions": [
            "Compromised state of Device User account is unknown or unspecified.",
            "Device User Account is compromised.",
            "Device User Account is not compromised."
          ]
        },
        "languageCode": {
          "type": "string",
          "description": "Output only. Default locale used on device, in IETF BCP-47 format.",
          "readOnly": true
        },
        "firstSyncTime": {
          "description": "Output only. Most recent time when user registered with this service.",
          "readOnly": true,
          "format": "google-datetime",
          "type": "string"
        },
        "userEmail": {
          "type": "string",
          "description": "Email address of the user registered on the device."
        },
        "name": {
          "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the DeviceUser in format: `devices/{device_id}/deviceUsers/{user_id}`, where user_id is the ID of the user associated with the user session.",
          "type": "string",
          "readOnly": true
        },
        "userAgent": {
          "type": "string",
          "description": "Output only. User agent on the device for this specific user",
          "readOnly": true
        },
        "lastSyncTime": {
          "description": "Output only. Last time when user synced with policies.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "managementState": {
          "description": "Output only. Management state of the user on the device.",
          "enumDescriptions": [
            "Default value. This value is unused.",
            "This user's data and profile is being removed from the device.",
            "This user's data and profile is removed from the device.",
            "User is approved to access data on the device.",
            "User is blocked from accessing data on the device.",
            "User is awaiting approval.",
            "User is unenrolled from Advanced Windows Management, but the Windows account is still intact."
          ],
          "type": "string",
          "enum": [
            "MANAGEMENT_STATE_UNSPECIFIED",
            "WIPING",
            "WIPED",
            "APPROVED",
            "BLOCKED",
            "PENDING_APPROVAL",
            "UNENROLLED"
          ],
          "readOnly": true
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "When the user first signed in to the device"
        }
      },
      "id": "GoogleAppsCloudidentityDevicesV1DeviceUser",
      "description": "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",
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse": {
      "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse",
      "properties": {
        "device": {
          "description": "Resultant Device object for the action. Note that asset tags will not be returned in the device object.",
          "$ref": "GoogleAppsCloudidentityDevicesV1Device"
        }
      },
      "type": "object",
      "description": "Response message for cancelling an unfinished device wipe."
    },
    "WipeDeviceResponse": {
      "type": "object",
      "id": "WipeDeviceResponse",
      "properties": {
        "device": {
          "description": "Resultant Device object for the action. Note that asset tags will not be returned in the device object.",
          "$ref": "Device"
        }
      },
      "description": "Response message for wiping all data on the device."
    },
    "GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse": {
      "description": "Response message for wiping the user's account from the device.",
      "type": "object",
      "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse",
      "properties": {
        "deviceUser": {
          "description": "Resultant DeviceUser object for the action.",
          "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser"
        }
      }
    },
    "SearchTransitiveGroupsResponse": {
      "properties": {
        "memberships": {
          "description": "List of transitive groups satisfying the query.",
          "type": "array",
          "items": {
            "$ref": "GroupRelation"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results, or empty if there are no more results available for listing."
        }
      },
      "id": "SearchTransitiveGroupsResponse",
      "type": "object",
      "description": "The response message for MembershipsService.SearchTransitiveGroups."
    },
    "CancelWipeDeviceUserResponse": {
      "description": "Response message for cancelling an unfinished user account wipe.",
      "id": "CancelWipeDeviceUserResponse",
      "type": "object",
      "properties": {
        "deviceUser": {
          "$ref": "DeviceUser",
          "description": "Resultant DeviceUser object for the action."
        }
      }
    },
    "DynamicGroupStatus": {
      "type": "object",
      "id": "DynamicGroupStatus",
      "properties": {
        "statusTime": {
          "format": "google-datetime",
          "description": "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.",
          "type": "string"
        },
        "status": {
          "description": "Status of the dynamic group.",
          "enum": [
            "STATUS_UNSPECIFIED",
            "UP_TO_DATE",
            "UPDATING_MEMBERSHIPS"
          ],
          "enumDescriptions": [
            "Default.",
            "The dynamic group is up-to-date.",
            "The dynamic group has just been created and memberships are being updated."
          ],
          "type": "string"
        }
      },
      "description": "The current status of a dynamic group along with timestamp."
    },
    "Membership": {
      "id": "Membership",
      "properties": {
        "name": {
          "readOnly": true,
          "description": "Output only. 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}`.",
          "type": "string"
        },
        "memberKey": {
          "$ref": "EntityKey",
          "description": "Immutable. The `EntityKey` of the member. Either `member_key` or `preferred_member_key` must be set when calling MembershipsService.CreateMembership but not both; both shall be set when returned."
        },
        "preferredMemberKey": {
          "description": "Required. Immutable. The `EntityKey` of the member. Either `member_key` or `preferred_member_key` must be set when calling MembershipsService.CreateMembership but not both; both shall be set when returned.",
          "$ref": "EntityKey"
        },
        "type": {
          "enum": [
            "TYPE_UNSPECIFIED",
            "USER",
            "SERVICE_ACCOUNT",
            "GROUP",
            "OTHER"
          ],
          "enumDescriptions": [
            "Default. Should not be used.",
            "Represents user type.",
            "Represents service account type.",
            "Represents group type.",
            "Represents other type."
          ],
          "description": "Output only. The type of the membership.",
          "type": "string",
          "readOnly": true
        },
        "createTime": {
          "readOnly": true,
          "format": "google-datetime",
          "description": "Output only. The time when the `Membership` was created.",
          "type": "string"
        },
        "roles": {
          "items": {
            "$ref": "MembershipRole"
          },
          "type": "array",
          "description": "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`."
        },
        "updateTime": {
          "readOnly": true,
          "description": "Output only. The time when the `Membership` was last updated.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "description": "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\".",
      "type": "object"
    },
    "DynamicGroupMetadata": {
      "type": "object",
      "description": "Dynamic group metadata like queries and status.",
      "properties": {
        "status": {
          "$ref": "DynamicGroupStatus",
          "description": "Output only. Status of the dynamic group.",
          "readOnly": true
        },
        "queries": {
          "items": {
            "$ref": "DynamicGroupQuery"
          },
          "description": "Memberships will be the union of all queries. Only one entry with USER resource is currently supported.",
          "type": "array"
        }
      },
      "id": "DynamicGroupMetadata"
    },
    "ListDevicesResponse": {
      "properties": {
        "nextPageToken": {
          "description": "Token to retrieve the next page of results. Empty if there are no more results.",
          "type": "string"
        },
        "devices": {
          "type": "array",
          "description": "Devices meeting the list restrictions.",
          "items": {
            "$ref": "Device"
          }
        }
      },
      "id": "ListDevicesResponse",
      "type": "object",
      "description": "Response message that is returned from the ListDevices method."
    },
    "ApproveDeviceUserRequest": {
      "type": "object",
      "properties": {
        "customer": {
          "type": "string",
          "description": "Required. [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_id}`, where customer_id is the customer to whom the device belongs."
        }
      },
      "id": "ApproveDeviceUserRequest",
      "description": "Request message for approving the device to access user data."
    },
    "ExpiryDetail": {
      "type": "object",
      "properties": {
        "expireTime": {
          "description": "The time at which the `MembershipRole` will expire.",
          "type": "string",
          "format": "google-datetime"
        }
      },
      "id": "ExpiryDetail",
      "description": "The `MembershipRole` expiry details."
    },
    "ListMembershipsResponse": {
      "id": "ListMembershipsResponse",
      "type": "object",
      "description": "The response message for MembershipsService.ListMemberships.",
      "properties": {
        "memberships": {
          "description": "The `Membership`s under the specified `parent`.",
          "items": {
            "$ref": "Membership"
          },
          "type": "array"
        },
        "nextPageToken": {
          "type": "string",
          "description": "A continuation token to retrieve the next page of results, or empty if there are no more results available."
        }
      }
    },
    "Device": {
      "properties": {
        "basebandVersion": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Baseband version of the device."
        },
        "securityPatchTime": {
          "description": "Output only. OS security patch update time on device.",
          "format": "google-datetime",
          "type": "string",
          "readOnly": true
        },
        "ownerType": {
          "description": "Output only. Whether the device is owned by the company or an individual",
          "enum": [
            "DEVICE_OWNERSHIP_UNSPECIFIED",
            "COMPANY",
            "BYOD"
          ],
          "readOnly": true,
          "enumDescriptions": [
            "Default value. The value is unused.",
            "Company owns the device.",
            "Bring Your Own Device (i.e. individual owns the device)"
          ],
          "type": "string"
        },
        "compromisedState": {
          "type": "string",
          "enumDescriptions": [
            "Default value.",
            "The device is compromised (currently, this means Android device is rooted).",
            "The device is safe (currently, this means Android device is unrooted)."
          ],
          "description": "Output only. Represents whether the Device is compromised.",
          "readOnly": true,
          "enum": [
            "COMPROMISED_STATE_UNSPECIFIED",
            "COMPROMISED",
            "UNCOMPROMISED"
          ]
        },
        "model": {
          "description": "Output only. Model name of device. Example: Pixel 3.",
          "type": "string",
          "readOnly": true
        },
        "buildNumber": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Build number of the device."
        },
        "manufacturer": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Device manufacturer. Example: Motorola."
        },
        "bootloaderVersion": {
          "description": "Output only. Device bootloader version. Example: 0.6.7.",
          "type": "string",
          "readOnly": true
        },
        "encryptionState": {
          "readOnly": true,
          "enumDescriptions": [
            "Encryption Status is not set.",
            "Device doesn't support encryption.",
            "Device is encrypted.",
            "Device is not encrypted."
          ],
          "description": "Output only. Device encryption state.",
          "enum": [
            "ENCRYPTION_STATE_UNSPECIFIED",
            "UNSUPPORTED_BY_DEVICE",
            "ENCRYPTED",
            "NOT_ENCRYPTED"
          ],
          "type": "string"
        },
        "managementState": {
          "readOnly": true,
          "enumDescriptions": [
            "Default value. This value is unused.",
            "Device is approved.",
            "Device is blocked.",
            "Device is pending approval.",
            "The device is not provisioned. Device will start from this state until some action is taken (i.e. a user starts using the device).",
            "Data and settings on the device are being removed.",
            "All data and settings on the device are removed."
          ],
          "description": "Output only. Management state of the device",
          "type": "string",
          "enum": [
            "MANAGEMENT_STATE_UNSPECIFIED",
            "APPROVED",
            "BLOCKED",
            "PENDING",
            "UNPROVISIONED",
            "WIPING",
            "WIPED"
          ]
        },
        "name": {
          "readOnly": true,
          "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}`, where device_id is the unique id assigned to the Device.",
          "type": "string"
        },
        "osVersion": {
          "description": "Output only. OS version of the device. Example: Android 8.1.0.",
          "type": "string",
          "readOnly": true
        },
        "releaseVersion": {
          "type": "string",
          "description": "Output only. OS release version. Example: 6.0.",
          "readOnly": true
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. When the Company-Owned device was imported. This field is empty for BYOD devices."
        },
        "networkOperator": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Mobile or network operator of device, if available."
        },
        "serialNumber": {
          "description": "Serial Number of device. Example: HT82V1A01076.",
          "type": "string"
        },
        "lastSyncTime": {
          "format": "google-datetime",
          "description": "Most recent time when device synced with this service.",
          "type": "string"
        },
        "meid": {
          "description": "Output only. MEID number of device if CDMA device; empty otherwise.",
          "readOnly": true,
          "type": "string"
        },
        "enabledUsbDebugging": {
          "readOnly": true,
          "type": "boolean",
          "description": "Output only. Whether USB debugging is enabled on device."
        },
        "androidSpecificAttributes": {
          "description": "Output only. Attributes specific to Android devices.",
          "$ref": "AndroidAttributes",
          "readOnly": true
        },
        "enabledDeveloperOptions": {
          "readOnly": true,
          "type": "boolean",
          "description": "Output only. Whether developer options is enabled on device."
        },
        "assetTag": {
          "description": "Asset tag of the device.",
          "type": "string"
        },
        "brand": {
          "type": "string",
          "description": "Output only. Device brand. Example: Samsung.",
          "readOnly": true
        },
        "otherAccounts": {
          "description": "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\".",
          "readOnly": true,
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "kernelVersion": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Kernel version of the device."
        },
        "wifiMacAddresses": {
          "items": {
            "type": "string"
          },
          "description": "WiFi MAC addresses of device.",
          "type": "array"
        },
        "deviceType": {
          "readOnly": true,
          "enumDescriptions": [
            "Unknown device type",
            "Device is an Android device",
            "Device is an iOS device",
            "Device is a Google Sync device.",
            "Device is a Windows device.",
            "Device is a MacOS device.",
            "Device is a Linux device.",
            "Device is a ChromeOS device."
          ],
          "type": "string",
          "description": "Output only. Type of device.",
          "enum": [
            "DEVICE_TYPE_UNSPECIFIED",
            "ANDROID",
            "IOS",
            "GOOGLE_SYNC",
            "WINDOWS",
            "MAC_OS",
            "LINUX",
            "CHROME_OS"
          ]
        },
        "imei": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. IMEI number of device if GSM device; empty otherwise."
        }
      },
      "type": "object",
      "id": "Device",
      "description": "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."
    },
    "TransitiveMembershipRole": {
      "description": "Message representing the role of a TransitiveMembership.",
      "type": "object",
      "properties": {
        "role": {
          "type": "string",
          "description": "TransitiveMembershipRole in string format. Currently supported TransitiveMembershipRoles: `\"MEMBER\"`, `\"OWNER\"`, and `\"MANAGER\"`."
        }
      },
      "id": "TransitiveMembershipRole"
    },
    "LookupSelfDeviceUsersResponse": {
      "type": "object",
      "description": "Response containing resource names of the DeviceUsers associated with the caller's credentials.",
      "properties": {
        "customer": {
          "type": "string",
          "description": "The obfuscated customer Id that may be passed back to other Devices API methods such as List, Get, etc."
        },
        "names": {
          "description": "[Resource names](https://cloud.google.com/apis/design/resource_names) of the DeviceUsers in the format: `devices/{device_id}/deviceUsers/{user_resource_id}`, where device_id is the unique ID assigned to a Device and user_resource_id is the unique user ID",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results. Empty if there are no more results.",
          "type": "string"
        }
      },
      "id": "LookupSelfDeviceUsersResponse"
    },
    "ModifyMembershipRolesRequest": {
      "description": "The request message for MembershipsService.ModifyMembershipRoles.",
      "properties": {
        "updateRolesParams": {
          "description": "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.",
          "items": {
            "$ref": "UpdateMembershipRolesParams"
          },
          "type": "array"
        },
        "addRoles": {
          "items": {
            "$ref": "MembershipRole"
          },
          "description": "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.",
          "type": "array"
        },
        "removeRoles": {
          "type": "array",
          "description": "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.",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "ModifyMembershipRolesRequest",
      "type": "object"
    },
    "BlockDeviceUserResponse": {
      "id": "BlockDeviceUserResponse",
      "properties": {
        "deviceUser": {
          "$ref": "DeviceUser",
          "description": "Resultant DeviceUser object for the action."
        }
      },
      "type": "object",
      "description": "Response message for blocking the device from accessing user data."
    },
    "SearchTransitiveMembershipsResponse": {
      "properties": {
        "memberships": {
          "items": {
            "$ref": "MemberRelation"
          },
          "description": "List of transitive members satisfying the query.",
          "type": "array"
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results, or empty if there are no more results."
        }
      },
      "type": "object",
      "id": "SearchTransitiveMembershipsResponse",
      "description": "The response message for MembershipsService.SearchTransitiveMemberships."
    },
    "DynamicGroupQuery": {
      "id": "DynamicGroupQuery",
      "properties": {
        "resourceType": {
          "enumDescriptions": [
            "Default value (not valid)",
            "For queries on User"
          ],
          "type": "string",
          "enum": [
            "RESOURCE_TYPE_UNSPECIFIED",
            "USER"
          ]
        },
        "query": {
          "description": "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')`",
          "type": "string"
        }
      },
      "type": "object",
      "description": "Defines a query on a resource."
    },
    "UpdateMembershipRolesParams": {
      "properties": {
        "membershipRole": {
          "$ref": "MembershipRole",
          "description": "The `MembershipRole`s to be updated. Only `MEMBER` `MembershipRoles` can currently be updated. May only contain a `MembershipRole` with `name` `MEMBER`."
        },
        "fieldMask": {
          "format": "google-fieldmask",
          "type": "string",
          "description": "The fully-qualified names of fields to update. May only contain the field `expiry_detail`."
        }
      },
      "id": "UpdateMembershipRolesParams",
      "type": "object",
      "description": "The details of an update to a `MembershipRole`."
    },
    "GetMembershipGraphResponse": {
      "description": "The response message for MembershipsService.GetMembershipGraph.",
      "properties": {
        "groups": {
          "items": {
            "$ref": "Group"
          },
          "type": "array",
          "description": "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."
        },
        "adjacencyList": {
          "items": {
            "$ref": "MembershipAdjacencyList"
          },
          "type": "array",
          "description": "The membership graph's path information represented as an adjacency list."
        }
      },
      "id": "GetMembershipGraphResponse",
      "type": "object"
    },
    "Group": {
      "properties": {
        "displayName": {
          "description": "The display name of the `Group`.",
          "type": "string"
        },
        "additionalGroupKeys": {
          "items": {
            "$ref": "EntityKey"
          },
          "type": "array",
          "description": "Additional entity key aliases for a Group."
        },
        "updateTime": {
          "description": "Output only. The time when the `Group` was last updated.",
          "format": "google-datetime",
          "type": "string",
          "readOnly": true
        },
        "labels": {
          "description": "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. Examples: {\"cloudidentity.googleapis.com/groups.discussion_forum\": \"\"} or {\"system/groups/external\": \"\"}.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "createTime": {
          "description": "Output only. The time when the `Group` was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "name": {
          "description": "Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall be of the form `groups/{group_id}`.",
          "readOnly": true,
          "type": "string"
        },
        "dynamicGroupMetadata": {
          "description": "Optional. Dynamic group metadata like queries and status.",
          "$ref": "DynamicGroupMetadata"
        },
        "parent": {
          "type": "string",
          "description": "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_id}` for external- identity-mapped groups or `customers/{customer_id}` for Google Groups."
        },
        "groupKey": {
          "$ref": "EntityKey",
          "description": "Required. Immutable. The `EntityKey` of the `Group`."
        },
        "description": {
          "description": "An extended description to help users determine the purpose of a `Group`. Must not be longer than 4,096 characters.",
          "type": "string"
        }
      },
      "description": "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.",
      "id": "Group",
      "type": "object"
    },
    "BlockDeviceUserRequest": {
      "description": "Request message for blocking account on device.",
      "type": "object",
      "properties": {
        "customer": {
          "description": "Required. [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_id}`, where customer_id is the customer to whom the device belongs.",
          "type": "string"
        }
      },
      "id": "BlockDeviceUserRequest"
    },
    "CreateDeviceRequest": {
      "description": "Request message for creating a Company Owned device.",
      "id": "CreateDeviceRequest",
      "type": "object",
      "properties": {
        "customer": {
          "type": "string",
          "description": "Required. [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_id}`, where customer_id is the customer to whom the device belongs."
        },
        "device": {
          "$ref": "Device",
          "description": "Required. The device to be created. The name field within this device is ignored in the create method. A new name is created by the method, and returned within the response. Only the fields `device_type`, `serial_number` and `asset_tag` (if present) are used to create the device.`device_type` and `serial_number` are required."
        }
      }
    },
    "GoogleAppsCloudidentityDevicesV1Device": {
      "type": "object",
      "description": " 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.",
      "properties": {
        "bootloaderVersion": {
          "description": "Output only. Device bootloader version. Example: 0.6.7.",
          "type": "string",
          "readOnly": true
        },
        "lastSyncTime": {
          "type": "string",
          "description": "Most recent time when device synced with this service.",
          "format": "google-datetime"
        },
        "enabledDeveloperOptions": {
          "type": "boolean",
          "readOnly": true,
          "description": "Output only. Whether developer options is enabled on device."
        },
        "compromisedState": {
          "readOnly": true,
          "description": "Output only. Represents whether the Device is compromised.",
          "enumDescriptions": [
            "Default value.",
            "The device is compromised (currently, this means Android device is rooted).",
            "The device is safe (currently, this means Android device is unrooted)."
          ],
          "enum": [
            "COMPROMISED_STATE_UNSPECIFIED",
            "COMPROMISED",
            "UNCOMPROMISED"
          ],
          "type": "string"
        },
        "name": {
          "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}`, where device_id is the unique id assigned to the Device.",
          "readOnly": true,
          "type": "string"
        },
        "basebandVersion": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Baseband version of the device."
        },
        "assetTag": {
          "type": "string",
          "description": "Asset tag of the device."
        },
        "buildNumber": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Build number of the device."
        },
        "networkOperator": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Mobile or network operator of device, if available."
        },
        "releaseVersion": {
          "description": "Output only. OS release version. Example: 6.0.",
          "type": "string",
          "readOnly": true
        },
        "securityPatchTime": {
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. OS security patch update time on device.",
          "type": "string"
        },
        "kernelVersion": {
          "type": "string",
          "description": "Output only. Kernel version of the device.",
          "readOnly": true
        },
        "manufacturer": {
          "type": "string",
          "description": "Output only. Device manufacturer. Example: Motorola.",
          "readOnly": true
        },
        "encryptionState": {
          "type": "string",
          "enum": [
            "ENCRYPTION_STATE_UNSPECIFIED",
            "UNSUPPORTED_BY_DEVICE",
            "ENCRYPTED",
            "NOT_ENCRYPTED"
          ],
          "description": "Output only. Device encryption state.",
          "enumDescriptions": [
            "Encryption Status is not set.",
            "Device doesn't support encryption.",
            "Device is encrypted.",
            "Device is not encrypted."
          ],
          "readOnly": true
        },
        "deviceType": {
          "readOnly": true,
          "enumDescriptions": [
            "Unknown device type",
            "Device is an Android device",
            "Device is an iOS device",
            "Device is a Google Sync device.",
            "Device is a Windows device.",
            "Device is a MacOS device.",
            "Device is a Linux device.",
            "Device is a ChromeOS device."
          ],
          "type": "string",
          "description": "Output only. Type of device.",
          "enum": [
            "DEVICE_TYPE_UNSPECIFIED",
            "ANDROID",
            "IOS",
            "GOOGLE_SYNC",
            "WINDOWS",
            "MAC_OS",
            "LINUX",
            "CHROME_OS"
          ]
        },
        "createTime": {
          "description": "Output only. When the Company-Owned device was imported. This field is empty for BYOD devices.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "otherAccounts": {
          "description": "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\".",
          "type": "array",
          "readOnly": true,
          "items": {
            "type": "string"
          }
        },
        "serialNumber": {
          "type": "string",
          "description": "Serial Number of device. Example: HT82V1A01076."
        },
        "androidSpecificAttributes": {
          "readOnly": true,
          "$ref": "GoogleAppsCloudidentityDevicesV1AndroidAttributes",
          "description": "Output only. Attributes specific to Android devices."
        },
        "brand": {
          "description": "Output only. Device brand. Example: Samsung.",
          "type": "string",
          "readOnly": true
        },
        "enabledUsbDebugging": {
          "readOnly": true,
          "description": "Output only. Whether USB debugging is enabled on device.",
          "type": "boolean"
        },
        "imei": {
          "description": "Output only. IMEI number of device if GSM device; empty otherwise.",
          "readOnly": true,
          "type": "string"
        },
        "osVersion": {
          "description": "Output only. OS version of the device. Example: Android 8.1.0.",
          "readOnly": true,
          "type": "string"
        },
        "wifiMacAddresses": {
          "description": "WiFi MAC addresses of device.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "meid": {
          "readOnly": true,
          "description": "Output only. MEID number of device if CDMA device; empty otherwise.",
          "type": "string"
        },
        "model": {
          "description": "Output only. Model name of device. Example: Pixel 3.",
          "readOnly": true,
          "type": "string"
        },
        "managementState": {
          "enum": [
            "MANAGEMENT_STATE_UNSPECIFIED",
            "APPROVED",
            "BLOCKED",
            "PENDING",
            "UNPROVISIONED",
            "WIPING",
            "WIPED"
          ],
          "readOnly": true,
          "description": "Output only. Management state of the device",
          "enumDescriptions": [
            "Default value. This value is unused.",
            "Device is approved.",
            "Device is blocked.",
            "Device is pending approval.",
            "The device is not provisioned. Device will start from this state until some action is taken (i.e. a user starts using the device).",
            "Data and settings on the device are being removed.",
            "All data and settings on the device are removed."
          ],
          "type": "string"
        },
        "ownerType": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Whether the device is owned by the company or an individual",
          "enumDescriptions": [
            "Default value. The value is unused.",
            "Company owns the device.",
            "Bring Your Own Device (i.e. individual owns the device)"
          ],
          "enum": [
            "DEVICE_OWNERSHIP_UNSPECIFIED",
            "COMPANY",
            "BYOD"
          ]
        }
      },
      "id": "GoogleAppsCloudidentityDevicesV1Device"
    },
    "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse": {
      "properties": {
        "deviceUser": {
          "description": "Resultant DeviceUser object for the action.",
          "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser"
        }
      },
      "description": "Response message for approving the device to access user data.",
      "id": "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse",
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1CustomAttributeValue": {
      "description": "Additional custom attribute values may be one of these types",
      "id": "GoogleAppsCloudidentityDevicesV1CustomAttributeValue",
      "properties": {
        "numberValue": {
          "type": "number",
          "format": "double",
          "description": "Represents a double value."
        },
        "boolValue": {
          "description": "Represents a boolean value.",
          "type": "boolean"
        },
        "stringValue": {
          "description": "Represents a string value.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CancelWipeDeviceResponse": {
      "properties": {
        "device": {
          "$ref": "Device",
          "description": "Resultant Device object for the action. Note that asset tags will not be returned in the device object."
        }
      },
      "description": "Response message for cancelling an unfinished device wipe.",
      "id": "CancelWipeDeviceResponse",
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1AndroidAttributes": {
      "description": "Resource representing the Android specific attributes of a Device.",
      "type": "object",
      "id": "GoogleAppsCloudidentityDevicesV1AndroidAttributes",
      "properties": {
        "supportsWorkProfile": {
          "description": "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.",
          "type": "boolean"
        },
        "enabledUnknownSources": {
          "description": "Whether applications from unknown sources can be installed on device.",
          "type": "boolean"
        },
        "ownershipPrivilege": {
          "enum": [
            "OWNERSHIP_PRIVILEGE_UNSPECIFIED",
            "DEVICE_ADMINISTRATOR",
            "PROFILE_OWNER",
            "DEVICE_OWNER"
          ],
          "type": "string",
          "description": "Ownership privileges on device.",
          "enumDescriptions": [
            "Ownership privilege is not set.",
            "Active device administrator privileges on the device.",
            "Profile Owner privileges. The account is in a managed corporate profile.",
            "Device Owner privileges on the device."
          ]
        },
        "ownerProfileAccount": {
          "description": "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.",
          "type": "boolean"
        }
      }
    },
    "ListGroupsResponse": {
      "description": "The response message for GroupsService.ListGroups.",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "A continuation token to retrieve the next page of results, or empty if there are no more results available."
        },
        "groups": {
          "items": {
            "$ref": "Group"
          },
          "description": "The `Group`s under the specified `parent`.",
          "type": "array"
        }
      },
      "id": "ListGroupsResponse",
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1WipeDeviceResponse": {
      "description": "Response message for wiping all data on the device.",
      "type": "object",
      "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceResponse",
      "properties": {
        "device": {
          "description": "Resultant Device object for the action. Note that asset tags will not be returned in the device object.",
          "$ref": "GoogleAppsCloudidentityDevicesV1Device"
        }
      }
    },
    "ListDeviceUsersResponse": {
      "description": "Response message that is returned from the ListDeviceUsers method.",
      "id": "ListDeviceUsersResponse",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results. Empty if there are no more results."
        },
        "deviceUsers": {
          "description": "Devices meeting the list restrictions.",
          "type": "array",
          "items": {
            "$ref": "DeviceUser"
          }
        }
      }
    },
    "DeviceUser": {
      "id": "DeviceUser",
      "properties": {
        "managementState": {
          "enumDescriptions": [
            "Default value. This value is unused.",
            "This user's data and profile is being removed from the device.",
            "This user's data and profile is removed from the device.",
            "User is approved to access data on the device.",
            "User is blocked from accessing data on the device.",
            "User is awaiting approval.",
            "User is unenrolled from Advanced Windows Management, but the Windows account is still intact."
          ],
          "type": "string",
          "readOnly": true,
          "description": "Output only. Management state of the user on the device.",
          "enum": [
            "MANAGEMENT_STATE_UNSPECIFIED",
            "WIPING",
            "WIPED",
            "APPROVED",
            "BLOCKED",
            "PENDING_APPROVAL",
            "UNENROLLED"
          ]
        },
        "userAgent": {
          "readOnly": true,
          "description": "Output only. User agent on the device for this specific user",
          "type": "string"
        },
        "lastSyncTime": {
          "type": "string",
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. Last time when user synced with policies."
        },
        "languageCode": {
          "description": "Output only. Default locale used on device, in IETF BCP-47 format.",
          "type": "string",
          "readOnly": true
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "When the user first signed in to the device"
        },
        "compromisedState": {
          "enumDescriptions": [
            "Compromised state of Device User account is unknown or unspecified.",
            "Device User Account is compromised.",
            "Device User Account is not compromised."
          ],
          "type": "string",
          "description": "Compromised State of the DeviceUser object",
          "enum": [
            "COMPROMISED_STATE_UNSPECIFIED",
            "COMPROMISED",
            "NOT_COMPROMISED"
          ]
        },
        "name": {
          "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the DeviceUser in format: `devices/{device_id}/deviceUsers/{user_id}`, where user_id is the ID of the user associated with the user session.",
          "type": "string",
          "readOnly": true
        },
        "userEmail": {
          "description": "Email address of the user registered on the device.",
          "type": "string"
        },
        "firstSyncTime": {
          "readOnly": true,
          "description": "Output only. Most recent time when user registered with this service.",
          "format": "google-datetime",
          "type": "string"
        },
        "passwordState": {
          "type": "string",
          "enum": [
            "PASSWORD_STATE_UNSPECIFIED",
            "PASSWORD_SET",
            "PASSWORD_NOT_SET"
          ],
          "enumDescriptions": [
            "Password state not set.",
            "Password set in object.",
            "Password not set in object."
          ],
          "description": "Password state of the DeviceUser object"
        }
      },
      "description": "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",
      "type": "object"
    },
    "WipeDeviceUserResponse": {
      "type": "object",
      "properties": {
        "deviceUser": {
          "description": "Resultant DeviceUser object for the action.",
          "$ref": "DeviceUser"
        }
      },
      "description": "Response message for wiping the user's account from the device.",
      "id": "WipeDeviceUserResponse"
    },
    "Status": {
      "properties": {
        "code": {
          "format": "int32",
          "type": "integer",
          "description": "The status code, which should be an enum value of google.rpc.Code."
        },
        "details": {
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          },
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "type": "array"
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
          "type": "string"
        }
      },
      "id": "Status",
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
      "type": "object"
    },
    "CustomAttributeValue": {
      "id": "CustomAttributeValue",
      "type": "object",
      "properties": {
        "stringValue": {
          "description": "Represents a string value.",
          "type": "string"
        },
        "boolValue": {
          "type": "boolean",
          "description": "Represents a boolean value."
        },
        "numberValue": {
          "description": "Represents a double value.",
          "format": "double",
          "type": "number"
        }
      },
      "description": "Additional custom attribute values may be one of these types"
    },
    "LookupMembershipNameResponse": {
      "properties": {
        "name": {
          "description": "The [resource name](https://cloud.google.com/apis/design/resource_names) of the looked-up `Membership`. Must be of the form `groups/{group_id}/memberships/{membership_id}`.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "The response message for MembershipsService.LookupMembershipName.",
      "id": "LookupMembershipNameResponse"
    },
    "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse": {
      "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse",
      "properties": {
        "deviceUser": {
          "description": "Resultant DeviceUser object for the action.",
          "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser"
        }
      },
      "description": "Response message for cancelling an unfinished user account wipe.",
      "type": "object"
    },
    "WipeDeviceRequest": {
      "type": "object",
      "properties": {
        "customer": {
          "description": "Required. [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_id}`, where customer_id is the customer to whom the device belongs.",
          "type": "string"
        }
      },
      "description": "Request message for wiping all data on the device.",
      "id": "WipeDeviceRequest"
    },
    "MembershipRole": {
      "type": "object",
      "id": "MembershipRole",
      "properties": {
        "expiryDetail": {
          "$ref": "ExpiryDetail",
          "description": "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."
        },
        "name": {
          "type": "string",
          "description": "The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`."
        }
      },
      "description": "A membership role within the Cloud Identity Groups API. A `MembershipRole` defines the privileges granted to a `Membership`."
    },
    "WipeDeviceUserRequest": {
      "id": "WipeDeviceUserRequest",
      "description": "Request message for starting an account wipe on device.",
      "type": "object",
      "properties": {
        "customer": {
          "type": "string",
          "description": "Required. [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_id}`, where customer_id is the customer to whom the device belongs."
        }
      }
    },
    "ModifyMembershipRolesResponse": {
      "description": "The response message for MembershipsService.ModifyMembershipRoles.",
      "id": "ModifyMembershipRolesResponse",
      "properties": {
        "membership": {
          "description": "The `Membership` resource after modifying its `MembershipRole`s.",
          "$ref": "Membership"
        }
      },
      "type": "object"
    },
    "MembershipAdjacencyList": {
      "description": "Membership graph's path information as an adjacency list.",
      "type": "object",
      "id": "MembershipAdjacencyList",
      "properties": {
        "group": {
          "type": "string",
          "description": "Resource name of the group that the members belong to."
        },
        "edges": {
          "items": {
            "$ref": "Membership"
          },
          "type": "array",
          "description": "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."
        }
      }
    },
    "Operation": {
      "id": "Operation",
      "properties": {
        "done": {
          "description": "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.",
          "type": "boolean"
        },
        "metadata": {
          "type": "object",
          "description": "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.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        },
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
          "type": "string"
        },
        "error": {
          "$ref": "Status",
          "description": "The error result of the operation in case of failure or cancellation."
        },
        "response": {
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`."
        }
      },
      "type": "object",
      "description": "This resource represents a long-running operation that is the result of a network API call."
    },
    "MemberRelation": {
      "description": "Message representing a transitive membership of a group.",
      "type": "object",
      "id": "MemberRelation",
      "properties": {
        "relationType": {
          "type": "string",
          "enumDescriptions": [
            "The relation type is undefined or undetermined.",
            "The two entities have only a direct membership with each other.",
            "The two entities have only an indirect membership with each other.",
            "The two entities have both a direct and an indirect membership with each other."
          ],
          "enum": [
            "RELATION_TYPE_UNSPECIFIED",
            "DIRECT",
            "INDIRECT",
            "DIRECT_AND_INDIRECT"
          ],
          "description": "The relation between the group and the transitive member."
        },
        "member": {
          "type": "string",
          "description": "Resource name for this member if member is a GROUP, otherwise it is empty."
        },
        "preferredMemberKey": {
          "description": "Entity key has an id and a namespace. In case of discussion forums, the id will be an email address without a namespace.",
          "items": {
            "$ref": "EntityKey"
          },
          "type": "array"
        },
        "roles": {
          "type": "array",
          "items": {
            "$ref": "TransitiveMembershipRole"
          },
          "description": "The membership role details (i.e name of role and expiry time)."
        }
      }
    },
    "ListClientStatesResponse": {
      "id": "ListClientStatesResponse",
      "description": "Response message that is returned in LRO result of ListClientStates Operation.",
      "type": "object",
      "properties": {
        "clientStates": {
          "type": "array",
          "items": {
            "$ref": "ClientState"
          },
          "description": "Client states meeting the list restrictions."
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results. Empty if there are no more results."
        }
      }
    },
    "CheckTransitiveMembershipResponse": {
      "properties": {
        "hasMembership": {
          "type": "boolean",
          "description": "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."
        }
      },
      "id": "CheckTransitiveMembershipResponse",
      "type": "object",
      "description": "The response message for MembershipsService.CheckTransitiveMembership."
    },
    "LookupGroupNameResponse": {
      "description": "The response message for GroupsService.LookupGroupName.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the looked-up `Group`.",
          "type": "string",
          "readOnly": true
        }
      },
      "id": "LookupGroupNameResponse"
    },
    "ClientState": {
      "description": "Represents the state associated with an API client calling the Devices API. Resource representing ClientState and supports updates from API users",
      "type": "object",
      "properties": {
        "keyValuePairs": {
          "description": "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.",
          "type": "object",
          "additionalProperties": {
            "$ref": "CustomAttributeValue"
          }
        },
        "assetTags": {
          "type": "array",
          "description": "The caller can specify asset tags for this resource",
          "items": {
            "type": "string"
          }
        },
        "createTime": {
          "format": "google-datetime",
          "readOnly": true,
          "type": "string",
          "description": "Output only. The time the client state data was created."
        },
        "customId": {
          "type": "string",
          "description": "This field may be used to store a unique identifier for the API resource within which these CustomAttributes are a field."
        },
        "managed": {
          "enum": [
            "MANAGED_STATE_UNSPECIFIED",
            "MANAGED",
            "UNMANAGED"
          ],
          "enumDescriptions": [
            "The management state of the resource is unknown or unspecified.",
            "The resource is managed.",
            "The resource is not managed."
          ],
          "description": "The management state of the resource as specified by the API client.",
          "type": "string"
        },
        "ownerType": {
          "enumDescriptions": [
            "Unknown owner type",
            "Customer is the owner",
            "Partner is the owner"
          ],
          "enum": [
            "OWNER_TYPE_UNSPECIFIED",
            "OWNER_TYPE_CUSTOMER",
            "OWNER_TYPE_PARTNER"
          ],
          "type": "string",
          "readOnly": true,
          "description": "Output only. The owner of the ClientState"
        },
        "complianceState": {
          "description": "The compliance state of the resource as specified by the API client.",
          "enumDescriptions": [
            "The compliance state of the resource is unknown or unspecified.",
            "Device is compliant with third party policies",
            "Device is not compliant with third party policies"
          ],
          "enum": [
            "COMPLIANCE_STATE_UNSPECIFIED",
            "COMPLIANT",
            "NON_COMPLIANT"
          ],
          "type": "string"
        },
        "healthScore": {
          "type": "string",
          "enum": [
            "HEALTH_SCORE_UNSPECIFIED",
            "VERY_POOR",
            "POOR",
            "NEUTRAL",
            "GOOD",
            "VERY_GOOD"
          ],
          "enumDescriptions": [
            "Default value",
            "The object is in very poor health as defined by the caller.",
            "The object is in poor health as defined by the caller.",
            "The object health is neither good nor poor, as defined by the caller.",
            "The object is in good health as defined by the caller.",
            "The object is in very good health as defined by the caller."
          ],
          "description": "The Health score of the resource"
        },
        "lastUpdateTime": {
          "type": "string",
          "readOnly": true,
          "format": "google-datetime",
          "description": "Output only. The time the client state data was last updated."
        },
        "name": {
          "type": "string",
          "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device_id}/deviceUsers/{device_user_id}/clientState/{partner_id}`, where partner_id corresponds to the partner storing the data.",
          "readOnly": true
        },
        "scoreReason": {
          "description": "A descriptive cause of the health score.",
          "type": "string"
        },
        "etag": {
          "description": "The token that needs to be passed back for concurrency control in updates. Token needs to be passed back in UpdateRequest",
          "type": "string"
        }
      },
      "id": "ClientState"
    }
  },
  "id": "cloudidentity:v1beta1",
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "servicePath": "",
  "basePath": "",
  "rootUrl": "https://cloudidentity.googleapis.com/",
  "baseUrl": "https://cloudidentity.googleapis.com/",
  "name": "cloudidentity"
}
