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