<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="chromemanagement_v1.html">Chrome Management API</a> . <a href="chromemanagement_v1.customers.html">customers</a> . <a href="chromemanagement_v1.customers.telemetry.html">telemetry</a> . <a href="chromemanagement_v1.customers.telemetry.devices.html">devices</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#list">list(parent, filter=None, pageSize=None, pageToken=None, readMask=None, x__xgafv=None)</a></code></p>
<p class="firstline">List all telemetry devices.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, readMask=None, x__xgafv=None)</code>
  <pre>List all telemetry devices.

Args:
  parent: string, Required. Customer id or &quot;my_customer&quot; to use the customer associated to the account making the request. (required)
  filter: string, Optional. Only include resources that match the filter. Supported filter fields: - org_unit_id - serial_number 
  pageSize: integer, Maximum number of results to return. Maximum and default are 100.
  pageToken: string, Token to specify next page in the list.
  readMask: string, Required. Read mask to specify which fields to return.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
  &quot;devices&quot;: [ # Telemetry devices returned in the response.
    { # Telemetry data collected from a managed device.
      &quot;batteryInfo&quot;: [ # Output only. Information on battery specs for the device.
        { # Battery info
          &quot;designCapacity&quot;: &quot;A String&quot;, # Output only. Design capacity (mAmpere-hours).
          &quot;designMinVoltage&quot;: 42, # Output only. Designed minimum output voltage (mV)
          &quot;manufactureDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # Output only. The date the battery was manufactured.
            &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
            &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
            &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
          },
          &quot;manufacturer&quot;: &quot;A String&quot;, # Output only. Battery manufacturer.
          &quot;serialNumber&quot;: &quot;A String&quot;, # Output only. Battery serial number.
          &quot;technology&quot;: &quot;A String&quot;, # Output only. Technology of the battery. Example: Li-ion
        },
      ],
      &quot;batteryStatusReport&quot;: [ # Output only. Battery reports collected periodically.
        { # Status data for battery.
          &quot;batteryHealth&quot;: &quot;A String&quot;, # Output only. Battery health.
          &quot;cycleCount&quot;: 42, # Output only. Cycle count.
          &quot;fullChargeCapacity&quot;: &quot;A String&quot;, # Output only. Full charge capacity (mAmpere-hours).
          &quot;reportTime&quot;: &quot;A String&quot;, # Output only. Timestamp of when the sample was collected on device
          &quot;sample&quot;: [ # Output only. Sampling data for the battery.
            { # Sampling data for battery.
              &quot;chargeRate&quot;: 42, # Output only. Battery charge percentage.
              &quot;current&quot;: &quot;A String&quot;, # Output only. Battery current (mA).
              &quot;dischargeRate&quot;: 42, # Output only. The battery discharge rate measured in mW. Positive if the battery is being discharged, negative if it&#x27;s being charged.
              &quot;remainingCapacity&quot;: &quot;A String&quot;, # Output only. Battery remaining capacity (mAmpere-hours).
              &quot;reportTime&quot;: &quot;A String&quot;, # Output only. Timestamp of when the sample was collected on device
              &quot;status&quot;: &quot;A String&quot;, # Output only. Battery status read from sysfs. Example: Discharging
              &quot;temperature&quot;: 42, # Output only. Temperature in Celsius degrees.
              &quot;voltage&quot;: &quot;A String&quot;, # Output only. Battery voltage (millivolt).
            },
          ],
          &quot;serialNumber&quot;: &quot;A String&quot;, # Output only. Battery serial number.
        },
      ],
      &quot;cpuInfo&quot;: [ # Output only. Information regarding CPU specs for the device.
        { # CPU specs for a CPU.
          &quot;architecture&quot;: &quot;A String&quot;, # Output only. The CPU architecture.
          &quot;maxClockSpeed&quot;: 42, # Output only. The max CPU clock speed in kHz.
          &quot;model&quot;: &quot;A String&quot;, # Output only. The CPU model name. Example: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
        },
      ],
      &quot;cpuStatusReport&quot;: [ # Output only. CPU status reports collected periodically.
        { # Contains samples of the cpu status reports.
          &quot;cpuTemperatureInfo&quot;: [ # Output only. CPU temperature sample info per CPU core in Celsius
            { # CPU temperature of a device. Sampled per CPU core in Celsius
              &quot;label&quot;: &quot;A String&quot;, # Output only. CPU label. Example: Core 0
              &quot;temperatureCelsius&quot;: 42, # Output only. CPU temperature in Celsius.
            },
          ],
          &quot;cpuUtilizationPct&quot;: 42, # Output only. Sample of CPU utilization (0-100 percent).
          &quot;reportTime&quot;: &quot;A String&quot;, # Output only. The timestamp in milliseconds representing time at which this report was sampled.
          &quot;sampleFrequency&quot;: &quot;A String&quot;, # Output only. Frequency the report is sampled.
        },
      ],
      &quot;customer&quot;: &quot;A String&quot;, # Output only. Google Workspace Customer whose enterprise enrolled the device.
      &quot;deviceId&quot;: &quot;A String&quot;, # Output only. The unique Directory API ID of the device. This value is the same as the Admin Console&#x27;s Directory API ID in the Chrome OS Devices tab
      &quot;graphicsInfo&quot;: { # Information of the graphics subsystem. # Output only. Contains information regarding Graphic peripherals for the device.
        &quot;adapterInfo&quot;: { # Information of a graphics adapter (GPU). # Output only. Information about the graphics adapter (GPU).
          &quot;adapter&quot;: &quot;A String&quot;, # Output only. Adapter name. Example: Mesa DRI Intel(R) UHD Graphics 620 (Kabylake GT2).
          &quot;deviceId&quot;: &quot;A String&quot;, # Output only. Represents the graphics card device id.
          &quot;driverVersion&quot;: &quot;A String&quot;, # Output only. Version of the GPU driver.
        },
      },
      &quot;graphicsStatusReport&quot;: [ # Output only. Graphics reports collected periodically.
        { # Information of the graphics subsystem.
          &quot;displays&quot;: [ # Output only. Information about the displays for the device.
            { # Information for a display.
              &quot;deviceId&quot;: &quot;A String&quot;, # Output only. Represents the graphics card device id.
              &quot;isInternal&quot;: True or False, # Output only. Indicates if display is internal or not.
              &quot;refreshRate&quot;: 42, # Output only. Refresh rate in Hz.
              &quot;resolutionHeight&quot;: 42, # Output only. Resolution height in pixels.
              &quot;resolutionWidth&quot;: 42, # Output only. Resolution width in pixels.
            },
          ],
          &quot;reportTime&quot;: &quot;A String&quot;, # Output only. Time at which the graphics data was reported.
        },
      ],
      &quot;memoryInfo&quot;: { # Memory information of a device. # Output only. Information regarding memory specs for the device.
        &quot;availableRamBytes&quot;: &quot;A String&quot;, # Output only. Amount of available RAM in bytes.
        &quot;totalRamBytes&quot;: &quot;A String&quot;, # Output only. Total RAM in bytes.
      },
      &quot;memoryStatusReport&quot;: [ # Output only. Memory status reports collected periodically.
        { # Contains samples of memory status reports.
          &quot;pageFaults&quot;: 42, # Output only. Number of page faults during this collection
          &quot;reportTime&quot;: &quot;A String&quot;, # Output only. The timestamp in milliseconds representing time at which this report was sampled.
          &quot;sampleFrequency&quot;: &quot;A String&quot;, # Output only. Frequency the report is sampled.
          &quot;systemRamFreeBytes&quot;: &quot;A String&quot;, # Output only. Amount of free RAM in bytes (unreliable due to Garbage Collection).
        },
      ],
      &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of the device.
      &quot;networkStatusReport&quot;: [ # Output only. Network specs collected periodically.
        { # State of visible/configured networks.
          &quot;gatewayIpAddress&quot;: &quot;A String&quot;, # Output only. Gateway IP address.
          &quot;lanIpAddress&quot;: &quot;A String&quot;, # Output only. LAN IP address.
          &quot;reportTime&quot;: &quot;A String&quot;, # Output only. Time at which the network state was reported.
          &quot;sampleFrequency&quot;: &quot;A String&quot;, # Output only. Frequency the report is sampled.
          &quot;signalStrengthDbm&quot;: 42, # Output only. Signal strength for wireless networks measured in decibels.
        },
      ],
      &quot;orgUnitId&quot;: &quot;A String&quot;, # Output only. Organization unit ID of the device.
      &quot;osUpdateStatus&quot;: [ # Output only. Contains relevant information regarding ChromeOS update status.
        { # Contains information regarding the current OS update status.
          &quot;lastRebootTime&quot;: &quot;A String&quot;, # Output only. Timestamp of the last reboot.
          &quot;lastUpdateCheckTime&quot;: &quot;A String&quot;, # Output only. Timestamp of the last update check.
          &quot;lastUpdateTime&quot;: &quot;A String&quot;, # Output only. Timestamp of the last successful update.
          &quot;newPlatformVersion&quot;: &quot;A String&quot;, # Output only. New platform version of the os image being downloaded and applied. It is only set when update status is OS_IMAGE_DOWNLOAD_IN_PROGRESS or OS_UPDATE_NEED_REBOOT. Note this could be a dummy &quot;0.0.0.0&quot; for OS_UPDATE_NEED_REBOOT status for some edge cases, e.g. update engine is restarted without a reboot.
          &quot;newRequestedPlatformVersion&quot;: &quot;A String&quot;, # Output only. New requested platform version from the pending updated kiosk app.
          &quot;updateState&quot;: &quot;A String&quot;, # Output only. Current state of the os update.
        },
      ],
      &quot;serialNumber&quot;: &quot;A String&quot;, # Output only. Device serial number. This value is the same as the Admin Console&#x27;s Serial Number in the Chrome OS Devices tab.
      &quot;storageInfo&quot;: { # Status data for storage. # Output only. Information of storage specs for the device.
        &quot;availableDiskBytes&quot;: &quot;A String&quot;, # The available space for user data storage in the device in bytes.
        &quot;totalDiskBytes&quot;: &quot;A String&quot;, # The total space for user data storage in the device in bytes.
        &quot;volume&quot;: [ # Information for disk volumes
          { # Information for disk volumes
            &quot;storageFreeBytes&quot;: &quot;A String&quot;, # Free storage space in bytes.
            &quot;storageTotalBytes&quot;: &quot;A String&quot;, # Total storage space in bytes.
            &quot;volumeId&quot;: &quot;A String&quot;, # Disk volume id.
          },
        ],
      },
      &quot;storageStatusReport&quot;: [ # Output only. Storage reports collected periodically.
        { # Status data for storage.
          &quot;disk&quot;: [ # Output only. Reports on disk
            { # Status of the single storage device.
              &quot;bytesReadThisSession&quot;: &quot;A String&quot;, # Output only. Number of bytes read since last boot.
              &quot;bytesWrittenThisSession&quot;: &quot;A String&quot;, # Output only. Number of bytes written since last boot.
              &quot;discardTimeThisSession&quot;: &quot;A String&quot;, # Output only. Time spent discarding since last boot. Discarding is writing to clear blocks which are no longer in use. Supported on kernels 4.18+.
              &quot;health&quot;: &quot;A String&quot;, # Output only. Disk health.
              &quot;ioTimeThisSession&quot;: &quot;A String&quot;, # Output only. Counts the time the disk and queue were busy, so unlike the fields above, parallel requests are not counted multiple times.
              &quot;manufacturer&quot;: &quot;A String&quot;, # Output only. Disk manufacturer.
              &quot;model&quot;: &quot;A String&quot;, # Output only. Disk model.
              &quot;readTimeThisSession&quot;: &quot;A String&quot;, # Output only. Time spent reading from disk since last boot.
              &quot;serialNumber&quot;: &quot;A String&quot;, # Output only. Disk serial number.
              &quot;sizeBytes&quot;: &quot;A String&quot;, # Output only. Disk size.
              &quot;type&quot;: &quot;A String&quot;, # Output only. Disk type: eMMC / NVMe / ATA / SCSI.
              &quot;volumeIds&quot;: [ # Output only. Disk volumes.
                &quot;A String&quot;,
              ],
              &quot;writeTimeThisSession&quot;: &quot;A String&quot;, # Output only. Time spent writing to disk since last boot.
            },
          ],
          &quot;reportTime&quot;: &quot;A String&quot;, # Output only. Timestamp of when the sample was collected on device
        },
      ],
    },
  ],
  &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to specify next page in the list.
}</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
  <pre>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 &#x27;execute()&#x27; on to request the next
  page. Returns None if there are no more items in the collection.
    </pre>
</div>

</body></html>