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 TagManager (v2).
24 *
25 * <p>
26 * This API allows clients to access and modify container and tag configuration.</p>
27 *
28 * <p>
29 * For more information about this service, see the API
30 * <a href="https://developers.google.com/tag-manager" target="_blank">Documentation</a>
31 * </p>
32 *
33 * @author Google, Inc.
34 */
35class TagManager extends \Google\Service
36{
37  /** Delete your Google Tag Manager containers. */
38  const TAGMANAGER_DELETE_CONTAINERS =
39      "https://www.googleapis.com/auth/tagmanager.delete.containers";
40  /** Manage your Google Tag Manager container and its subcomponents, excluding versioning and publishing. */
41  const TAGMANAGER_EDIT_CONTAINERS =
42      "https://www.googleapis.com/auth/tagmanager.edit.containers";
43  /** Manage your Google Tag Manager container versions. */
44  const TAGMANAGER_EDIT_CONTAINERVERSIONS =
45      "https://www.googleapis.com/auth/tagmanager.edit.containerversions";
46  /** View and manage your Google Tag Manager accounts. */
47  const TAGMANAGER_MANAGE_ACCOUNTS =
48      "https://www.googleapis.com/auth/tagmanager.manage.accounts";
49  /** Manage user permissions of your Google Tag Manager account and container. */
50  const TAGMANAGER_MANAGE_USERS =
51      "https://www.googleapis.com/auth/tagmanager.manage.users";
52  /** Publish your Google Tag Manager container versions. */
53  const TAGMANAGER_PUBLISH =
54      "https://www.googleapis.com/auth/tagmanager.publish";
55  /** View your Google Tag Manager container and its subcomponents. */
56  const TAGMANAGER_READONLY =
57      "https://www.googleapis.com/auth/tagmanager.readonly";
58
59  public $accounts;
60  public $accounts_containers;
61  public $accounts_containers_environments;
62  public $accounts_containers_version_headers;
63  public $accounts_containers_versions;
64  public $accounts_containers_workspaces;
65  public $accounts_containers_workspaces_built_in_variables;
66  public $accounts_containers_workspaces_clients;
67  public $accounts_containers_workspaces_folders;
68  public $accounts_containers_workspaces_tags;
69  public $accounts_containers_workspaces_templates;
70  public $accounts_containers_workspaces_triggers;
71  public $accounts_containers_workspaces_variables;
72  public $accounts_containers_workspaces_zones;
73  public $accounts_user_permissions;
74
75  /**
76   * Constructs the internal representation of the TagManager service.
77   *
78   * @param Client|array $clientOrConfig The client used to deliver requests, or a
79   *                                     config array to pass to a new Client instance.
80   * @param string $rootUrl The root URL used for requests to the service.
81   */
82  public function __construct($clientOrConfig = [], $rootUrl = null)
83  {
84    parent::__construct($clientOrConfig);
85    $this->rootUrl = $rootUrl ?: 'https://tagmanager.googleapis.com/';
86    $this->servicePath = '';
87    $this->batchPath = 'batch';
88    $this->version = 'v2';
89    $this->serviceName = 'tagmanager';
90
91    $this->accounts = new TagManager\Resource\Accounts(
92        $this,
93        $this->serviceName,
94        'accounts',
95        [
96          'methods' => [
97            'get' => [
98              'path' => 'tagmanager/v2/{+path}',
99              'httpMethod' => 'GET',
100              'parameters' => [
101                'path' => [
102                  'location' => 'path',
103                  'type' => 'string',
104                  'required' => true,
105                ],
106              ],
107            ],'list' => [
108              'path' => 'tagmanager/v2/accounts',
109              'httpMethod' => 'GET',
110              'parameters' => [
111                'pageToken' => [
112                  'location' => 'query',
113                  'type' => 'string',
114                ],
115              ],
116            ],'update' => [
117              'path' => 'tagmanager/v2/{+path}',
118              'httpMethod' => 'PUT',
119              'parameters' => [
120                'path' => [
121                  'location' => 'path',
122                  'type' => 'string',
123                  'required' => true,
124                ],
125                'fingerprint' => [
126                  'location' => 'query',
127                  'type' => 'string',
128                ],
129              ],
130            ],
131          ]
132        ]
133    );
134    $this->accounts_containers = new TagManager\Resource\AccountsContainers(
135        $this,
136        $this->serviceName,
137        'containers',
138        [
139          'methods' => [
140            'create' => [
141              'path' => 'tagmanager/v2/{+parent}/containers',
142              'httpMethod' => 'POST',
143              'parameters' => [
144                'parent' => [
145                  'location' => 'path',
146                  'type' => 'string',
147                  'required' => true,
148                ],
149              ],
150            ],'delete' => [
151              'path' => 'tagmanager/v2/{+path}',
152              'httpMethod' => 'DELETE',
153              'parameters' => [
154                'path' => [
155                  'location' => 'path',
156                  'type' => 'string',
157                  'required' => true,
158                ],
159              ],
160            ],'get' => [
161              'path' => 'tagmanager/v2/{+path}',
162              'httpMethod' => 'GET',
163              'parameters' => [
164                'path' => [
165                  'location' => 'path',
166                  'type' => 'string',
167                  'required' => true,
168                ],
169              ],
170            ],'list' => [
171              'path' => 'tagmanager/v2/{+parent}/containers',
172              'httpMethod' => 'GET',
173              'parameters' => [
174                'parent' => [
175                  'location' => 'path',
176                  'type' => 'string',
177                  'required' => true,
178                ],
179                'pageToken' => [
180                  'location' => 'query',
181                  'type' => 'string',
182                ],
183              ],
184            ],'update' => [
185              'path' => 'tagmanager/v2/{+path}',
186              'httpMethod' => 'PUT',
187              'parameters' => [
188                'path' => [
189                  'location' => 'path',
190                  'type' => 'string',
191                  'required' => true,
192                ],
193                'fingerprint' => [
194                  'location' => 'query',
195                  'type' => 'string',
196                ],
197              ],
198            ],
199          ]
200        ]
201    );
202    $this->accounts_containers_environments = new TagManager\Resource\AccountsContainersEnvironments(
203        $this,
204        $this->serviceName,
205        'environments',
206        [
207          'methods' => [
208            'create' => [
209              'path' => 'tagmanager/v2/{+parent}/environments',
210              'httpMethod' => 'POST',
211              'parameters' => [
212                'parent' => [
213                  'location' => 'path',
214                  'type' => 'string',
215                  'required' => true,
216                ],
217              ],
218            ],'delete' => [
219              'path' => 'tagmanager/v2/{+path}',
220              'httpMethod' => 'DELETE',
221              'parameters' => [
222                'path' => [
223                  'location' => 'path',
224                  'type' => 'string',
225                  'required' => true,
226                ],
227              ],
228            ],'get' => [
229              'path' => 'tagmanager/v2/{+path}',
230              'httpMethod' => 'GET',
231              'parameters' => [
232                'path' => [
233                  'location' => 'path',
234                  'type' => 'string',
235                  'required' => true,
236                ],
237              ],
238            ],'list' => [
239              'path' => 'tagmanager/v2/{+parent}/environments',
240              'httpMethod' => 'GET',
241              'parameters' => [
242                'parent' => [
243                  'location' => 'path',
244                  'type' => 'string',
245                  'required' => true,
246                ],
247                'pageToken' => [
248                  'location' => 'query',
249                  'type' => 'string',
250                ],
251              ],
252            ],'reauthorize' => [
253              'path' => 'tagmanager/v2/{+path}:reauthorize',
254              'httpMethod' => 'POST',
255              'parameters' => [
256                'path' => [
257                  'location' => 'path',
258                  'type' => 'string',
259                  'required' => true,
260                ],
261              ],
262            ],'update' => [
263              'path' => 'tagmanager/v2/{+path}',
264              'httpMethod' => 'PUT',
265              'parameters' => [
266                'path' => [
267                  'location' => 'path',
268                  'type' => 'string',
269                  'required' => true,
270                ],
271                'fingerprint' => [
272                  'location' => 'query',
273                  'type' => 'string',
274                ],
275              ],
276            ],
277          ]
278        ]
279    );
280    $this->accounts_containers_version_headers = new TagManager\Resource\AccountsContainersVersionHeaders(
281        $this,
282        $this->serviceName,
283        'version_headers',
284        [
285          'methods' => [
286            'latest' => [
287              'path' => 'tagmanager/v2/{+parent}/version_headers:latest',
288              'httpMethod' => 'GET',
289              'parameters' => [
290                'parent' => [
291                  'location' => 'path',
292                  'type' => 'string',
293                  'required' => true,
294                ],
295              ],
296            ],'list' => [
297              'path' => 'tagmanager/v2/{+parent}/version_headers',
298              'httpMethod' => 'GET',
299              'parameters' => [
300                'parent' => [
301                  'location' => 'path',
302                  'type' => 'string',
303                  'required' => true,
304                ],
305                'includeDeleted' => [
306                  'location' => 'query',
307                  'type' => 'boolean',
308                ],
309                'pageToken' => [
310                  'location' => 'query',
311                  'type' => 'string',
312                ],
313              ],
314            ],
315          ]
316        ]
317    );
318    $this->accounts_containers_versions = new TagManager\Resource\AccountsContainersVersions(
319        $this,
320        $this->serviceName,
321        'versions',
322        [
323          'methods' => [
324            'delete' => [
325              'path' => 'tagmanager/v2/{+path}',
326              'httpMethod' => 'DELETE',
327              'parameters' => [
328                'path' => [
329                  'location' => 'path',
330                  'type' => 'string',
331                  'required' => true,
332                ],
333              ],
334            ],'get' => [
335              'path' => 'tagmanager/v2/{+path}',
336              'httpMethod' => 'GET',
337              'parameters' => [
338                'path' => [
339                  'location' => 'path',
340                  'type' => 'string',
341                  'required' => true,
342                ],
343                'containerVersionId' => [
344                  'location' => 'query',
345                  'type' => 'string',
346                ],
347              ],
348            ],'live' => [
349              'path' => 'tagmanager/v2/{+parent}/versions:live',
350              'httpMethod' => 'GET',
351              'parameters' => [
352                'parent' => [
353                  'location' => 'path',
354                  'type' => 'string',
355                  'required' => true,
356                ],
357              ],
358            ],'publish' => [
359              'path' => 'tagmanager/v2/{+path}:publish',
360              'httpMethod' => 'POST',
361              'parameters' => [
362                'path' => [
363                  'location' => 'path',
364                  'type' => 'string',
365                  'required' => true,
366                ],
367                'fingerprint' => [
368                  'location' => 'query',
369                  'type' => 'string',
370                ],
371              ],
372            ],'set_latest' => [
373              'path' => 'tagmanager/v2/{+path}:set_latest',
374              'httpMethod' => 'POST',
375              'parameters' => [
376                'path' => [
377                  'location' => 'path',
378                  'type' => 'string',
379                  'required' => true,
380                ],
381              ],
382            ],'undelete' => [
383              'path' => 'tagmanager/v2/{+path}:undelete',
384              'httpMethod' => 'POST',
385              'parameters' => [
386                'path' => [
387                  'location' => 'path',
388                  'type' => 'string',
389                  'required' => true,
390                ],
391              ],
392            ],'update' => [
393              'path' => 'tagmanager/v2/{+path}',
394              'httpMethod' => 'PUT',
395              'parameters' => [
396                'path' => [
397                  'location' => 'path',
398                  'type' => 'string',
399                  'required' => true,
400                ],
401                'fingerprint' => [
402                  'location' => 'query',
403                  'type' => 'string',
404                ],
405              ],
406            ],
407          ]
408        ]
409    );
410    $this->accounts_containers_workspaces = new TagManager\Resource\AccountsContainersWorkspaces(
411        $this,
412        $this->serviceName,
413        'workspaces',
414        [
415          'methods' => [
416            'create' => [
417              'path' => 'tagmanager/v2/{+parent}/workspaces',
418              'httpMethod' => 'POST',
419              'parameters' => [
420                'parent' => [
421                  'location' => 'path',
422                  'type' => 'string',
423                  'required' => true,
424                ],
425              ],
426            ],'create_version' => [
427              'path' => 'tagmanager/v2/{+path}:create_version',
428              'httpMethod' => 'POST',
429              'parameters' => [
430                'path' => [
431                  'location' => 'path',
432                  'type' => 'string',
433                  'required' => true,
434                ],
435              ],
436            ],'delete' => [
437              'path' => 'tagmanager/v2/{+path}',
438              'httpMethod' => 'DELETE',
439              'parameters' => [
440                'path' => [
441                  'location' => 'path',
442                  'type' => 'string',
443                  'required' => true,
444                ],
445              ],
446            ],'get' => [
447              'path' => 'tagmanager/v2/{+path}',
448              'httpMethod' => 'GET',
449              'parameters' => [
450                'path' => [
451                  'location' => 'path',
452                  'type' => 'string',
453                  'required' => true,
454                ],
455              ],
456            ],'getStatus' => [
457              'path' => 'tagmanager/v2/{+path}/status',
458              'httpMethod' => 'GET',
459              'parameters' => [
460                'path' => [
461                  'location' => 'path',
462                  'type' => 'string',
463                  'required' => true,
464                ],
465              ],
466            ],'list' => [
467              'path' => 'tagmanager/v2/{+parent}/workspaces',
468              'httpMethod' => 'GET',
469              'parameters' => [
470                'parent' => [
471                  'location' => 'path',
472                  'type' => 'string',
473                  'required' => true,
474                ],
475                'pageToken' => [
476                  'location' => 'query',
477                  'type' => 'string',
478                ],
479              ],
480            ],'quick_preview' => [
481              'path' => 'tagmanager/v2/{+path}:quick_preview',
482              'httpMethod' => 'POST',
483              'parameters' => [
484                'path' => [
485                  'location' => 'path',
486                  'type' => 'string',
487                  'required' => true,
488                ],
489              ],
490            ],'resolve_conflict' => [
491              'path' => 'tagmanager/v2/{+path}:resolve_conflict',
492              'httpMethod' => 'POST',
493              'parameters' => [
494                'path' => [
495                  'location' => 'path',
496                  'type' => 'string',
497                  'required' => true,
498                ],
499                'fingerprint' => [
500                  'location' => 'query',
501                  'type' => 'string',
502                ],
503              ],
504            ],'sync' => [
505              'path' => 'tagmanager/v2/{+path}:sync',
506              'httpMethod' => 'POST',
507              'parameters' => [
508                'path' => [
509                  'location' => 'path',
510                  'type' => 'string',
511                  'required' => true,
512                ],
513              ],
514            ],'update' => [
515              'path' => 'tagmanager/v2/{+path}',
516              'httpMethod' => 'PUT',
517              'parameters' => [
518                'path' => [
519                  'location' => 'path',
520                  'type' => 'string',
521                  'required' => true,
522                ],
523                'fingerprint' => [
524                  'location' => 'query',
525                  'type' => 'string',
526                ],
527              ],
528            ],
529          ]
530        ]
531    );
532    $this->accounts_containers_workspaces_built_in_variables = new TagManager\Resource\AccountsContainersWorkspacesBuiltInVariables(
533        $this,
534        $this->serviceName,
535        'built_in_variables',
536        [
537          'methods' => [
538            'create' => [
539              'path' => 'tagmanager/v2/{+parent}/built_in_variables',
540              'httpMethod' => 'POST',
541              'parameters' => [
542                'parent' => [
543                  'location' => 'path',
544                  'type' => 'string',
545                  'required' => true,
546                ],
547                'type' => [
548                  'location' => 'query',
549                  'type' => 'string',
550                  'repeated' => true,
551                ],
552              ],
553            ],'delete' => [
554              'path' => 'tagmanager/v2/{+path}',
555              'httpMethod' => 'DELETE',
556              'parameters' => [
557                'path' => [
558                  'location' => 'path',
559                  'type' => 'string',
560                  'required' => true,
561                ],
562                'type' => [
563                  'location' => 'query',
564                  'type' => 'string',
565                  'repeated' => true,
566                ],
567              ],
568            ],'list' => [
569              'path' => 'tagmanager/v2/{+parent}/built_in_variables',
570              'httpMethod' => 'GET',
571              'parameters' => [
572                'parent' => [
573                  'location' => 'path',
574                  'type' => 'string',
575                  'required' => true,
576                ],
577                'pageToken' => [
578                  'location' => 'query',
579                  'type' => 'string',
580                ],
581              ],
582            ],'revert' => [
583              'path' => 'tagmanager/v2/{+path}/built_in_variables:revert',
584              'httpMethod' => 'POST',
585              'parameters' => [
586                'path' => [
587                  'location' => 'path',
588                  'type' => 'string',
589                  'required' => true,
590                ],
591                'type' => [
592                  'location' => 'query',
593                  'type' => 'string',
594                ],
595              ],
596            ],
597          ]
598        ]
599    );
600    $this->accounts_containers_workspaces_clients = new TagManager\Resource\AccountsContainersWorkspacesClients(
601        $this,
602        $this->serviceName,
603        'clients',
604        [
605          'methods' => [
606            'create' => [
607              'path' => 'tagmanager/v2/{+parent}/clients',
608              'httpMethod' => 'POST',
609              'parameters' => [
610                'parent' => [
611                  'location' => 'path',
612                  'type' => 'string',
613                  'required' => true,
614                ],
615              ],
616            ],'delete' => [
617              'path' => 'tagmanager/v2/{+path}',
618              'httpMethod' => 'DELETE',
619              'parameters' => [
620                'path' => [
621                  'location' => 'path',
622                  'type' => 'string',
623                  'required' => true,
624                ],
625              ],
626            ],'get' => [
627              'path' => 'tagmanager/v2/{+path}',
628              'httpMethod' => 'GET',
629              'parameters' => [
630                'path' => [
631                  'location' => 'path',
632                  'type' => 'string',
633                  'required' => true,
634                ],
635              ],
636            ],'list' => [
637              'path' => 'tagmanager/v2/{+parent}/clients',
638              'httpMethod' => 'GET',
639              'parameters' => [
640                'parent' => [
641                  'location' => 'path',
642                  'type' => 'string',
643                  'required' => true,
644                ],
645                'pageToken' => [
646                  'location' => 'query',
647                  'type' => 'string',
648                ],
649              ],
650            ],'revert' => [
651              'path' => 'tagmanager/v2/{+path}:revert',
652              'httpMethod' => 'POST',
653              'parameters' => [
654                'path' => [
655                  'location' => 'path',
656                  'type' => 'string',
657                  'required' => true,
658                ],
659                'fingerprint' => [
660                  'location' => 'query',
661                  'type' => 'string',
662                ],
663              ],
664            ],'update' => [
665              'path' => 'tagmanager/v2/{+path}',
666              'httpMethod' => 'PUT',
667              'parameters' => [
668                'path' => [
669                  'location' => 'path',
670                  'type' => 'string',
671                  'required' => true,
672                ],
673                'fingerprint' => [
674                  'location' => 'query',
675                  'type' => 'string',
676                ],
677              ],
678            ],
679          ]
680        ]
681    );
682    $this->accounts_containers_workspaces_folders = new TagManager\Resource\AccountsContainersWorkspacesFolders(
683        $this,
684        $this->serviceName,
685        'folders',
686        [
687          'methods' => [
688            'create' => [
689              'path' => 'tagmanager/v2/{+parent}/folders',
690              'httpMethod' => 'POST',
691              'parameters' => [
692                'parent' => [
693                  'location' => 'path',
694                  'type' => 'string',
695                  'required' => true,
696                ],
697              ],
698            ],'delete' => [
699              'path' => 'tagmanager/v2/{+path}',
700              'httpMethod' => 'DELETE',
701              'parameters' => [
702                'path' => [
703                  'location' => 'path',
704                  'type' => 'string',
705                  'required' => true,
706                ],
707              ],
708            ],'entities' => [
709              'path' => 'tagmanager/v2/{+path}:entities',
710              'httpMethod' => 'POST',
711              'parameters' => [
712                'path' => [
713                  'location' => 'path',
714                  'type' => 'string',
715                  'required' => true,
716                ],
717                'pageToken' => [
718                  'location' => 'query',
719                  'type' => 'string',
720                ],
721              ],
722            ],'get' => [
723              'path' => 'tagmanager/v2/{+path}',
724              'httpMethod' => 'GET',
725              'parameters' => [
726                'path' => [
727                  'location' => 'path',
728                  'type' => 'string',
729                  'required' => true,
730                ],
731              ],
732            ],'list' => [
733              'path' => 'tagmanager/v2/{+parent}/folders',
734              'httpMethod' => 'GET',
735              'parameters' => [
736                'parent' => [
737                  'location' => 'path',
738                  'type' => 'string',
739                  'required' => true,
740                ],
741                'pageToken' => [
742                  'location' => 'query',
743                  'type' => 'string',
744                ],
745              ],
746            ],'move_entities_to_folder' => [
747              'path' => 'tagmanager/v2/{+path}:move_entities_to_folder',
748              'httpMethod' => 'POST',
749              'parameters' => [
750                'path' => [
751                  'location' => 'path',
752                  'type' => 'string',
753                  'required' => true,
754                ],
755                'tagId' => [
756                  'location' => 'query',
757                  'type' => 'string',
758                  'repeated' => true,
759                ],
760                'triggerId' => [
761                  'location' => 'query',
762                  'type' => 'string',
763                  'repeated' => true,
764                ],
765                'variableId' => [
766                  'location' => 'query',
767                  'type' => 'string',
768                  'repeated' => true,
769                ],
770              ],
771            ],'revert' => [
772              'path' => 'tagmanager/v2/{+path}:revert',
773              'httpMethod' => 'POST',
774              'parameters' => [
775                'path' => [
776                  'location' => 'path',
777                  'type' => 'string',
778                  'required' => true,
779                ],
780                'fingerprint' => [
781                  'location' => 'query',
782                  'type' => 'string',
783                ],
784              ],
785            ],'update' => [
786              'path' => 'tagmanager/v2/{+path}',
787              'httpMethod' => 'PUT',
788              'parameters' => [
789                'path' => [
790                  'location' => 'path',
791                  'type' => 'string',
792                  'required' => true,
793                ],
794                'fingerprint' => [
795                  'location' => 'query',
796                  'type' => 'string',
797                ],
798              ],
799            ],
800          ]
801        ]
802    );
803    $this->accounts_containers_workspaces_tags = new TagManager\Resource\AccountsContainersWorkspacesTags(
804        $this,
805        $this->serviceName,
806        'tags',
807        [
808          'methods' => [
809            'create' => [
810              'path' => 'tagmanager/v2/{+parent}/tags',
811              'httpMethod' => 'POST',
812              'parameters' => [
813                'parent' => [
814                  'location' => 'path',
815                  'type' => 'string',
816                  'required' => true,
817                ],
818              ],
819            ],'delete' => [
820              'path' => 'tagmanager/v2/{+path}',
821              'httpMethod' => 'DELETE',
822              'parameters' => [
823                'path' => [
824                  'location' => 'path',
825                  'type' => 'string',
826                  'required' => true,
827                ],
828              ],
829            ],'get' => [
830              'path' => 'tagmanager/v2/{+path}',
831              'httpMethod' => 'GET',
832              'parameters' => [
833                'path' => [
834                  'location' => 'path',
835                  'type' => 'string',
836                  'required' => true,
837                ],
838              ],
839            ],'list' => [
840              'path' => 'tagmanager/v2/{+parent}/tags',
841              'httpMethod' => 'GET',
842              'parameters' => [
843                'parent' => [
844                  'location' => 'path',
845                  'type' => 'string',
846                  'required' => true,
847                ],
848                'pageToken' => [
849                  'location' => 'query',
850                  'type' => 'string',
851                ],
852              ],
853            ],'revert' => [
854              'path' => 'tagmanager/v2/{+path}:revert',
855              'httpMethod' => 'POST',
856              'parameters' => [
857                'path' => [
858                  'location' => 'path',
859                  'type' => 'string',
860                  'required' => true,
861                ],
862                'fingerprint' => [
863                  'location' => 'query',
864                  'type' => 'string',
865                ],
866              ],
867            ],'update' => [
868              'path' => 'tagmanager/v2/{+path}',
869              'httpMethod' => 'PUT',
870              'parameters' => [
871                'path' => [
872                  'location' => 'path',
873                  'type' => 'string',
874                  'required' => true,
875                ],
876                'fingerprint' => [
877                  'location' => 'query',
878                  'type' => 'string',
879                ],
880              ],
881            ],
882          ]
883        ]
884    );
885    $this->accounts_containers_workspaces_templates = new TagManager\Resource\AccountsContainersWorkspacesTemplates(
886        $this,
887        $this->serviceName,
888        'templates',
889        [
890          'methods' => [
891            'create' => [
892              'path' => 'tagmanager/v2/{+parent}/templates',
893              'httpMethod' => 'POST',
894              'parameters' => [
895                'parent' => [
896                  'location' => 'path',
897                  'type' => 'string',
898                  'required' => true,
899                ],
900              ],
901            ],'delete' => [
902              'path' => 'tagmanager/v2/{+path}',
903              'httpMethod' => 'DELETE',
904              'parameters' => [
905                'path' => [
906                  'location' => 'path',
907                  'type' => 'string',
908                  'required' => true,
909                ],
910              ],
911            ],'get' => [
912              'path' => 'tagmanager/v2/{+path}',
913              'httpMethod' => 'GET',
914              'parameters' => [
915                'path' => [
916                  'location' => 'path',
917                  'type' => 'string',
918                  'required' => true,
919                ],
920              ],
921            ],'list' => [
922              'path' => 'tagmanager/v2/{+parent}/templates',
923              'httpMethod' => 'GET',
924              'parameters' => [
925                'parent' => [
926                  'location' => 'path',
927                  'type' => 'string',
928                  'required' => true,
929                ],
930                'pageToken' => [
931                  'location' => 'query',
932                  'type' => 'string',
933                ],
934              ],
935            ],'revert' => [
936              'path' => 'tagmanager/v2/{+path}:revert',
937              'httpMethod' => 'POST',
938              'parameters' => [
939                'path' => [
940                  'location' => 'path',
941                  'type' => 'string',
942                  'required' => true,
943                ],
944                'fingerprint' => [
945                  'location' => 'query',
946                  'type' => 'string',
947                ],
948              ],
949            ],'update' => [
950              'path' => 'tagmanager/v2/{+path}',
951              'httpMethod' => 'PUT',
952              'parameters' => [
953                'path' => [
954                  'location' => 'path',
955                  'type' => 'string',
956                  'required' => true,
957                ],
958                'fingerprint' => [
959                  'location' => 'query',
960                  'type' => 'string',
961                ],
962              ],
963            ],
964          ]
965        ]
966    );
967    $this->accounts_containers_workspaces_triggers = new TagManager\Resource\AccountsContainersWorkspacesTriggers(
968        $this,
969        $this->serviceName,
970        'triggers',
971        [
972          'methods' => [
973            'create' => [
974              'path' => 'tagmanager/v2/{+parent}/triggers',
975              'httpMethod' => 'POST',
976              'parameters' => [
977                'parent' => [
978                  'location' => 'path',
979                  'type' => 'string',
980                  'required' => true,
981                ],
982              ],
983            ],'delete' => [
984              'path' => 'tagmanager/v2/{+path}',
985              'httpMethod' => 'DELETE',
986              'parameters' => [
987                'path' => [
988                  'location' => 'path',
989                  'type' => 'string',
990                  'required' => true,
991                ],
992              ],
993            ],'get' => [
994              'path' => 'tagmanager/v2/{+path}',
995              'httpMethod' => 'GET',
996              'parameters' => [
997                'path' => [
998                  'location' => 'path',
999                  'type' => 'string',
1000                  'required' => true,
1001                ],
1002              ],
1003            ],'list' => [
1004              'path' => 'tagmanager/v2/{+parent}/triggers',
1005              'httpMethod' => 'GET',
1006              'parameters' => [
1007                'parent' => [
1008                  'location' => 'path',
1009                  'type' => 'string',
1010                  'required' => true,
1011                ],
1012                'pageToken' => [
1013                  'location' => 'query',
1014                  'type' => 'string',
1015                ],
1016              ],
1017            ],'revert' => [
1018              'path' => 'tagmanager/v2/{+path}:revert',
1019              'httpMethod' => 'POST',
1020              'parameters' => [
1021                'path' => [
1022                  'location' => 'path',
1023                  'type' => 'string',
1024                  'required' => true,
1025                ],
1026                'fingerprint' => [
1027                  'location' => 'query',
1028                  'type' => 'string',
1029                ],
1030              ],
1031            ],'update' => [
1032              'path' => 'tagmanager/v2/{+path}',
1033              'httpMethod' => 'PUT',
1034              'parameters' => [
1035                'path' => [
1036                  'location' => 'path',
1037                  'type' => 'string',
1038                  'required' => true,
1039                ],
1040                'fingerprint' => [
1041                  'location' => 'query',
1042                  'type' => 'string',
1043                ],
1044              ],
1045            ],
1046          ]
1047        ]
1048    );
1049    $this->accounts_containers_workspaces_variables = new TagManager\Resource\AccountsContainersWorkspacesVariables(
1050        $this,
1051        $this->serviceName,
1052        'variables',
1053        [
1054          'methods' => [
1055            'create' => [
1056              'path' => 'tagmanager/v2/{+parent}/variables',
1057              'httpMethod' => 'POST',
1058              'parameters' => [
1059                'parent' => [
1060                  'location' => 'path',
1061                  'type' => 'string',
1062                  'required' => true,
1063                ],
1064              ],
1065            ],'delete' => [
1066              'path' => 'tagmanager/v2/{+path}',
1067              'httpMethod' => 'DELETE',
1068              'parameters' => [
1069                'path' => [
1070                  'location' => 'path',
1071                  'type' => 'string',
1072                  'required' => true,
1073                ],
1074              ],
1075            ],'get' => [
1076              'path' => 'tagmanager/v2/{+path}',
1077              'httpMethod' => 'GET',
1078              'parameters' => [
1079                'path' => [
1080                  'location' => 'path',
1081                  'type' => 'string',
1082                  'required' => true,
1083                ],
1084              ],
1085            ],'list' => [
1086              'path' => 'tagmanager/v2/{+parent}/variables',
1087              'httpMethod' => 'GET',
1088              'parameters' => [
1089                'parent' => [
1090                  'location' => 'path',
1091                  'type' => 'string',
1092                  'required' => true,
1093                ],
1094                'pageToken' => [
1095                  'location' => 'query',
1096                  'type' => 'string',
1097                ],
1098              ],
1099            ],'revert' => [
1100              'path' => 'tagmanager/v2/{+path}:revert',
1101              'httpMethod' => 'POST',
1102              'parameters' => [
1103                'path' => [
1104                  'location' => 'path',
1105                  'type' => 'string',
1106                  'required' => true,
1107                ],
1108                'fingerprint' => [
1109                  'location' => 'query',
1110                  'type' => 'string',
1111                ],
1112              ],
1113            ],'update' => [
1114              'path' => 'tagmanager/v2/{+path}',
1115              'httpMethod' => 'PUT',
1116              'parameters' => [
1117                'path' => [
1118                  'location' => 'path',
1119                  'type' => 'string',
1120                  'required' => true,
1121                ],
1122                'fingerprint' => [
1123                  'location' => 'query',
1124                  'type' => 'string',
1125                ],
1126              ],
1127            ],
1128          ]
1129        ]
1130    );
1131    $this->accounts_containers_workspaces_zones = new TagManager\Resource\AccountsContainersWorkspacesZones(
1132        $this,
1133        $this->serviceName,
1134        'zones',
1135        [
1136          'methods' => [
1137            'create' => [
1138              'path' => 'tagmanager/v2/{+parent}/zones',
1139              'httpMethod' => 'POST',
1140              'parameters' => [
1141                'parent' => [
1142                  'location' => 'path',
1143                  'type' => 'string',
1144                  'required' => true,
1145                ],
1146              ],
1147            ],'delete' => [
1148              'path' => 'tagmanager/v2/{+path}',
1149              'httpMethod' => 'DELETE',
1150              'parameters' => [
1151                'path' => [
1152                  'location' => 'path',
1153                  'type' => 'string',
1154                  'required' => true,
1155                ],
1156              ],
1157            ],'get' => [
1158              'path' => 'tagmanager/v2/{+path}',
1159              'httpMethod' => 'GET',
1160              'parameters' => [
1161                'path' => [
1162                  'location' => 'path',
1163                  'type' => 'string',
1164                  'required' => true,
1165                ],
1166              ],
1167            ],'list' => [
1168              'path' => 'tagmanager/v2/{+parent}/zones',
1169              'httpMethod' => 'GET',
1170              'parameters' => [
1171                'parent' => [
1172                  'location' => 'path',
1173                  'type' => 'string',
1174                  'required' => true,
1175                ],
1176                'pageToken' => [
1177                  'location' => 'query',
1178                  'type' => 'string',
1179                ],
1180              ],
1181            ],'revert' => [
1182              'path' => 'tagmanager/v2/{+path}:revert',
1183              'httpMethod' => 'POST',
1184              'parameters' => [
1185                'path' => [
1186                  'location' => 'path',
1187                  'type' => 'string',
1188                  'required' => true,
1189                ],
1190                'fingerprint' => [
1191                  'location' => 'query',
1192                  'type' => 'string',
1193                ],
1194              ],
1195            ],'update' => [
1196              'path' => 'tagmanager/v2/{+path}',
1197              'httpMethod' => 'PUT',
1198              'parameters' => [
1199                'path' => [
1200                  'location' => 'path',
1201                  'type' => 'string',
1202                  'required' => true,
1203                ],
1204                'fingerprint' => [
1205                  'location' => 'query',
1206                  'type' => 'string',
1207                ],
1208              ],
1209            ],
1210          ]
1211        ]
1212    );
1213    $this->accounts_user_permissions = new TagManager\Resource\AccountsUserPermissions(
1214        $this,
1215        $this->serviceName,
1216        'user_permissions',
1217        [
1218          'methods' => [
1219            'create' => [
1220              'path' => 'tagmanager/v2/{+parent}/user_permissions',
1221              'httpMethod' => 'POST',
1222              'parameters' => [
1223                'parent' => [
1224                  'location' => 'path',
1225                  'type' => 'string',
1226                  'required' => true,
1227                ],
1228              ],
1229            ],'delete' => [
1230              'path' => 'tagmanager/v2/{+path}',
1231              'httpMethod' => 'DELETE',
1232              'parameters' => [
1233                'path' => [
1234                  'location' => 'path',
1235                  'type' => 'string',
1236                  'required' => true,
1237                ],
1238              ],
1239            ],'get' => [
1240              'path' => 'tagmanager/v2/{+path}',
1241              'httpMethod' => 'GET',
1242              'parameters' => [
1243                'path' => [
1244                  'location' => 'path',
1245                  'type' => 'string',
1246                  'required' => true,
1247                ],
1248              ],
1249            ],'list' => [
1250              'path' => 'tagmanager/v2/{+parent}/user_permissions',
1251              'httpMethod' => 'GET',
1252              'parameters' => [
1253                'parent' => [
1254                  'location' => 'path',
1255                  'type' => 'string',
1256                  'required' => true,
1257                ],
1258                'pageToken' => [
1259                  'location' => 'query',
1260                  'type' => 'string',
1261                ],
1262              ],
1263            ],'update' => [
1264              'path' => 'tagmanager/v2/{+path}',
1265              'httpMethod' => 'PUT',
1266              'parameters' => [
1267                'path' => [
1268                  'location' => 'path',
1269                  'type' => 'string',
1270                  'required' => true,
1271                ],
1272              ],
1273            ],
1274          ]
1275        ]
1276    );
1277  }
1278}
1279
1280// Adding a class alias for backwards compatibility with the previous class name.
1281class_alias(TagManager::class, 'Google_Service_TagManager');
1282