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 CertificateManager (v1).
24 *
25 * <p>
26</p>
27 *
28 * <p>
29 * For more information about this service, see the API
30 * <a href="https://cloud.google.com/certificate-manager" target="_blank">Documentation</a>
31 * </p>
32 *
33 * @author Google, Inc.
34 */
35class CertificateManager extends \Google\Service
36{
37  /** See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.. */
38  const CLOUD_PLATFORM =
39      "https://www.googleapis.com/auth/cloud-platform";
40
41  public $projects_locations;
42  public $projects_locations_certificateMaps;
43  public $projects_locations_certificateMaps_certificateMapEntries;
44  public $projects_locations_certificates;
45  public $projects_locations_dnsAuthorizations;
46  public $projects_locations_operations;
47
48  /**
49   * Constructs the internal representation of the CertificateManager service.
50   *
51   * @param Client|array $clientOrConfig The client used to deliver requests, or a
52   *                                     config array to pass to a new Client instance.
53   * @param string $rootUrl The root URL used for requests to the service.
54   */
55  public function __construct($clientOrConfig = [], $rootUrl = null)
56  {
57    parent::__construct($clientOrConfig);
58    $this->rootUrl = $rootUrl ?: 'https://certificatemanager.googleapis.com/';
59    $this->servicePath = '';
60    $this->batchPath = 'batch';
61    $this->version = 'v1';
62    $this->serviceName = 'certificatemanager';
63
64    $this->projects_locations = new CertificateManager\Resource\ProjectsLocations(
65        $this,
66        $this->serviceName,
67        'locations',
68        [
69          'methods' => [
70            'get' => [
71              'path' => 'v1/{+name}',
72              'httpMethod' => 'GET',
73              'parameters' => [
74                'name' => [
75                  'location' => 'path',
76                  'type' => 'string',
77                  'required' => true,
78                ],
79              ],
80            ],'list' => [
81              'path' => 'v1/{+name}/locations',
82              'httpMethod' => 'GET',
83              'parameters' => [
84                'name' => [
85                  'location' => 'path',
86                  'type' => 'string',
87                  'required' => true,
88                ],
89                'filter' => [
90                  'location' => 'query',
91                  'type' => 'string',
92                ],
93                'pageSize' => [
94                  'location' => 'query',
95                  'type' => 'integer',
96                ],
97                'pageToken' => [
98                  'location' => 'query',
99                  'type' => 'string',
100                ],
101              ],
102            ],
103          ]
104        ]
105    );
106    $this->projects_locations_certificateMaps = new CertificateManager\Resource\ProjectsLocationsCertificateMaps(
107        $this,
108        $this->serviceName,
109        'certificateMaps',
110        [
111          'methods' => [
112            'create' => [
113              'path' => 'v1/{+parent}/certificateMaps',
114              'httpMethod' => 'POST',
115              'parameters' => [
116                'parent' => [
117                  'location' => 'path',
118                  'type' => 'string',
119                  'required' => true,
120                ],
121                'certificateMapId' => [
122                  'location' => 'query',
123                  'type' => 'string',
124                ],
125              ],
126            ],'delete' => [
127              'path' => 'v1/{+name}',
128              'httpMethod' => 'DELETE',
129              'parameters' => [
130                'name' => [
131                  'location' => 'path',
132                  'type' => 'string',
133                  'required' => true,
134                ],
135              ],
136            ],'get' => [
137              'path' => 'v1/{+name}',
138              'httpMethod' => 'GET',
139              'parameters' => [
140                'name' => [
141                  'location' => 'path',
142                  'type' => 'string',
143                  'required' => true,
144                ],
145              ],
146            ],'list' => [
147              'path' => 'v1/{+parent}/certificateMaps',
148              'httpMethod' => 'GET',
149              'parameters' => [
150                'parent' => [
151                  'location' => 'path',
152                  'type' => 'string',
153                  'required' => true,
154                ],
155                'filter' => [
156                  'location' => 'query',
157                  'type' => 'string',
158                ],
159                'orderBy' => [
160                  'location' => 'query',
161                  'type' => 'string',
162                ],
163                'pageSize' => [
164                  'location' => 'query',
165                  'type' => 'integer',
166                ],
167                'pageToken' => [
168                  'location' => 'query',
169                  'type' => 'string',
170                ],
171              ],
172            ],'patch' => [
173              'path' => 'v1/{+name}',
174              'httpMethod' => 'PATCH',
175              'parameters' => [
176                'name' => [
177                  'location' => 'path',
178                  'type' => 'string',
179                  'required' => true,
180                ],
181                'updateMask' => [
182                  'location' => 'query',
183                  'type' => 'string',
184                ],
185              ],
186            ],
187          ]
188        ]
189    );
190    $this->projects_locations_certificateMaps_certificateMapEntries = new CertificateManager\Resource\ProjectsLocationsCertificateMapsCertificateMapEntries(
191        $this,
192        $this->serviceName,
193        'certificateMapEntries',
194        [
195          'methods' => [
196            'create' => [
197              'path' => 'v1/{+parent}/certificateMapEntries',
198              'httpMethod' => 'POST',
199              'parameters' => [
200                'parent' => [
201                  'location' => 'path',
202                  'type' => 'string',
203                  'required' => true,
204                ],
205                'certificateMapEntryId' => [
206                  'location' => 'query',
207                  'type' => 'string',
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              ],
220            ],'get' => [
221              'path' => 'v1/{+name}',
222              'httpMethod' => 'GET',
223              'parameters' => [
224                'name' => [
225                  'location' => 'path',
226                  'type' => 'string',
227                  'required' => true,
228                ],
229              ],
230            ],'list' => [
231              'path' => 'v1/{+parent}/certificateMapEntries',
232              'httpMethod' => 'GET',
233              'parameters' => [
234                'parent' => [
235                  'location' => 'path',
236                  'type' => 'string',
237                  'required' => true,
238                ],
239                'filter' => [
240                  'location' => 'query',
241                  'type' => 'string',
242                ],
243                'orderBy' => [
244                  'location' => 'query',
245                  'type' => 'string',
246                ],
247                'pageSize' => [
248                  'location' => 'query',
249                  'type' => 'integer',
250                ],
251                'pageToken' => [
252                  'location' => 'query',
253                  'type' => 'string',
254                ],
255              ],
256            ],'patch' => [
257              'path' => 'v1/{+name}',
258              'httpMethod' => 'PATCH',
259              'parameters' => [
260                'name' => [
261                  'location' => 'path',
262                  'type' => 'string',
263                  'required' => true,
264                ],
265                'updateMask' => [
266                  'location' => 'query',
267                  'type' => 'string',
268                ],
269              ],
270            ],
271          ]
272        ]
273    );
274    $this->projects_locations_certificates = new CertificateManager\Resource\ProjectsLocationsCertificates(
275        $this,
276        $this->serviceName,
277        'certificates',
278        [
279          'methods' => [
280            'create' => [
281              'path' => 'v1/{+parent}/certificates',
282              'httpMethod' => 'POST',
283              'parameters' => [
284                'parent' => [
285                  'location' => 'path',
286                  'type' => 'string',
287                  'required' => true,
288                ],
289                'certificateId' => [
290                  'location' => 'query',
291                  'type' => 'string',
292                ],
293              ],
294            ],'delete' => [
295              'path' => 'v1/{+name}',
296              'httpMethod' => 'DELETE',
297              'parameters' => [
298                'name' => [
299                  'location' => 'path',
300                  'type' => 'string',
301                  'required' => true,
302                ],
303              ],
304            ],'get' => [
305              'path' => 'v1/{+name}',
306              'httpMethod' => 'GET',
307              'parameters' => [
308                'name' => [
309                  'location' => 'path',
310                  'type' => 'string',
311                  'required' => true,
312                ],
313              ],
314            ],'list' => [
315              'path' => 'v1/{+parent}/certificates',
316              'httpMethod' => 'GET',
317              'parameters' => [
318                'parent' => [
319                  'location' => 'path',
320                  'type' => 'string',
321                  'required' => true,
322                ],
323                'filter' => [
324                  'location' => 'query',
325                  'type' => 'string',
326                ],
327                'orderBy' => [
328                  'location' => 'query',
329                  'type' => 'string',
330                ],
331                'pageSize' => [
332                  'location' => 'query',
333                  'type' => 'integer',
334                ],
335                'pageToken' => [
336                  'location' => 'query',
337                  'type' => 'string',
338                ],
339              ],
340            ],'patch' => [
341              'path' => 'v1/{+name}',
342              'httpMethod' => 'PATCH',
343              'parameters' => [
344                'name' => [
345                  'location' => 'path',
346                  'type' => 'string',
347                  'required' => true,
348                ],
349                'updateMask' => [
350                  'location' => 'query',
351                  'type' => 'string',
352                ],
353              ],
354            ],
355          ]
356        ]
357    );
358    $this->projects_locations_dnsAuthorizations = new CertificateManager\Resource\ProjectsLocationsDnsAuthorizations(
359        $this,
360        $this->serviceName,
361        'dnsAuthorizations',
362        [
363          'methods' => [
364            'create' => [
365              'path' => 'v1/{+parent}/dnsAuthorizations',
366              'httpMethod' => 'POST',
367              'parameters' => [
368                'parent' => [
369                  'location' => 'path',
370                  'type' => 'string',
371                  'required' => true,
372                ],
373                'dnsAuthorizationId' => [
374                  'location' => 'query',
375                  'type' => 'string',
376                ],
377              ],
378            ],'delete' => [
379              'path' => 'v1/{+name}',
380              'httpMethod' => 'DELETE',
381              'parameters' => [
382                'name' => [
383                  'location' => 'path',
384                  'type' => 'string',
385                  'required' => true,
386                ],
387              ],
388            ],'get' => [
389              'path' => 'v1/{+name}',
390              'httpMethod' => 'GET',
391              'parameters' => [
392                'name' => [
393                  'location' => 'path',
394                  'type' => 'string',
395                  'required' => true,
396                ],
397              ],
398            ],'list' => [
399              'path' => 'v1/{+parent}/dnsAuthorizations',
400              'httpMethod' => 'GET',
401              'parameters' => [
402                'parent' => [
403                  'location' => 'path',
404                  'type' => 'string',
405                  'required' => true,
406                ],
407                'filter' => [
408                  'location' => 'query',
409                  'type' => 'string',
410                ],
411                'orderBy' => [
412                  'location' => 'query',
413                  'type' => 'string',
414                ],
415                'pageSize' => [
416                  'location' => 'query',
417                  'type' => 'integer',
418                ],
419                'pageToken' => [
420                  'location' => 'query',
421                  'type' => 'string',
422                ],
423              ],
424            ],'patch' => [
425              'path' => 'v1/{+name}',
426              'httpMethod' => 'PATCH',
427              'parameters' => [
428                'name' => [
429                  'location' => 'path',
430                  'type' => 'string',
431                  'required' => true,
432                ],
433                'updateMask' => [
434                  'location' => 'query',
435                  'type' => 'string',
436                ],
437              ],
438            ],
439          ]
440        ]
441    );
442    $this->projects_locations_operations = new CertificateManager\Resource\ProjectsLocationsOperations(
443        $this,
444        $this->serviceName,
445        'operations',
446        [
447          'methods' => [
448            'cancel' => [
449              'path' => 'v1/{+name}:cancel',
450              'httpMethod' => 'POST',
451              'parameters' => [
452                'name' => [
453                  'location' => 'path',
454                  'type' => 'string',
455                  'required' => true,
456                ],
457              ],
458            ],'delete' => [
459              'path' => 'v1/{+name}',
460              'httpMethod' => 'DELETE',
461              'parameters' => [
462                'name' => [
463                  'location' => 'path',
464                  'type' => 'string',
465                  'required' => true,
466                ],
467              ],
468            ],'get' => [
469              'path' => 'v1/{+name}',
470              'httpMethod' => 'GET',
471              'parameters' => [
472                'name' => [
473                  'location' => 'path',
474                  'type' => 'string',
475                  'required' => true,
476                ],
477              ],
478            ],'list' => [
479              'path' => 'v1/{+name}/operations',
480              'httpMethod' => 'GET',
481              'parameters' => [
482                'name' => [
483                  'location' => 'path',
484                  'type' => 'string',
485                  'required' => true,
486                ],
487                'filter' => [
488                  'location' => 'query',
489                  'type' => 'string',
490                ],
491                'pageSize' => [
492                  'location' => 'query',
493                  'type' => 'integer',
494                ],
495                'pageToken' => [
496                  'location' => 'query',
497                  'type' => 'string',
498                ],
499              ],
500            ],
501          ]
502        ]
503    );
504  }
505}
506
507// Adding a class alias for backwards compatibility with the previous class name.
508class_alias(CertificateManager::class, 'Google_Service_CertificateManager');
509