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 namespace Google\Service;
19 
20 use Google\Client;
21 
22 /**
23  * Service definition for DataFusion (v1).
24  *
25  * <p>
26  * Cloud Data Fusion is a fully-managed, cloud native, enterprise data
27  * integration service for quickly building and managing data pipelines. It
28  * provides a graphical interface to increase time efficiency and reduce
29  * complexity, and allows business users, developers, and data scientists to
30  * easily and reliably build scalable data integration solutions to cleanse,
31  * prepare, blend, transfer and transform data without having to wrestle with
32  * infrastructure.</p>
33  *
34  * <p>
35  * For more information about this service, see the API
36  * <a href="https://cloud.google.com/data-fusion/docs" target="_blank">Documentation</a>
37  * </p>
38  *
39  * @author Google, Inc.
40  */
41 class DataFusion extends \Google\Service
42 {
43   /** See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.. */
44   const CLOUD_PLATFORM =
45       "https://www.googleapis.com/auth/cloud-platform";
46 
47   public $projects_locations;
48   public $projects_locations_instances;
49   public $projects_locations_operations;
50   public $projects_locations_versions;
51 
52   /**
53    * Constructs the internal representation of the DataFusion service.
54    *
55    * @param Client|array $clientOrConfig The client used to deliver requests, or a
56    *                                     config array to pass to a new Client instance.
57    * @param string $rootUrl The root URL used for requests to the service.
58    */
59   public function __construct($clientOrConfig = [], $rootUrl = null)
60   {
61     parent::__construct($clientOrConfig);
62     $this->rootUrl = $rootUrl ?: 'https://datafusion.googleapis.com/';
63     $this->servicePath = '';
64     $this->batchPath = 'batch';
65     $this->version = 'v1';
66     $this->serviceName = 'datafusion';
67 
68     $this->projects_locations = new DataFusion\Resource\ProjectsLocations(
69         $this,
70         $this->serviceName,
71         'locations',
72         [
73           'methods' => [
74             'get' => [
75               'path' => 'v1/{+name}',
76               'httpMethod' => 'GET',
77               'parameters' => [
78                 'name' => [
79                   'location' => 'path',
80                   'type' => 'string',
81                   'required' => true,
82                 ],
83               ],
84             ],'list' => [
85               'path' => 'v1/{+name}/locations',
86               'httpMethod' => 'GET',
87               'parameters' => [
88                 'name' => [
89                   'location' => 'path',
90                   'type' => 'string',
91                   'required' => true,
92                 ],
93                 'filter' => [
94                   'location' => 'query',
95                   'type' => 'string',
96                 ],
97                 'includeUnrevealedLocations' => [
98                   'location' => 'query',
99                   'type' => 'boolean',
100                 ],
101                 'pageSize' => [
102                   'location' => 'query',
103                   'type' => 'integer',
104                 ],
105                 'pageToken' => [
106                   'location' => 'query',
107                   'type' => 'string',
108                 ],
109               ],
110             ],
111           ]
112         ]
113     );
114     $this->projects_locations_instances = new DataFusion\Resource\ProjectsLocationsInstances(
115         $this,
116         $this->serviceName,
117         'instances',
118         [
119           'methods' => [
120             'create' => [
121               'path' => 'v1/{+parent}/instances',
122               'httpMethod' => 'POST',
123               'parameters' => [
124                 'parent' => [
125                   'location' => 'path',
126                   'type' => 'string',
127                   'required' => true,
128                 ],
129                 'instanceId' => [
130                   'location' => 'query',
131                   'type' => 'string',
132                 ],
133               ],
134             ],'delete' => [
135               'path' => 'v1/{+name}',
136               'httpMethod' => 'DELETE',
137               'parameters' => [
138                 'name' => [
139                   'location' => 'path',
140                   'type' => 'string',
141                   'required' => true,
142                 ],
143               ],
144             ],'get' => [
145               'path' => 'v1/{+name}',
146               'httpMethod' => 'GET',
147               'parameters' => [
148                 'name' => [
149                   'location' => 'path',
150                   'type' => 'string',
151                   'required' => true,
152                 ],
153               ],
154             ],'getIamPolicy' => [
155               'path' => 'v1/{+resource}:getIamPolicy',
156               'httpMethod' => 'GET',
157               'parameters' => [
158                 'resource' => [
159                   'location' => 'path',
160                   'type' => 'string',
161                   'required' => true,
162                 ],
163                 'options.requestedPolicyVersion' => [
164                   'location' => 'query',
165                   'type' => 'integer',
166                 ],
167               ],
168             ],'list' => [
169               'path' => 'v1/{+parent}/instances',
170               'httpMethod' => 'GET',
171               'parameters' => [
172                 'parent' => [
173                   'location' => 'path',
174                   'type' => 'string',
175                   'required' => true,
176                 ],
177                 'filter' => [
178                   'location' => 'query',
179                   'type' => 'string',
180                 ],
181                 'orderBy' => [
182                   'location' => 'query',
183                   'type' => 'string',
184                 ],
185                 'pageSize' => [
186                   'location' => 'query',
187                   'type' => 'integer',
188                 ],
189                 'pageToken' => [
190                   'location' => 'query',
191                   'type' => 'string',
192                 ],
193               ],
194             ],'patch' => [
195               'path' => 'v1/{+name}',
196               'httpMethod' => 'PATCH',
197               'parameters' => [
198                 'name' => [
199                   'location' => 'path',
200                   'type' => 'string',
201                   'required' => true,
202                 ],
203                 'updateMask' => [
204                   'location' => 'query',
205                   'type' => 'string',
206                 ],
207               ],
208             ],'restart' => [
209               'path' => 'v1/{+name}:restart',
210               'httpMethod' => 'POST',
211               'parameters' => [
212                 'name' => [
213                   'location' => 'path',
214                   'type' => 'string',
215                   'required' => true,
216                 ],
217               ],
218             ],'setIamPolicy' => [
219               'path' => 'v1/{+resource}:setIamPolicy',
220               'httpMethod' => 'POST',
221               'parameters' => [
222                 'resource' => [
223                   'location' => 'path',
224                   'type' => 'string',
225                   'required' => true,
226                 ],
227               ],
228             ],'testIamPermissions' => [
229               'path' => 'v1/{+resource}:testIamPermissions',
230               'httpMethod' => 'POST',
231               'parameters' => [
232                 'resource' => [
233                   'location' => 'path',
234                   'type' => 'string',
235                   'required' => true,
236                 ],
237               ],
238             ],
239           ]
240         ]
241     );
242     $this->projects_locations_operations = new DataFusion\Resource\ProjectsLocationsOperations(
243         $this,
244         $this->serviceName,
245         'operations',
246         [
247           'methods' => [
248             'cancel' => [
249               'path' => 'v1/{+name}:cancel',
250               'httpMethod' => 'POST',
251               'parameters' => [
252                 'name' => [
253                   'location' => 'path',
254                   'type' => 'string',
255                   'required' => true,
256                 ],
257               ],
258             ],'delete' => [
259               'path' => 'v1/{+name}',
260               'httpMethod' => 'DELETE',
261               'parameters' => [
262                 'name' => [
263                   'location' => 'path',
264                   'type' => 'string',
265                   'required' => true,
266                 ],
267               ],
268             ],'get' => [
269               'path' => 'v1/{+name}',
270               'httpMethod' => 'GET',
271               'parameters' => [
272                 'name' => [
273                   'location' => 'path',
274                   'type' => 'string',
275                   'required' => true,
276                 ],
277               ],
278             ],'list' => [
279               'path' => 'v1/{+name}/operations',
280               'httpMethod' => 'GET',
281               'parameters' => [
282                 'name' => [
283                   'location' => 'path',
284                   'type' => 'string',
285                   'required' => true,
286                 ],
287                 'filter' => [
288                   'location' => 'query',
289                   'type' => 'string',
290                 ],
291                 'pageSize' => [
292                   'location' => 'query',
293                   'type' => 'integer',
294                 ],
295                 'pageToken' => [
296                   'location' => 'query',
297                   'type' => 'string',
298                 ],
299               ],
300             ],
301           ]
302         ]
303     );
304     $this->projects_locations_versions = new DataFusion\Resource\ProjectsLocationsVersions(
305         $this,
306         $this->serviceName,
307         'versions',
308         [
309           'methods' => [
310             'list' => [
311               'path' => 'v1/{+parent}/versions',
312               'httpMethod' => 'GET',
313               'parameters' => [
314                 'parent' => [
315                   'location' => 'path',
316                   'type' => 'string',
317                   'required' => true,
318                 ],
319                 'latestPatchOnly' => [
320                   'location' => 'query',
321                   'type' => 'boolean',
322                 ],
323                 'pageSize' => [
324                   'location' => 'query',
325                   'type' => 'integer',
326                 ],
327                 'pageToken' => [
328                   'location' => 'query',
329                   'type' => 'string',
330                 ],
331               ],
332             ],
333           ]
334         ]
335     );
336   }
337 }
338 
339 // Adding a class alias for backwards compatibility with the previous class name.
340 class_alias(DataFusion::class, 'Google_Service_DataFusion');
341