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 Recommender (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/recommender/docs/" target="_blank">Documentation</a>
31 * </p>
32 *
33 * @author Google, Inc.
34 */
35class Recommender 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 $billingAccounts_locations_insightTypes_insights;
42  public $billingAccounts_locations_recommenders_recommendations;
43  public $folders_locations_insightTypes_insights;
44  public $folders_locations_recommenders_recommendations;
45  public $organizations_locations_insightTypes_insights;
46  public $organizations_locations_recommenders_recommendations;
47  public $projects_locations_insightTypes_insights;
48  public $projects_locations_recommenders_recommendations;
49
50  /**
51   * Constructs the internal representation of the Recommender 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://recommender.googleapis.com/';
61    $this->servicePath = '';
62    $this->batchPath = 'batch';
63    $this->version = 'v1';
64    $this->serviceName = 'recommender';
65
66    $this->billingAccounts_locations_insightTypes_insights = new Recommender\Resource\BillingAccountsLocationsInsightTypesInsights(
67        $this,
68        $this->serviceName,
69        'insights',
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/{+parent}/insights',
84              'httpMethod' => 'GET',
85              'parameters' => [
86                'parent' => [
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            ],'markAccepted' => [
105              'path' => 'v1/{+name}:markAccepted',
106              'httpMethod' => 'POST',
107              'parameters' => [
108                'name' => [
109                  'location' => 'path',
110                  'type' => 'string',
111                  'required' => true,
112                ],
113              ],
114            ],
115          ]
116        ]
117    );
118    $this->billingAccounts_locations_recommenders_recommendations = new Recommender\Resource\BillingAccountsLocationsRecommendersRecommendations(
119        $this,
120        $this->serviceName,
121        'recommendations',
122        [
123          'methods' => [
124            'get' => [
125              'path' => 'v1/{+name}',
126              'httpMethod' => 'GET',
127              'parameters' => [
128                'name' => [
129                  'location' => 'path',
130                  'type' => 'string',
131                  'required' => true,
132                ],
133              ],
134            ],'list' => [
135              'path' => 'v1/{+parent}/recommendations',
136              'httpMethod' => 'GET',
137              'parameters' => [
138                'parent' => [
139                  'location' => 'path',
140                  'type' => 'string',
141                  'required' => true,
142                ],
143                'filter' => [
144                  'location' => 'query',
145                  'type' => 'string',
146                ],
147                'pageSize' => [
148                  'location' => 'query',
149                  'type' => 'integer',
150                ],
151                'pageToken' => [
152                  'location' => 'query',
153                  'type' => 'string',
154                ],
155              ],
156            ],'markClaimed' => [
157              'path' => 'v1/{+name}:markClaimed',
158              'httpMethod' => 'POST',
159              'parameters' => [
160                'name' => [
161                  'location' => 'path',
162                  'type' => 'string',
163                  'required' => true,
164                ],
165              ],
166            ],'markFailed' => [
167              'path' => 'v1/{+name}:markFailed',
168              'httpMethod' => 'POST',
169              'parameters' => [
170                'name' => [
171                  'location' => 'path',
172                  'type' => 'string',
173                  'required' => true,
174                ],
175              ],
176            ],'markSucceeded' => [
177              'path' => 'v1/{+name}:markSucceeded',
178              'httpMethod' => 'POST',
179              'parameters' => [
180                'name' => [
181                  'location' => 'path',
182                  'type' => 'string',
183                  'required' => true,
184                ],
185              ],
186            ],
187          ]
188        ]
189    );
190    $this->folders_locations_insightTypes_insights = new Recommender\Resource\FoldersLocationsInsightTypesInsights(
191        $this,
192        $this->serviceName,
193        'insights',
194        [
195          'methods' => [
196            'get' => [
197              'path' => 'v1/{+name}',
198              'httpMethod' => 'GET',
199              'parameters' => [
200                'name' => [
201                  'location' => 'path',
202                  'type' => 'string',
203                  'required' => true,
204                ],
205              ],
206            ],'list' => [
207              'path' => 'v1/{+parent}/insights',
208              'httpMethod' => 'GET',
209              'parameters' => [
210                'parent' => [
211                  'location' => 'path',
212                  'type' => 'string',
213                  'required' => true,
214                ],
215                'filter' => [
216                  'location' => 'query',
217                  'type' => 'string',
218                ],
219                'pageSize' => [
220                  'location' => 'query',
221                  'type' => 'integer',
222                ],
223                'pageToken' => [
224                  'location' => 'query',
225                  'type' => 'string',
226                ],
227              ],
228            ],'markAccepted' => [
229              'path' => 'v1/{+name}:markAccepted',
230              'httpMethod' => 'POST',
231              'parameters' => [
232                'name' => [
233                  'location' => 'path',
234                  'type' => 'string',
235                  'required' => true,
236                ],
237              ],
238            ],
239          ]
240        ]
241    );
242    $this->folders_locations_recommenders_recommendations = new Recommender\Resource\FoldersLocationsRecommendersRecommendations(
243        $this,
244        $this->serviceName,
245        'recommendations',
246        [
247          'methods' => [
248            'get' => [
249              'path' => 'v1/{+name}',
250              'httpMethod' => 'GET',
251              'parameters' => [
252                'name' => [
253                  'location' => 'path',
254                  'type' => 'string',
255                  'required' => true,
256                ],
257              ],
258            ],'list' => [
259              'path' => 'v1/{+parent}/recommendations',
260              'httpMethod' => 'GET',
261              'parameters' => [
262                'parent' => [
263                  'location' => 'path',
264                  'type' => 'string',
265                  'required' => true,
266                ],
267                'filter' => [
268                  'location' => 'query',
269                  'type' => 'string',
270                ],
271                'pageSize' => [
272                  'location' => 'query',
273                  'type' => 'integer',
274                ],
275                'pageToken' => [
276                  'location' => 'query',
277                  'type' => 'string',
278                ],
279              ],
280            ],'markClaimed' => [
281              'path' => 'v1/{+name}:markClaimed',
282              'httpMethod' => 'POST',
283              'parameters' => [
284                'name' => [
285                  'location' => 'path',
286                  'type' => 'string',
287                  'required' => true,
288                ],
289              ],
290            ],'markFailed' => [
291              'path' => 'v1/{+name}:markFailed',
292              'httpMethod' => 'POST',
293              'parameters' => [
294                'name' => [
295                  'location' => 'path',
296                  'type' => 'string',
297                  'required' => true,
298                ],
299              ],
300            ],'markSucceeded' => [
301              'path' => 'v1/{+name}:markSucceeded',
302              'httpMethod' => 'POST',
303              'parameters' => [
304                'name' => [
305                  'location' => 'path',
306                  'type' => 'string',
307                  'required' => true,
308                ],
309              ],
310            ],
311          ]
312        ]
313    );
314    $this->organizations_locations_insightTypes_insights = new Recommender\Resource\OrganizationsLocationsInsightTypesInsights(
315        $this,
316        $this->serviceName,
317        'insights',
318        [
319          'methods' => [
320            'get' => [
321              'path' => 'v1/{+name}',
322              'httpMethod' => 'GET',
323              'parameters' => [
324                'name' => [
325                  'location' => 'path',
326                  'type' => 'string',
327                  'required' => true,
328                ],
329              ],
330            ],'list' => [
331              'path' => 'v1/{+parent}/insights',
332              'httpMethod' => 'GET',
333              'parameters' => [
334                'parent' => [
335                  'location' => 'path',
336                  'type' => 'string',
337                  'required' => true,
338                ],
339                'filter' => [
340                  'location' => 'query',
341                  'type' => 'string',
342                ],
343                'pageSize' => [
344                  'location' => 'query',
345                  'type' => 'integer',
346                ],
347                'pageToken' => [
348                  'location' => 'query',
349                  'type' => 'string',
350                ],
351              ],
352            ],'markAccepted' => [
353              'path' => 'v1/{+name}:markAccepted',
354              'httpMethod' => 'POST',
355              'parameters' => [
356                'name' => [
357                  'location' => 'path',
358                  'type' => 'string',
359                  'required' => true,
360                ],
361              ],
362            ],
363          ]
364        ]
365    );
366    $this->organizations_locations_recommenders_recommendations = new Recommender\Resource\OrganizationsLocationsRecommendersRecommendations(
367        $this,
368        $this->serviceName,
369        'recommendations',
370        [
371          'methods' => [
372            'get' => [
373              'path' => 'v1/{+name}',
374              'httpMethod' => 'GET',
375              'parameters' => [
376                'name' => [
377                  'location' => 'path',
378                  'type' => 'string',
379                  'required' => true,
380                ],
381              ],
382            ],'list' => [
383              'path' => 'v1/{+parent}/recommendations',
384              'httpMethod' => 'GET',
385              'parameters' => [
386                'parent' => [
387                  'location' => 'path',
388                  'type' => 'string',
389                  'required' => true,
390                ],
391                'filter' => [
392                  'location' => 'query',
393                  'type' => 'string',
394                ],
395                'pageSize' => [
396                  'location' => 'query',
397                  'type' => 'integer',
398                ],
399                'pageToken' => [
400                  'location' => 'query',
401                  'type' => 'string',
402                ],
403              ],
404            ],'markClaimed' => [
405              'path' => 'v1/{+name}:markClaimed',
406              'httpMethod' => 'POST',
407              'parameters' => [
408                'name' => [
409                  'location' => 'path',
410                  'type' => 'string',
411                  'required' => true,
412                ],
413              ],
414            ],'markFailed' => [
415              'path' => 'v1/{+name}:markFailed',
416              'httpMethod' => 'POST',
417              'parameters' => [
418                'name' => [
419                  'location' => 'path',
420                  'type' => 'string',
421                  'required' => true,
422                ],
423              ],
424            ],'markSucceeded' => [
425              'path' => 'v1/{+name}:markSucceeded',
426              'httpMethod' => 'POST',
427              'parameters' => [
428                'name' => [
429                  'location' => 'path',
430                  'type' => 'string',
431                  'required' => true,
432                ],
433              ],
434            ],
435          ]
436        ]
437    );
438    $this->projects_locations_insightTypes_insights = new Recommender\Resource\ProjectsLocationsInsightTypesInsights(
439        $this,
440        $this->serviceName,
441        'insights',
442        [
443          'methods' => [
444            'get' => [
445              'path' => 'v1/{+name}',
446              'httpMethod' => 'GET',
447              'parameters' => [
448                'name' => [
449                  'location' => 'path',
450                  'type' => 'string',
451                  'required' => true,
452                ],
453              ],
454            ],'list' => [
455              'path' => 'v1/{+parent}/insights',
456              'httpMethod' => 'GET',
457              'parameters' => [
458                'parent' => [
459                  'location' => 'path',
460                  'type' => 'string',
461                  'required' => true,
462                ],
463                'filter' => [
464                  'location' => 'query',
465                  'type' => 'string',
466                ],
467                'pageSize' => [
468                  'location' => 'query',
469                  'type' => 'integer',
470                ],
471                'pageToken' => [
472                  'location' => 'query',
473                  'type' => 'string',
474                ],
475              ],
476            ],'markAccepted' => [
477              'path' => 'v1/{+name}:markAccepted',
478              'httpMethod' => 'POST',
479              'parameters' => [
480                'name' => [
481                  'location' => 'path',
482                  'type' => 'string',
483                  'required' => true,
484                ],
485              ],
486            ],
487          ]
488        ]
489    );
490    $this->projects_locations_recommenders_recommendations = new Recommender\Resource\ProjectsLocationsRecommendersRecommendations(
491        $this,
492        $this->serviceName,
493        'recommendations',
494        [
495          'methods' => [
496            'get' => [
497              'path' => 'v1/{+name}',
498              'httpMethod' => 'GET',
499              'parameters' => [
500                'name' => [
501                  'location' => 'path',
502                  'type' => 'string',
503                  'required' => true,
504                ],
505              ],
506            ],'list' => [
507              'path' => 'v1/{+parent}/recommendations',
508              'httpMethod' => 'GET',
509              'parameters' => [
510                'parent' => [
511                  'location' => 'path',
512                  'type' => 'string',
513                  'required' => true,
514                ],
515                'filter' => [
516                  'location' => 'query',
517                  'type' => 'string',
518                ],
519                'pageSize' => [
520                  'location' => 'query',
521                  'type' => 'integer',
522                ],
523                'pageToken' => [
524                  'location' => 'query',
525                  'type' => 'string',
526                ],
527              ],
528            ],'markClaimed' => [
529              'path' => 'v1/{+name}:markClaimed',
530              'httpMethod' => 'POST',
531              'parameters' => [
532                'name' => [
533                  'location' => 'path',
534                  'type' => 'string',
535                  'required' => true,
536                ],
537              ],
538            ],'markFailed' => [
539              'path' => 'v1/{+name}:markFailed',
540              'httpMethod' => 'POST',
541              'parameters' => [
542                'name' => [
543                  'location' => 'path',
544                  'type' => 'string',
545                  'required' => true,
546                ],
547              ],
548            ],'markSucceeded' => [
549              'path' => 'v1/{+name}:markSucceeded',
550              'httpMethod' => 'POST',
551              'parameters' => [
552                'name' => [
553                  'location' => 'path',
554                  'type' => 'string',
555                  'required' => true,
556                ],
557              ],
558            ],
559          ]
560        ]
561    );
562  }
563}
564
565// Adding a class alias for backwards compatibility with the previous class name.
566class_alias(Recommender::class, 'Google_Service_Recommender');
567