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; 19 20use Google\Client; 21 22/** 23 * Service definition for CloudIot (v1). 24 * 25 * <p> 26 * Registers and manages IoT (Internet of Things) devices that connect to the 27 * Google Cloud Platform.</p> 28 * 29 * <p> 30 * For more information about this service, see the API 31 * <a href="https://cloud.google.com/iot" target="_blank">Documentation</a> 32 * </p> 33 * 34 * @author Google, Inc. 35 */ 36class CloudIot extends \Google\Service 37{ 38 /** See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.. */ 39 const CLOUD_PLATFORM = 40 "https://www.googleapis.com/auth/cloud-platform"; 41 /** Register and manage devices in the Google Cloud IoT service. */ 42 const CLOUDIOT = 43 "https://www.googleapis.com/auth/cloudiot"; 44 45 public $projects_locations_registries; 46 public $projects_locations_registries_devices; 47 public $projects_locations_registries_devices_configVersions; 48 public $projects_locations_registries_devices_states; 49 public $projects_locations_registries_groups; 50 public $projects_locations_registries_groups_devices; 51 52 /** 53 * Constructs the internal representation of the CloudIot service. 54 * 55 * @param Client|array $clientOrConfig The client used to deliver requests, or a 56 * config array to pass to a new Client instance. 57 * @param string $rootUrl The root URL used for requests to the service. 58 */ 59 public function __construct($clientOrConfig = [], $rootUrl = null) 60 { 61 parent::__construct($clientOrConfig); 62 $this->rootUrl = $rootUrl ?: 'https://cloudiot.googleapis.com/'; 63 $this->servicePath = ''; 64 $this->batchPath = 'batch'; 65 $this->version = 'v1'; 66 $this->serviceName = 'cloudiot'; 67 68 $this->projects_locations_registries = new CloudIot\Resource\ProjectsLocationsRegistries( 69 $this, 70 $this->serviceName, 71 'registries', 72 [ 73 'methods' => [ 74 'bindDeviceToGateway' => [ 75 'path' => 'v1/{+parent}:bindDeviceToGateway', 76 'httpMethod' => 'POST', 77 'parameters' => [ 78 'parent' => [ 79 'location' => 'path', 80 'type' => 'string', 81 'required' => true, 82 ], 83 ], 84 ],'create' => [ 85 'path' => 'v1/{+parent}/registries', 86 'httpMethod' => 'POST', 87 'parameters' => [ 88 'parent' => [ 89 'location' => 'path', 90 'type' => 'string', 91 'required' => true, 92 ], 93 ], 94 ],'delete' => [ 95 'path' => 'v1/{+name}', 96 'httpMethod' => 'DELETE', 97 'parameters' => [ 98 'name' => [ 99 'location' => 'path', 100 'type' => 'string', 101 'required' => true, 102 ], 103 ], 104 ],'get' => [ 105 'path' => 'v1/{+name}', 106 'httpMethod' => 'GET', 107 'parameters' => [ 108 'name' => [ 109 'location' => 'path', 110 'type' => 'string', 111 'required' => true, 112 ], 113 ], 114 ],'getIamPolicy' => [ 115 'path' => 'v1/{+resource}:getIamPolicy', 116 'httpMethod' => 'POST', 117 'parameters' => [ 118 'resource' => [ 119 'location' => 'path', 120 'type' => 'string', 121 'required' => true, 122 ], 123 ], 124 ],'list' => [ 125 'path' => 'v1/{+parent}/registries', 126 'httpMethod' => 'GET', 127 'parameters' => [ 128 'parent' => [ 129 'location' => 'path', 130 'type' => 'string', 131 'required' => true, 132 ], 133 'pageSize' => [ 134 'location' => 'query', 135 'type' => 'integer', 136 ], 137 'pageToken' => [ 138 'location' => 'query', 139 'type' => 'string', 140 ], 141 ], 142 ],'patch' => [ 143 'path' => 'v1/{+name}', 144 'httpMethod' => 'PATCH', 145 'parameters' => [ 146 'name' => [ 147 'location' => 'path', 148 'type' => 'string', 149 'required' => true, 150 ], 151 'updateMask' => [ 152 'location' => 'query', 153 'type' => 'string', 154 ], 155 ], 156 ],'setIamPolicy' => [ 157 'path' => 'v1/{+resource}:setIamPolicy', 158 'httpMethod' => 'POST', 159 'parameters' => [ 160 'resource' => [ 161 'location' => 'path', 162 'type' => 'string', 163 'required' => true, 164 ], 165 ], 166 ],'testIamPermissions' => [ 167 'path' => 'v1/{+resource}:testIamPermissions', 168 'httpMethod' => 'POST', 169 'parameters' => [ 170 'resource' => [ 171 'location' => 'path', 172 'type' => 'string', 173 'required' => true, 174 ], 175 ], 176 ],'unbindDeviceFromGateway' => [ 177 'path' => 'v1/{+parent}:unbindDeviceFromGateway', 178 'httpMethod' => 'POST', 179 'parameters' => [ 180 'parent' => [ 181 'location' => 'path', 182 'type' => 'string', 183 'required' => true, 184 ], 185 ], 186 ], 187 ] 188 ] 189 ); 190 $this->projects_locations_registries_devices = new CloudIot\Resource\ProjectsLocationsRegistriesDevices( 191 $this, 192 $this->serviceName, 193 'devices', 194 [ 195 'methods' => [ 196 'create' => [ 197 'path' => 'v1/{+parent}/devices', 198 'httpMethod' => 'POST', 199 'parameters' => [ 200 'parent' => [ 201 'location' => 'path', 202 'type' => 'string', 203 'required' => true, 204 ], 205 ], 206 ],'delete' => [ 207 'path' => 'v1/{+name}', 208 'httpMethod' => 'DELETE', 209 'parameters' => [ 210 'name' => [ 211 'location' => 'path', 212 'type' => 'string', 213 'required' => true, 214 ], 215 ], 216 ],'get' => [ 217 'path' => 'v1/{+name}', 218 'httpMethod' => 'GET', 219 'parameters' => [ 220 'name' => [ 221 'location' => 'path', 222 'type' => 'string', 223 'required' => true, 224 ], 225 'fieldMask' => [ 226 'location' => 'query', 227 'type' => 'string', 228 ], 229 ], 230 ],'list' => [ 231 'path' => 'v1/{+parent}/devices', 232 'httpMethod' => 'GET', 233 'parameters' => [ 234 'parent' => [ 235 'location' => 'path', 236 'type' => 'string', 237 'required' => true, 238 ], 239 'deviceIds' => [ 240 'location' => 'query', 241 'type' => 'string', 242 'repeated' => true, 243 ], 244 'deviceNumIds' => [ 245 'location' => 'query', 246 'type' => 'string', 247 'repeated' => true, 248 ], 249 'fieldMask' => [ 250 'location' => 'query', 251 'type' => 'string', 252 ], 253 'gatewayListOptions.associationsDeviceId' => [ 254 'location' => 'query', 255 'type' => 'string', 256 ], 257 'gatewayListOptions.associationsGatewayId' => [ 258 'location' => 'query', 259 'type' => 'string', 260 ], 261 'gatewayListOptions.gatewayType' => [ 262 'location' => 'query', 263 'type' => 'string', 264 ], 265 'pageSize' => [ 266 'location' => 'query', 267 'type' => 'integer', 268 ], 269 'pageToken' => [ 270 'location' => 'query', 271 'type' => 'string', 272 ], 273 ], 274 ],'modifyCloudToDeviceConfig' => [ 275 'path' => 'v1/{+name}:modifyCloudToDeviceConfig', 276 'httpMethod' => 'POST', 277 'parameters' => [ 278 'name' => [ 279 'location' => 'path', 280 'type' => 'string', 281 'required' => true, 282 ], 283 ], 284 ],'patch' => [ 285 'path' => 'v1/{+name}', 286 'httpMethod' => 'PATCH', 287 'parameters' => [ 288 'name' => [ 289 'location' => 'path', 290 'type' => 'string', 291 'required' => true, 292 ], 293 'updateMask' => [ 294 'location' => 'query', 295 'type' => 'string', 296 ], 297 ], 298 ],'sendCommandToDevice' => [ 299 'path' => 'v1/{+name}:sendCommandToDevice', 300 'httpMethod' => 'POST', 301 'parameters' => [ 302 'name' => [ 303 'location' => 'path', 304 'type' => 'string', 305 'required' => true, 306 ], 307 ], 308 ], 309 ] 310 ] 311 ); 312 $this->projects_locations_registries_devices_configVersions = new CloudIot\Resource\ProjectsLocationsRegistriesDevicesConfigVersions( 313 $this, 314 $this->serviceName, 315 'configVersions', 316 [ 317 'methods' => [ 318 'list' => [ 319 'path' => 'v1/{+name}/configVersions', 320 'httpMethod' => 'GET', 321 'parameters' => [ 322 'name' => [ 323 'location' => 'path', 324 'type' => 'string', 325 'required' => true, 326 ], 327 'numVersions' => [ 328 'location' => 'query', 329 'type' => 'integer', 330 ], 331 ], 332 ], 333 ] 334 ] 335 ); 336 $this->projects_locations_registries_devices_states = new CloudIot\Resource\ProjectsLocationsRegistriesDevicesStates( 337 $this, 338 $this->serviceName, 339 'states', 340 [ 341 'methods' => [ 342 'list' => [ 343 'path' => 'v1/{+name}/states', 344 'httpMethod' => 'GET', 345 'parameters' => [ 346 'name' => [ 347 'location' => 'path', 348 'type' => 'string', 349 'required' => true, 350 ], 351 'numStates' => [ 352 'location' => 'query', 353 'type' => 'integer', 354 ], 355 ], 356 ], 357 ] 358 ] 359 ); 360 $this->projects_locations_registries_groups = new CloudIot\Resource\ProjectsLocationsRegistriesGroups( 361 $this, 362 $this->serviceName, 363 'groups', 364 [ 365 'methods' => [ 366 'getIamPolicy' => [ 367 'path' => 'v1/{+resource}:getIamPolicy', 368 'httpMethod' => 'POST', 369 'parameters' => [ 370 'resource' => [ 371 'location' => 'path', 372 'type' => 'string', 373 'required' => true, 374 ], 375 ], 376 ],'setIamPolicy' => [ 377 'path' => 'v1/{+resource}:setIamPolicy', 378 'httpMethod' => 'POST', 379 'parameters' => [ 380 'resource' => [ 381 'location' => 'path', 382 'type' => 'string', 383 'required' => true, 384 ], 385 ], 386 ],'testIamPermissions' => [ 387 'path' => 'v1/{+resource}:testIamPermissions', 388 'httpMethod' => 'POST', 389 'parameters' => [ 390 'resource' => [ 391 'location' => 'path', 392 'type' => 'string', 393 'required' => true, 394 ], 395 ], 396 ], 397 ] 398 ] 399 ); 400 $this->projects_locations_registries_groups_devices = new CloudIot\Resource\ProjectsLocationsRegistriesGroupsDevices( 401 $this, 402 $this->serviceName, 403 'devices', 404 [ 405 'methods' => [ 406 'list' => [ 407 'path' => 'v1/{+parent}/devices', 408 'httpMethod' => 'GET', 409 'parameters' => [ 410 'parent' => [ 411 'location' => 'path', 412 'type' => 'string', 413 'required' => true, 414 ], 415 'deviceIds' => [ 416 'location' => 'query', 417 'type' => 'string', 418 'repeated' => true, 419 ], 420 'deviceNumIds' => [ 421 'location' => 'query', 422 'type' => 'string', 423 'repeated' => true, 424 ], 425 'fieldMask' => [ 426 'location' => 'query', 427 'type' => 'string', 428 ], 429 'gatewayListOptions.associationsDeviceId' => [ 430 'location' => 'query', 431 'type' => 'string', 432 ], 433 'gatewayListOptions.associationsGatewayId' => [ 434 'location' => 'query', 435 'type' => 'string', 436 ], 437 'gatewayListOptions.gatewayType' => [ 438 'location' => 'query', 439 'type' => 'string', 440 ], 441 'pageSize' => [ 442 'location' => 'query', 443 'type' => 'integer', 444 ], 445 'pageToken' => [ 446 'location' => 'query', 447 'type' => 'string', 448 ], 449 ], 450 ], 451 ] 452 ] 453 ); 454 } 455} 456 457// Adding a class alias for backwards compatibility with the previous class name. 458class_alias(CloudIot::class, 'Google_Service_CloudIot'); 459