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
18/**
19 * Service definition for Vault (v1).
20 *
21 * <p>
22 * Retention and eDiscovery for Google Workspace. To work with Vault resources,
23 * the account must have the [required Vault privileges]
24 * (https://support.google.com/vault/answer/2799699) and access to the matter.
25 * To access a matter, the account must have created the matter, have the matter
26 * shared with them, or have the **View All Matters** privilege. For example, to
27 * download an export, an account needs the **Manage Exports** privilege and the
28 * matter shared with them.</p>
29 *
30 * <p>
31 * For more information about this service, see the API
32 * <a href="https://developers.google.com/vault" target="_blank">Documentation</a>
33 * </p>
34 *
35 * @author Google, Inc.
36 */
37class Google_Service_Vault extends Google_Service
38{
39  /** Manage your eDiscovery data. */
40  const EDISCOVERY =
41      "https://www.googleapis.com/auth/ediscovery";
42  /** View your eDiscovery data. */
43  const EDISCOVERY_READONLY =
44      "https://www.googleapis.com/auth/ediscovery.readonly";
45
46  public $matters;
47  public $matters_exports;
48  public $matters_holds;
49  public $matters_holds_accounts;
50  public $matters_savedQueries;
51  public $operations;
52
53  /**
54   * Constructs the internal representation of the Vault service.
55   *
56   * @param Google_Client $client The client used to deliver requests.
57   * @param string $rootUrl The root URL used for requests to the service.
58   */
59  public function __construct(Google_Client $client, $rootUrl = null)
60  {
61    parent::__construct($client);
62    $this->rootUrl = $rootUrl ?: 'https://vault.googleapis.com/';
63    $this->servicePath = '';
64    $this->batchPath = 'batch';
65    $this->version = 'v1';
66    $this->serviceName = 'vault';
67
68    $this->matters = new Google_Service_Vault_Resource_Matters(
69        $this,
70        $this->serviceName,
71        'matters',
72        array(
73          'methods' => array(
74            'addPermissions' => array(
75              'path' => 'v1/matters/{matterId}:addPermissions',
76              'httpMethod' => 'POST',
77              'parameters' => array(
78                'matterId' => array(
79                  'location' => 'path',
80                  'type' => 'string',
81                  'required' => true,
82                ),
83              ),
84            ),'close' => array(
85              'path' => 'v1/matters/{matterId}:close',
86              'httpMethod' => 'POST',
87              'parameters' => array(
88                'matterId' => array(
89                  'location' => 'path',
90                  'type' => 'string',
91                  'required' => true,
92                ),
93              ),
94            ),'count' => array(
95              'path' => 'v1/matters/{matterId}:count',
96              'httpMethod' => 'POST',
97              'parameters' => array(
98                'matterId' => array(
99                  'location' => 'path',
100                  'type' => 'string',
101                  'required' => true,
102                ),
103              ),
104            ),'create' => array(
105              'path' => 'v1/matters',
106              'httpMethod' => 'POST',
107              'parameters' => array(),
108            ),'delete' => array(
109              'path' => 'v1/matters/{matterId}',
110              'httpMethod' => 'DELETE',
111              'parameters' => array(
112                'matterId' => array(
113                  'location' => 'path',
114                  'type' => 'string',
115                  'required' => true,
116                ),
117              ),
118            ),'get' => array(
119              'path' => 'v1/matters/{matterId}',
120              'httpMethod' => 'GET',
121              'parameters' => array(
122                'matterId' => array(
123                  'location' => 'path',
124                  'type' => 'string',
125                  'required' => true,
126                ),
127                'view' => array(
128                  'location' => 'query',
129                  'type' => 'string',
130                ),
131              ),
132            ),'list' => array(
133              'path' => 'v1/matters',
134              'httpMethod' => 'GET',
135              'parameters' => array(
136                'pageSize' => array(
137                  'location' => 'query',
138                  'type' => 'integer',
139                ),
140                'pageToken' => array(
141                  'location' => 'query',
142                  'type' => 'string',
143                ),
144                'state' => array(
145                  'location' => 'query',
146                  'type' => 'string',
147                ),
148                'view' => array(
149                  'location' => 'query',
150                  'type' => 'string',
151                ),
152              ),
153            ),'removePermissions' => array(
154              'path' => 'v1/matters/{matterId}:removePermissions',
155              'httpMethod' => 'POST',
156              'parameters' => array(
157                'matterId' => array(
158                  'location' => 'path',
159                  'type' => 'string',
160                  'required' => true,
161                ),
162              ),
163            ),'reopen' => array(
164              'path' => 'v1/matters/{matterId}:reopen',
165              'httpMethod' => 'POST',
166              'parameters' => array(
167                'matterId' => array(
168                  'location' => 'path',
169                  'type' => 'string',
170                  'required' => true,
171                ),
172              ),
173            ),'undelete' => array(
174              'path' => 'v1/matters/{matterId}:undelete',
175              'httpMethod' => 'POST',
176              'parameters' => array(
177                'matterId' => array(
178                  'location' => 'path',
179                  'type' => 'string',
180                  'required' => true,
181                ),
182              ),
183            ),'update' => array(
184              'path' => 'v1/matters/{matterId}',
185              'httpMethod' => 'PUT',
186              'parameters' => array(
187                'matterId' => array(
188                  'location' => 'path',
189                  'type' => 'string',
190                  'required' => true,
191                ),
192              ),
193            ),
194          )
195        )
196    );
197    $this->matters_exports = new Google_Service_Vault_Resource_MattersExports(
198        $this,
199        $this->serviceName,
200        'exports',
201        array(
202          'methods' => array(
203            'create' => array(
204              'path' => 'v1/matters/{matterId}/exports',
205              'httpMethod' => 'POST',
206              'parameters' => array(
207                'matterId' => array(
208                  'location' => 'path',
209                  'type' => 'string',
210                  'required' => true,
211                ),
212              ),
213            ),'delete' => array(
214              'path' => 'v1/matters/{matterId}/exports/{exportId}',
215              'httpMethod' => 'DELETE',
216              'parameters' => array(
217                'matterId' => array(
218                  'location' => 'path',
219                  'type' => 'string',
220                  'required' => true,
221                ),
222                'exportId' => array(
223                  'location' => 'path',
224                  'type' => 'string',
225                  'required' => true,
226                ),
227              ),
228            ),'get' => array(
229              'path' => 'v1/matters/{matterId}/exports/{exportId}',
230              'httpMethod' => 'GET',
231              'parameters' => array(
232                'matterId' => array(
233                  'location' => 'path',
234                  'type' => 'string',
235                  'required' => true,
236                ),
237                'exportId' => array(
238                  'location' => 'path',
239                  'type' => 'string',
240                  'required' => true,
241                ),
242              ),
243            ),'list' => array(
244              'path' => 'v1/matters/{matterId}/exports',
245              'httpMethod' => 'GET',
246              'parameters' => array(
247                'matterId' => array(
248                  'location' => 'path',
249                  'type' => 'string',
250                  'required' => true,
251                ),
252                'pageSize' => array(
253                  'location' => 'query',
254                  'type' => 'integer',
255                ),
256                'pageToken' => array(
257                  'location' => 'query',
258                  'type' => 'string',
259                ),
260              ),
261            ),
262          )
263        )
264    );
265    $this->matters_holds = new Google_Service_Vault_Resource_MattersHolds(
266        $this,
267        $this->serviceName,
268        'holds',
269        array(
270          'methods' => array(
271            'addHeldAccounts' => array(
272              'path' => 'v1/matters/{matterId}/holds/{holdId}:addHeldAccounts',
273              'httpMethod' => 'POST',
274              'parameters' => array(
275                'matterId' => array(
276                  'location' => 'path',
277                  'type' => 'string',
278                  'required' => true,
279                ),
280                'holdId' => array(
281                  'location' => 'path',
282                  'type' => 'string',
283                  'required' => true,
284                ),
285              ),
286            ),'create' => array(
287              'path' => 'v1/matters/{matterId}/holds',
288              'httpMethod' => 'POST',
289              'parameters' => array(
290                'matterId' => array(
291                  'location' => 'path',
292                  'type' => 'string',
293                  'required' => true,
294                ),
295              ),
296            ),'delete' => array(
297              'path' => 'v1/matters/{matterId}/holds/{holdId}',
298              'httpMethod' => 'DELETE',
299              'parameters' => array(
300                'matterId' => array(
301                  'location' => 'path',
302                  'type' => 'string',
303                  'required' => true,
304                ),
305                'holdId' => array(
306                  'location' => 'path',
307                  'type' => 'string',
308                  'required' => true,
309                ),
310              ),
311            ),'get' => array(
312              'path' => 'v1/matters/{matterId}/holds/{holdId}',
313              'httpMethod' => 'GET',
314              'parameters' => array(
315                'matterId' => array(
316                  'location' => 'path',
317                  'type' => 'string',
318                  'required' => true,
319                ),
320                'holdId' => array(
321                  'location' => 'path',
322                  'type' => 'string',
323                  'required' => true,
324                ),
325                'view' => array(
326                  'location' => 'query',
327                  'type' => 'string',
328                ),
329              ),
330            ),'list' => array(
331              'path' => 'v1/matters/{matterId}/holds',
332              'httpMethod' => 'GET',
333              'parameters' => array(
334                'matterId' => array(
335                  'location' => 'path',
336                  'type' => 'string',
337                  'required' => true,
338                ),
339                'pageSize' => array(
340                  'location' => 'query',
341                  'type' => 'integer',
342                ),
343                'pageToken' => array(
344                  'location' => 'query',
345                  'type' => 'string',
346                ),
347                'view' => array(
348                  'location' => 'query',
349                  'type' => 'string',
350                ),
351              ),
352            ),'removeHeldAccounts' => array(
353              'path' => 'v1/matters/{matterId}/holds/{holdId}:removeHeldAccounts',
354              'httpMethod' => 'POST',
355              'parameters' => array(
356                'matterId' => array(
357                  'location' => 'path',
358                  'type' => 'string',
359                  'required' => true,
360                ),
361                'holdId' => array(
362                  'location' => 'path',
363                  'type' => 'string',
364                  'required' => true,
365                ),
366              ),
367            ),'update' => array(
368              'path' => 'v1/matters/{matterId}/holds/{holdId}',
369              'httpMethod' => 'PUT',
370              'parameters' => array(
371                'matterId' => array(
372                  'location' => 'path',
373                  'type' => 'string',
374                  'required' => true,
375                ),
376                'holdId' => array(
377                  'location' => 'path',
378                  'type' => 'string',
379                  'required' => true,
380                ),
381              ),
382            ),
383          )
384        )
385    );
386    $this->matters_holds_accounts = new Google_Service_Vault_Resource_MattersHoldsAccounts(
387        $this,
388        $this->serviceName,
389        'accounts',
390        array(
391          'methods' => array(
392            'create' => array(
393              'path' => 'v1/matters/{matterId}/holds/{holdId}/accounts',
394              'httpMethod' => 'POST',
395              'parameters' => array(
396                'matterId' => array(
397                  'location' => 'path',
398                  'type' => 'string',
399                  'required' => true,
400                ),
401                'holdId' => array(
402                  'location' => 'path',
403                  'type' => 'string',
404                  'required' => true,
405                ),
406              ),
407            ),'delete' => array(
408              'path' => 'v1/matters/{matterId}/holds/{holdId}/accounts/{accountId}',
409              'httpMethod' => 'DELETE',
410              'parameters' => array(
411                'matterId' => array(
412                  'location' => 'path',
413                  'type' => 'string',
414                  'required' => true,
415                ),
416                'holdId' => array(
417                  'location' => 'path',
418                  'type' => 'string',
419                  'required' => true,
420                ),
421                'accountId' => array(
422                  'location' => 'path',
423                  'type' => 'string',
424                  'required' => true,
425                ),
426              ),
427            ),'list' => array(
428              'path' => 'v1/matters/{matterId}/holds/{holdId}/accounts',
429              'httpMethod' => 'GET',
430              'parameters' => array(
431                'matterId' => array(
432                  'location' => 'path',
433                  'type' => 'string',
434                  'required' => true,
435                ),
436                'holdId' => array(
437                  'location' => 'path',
438                  'type' => 'string',
439                  'required' => true,
440                ),
441              ),
442            ),
443          )
444        )
445    );
446    $this->matters_savedQueries = new Google_Service_Vault_Resource_MattersSavedQueries(
447        $this,
448        $this->serviceName,
449        'savedQueries',
450        array(
451          'methods' => array(
452            'create' => array(
453              'path' => 'v1/matters/{matterId}/savedQueries',
454              'httpMethod' => 'POST',
455              'parameters' => array(
456                'matterId' => array(
457                  'location' => 'path',
458                  'type' => 'string',
459                  'required' => true,
460                ),
461              ),
462            ),'delete' => array(
463              'path' => 'v1/matters/{matterId}/savedQueries/{savedQueryId}',
464              'httpMethod' => 'DELETE',
465              'parameters' => array(
466                'matterId' => array(
467                  'location' => 'path',
468                  'type' => 'string',
469                  'required' => true,
470                ),
471                'savedQueryId' => array(
472                  'location' => 'path',
473                  'type' => 'string',
474                  'required' => true,
475                ),
476              ),
477            ),'get' => array(
478              'path' => 'v1/matters/{matterId}/savedQueries/{savedQueryId}',
479              'httpMethod' => 'GET',
480              'parameters' => array(
481                'matterId' => array(
482                  'location' => 'path',
483                  'type' => 'string',
484                  'required' => true,
485                ),
486                'savedQueryId' => array(
487                  'location' => 'path',
488                  'type' => 'string',
489                  'required' => true,
490                ),
491              ),
492            ),'list' => array(
493              'path' => 'v1/matters/{matterId}/savedQueries',
494              'httpMethod' => 'GET',
495              'parameters' => array(
496                'matterId' => array(
497                  'location' => 'path',
498                  'type' => 'string',
499                  'required' => true,
500                ),
501                'pageSize' => array(
502                  'location' => 'query',
503                  'type' => 'integer',
504                ),
505                'pageToken' => array(
506                  'location' => 'query',
507                  'type' => 'string',
508                ),
509              ),
510            ),
511          )
512        )
513    );
514    $this->operations = new Google_Service_Vault_Resource_Operations(
515        $this,
516        $this->serviceName,
517        'operations',
518        array(
519          'methods' => array(
520            'cancel' => array(
521              'path' => 'v1/{+name}:cancel',
522              'httpMethod' => 'POST',
523              'parameters' => array(
524                'name' => array(
525                  'location' => 'path',
526                  'type' => 'string',
527                  'required' => true,
528                ),
529              ),
530            ),'delete' => array(
531              'path' => 'v1/{+name}',
532              'httpMethod' => 'DELETE',
533              'parameters' => array(
534                'name' => array(
535                  'location' => 'path',
536                  'type' => 'string',
537                  'required' => true,
538                ),
539              ),
540            ),'get' => array(
541              'path' => 'v1/{+name}',
542              'httpMethod' => 'GET',
543              'parameters' => array(
544                'name' => array(
545                  'location' => 'path',
546                  'type' => 'string',
547                  'required' => true,
548                ),
549              ),
550            ),'list' => array(
551              'path' => 'v1/{+name}',
552              'httpMethod' => 'GET',
553              'parameters' => array(
554                'name' => array(
555                  'location' => 'path',
556                  'type' => 'string',
557                  'required' => true,
558                ),
559                'filter' => array(
560                  'location' => 'query',
561                  'type' => 'string',
562                ),
563                'pageSize' => array(
564                  'location' => 'query',
565                  'type' => 'integer',
566                ),
567                'pageToken' => array(
568                  'location' => 'query',
569                  'type' => 'string',
570                ),
571              ),
572            ),
573          )
574        )
575    );
576  }
577}
578