# Cloud Identity API . devices

## Instance Methods

Returns the deviceUsers Resource.

Cancels an unfinished device wipe. This operation can be used to cancel device wipe in the gap between the wipe operation returning success and the device being wiped. This operation is possible when the device is in a "pending wipe" state. The device enters the "pending wipe" state when a wipe device command is issued, but has not yet been sent to the device. The cancel wipe will fail if the wipe command has already been issued to the device.

Close httplib2 connections.

Creates a device. Only company-owned device may be created. **Note**: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium

Deletes the specified device.

Retrieves the specified device.

Lists/Searches devices.

Retrieves the next page of results.

Wipes all data on the specified device.

### Method Details

`cancelWipe(name, body=None, x__xgafv=None)`

    Cancels an unfinished device wipe. This operation can be used to cancel device wipe in the gap between the wipe operation returning success and the device being wiped. This operation is possible when the device is in a "pending wipe" state. The device enters the "pending wipe" state when a wipe device command is issued, but has not yet been sent to the device. The cancel wipe will fail if the wipe command has already been issued to the device.

    Args:
      name: string, Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique ID assigned to the Device. (required)
      body: object, The request body.
        The object takes the form of:

    { # Request message for cancelling an unfinished device wipe.
      "customer": "A String", # Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # 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.
      "error": { # 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). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # 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.
      },
      "metadata": { # 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.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # 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": { # 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`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`close()`

    Close httplib2 connections.

`create(body=None, customer=None, x__xgafv=None)`

    Creates a device. Only company-owned device may be created. **Note**: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium

    Args:
      body: object, The request body.
        The object takes the form of:

    { #  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.
      "androidSpecificAttributes": { # Resource representing the Android specific attributes of a Device. # Output only. Attributes specific to Android devices.
        "enabledUnknownSources": True or False, # Whether applications from unknown sources can be installed on device.
        "ownerProfileAccount": True or False, # 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.
        "ownershipPrivilege": "A String", # Ownership privileges on device.
        "supportsWorkProfile": True or False, # 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.
      },
      "assetTag": "A String", # Asset tag of the device.
      "basebandVersion": "A String", # Output only. Baseband version of the device.
      "bootloaderVersion": "A String", # Output only. Device bootloader version. Example: 0.6.7.
      "brand": "A String", # Output only. Device brand. Example: Samsung.
      "buildNumber": "A String", # Output only. Build number of the device.
      "compromisedState": "A String", # Output only. Represents whether the Device is compromised.
      "createTime": "A String", # Output only. When the Company-Owned device was imported. This field is empty for BYOD devices.
      "deviceType": "A String", # Output only. Type of device.
      "enabledDeveloperOptions": True or False, # Output only. Whether developer options is enabled on device.
      "enabledUsbDebugging": True or False, # Output only. Whether USB debugging is enabled on device.
      "encryptionState": "A String", # Output only. Device encryption state.
      "imei": "A String", # Output only. IMEI number of device if GSM device; empty otherwise.
      "kernelVersion": "A String", # Output only. Kernel version of the device.
      "lastSyncTime": "A String", # Most recent time when device synced with this service.
      "managementState": "A String", # Output only. Management state of the device
      "manufacturer": "A String", # Output only. Device manufacturer. Example: Motorola.
      "meid": "A String", # Output only. MEID number of device if CDMA device; empty otherwise.
      "model": "A String", # Output only. Model name of device. Example: Pixel 3.
      "name": "A String", # Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique id assigned to the Device.
      "networkOperator": "A String", # Output only. Mobile or network operator of device, if available.
      "osVersion": "A String", # Output only. OS version of the device. Example: Android 8.1.0.
      "otherAccounts": [ # 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".
        "A String",
      ],
      "ownerType": "A String", # Output only. Whether the device is owned by the company or an individual
      "releaseVersion": "A String", # Output only. OS release version. Example: 6.0.
      "securityPatchTime": "A String", # Output only. OS security patch update time on device.
      "serialNumber": "A String", # Serial Number of device. Example: HT82V1A01076.
      "wifiMacAddresses": [ # WiFi MAC addresses of device.
        "A String",
      ],
    }

      customer: string, Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # 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.
      "error": { # 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). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # 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.
      },
      "metadata": { # 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.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # 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": { # 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`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`delete(name, customer=None, x__xgafv=None)`

    Deletes the specified device.

    Args:
      name: string, Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique ID assigned to the Device. (required)
      customer: string, Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # 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.
      "error": { # 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). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # 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.
      },
      "metadata": { # 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.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # 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": { # 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`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`get(name, customer=None, x__xgafv=None)`

    Retrieves the specified device.

    Args:
      name: string, Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in the format: `devices/{device}`, where device is the unique ID assigned to the Device. (required)
      customer: string, Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Customer in the format: `customers/{customer}`, where customer is the customer to whom the device belongs. If you're using this API for your own organization, use `customers/my_customer`. If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { #  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.
      "androidSpecificAttributes": { # Resource representing the Android specific attributes of a Device. # Output only. Attributes specific to Android devices.
        "enabledUnknownSources": True or False, # Whether applications from unknown sources can be installed on device.
        "ownerProfileAccount": True or False, # 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.
        "ownershipPrivilege": "A String", # Ownership privileges on device.
        "supportsWorkProfile": True or False, # 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.
      },
      "assetTag": "A String", # Asset tag of the device.
      "basebandVersion": "A String", # Output only. Baseband version of the device.
      "bootloaderVersion": "A String", # Output only. Device bootloader version. Example: 0.6.7.
      "brand": "A String", # Output only. Device brand. Example: Samsung.
      "buildNumber": "A String", # Output only. Build number of the device.
      "compromisedState": "A String", # Output only. Represents whether the Device is compromised.
      "createTime": "A String", # Output only. When the Company-Owned device was imported. This field is empty for BYOD devices.
      "deviceType": "A String", # Output only. Type of device.
      "enabledDeveloperOptions": True or False, # Output only. Whether developer options is enabled on device.
      "enabledUsbDebugging": True or False, # Output only. Whether USB debugging is enabled on device.
      "encryptionState": "A String", # Output only. Device encryption state.
      "imei": "A String", # Output only. IMEI number of device if GSM device; empty otherwise.
      "kernelVersion": "A String", # Output only. Kernel version of the device.
      "lastSyncTime": "A String", # Most recent time when device synced with this service.
      "managementState": "A String", # Output only. Management state of the device
      "manufacturer": "A String", # Output only. Device manufacturer. Example: Motorola.
      "meid": "A String", # Output only. MEID number of device if CDMA device; empty otherwise.
      "model": "A String", # Output only. Model name of device. Example: Pixel 3.
      "name": "A String", # Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique id assigned to the Device.
      "networkOperator": "A String", # Output only. Mobile or network operator of device, if available.
      "osVersion": "A String", # Output only. OS version of the device. Example: Android 8.1.0.
      "otherAccounts": [ # 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".
        "A String",
      ],
      "ownerType": "A String", # Output only. Whether the device is owned by the company or an individual
      "releaseVersion": "A String", # Output only. OS release version. Example: 6.0.
      "securityPatchTime": "A String", # Output only. OS security patch update time on device.
      "serialNumber": "A String", # Serial Number of device. Example: HT82V1A01076.
      "wifiMacAddresses": [ # WiFi MAC addresses of device.
        "A String",
      ],
    }

`list(customer=None, filter=None, orderBy=None, pageSize=None, pageToken=None, view=None, x__xgafv=None)`

    Lists/Searches devices.

    Args:
      customer: string, Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer in the format: `customers/{customer}`, where customer is the customer to whom the device belongs. If you're using this API for your own organization, use `customers/my_customer`. If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.
      filter: string, Optional. Additional restrictions when fetching list of devices. For a list of search fields, refer to [Mobile device search fields](https://developers.google.com/admin-sdk/directory/v1/search-operators). Multiple search fields are separated by the space character.
      orderBy: string, Optional. Order specification for devices in the response. Only one of the following field names may be used to specify the order: `create_time`, `last_sync_time`, `model`, `os_version`, `device_type` and `serial_number`. `desc` may be specified optionally at the end to specify results to be sorted in descending order. Default order is ascending.
      pageSize: integer, 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.
      pageToken: string, 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.
      view: string, Optional. The view to use for the List request.
        Allowed values
          VIEW_UNSPECIFIED - Default value. The value is unused.
          COMPANY_INVENTORY - This view contains all devices imported by the company admin. Each device in the response contains all information specified by the company admin when importing the device (i.e. asset tags). This includes devices that may be unaassigned or assigned to users.
          USER_ASSIGNED_DEVICES - 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.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response message that is returned from the ListDevices method.
      "devices": [ # Devices meeting the list restrictions.
        { #  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.
          "androidSpecificAttributes": { # Resource representing the Android specific attributes of a Device. # Output only. Attributes specific to Android devices.
            "enabledUnknownSources": True or False, # Whether applications from unknown sources can be installed on device.
            "ownerProfileAccount": True or False, # 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.
            "ownershipPrivilege": "A String", # Ownership privileges on device.
            "supportsWorkProfile": True or False, # 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.
          },
          "assetTag": "A String", # Asset tag of the device.
          "basebandVersion": "A String", # Output only. Baseband version of the device.
          "bootloaderVersion": "A String", # Output only. Device bootloader version. Example: 0.6.7.
          "brand": "A String", # Output only. Device brand. Example: Samsung.
          "buildNumber": "A String", # Output only. Build number of the device.
          "compromisedState": "A String", # Output only. Represents whether the Device is compromised.
          "createTime": "A String", # Output only. When the Company-Owned device was imported. This field is empty for BYOD devices.
          "deviceType": "A String", # Output only. Type of device.
          "enabledDeveloperOptions": True or False, # Output only. Whether developer options is enabled on device.
          "enabledUsbDebugging": True or False, # Output only. Whether USB debugging is enabled on device.
          "encryptionState": "A String", # Output only. Device encryption state.
          "imei": "A String", # Output only. IMEI number of device if GSM device; empty otherwise.
          "kernelVersion": "A String", # Output only. Kernel version of the device.
          "lastSyncTime": "A String", # Most recent time when device synced with this service.
          "managementState": "A String", # Output only. Management state of the device
          "manufacturer": "A String", # Output only. Device manufacturer. Example: Motorola.
          "meid": "A String", # Output only. MEID number of device if CDMA device; empty otherwise.
          "model": "A String", # Output only. Model name of device. Example: Pixel 3.
          "name": "A String", # Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique id assigned to the Device.
          "networkOperator": "A String", # Output only. Mobile or network operator of device, if available.
          "osVersion": "A String", # Output only. OS version of the device. Example: Android 8.1.0.
          "otherAccounts": [ # 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".
            "A String",
          ],
          "ownerType": "A String", # Output only. Whether the device is owned by the company or an individual
          "releaseVersion": "A String", # Output only. OS release version. Example: 6.0.
          "securityPatchTime": "A String", # Output only. OS security patch update time on device.
          "serialNumber": "A String", # Serial Number of device. Example: HT82V1A01076.
          "wifiMacAddresses": [ # WiFi MAC addresses of device.
            "A String",
          ],
        },
      ],
      "nextPageToken": "A String", # Token to retrieve the next page of results. Empty if there are no more results.
    }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`wipe(name, body=None, x__xgafv=None)`

    Wipes all data on the specified device.

    Args:
      name: string, Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User. (required)
      body: object, The request body.
        The object takes the form of:

    { # Request message for wiping all data on the device.
      "customer": "A String", # Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # 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.
      "error": { # 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). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # 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.
      },
      "metadata": { # 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.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # 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": { # 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`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }