All Downloads are FREE. Search and download functionalities are using the official Maven repository.

target.classes.cloudidentity.v1beta1.json Maven / Gradle / Ivy

{
  "description": "API for provisioning and managing identity resources.",
  "kind": "discovery#restDescription",
  "version": "v1beta1",
  "fullyEncodeReservedExpansion": true,
  "id": "cloudidentity:v1beta1",
  "documentationLink": "https://cloud.google.com/identity/",
  "revision": "20200829",
  "ownerName": "Google",
  "basePath": "",
  "title": "Cloud Identity API",
  "ownerDomain": "google.com",
  "name": "cloudidentity",
  "protocol": "rest",
  "canonicalName": "Cloud Identity",
  "baseUrl": "https://cloudidentity.googleapis.com/",
  "version_module": true,
  "schemas": {
    "Operation": {
      "id": "Operation",
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "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}`."
        },
        "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`.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        },
        "metadata": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "type": "object",
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any."
        },
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
          "type": "boolean"
        },
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "Status"
        }
      }
    },
    "BlockDeviceUserRequest": {
      "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 blocking account on device.",
      "type": "object",
      "id": "BlockDeviceUserRequest"
    },
    "ListMembershipsResponse": {
      "id": "ListMembershipsResponse",
      "type": "object",
      "properties": {
        "memberships": {
          "items": {
            "$ref": "Membership"
          },
          "description": "The `Membership`s under the specified `parent`.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "A continuation token to retrieve the next page of results, or empty if there are no more results available.",
          "type": "string"
        }
      },
      "description": "The response message for MembershipsService.ListMemberships."
    },
    "MembershipAdjacencyList": {
      "description": "Membership graph's path information as an adjacency list.",
      "type": "object",
      "id": "MembershipAdjacencyList",
      "properties": {
        "group": {
          "type": "string",
          "description": "Resource name of the group that the members belong to."
        },
        "edges": {
          "type": "array",
          "description": "Each edge contains information about the member that belongs to this group.",
          "items": {
            "$ref": "Membership"
          }
        }
      }
    },
    "ClientState": {
      "type": "object",
      "properties": {
        "lastUpdateTime": {
          "format": "google-datetime",
          "type": "string",
          "readOnly": true,
          "description": "Output only. The time the client state data was last updated."
        },
        "complianceState": {
          "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"
          ],
          "description": "The compliance state of the resource as specified by the API client."
        },
        "healthScore": {
          "enum": [
            "HEALTH_SCORE_UNSPECIFIED",
            "VERY_POOR",
            "POOR",
            "NEUTRAL",
            "GOOD",
            "VERY_GOOD"
          ],
          "enumDescriptions": [
            "Default value",
            "The object is in very poor health as defined by the caller.",
            "The object is in poor health as defined by the caller.",
            "The object health is neither good nor poor, as defined by the caller.",
            "The object is in good health as defined by the caller.",
            "The object is in very good health as defined by the caller."
          ],
          "description": "The Health score of the resource",
          "type": "string"
        },
        "assetTags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The caller can specify asset tags for this resource"
        },
        "createTime": {
          "readOnly": true,
          "description": "Output only. The time the client state data was created.",
          "format": "google-datetime",
          "type": "string"
        },
        "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": "CustomAttributeValue"
          }
        },
        "name": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device_id}/deviceUsers/{device_user_id}/clientState/{partner_id}`, where partner_id corresponds to the partner storing the data."
        },
        "customId": {
          "description": "This field may be used to store a unique identifier for the API resource within which these CustomAttributes are a field.",
          "type": "string"
        },
        "etag": {
          "type": "string",
          "description": "The token that needs to be passed back for concurrency control in updates. Token needs to be passed back in UpdateRequest"
        },
        "ownerType": {
          "readOnly": true,
          "enumDescriptions": [
            "Unknown owner type",
            "Customer is the owner",
            "Partner is the owner"
          ],
          "type": "string",
          "enum": [
            "OWNER_TYPE_UNSPECIFIED",
            "OWNER_TYPE_CUSTOMER",
            "OWNER_TYPE_PARTNER"
          ],
          "description": "Output only. The owner of the ClientState"
        },
        "scoreReason": {
          "description": "A descriptive cause of the health score.",
          "type": "string"
        },
        "managed": {
          "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"
          ],
          "description": "The management state of the resource as specified by the API client.",
          "type": "string"
        }
      },
      "description": "Represents the state associated with an API client calling the Devices API. Resource representing ClientState and supports updates from API users",
      "id": "ClientState"
    },
    "CustomAttributeValue": {
      "description": "Additional custom attribute values may be one of these types",
      "id": "CustomAttributeValue",
      "properties": {
        "boolValue": {
          "description": "Represents a boolean value.",
          "type": "boolean"
        },
        "stringValue": {
          "type": "string",
          "description": "Represents a string value."
        },
        "numberValue": {
          "description": "Represents a double value.",
          "type": "number",
          "format": "double"
        }
      },
      "type": "object"
    },
    "DynamicGroupStatus": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "description": "Status of the dynamic group.",
          "enumDescriptions": [
            "Default.",
            "The dynamic group is up-to-date.",
            "The dynamic group has just been created and memberships are being updated."
          ],
          "enum": [
            "STATUS_UNSPECIFIED",
            "UP_TO_DATE",
            "UPDATING_MEMBERSHIPS"
          ]
        },
        "statusTime": {
          "description": "The latest time at which the dynamic group is guaranteed to be in the given status. If status is `UP_TO_DATE`, the latest time at which the dynamic group was confirmed to be up-to-date. If status is `UPDATING_MEMBERSHIPS`, the time at which dynamic group was created.",
          "type": "string",
          "format": "google-datetime"
        }
      },
      "id": "DynamicGroupStatus",
      "description": "The current status of a dynamic group along with timestamp."
    },
    "EntityKey": {
      "type": "object",
      "properties": {
        "namespace": {
          "type": "string",
          "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}."
        },
        "id": {
          "description": "The ID of the entity. For Google-managed entities, the `id` must be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source's requirements. Must be unique within a `namespace`.",
          "type": "string"
        }
      },
      "id": "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."
    },
    "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse": {
      "properties": {
        "deviceUser": {
          "description": "Resultant DeviceUser object for the action.",
          "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser"
        }
      },
      "id": "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse",
      "description": "Response message for approving the device to access user data.",
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse": {
      "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse",
      "properties": {
        "deviceUser": {
          "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser",
          "description": "Resultant DeviceUser object for the action."
        }
      },
      "type": "object",
      "description": "Response message for wiping the user's account from the device."
    },
    "ListDeviceUsersResponse": {
      "description": "Response message that is returned from the ListDeviceUsers method.",
      "properties": {
        "deviceUsers": {
          "description": "Devices meeting the list restrictions.",
          "type": "array",
          "items": {
            "$ref": "DeviceUser"
          }
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results. Empty if there are no more results.",
          "type": "string"
        }
      },
      "id": "ListDeviceUsersResponse",
      "type": "object"
    },
    "LookupMembershipNameResponse": {
      "description": "The response message for MembershipsService.LookupMembershipName.",
      "properties": {
        "name": {
          "description": "The [resource name](https://cloud.google.com/apis/design/resource_names) of the looked-up `Membership`. Must be of the form `groups/{group_id}/memberships/{membership_id}`.",
          "type": "string"
        }
      },
      "id": "LookupMembershipNameResponse",
      "type": "object"
    },
    "ListDevicesResponse": {
      "description": "Response message that is returned from the ListDevices method.",
      "properties": {
        "devices": {
          "description": "Devices meeting the list restrictions.",
          "type": "array",
          "items": {
            "$ref": "Device"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results. Empty if there are no more results."
        }
      },
      "id": "ListDevicesResponse",
      "type": "object"
    },
    "ApproveDeviceUserResponse": {
      "id": "ApproveDeviceUserResponse",
      "type": "object",
      "description": "Response message for approving the device to access user data.",
      "properties": {
        "deviceUser": {
          "description": "Resultant DeviceUser object for the action.",
          "$ref": "DeviceUser"
        }
      }
    },
    "SearchGroupsResponse": {
      "description": "The response message for GroupsService.SearchGroups.",
      "id": "SearchGroupsResponse",
      "type": "object",
      "properties": {
        "groups": {
          "description": "The `Group`s that match the search query.",
          "items": {
            "$ref": "Group"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A continuation token to retrieve the next page of results, or empty if there are no more results available.",
          "type": "string"
        }
      }
    },
    "ExpiryDetail": {
      "id": "ExpiryDetail",
      "type": "object",
      "description": "The `MembershipRole` expiry details.",
      "properties": {
        "expireTime": {
          "format": "google-datetime",
          "description": "The time at which the `MembershipRole` will expire.",
          "type": "string"
        }
      }
    },
    "CancelWipeDeviceUserRequest": {
      "type": "object",
      "properties": {
        "customer": {
          "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
          "type": "string"
        }
      },
      "description": "Request message for cancelling an unfinished user account wipe.",
      "id": "CancelWipeDeviceUserRequest"
    },
    "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": {
          "type": "string",
          "description": "A descriptive cause of the health score."
        },
        "assetTags": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "The caller can specify asset tags for this resource"
        },
        "managed": {
          "description": "The management state of the resource as specified by the API client.",
          "type": "string",
          "enum": [
            "MANAGED_STATE_UNSPECIFIED",
            "MANAGED",
            "UNMANAGED"
          ],
          "enumDescriptions": [
            "The management state of the resource is unknown or unspecified.",
            "The resource is managed.",
            "The resource is not managed."
          ]
        },
        "healthScore": {
          "description": "The Health score of the resource",
          "type": "string",
          "enumDescriptions": [
            "Default value",
            "The object is in very poor health as defined by the caller.",
            "The object is in poor health as defined by the caller.",
            "The object health is neither good nor poor, as defined by the caller.",
            "The object is in good health as defined by the caller.",
            "The object is in very good health as defined by the caller."
          ],
          "enum": [
            "HEALTH_SCORE_UNSPECIFIED",
            "VERY_POOR",
            "POOR",
            "NEUTRAL",
            "GOOD",
            "VERY_GOOD"
          ]
        },
        "name": {
          "type": "string",
          "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."
        },
        "keyValuePairs": {
          "description": "The map of key-value attributes stored by callers specific to a device. The total serialized length of this map may not exceed 10KB. No limit is placed on the number of attributes in a map.",
          "additionalProperties": {
            "$ref": "GoogleAppsCloudidentityDevicesV1CustomAttributeValue"
          },
          "type": "object"
        },
        "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."
        },
        "lastUpdateTime": {
          "readOnly": true,
          "description": "Output only. The time the client state data was last updated.",
          "format": "google-datetime",
          "type": "string"
        },
        "etag": {
          "type": "string",
          "description": "The token that needs to be passed back for concurrency control in updates. Token needs to be passed back in UpdateRequest"
        },
        "createTime": {
          "description": "Output only. The time the client state data was created.",
          "type": "string",
          "readOnly": true,
          "format": "google-datetime"
        },
        "ownerType": {
          "enum": [
            "OWNER_TYPE_UNSPECIFIED",
            "OWNER_TYPE_CUSTOMER",
            "OWNER_TYPE_PARTNER"
          ],
          "type": "string",
          "readOnly": true,
          "description": "Output only. The owner of the ClientState",
          "enumDescriptions": [
            "Unknown owner type",
            "Customer is the owner",
            "Partner is the owner"
          ]
        },
        "complianceState": {
          "enumDescriptions": [
            "The compliance state of the resource is unknown or unspecified.",
            "Device is compliant with third party policies",
            "Device is not compliant with third party policies"
          ],
          "enum": [
            "COMPLIANCE_STATE_UNSPECIFIED",
            "COMPLIANT",
            "NON_COMPLIANT"
          ],
          "description": "The compliance state of the resource as specified by the API client.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleAppsCloudidentityDevicesV1ClientState"
    },
    "Status": {
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
      "id": "Status",
      "type": "object",
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "type": "integer",
          "format": "int32"
        },
        "message": {
          "type": "string",
          "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."
        },
        "details": {
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "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."
        }
      }
    },
    "GoogleAppsCloudidentityDevicesV1CustomAttributeValue": {
      "properties": {
        "stringValue": {
          "type": "string",
          "description": "Represents a string value."
        },
        "numberValue": {
          "format": "double",
          "type": "number",
          "description": "Represents a double value."
        },
        "boolValue": {
          "type": "boolean",
          "description": "Represents a boolean value."
        }
      },
      "id": "GoogleAppsCloudidentityDevicesV1CustomAttributeValue",
      "description": "Additional custom attribute values may be one of these types",
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1WipeDeviceResponse": {
      "type": "object",
      "description": "Response message for wiping all data on the device.",
      "properties": {
        "device": {
          "$ref": "GoogleAppsCloudidentityDevicesV1Device",
          "description": "Resultant Device object for the action. Note that asset tags will not be returned in the device object."
        }
      },
      "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceResponse"
    },
    "LookupGroupNameResponse": {
      "properties": {
        "name": {
          "description": "Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the looked-up `Group`.",
          "type": "string",
          "readOnly": true
        }
      },
      "id": "LookupGroupNameResponse",
      "type": "object",
      "description": "The response message for GroupsService.LookupGroupName."
    },
    "AndroidAttributes": {
      "description": "Resource representing the Android specific attributes of a Device.",
      "properties": {
        "ownerProfileAccount": {
          "type": "boolean",
          "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."
        },
        "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."
        },
        "enabledUnknownSources": {
          "description": "Whether applications from unknown sources can be installed on device.",
          "type": "boolean"
        },
        "ownershipPrivilege": {
          "description": "Ownership privileges on device.",
          "type": "string",
          "enum": [
            "OWNERSHIP_PRIVILEGE_UNSPECIFIED",
            "DEVICE_ADMINISTRATOR",
            "PROFILE_OWNER",
            "DEVICE_OWNER"
          ],
          "enumDescriptions": [
            "Ownership privilege is not set.",
            "Active device administrator privileges on the device.",
            "Profile Owner privileges. The account is in a managed corporate profile.",
            "Device Owner privileges on the device."
          ]
        }
      },
      "id": "AndroidAttributes",
      "type": "object"
    },
    "DynamicGroupMetadata": {
      "id": "DynamicGroupMetadata",
      "description": "Dynamic group metadata like queries and status.",
      "properties": {
        "queries": {
          "type": "array",
          "description": "Memberships will be the union of all queries. Only one entry with USER resource is currently supported.",
          "items": {
            "$ref": "DynamicGroupQuery"
          }
        },
        "status": {
          "readOnly": true,
          "description": "Output only. Status of the dynamic group.",
          "$ref": "DynamicGroupStatus"
        }
      },
      "type": "object"
    },
    "Group": {
      "type": "object",
      "properties": {
        "labels": {
          "type": "object",
          "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\": \"\"}."
        },
        "displayName": {
          "type": "string",
          "description": "The display name of the `Group`."
        },
        "description": {
          "description": "An extended description to help users determine the purpose of a `Group`. Must not be longer than 4,096 characters.",
          "type": "string"
        },
        "additionalGroupKeys": {
          "items": {
            "$ref": "EntityKey"
          },
          "type": "array",
          "description": "Additional entity key aliases for a Group."
        },
        "name": {
          "readOnly": true,
          "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}`."
        },
        "dynamicGroupMetadata": {
          "$ref": "DynamicGroupMetadata",
          "description": "Optional. Dynamic group metadata like queries and status."
        },
        "createTime": {
          "description": "Output only. The time when the `Group` was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "groupKey": {
          "$ref": "EntityKey",
          "description": "Required. Immutable. The `EntityKey` of the `Group`."
        },
        "parent": {
          "type": "string",
          "description": "Required. Immutable. The resource name of the entity under which this `Group` resides in the Cloud Identity resource hierarchy. Must be of the form `identitysources/{identity_source_id}` for external- identity-mapped groups or `customers/{customer_id}` for Google Groups."
        },
        "updateTime": {
          "readOnly": true,
          "format": "google-datetime",
          "description": "Output only. The time when the `Group` was last updated.",
          "type": "string"
        }
      },
      "description": "A group within the Cloud Identity Groups API. A `Group` is a collection of entities, where each entity is either a user, another group, or a service account.",
      "id": "Group"
    },
    "CancelWipeDeviceUserResponse": {
      "id": "CancelWipeDeviceUserResponse",
      "properties": {
        "deviceUser": {
          "$ref": "DeviceUser",
          "description": "Resultant DeviceUser object for the action."
        }
      },
      "type": "object",
      "description": "Response message for cancelling an unfinished user account wipe."
    },
    "WipeDeviceRequest": {
      "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."
        }
      },
      "id": "WipeDeviceRequest",
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse": {
      "description": "Response message for blocking the device from accessing user data.",
      "id": "GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse",
      "type": "object",
      "properties": {
        "deviceUser": {
          "description": "Resultant DeviceUser object for the action.",
          "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser"
        }
      }
    },
    "ListClientStatesResponse": {
      "description": "Response message that is returned in LRO result of ListClientStates Operation.",
      "id": "ListClientStatesResponse",
      "type": "object",
      "properties": {
        "clientStates": {
          "description": "Client states meeting the list restrictions.",
          "items": {
            "$ref": "ClientState"
          },
          "type": "array"
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token to retrieve the next page of results. Empty if there are no more results."
        }
      }
    },
    "Membership": {
      "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\".",
      "id": "Membership",
      "type": "object",
      "properties": {
        "createTime": {
          "description": "Output only. The time when the `Membership` was created.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "name": {
          "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",
          "readOnly": true
        },
        "memberKey": {
          "$ref": "EntityKey",
          "description": "Immutable. The `EntityKey` of the member. Either `member_key` or `preferred_member_key` must be set when calling MembershipsService.CreateMembership but not both; both shall be set when returned."
        },
        "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`.",
          "items": {
            "$ref": "MembershipRole"
          },
          "type": "array"
        },
        "preferredMemberKey": {
          "description": "Required. Immutable. The `EntityKey` of the member. Either `member_key` or `preferred_member_key` must be set when calling MembershipsService.CreateMembership but not both; both shall be set when returned.",
          "$ref": "EntityKey"
        },
        "type": {
          "readOnly": true,
          "description": "Output only. The type of the membership.",
          "type": "string",
          "enum": [
            "TYPE_UNSPECIFIED",
            "USER",
            "SERVICE_ACCOUNT",
            "GROUP",
            "OTHER"
          ],
          "enumDescriptions": [
            "Default. Should not be used.",
            "Represents user type.",
            "Represents service account type.",
            "Represents group type.",
            "Represents other type."
          ]
        },
        "updateTime": {
          "description": "Output only. The time when the `Membership` was last updated.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "WipeDeviceResponse": {
      "properties": {
        "device": {
          "description": "Resultant Device object for the action. Note that asset tags will not be returned in the device object.",
          "$ref": "Device"
        }
      },
      "description": "Response message for wiping all data on the device.",
      "id": "WipeDeviceResponse",
      "type": "object"
    },
    "DeviceUser": {
      "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": {
        "createTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "When the user first signed in to the device"
        },
        "name": {
          "readOnly": true,
          "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the DeviceUser in format: `devices/{device_id}/deviceUsers/{user_id}`, where user_id is the ID of the user associated with the user session.",
          "type": "string"
        },
        "userAgent": {
          "type": "string",
          "description": "Output only. User agent on the device for this specific user",
          "readOnly": true
        },
        "compromisedState": {
          "enumDescriptions": [
            "Compromised state of Device User account is unknown or unspecified.",
            "Device User Account is compromised.",
            "Device User Account is not compromised."
          ],
          "description": "Compromised State of the DeviceUser object",
          "enum": [
            "COMPROMISED_STATE_UNSPECIFIED",
            "COMPROMISED",
            "NOT_COMPROMISED"
          ],
          "type": "string"
        },
        "languageCode": {
          "type": "string",
          "description": "Output only. Default locale used on device, in IETF BCP-47 format.",
          "readOnly": true
        },
        "userEmail": {
          "type": "string",
          "description": "Email address of the user registered on the device."
        },
        "lastSyncTime": {
          "readOnly": true,
          "description": "Output only. Last time when user synced with policies.",
          "format": "google-datetime",
          "type": "string"
        },
        "passwordState": {
          "description": "Password state of the DeviceUser object",
          "type": "string",
          "enum": [
            "PASSWORD_STATE_UNSPECIFIED",
            "PASSWORD_SET",
            "PASSWORD_NOT_SET"
          ],
          "enumDescriptions": [
            "Password state not set.",
            "Password set in object.",
            "Password not set in object."
          ]
        },
        "managementState": {
          "readOnly": true,
          "description": "Output only. Management state of the user on the device.",
          "enum": [
            "MANAGEMENT_STATE_UNSPECIFIED",
            "WIPING",
            "WIPED",
            "APPROVED",
            "BLOCKED",
            "PENDING_APPROVAL",
            "UNENROLLED"
          ],
          "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."
          ]
        },
        "firstSyncTime": {
          "readOnly": true,
          "format": "google-datetime",
          "description": "Output only. Most recent time when user registered with this service.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "DeviceUser"
    },
    "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse": {
      "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse",
      "description": "Response message for cancelling an unfinished device wipe.",
      "properties": {
        "device": {
          "$ref": "GoogleAppsCloudidentityDevicesV1Device",
          "description": "Resultant Device object for the action. Note that asset tags will not be returned in the device object."
        }
      },
      "type": "object"
    },
    "BlockDeviceUserResponse": {
      "properties": {
        "deviceUser": {
          "description": "Resultant DeviceUser object for the action.",
          "$ref": "DeviceUser"
        }
      },
      "id": "BlockDeviceUserResponse",
      "type": "object",
      "description": "Response message for blocking the device from accessing user data."
    },
    "LookupSelfDeviceUsersResponse": {
      "type": "object",
      "id": "LookupSelfDeviceUsersResponse",
      "description": "Response containing resource names of the DeviceUsers associated with the caller's credentials.",
      "properties": {
        "nextPageToken": {
          "description": "Token to retrieve the next page of results. Empty if there are no more results.",
          "type": "string"
        },
        "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",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "customer": {
          "type": "string",
          "description": "The obfuscated customer Id that may be passed back to other Devices API methods such as List, Get, etc."
        }
      }
    },
    "ApproveDeviceUserRequest": {
      "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 approving the device to access user data.",
      "id": "ApproveDeviceUserRequest",
      "type": "object"
    },
    "GoogleAppsCloudidentityDevicesV1Device": {
      "properties": {
        "lastSyncTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "Most recent time when device synced with this service."
        },
        "meid": {
          "readOnly": true,
          "description": "Output only. MEID number of device if CDMA device; empty otherwise.",
          "type": "string"
        },
        "enabledDeveloperOptions": {
          "description": "Output only. Whether developer options is enabled on device.",
          "type": "boolean",
          "readOnly": true
        },
        "otherAccounts": {
          "readOnly": true,
          "items": {
            "type": "string"
          },
          "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"
        },
        "manufacturer": {
          "readOnly": true,
          "description": "Output only. Device manufacturer. Example: Motorola.",
          "type": "string"
        },
        "compromisedState": {
          "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)."
          ],
          "readOnly": true,
          "enum": [
            "COMPROMISED_STATE_UNSPECIFIED",
            "COMPROMISED",
            "UNCOMPROMISED"
          ],
          "type": "string",
          "description": "Output only. Represents whether the Device is compromised."
        },
        "bootloaderVersion": {
          "description": "Output only. Device bootloader version. Example: 0.6.7.",
          "readOnly": true,
          "type": "string"
        },
        "releaseVersion": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. OS release version. Example: 6.0."
        },
        "deviceType": {
          "description": "Output only. Type of device.",
          "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."
          ],
          "readOnly": true,
          "enum": [
            "DEVICE_TYPE_UNSPECIFIED",
            "ANDROID",
            "IOS",
            "GOOGLE_SYNC",
            "WINDOWS",
            "MAC_OS",
            "LINUX",
            "CHROME_OS"
          ],
          "type": "string"
        },
        "osVersion": {
          "type": "string",
          "description": "Output only. OS version of the device. Example: Android 8.1.0.",
          "readOnly": true
        },
        "enabledUsbDebugging": {
          "readOnly": true,
          "description": "Output only. Whether USB debugging is enabled on device.",
          "type": "boolean"
        },
        "encryptionState": {
          "description": "Output only. Device encryption state.",
          "type": "string",
          "readOnly": true,
          "enum": [
            "ENCRYPTION_STATE_UNSPECIFIED",
            "UNSUPPORTED_BY_DEVICE",
            "ENCRYPTED",
            "NOT_ENCRYPTED"
          ],
          "enumDescriptions": [
            "Encryption Status is not set.",
            "Device doesn't support encryption.",
            "Device is encrypted.",
            "Device is not encrypted."
          ]
        },
        "createTime": {
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. When the Company-Owned device was imported. This field is empty for BYOD devices.",
          "type": "string"
        },
        "name": {
          "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}`, where device_id is the unique id assigned to the Device.",
          "readOnly": true,
          "type": "string"
        },
        "imei": {
          "description": "Output only. IMEI number of device if GSM device; empty otherwise.",
          "type": "string",
          "readOnly": true
        },
        "securityPatchTime": {
          "format": "google-datetime",
          "description": "Output only. OS security patch update time on device.",
          "readOnly": true,
          "type": "string"
        },
        "wifiMacAddresses": {
          "items": {
            "type": "string"
          },
          "description": "WiFi MAC addresses of device.",
          "type": "array"
        },
        "serialNumber": {
          "type": "string",
          "description": "Serial Number of device. Example: HT82V1A01076."
        },
        "brand": {
          "type": "string",
          "description": "Output only. Device brand. Example: Samsung.",
          "readOnly": true
        },
        "assetTag": {
          "description": "Asset tag of the device.",
          "type": "string"
        },
        "androidSpecificAttributes": {
          "$ref": "GoogleAppsCloudidentityDevicesV1AndroidAttributes",
          "readOnly": true,
          "description": "Output only. Attributes specific to Android devices."
        },
        "kernelVersion": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Kernel version of the device."
        },
        "networkOperator": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Mobile or network operator of device, if available."
        },
        "basebandVersion": {
          "description": "Output only. Baseband version of the device.",
          "readOnly": true,
          "type": "string"
        },
        "ownerType": {
          "enum": [
            "DEVICE_OWNERSHIP_UNSPECIFIED",
            "COMPANY",
            "BYOD"
          ],
          "enumDescriptions": [
            "Default value. The value is unused.",
            "Company owns the device.",
            "Bring Your Own Device (i.e. individual owns the device)"
          ],
          "readOnly": true,
          "type": "string",
          "description": "Output only. Whether the device is owned by the company or an individual"
        },
        "buildNumber": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Build number of the device."
        },
        "model": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Model name of device. Example: Pixel 3."
        },
        "managementState": {
          "readOnly": true,
          "enumDescriptions": [
            "Default value. This value is unused.",
            "Device is approved.",
            "Device is blocked.",
            "Device is pending approval.",
            "The device is not provisioned. Device will start from this state until some action is taken (i.e. a user starts using the device).",
            "Data and settings on the device are being removed.",
            "All data and settings on the device are removed."
          ],
          "description": "Output only. Management state of the device",
          "type": "string",
          "enum": [
            "MANAGEMENT_STATE_UNSPECIFIED",
            "APPROVED",
            "BLOCKED",
            "PENDING",
            "UNPROVISIONED",
            "WIPING",
            "WIPED"
          ]
        }
      },
      "type": "object",
      "id": "GoogleAppsCloudidentityDevicesV1Device",
      "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."
    },
    "ModifyMembershipRolesResponse": {
      "type": "object",
      "description": "The response message for MembershipsService.ModifyMembershipRoles.",
      "properties": {
        "membership": {
          "$ref": "Membership",
          "description": "The `Membership` resource after modifying its `MembershipRole`s."
        }
      },
      "id": "ModifyMembershipRolesResponse"
    },
    "CancelWipeDeviceResponse": {
      "description": "Response message for cancelling an unfinished device wipe.",
      "id": "CancelWipeDeviceResponse",
      "type": "object",
      "properties": {
        "device": {
          "description": "Resultant Device object for the action. Note that asset tags will not be returned in the device object.",
          "$ref": "Device"
        }
      }
    },
    "DynamicGroupQuery": {
      "type": "object",
      "properties": {
        "query": {
          "type": "string",
          "description": "Query that determines the memberships of the dynamic group. Examples: All users with at least one `organizations.department` of engineering. `user.organizations.exists(org, org.department=='engineering')` All users with at least one location that has `area` of `foo` and `building_id` of `bar`. `user.locations.exists(loc, loc.area=='foo' && loc.building_id=='bar')`"
        },
        "resourceType": {
          "enum": [
            "RESOURCE_TYPE_UNSPECIFIED",
            "USER"
          ],
          "enumDescriptions": [
            "Default value (not valid)",
            "For queries on User"
          ],
          "type": "string"
        }
      },
      "description": "Defines a query on a resource.",
      "id": "DynamicGroupQuery"
    },
    "GetMembershipGraphResponse": {
      "description": "The response message for MembershipsService.GetMembershipGraph.",
      "id": "GetMembershipGraphResponse",
      "type": "object",
      "properties": {
        "adjacencyList": {
          "items": {
            "$ref": "MembershipAdjacencyList"
          },
          "description": "The membership graph's path information represented as an adjacency list.",
          "type": "array"
        },
        "groups": {
          "type": "array",
          "description": "The resources representing each group in the adjacency list. Each group in this list can be correlated to a 'group' of the MembershipAdjacencyList using the 'name' of the Group resource.",
          "items": {
            "$ref": "Group"
          }
        }
      }
    },
    "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse": {
      "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse",
      "properties": {
        "deviceUser": {
          "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser",
          "description": "Resultant DeviceUser object for the action."
        }
      },
      "type": "object",
      "description": "Response message for cancelling an unfinished user account wipe."
    },
    "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",
      "id": "GoogleAppsCloudidentityDevicesV1DeviceUser",
      "properties": {
        "name": {
          "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the DeviceUser in format: `devices/{device_id}/deviceUsers/{user_id}`, where user_id is the ID of the user associated with the user session.",
          "type": "string",
          "readOnly": true
        },
        "userEmail": {
          "description": "Email address of the user registered on the device.",
          "type": "string"
        },
        "passwordState": {
          "type": "string",
          "enum": [
            "PASSWORD_STATE_UNSPECIFIED",
            "PASSWORD_SET",
            "PASSWORD_NOT_SET"
          ],
          "enumDescriptions": [
            "Password state not set.",
            "Password set in object.",
            "Password not set in object."
          ],
          "description": "Password state of the DeviceUser object"
        },
        "managementState": {
          "description": "Output only. Management state of the user on the device.",
          "enumDescriptions": [
            "Default value. This value is unused.",
            "This user's data and profile is being removed from the device.",
            "This user's data and profile is removed from the device.",
            "User is approved to access data on the device.",
            "User is blocked from accessing data on the device.",
            "User is awaiting approval.",
            "User is unenrolled from Advanced Windows Management, but the Windows account is still intact."
          ],
          "type": "string",
          "enum": [
            "MANAGEMENT_STATE_UNSPECIFIED",
            "WIPING",
            "WIPED",
            "APPROVED",
            "BLOCKED",
            "PENDING_APPROVAL",
            "UNENROLLED"
          ],
          "readOnly": true
        },
        "userAgent": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. User agent on the device for this specific user"
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "When the user first signed in to the device"
        },
        "languageCode": {
          "description": "Output only. Default locale used on device, in IETF BCP-47 format.",
          "readOnly": true,
          "type": "string"
        },
        "compromisedState": {
          "enum": [
            "COMPROMISED_STATE_UNSPECIFIED",
            "COMPROMISED",
            "NOT_COMPROMISED"
          ],
          "enumDescriptions": [
            "Compromised state of Device User account is unknown or unspecified.",
            "Device User Account is compromised.",
            "Device User Account is not compromised."
          ],
          "description": "Compromised State of the DeviceUser object",
          "type": "string"
        },
        "lastSyncTime": {
          "description": "Output only. Last time when user synced with policies.",
          "type": "string",
          "readOnly": true,
          "format": "google-datetime"
        },
        "firstSyncTime": {
          "description": "Output only. Most recent time when user registered with this service.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        }
      },
      "type": "object"
    },
    "CreateDeviceRequest": {
      "properties": {
        "customer": {
          "type": "string",
          "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs."
        },
        "device": {
          "$ref": "Device",
          "description": "Required. The device to be created. The name field within this device is ignored in the create method. A new name is created by the method, and returned within the response. Only the fields `device_type`, `serial_number` and `asset_tag` (if present) are used to create the device.`device_type` and `serial_number` are required."
        }
      },
      "description": "Request message for creating a Company Owned device.",
      "id": "CreateDeviceRequest",
      "type": "object"
    },
    "WipeDeviceUserRequest": {
      "type": "object",
      "properties": {
        "customer": {
          "type": "string",
          "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs."
        }
      },
      "id": "WipeDeviceUserRequest",
      "description": "Request message for starting an account wipe on device."
    },
    "UpdateMembershipRolesParams": {
      "id": "UpdateMembershipRolesParams",
      "properties": {
        "membershipRole": {
          "$ref": "MembershipRole",
          "description": "The `MembershipRole`s to be updated. Only `MEMBER` `MembershipRoles` can currently be updated. May only contain a `MembershipRole` with `name` `MEMBER`."
        },
        "fieldMask": {
          "description": "The fully-qualified names of fields to update. May only contain the field `expiry_detail`.",
          "format": "google-fieldmask",
          "type": "string"
        }
      },
      "description": "The details of an update to a `MembershipRole`.",
      "type": "object"
    },
    "WipeDeviceUserResponse": {
      "properties": {
        "deviceUser": {
          "$ref": "DeviceUser",
          "description": "Resultant DeviceUser object for the action."
        }
      },
      "description": "Response message for wiping the user's account from the device.",
      "id": "WipeDeviceUserResponse",
      "type": "object"
    },
    "Device": {
      "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.",
      "id": "Device",
      "properties": {
        "deviceType": {
          "description": "Output only. Type of device.",
          "readOnly": true,
          "enumDescriptions": [
            "Unknown device type",
            "Device is an Android device",
            "Device is an iOS device",
            "Device is a Google Sync device.",
            "Device is a Windows device.",
            "Device is a MacOS device.",
            "Device is a Linux device.",
            "Device is a ChromeOS device."
          ],
          "enum": [
            "DEVICE_TYPE_UNSPECIFIED",
            "ANDROID",
            "IOS",
            "GOOGLE_SYNC",
            "WINDOWS",
            "MAC_OS",
            "LINUX",
            "CHROME_OS"
          ],
          "type": "string"
        },
        "enabledDeveloperOptions": {
          "readOnly": true,
          "description": "Output only. Whether developer options is enabled on device.",
          "type": "boolean"
        },
        "networkOperator": {
          "description": "Output only. Mobile or network operator of device, if available.",
          "readOnly": true,
          "type": "string"
        },
        "assetTag": {
          "description": "Asset tag of the device.",
          "type": "string"
        },
        "model": {
          "readOnly": true,
          "description": "Output only. Model name of device. Example: Pixel 3.",
          "type": "string"
        },
        "buildNumber": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Build number of the device."
        },
        "compromisedState": {
          "description": "Output only. Represents whether the Device is compromised.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Default value.",
            "The device is compromised (currently, this means Android device is rooted).",
            "The device is safe (currently, this means Android device is unrooted)."
          ],
          "enum": [
            "COMPROMISED_STATE_UNSPECIFIED",
            "COMPROMISED",
            "UNCOMPROMISED"
          ]
        },
        "releaseVersion": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. OS release version. Example: 6.0."
        },
        "osVersion": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. OS version of the device. Example: Android 8.1.0."
        },
        "basebandVersion": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Baseband version of the device."
        },
        "lastSyncTime": {
          "type": "string",
          "description": "Most recent time when device synced with this service.",
          "format": "google-datetime"
        },
        "ownerType": {
          "description": "Output only. Whether the device is owned by the company or an individual",
          "enum": [
            "DEVICE_OWNERSHIP_UNSPECIFIED",
            "COMPANY",
            "BYOD"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default value. The value is unused.",
            "Company owns the device.",
            "Bring Your Own Device (i.e. individual owns the device)"
          ],
          "readOnly": true
        },
        "imei": {
          "readOnly": true,
          "description": "Output only. IMEI number of device if GSM device; empty otherwise.",
          "type": "string"
        },
        "enabledUsbDebugging": {
          "description": "Output only. Whether USB debugging is enabled on device.",
          "readOnly": true,
          "type": "boolean"
        },
        "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."
        },
        "kernelVersion": {
          "description": "Output only. Kernel version of the device.",
          "readOnly": true,
          "type": "string"
        },
        "wifiMacAddresses": {
          "items": {
            "type": "string"
          },
          "description": "WiFi MAC addresses of device.",
          "type": "array"
        },
        "manufacturer": {
          "readOnly": true,
          "description": "Output only. Device manufacturer. Example: Motorola.",
          "type": "string"
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. When the Company-Owned device was imported. This field is empty for BYOD devices."
        },
        "bootloaderVersion": {
          "type": "string",
          "description": "Output only. Device bootloader version. Example: 0.6.7.",
          "readOnly": true
        },
        "encryptionState": {
          "enumDescriptions": [
            "Encryption Status is not set.",
            "Device doesn't support encryption.",
            "Device is encrypted.",
            "Device is not encrypted."
          ],
          "readOnly": true,
          "description": "Output only. Device encryption state.",
          "type": "string",
          "enum": [
            "ENCRYPTION_STATE_UNSPECIFIED",
            "UNSUPPORTED_BY_DEVICE",
            "ENCRYPTED",
            "NOT_ENCRYPTED"
          ]
        },
        "managementState": {
          "enumDescriptions": [
            "Default value. This value is unused.",
            "Device is approved.",
            "Device is blocked.",
            "Device is pending approval.",
            "The device is not provisioned. Device will start from this state until some action is taken (i.e. a user starts using the device).",
            "Data and settings on the device are being removed.",
            "All data and settings on the device are removed."
          ],
          "description": "Output only. Management state of the device",
          "enum": [
            "MANAGEMENT_STATE_UNSPECIFIED",
            "APPROVED",
            "BLOCKED",
            "PENDING",
            "UNPROVISIONED",
            "WIPING",
            "WIPED"
          ],
          "type": "string",
          "readOnly": true
        },
        "androidSpecificAttributes": {
          "description": "Output only. Attributes specific to Android devices.",
          "readOnly": true,
          "$ref": "AndroidAttributes"
        },
        "brand": {
          "description": "Output only. Device brand. Example: Samsung.",
          "readOnly": true,
          "type": "string"
        },
        "otherAccounts": {
          "description": "Output only. Domain name for Google accounts on device. Type for other accounts on device. On Android, will only be populated if |ownership_privilege| is |PROFILE_OWNER| or |DEVICE_OWNER|. Does not include the account signed in to the device policy app if that account's domain has only one account. Examples: \"com.example\", \"xyz.com\".",
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "serialNumber": {
          "type": "string",
          "description": "Serial Number of device. Example: HT82V1A01076."
        },
        "securityPatchTime": {
          "format": "google-datetime",
          "description": "Output only. OS security patch update time on device.",
          "readOnly": true,
          "type": "string"
        },
        "meid": {
          "readOnly": true,
          "description": "Output only. MEID number of device if CDMA device; empty otherwise.",
          "type": "string"
        }
      }
    },
    "CancelWipeDeviceRequest": {
      "description": "Request message for cancelling an unfinished device wipe.",
      "id": "CancelWipeDeviceRequest",
      "type": "object",
      "properties": {
        "customer": {
          "type": "string",
          "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs."
        }
      }
    },
    "ListGroupsResponse": {
      "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": {
          "description": "The `Group`s under the specified `parent`.",
          "type": "array",
          "items": {
            "$ref": "Group"
          }
        }
      },
      "id": "ListGroupsResponse",
      "type": "object",
      "description": "The response message for GroupsService.ListGroups."
    },
    "MembershipRole": {
      "description": "A membership role within the Cloud Identity Groups API. A `MembershipRole` defines the privileges granted to a `Membership`.",
      "id": "MembershipRole",
      "type": "object",
      "properties": {
        "expiryDetail": {
          "$ref": "ExpiryDetail",
          "description": "The expiry details of the `MembershipRole`. Expiry details are only supported for `MEMBER` `MembershipRoles`. May be set if `name` is `MEMBER`. Must not be set if `name` is any other value."
        },
        "name": {
          "type": "string",
          "description": "The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`."
        }
      }
    },
    "ModifyMembershipRolesRequest": {
      "properties": {
        "updateRolesParams": {
          "description": "The `MembershipRole`s to be updated. Updating roles in the same request as adding or removing roles is not supported. Must not be set if either `add_roles` or `remove_roles` is set.",
          "items": {
            "$ref": "UpdateMembershipRolesParams"
          },
          "type": "array"
        },
        "addRoles": {
          "description": "The `MembershipRole`s to be added. Adding or removing roles in the same request as updating roles is not supported. Must not be set if `update_roles_params` is set.",
          "type": "array",
          "items": {
            "$ref": "MembershipRole"
          }
        },
        "removeRoles": {
          "type": "array",
          "description": "The `name`s of the `MembershipRole`s to be removed. Adding or removing roles in the same request as updating roles is not supported. It is not possible to remove the `MEMBER` `MembershipRole`. If you wish to delete a `Membership`, call MembershipsService.DeleteMembership instead. Must not contain `MEMBER`. Must not be set if `update_roles_params` is set.",
          "items": {
            "type": "string"
          }
        }
      },
      "type": "object",
      "description": "The request message for MembershipsService.ModifyMembershipRoles.",
      "id": "ModifyMembershipRolesRequest"
    },
    "GoogleAppsCloudidentityDevicesV1AndroidAttributes": {
      "type": "object",
      "description": "Resource representing the Android specific attributes of a Device.",
      "properties": {
        "ownershipPrivilege": {
          "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.",
          "type": "string"
        },
        "ownerProfileAccount": {
          "type": "boolean",
          "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."
        },
        "supportsWorkProfile": {
          "description": "Whether device supports Android work profiles. If false, this service will not block access to corp data even if an administrator turns on the \"Enforce Work Profile\" policy.",
          "type": "boolean"
        },
        "enabledUnknownSources": {
          "description": "Whether applications from unknown sources can be installed on device.",
          "type": "boolean"
        }
      },
      "id": "GoogleAppsCloudidentityDevicesV1AndroidAttributes"
    }
  },
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "rootUrl": "https://cloudidentity.googleapis.com/",
  "mtlsRootUrl": "https://cloudidentity.mtls.googleapis.com/",
  "discoveryVersion": "v1",
  "batchPath": "batch",
  "servicePath": "",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-identity.devices.lookup": {
          "description": "See your device details"
        },
        "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.groups.readonly": {
          "description": "See any Cloud Identity Groups that you can access, including group members and their emails"
        },
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        }
      }
    }
  },
  "parameters": {
    "key": {
      "location": "query",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "type": "string"
    },
    "fields": {
      "type": "string",
      "location": "query",
      "description": "Selector specifying which fields to include in a partial response."
    },
    "oauth_token": {
      "location": "query",
      "description": "OAuth 2.0 token for the current user.",
      "type": "string"
    },
    "callback": {
      "type": "string",
      "description": "JSONP",
      "location": "query"
    },
    "alt": {
      "description": "Data format for response.",
      "location": "query",
      "type": "string",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "default": "json",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ]
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "type": "boolean",
      "location": "query"
    },
    "quotaUser": {
      "location": "query",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "type": "string"
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "$.xgafv": {
      "enum": [
        "1",
        "2"
      ],
      "location": "query",
      "description": "V1 error format.",
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ]
    },
    "access_token": {
      "description": "OAuth access token.",
      "type": "string",
      "location": "query"
    }
  },
  "resources": {
    "groups": {
      "methods": {
        "patch": {
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "id": "cloudidentity.groups.patch",
          "httpMethod": "PATCH",
          "parameterOrder": [
            "name"
          ],
          "description": "Updates a `Group`.",
          "flatPath": "v1beta1/groups/{groupsId}",
          "request": {
            "$ref": "Group"
          },
          "response": {
            "$ref": "Operation"
          },
          "path": "v1beta1/{+name}",
          "parameters": {
            "updateMask": {
              "location": "query",
              "format": "google-fieldmask",
              "description": "Required. The fully-qualified names of fields to update. May only contain the following fields: `display_name`, `description`.",
              "type": "string"
            },
            "name": {
              "location": "path",
              "required": true,
              "type": "string",
              "pattern": "^groups/[^/]+$",
              "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}`."
            }
          }
        },
        "list": {
          "flatPath": "v1beta1/groups",
          "parameters": {
            "parent": {
              "location": "query",
              "type": "string",
              "description": "Required. The parent resource under which to list all `Group`s. Must be of the form `identitysources/{identity_source_id}` for external- identity-mapped groups or `customers/{customer_id}` for Google Groups."
            },
            "view": {
              "location": "query",
              "type": "string",
              "description": "The level of detail to be returned. If unspecified, defaults to `View.BASIC`.",
              "enum": [
                "VIEW_UNSPECIFIED",
                "BASIC",
                "FULL"
              ],
              "enumDescriptions": [
                "Default. Should not be used.",
                "Only basic resource information is returned.",
                "All resource information is returned."
              ]
            },
            "pageToken": {
              "description": "The `next_page_token` value returned from a previous list request, if any.",
              "location": "query",
              "type": "string"
            },
            "pageSize": {
              "location": "query",
              "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 `View.BASIC` and to 50 for `View.FULL`. Must not be greater than 1000 for `View.BASIC` or 500 for `View.FULL`."
            }
          },
          "response": {
            "$ref": "ListGroupsResponse"
          },
          "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"
          ],
          "httpMethod": "GET",
          "id": "cloudidentity.groups.list",
          "description": "Lists the `Group`s under a customer or namespace.",
          "path": "v1beta1/groups"
        },
        "get": {
          "parameters": {
            "name": {
              "pattern": "^groups/[^/]+$",
              "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"
            }
          },
          "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"
          ],
          "parameterOrder": [
            "name"
          ],
          "description": "Retrieves a `Group`.",
          "response": {
            "$ref": "Group"
          },
          "flatPath": "v1beta1/groups/{groupsId}",
          "path": "v1beta1/{+name}",
          "id": "cloudidentity.groups.get"
        },
        "create": {
          "parameters": {
            "initialGroupConfig": {
              "enum": [
                "INITIAL_GROUP_CONFIG_UNSPECIFIED",
                "WITH_INITIAL_OWNER",
                "EMPTY"
              ],
              "description": "Required. The initial configuration option for the `Group`.",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Default. Should not be used.",
                "The end user making the request will be added as the initial owner of the `Group`.",
                "An empty group is created without any initial owners. This can only be used by admins of the domain."
              ]
            }
          },
          "flatPath": "v1beta1/groups",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "path": "v1beta1/groups",
          "description": "Creates a `Group`.",
          "id": "cloudidentity.groups.create",
          "httpMethod": "POST",
          "parameterOrder": [],
          "response": {
            "$ref": "Operation"
          },
          "request": {
            "$ref": "Group"
          }
        },
        "delete": {
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "flatPath": "v1beta1/groups/{groupsId}",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group` to retrieve. Must be of the form `groups/{group_id}`.",
              "type": "string",
              "pattern": "^groups/[^/]+$",
              "location": "path",
              "required": true
            }
          },
          "id": "cloudidentity.groups.delete",
          "description": "Deletes a `Group`.",
          "path": "v1beta1/{+name}",
          "httpMethod": "DELETE",
          "response": {
            "$ref": "Operation"
          }
        },
        "search": {
          "id": "cloudidentity.groups.search",
          "parameters": {
            "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",
              "location": "query"
            },
            "pageToken": {
              "type": "string",
              "location": "query",
              "description": "The `next_page_token` value returned from a previous search request, if any."
            },
            "view": {
              "location": "query",
              "enumDescriptions": [
                "Default. 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`.",
              "type": "string",
              "enum": [
                "BASIC",
                "FULL"
              ]
            },
            "pageSize": {
              "description": "The maximum number of results to return. Note that the number of results returned may be less than this value even if there are more available results. To fetch all results, clients must continue calling this method repeatedly until the response no longer contains a `next_page_token`. If unspecified, defaults to 200 for `GroupView.BASIC` and to 50 for `GroupView.FULL`. Must not be greater than 1000 for `GroupView.BASIC` or 500 for `GroupView.FULL`.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-identity.groups",
            "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "response": {
            "$ref": "SearchGroupsResponse"
          },
          "httpMethod": "GET",
          "path": "v1beta1/groups:search",
          "description": "Searches for `Group`s matching a specified query.",
          "parameterOrder": [],
          "flatPath": "v1beta1/groups:search"
        },
        "lookup": {
          "parameterOrder": [],
          "description": "Looks up the [resource name](https://cloud.google.com/apis/design/resource_names) of a `Group` 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": {
            "groupKey.id": {
              "location": "query",
              "type": "string",
              "description": "The ID of the entity. For Google-managed entities, the `id` must be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source's requirements. Must be unique within a `namespace`."
            },
            "groupKey.namespace": {
              "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}.",
              "location": "query",
              "type": "string"
            }
          },
          "id": "cloudidentity.groups.lookup",
          "httpMethod": "GET",
          "path": "v1beta1/groups:lookup",
          "flatPath": "v1beta1/groups:lookup",
          "response": {
            "$ref": "LookupGroupNameResponse"
          }
        }
      },
      "resources": {
        "memberships": {
          "methods": {
            "list": {
              "httpMethod": "GET",
              "id": "cloudidentity.groups.memberships.list",
              "flatPath": "v1beta1/groups/{groupsId}/memberships",
              "parameterOrder": [
                "parent"
              ],
              "description": "Lists the `Membership`s within a `Group`.",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-identity.groups.readonly",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "response": {
                "$ref": "ListMembershipsResponse"
              },
              "parameters": {
                "pageToken": {
                  "location": "query",
                  "type": "string",
                  "description": "The `next_page_token` value returned from a previous search request, if any."
                },
                "parent": {
                  "pattern": "^groups/[^/]+$",
                  "required": true,
                  "description": "Required. The parent `Group` resource under which to lookup the `Membership` name. Must be of the form `groups/{group_id}`.",
                  "type": "string",
                  "location": "path"
                },
                "view": {
                  "description": "The level of detail to be returned. If unspecified, defaults to `MembershipView.BASIC`.",
                  "enumDescriptions": [
                    "Default. Only basic resource information is returned.",
                    "All resource information is returned."
                  ],
                  "location": "query",
                  "type": "string",
                  "enum": [
                    "BASIC",
                    "FULL"
                  ]
                },
                "pageSize": {
                  "location": "query",
                  "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`.",
                  "format": "int32"
                }
              },
              "path": "v1beta1/{+parent}/memberships"
            },
            "get": {
              "response": {
                "$ref": "Membership"
              },
              "path": "v1beta1/{+name}",
              "flatPath": "v1beta1/groups/{groupsId}/memberships/{membershipsId}",
              "httpMethod": "GET",
              "parameterOrder": [
                "name"
              ],
              "description": "Retrieves a `Membership`.",
              "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": {
                  "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}`.",
                  "location": "path",
                  "required": true,
                  "type": "string",
                  "pattern": "^groups/[^/]+/memberships/[^/]+$"
                }
              },
              "id": "cloudidentity.groups.memberships.get"
            },
            "lookup": {
              "response": {
                "$ref": "LookupMembershipNameResponse"
              },
              "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.lookup",
              "parameterOrder": [
                "parent"
              ],
              "httpMethod": "GET",
              "flatPath": "v1beta1/groups/{groupsId}/memberships:lookup",
              "description": "Looks up the [resource name](https://cloud.google.com/apis/design/resource_names) of a `Membership` by its `EntityKey`.",
              "parameters": {
                "memberKey.id": {
                  "type": "string",
                  "location": "query",
                  "description": "The ID of the entity. For Google-managed entities, the `id` must be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source's requirements. Must be unique within a `namespace`."
                },
                "memberKey.namespace": {
                  "type": "string",
                  "location": "query",
                  "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}."
                },
                "parent": {
                  "type": "string",
                  "description": "Required. The parent `Group` resource under which to lookup the `Membership` name. Must be of the form `groups/{group_id}`.",
                  "pattern": "^groups/[^/]+$",
                  "location": "path",
                  "required": true
                }
              },
              "path": "v1beta1/{+parent}/memberships:lookup"
            },
            "create": {
              "parameters": {
                "parent": {
                  "type": "string",
                  "pattern": "^groups/[^/]+$",
                  "required": true,
                  "description": "Required. The parent `Group` resource under which to create the `Membership`. Must be of the form `groups/{group_id}`.",
                  "location": "path"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "response": {
                "$ref": "Operation"
              },
              "parameterOrder": [
                "parent"
              ],
              "httpMethod": "POST",
              "description": "Creates a `Membership`.",
              "flatPath": "v1beta1/groups/{groupsId}/memberships",
              "request": {
                "$ref": "Membership"
              },
              "path": "v1beta1/{+parent}/memberships",
              "id": "cloudidentity.groups.memberships.create"
            },
            "modifyMembershipRoles": {
              "httpMethod": "POST",
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "ModifyMembershipRolesResponse"
              },
              "request": {
                "$ref": "ModifyMembershipRolesRequest"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "cloudidentity.groups.memberships.modifyMembershipRoles",
              "parameters": {
                "name": {
                  "pattern": "^groups/[^/]+/memberships/[^/]+$",
                  "type": "string",
                  "required": true,
                  "location": "path",
                  "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}`."
                }
              },
              "path": "v1beta1/{+name}:modifyMembershipRoles",
              "flatPath": "v1beta1/groups/{groupsId}/memberships/{membershipsId}:modifyMembershipRoles",
              "description": "Modifies the `MembershipRole`s of a `Membership`."
            },
            "delete": {
              "path": "v1beta1/{+name}",
              "parameters": {
                "name": {
                  "location": "path",
                  "required": true,
                  "pattern": "^groups/[^/]+/memberships/[^/]+$",
                  "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}`.",
                  "type": "string"
                }
              },
              "response": {
                "$ref": "Operation"
              },
              "id": "cloudidentity.groups.memberships.delete",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.groups",
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "httpMethod": "DELETE",
              "flatPath": "v1beta1/groups/{groupsId}/memberships/{membershipsId}",
              "parameterOrder": [
                "name"
              ],
              "description": "Deletes a `Membership`."
            }
          }
        }
      }
    },
    "devices": {
      "methods": {
        "create": {
          "request": {
            "$ref": "CreateDeviceRequest"
          },
          "description": "Creates a device. Only company-owned device may be created.",
          "id": "cloudidentity.devices.create",
          "response": {
            "$ref": "Operation"
          },
          "parameters": {},
          "path": "v1beta1/devices",
          "parameterOrder": [],
          "flatPath": "v1beta1/devices",
          "httpMethod": "POST"
        },
        "list": {
          "httpMethod": "GET",
          "description": "Lists/Searches devices.",
          "response": {
            "$ref": "ListDevicesResponse"
          },
          "flatPath": "v1beta1/devices",
          "path": "v1beta1/devices",
          "id": "cloudidentity.devices.list",
          "parameterOrder": [],
          "parameters": {
            "view": {
              "location": "query",
              "enum": [
                "VIEW_UNSPECIFIED",
                "COMPANY_INVENTORY",
                "USER_ASSIGNED_DEVICES"
              ],
              "description": "Optional. The view to use for the List request.",
              "type": "string",
              "enumDescriptions": [
                "Default value. The value is unused.",
                "This view contains all devices imported by the company admin. Each device in the response contains all information specified by the company admin when importing the device (i.e. asset tags).",
                "This view contains all devices with at least one user registered on the device. Each device in the response contains all device information, except for asset tags."
              ]
            },
            "pageSize": {
              "location": "query",
              "format": "int32",
              "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."
            },
            "customer": {
              "location": "query",
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer.",
              "type": "string"
            },
            "pageToken": {
              "type": "string",
              "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.",
              "location": "query"
            },
            "orderBy": {
              "description": "Optional. Order specification for devices in the response. Only one of the following field names may be used to specify the order: `create_time`, `last_sync_time`, `model`, `os_version`, `device_type` and `serial_number`. `desc` may be specified optionally to specify results to be sorted in descending order. Default order is ascending.",
              "location": "query",
              "type": "string"
            },
            "filter": {
              "type": "string",
              "description": "Optional. Additional restrictions when fetching list of devices. [HC article link](https://support.google.com/a/answer/7549103)",
              "location": "query"
            }
          }
        },
        "delete": {
          "response": {
            "$ref": "Operation"
          },
          "httpMethod": "DELETE",
          "description": "Deletes the specified device.",
          "flatPath": "v1beta1/devices/{devicesId}",
          "parameters": {
            "name": {
              "location": "path",
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}`, where device_id is the unique ID assigned to the Device.",
              "pattern": "^devices/[^/]+$",
              "type": "string",
              "required": true
            },
            "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"
            }
          },
          "parameterOrder": [
            "name"
          ],
          "id": "cloudidentity.devices.delete",
          "path": "v1beta1/{+name}"
        },
        "get": {
          "parameters": {
            "customer": {
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Customer in format: `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.",
              "location": "query",
              "type": "string"
            },
            "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/[^/]+$"
            }
          },
          "parameterOrder": [
            "name"
          ],
          "httpMethod": "GET",
          "id": "cloudidentity.devices.get",
          "description": "Retrieves the specified device.",
          "flatPath": "v1beta1/devices/{devicesId}",
          "response": {
            "$ref": "Device"
          },
          "path": "v1beta1/{+name}"
        },
        "wipe": {
          "id": "cloudidentity.devices.wipe",
          "parameters": {
            "name": {
              "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.",
              "required": true,
              "type": "string",
              "pattern": "^devices/[^/]+$",
              "location": "path"
            }
          },
          "description": "Wipes all data on the specified device.",
          "request": {
            "$ref": "WipeDeviceRequest"
          },
          "response": {
            "$ref": "Operation"
          },
          "path": "v1beta1/{+name}:wipe",
          "parameterOrder": [
            "name"
          ],
          "flatPath": "v1beta1/devices/{devicesId}:wipe",
          "httpMethod": "POST"
        },
        "cancelWipe": {
          "path": "v1beta1/{+name}:cancelWipe",
          "httpMethod": "POST",
          "parameters": {
            "name": {
              "pattern": "^devices/[^/]+$",
              "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}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User."
            }
          },
          "request": {
            "$ref": "CancelWipeDeviceRequest"
          },
          "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.",
          "flatPath": "v1beta1/devices/{devicesId}:cancelWipe",
          "parameterOrder": [
            "name"
          ],
          "response": {
            "$ref": "Operation"
          },
          "id": "cloudidentity.devices.cancelWipe"
        }
      },
      "resources": {
        "deviceUsers": {
          "resources": {
            "clientStates": {
              "methods": {
                "get": {
                  "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}/clientStates/{clientStatesId}",
                  "path": "v1beta1/{+name}",
                  "id": "cloudidentity.devices.deviceUsers.clientStates.get",
                  "httpMethod": "GET",
                  "parameters": {
                    "customer": {
                      "location": "query",
                      "type": "string",
                      "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs."
                    },
                    "name": {
                      "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.",
                      "location": "path",
                      "required": true,
                      "pattern": "^devices/[^/]+/deviceUsers/[^/]+/clientStates/[^/]+$",
                      "type": "string"
                    }
                  },
                  "description": "Gets the client state for the device user",
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "ClientState"
                  }
                },
                "patch": {
                  "request": {
                    "$ref": "ClientState"
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "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/[^/]+$",
                      "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.",
                      "required": true,
                      "type": "string",
                      "location": "path"
                    },
                    "updateMask": {
                      "description": "Optional. Comma-separated list of fully qualified names of fields to be updated. If not specified, all updatable fields in ClientState are updated.",
                      "format": "google-fieldmask",
                      "type": "string",
                      "location": "query"
                    }
                  },
                  "httpMethod": "PATCH",
                  "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}/clientStates/{clientStatesId}",
                  "path": "v1beta1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Updates the client state for the device user",
                  "id": "cloudidentity.devices.deviceUsers.clientStates.patch"
                }
              }
            }
          },
          "methods": {
            "wipe": {
              "parameters": {
                "name": {
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.",
                  "required": true,
                  "type": "string",
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "location": "path"
                }
              },
              "path": "v1beta1/{+name}:wipe",
              "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}:wipe",
              "httpMethod": "POST",
              "request": {
                "$ref": "WipeDeviceUserRequest"
              },
              "parameterOrder": [
                "name"
              ],
              "id": "cloudidentity.devices.deviceUsers.wipe",
              "description": "Wipes the user's account on a device.",
              "response": {
                "$ref": "Operation"
              }
            },
            "cancelWipe": {
              "response": {
                "$ref": "Operation"
              },
              "id": "cloudidentity.devices.deviceUsers.cancelWipe",
              "parameterOrder": [
                "name"
              ],
              "request": {
                "$ref": "CancelWipeDeviceUserRequest"
              },
              "httpMethod": "POST",
              "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}:cancelWipe",
              "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.",
              "path": "v1beta1/{+name}:cancelWipe",
              "parameters": {
                "name": {
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "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.",
                  "required": true,
                  "location": "path"
                }
              }
            },
            "delete": {
              "response": {
                "$ref": "Operation"
              },
              "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}",
              "path": "v1beta1/{+name}",
              "id": "cloudidentity.devices.deviceUsers.delete",
              "httpMethod": "DELETE",
              "parameters": {
                "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"
                },
                "name": {
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "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.",
                  "type": "string"
                }
              },
              "description": "Deletes the specified DeviceUser. This also revokes the user's access to device data.",
              "parameterOrder": [
                "name"
              ]
            },
            "block": {
              "id": "cloudidentity.devices.deviceUsers.block",
              "description": "Blocks device from accessing user data",
              "parameterOrder": [
                "name"
              ],
              "path": "v1beta1/{+name}:block",
              "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}:block",
              "parameters": {
                "name": {
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.",
                  "type": "string",
                  "location": "path",
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "required": true
                }
              },
              "response": {
                "$ref": "Operation"
              },
              "httpMethod": "POST",
              "request": {
                "$ref": "BlockDeviceUserRequest"
              }
            },
            "list": {
              "path": "v1beta1/{+parent}/deviceUsers",
              "description": "Lists/Searches DeviceUsers.",
              "parameterOrder": [
                "parent"
              ],
              "httpMethod": "GET",
              "parameters": {
                "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.",
                  "location": "query",
                  "type": "string"
                },
                "filter": {
                  "location": "query",
                  "description": "Optional. Additional restrictions when fetching list of devices. [HC article](https://support.google.com/a/answer/7549103)",
                  "type": "string"
                },
                "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"
                },
                "pageSize": {
                  "format": "int32",
                  "location": "query",
                  "description": "Optional. The maximum number of DeviceUsers to return. If unspecified, at most 5 DeviceUsers will be returned. The maximum value is 20; values above 20 will be coerced to 20.",
                  "type": "integer"
                },
                "parent": {
                  "pattern": "^devices/[^/]+$",
                  "location": "path",
                  "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}",
                  "type": "string",
                  "required": true
                },
                "orderBy": {
                  "location": "query",
                  "description": "Optional. Order specification for devices in the response.",
                  "type": "string"
                }
              },
              "id": "cloudidentity.devices.deviceUsers.list",
              "flatPath": "v1beta1/devices/{devicesId}/deviceUsers",
              "response": {
                "$ref": "ListDeviceUsersResponse"
              }
            },
            "approve": {
              "id": "cloudidentity.devices.deviceUsers.approve",
              "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}:approve",
              "path": "v1beta1/{+name}:approve",
              "response": {
                "$ref": "Operation"
              },
              "parameterOrder": [
                "name"
              ],
              "httpMethod": "POST",
              "description": "Approves device to access user data.",
              "request": {
                "$ref": "ApproveDeviceUserRequest"
              },
              "parameters": {
                "name": {
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "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.",
                  "type": "string",
                  "required": true
                }
              }
            },
            "get": {
              "parameters": {
                "name": {
                  "required": true,
                  "pattern": "^devices/[^/]+/deviceUsers/[^/]+$",
                  "location": "path",
                  "type": "string",
                  "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User."
                },
                "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."
                }
              },
              "httpMethod": "GET",
              "description": "Retrieves the specified DeviceUser",
              "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}",
              "id": "cloudidentity.devices.deviceUsers.get",
              "parameterOrder": [
                "name"
              ],
              "path": "v1beta1/{+name}",
              "response": {
                "$ref": "DeviceUser"
              }
            },
            "lookup": {
              "httpMethod": "GET",
              "id": "cloudidentity.devices.deviceUsers.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.",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-identity.devices.lookup"
              ],
              "parameterOrder": [
                "parent"
              ],
              "response": {
                "$ref": "LookupSelfDeviceUsersResponse"
              },
              "path": "v1beta1/{+parent}:lookup",
              "parameters": {
                "rawResourceId": {
                  "description": "Raw Resource Id used by Google Endpoint Verification. If the user is enrolled into Google Endpoint Verification, this id will be saved as the 'device_resource_id' field in the following platform dependent files. Mac: ~/.secureConnect/context_aware_config.json Windows: C:\\Users\\%USERPROFILE%\\.secureConnect\\context_aware_config.json Linux: ~/.secureConnect/context_aware_config.json",
                  "location": "query",
                  "type": "string"
                },
                "userId": {
                  "description": "The user whose DeviceUser's resource name will be fetched. Must be set to 'me' to fetch the DeviceUser's resource name for the calling user.",
                  "type": "string",
                  "location": "query"
                },
                "pageSize": {
                  "format": "int32",
                  "type": "integer",
                  "location": "query",
                  "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."
                },
                "androidId": {
                  "location": "query",
                  "type": "string",
                  "description": "Android Id returned by [Settings.Secure#ANDROID_ID](https://developer.android.com/reference/android/provider/Settings.Secure.html#ANDROID_ID)."
                },
                "parent": {
                  "required": true,
                  "description": "Must be set to \"devices/-/deviceUsers\" to search across all DeviceUser belonging to the user.",
                  "type": "string",
                  "location": "path",
                  "pattern": "^devices/[^/]+/deviceUsers$"
                },
                "pageToken": {
                  "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.",
                  "type": "string",
                  "location": "query"
                }
              },
              "flatPath": "v1beta1/devices/{devicesId}/deviceUsers:lookup"
            }
          }
        }
      }
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy