BigLakeService.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435
  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. namespace Google\Service;
  18. use Google\Client;
  19. /**
  20. * Service definition for BigLakeService (v1).
  21. *
  22. * <p>
  23. * The BigLake API provides access to BigLake Metastore, a serverless, fully
  24. * managed, and highly available metastore for open-source data that can be used
  25. * for querying Apache Iceberg tables in BigQuery.</p>
  26. *
  27. * <p>
  28. * For more information about this service, see the API
  29. * <a href="https://cloud.google.com/bigquery/" target="_blank">Documentation</a>
  30. * </p>
  31. *
  32. * @author Google, Inc.
  33. */
  34. class BigLakeService extends \Google\Service
  35. {
  36. /** View and manage your data in Google BigQuery and see the email address for your Google Account. */
  37. const BIGQUERY =
  38. "https://www.googleapis.com/auth/bigquery";
  39. /** See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.. */
  40. const CLOUD_PLATFORM =
  41. "https://www.googleapis.com/auth/cloud-platform";
  42. public $projects_catalogs;
  43. public $projects_catalogs_namespaces;
  44. public $projects_catalogs_namespaces_tables;
  45. public $projects_locations_catalogs;
  46. public $projects_locations_catalogs_databases;
  47. public $projects_locations_catalogs_databases_tables;
  48. public $rootUrlTemplate;
  49. /**
  50. * Constructs the internal representation of the BigLakeService service.
  51. *
  52. * @param Client|array $clientOrConfig The client used to deliver requests, or a
  53. * config array to pass to a new Client instance.
  54. * @param string $rootUrl The root URL used for requests to the service.
  55. */
  56. public function __construct($clientOrConfig = [], $rootUrl = null)
  57. {
  58. parent::__construct($clientOrConfig);
  59. $this->rootUrl = $rootUrl ?: 'https://biglake.googleapis.com/';
  60. $this->rootUrlTemplate = $rootUrl ?: 'https://biglake.UNIVERSE_DOMAIN/';
  61. $this->servicePath = '';
  62. $this->batchPath = 'batch';
  63. $this->version = 'v1';
  64. $this->serviceName = 'biglake';
  65. $this->projects_catalogs = new BigLakeService\Resource\ProjectsCatalogs(
  66. $this,
  67. $this->serviceName,
  68. 'catalogs',
  69. [
  70. 'methods' => [
  71. 'getIamPolicy' => [
  72. 'path' => 'v1/{+resource}:getIamPolicy',
  73. 'httpMethod' => 'GET',
  74. 'parameters' => [
  75. 'resource' => [
  76. 'location' => 'path',
  77. 'type' => 'string',
  78. 'required' => true,
  79. ],
  80. 'options.requestedPolicyVersion' => [
  81. 'location' => 'query',
  82. 'type' => 'integer',
  83. ],
  84. ],
  85. ],'setIamPolicy' => [
  86. 'path' => 'v1/{+resource}:setIamPolicy',
  87. 'httpMethod' => 'POST',
  88. 'parameters' => [
  89. 'resource' => [
  90. 'location' => 'path',
  91. 'type' => 'string',
  92. 'required' => true,
  93. ],
  94. ],
  95. ],'testIamPermissions' => [
  96. 'path' => 'v1/{+resource}:testIamPermissions',
  97. 'httpMethod' => 'POST',
  98. 'parameters' => [
  99. 'resource' => [
  100. 'location' => 'path',
  101. 'type' => 'string',
  102. 'required' => true,
  103. ],
  104. ],
  105. ],
  106. ]
  107. ]
  108. );
  109. $this->projects_catalogs_namespaces = new BigLakeService\Resource\ProjectsCatalogsNamespaces(
  110. $this,
  111. $this->serviceName,
  112. 'namespaces',
  113. [
  114. 'methods' => [
  115. 'getIamPolicy' => [
  116. 'path' => 'v1/{+resource}:getIamPolicy',
  117. 'httpMethod' => 'GET',
  118. 'parameters' => [
  119. 'resource' => [
  120. 'location' => 'path',
  121. 'type' => 'string',
  122. 'required' => true,
  123. ],
  124. 'options.requestedPolicyVersion' => [
  125. 'location' => 'query',
  126. 'type' => 'integer',
  127. ],
  128. ],
  129. ],'setIamPolicy' => [
  130. 'path' => 'v1/{+resource}:setIamPolicy',
  131. 'httpMethod' => 'POST',
  132. 'parameters' => [
  133. 'resource' => [
  134. 'location' => 'path',
  135. 'type' => 'string',
  136. 'required' => true,
  137. ],
  138. ],
  139. ],'testIamPermissions' => [
  140. 'path' => 'v1/{+resource}:testIamPermissions',
  141. 'httpMethod' => 'POST',
  142. 'parameters' => [
  143. 'resource' => [
  144. 'location' => 'path',
  145. 'type' => 'string',
  146. 'required' => true,
  147. ],
  148. ],
  149. ],
  150. ]
  151. ]
  152. );
  153. $this->projects_catalogs_namespaces_tables = new BigLakeService\Resource\ProjectsCatalogsNamespacesTables(
  154. $this,
  155. $this->serviceName,
  156. 'tables',
  157. [
  158. 'methods' => [
  159. 'getIamPolicy' => [
  160. 'path' => 'v1/{+resource}:getIamPolicy',
  161. 'httpMethod' => 'GET',
  162. 'parameters' => [
  163. 'resource' => [
  164. 'location' => 'path',
  165. 'type' => 'string',
  166. 'required' => true,
  167. ],
  168. 'options.requestedPolicyVersion' => [
  169. 'location' => 'query',
  170. 'type' => 'integer',
  171. ],
  172. ],
  173. ],'setIamPolicy' => [
  174. 'path' => 'v1/{+resource}:setIamPolicy',
  175. 'httpMethod' => 'POST',
  176. 'parameters' => [
  177. 'resource' => [
  178. 'location' => 'path',
  179. 'type' => 'string',
  180. 'required' => true,
  181. ],
  182. ],
  183. ],'testIamPermissions' => [
  184. 'path' => 'v1/{+resource}:testIamPermissions',
  185. 'httpMethod' => 'POST',
  186. 'parameters' => [
  187. 'resource' => [
  188. 'location' => 'path',
  189. 'type' => 'string',
  190. 'required' => true,
  191. ],
  192. ],
  193. ],
  194. ]
  195. ]
  196. );
  197. $this->projects_locations_catalogs = new BigLakeService\Resource\ProjectsLocationsCatalogs(
  198. $this,
  199. $this->serviceName,
  200. 'catalogs',
  201. [
  202. 'methods' => [
  203. 'create' => [
  204. 'path' => 'v1/{+parent}/catalogs',
  205. 'httpMethod' => 'POST',
  206. 'parameters' => [
  207. 'parent' => [
  208. 'location' => 'path',
  209. 'type' => 'string',
  210. 'required' => true,
  211. ],
  212. 'catalogId' => [
  213. 'location' => 'query',
  214. 'type' => 'string',
  215. ],
  216. ],
  217. ],'delete' => [
  218. 'path' => 'v1/{+name}',
  219. 'httpMethod' => 'DELETE',
  220. 'parameters' => [
  221. 'name' => [
  222. 'location' => 'path',
  223. 'type' => 'string',
  224. 'required' => true,
  225. ],
  226. ],
  227. ],'get' => [
  228. 'path' => 'v1/{+name}',
  229. 'httpMethod' => 'GET',
  230. 'parameters' => [
  231. 'name' => [
  232. 'location' => 'path',
  233. 'type' => 'string',
  234. 'required' => true,
  235. ],
  236. ],
  237. ],'list' => [
  238. 'path' => 'v1/{+parent}/catalogs',
  239. 'httpMethod' => 'GET',
  240. 'parameters' => [
  241. 'parent' => [
  242. 'location' => 'path',
  243. 'type' => 'string',
  244. 'required' => true,
  245. ],
  246. 'pageSize' => [
  247. 'location' => 'query',
  248. 'type' => 'integer',
  249. ],
  250. 'pageToken' => [
  251. 'location' => 'query',
  252. 'type' => 'string',
  253. ],
  254. ],
  255. ],
  256. ]
  257. ]
  258. );
  259. $this->projects_locations_catalogs_databases = new BigLakeService\Resource\ProjectsLocationsCatalogsDatabases(
  260. $this,
  261. $this->serviceName,
  262. 'databases',
  263. [
  264. 'methods' => [
  265. 'create' => [
  266. 'path' => 'v1/{+parent}/databases',
  267. 'httpMethod' => 'POST',
  268. 'parameters' => [
  269. 'parent' => [
  270. 'location' => 'path',
  271. 'type' => 'string',
  272. 'required' => true,
  273. ],
  274. 'databaseId' => [
  275. 'location' => 'query',
  276. 'type' => 'string',
  277. ],
  278. ],
  279. ],'delete' => [
  280. 'path' => 'v1/{+name}',
  281. 'httpMethod' => 'DELETE',
  282. 'parameters' => [
  283. 'name' => [
  284. 'location' => 'path',
  285. 'type' => 'string',
  286. 'required' => true,
  287. ],
  288. ],
  289. ],'get' => [
  290. 'path' => 'v1/{+name}',
  291. 'httpMethod' => 'GET',
  292. 'parameters' => [
  293. 'name' => [
  294. 'location' => 'path',
  295. 'type' => 'string',
  296. 'required' => true,
  297. ],
  298. ],
  299. ],'list' => [
  300. 'path' => 'v1/{+parent}/databases',
  301. 'httpMethod' => 'GET',
  302. 'parameters' => [
  303. 'parent' => [
  304. 'location' => 'path',
  305. 'type' => 'string',
  306. 'required' => true,
  307. ],
  308. 'pageSize' => [
  309. 'location' => 'query',
  310. 'type' => 'integer',
  311. ],
  312. 'pageToken' => [
  313. 'location' => 'query',
  314. 'type' => 'string',
  315. ],
  316. ],
  317. ],'patch' => [
  318. 'path' => 'v1/{+name}',
  319. 'httpMethod' => 'PATCH',
  320. 'parameters' => [
  321. 'name' => [
  322. 'location' => 'path',
  323. 'type' => 'string',
  324. 'required' => true,
  325. ],
  326. 'updateMask' => [
  327. 'location' => 'query',
  328. 'type' => 'string',
  329. ],
  330. ],
  331. ],
  332. ]
  333. ]
  334. );
  335. $this->projects_locations_catalogs_databases_tables = new BigLakeService\Resource\ProjectsLocationsCatalogsDatabasesTables(
  336. $this,
  337. $this->serviceName,
  338. 'tables',
  339. [
  340. 'methods' => [
  341. 'create' => [
  342. 'path' => 'v1/{+parent}/tables',
  343. 'httpMethod' => 'POST',
  344. 'parameters' => [
  345. 'parent' => [
  346. 'location' => 'path',
  347. 'type' => 'string',
  348. 'required' => true,
  349. ],
  350. 'tableId' => [
  351. 'location' => 'query',
  352. 'type' => 'string',
  353. ],
  354. ],
  355. ],'delete' => [
  356. 'path' => 'v1/{+name}',
  357. 'httpMethod' => 'DELETE',
  358. 'parameters' => [
  359. 'name' => [
  360. 'location' => 'path',
  361. 'type' => 'string',
  362. 'required' => true,
  363. ],
  364. ],
  365. ],'get' => [
  366. 'path' => 'v1/{+name}',
  367. 'httpMethod' => 'GET',
  368. 'parameters' => [
  369. 'name' => [
  370. 'location' => 'path',
  371. 'type' => 'string',
  372. 'required' => true,
  373. ],
  374. ],
  375. ],'list' => [
  376. 'path' => 'v1/{+parent}/tables',
  377. 'httpMethod' => 'GET',
  378. 'parameters' => [
  379. 'parent' => [
  380. 'location' => 'path',
  381. 'type' => 'string',
  382. 'required' => true,
  383. ],
  384. 'pageSize' => [
  385. 'location' => 'query',
  386. 'type' => 'integer',
  387. ],
  388. 'pageToken' => [
  389. 'location' => 'query',
  390. 'type' => 'string',
  391. ],
  392. 'view' => [
  393. 'location' => 'query',
  394. 'type' => 'string',
  395. ],
  396. ],
  397. ],'patch' => [
  398. 'path' => 'v1/{+name}',
  399. 'httpMethod' => 'PATCH',
  400. 'parameters' => [
  401. 'name' => [
  402. 'location' => 'path',
  403. 'type' => 'string',
  404. 'required' => true,
  405. ],
  406. 'updateMask' => [
  407. 'location' => 'query',
  408. 'type' => 'string',
  409. ],
  410. ],
  411. ],'rename' => [
  412. 'path' => 'v1/{+name}:rename',
  413. 'httpMethod' => 'POST',
  414. 'parameters' => [
  415. 'name' => [
  416. 'location' => 'path',
  417. 'type' => 'string',
  418. 'required' => true,
  419. ],
  420. ],
  421. ],
  422. ]
  423. ]
  424. );
  425. }
  426. }
  427. // Adding a class alias for backwards compatibility with the previous class name.
  428. class_alias(BigLakeService::class, 'Google_Service_BigLakeService');