{
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "description": "API for provisioning and managing identity resources.",
  "documentationLink": "https://cloud.google.com/identity/",
  "mtlsRootUrl": "https://cloudidentity.mtls.googleapis.com/",
  "batchPath": "batch",
  "parameters": {
    "prettyPrint": {
      "location": "query",
      "description": "Returns response with indentations and line breaks.",
      "default": "true",
      "type": "boolean"
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "enum": [
        "1",
        "2"
      ],
      "type": "string"
    },
    "quotaUser": {
      "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.",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string"
    },
    "alt": {
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "default": "json",
      "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"
      ],
      "type": "string",
      "location": "query"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string",
      "location": "query"
    },
    "access_token": {
      "location": "query",
      "type": "string",
      "description": "OAuth access token."
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "type": "string",
      "location": "query"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "key": {
      "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.",
      "location": "query",
      "type": "string"
    }
  },
  "fullyEncodeReservedExpansion": true,
  "name": "cloudidentity",
  "version": "v1",
  "id": "cloudidentity:v1",
  "schemas": {
    "GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse": {
      "id": "GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse",
      "properties": {
        "deviceUser": {
          "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser",
          "description": "Resultant DeviceUser object for the action."
        }
      },
      "type": "object",
      "description": "Response message for blocking the device from accessing user data."
    },
    "GoogleAppsCloudidentityDevicesV1WipeDeviceRequest": {
      "type": "object",
      "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceRequest",
      "description": "Request message for wiping all data on the device.",
      "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."
        }
      }
    },
    "Status": {
      "properties": {
        "code": {
          "format": "int32",
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "type": "integer"
        },
        "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"
        },
        "details": {
          "items": {
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            },
            "type": "object"
          },
          "type": "array",
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use."
        }
      },
      "type": "object",
      "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).",
      "id": "Status"
    },
    "GoogleAppsCloudidentityDevicesV1ListClientStatesResponse": {
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results. Empty if there are no more results."
        },
        "clientStates": {
          "type": "array",
          "items": {
            "$ref": "GoogleAppsCloudidentityDevicesV1ClientState"
          },
          "description": "Client states meeting the list restrictions."
        }
      },
      "description": "Response message that is returned in ListClientStates.",
      "type": "object",
      "id": "GoogleAppsCloudidentityDevicesV1ListClientStatesResponse"
    },
    "MembershipRole": {
      "id": "MembershipRole",
      "properties": {
        "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`.",
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest": {
      "description": "Request message for cancelling an unfinished user account wipe.",
      "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"
        }
      },
      "type": "object",
      "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest"
    },
    "GoogleAppsCloudidentityDevicesV1AndroidAttributes": {
      "description": "Resource representing the Android specific attributes of a Device.",
      "type": "object",
      "properties": {
        "ownershipPrivilege": {
          "type": "string",
          "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."
          ],
          "enum": [
            "OWNERSHIP_PRIVILEGE_UNSPECIFIED",
            "DEVICE_ADMINISTRATOR",
            "PROFILE_OWNER",
            "DEVICE_OWNER"
          ],
          "description": "Ownership privileges on device."
        },
        "enabledUnknownSources": {
          "description": "Whether applications from unknown sources can be installed on device.",
          "type": "boolean"
        },
        "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"
        },
        "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."
        }
      },
      "id": "GoogleAppsCloudidentityDevicesV1AndroidAttributes"
    },
    "ListMembershipsResponse": {
      "type": "object",
      "description": "The response message for MembershipsService.ListMemberships.",
      "id": "ListMembershipsResponse",
      "properties": {
        "memberships": {
          "items": {
            "$ref": "Membership"
          },
          "type": "array",
          "description": "The `Membership`s under the specified `parent`."
        },
        "nextPageToken": {
          "description": "A continuation token to retrieve the next page of results, or empty if there are no more results available.",
          "type": "string"
        }
      }
    },
    "ListGroupsResponse": {
      "properties": {
        "groups": {
          "type": "array",
          "items": {
            "$ref": "Group"
          },
          "description": "Groups returned in response to list request. The results are not sorted."
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results, or empty if there are no more results available for listing."
        }
      },
      "type": "object",
      "description": "Response message for ListGroups operation.",
      "id": "ListGroupsResponse"
    },
    "GoogleAppsCloudidentityDevicesV1ClientState": {
      "description": "Represents the state associated with an API client calling the Devices API. Resource representing ClientState and supports updates from API users",
      "properties": {
        "scoreReason": {
          "description": "A descriptive cause of the health score.",
          "type": "string"
        },
        "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"
        },
        "healthScore": {
          "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."
          ],
          "type": "string",
          "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.",
          "enum": [
            "HEALTH_SCORE_UNSPECIFIED",
            "VERY_POOR",
            "POOR",
            "NEUTRAL",
            "GOOD",
            "VERY_GOOD"
          ]
        },
        "complianceState": {
          "description": "The compliance state of the resource as specified by the API client.",
          "enum": [
            "COMPLIANCE_STATE_UNSPECIFIED",
            "COMPLIANT",
            "NON_COMPLIANT"
          ],
          "type": "string",
          "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"
          ]
        },
        "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"
        },
        "createTime": {
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. The time the client state data was created.",
          "type": "string"
        },
        "lastUpdateTime": {
          "description": "Output only. The time the client state data was last updated.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "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."
        },
        "keyValuePairs": {
          "type": "object",
          "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.",
          "additionalProperties": {
            "$ref": "GoogleAppsCloudidentityDevicesV1CustomAttributeValue"
          }
        },
        "ownerType": {
          "enum": [
            "OWNER_TYPE_UNSPECIFIED",
            "OWNER_TYPE_CUSTOMER",
            "OWNER_TYPE_PARTNER"
          ],
          "enumDescriptions": [
            "Unknown owner type",
            "Customer is the owner",
            "Partner is the owner"
          ],
          "type": "string",
          "readOnly": true,
          "description": "Output only. The owner of the ClientState"
        },
        "managed": {
          "type": "string",
          "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."
          ],
          "enum": [
            "MANAGED_STATE_UNSPECIFIED",
            "MANAGED",
            "UNMANAGED"
          ]
        },
        "assetTags": {
          "description": "The caller can specify asset tags for this resource",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "id": "GoogleAppsCloudidentityDevicesV1ClientState",
      "type": "object"
    },
    "Operation": {
      "id": "Operation",
      "type": "object",
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "properties": {
        "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."
        },
        "metadata": {
          "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."
          },
          "type": "object"
        },
        "done": {
          "type": "boolean",
          "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."
        },
        "response": {
          "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`.",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "type": "object"
        }
      }
    },
    "ModifyMembershipRolesResponse": {
      "description": "The response message for MembershipsService.ModifyMembershipRoles.",
      "properties": {
        "membership": {
          "description": "The `Membership` resource after modifying its `MembershipRole`s.",
          "$ref": "Membership"
        }
      },
      "id": "ModifyMembershipRolesResponse",
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1DeviceUser": {
      "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",
      "properties": {
        "userEmail": {
          "type": "string",
          "description": "Email address of the user registered on the device."
        },
        "languageCode": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Default locale used on device, in IETF BCP-47 format."
        },
        "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."
          ]
        },
        "userAgent": {
          "type": "string",
          "description": "Output only. User agent on the device for this specific user",
          "readOnly": true
        },
        "managementState": {
          "description": "Output only. Management state of the user on the device.",
          "type": "string",
          "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."
          ],
          "enum": [
            "MANAGEMENT_STATE_UNSPECIFIED",
            "WIPING",
            "WIPED",
            "APPROVED",
            "BLOCKED",
            "PENDING_APPROVAL",
            "UNENROLLED"
          ],
          "readOnly": true
        },
        "firstSyncTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Most recent time when user registered with this service.",
          "readOnly": true
        },
        "createTime": {
          "description": "When the user first signed in to the device",
          "format": "google-datetime",
          "type": "string"
        },
        "lastSyncTime": {
          "type": "string",
          "description": "Output only. Last time when user synced with policies.",
          "format": "google-datetime",
          "readOnly": true
        },
        "name": {
          "type": "string",
          "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.",
          "readOnly": true
        },
        "passwordState": {
          "description": "Password state of the DeviceUser object",
          "enumDescriptions": [
            "Password state not set.",
            "Password set in object.",
            "Password not set in object."
          ],
          "type": "string",
          "enum": [
            "PASSWORD_STATE_UNSPECIFIED",
            "PASSWORD_SET",
            "PASSWORD_NOT_SET"
          ]
        }
      },
      "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"
        }
      },
      "description": "Response message for cancelling an unfinished device wipe.",
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1Device": {
      "id": "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": {
        "securityPatchTime": {
          "description": "Output only. OS security patch update time on device.",
          "type": "string",
          "readOnly": true,
          "format": "google-datetime"
        },
        "managementState": {
          "type": "string",
          "description": "Output only. Management state of the device",
          "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."
          ],
          "enum": [
            "MANAGEMENT_STATE_UNSPECIFIED",
            "APPROVED",
            "BLOCKED",
            "PENDING",
            "UNPROVISIONED",
            "WIPING",
            "WIPED"
          ]
        },
        "encryptionState": {
          "description": "Output only. Device encryption state.",
          "readOnly": true,
          "enumDescriptions": [
            "Encryption Status is not set.",
            "Device doesn't support encryption.",
            "Device is encrypted.",
            "Device is not encrypted."
          ],
          "type": "string",
          "enum": [
            "ENCRYPTION_STATE_UNSPECIFIED",
            "UNSUPPORTED_BY_DEVICE",
            "ENCRYPTED",
            "NOT_ENCRYPTED"
          ]
        },
        "compromisedState": {
          "enum": [
            "COMPROMISED_STATE_UNSPECIFIED",
            "COMPROMISED",
            "UNCOMPROMISED"
          ],
          "readOnly": true,
          "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.",
          "type": "string"
        },
        "osVersion": {
          "type": "string",
          "description": "Output only. OS version of the device. Example: Android 8.1.0.",
          "readOnly": true
        },
        "serialNumber": {
          "description": "Serial Number of device. Example: HT82V1A01076.",
          "type": "string"
        },
        "imei": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. IMEI number of device if GSM device; empty otherwise."
        },
        "bootloaderVersion": {
          "type": "string",
          "description": "Output only. Device bootloader version. Example: 0.6.7.",
          "readOnly": true
        },
        "brand": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Device brand. Example: Samsung."
        },
        "otherAccounts": {
          "readOnly": true,
          "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",
          "items": {
            "type": "string"
          }
        },
        "basebandVersion": {
          "type": "string",
          "description": "Output only. Baseband version of the device.",
          "readOnly": true
        },
        "enabledDeveloperOptions": {
          "type": "boolean",
          "description": "Output only. Whether developer options is enabled on device.",
          "readOnly": true
        },
        "manufacturer": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Device manufacturer. Example: Motorola."
        },
        "createTime": {
          "description": "Output only. When the Company-Owned device was imported. This field is empty for BYOD devices.",
          "type": "string",
          "readOnly": true,
          "format": "google-datetime"
        },
        "wifiMacAddresses": {
          "description": "WiFi MAC addresses of device.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "ownerType": {
          "readOnly": true,
          "type": "string",
          "enum": [
            "DEVICE_OWNERSHIP_UNSPECIFIED",
            "COMPANY",
            "BYOD"
          ],
          "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)"
          ]
        },
        "meid": {
          "type": "string",
          "description": "Output only. MEID number of device if CDMA device; empty otherwise.",
          "readOnly": true
        },
        "networkOperator": {
          "readOnly": true,
          "description": "Output only. Mobile or network operator of device, if available.",
          "type": "string"
        },
        "buildNumber": {
          "type": "string",
          "description": "Output only. Build number of the device.",
          "readOnly": true
        },
        "model": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Model name of device. Example: Pixel 3."
        },
        "releaseVersion": {
          "description": "Output only. OS release version. Example: 6.0.",
          "readOnly": true,
          "type": "string"
        },
        "assetTag": {
          "type": "string",
          "description": "Asset tag of the device."
        },
        "enabledUsbDebugging": {
          "description": "Output only. Whether USB debugging is enabled on device.",
          "readOnly": true,
          "type": "boolean"
        },
        "kernelVersion": {
          "readOnly": true,
          "description": "Output only. Kernel version of the device.",
          "type": "string"
        },
        "androidSpecificAttributes": {
          "readOnly": true,
          "description": "Output only. Attributes specific to Android devices.",
          "$ref": "GoogleAppsCloudidentityDevicesV1AndroidAttributes"
        },
        "lastSyncTime": {
          "description": "Most recent time when device synced with this service.",
          "type": "string",
          "format": "google-datetime"
        },
        "name": {
          "type": "string",
          "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."
        },
        "deviceType": {
          "readOnly": true,
          "description": "Output only. Type of device.",
          "type": "string",
          "enum": [
            "DEVICE_TYPE_UNSPECIFIED",
            "ANDROID",
            "IOS",
            "GOOGLE_SYNC",
            "WINDOWS",
            "MAC_OS",
            "LINUX",
            "CHROME_OS"
          ],
          "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."
          ]
        }
      }
    },
    "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."
        },
        "stringValue": {
          "description": "Represents a string value.",
          "type": "string"
        },
        "boolValue": {
          "type": "boolean",
          "description": "Represents a boolean value."
        }
      },
      "type": "object"
    },
    "ModifyMembershipRolesRequest": {
      "id": "ModifyMembershipRolesRequest",
      "description": "The request message for MembershipsService.ModifyMembershipRoles.",
      "properties": {
        "removeRoles": {
          "items": {
            "type": "string"
          },
          "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.",
          "type": "array"
        },
        "addRoles": {
          "items": {
            "$ref": "MembershipRole"
          },
          "type": "array",
          "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": "object"
    },
    "LookupGroupNameResponse": {
      "properties": {
        "name": {
          "type": "string",
          "description": "The [resource name](https://cloud.google.com/apis/design/resource_names) of the looked-up `Group`."
        }
      },
      "id": "LookupGroupNameResponse",
      "description": "The response message for GroupsService.LookupGroupName.",
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse": {
      "properties": {
        "deviceUser": {
          "description": "Resultant DeviceUser object for the action.",
          "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser"
        }
      },
      "description": "Response message for approving the device to access user data.",
      "type": "object",
      "id": "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse"
    },
    "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest": {
      "type": "object",
      "id": "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest",
      "description": "Request message for approving the device to access user data.",
      "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"
        }
      }
    },
    "GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest": {
      "description": "Request message for blocking account on device.",
      "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."
        }
      },
      "type": "object",
      "id": "GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest"
    },
    "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse": {
      "type": "object",
      "properties": {
        "deviceUser": {
          "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser",
          "description": "Resultant DeviceUser object for the action."
        }
      },
      "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse",
      "description": "Response message for cancelling an unfinished user account wipe."
    },
    "GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse": {
      "description": "Response message that is returned from the ListDeviceUsers method.",
      "type": "object",
      "properties": {
        "deviceUsers": {
          "type": "array",
          "description": "Devices meeting the list restrictions.",
          "items": {
            "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser"
          }
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results. Empty if there are no more results.",
          "type": "string"
        }
      },
      "id": "GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse"
    },
    "LookupMembershipNameResponse": {
      "properties": {
        "name": {
          "type": "string",
          "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}`."
        }
      },
      "description": "The response message for MembershipsService.LookupMembershipName.",
      "id": "LookupMembershipNameResponse",
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest": {
      "description": "Request message for starting an account wipe on device.",
      "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."
        }
      },
      "type": "object",
      "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest"
    },
    "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest": {
      "type": "object",
      "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest",
      "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."
        }
      },
      "description": "Request message for cancelling an unfinished device wipe."
    },
    "GoogleAppsCloudidentityDevicesV1WipeDeviceResponse": {
      "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceResponse",
      "type": "object",
      "description": "Response message for wiping all data on the device.",
      "properties": {
        "device": {
          "description": "Resultant Device object for the action. Note that asset tags will not be returned in the device object.",
          "$ref": "GoogleAppsCloudidentityDevicesV1Device"
        }
      }
    },
    "GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse": {
      "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse",
      "properties": {
        "deviceUser": {
          "description": "Resultant DeviceUser object for the action.",
          "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser"
        }
      },
      "description": "Response message for wiping the user's account from the device.",
      "type": "object"
    },
    "Membership": {
      "properties": {
        "roles": {
          "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`.",
          "type": "array",
          "items": {
            "$ref": "MembershipRole"
          }
        },
        "preferredMemberKey": {
          "$ref": "EntityKey",
          "description": "Required. Immutable. The `EntityKey` of the member."
        },
        "type": {
          "enumDescriptions": [
            "Default. Should not be used.",
            "Represents user type.",
            "Represents service account type.",
            "Represents group type.",
            "Represents other type."
          ],
          "type": "string",
          "readOnly": true,
          "description": "Output only. The type of the membership.",
          "enum": [
            "TYPE_UNSPECIFIED",
            "USER",
            "SERVICE_ACCOUNT",
            "GROUP",
            "OTHER"
          ]
        },
        "createTime": {
          "format": "google-datetime",
          "description": "Output only. The time when the `Membership` was created.",
          "readOnly": true,
          "type": "string"
        },
        "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"
        },
        "updateTime": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The time when the `Membership` was last updated.",
          "format": "google-datetime"
        }
      },
      "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",
      "id": "Membership"
    },
    "GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse": {
      "id": "GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse",
      "type": "object",
      "description": "Response containing resource names of the DeviceUsers associated with the caller's credentials.",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results. Empty if there are no more results."
        },
        "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"
        },
        "customer": {
          "type": "string",
          "description": "The obfuscated customer Id that may be passed back to other Devices API methods such as List, Get, etc."
        }
      }
    },
    "GoogleAppsCloudidentityDevicesV1ListDevicesResponse": {
      "type": "object",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results. Empty if there are no more results."
        },
        "devices": {
          "description": "Devices meeting the list restrictions.",
          "items": {
            "$ref": "GoogleAppsCloudidentityDevicesV1Device"
          },
          "type": "array"
        }
      },
      "description": "Response message that is returned from the ListDevices method.",
      "id": "GoogleAppsCloudidentityDevicesV1ListDevicesResponse"
    },
    "Group": {
      "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.",
      "type": "object",
      "id": "Group",
      "properties": {
        "groupKey": {
          "description": "Required. Immutable. The `EntityKey` of the `Group`.",
          "$ref": "EntityKey"
        },
        "name": {
          "type": "string",
          "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
        },
        "description": {
          "description": "An extended description to help users determine the purpose of a `Group`. Must not be longer than 4,096 characters.",
          "type": "string"
        },
        "displayName": {
          "type": "string",
          "description": "The display name of the `Group`."
        },
        "parent": {
          "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.",
          "type": "string"
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the `Group` was last updated.",
          "readOnly": true
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the `Group` was created."
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "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\": \"\"}.",
          "type": "object"
        }
      }
    },
    "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": {
        "id": {
          "type": "string",
          "description": "The ID of the entity. For Google-managed entities, the `id` should be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source's requirements. Must be unique within a `namespace`."
        },
        "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"
        }
      },
      "id": "EntityKey",
      "type": "object"
    },
    "SearchGroupsResponse": {
      "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 that match the search query.",
          "type": "array"
        }
      },
      "description": "The response message for GroupsService.SearchGroups.",
      "id": "SearchGroupsResponse",
      "type": "object"
    }
  },
  "title": "Cloud Identity API",
  "canonicalName": "Cloud Identity",
  "kind": "discovery#restDescription",
  "rootUrl": "https://cloudidentity.googleapis.com/",
  "basePath": "",
  "resources": {
    "devices": {
      "resources": {
        "deviceUsers": {
          "resources": {
            "clientStates": {
              "methods": {
                "get": {
                  "parameters": {
                    "name": {
                      "location": "path",
                      "type": "string",
                      "pattern": "^devices/[^/]+/deviceUsers/[^/]+/clientStates/[^/]+$",
                      "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.",
                      "required": true
                    },
                    "customer": {
                      "type": "string",
                      "location": "query",
                      "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."
                    }
                  },
                  "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}/clientStates/{clientStatesId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "GoogleAppsCloudidentityDevicesV1ClientState"
                  },
                  "id": "cloudidentity.devices.deviceUsers.clientStates.get",
                  "httpMethod": "GET",
                  "path": "v1/{+name}",
                  "description": "Gets the client state for the device user"
                },
                "list": {
                  "response": {
                    "$ref": "GoogleAppsCloudidentityDevicesV1ListClientStatesResponse"
                  },
                  "path": "v1/{+parent}/clientStates",
                  "httpMethod": "GET",
                  "id": "cloudidentity.devices.deviceUsers.clientStates.list",
                  "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}/clientStates",
                  "parameterOrder": [
                    "parent"
                  ],
                  "parameters": {
                    "filter": {
                      "location": "query",
                      "description": "Optional. Additional restrictions when fetching list of client states.",
                      "type": "string"
                    },
                    "pageToken": {
                      "type": "string",
                      "location": "query",
                      "description": "Optional. A page token, received from a previous `ListClientStates` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListClientStates` must match the call that provided the page token."
                    },
                    "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"
                    },
                    "parent": {
                      "type": "string",
                      "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                      "description": "Required. To list all ClientStates, set this to \"devices/-/deviceUsers/-\". To list all ClientStates owned by a DeviceUser, set this to the resource name of the DeviceUser. Format: devices/{device}/deviceUsers/{deviceUser}",
                      "location": "path",
                      "required": true
                    },
                    "orderBy": {
                      "description": "Optional. Order specification for client states in the response.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "description": "Lists the client states for the given search query."
                },
                "patch": {
                  "request": {
                    "$ref": "GoogleAppsCloudidentityDevicesV1ClientState"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}/clientStates/{clientStatesId}",
                  "httpMethod": "PATCH",
                  "description": "Updates the client state for the device user",
                  "path": "v1/{+name}",
                  "parameters": {
                    "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"
                    },
                    "name": {
                      "pattern": "^devices/[^/]+/deviceUsers/[^/]+/clientStates/[^/]+$",
                      "type": "string",
                      "required": 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')",
                      "location": "path"
                    },
                    "updateMask": {
                      "format": "google-fieldmask",
                      "type": "string",
                      "location": "query",
                      "description": "Optional. Comma-separated list of fully qualified names of fields to be updated. If not specified, all updatable fields in ClientState are updated."
                    }
                  },
                  "id": "cloudidentity.devices.deviceUsers.clientStates.patch"
                }
              }
            }
          },
          "methods": {
            "get": {
              "description": "Retrieves the specified DeviceUser",
              "path": "v1/{+name}",
              "response": {
                "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser"
              },
              "parameterOrder": [
                "name"
              ],
              "httpMethod": "GET",
              "id": "cloudidentity.devices.deviceUsers.get",
              "parameters": {
                "name": {
                  "type": "string",
                  "location": "path",
                  "required": true,
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "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",
                  "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"
                }
              },
              "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}"
            },
            "block": {
              "description": "Blocks device from accessing user data",
              "request": {
                "$ref": "GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest"
              },
              "httpMethod": "POST",
              "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}:block",
              "path": "v1/{+name}:block",
              "id": "cloudidentity.devices.deviceUsers.block",
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "Operation"
              },
              "parameters": {
                "name": {
                  "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.",
                  "location": "path",
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$"
                }
              }
            },
            "list": {
              "path": "v1/{+parent}/deviceUsers",
              "description": "Lists/Searches DeviceUsers.",
              "parameterOrder": [
                "parent"
              ],
              "httpMethod": "GET",
              "response": {
                "$ref": "GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse"
              },
              "parameters": {
                "parent": {
                  "pattern": "^devices/[^/]+$",
                  "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}",
                  "location": "path",
                  "type": "string",
                  "required": true
                },
                "orderBy": {
                  "type": "string",
                  "location": "query",
                  "description": "Optional. Order specification for devices in the response."
                },
                "customer": {
                  "type": "string",
                  "location": "query",
                  "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."
                },
                "pageSize": {
                  "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.",
                  "type": "integer",
                  "format": "int32"
                },
                "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": {
                  "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.",
                  "type": "string",
                  "location": "query"
                }
              },
              "id": "cloudidentity.devices.deviceUsers.list",
              "flatPath": "v1/devices/{devicesId}/deviceUsers"
            },
            "approve": {
              "parameters": {
                "name": {
                  "location": "path",
                  "required": true,
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "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"
                }
              },
              "httpMethod": "POST",
              "path": "v1/{+name}:approve",
              "id": "cloudidentity.devices.deviceUsers.approve",
              "parameterOrder": [
                "name"
              ],
              "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}:approve",
              "description": "Approves device to access user data.",
              "request": {
                "$ref": "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest"
              },
              "response": {
                "$ref": "Operation"
              }
            },
            "cancelWipe": {
              "id": "cloudidentity.devices.deviceUsers.cancelWipe",
              "httpMethod": "POST",
              "path": "v1/{+name}:cancelWipe",
              "response": {
                "$ref": "Operation"
              },
              "request": {
                "$ref": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest"
              },
              "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": {
                  "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.",
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}:cancelWipe"
            },
            "lookup": {
              "parameters": {
                "userId": {
                  "location": "query",
                  "type": "string",
                  "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."
                },
                "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."
                },
                "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": {
                  "location": "query",
                  "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"
                },
                "pageSize": {
                  "location": "query",
                  "format": "int32",
                  "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.",
                  "type": "integer"
                },
                "parent": {
                  "required": true,
                  "location": "path",
                  "pattern": "^devices/[^/]+/deviceUsers$",
                  "description": "Must be set to \"devices/-/deviceUsers\" to search across all DeviceUser belonging to the user.",
                  "type": "string"
                }
              },
              "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.",
              "httpMethod": "GET",
              "parameterOrder": [
                "parent"
              ],
              "flatPath": "v1/devices/{devicesId}/deviceUsers:lookup",
              "response": {
                "$ref": "GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse"
              },
              "id": "cloudidentity.devices.deviceUsers.lookup",
              "path": "v1/{+parent}:lookup"
            },
            "delete": {
              "path": "v1/{+name}",
              "httpMethod": "DELETE",
              "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}",
              "parameters": {
                "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"
                },
                "name": {
                  "location": "path",
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "type": "string",
                  "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."
                }
              },
              "description": "Deletes the specified DeviceUser. This also revokes the user's access to device data.",
              "parameterOrder": [
                "name"
              ],
              "id": "cloudidentity.devices.deviceUsers.delete",
              "response": {
                "$ref": "Operation"
              }
            },
            "wipe": {
              "httpMethod": "POST",
              "request": {
                "$ref": "GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest"
              },
              "id": "cloudidentity.devices.deviceUsers.wipe",
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "Operation"
              },
              "path": "v1/{+name}:wipe",
              "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}:wipe",
              "parameters": {
                "name": {
                  "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.",
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$"
                }
              },
              "description": "Wipes the user's account on a device. Other data on the device that is not associated with the user's work account is not affected. For example, if a Gmail app is installed on a device that is used for personal and work purposes, and the user is logged in to the Gmail app with their personal account as well as their work account, wiping the \"deviceUser\" by their work administrator will not affect their personal account within Gmail or other apps such as Photos."
            }
          }
        }
      },
      "methods": {
        "create": {
          "flatPath": "v1/devices",
          "request": {
            "$ref": "GoogleAppsCloudidentityDevicesV1Device"
          },
          "description": "Creates a device. Only company-owned device may be created.",
          "response": {
            "$ref": "Operation"
          },
          "httpMethod": "POST",
          "path": "v1/devices",
          "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"
            }
          },
          "parameterOrder": [],
          "id": "cloudidentity.devices.create"
        },
        "list": {
          "flatPath": "v1/devices",
          "path": "v1/devices",
          "id": "cloudidentity.devices.list",
          "description": "Lists/Searches devices.",
          "response": {
            "$ref": "GoogleAppsCloudidentityDevicesV1ListDevicesResponse"
          },
          "httpMethod": "GET",
          "parameters": {
            "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 at the end to specify results to be sorted in descending order. Default order is ascending.",
              "type": "string",
              "location": "query"
            },
            "customer": {
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer in the format: `customers/{customer_id}`, where customer_id is the customer to whom the device belongs. 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"
            },
            "filter": {
              "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.",
              "location": "query"
            },
            "pageToken": {
              "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",
              "location": "query"
            },
            "pageSize": {
              "location": "query",
              "type": "integer",
              "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.",
              "format": "int32"
            },
            "view": {
              "description": "Optional. The view to use for the List request.",
              "type": "string",
              "location": "query",
              "enum": [
                "VIEW_UNSPECIFIED",
                "COMPANY_INVENTORY",
                "USER_ASSIGNED_DEVICES"
              ],
              "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 includes devices that may be unaassigned or assigned to users.",
                "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."
              ]
            }
          },
          "parameterOrder": []
        },
        "wipe": {
          "response": {
            "$ref": "Operation"
          },
          "description": "Wipes all data on the specified device.",
          "flatPath": "v1/devices/{devicesId}:wipe",
          "httpMethod": "POST",
          "parameters": {
            "name": {
              "required": true,
              "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.",
              "pattern": "^devices/[^/]+$"
            }
          },
          "path": "v1/{+name}:wipe",
          "request": {
            "$ref": "GoogleAppsCloudidentityDevicesV1WipeDeviceRequest"
          },
          "parameterOrder": [
            "name"
          ],
          "id": "cloudidentity.devices.wipe"
        },
        "delete": {
          "flatPath": "v1/devices/{devicesId}",
          "httpMethod": "DELETE",
          "path": "v1/{+name}",
          "response": {
            "$ref": "Operation"
          },
          "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": {
              "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"
            }
          },
          "parameterOrder": [
            "name"
          ]
        },
        "get": {
          "response": {
            "$ref": "GoogleAppsCloudidentityDevicesV1Device"
          },
          "path": "v1/{+name}",
          "httpMethod": "GET",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in the format: `devices/{device_id}`, where device_id is the unique ID assigned to the Device.",
              "type": "string",
              "pattern": "^devices/[^/]+$",
              "location": "path",
              "required": true
            },
            "customer": {
              "type": "string",
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Customer in the format: `customers/{customer_id}`, where customer_id is the customer to whom the device belongs. 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"
            }
          },
          "description": "Retrieves the specified device.",
          "flatPath": "v1/devices/{devicesId}",
          "id": "cloudidentity.devices.get"
        },
        "cancelWipe": {
          "response": {
            "$ref": "Operation"
          },
          "httpMethod": "POST",
          "parameters": {
            "name": {
              "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.",
              "type": "string",
              "location": "path",
              "required": true,
              "pattern": "^devices/[^/]+$"
            }
          },
          "request": {
            "$ref": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest"
          },
          "parameterOrder": [
            "name"
          ],
          "flatPath": "v1/devices/{devicesId}:cancelWipe",
          "id": "cloudidentity.devices.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. This operation is possible when the device is in a \"pending wipe\" state. The device enters the \"pending wipe\" state when a wipe device command is issued, but has not yet been sent to the device. The cancel wipe will fail if the wipe command has already been issued to the device.",
          "path": "v1/{+name}:cancelWipe"
        }
      }
    },
    "groups": {
      "methods": {
        "get": {
          "path": "v1/{+name}",
          "httpMethod": "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"
          ],
          "parameters": {
            "name": {
              "type": "string",
              "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}`.",
              "required": true,
              "location": "path",
              "pattern": "^groups/[^/]+$"
            }
          },
          "description": "Retrieves a `Group`.",
          "id": "cloudidentity.groups.get",
          "response": {
            "$ref": "Group"
          },
          "parameterOrder": [
            "name"
          ],
          "flatPath": "v1/groups/{groupsId}"
        },
        "patch": {
          "httpMethod": "PATCH",
          "id": "cloudidentity.groups.patch",
          "path": "v1/{+name}",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "flatPath": "v1/groups/{groupsId}",
          "request": {
            "$ref": "Group"
          },
          "description": "Updates a `Group`.",
          "parameterOrder": [
            "name"
          ],
          "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": {
              "location": "query",
              "type": "string",
              "description": "Required. The fully-qualified names of fields to update. May only contain the following fields: `display_name`, `description`.",
              "format": "google-fieldmask"
            }
          },
          "response": {
            "$ref": "Operation"
          }
        },
        "lookup": {
          "httpMethod": "GET",
          "parameters": {
            "groupKey.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}.",
              "location": "query"
            },
            "groupKey.id": {
              "location": "query",
              "description": "The ID of the entity. For Google-managed entities, the `id` should be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source's requirements. Must be unique within a `namespace`.",
              "type": "string"
            }
          },
          "id": "cloudidentity.groups.lookup",
          "response": {
            "$ref": "LookupGroupNameResponse"
          },
          "flatPath": "v1/groups:lookup",
          "path": "v1/groups:lookup",
          "description": "Looks up the [resource name](https://cloud.google.com/apis/design/resource_names) of a `Group` by its `EntityKey`.",
          "parameterOrder": [],
          "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"
          ]
        },
        "create": {
          "flatPath": "v1/groups",
          "path": "v1/groups",
          "response": {
            "$ref": "Operation"
          },
          "parameters": {
            "initialGroupConfig": {
              "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."
              ],
              "description": "Optional. The initial configuration option for the `Group`.",
              "type": "string",
              "enum": [
                "INITIAL_GROUP_CONFIG_UNSPECIFIED",
                "WITH_INITIAL_OWNER",
                "EMPTY"
              ],
              "location": "query"
            }
          },
          "description": "Creates a Group.",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "httpMethod": "POST",
          "parameterOrder": [],
          "request": {
            "$ref": "Group"
          },
          "id": "cloudidentity.groups.create"
        },
        "list": {
          "parameters": {
            "view": {
              "location": "query",
              "description": "The level of detail to be returned. If unspecified, defaults to `View.BASIC`.",
              "enum": [
                "VIEW_UNSPECIFIED",
                "BASIC",
                "FULL"
              ],
              "type": "string",
              "enumDescriptions": [
                "Default. Should not be used.",
                "Only basic resource information is returned.",
                "All resource information is returned."
              ]
            },
            "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 `View.BASIC` and to 50 for `View.FULL`. Must not be greater than 1000 for `View.BASIC` or 500 for `View.FULL`.",
              "location": "query",
              "format": "int32",
              "type": "integer"
            },
            "pageToken": {
              "type": "string",
              "location": "query",
              "description": "The `next_page_token` value returned from a previous list request, if any."
            },
            "parent": {
              "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.",
              "type": "string",
              "location": "query"
            }
          },
          "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": [],
          "path": "v1/groups",
          "response": {
            "$ref": "ListGroupsResponse"
          },
          "id": "cloudidentity.groups.list",
          "flatPath": "v1/groups",
          "httpMethod": "GET",
          "description": "Lists the `Group`s under a customer or namespace."
        },
        "delete": {
          "flatPath": "v1/groups/{groupsId}",
          "httpMethod": "DELETE",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "parameters": {
            "name": {
              "required": true,
              "type": "string",
              "location": "path",
              "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}`.",
              "pattern": "^groups/[^/]+$"
            }
          },
          "description": "Deletes a `Group`.",
          "path": "v1/{+name}",
          "parameterOrder": [
            "name"
          ],
          "response": {
            "$ref": "Operation"
          },
          "id": "cloudidentity.groups.delete"
        },
        "search": {
          "httpMethod": "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"
          ],
          "path": "v1/groups:search",
          "id": "cloudidentity.groups.search",
          "flatPath": "v1/groups:search",
          "parameters": {
            "pageToken": {
              "type": "string",
              "location": "query",
              "description": "The `next_page_token` value returned from a previous search request, if any."
            },
            "pageSize": {
              "type": "integer",
              "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 50 for `GroupView.FULL`. Must not be greater than 1000 for `GroupView.BASIC` or 500 for `GroupView.FULL`.",
              "format": "int32",
              "location": "query"
            },
            "query": {
              "location": "query",
              "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`).",
              "type": "string"
            },
            "view": {
              "type": "string",
              "enum": [
                "VIEW_UNSPECIFIED",
                "BASIC",
                "FULL"
              ],
              "enumDescriptions": [
                "Default. Should not be used.",
                "Only basic resource information is returned.",
                "All resource information is returned."
              ],
              "location": "query",
              "description": "The level of detail to be returned. If unspecified, defaults to `View.BASIC`."
            }
          },
          "response": {
            "$ref": "SearchGroupsResponse"
          },
          "parameterOrder": [],
          "description": "Searches for `Group`s matching a specified query."
        }
      },
      "resources": {
        "memberships": {
          "methods": {
            "list": {
              "id": "cloudidentity.groups.memberships.list",
              "parameterOrder": [
                "parent"
              ],
              "description": "Lists the `Membership`s within a `Group`.",
              "path": "v1/{+parent}/memberships",
              "flatPath": "v1/groups/{groupsId}/memberships",
              "response": {
                "$ref": "ListMembershipsResponse"
              },
              "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": "Required. The parent `Group` resource under which to lookup the `Membership` name. Must be of the form `groups/{group_id}`.",
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "pattern": "^groups/[^/]+$"
                },
                "pageSize": {
                  "format": "int32",
                  "type": "integer",
                  "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`.",
                  "location": "query"
                },
                "pageToken": {
                  "location": "query",
                  "type": "string",
                  "description": "The `next_page_token` value returned from a previous search request, if any."
                },
                "view": {
                  "enum": [
                    "VIEW_UNSPECIFIED",
                    "BASIC",
                    "FULL"
                  ],
                  "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`.",
                  "location": "query",
                  "type": "string"
                }
              },
              "httpMethod": "GET"
            },
            "delete": {
              "flatPath": "v1/groups/{groupsId}/memberships/{membershipsId}",
              "path": "v1/{+name}",
              "httpMethod": "DELETE",
              "response": {
                "$ref": "Operation"
              },
              "id": "cloudidentity.groups.memberships.delete",
              "parameters": {
                "name": {
                  "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}`",
                  "location": "path",
                  "type": "string",
                  "pattern": "^groups/[^/]+/memberships/[^/]+$",
                  "required": true
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Deletes a `Membership`.",
              "parameterOrder": [
                "name"
              ]
            },
            "create": {
              "id": "cloudidentity.groups.memberships.create",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "parent": {
                  "type": "string",
                  "description": "Required. The parent `Group` resource under which to create the `Membership`. Must be of the form `groups/{group_id}`.",
                  "required": true,
                  "location": "path",
                  "pattern": "^groups/[^/]+$"
                }
              },
              "request": {
                "$ref": "Membership"
              },
              "path": "v1/{+parent}/memberships",
              "httpMethod": "POST",
              "flatPath": "v1/groups/{groupsId}/memberships",
              "description": "Creates a `Membership`.",
              "response": {
                "$ref": "Operation"
              },
              "parameterOrder": [
                "parent"
              ]
            },
            "modifyMembershipRoles": {
              "description": "Modifies the `MembershipRole`s of a `Membership`.",
              "parameterOrder": [
                "name"
              ],
              "request": {
                "$ref": "ModifyMembershipRolesRequest"
              },
              "parameters": {
                "name": {
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "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}`."
                }
              },
              "response": {
                "$ref": "ModifyMembershipRolesResponse"
              },
              "flatPath": "v1/groups/{groupsId}/memberships/{membershipsId}:modifyMembershipRoles",
              "httpMethod": "POST",
              "id": "cloudidentity.groups.memberships.modifyMembershipRoles",
              "path": "v1/{+name}:modifyMembershipRoles",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "get": {
              "parameters": {
                "name": {
                  "type": "string",
                  "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}`.",
                  "pattern": "^groups/[^/]+/memberships/[^/]+$",
                  "location": "path"
                }
              },
              "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"
              ],
              "id": "cloudidentity.groups.memberships.get",
              "description": "Retrieves a `Membership`.",
              "path": "v1/{+name}",
              "response": {
                "$ref": "Membership"
              },
              "flatPath": "v1/groups/{groupsId}/memberships/{membershipsId}",
              "parameterOrder": [
                "name"
              ],
              "httpMethod": "GET"
            },
            "lookup": {
              "description": "Looks up the [resource name](https://cloud.google.com/apis/design/resource_names) of a `Membership` by its `EntityKey`.",
              "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": {
                "memberKey.id": {
                  "location": "query",
                  "type": "string",
                  "description": "The ID of the entity. For Google-managed entities, the `id` should be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source's requirements. Must be unique within a `namespace`."
                },
                "parent": {
                  "description": "Required. The parent `Group` resource under which to lookup the `Membership` name. Must be of the form `groups/{group_id}`.",
                  "type": "string",
                  "pattern": "^groups/[^/]+$",
                  "location": "path",
                  "required": true
                },
                "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",
              "parameterOrder": [
                "parent"
              ],
              "response": {
                "$ref": "LookupMembershipNameResponse"
              },
              "path": "v1/{+parent}/memberships:lookup",
              "id": "cloudidentity.groups.memberships.lookup",
              "flatPath": "v1/groups/{groupsId}/memberships:lookup"
            }
          }
        }
      }
    }
  },
  "servicePath": "",
  "auth": {
    "oauth2": {
      "scopes": {
        "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"
        },
        "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"
        }
      }
    }
  },
  "baseUrl": "https://cloudidentity.googleapis.com/",
  "protocol": "rest",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "discoveryVersion": "v1",
  "revision": "20201117",
  "version_module": true
}
