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 CloudIdentity (v1).
24 *
25 * <p>
26 * API for provisioning and managing identity resources.</p>
27 *
28 * <p>
29 * For more information about this service, see the API
30 * <a href="https://cloud.google.com/identity/" target="_blank">Documentation</a>
31 * </p>
32 *
33 * @author Google, Inc.
34 */
35class CloudIdentity extends \Google\Service
36{
37  /** Private Service: https://www.googleapis.com/auth/cloud-identity.devices. */
38  const CLOUD_IDENTITY_DEVICES =
39      "https://www.googleapis.com/auth/cloud-identity.devices";
40  /** See your device details. */
41  const CLOUD_IDENTITY_DEVICES_LOOKUP =
42      "https://www.googleapis.com/auth/cloud-identity.devices.lookup";
43  /** Private Service: https://www.googleapis.com/auth/cloud-identity.devices.readonly. */
44  const CLOUD_IDENTITY_DEVICES_READONLY =
45      "https://www.googleapis.com/auth/cloud-identity.devices.readonly";
46  /** See, change, create, and delete any of the Cloud Identity Groups that you can access, including the members of each group. */
47  const CLOUD_IDENTITY_GROUPS =
48      "https://www.googleapis.com/auth/cloud-identity.groups";
49  /** See any Cloud Identity Groups that you can access, including group members and their emails. */
50  const CLOUD_IDENTITY_GROUPS_READONLY =
51      "https://www.googleapis.com/auth/cloud-identity.groups.readonly";
52  /** See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.. */
53  const CLOUD_PLATFORM =
54      "https://www.googleapis.com/auth/cloud-platform";
55
56  public $devices;
57  public $devices_deviceUsers;
58  public $devices_deviceUsers_clientStates;
59  public $groups;
60  public $groups_memberships;
61
62  /**
63   * Constructs the internal representation of the CloudIdentity service.
64   *
65   * @param Client|array $clientOrConfig The client used to deliver requests, or a
66   *                                     config array to pass to a new Client instance.
67   * @param string $rootUrl The root URL used for requests to the service.
68   */
69  public function __construct($clientOrConfig = [], $rootUrl = null)
70  {
71    parent::__construct($clientOrConfig);
72    $this->rootUrl = $rootUrl ?: 'https://cloudidentity.googleapis.com/';
73    $this->servicePath = '';
74    $this->batchPath = 'batch';
75    $this->version = 'v1';
76    $this->serviceName = 'cloudidentity';
77
78    $this->devices = new CloudIdentity\Resource\Devices(
79        $this,
80        $this->serviceName,
81        'devices',
82        [
83          'methods' => [
84            'cancelWipe' => [
85              'path' => 'v1/{+name}:cancelWipe',
86              'httpMethod' => 'POST',
87              'parameters' => [
88                'name' => [
89                  'location' => 'path',
90                  'type' => 'string',
91                  'required' => true,
92                ],
93              ],
94            ],'create' => [
95              'path' => 'v1/devices',
96              'httpMethod' => 'POST',
97              'parameters' => [
98                'customer' => [
99                  'location' => 'query',
100                  'type' => 'string',
101                ],
102              ],
103            ],'delete' => [
104              'path' => 'v1/{+name}',
105              'httpMethod' => 'DELETE',
106              'parameters' => [
107                'name' => [
108                  'location' => 'path',
109                  'type' => 'string',
110                  'required' => true,
111                ],
112                'customer' => [
113                  'location' => 'query',
114                  'type' => 'string',
115                ],
116              ],
117            ],'get' => [
118              'path' => 'v1/{+name}',
119              'httpMethod' => 'GET',
120              'parameters' => [
121                'name' => [
122                  'location' => 'path',
123                  'type' => 'string',
124                  'required' => true,
125                ],
126                'customer' => [
127                  'location' => 'query',
128                  'type' => 'string',
129                ],
130              ],
131            ],'list' => [
132              'path' => 'v1/devices',
133              'httpMethod' => 'GET',
134              'parameters' => [
135                'customer' => [
136                  'location' => 'query',
137                  'type' => 'string',
138                ],
139                'filter' => [
140                  'location' => 'query',
141                  'type' => 'string',
142                ],
143                'orderBy' => [
144                  'location' => 'query',
145                  'type' => 'string',
146                ],
147                'pageSize' => [
148                  'location' => 'query',
149                  'type' => 'integer',
150                ],
151                'pageToken' => [
152                  'location' => 'query',
153                  'type' => 'string',
154                ],
155                'view' => [
156                  'location' => 'query',
157                  'type' => 'string',
158                ],
159              ],
160            ],'wipe' => [
161              'path' => 'v1/{+name}:wipe',
162              'httpMethod' => 'POST',
163              'parameters' => [
164                'name' => [
165                  'location' => 'path',
166                  'type' => 'string',
167                  'required' => true,
168                ],
169              ],
170            ],
171          ]
172        ]
173    );
174    $this->devices_deviceUsers = new CloudIdentity\Resource\DevicesDeviceUsers(
175        $this,
176        $this->serviceName,
177        'deviceUsers',
178        [
179          'methods' => [
180            'approve' => [
181              'path' => 'v1/{+name}:approve',
182              'httpMethod' => 'POST',
183              'parameters' => [
184                'name' => [
185                  'location' => 'path',
186                  'type' => 'string',
187                  'required' => true,
188                ],
189              ],
190            ],'block' => [
191              'path' => 'v1/{+name}:block',
192              'httpMethod' => 'POST',
193              'parameters' => [
194                'name' => [
195                  'location' => 'path',
196                  'type' => 'string',
197                  'required' => true,
198                ],
199              ],
200            ],'cancelWipe' => [
201              'path' => 'v1/{+name}:cancelWipe',
202              'httpMethod' => 'POST',
203              'parameters' => [
204                'name' => [
205                  'location' => 'path',
206                  'type' => 'string',
207                  'required' => true,
208                ],
209              ],
210            ],'delete' => [
211              'path' => 'v1/{+name}',
212              'httpMethod' => 'DELETE',
213              'parameters' => [
214                'name' => [
215                  'location' => 'path',
216                  'type' => 'string',
217                  'required' => true,
218                ],
219                'customer' => [
220                  'location' => 'query',
221                  'type' => 'string',
222                ],
223              ],
224            ],'get' => [
225              'path' => 'v1/{+name}',
226              'httpMethod' => 'GET',
227              'parameters' => [
228                'name' => [
229                  'location' => 'path',
230                  'type' => 'string',
231                  'required' => true,
232                ],
233                'customer' => [
234                  'location' => 'query',
235                  'type' => 'string',
236                ],
237              ],
238            ],'list' => [
239              'path' => 'v1/{+parent}/deviceUsers',
240              'httpMethod' => 'GET',
241              'parameters' => [
242                'parent' => [
243                  'location' => 'path',
244                  'type' => 'string',
245                  'required' => true,
246                ],
247                'customer' => [
248                  'location' => 'query',
249                  'type' => 'string',
250                ],
251                'filter' => [
252                  'location' => 'query',
253                  'type' => 'string',
254                ],
255                'orderBy' => [
256                  'location' => 'query',
257                  'type' => 'string',
258                ],
259                'pageSize' => [
260                  'location' => 'query',
261                  'type' => 'integer',
262                ],
263                'pageToken' => [
264                  'location' => 'query',
265                  'type' => 'string',
266                ],
267              ],
268            ],'lookup' => [
269              'path' => 'v1/{+parent}:lookup',
270              'httpMethod' => 'GET',
271              'parameters' => [
272                'parent' => [
273                  'location' => 'path',
274                  'type' => 'string',
275                  'required' => true,
276                ],
277                'androidId' => [
278                  'location' => 'query',
279                  'type' => 'string',
280                ],
281                'pageSize' => [
282                  'location' => 'query',
283                  'type' => 'integer',
284                ],
285                'pageToken' => [
286                  'location' => 'query',
287                  'type' => 'string',
288                ],
289                'rawResourceId' => [
290                  'location' => 'query',
291                  'type' => 'string',
292                ],
293                'userId' => [
294                  'location' => 'query',
295                  'type' => 'string',
296                ],
297              ],
298            ],'wipe' => [
299              'path' => 'v1/{+name}:wipe',
300              'httpMethod' => 'POST',
301              'parameters' => [
302                'name' => [
303                  'location' => 'path',
304                  'type' => 'string',
305                  'required' => true,
306                ],
307              ],
308            ],
309          ]
310        ]
311    );
312    $this->devices_deviceUsers_clientStates = new CloudIdentity\Resource\DevicesDeviceUsersClientStates(
313        $this,
314        $this->serviceName,
315        'clientStates',
316        [
317          'methods' => [
318            'get' => [
319              'path' => 'v1/{+name}',
320              'httpMethod' => 'GET',
321              'parameters' => [
322                'name' => [
323                  'location' => 'path',
324                  'type' => 'string',
325                  'required' => true,
326                ],
327                'customer' => [
328                  'location' => 'query',
329                  'type' => 'string',
330                ],
331              ],
332            ],'list' => [
333              'path' => 'v1/{+parent}/clientStates',
334              'httpMethod' => 'GET',
335              'parameters' => [
336                'parent' => [
337                  'location' => 'path',
338                  'type' => 'string',
339                  'required' => true,
340                ],
341                'customer' => [
342                  'location' => 'query',
343                  'type' => 'string',
344                ],
345                'filter' => [
346                  'location' => 'query',
347                  'type' => 'string',
348                ],
349                'orderBy' => [
350                  'location' => 'query',
351                  'type' => 'string',
352                ],
353                'pageToken' => [
354                  'location' => 'query',
355                  'type' => 'string',
356                ],
357              ],
358            ],'patch' => [
359              'path' => 'v1/{+name}',
360              'httpMethod' => 'PATCH',
361              'parameters' => [
362                'name' => [
363                  'location' => 'path',
364                  'type' => 'string',
365                  'required' => true,
366                ],
367                'customer' => [
368                  'location' => 'query',
369                  'type' => 'string',
370                ],
371                'updateMask' => [
372                  'location' => 'query',
373                  'type' => 'string',
374                ],
375              ],
376            ],
377          ]
378        ]
379    );
380    $this->groups = new CloudIdentity\Resource\Groups(
381        $this,
382        $this->serviceName,
383        'groups',
384        [
385          'methods' => [
386            'create' => [
387              'path' => 'v1/groups',
388              'httpMethod' => 'POST',
389              'parameters' => [
390                'initialGroupConfig' => [
391                  'location' => 'query',
392                  'type' => 'string',
393                ],
394              ],
395            ],'delete' => [
396              'path' => 'v1/{+name}',
397              'httpMethod' => 'DELETE',
398              'parameters' => [
399                'name' => [
400                  'location' => 'path',
401                  'type' => 'string',
402                  'required' => true,
403                ],
404              ],
405            ],'get' => [
406              'path' => 'v1/{+name}',
407              'httpMethod' => 'GET',
408              'parameters' => [
409                'name' => [
410                  'location' => 'path',
411                  'type' => 'string',
412                  'required' => true,
413                ],
414              ],
415            ],'getSecuritySettings' => [
416              'path' => 'v1/{+name}',
417              'httpMethod' => 'GET',
418              'parameters' => [
419                'name' => [
420                  'location' => 'path',
421                  'type' => 'string',
422                  'required' => true,
423                ],
424                'readMask' => [
425                  'location' => 'query',
426                  'type' => 'string',
427                ],
428              ],
429            ],'list' => [
430              'path' => 'v1/groups',
431              'httpMethod' => 'GET',
432              'parameters' => [
433                'pageSize' => [
434                  'location' => 'query',
435                  'type' => 'integer',
436                ],
437                'pageToken' => [
438                  'location' => 'query',
439                  'type' => 'string',
440                ],
441                'parent' => [
442                  'location' => 'query',
443                  'type' => 'string',
444                ],
445                'view' => [
446                  'location' => 'query',
447                  'type' => 'string',
448                ],
449              ],
450            ],'lookup' => [
451              'path' => 'v1/groups:lookup',
452              'httpMethod' => 'GET',
453              'parameters' => [
454                'groupKey.id' => [
455                  'location' => 'query',
456                  'type' => 'string',
457                ],
458                'groupKey.namespace' => [
459                  'location' => 'query',
460                  'type' => 'string',
461                ],
462              ],
463            ],'patch' => [
464              'path' => 'v1/{+name}',
465              'httpMethod' => 'PATCH',
466              'parameters' => [
467                'name' => [
468                  'location' => 'path',
469                  'type' => 'string',
470                  'required' => true,
471                ],
472                'updateMask' => [
473                  'location' => 'query',
474                  'type' => 'string',
475                ],
476              ],
477            ],'search' => [
478              'path' => 'v1/groups:search',
479              'httpMethod' => 'GET',
480              'parameters' => [
481                'pageSize' => [
482                  'location' => 'query',
483                  'type' => 'integer',
484                ],
485                'pageToken' => [
486                  'location' => 'query',
487                  'type' => 'string',
488                ],
489                'query' => [
490                  'location' => 'query',
491                  'type' => 'string',
492                ],
493                'view' => [
494                  'location' => 'query',
495                  'type' => 'string',
496                ],
497              ],
498            ],'updateSecuritySettings' => [
499              'path' => 'v1/{+name}',
500              'httpMethod' => 'PATCH',
501              'parameters' => [
502                'name' => [
503                  'location' => 'path',
504                  'type' => 'string',
505                  'required' => true,
506                ],
507                'updateMask' => [
508                  'location' => 'query',
509                  'type' => 'string',
510                ],
511              ],
512            ],
513          ]
514        ]
515    );
516    $this->groups_memberships = new CloudIdentity\Resource\GroupsMemberships(
517        $this,
518        $this->serviceName,
519        'memberships',
520        [
521          'methods' => [
522            'checkTransitiveMembership' => [
523              'path' => 'v1/{+parent}/memberships:checkTransitiveMembership',
524              'httpMethod' => 'GET',
525              'parameters' => [
526                'parent' => [
527                  'location' => 'path',
528                  'type' => 'string',
529                  'required' => true,
530                ],
531                'query' => [
532                  'location' => 'query',
533                  'type' => 'string',
534                ],
535              ],
536            ],'create' => [
537              'path' => 'v1/{+parent}/memberships',
538              'httpMethod' => 'POST',
539              'parameters' => [
540                'parent' => [
541                  'location' => 'path',
542                  'type' => 'string',
543                  'required' => true,
544                ],
545              ],
546            ],'delete' => [
547              'path' => 'v1/{+name}',
548              'httpMethod' => 'DELETE',
549              'parameters' => [
550                'name' => [
551                  'location' => 'path',
552                  'type' => 'string',
553                  'required' => true,
554                ],
555              ],
556            ],'get' => [
557              'path' => 'v1/{+name}',
558              'httpMethod' => 'GET',
559              'parameters' => [
560                'name' => [
561                  'location' => 'path',
562                  'type' => 'string',
563                  'required' => true,
564                ],
565              ],
566            ],'getMembershipGraph' => [
567              'path' => 'v1/{+parent}/memberships:getMembershipGraph',
568              'httpMethod' => 'GET',
569              'parameters' => [
570                'parent' => [
571                  'location' => 'path',
572                  'type' => 'string',
573                  'required' => true,
574                ],
575                'query' => [
576                  'location' => 'query',
577                  'type' => 'string',
578                ],
579              ],
580            ],'list' => [
581              'path' => 'v1/{+parent}/memberships',
582              'httpMethod' => 'GET',
583              'parameters' => [
584                'parent' => [
585                  'location' => 'path',
586                  'type' => 'string',
587                  'required' => true,
588                ],
589                'pageSize' => [
590                  'location' => 'query',
591                  'type' => 'integer',
592                ],
593                'pageToken' => [
594                  'location' => 'query',
595                  'type' => 'string',
596                ],
597                'view' => [
598                  'location' => 'query',
599                  'type' => 'string',
600                ],
601              ],
602            ],'lookup' => [
603              'path' => 'v1/{+parent}/memberships:lookup',
604              'httpMethod' => 'GET',
605              'parameters' => [
606                'parent' => [
607                  'location' => 'path',
608                  'type' => 'string',
609                  'required' => true,
610                ],
611                'memberKey.id' => [
612                  'location' => 'query',
613                  'type' => 'string',
614                ],
615                'memberKey.namespace' => [
616                  'location' => 'query',
617                  'type' => 'string',
618                ],
619              ],
620            ],'modifyMembershipRoles' => [
621              'path' => 'v1/{+name}:modifyMembershipRoles',
622              'httpMethod' => 'POST',
623              'parameters' => [
624                'name' => [
625                  'location' => 'path',
626                  'type' => 'string',
627                  'required' => true,
628                ],
629              ],
630            ],'searchTransitiveGroups' => [
631              'path' => 'v1/{+parent}/memberships:searchTransitiveGroups',
632              'httpMethod' => 'GET',
633              'parameters' => [
634                'parent' => [
635                  'location' => 'path',
636                  'type' => 'string',
637                  'required' => true,
638                ],
639                'pageSize' => [
640                  'location' => 'query',
641                  'type' => 'integer',
642                ],
643                'pageToken' => [
644                  'location' => 'query',
645                  'type' => 'string',
646                ],
647                'query' => [
648                  'location' => 'query',
649                  'type' => 'string',
650                ],
651              ],
652            ],'searchTransitiveMemberships' => [
653              'path' => 'v1/{+parent}/memberships:searchTransitiveMemberships',
654              'httpMethod' => 'GET',
655              'parameters' => [
656                'parent' => [
657                  'location' => 'path',
658                  'type' => 'string',
659                  'required' => true,
660                ],
661                'pageSize' => [
662                  'location' => 'query',
663                  'type' => 'integer',
664                ],
665                'pageToken' => [
666                  'location' => 'query',
667                  'type' => 'string',
668                ],
669              ],
670            ],
671          ]
672        ]
673    );
674  }
675}
676
677// Adding a class alias for backwards compatibility with the previous class name.
678class_alias(CloudIdentity::class, 'Google_Service_CloudIdentity');
679