1<?php
2/*
3 * Copyright 2014 Google Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 * use this file except in compliance with the License. You may obtain a copy of
7 * the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17
18namespace Google\Service\CloudIot\Resource;
19
20use Google\Service\CloudIot\ListDevicesResponse;
21
22/**
23 * The "devices" collection of methods.
24 * Typical usage is:
25 *  <code>
26 *   $cloudiotService = new Google\Service\CloudIot(...);
27 *   $devices = $cloudiotService->devices;
28 *  </code>
29 */
30class ProjectsLocationsRegistriesGroupsDevices extends \Google\Service\Resource
31{
32  /**
33   * List devices in a device registry.
34   * (devices.listProjectsLocationsRegistriesGroupsDevices)
35   *
36   * @param string $parent Required. The device registry path. Required. For
37   * example, `projects/my-project/locations/us-central1/registries/my-registry`.
38   * @param array $optParams Optional parameters.
39   *
40   * @opt_param string deviceIds A list of device string IDs. For example,
41   * `['device0', 'device12']`. If empty, this field is ignored. Maximum IDs:
42   * 10,000
43   * @opt_param string deviceNumIds A list of device numeric IDs. If empty, this
44   * field is ignored. Maximum IDs: 10,000.
45   * @opt_param string fieldMask The fields of the `Device` resource to be
46   * returned in the response. The fields `id` and `num_id` are always returned,
47   * along with any other fields specified in snake_case format, for example:
48   * `last_heartbeat_time`.
49   * @opt_param string gatewayListOptions.associationsDeviceId If set, returns
50   * only the gateways with which the specified device is associated. The device
51   * ID can be numeric (`num_id`) or the user-defined string (`id`). For example,
52   * if `456` is specified, returns only the gateways to which the device with
53   * `num_id` 456 is bound.
54   * @opt_param string gatewayListOptions.associationsGatewayId If set, only
55   * devices associated with the specified gateway are returned. The gateway ID
56   * can be numeric (`num_id`) or the user-defined string (`id`). For example, if
57   * `123` is specified, only devices bound to the gateway with `num_id` 123 are
58   * returned.
59   * @opt_param string gatewayListOptions.gatewayType If `GATEWAY` is specified,
60   * only gateways are returned. If `NON_GATEWAY` is specified, only non-gateway
61   * devices are returned. If `GATEWAY_TYPE_UNSPECIFIED` is specified, all devices
62   * are returned.
63   * @opt_param int pageSize The maximum number of devices to return in the
64   * response. If this value is zero, the service will select a default size. A
65   * call may return fewer objects than requested. A non-empty `next_page_token`
66   * in the response indicates that more data is available.
67   * @opt_param string pageToken The value returned by the last
68   * `ListDevicesResponse`; indicates that this is a continuation of a prior
69   * `ListDevices` call and the system should return the next page of data.
70   * @return ListDevicesResponse
71   */
72  public function listProjectsLocationsRegistriesGroupsDevices($parent, $optParams = [])
73  {
74    $params = ['parent' => $parent];
75    $params = array_merge($params, $optParams);
76    return $this->call('list', [$params], ListDevicesResponse::class);
77  }
78}
79
80// Adding a class alias for backwards compatibility with the previous class name.
81class_alias(ProjectsLocationsRegistriesGroupsDevices::class, 'Google_Service_CloudIot_Resource_ProjectsLocationsRegistriesGroupsDevices');
82