1<html><body> 2<style> 3 4body, h1, h2, h3, div, span, p, pre, a { 5 margin: 0; 6 padding: 0; 7 border: 0; 8 font-weight: inherit; 9 font-style: inherit; 10 font-size: 100%; 11 font-family: inherit; 12 vertical-align: baseline; 13} 14 15body { 16 font-size: 13px; 17 padding: 1em; 18} 19 20h1 { 21 font-size: 26px; 22 margin-bottom: 1em; 23} 24 25h2 { 26 font-size: 24px; 27 margin-bottom: 1em; 28} 29 30h3 { 31 font-size: 20px; 32 margin-bottom: 1em; 33 margin-top: 1em; 34} 35 36pre, code { 37 line-height: 1.5; 38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; 39} 40 41pre { 42 margin-top: 0.5em; 43} 44 45h1, h2, h3, p { 46 font-family: Arial, sans serif; 47} 48 49h1, h2, h3 { 50 border-bottom: solid #CCC 1px; 51} 52 53.toc_element { 54 margin-top: 0.5em; 55} 56 57.firstline { 58 margin-left: 2 em; 59} 60 61.method { 62 margin-top: 1em; 63 border: solid 1px #CCC; 64 padding: 1em; 65 background: #EEE; 66} 67 68.details { 69 font-weight: bold; 70 font-size: 14px; 71} 72 73</style> 74 75<h1><a href="cloudiot_v1.html">Cloud IoT API</a> . <a href="cloudiot_v1.projects.html">projects</a> . <a href="cloudiot_v1.projects.locations.html">locations</a> . <a href="cloudiot_v1.projects.locations.registries.html">registries</a> . <a href="cloudiot_v1.projects.locations.registries.groups.html">groups</a> . <a href="cloudiot_v1.projects.locations.registries.groups.devices.html">devices</a></h1> 76<h2>Instance Methods</h2> 77<p class="toc_element"> 78 <code><a href="#list">list(parent, pageSize=None, deviceIds=None, deviceNumIds=None, x__xgafv=None, fieldMask=None, pageToken=None, gatewayListOptions_associationsGatewayId=None, gatewayListOptions_associationsDeviceId=None, gatewayListOptions_gatewayType=None)</a></code></p> 79<p class="firstline">List devices in a device registry.</p> 80<p class="toc_element"> 81 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p> 82<p class="firstline">Retrieves the next page of results.</p> 83<h3>Method Details</h3> 84<div class="method"> 85 <code class="details" id="list">list(parent, pageSize=None, deviceIds=None, deviceNumIds=None, x__xgafv=None, fieldMask=None, pageToken=None, gatewayListOptions_associationsGatewayId=None, gatewayListOptions_associationsDeviceId=None, gatewayListOptions_gatewayType=None)</code> 86 <pre>List devices in a device registry. 87 88Args: 89 parent: string, The device registry path. Required. For example, 90`projects/my-project/locations/us-central1/registries/my-registry`. (required) 91 pageSize: integer, The maximum number of devices to return in the response. If this value 92is zero, the service will select a default size. A call may return fewer 93objects than requested. A non-empty `next_page_token` in the response 94indicates that more data is available. 95 deviceIds: string, A list of device string IDs. For example, `['device0', 'device12']`. 96If empty, this field is ignored. Maximum IDs: 10,000 (repeated) 97 deviceNumIds: string, A list of device numeric IDs. If empty, this field is ignored. Maximum 98IDs: 10,000. (repeated) 99 x__xgafv: string, V1 error format. 100 Allowed values 101 1 - v1 error format 102 2 - v2 error format 103 fieldMask: string, The fields of the `Device` resource to be returned in the response. The 104fields `id` and `num_id` are always returned, along with any 105other fields specified. 106 pageToken: string, The value returned by the last `ListDevicesResponse`; indicates 107that this is a continuation of a prior `ListDevices` call and 108the system should return the next page of data. 109 gatewayListOptions_associationsGatewayId: string, If set, only devices associated with the specified gateway are returned. 110The gateway ID can be numeric (`num_id`) or the user-defined string 111(`id`). For example, if `123` is specified, only devices bound to the 112gateway with `num_id` 123 are returned. 113 gatewayListOptions_associationsDeviceId: string, If set, returns only the gateways with which the specified device is 114associated. The device ID can be numeric (`num_id`) or the user-defined 115string (`id`). For example, if `456` is specified, returns only the 116gateways to which the device with `num_id` 456 is bound. 117 gatewayListOptions_gatewayType: string, If `GATEWAY` is specified, only gateways are returned. If `NON_GATEWAY` 118is specified, only non-gateway devices are returned. If 119`GATEWAY_TYPE_UNSPECIFIED` is specified, all devices are returned. 120 121Returns: 122 An object of the form: 123 124 { # Response for `ListDevices`. 125 "nextPageToken": "A String", # If not empty, indicates that there may be more devices that match the 126 # request; this value should be passed in a new `ListDevicesRequest`. 127 "devices": [ # The devices that match the request. 128 { # The device resource. 129 "lastStateTime": "A String", # [Output only] The last time a state event was received. Timestamps are 130 # periodically collected and written to storage; they may be stale by a few 131 # minutes. 132 "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state. 133 "lastAccessedGatewayTime": "A String", # [Output only] The most recent time at which the device accessed the gateway 134 # specified in `last_accessed_gateway`. 135 "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently. 136 "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the 137 # gateway. 138 "gatewayType": "A String", # Indicates whether the device is a gateway. 139 }, 140 "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to 141 # the device. 142 "lastEventTime": "A String", # [Output only] The last time a telemetry event was received. Timestamps are 143 # periodically collected and written to storage; they may be stale by a few 144 # minutes. 145 "lastErrorTime": "A String", # [Output only] The time the most recent error occurred, such as a failure to 146 # publish to Cloud Pub/Sub. This field is the timestamp of 147 # 'last_error_status'. 148 "numId": "A String", # [Output only] A server-defined unique numeric ID for the device. This is a 149 # more compact way to identify devices, and it is globally unique. 150 "lastHeartbeatTime": "A String", # [Output only] The last time an MQTT `PINGREQ` was received. This field 151 # applies only to devices connecting through MQTT. MQTT clients usually only 152 # send `PINGREQ` messages if the connection is idle, and no other messages 153 # have been sent. Timestamps are periodically collected and written to 154 # storage; they may be stale by a few minutes. 155 "lastConfigAckTime": "A String", # [Output only] The last time a cloud-to-device config version acknowledgment 156 # was received from the device. This field is only for configurations 157 # sent through MQTT. 158 "logLevel": "A String", # **Beta Feature** 159 # 160 # The logging verbosity for device activity. If unspecified, 161 # DeviceRegistry.log_level will be used. 162 "state": { # The device state, as reported by the device. # [Output only] The state most recently received from the device. If no state 163 # has been reported, this field is not present. 164 "updateTime": "A String", # [Output only] The time at which this state version was updated in Cloud 165 # IoT Core. 166 "binaryData": "A String", # The device state data. 167 }, 168 "lastErrorStatus": { # The `Status` type defines a logical error model that is suitable for # [Output only] The error message of the most recent error, such as a failure 169 # to publish to Cloud Pub/Sub. 'last_error_time' is the timestamp of this 170 # field. If no errors have occurred, this field has an empty message 171 # and the status code 0 == OK. Otherwise, this field is expected to have a 172 # status code other than OK. 173 # different programming environments, including REST APIs and RPC APIs. It is 174 # used by [gRPC](https://github.com/grpc). Each `Status` message contains 175 # three pieces of data: error code, error message, and error details. 176 # 177 # You can find out more about this error model and how to work with it in the 178 # [API Design Guide](https://cloud.google.com/apis/design/errors). 179 "message": "A String", # A developer-facing error message, which should be in English. Any 180 # user-facing error message should be localized and sent in the 181 # google.rpc.Status.details field, or localized by the client. 182 "code": 42, # The status code, which should be an enum value of google.rpc.Code. 183 "details": [ # A list of messages that carry the error details. There is a common set of 184 # message types for APIs to use. 185 { 186 "a_key": "", # Properties of the object. Contains field @type with type URL. 187 }, 188 ], 189 }, 190 "blocked": True or False, # If a device is blocked, connections or requests from this device will fail. 191 # Can be used to temporarily prevent the device from connecting if, for 192 # example, the sensor is generating bad data and needs maintenance. 193 "credentials": [ # The credentials used to authenticate this device. To allow credential 194 # rotation without interruption, multiple device credentials can be bound to 195 # this device. No more than 3 credentials can be bound to a single device at 196 # a time. When new credentials are added to a device, they are verified 197 # against the registry credentials. For details, see the description of the 198 # `DeviceRegistry.credentials` field. 199 { # A server-stored device credential used for authentication. 200 "publicKey": { # A public key format and data. # A public key used to verify the signature of JSON Web Tokens (JWTs). 201 # When adding a new device credential, either via device creation or via 202 # modifications, this public key credential may be required to be signed by 203 # one of the registry level certificates. More specifically, if the 204 # registry contains at least one certificate, any new device credential 205 # must be signed by one of the registry certificates. As a result, 206 # when the registry contains certificates, only X.509 certificates are 207 # accepted as device credentials. However, if the registry does 208 # not contain a certificate, self-signed certificates and public keys will 209 # be accepted. New device credentials must be different from every 210 # registry-level certificate. 211 "key": "A String", # The key data. 212 "format": "A String", # The format of the key. 213 }, 214 "expirationTime": "A String", # [Optional] The time at which this credential becomes invalid. This 215 # credential will be ignored for new client authentication requests after 216 # this timestamp; however, it will not be automatically deleted. 217 }, 218 ], 219 "metadata": { # The metadata key-value pairs assigned to the device. This metadata is not 220 # interpreted or indexed by Cloud IoT Core. It can be used to add contextual 221 # information for the device. 222 # 223 # Keys must conform to the regular expression a-zA-Z+ and 224 # be less than 128 bytes in length. 225 # 226 # Values are free-form strings. Each value must be less than or equal to 32 227 # KB in size. 228 # 229 # The total size of all keys and values must be less than 256 KB, and the 230 # maximum number of key-value pairs is 500. 231 "a_key": "A String", 232 }, 233 "config": { # The device configuration. Eventually delivered to devices. # The most recent device configuration, which is eventually sent from 234 # Cloud IoT Core to the device. If not present on creation, the 235 # configuration will be initialized with an empty payload and version value 236 # of `1`. To update this field after creation, use the 237 # `DeviceManager.ModifyCloudToDeviceConfig` method. 238 "version": "A String", # [Output only] The version of this update. The version number is assigned by 239 # the server, and is always greater than 0 after device creation. The 240 # version must be 0 on the `CreateDevice` request if a `config` is 241 # specified; the response of `CreateDevice` will always have a value of 1. 242 "cloudUpdateTime": "A String", # [Output only] The time at which this configuration version was updated in 243 # Cloud IoT Core. This timestamp is set by the server. 244 "binaryData": "A String", # The device configuration data. 245 "deviceAckTime": "A String", # [Output only] The time at which Cloud IoT Core received the 246 # acknowledgment from the device, indicating that the device has received 247 # this configuration version. If this field is not present, the device has 248 # not yet acknowledged that it received this version. Note that when 249 # the config was sent to the device, many config versions may have been 250 # available in Cloud IoT Core while the device was disconnected, and on 251 # connection, only the latest version is sent to the device. Some 252 # versions may never be sent to the device, and therefore are never 253 # acknowledged. This timestamp is set by Cloud IoT Core. 254 }, 255 "id": "A String", # The user-defined device identifier. The device ID must be unique 256 # within a device registry. 257 "name": "A String", # The resource path name. For example, 258 # `projects/p1/locations/us-central1/registries/registry0/devices/dev0` or 259 # `projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`. 260 # When `name` is populated as a response from the service, it always ends 261 # in the device numeric ID. 262 }, 263 ], 264 }</pre> 265</div> 266 267<div class="method"> 268 <code class="details" id="list_next">list_next(previous_request, previous_response)</code> 269 <pre>Retrieves the next page of results. 270 271Args: 272 previous_request: The request for the previous page. (required) 273 previous_response: The response from the request for the previous page. (required) 274 275Returns: 276 A request object that you can call 'execute()' on to request the next 277 page. Returns None if there are no more items in the collection. 278 </pre> 279</div> 280 281</body></html>