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 ServiceConsumerManagement (v1).
20 *
21 * <p>
22 * Manages the service consumers of a Service Infrastructure service.</p>
23 *
24 * <p>
25 * For more information about this service, see the API
26 * <a href="https://cloud.google.com/service-consumer-management/docs/overview" target="_blank">Documentation</a>
27 * </p>
28 *
29 * @author Google, Inc.
30 */
31class Google_Service_ServiceConsumerManagement extends Google_Service
32{
33  /** View and manage your data across Google Cloud Platform services. */
34  const CLOUD_PLATFORM =
35      "https://www.googleapis.com/auth/cloud-platform";
36
37  public $operations;
38  public $services;
39  public $services_tenancyUnits;
40
41  /**
42   * Constructs the internal representation of the ServiceConsumerManagement
43   * service.
44   *
45   * @param Google_Client $client
46   */
47  public function __construct(Google_Client $client)
48  {
49    parent::__construct($client);
50    $this->rootUrl = 'https://serviceconsumermanagement.googleapis.com/';
51    $this->servicePath = '';
52    $this->batchPath = 'batch';
53    $this->version = 'v1';
54    $this->serviceName = 'serviceconsumermanagement';
55
56    $this->operations = new Google_Service_ServiceConsumerManagement_Resource_Operations(
57        $this,
58        $this->serviceName,
59        'operations',
60        array(
61          'methods' => array(
62            'cancel' => array(
63              'path' => 'v1/{+name}:cancel',
64              'httpMethod' => 'POST',
65              'parameters' => array(
66                'name' => array(
67                  'location' => 'path',
68                  'type' => 'string',
69                  'required' => true,
70                ),
71              ),
72            ),'delete' => array(
73              'path' => 'v1/{+name}',
74              'httpMethod' => 'DELETE',
75              'parameters' => array(
76                'name' => array(
77                  'location' => 'path',
78                  'type' => 'string',
79                  'required' => true,
80                ),
81              ),
82            ),'get' => array(
83              'path' => 'v1/{+name}',
84              'httpMethod' => 'GET',
85              'parameters' => array(
86                'name' => array(
87                  'location' => 'path',
88                  'type' => 'string',
89                  'required' => true,
90                ),
91              ),
92            ),'list' => array(
93              'path' => 'v1/{+name}',
94              'httpMethod' => 'GET',
95              'parameters' => array(
96                'name' => array(
97                  'location' => 'path',
98                  'type' => 'string',
99                  'required' => true,
100                ),
101                'filter' => array(
102                  'location' => 'query',
103                  'type' => 'string',
104                ),
105                'pageToken' => array(
106                  'location' => 'query',
107                  'type' => 'string',
108                ),
109                'pageSize' => array(
110                  'location' => 'query',
111                  'type' => 'integer',
112                ),
113              ),
114            ),
115          )
116        )
117    );
118    $this->services = new Google_Service_ServiceConsumerManagement_Resource_Services(
119        $this,
120        $this->serviceName,
121        'services',
122        array(
123          'methods' => array(
124            'search' => array(
125              'path' => 'v1/{+parent}:search',
126              'httpMethod' => 'GET',
127              'parameters' => array(
128                'parent' => array(
129                  'location' => 'path',
130                  'type' => 'string',
131                  'required' => true,
132                ),
133                'pageToken' => array(
134                  'location' => 'query',
135                  'type' => 'string',
136                ),
137                'pageSize' => array(
138                  'location' => 'query',
139                  'type' => 'integer',
140                ),
141                'query' => array(
142                  'location' => 'query',
143                  'type' => 'string',
144                ),
145              ),
146            ),
147          )
148        )
149    );
150    $this->services_tenancyUnits = new Google_Service_ServiceConsumerManagement_Resource_ServicesTenancyUnits(
151        $this,
152        $this->serviceName,
153        'tenancyUnits',
154        array(
155          'methods' => array(
156            'addProject' => array(
157              'path' => 'v1/{+parent}:addProject',
158              'httpMethod' => 'POST',
159              'parameters' => array(
160                'parent' => array(
161                  'location' => 'path',
162                  'type' => 'string',
163                  'required' => true,
164                ),
165              ),
166            ),'applyProjectConfig' => array(
167              'path' => 'v1/{+name}:applyProjectConfig',
168              'httpMethod' => 'POST',
169              'parameters' => array(
170                'name' => array(
171                  'location' => 'path',
172                  'type' => 'string',
173                  'required' => true,
174                ),
175              ),
176            ),'attachProject' => array(
177              'path' => 'v1/{+name}:attachProject',
178              'httpMethod' => 'POST',
179              'parameters' => array(
180                'name' => array(
181                  'location' => 'path',
182                  'type' => 'string',
183                  'required' => true,
184                ),
185              ),
186            ),'create' => array(
187              'path' => 'v1/{+parent}/tenancyUnits',
188              'httpMethod' => 'POST',
189              'parameters' => array(
190                'parent' => array(
191                  'location' => 'path',
192                  'type' => 'string',
193                  'required' => true,
194                ),
195              ),
196            ),'delete' => array(
197              'path' => 'v1/{+name}',
198              'httpMethod' => 'DELETE',
199              'parameters' => array(
200                'name' => array(
201                  'location' => 'path',
202                  'type' => 'string',
203                  'required' => true,
204                ),
205              ),
206            ),'deleteProject' => array(
207              'path' => 'v1/{+name}:deleteProject',
208              'httpMethod' => 'POST',
209              'parameters' => array(
210                'name' => array(
211                  'location' => 'path',
212                  'type' => 'string',
213                  'required' => true,
214                ),
215              ),
216            ),'list' => array(
217              'path' => 'v1/{+parent}/tenancyUnits',
218              'httpMethod' => 'GET',
219              'parameters' => array(
220                'parent' => array(
221                  'location' => 'path',
222                  'type' => 'string',
223                  'required' => true,
224                ),
225                'pageToken' => array(
226                  'location' => 'query',
227                  'type' => 'string',
228                ),
229                'pageSize' => array(
230                  'location' => 'query',
231                  'type' => 'integer',
232                ),
233                'filter' => array(
234                  'location' => 'query',
235                  'type' => 'string',
236                ),
237              ),
238            ),'removeProject' => array(
239              'path' => 'v1/{+name}:removeProject',
240              'httpMethod' => 'POST',
241              'parameters' => array(
242                'name' => array(
243                  'location' => 'path',
244                  'type' => 'string',
245                  'required' => true,
246                ),
247              ),
248            ),'undeleteProject' => array(
249              'path' => 'v1/{+name}:undeleteProject',
250              'httpMethod' => 'POST',
251              'parameters' => array(
252                'name' => array(
253                  'location' => 'path',
254                  'type' => 'string',
255                  'required' => true,
256                ),
257              ),
258            ),
259          )
260        )
261    );
262  }
263}
264