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\FirebaseManagement\Resource;
19
20use Google\Service\FirebaseManagement\ListAvailableProjectsResponse;
21
22/**
23 * The "availableProjects" collection of methods.
24 * Typical usage is:
25 *  <code>
26 *   $firebaseService = new Google\Service\FirebaseManagement(...);
27 *   $availableProjects = $firebaseService->availableProjects;
28 *  </code>
29 */
30class AvailableProjects extends \Google\Service\Resource
31{
32  /**
33   * Lists each [Google Cloud Platform (GCP) `Project`] (https://cloud.google.com
34   * /resource-manager/reference/rest/v1/projects) that can have Firebase
35   * resources added to it. A Project will only be listed if: - The caller has
36   * sufficient [Google IAM](https://cloud.google.com/iam) permissions to call
37   * AddFirebase. - The Project is not already a FirebaseProject. - The Project is
38   * not in an Organization which has policies that prevent Firebase resources
39   * from being added.  (availableProjects.listAvailableProjects)
40   *
41   * @param array $optParams Optional parameters.
42   *
43   * @opt_param int pageSize The maximum number of Projects to return in the
44   * response. The server may return fewer than this value at its discretion. If
45   * no value is specified (or too large a value is specified), the server will
46   * impose its own limit. This value cannot be negative.
47   * @opt_param string pageToken Token returned from a previous call to
48   * `ListAvailableProjects` indicating where in the set of Projects to resume
49   * listing.
50   * @return ListAvailableProjectsResponse
51   */
52  public function listAvailableProjects($optParams = [])
53  {
54    $params = [];
55    $params = array_merge($params, $optParams);
56    return $this->call('list', [$params], ListAvailableProjectsResponse::class);
57  }
58}
59
60// Adding a class alias for backwards compatibility with the previous class name.
61class_alias(AvailableProjects::class, 'Google_Service_FirebaseManagement_Resource_AvailableProjects');
62