CloudKMS.php 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320
  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 CloudKMS (v1).
  21. *
  22. * <p>
  23. * Manages keys and performs cryptographic operations in a central cloud
  24. * service, for direct use by other cloud resources and applications.</p>
  25. *
  26. * <p>
  27. * For more information about this service, see the API
  28. * <a href="https://cloud.google.com/kms/" target="_blank">Documentation</a>
  29. * </p>
  30. *
  31. * @author Google, Inc.
  32. */
  33. class CloudKMS extends \Google\Service
  34. {
  35. /** See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.. */
  36. const CLOUD_PLATFORM =
  37. "https://www.googleapis.com/auth/cloud-platform";
  38. /** View and manage your keys and secrets stored in Cloud Key Management Service. */
  39. const CLOUDKMS =
  40. "https://www.googleapis.com/auth/cloudkms";
  41. public $folders;
  42. public $organizations;
  43. public $projects;
  44. public $projects_locations;
  45. public $projects_locations_ekmConfig;
  46. public $projects_locations_ekmConnections;
  47. public $projects_locations_keyHandles;
  48. public $projects_locations_keyRings;
  49. public $projects_locations_keyRings_cryptoKeys;
  50. public $projects_locations_keyRings_cryptoKeys_cryptoKeyVersions;
  51. public $projects_locations_keyRings_importJobs;
  52. public $projects_locations_operations;
  53. public $projects_locations_retiredResources;
  54. public $projects_locations_singleTenantHsmInstances;
  55. public $projects_locations_singleTenantHsmInstances_proposals;
  56. public $rootUrlTemplate;
  57. /**
  58. * Constructs the internal representation of the CloudKMS service.
  59. *
  60. * @param Client|array $clientOrConfig The client used to deliver requests, or a
  61. * config array to pass to a new Client instance.
  62. * @param string $rootUrl The root URL used for requests to the service.
  63. */
  64. public function __construct($clientOrConfig = [], $rootUrl = null)
  65. {
  66. parent::__construct($clientOrConfig);
  67. $this->rootUrl = $rootUrl ?: 'https://cloudkms.googleapis.com/';
  68. $this->rootUrlTemplate = $rootUrl ?: 'https://cloudkms.UNIVERSE_DOMAIN/';
  69. $this->servicePath = '';
  70. $this->batchPath = 'batch';
  71. $this->version = 'v1';
  72. $this->serviceName = 'cloudkms';
  73. $this->folders = new CloudKMS\Resource\Folders(
  74. $this,
  75. $this->serviceName,
  76. 'folders',
  77. [
  78. 'methods' => [
  79. 'getAutokeyConfig' => [
  80. 'path' => 'v1/{+name}',
  81. 'httpMethod' => 'GET',
  82. 'parameters' => [
  83. 'name' => [
  84. 'location' => 'path',
  85. 'type' => 'string',
  86. 'required' => true,
  87. ],
  88. ],
  89. ],'getKajPolicyConfig' => [
  90. 'path' => 'v1/{+name}',
  91. 'httpMethod' => 'GET',
  92. 'parameters' => [
  93. 'name' => [
  94. 'location' => 'path',
  95. 'type' => 'string',
  96. 'required' => true,
  97. ],
  98. ],
  99. ],'updateAutokeyConfig' => [
  100. 'path' => 'v1/{+name}',
  101. 'httpMethod' => 'PATCH',
  102. 'parameters' => [
  103. 'name' => [
  104. 'location' => 'path',
  105. 'type' => 'string',
  106. 'required' => true,
  107. ],
  108. 'updateMask' => [
  109. 'location' => 'query',
  110. 'type' => 'string',
  111. ],
  112. ],
  113. ],'updateKajPolicyConfig' => [
  114. 'path' => 'v1/{+name}',
  115. 'httpMethod' => 'PATCH',
  116. 'parameters' => [
  117. 'name' => [
  118. 'location' => 'path',
  119. 'type' => 'string',
  120. 'required' => true,
  121. ],
  122. 'updateMask' => [
  123. 'location' => 'query',
  124. 'type' => 'string',
  125. ],
  126. ],
  127. ],
  128. ]
  129. ]
  130. );
  131. $this->organizations = new CloudKMS\Resource\Organizations(
  132. $this,
  133. $this->serviceName,
  134. 'organizations',
  135. [
  136. 'methods' => [
  137. 'getKajPolicyConfig' => [
  138. 'path' => 'v1/{+name}',
  139. 'httpMethod' => 'GET',
  140. 'parameters' => [
  141. 'name' => [
  142. 'location' => 'path',
  143. 'type' => 'string',
  144. 'required' => true,
  145. ],
  146. ],
  147. ],'updateKajPolicyConfig' => [
  148. 'path' => 'v1/{+name}',
  149. 'httpMethod' => 'PATCH',
  150. 'parameters' => [
  151. 'name' => [
  152. 'location' => 'path',
  153. 'type' => 'string',
  154. 'required' => true,
  155. ],
  156. 'updateMask' => [
  157. 'location' => 'query',
  158. 'type' => 'string',
  159. ],
  160. ],
  161. ],
  162. ]
  163. ]
  164. );
  165. $this->projects = new CloudKMS\Resource\Projects(
  166. $this,
  167. $this->serviceName,
  168. 'projects',
  169. [
  170. 'methods' => [
  171. 'getAutokeyConfig' => [
  172. 'path' => 'v1/{+name}',
  173. 'httpMethod' => 'GET',
  174. 'parameters' => [
  175. 'name' => [
  176. 'location' => 'path',
  177. 'type' => 'string',
  178. 'required' => true,
  179. ],
  180. ],
  181. ],'getKajPolicyConfig' => [
  182. 'path' => 'v1/{+name}',
  183. 'httpMethod' => 'GET',
  184. 'parameters' => [
  185. 'name' => [
  186. 'location' => 'path',
  187. 'type' => 'string',
  188. 'required' => true,
  189. ],
  190. ],
  191. ],'showEffectiveAutokeyConfig' => [
  192. 'path' => 'v1/{+parent}:showEffectiveAutokeyConfig',
  193. 'httpMethod' => 'GET',
  194. 'parameters' => [
  195. 'parent' => [
  196. 'location' => 'path',
  197. 'type' => 'string',
  198. 'required' => true,
  199. ],
  200. ],
  201. ],'showEffectiveKeyAccessJustificationsEnrollmentConfig' => [
  202. 'path' => 'v1/{+project}:showEffectiveKeyAccessJustificationsEnrollmentConfig',
  203. 'httpMethod' => 'GET',
  204. 'parameters' => [
  205. 'project' => [
  206. 'location' => 'path',
  207. 'type' => 'string',
  208. 'required' => true,
  209. ],
  210. ],
  211. ],'showEffectiveKeyAccessJustificationsPolicyConfig' => [
  212. 'path' => 'v1/{+project}:showEffectiveKeyAccessJustificationsPolicyConfig',
  213. 'httpMethod' => 'GET',
  214. 'parameters' => [
  215. 'project' => [
  216. 'location' => 'path',
  217. 'type' => 'string',
  218. 'required' => true,
  219. ],
  220. ],
  221. ],'updateAutokeyConfig' => [
  222. 'path' => 'v1/{+name}',
  223. 'httpMethod' => 'PATCH',
  224. 'parameters' => [
  225. 'name' => [
  226. 'location' => 'path',
  227. 'type' => 'string',
  228. 'required' => true,
  229. ],
  230. 'updateMask' => [
  231. 'location' => 'query',
  232. 'type' => 'string',
  233. ],
  234. ],
  235. ],'updateKajPolicyConfig' => [
  236. 'path' => 'v1/{+name}',
  237. 'httpMethod' => 'PATCH',
  238. 'parameters' => [
  239. 'name' => [
  240. 'location' => 'path',
  241. 'type' => 'string',
  242. 'required' => true,
  243. ],
  244. 'updateMask' => [
  245. 'location' => 'query',
  246. 'type' => 'string',
  247. ],
  248. ],
  249. ],
  250. ]
  251. ]
  252. );
  253. $this->projects_locations = new CloudKMS\Resource\ProjectsLocations(
  254. $this,
  255. $this->serviceName,
  256. 'locations',
  257. [
  258. 'methods' => [
  259. 'generateRandomBytes' => [
  260. 'path' => 'v1/{+location}:generateRandomBytes',
  261. 'httpMethod' => 'POST',
  262. 'parameters' => [
  263. 'location' => [
  264. 'location' => 'path',
  265. 'type' => 'string',
  266. 'required' => true,
  267. ],
  268. ],
  269. ],'get' => [
  270. 'path' => 'v1/{+name}',
  271. 'httpMethod' => 'GET',
  272. 'parameters' => [
  273. 'name' => [
  274. 'location' => 'path',
  275. 'type' => 'string',
  276. 'required' => true,
  277. ],
  278. ],
  279. ],'getEkmConfig' => [
  280. 'path' => 'v1/{+name}',
  281. 'httpMethod' => 'GET',
  282. 'parameters' => [
  283. 'name' => [
  284. 'location' => 'path',
  285. 'type' => 'string',
  286. 'required' => true,
  287. ],
  288. ],
  289. ],'list' => [
  290. 'path' => 'v1/{+name}/locations',
  291. 'httpMethod' => 'GET',
  292. 'parameters' => [
  293. 'name' => [
  294. 'location' => 'path',
  295. 'type' => 'string',
  296. 'required' => true,
  297. ],
  298. 'extraLocationTypes' => [
  299. 'location' => 'query',
  300. 'type' => 'string',
  301. 'repeated' => true,
  302. ],
  303. 'filter' => [
  304. 'location' => 'query',
  305. 'type' => 'string',
  306. ],
  307. 'pageSize' => [
  308. 'location' => 'query',
  309. 'type' => 'integer',
  310. ],
  311. 'pageToken' => [
  312. 'location' => 'query',
  313. 'type' => 'string',
  314. ],
  315. ],
  316. ],'updateEkmConfig' => [
  317. 'path' => 'v1/{+name}',
  318. 'httpMethod' => 'PATCH',
  319. 'parameters' => [
  320. 'name' => [
  321. 'location' => 'path',
  322. 'type' => 'string',
  323. 'required' => true,
  324. ],
  325. 'updateMask' => [
  326. 'location' => 'query',
  327. 'type' => 'string',
  328. ],
  329. ],
  330. ],
  331. ]
  332. ]
  333. );
  334. $this->projects_locations_ekmConfig = new CloudKMS\Resource\ProjectsLocationsEkmConfig(
  335. $this,
  336. $this->serviceName,
  337. 'ekmConfig',
  338. [
  339. 'methods' => [
  340. 'getIamPolicy' => [
  341. 'path' => 'v1/{+resource}:getIamPolicy',
  342. 'httpMethod' => 'GET',
  343. 'parameters' => [
  344. 'resource' => [
  345. 'location' => 'path',
  346. 'type' => 'string',
  347. 'required' => true,
  348. ],
  349. 'options.requestedPolicyVersion' => [
  350. 'location' => 'query',
  351. 'type' => 'integer',
  352. ],
  353. ],
  354. ],'setIamPolicy' => [
  355. 'path' => 'v1/{+resource}:setIamPolicy',
  356. 'httpMethod' => 'POST',
  357. 'parameters' => [
  358. 'resource' => [
  359. 'location' => 'path',
  360. 'type' => 'string',
  361. 'required' => true,
  362. ],
  363. ],
  364. ],'testIamPermissions' => [
  365. 'path' => 'v1/{+resource}:testIamPermissions',
  366. 'httpMethod' => 'POST',
  367. 'parameters' => [
  368. 'resource' => [
  369. 'location' => 'path',
  370. 'type' => 'string',
  371. 'required' => true,
  372. ],
  373. ],
  374. ],
  375. ]
  376. ]
  377. );
  378. $this->projects_locations_ekmConnections = new CloudKMS\Resource\ProjectsLocationsEkmConnections(
  379. $this,
  380. $this->serviceName,
  381. 'ekmConnections',
  382. [
  383. 'methods' => [
  384. 'create' => [
  385. 'path' => 'v1/{+parent}/ekmConnections',
  386. 'httpMethod' => 'POST',
  387. 'parameters' => [
  388. 'parent' => [
  389. 'location' => 'path',
  390. 'type' => 'string',
  391. 'required' => true,
  392. ],
  393. 'ekmConnectionId' => [
  394. 'location' => 'query',
  395. 'type' => 'string',
  396. ],
  397. ],
  398. ],'get' => [
  399. 'path' => 'v1/{+name}',
  400. 'httpMethod' => 'GET',
  401. 'parameters' => [
  402. 'name' => [
  403. 'location' => 'path',
  404. 'type' => 'string',
  405. 'required' => true,
  406. ],
  407. ],
  408. ],'getIamPolicy' => [
  409. 'path' => 'v1/{+resource}:getIamPolicy',
  410. 'httpMethod' => 'GET',
  411. 'parameters' => [
  412. 'resource' => [
  413. 'location' => 'path',
  414. 'type' => 'string',
  415. 'required' => true,
  416. ],
  417. 'options.requestedPolicyVersion' => [
  418. 'location' => 'query',
  419. 'type' => 'integer',
  420. ],
  421. ],
  422. ],'list' => [
  423. 'path' => 'v1/{+parent}/ekmConnections',
  424. 'httpMethod' => 'GET',
  425. 'parameters' => [
  426. 'parent' => [
  427. 'location' => 'path',
  428. 'type' => 'string',
  429. 'required' => true,
  430. ],
  431. 'filter' => [
  432. 'location' => 'query',
  433. 'type' => 'string',
  434. ],
  435. 'orderBy' => [
  436. 'location' => 'query',
  437. 'type' => 'string',
  438. ],
  439. 'pageSize' => [
  440. 'location' => 'query',
  441. 'type' => 'integer',
  442. ],
  443. 'pageToken' => [
  444. 'location' => 'query',
  445. 'type' => 'string',
  446. ],
  447. ],
  448. ],'patch' => [
  449. 'path' => 'v1/{+name}',
  450. 'httpMethod' => 'PATCH',
  451. 'parameters' => [
  452. 'name' => [
  453. 'location' => 'path',
  454. 'type' => 'string',
  455. 'required' => true,
  456. ],
  457. 'updateMask' => [
  458. 'location' => 'query',
  459. 'type' => 'string',
  460. ],
  461. ],
  462. ],'setIamPolicy' => [
  463. 'path' => 'v1/{+resource}:setIamPolicy',
  464. 'httpMethod' => 'POST',
  465. 'parameters' => [
  466. 'resource' => [
  467. 'location' => 'path',
  468. 'type' => 'string',
  469. 'required' => true,
  470. ],
  471. ],
  472. ],'testIamPermissions' => [
  473. 'path' => 'v1/{+resource}:testIamPermissions',
  474. 'httpMethod' => 'POST',
  475. 'parameters' => [
  476. 'resource' => [
  477. 'location' => 'path',
  478. 'type' => 'string',
  479. 'required' => true,
  480. ],
  481. ],
  482. ],'verifyConnectivity' => [
  483. 'path' => 'v1/{+name}:verifyConnectivity',
  484. 'httpMethod' => 'GET',
  485. 'parameters' => [
  486. 'name' => [
  487. 'location' => 'path',
  488. 'type' => 'string',
  489. 'required' => true,
  490. ],
  491. ],
  492. ],
  493. ]
  494. ]
  495. );
  496. $this->projects_locations_keyHandles = new CloudKMS\Resource\ProjectsLocationsKeyHandles(
  497. $this,
  498. $this->serviceName,
  499. 'keyHandles',
  500. [
  501. 'methods' => [
  502. 'create' => [
  503. 'path' => 'v1/{+parent}/keyHandles',
  504. 'httpMethod' => 'POST',
  505. 'parameters' => [
  506. 'parent' => [
  507. 'location' => 'path',
  508. 'type' => 'string',
  509. 'required' => true,
  510. ],
  511. 'keyHandleId' => [
  512. 'location' => 'query',
  513. 'type' => 'string',
  514. ],
  515. ],
  516. ],'get' => [
  517. 'path' => 'v1/{+name}',
  518. 'httpMethod' => 'GET',
  519. 'parameters' => [
  520. 'name' => [
  521. 'location' => 'path',
  522. 'type' => 'string',
  523. 'required' => true,
  524. ],
  525. ],
  526. ],'list' => [
  527. 'path' => 'v1/{+parent}/keyHandles',
  528. 'httpMethod' => 'GET',
  529. 'parameters' => [
  530. 'parent' => [
  531. 'location' => 'path',
  532. 'type' => 'string',
  533. 'required' => true,
  534. ],
  535. 'filter' => [
  536. 'location' => 'query',
  537. 'type' => 'string',
  538. ],
  539. 'pageSize' => [
  540. 'location' => 'query',
  541. 'type' => 'integer',
  542. ],
  543. 'pageToken' => [
  544. 'location' => 'query',
  545. 'type' => 'string',
  546. ],
  547. ],
  548. ],
  549. ]
  550. ]
  551. );
  552. $this->projects_locations_keyRings = new CloudKMS\Resource\ProjectsLocationsKeyRings(
  553. $this,
  554. $this->serviceName,
  555. 'keyRings',
  556. [
  557. 'methods' => [
  558. 'create' => [
  559. 'path' => 'v1/{+parent}/keyRings',
  560. 'httpMethod' => 'POST',
  561. 'parameters' => [
  562. 'parent' => [
  563. 'location' => 'path',
  564. 'type' => 'string',
  565. 'required' => true,
  566. ],
  567. 'keyRingId' => [
  568. 'location' => 'query',
  569. 'type' => 'string',
  570. ],
  571. ],
  572. ],'get' => [
  573. 'path' => 'v1/{+name}',
  574. 'httpMethod' => 'GET',
  575. 'parameters' => [
  576. 'name' => [
  577. 'location' => 'path',
  578. 'type' => 'string',
  579. 'required' => true,
  580. ],
  581. ],
  582. ],'getIamPolicy' => [
  583. 'path' => 'v1/{+resource}:getIamPolicy',
  584. 'httpMethod' => 'GET',
  585. 'parameters' => [
  586. 'resource' => [
  587. 'location' => 'path',
  588. 'type' => 'string',
  589. 'required' => true,
  590. ],
  591. 'options.requestedPolicyVersion' => [
  592. 'location' => 'query',
  593. 'type' => 'integer',
  594. ],
  595. ],
  596. ],'list' => [
  597. 'path' => 'v1/{+parent}/keyRings',
  598. 'httpMethod' => 'GET',
  599. 'parameters' => [
  600. 'parent' => [
  601. 'location' => 'path',
  602. 'type' => 'string',
  603. 'required' => true,
  604. ],
  605. 'filter' => [
  606. 'location' => 'query',
  607. 'type' => 'string',
  608. ],
  609. 'orderBy' => [
  610. 'location' => 'query',
  611. 'type' => 'string',
  612. ],
  613. 'pageSize' => [
  614. 'location' => 'query',
  615. 'type' => 'integer',
  616. ],
  617. 'pageToken' => [
  618. 'location' => 'query',
  619. 'type' => 'string',
  620. ],
  621. ],
  622. ],'setIamPolicy' => [
  623. 'path' => 'v1/{+resource}:setIamPolicy',
  624. 'httpMethod' => 'POST',
  625. 'parameters' => [
  626. 'resource' => [
  627. 'location' => 'path',
  628. 'type' => 'string',
  629. 'required' => true,
  630. ],
  631. ],
  632. ],'testIamPermissions' => [
  633. 'path' => 'v1/{+resource}:testIamPermissions',
  634. 'httpMethod' => 'POST',
  635. 'parameters' => [
  636. 'resource' => [
  637. 'location' => 'path',
  638. 'type' => 'string',
  639. 'required' => true,
  640. ],
  641. ],
  642. ],
  643. ]
  644. ]
  645. );
  646. $this->projects_locations_keyRings_cryptoKeys = new CloudKMS\Resource\ProjectsLocationsKeyRingsCryptoKeys(
  647. $this,
  648. $this->serviceName,
  649. 'cryptoKeys',
  650. [
  651. 'methods' => [
  652. 'create' => [
  653. 'path' => 'v1/{+parent}/cryptoKeys',
  654. 'httpMethod' => 'POST',
  655. 'parameters' => [
  656. 'parent' => [
  657. 'location' => 'path',
  658. 'type' => 'string',
  659. 'required' => true,
  660. ],
  661. 'cryptoKeyId' => [
  662. 'location' => 'query',
  663. 'type' => 'string',
  664. ],
  665. 'skipInitialVersionCreation' => [
  666. 'location' => 'query',
  667. 'type' => 'boolean',
  668. ],
  669. ],
  670. ],'decrypt' => [
  671. 'path' => 'v1/{+name}:decrypt',
  672. 'httpMethod' => 'POST',
  673. 'parameters' => [
  674. 'name' => [
  675. 'location' => 'path',
  676. 'type' => 'string',
  677. 'required' => true,
  678. ],
  679. ],
  680. ],'delete' => [
  681. 'path' => 'v1/{+name}',
  682. 'httpMethod' => 'DELETE',
  683. 'parameters' => [
  684. 'name' => [
  685. 'location' => 'path',
  686. 'type' => 'string',
  687. 'required' => true,
  688. ],
  689. ],
  690. ],'encrypt' => [
  691. 'path' => 'v1/{+name}:encrypt',
  692. 'httpMethod' => 'POST',
  693. 'parameters' => [
  694. 'name' => [
  695. 'location' => 'path',
  696. 'type' => 'string',
  697. 'required' => true,
  698. ],
  699. ],
  700. ],'get' => [
  701. 'path' => 'v1/{+name}',
  702. 'httpMethod' => 'GET',
  703. 'parameters' => [
  704. 'name' => [
  705. 'location' => 'path',
  706. 'type' => 'string',
  707. 'required' => true,
  708. ],
  709. ],
  710. ],'getIamPolicy' => [
  711. 'path' => 'v1/{+resource}:getIamPolicy',
  712. 'httpMethod' => 'GET',
  713. 'parameters' => [
  714. 'resource' => [
  715. 'location' => 'path',
  716. 'type' => 'string',
  717. 'required' => true,
  718. ],
  719. 'options.requestedPolicyVersion' => [
  720. 'location' => 'query',
  721. 'type' => 'integer',
  722. ],
  723. ],
  724. ],'list' => [
  725. 'path' => 'v1/{+parent}/cryptoKeys',
  726. 'httpMethod' => 'GET',
  727. 'parameters' => [
  728. 'parent' => [
  729. 'location' => 'path',
  730. 'type' => 'string',
  731. 'required' => true,
  732. ],
  733. 'filter' => [
  734. 'location' => 'query',
  735. 'type' => 'string',
  736. ],
  737. 'orderBy' => [
  738. 'location' => 'query',
  739. 'type' => 'string',
  740. ],
  741. 'pageSize' => [
  742. 'location' => 'query',
  743. 'type' => 'integer',
  744. ],
  745. 'pageToken' => [
  746. 'location' => 'query',
  747. 'type' => 'string',
  748. ],
  749. 'versionView' => [
  750. 'location' => 'query',
  751. 'type' => 'string',
  752. ],
  753. ],
  754. ],'patch' => [
  755. 'path' => 'v1/{+name}',
  756. 'httpMethod' => 'PATCH',
  757. 'parameters' => [
  758. 'name' => [
  759. 'location' => 'path',
  760. 'type' => 'string',
  761. 'required' => true,
  762. ],
  763. 'updateMask' => [
  764. 'location' => 'query',
  765. 'type' => 'string',
  766. ],
  767. ],
  768. ],'setIamPolicy' => [
  769. 'path' => 'v1/{+resource}:setIamPolicy',
  770. 'httpMethod' => 'POST',
  771. 'parameters' => [
  772. 'resource' => [
  773. 'location' => 'path',
  774. 'type' => 'string',
  775. 'required' => true,
  776. ],
  777. ],
  778. ],'testIamPermissions' => [
  779. 'path' => 'v1/{+resource}:testIamPermissions',
  780. 'httpMethod' => 'POST',
  781. 'parameters' => [
  782. 'resource' => [
  783. 'location' => 'path',
  784. 'type' => 'string',
  785. 'required' => true,
  786. ],
  787. ],
  788. ],'updatePrimaryVersion' => [
  789. 'path' => 'v1/{+name}:updatePrimaryVersion',
  790. 'httpMethod' => 'POST',
  791. 'parameters' => [
  792. 'name' => [
  793. 'location' => 'path',
  794. 'type' => 'string',
  795. 'required' => true,
  796. ],
  797. ],
  798. ],
  799. ]
  800. ]
  801. );
  802. $this->projects_locations_keyRings_cryptoKeys_cryptoKeyVersions = new CloudKMS\Resource\ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersions(
  803. $this,
  804. $this->serviceName,
  805. 'cryptoKeyVersions',
  806. [
  807. 'methods' => [
  808. 'asymmetricDecrypt' => [
  809. 'path' => 'v1/{+name}:asymmetricDecrypt',
  810. 'httpMethod' => 'POST',
  811. 'parameters' => [
  812. 'name' => [
  813. 'location' => 'path',
  814. 'type' => 'string',
  815. 'required' => true,
  816. ],
  817. ],
  818. ],'asymmetricSign' => [
  819. 'path' => 'v1/{+name}:asymmetricSign',
  820. 'httpMethod' => 'POST',
  821. 'parameters' => [
  822. 'name' => [
  823. 'location' => 'path',
  824. 'type' => 'string',
  825. 'required' => true,
  826. ],
  827. ],
  828. ],'create' => [
  829. 'path' => 'v1/{+parent}/cryptoKeyVersions',
  830. 'httpMethod' => 'POST',
  831. 'parameters' => [
  832. 'parent' => [
  833. 'location' => 'path',
  834. 'type' => 'string',
  835. 'required' => true,
  836. ],
  837. ],
  838. ],'decapsulate' => [
  839. 'path' => 'v1/{+name}:decapsulate',
  840. 'httpMethod' => 'POST',
  841. 'parameters' => [
  842. 'name' => [
  843. 'location' => 'path',
  844. 'type' => 'string',
  845. 'required' => true,
  846. ],
  847. ],
  848. ],'delete' => [
  849. 'path' => 'v1/{+name}',
  850. 'httpMethod' => 'DELETE',
  851. 'parameters' => [
  852. 'name' => [
  853. 'location' => 'path',
  854. 'type' => 'string',
  855. 'required' => true,
  856. ],
  857. ],
  858. ],'destroy' => [
  859. 'path' => 'v1/{+name}:destroy',
  860. 'httpMethod' => 'POST',
  861. 'parameters' => [
  862. 'name' => [
  863. 'location' => 'path',
  864. 'type' => 'string',
  865. 'required' => true,
  866. ],
  867. ],
  868. ],'get' => [
  869. 'path' => 'v1/{+name}',
  870. 'httpMethod' => 'GET',
  871. 'parameters' => [
  872. 'name' => [
  873. 'location' => 'path',
  874. 'type' => 'string',
  875. 'required' => true,
  876. ],
  877. ],
  878. ],'getPublicKey' => [
  879. 'path' => 'v1/{+name}/publicKey',
  880. 'httpMethod' => 'GET',
  881. 'parameters' => [
  882. 'name' => [
  883. 'location' => 'path',
  884. 'type' => 'string',
  885. 'required' => true,
  886. ],
  887. 'publicKeyFormat' => [
  888. 'location' => 'query',
  889. 'type' => 'string',
  890. ],
  891. ],
  892. ],'import' => [
  893. 'path' => 'v1/{+parent}/cryptoKeyVersions:import',
  894. 'httpMethod' => 'POST',
  895. 'parameters' => [
  896. 'parent' => [
  897. 'location' => 'path',
  898. 'type' => 'string',
  899. 'required' => true,
  900. ],
  901. ],
  902. ],'list' => [
  903. 'path' => 'v1/{+parent}/cryptoKeyVersions',
  904. 'httpMethod' => 'GET',
  905. 'parameters' => [
  906. 'parent' => [
  907. 'location' => 'path',
  908. 'type' => 'string',
  909. 'required' => true,
  910. ],
  911. 'filter' => [
  912. 'location' => 'query',
  913. 'type' => 'string',
  914. ],
  915. 'orderBy' => [
  916. 'location' => 'query',
  917. 'type' => 'string',
  918. ],
  919. 'pageSize' => [
  920. 'location' => 'query',
  921. 'type' => 'integer',
  922. ],
  923. 'pageToken' => [
  924. 'location' => 'query',
  925. 'type' => 'string',
  926. ],
  927. 'view' => [
  928. 'location' => 'query',
  929. 'type' => 'string',
  930. ],
  931. ],
  932. ],'macSign' => [
  933. 'path' => 'v1/{+name}:macSign',
  934. 'httpMethod' => 'POST',
  935. 'parameters' => [
  936. 'name' => [
  937. 'location' => 'path',
  938. 'type' => 'string',
  939. 'required' => true,
  940. ],
  941. ],
  942. ],'macVerify' => [
  943. 'path' => 'v1/{+name}:macVerify',
  944. 'httpMethod' => 'POST',
  945. 'parameters' => [
  946. 'name' => [
  947. 'location' => 'path',
  948. 'type' => 'string',
  949. 'required' => true,
  950. ],
  951. ],
  952. ],'patch' => [
  953. 'path' => 'v1/{+name}',
  954. 'httpMethod' => 'PATCH',
  955. 'parameters' => [
  956. 'name' => [
  957. 'location' => 'path',
  958. 'type' => 'string',
  959. 'required' => true,
  960. ],
  961. 'updateMask' => [
  962. 'location' => 'query',
  963. 'type' => 'string',
  964. ],
  965. ],
  966. ],'rawDecrypt' => [
  967. 'path' => 'v1/{+name}:rawDecrypt',
  968. 'httpMethod' => 'POST',
  969. 'parameters' => [
  970. 'name' => [
  971. 'location' => 'path',
  972. 'type' => 'string',
  973. 'required' => true,
  974. ],
  975. ],
  976. ],'rawEncrypt' => [
  977. 'path' => 'v1/{+name}:rawEncrypt',
  978. 'httpMethod' => 'POST',
  979. 'parameters' => [
  980. 'name' => [
  981. 'location' => 'path',
  982. 'type' => 'string',
  983. 'required' => true,
  984. ],
  985. ],
  986. ],'restore' => [
  987. 'path' => 'v1/{+name}:restore',
  988. 'httpMethod' => 'POST',
  989. 'parameters' => [
  990. 'name' => [
  991. 'location' => 'path',
  992. 'type' => 'string',
  993. 'required' => true,
  994. ],
  995. ],
  996. ],
  997. ]
  998. ]
  999. );
  1000. $this->projects_locations_keyRings_importJobs = new CloudKMS\Resource\ProjectsLocationsKeyRingsImportJobs(
  1001. $this,
  1002. $this->serviceName,
  1003. 'importJobs',
  1004. [
  1005. 'methods' => [
  1006. 'create' => [
  1007. 'path' => 'v1/{+parent}/importJobs',
  1008. 'httpMethod' => 'POST',
  1009. 'parameters' => [
  1010. 'parent' => [
  1011. 'location' => 'path',
  1012. 'type' => 'string',
  1013. 'required' => true,
  1014. ],
  1015. 'importJobId' => [
  1016. 'location' => 'query',
  1017. 'type' => 'string',
  1018. ],
  1019. ],
  1020. ],'get' => [
  1021. 'path' => 'v1/{+name}',
  1022. 'httpMethod' => 'GET',
  1023. 'parameters' => [
  1024. 'name' => [
  1025. 'location' => 'path',
  1026. 'type' => 'string',
  1027. 'required' => true,
  1028. ],
  1029. ],
  1030. ],'getIamPolicy' => [
  1031. 'path' => 'v1/{+resource}:getIamPolicy',
  1032. 'httpMethod' => 'GET',
  1033. 'parameters' => [
  1034. 'resource' => [
  1035. 'location' => 'path',
  1036. 'type' => 'string',
  1037. 'required' => true,
  1038. ],
  1039. 'options.requestedPolicyVersion' => [
  1040. 'location' => 'query',
  1041. 'type' => 'integer',
  1042. ],
  1043. ],
  1044. ],'list' => [
  1045. 'path' => 'v1/{+parent}/importJobs',
  1046. 'httpMethod' => 'GET',
  1047. 'parameters' => [
  1048. 'parent' => [
  1049. 'location' => 'path',
  1050. 'type' => 'string',
  1051. 'required' => true,
  1052. ],
  1053. 'filter' => [
  1054. 'location' => 'query',
  1055. 'type' => 'string',
  1056. ],
  1057. 'orderBy' => [
  1058. 'location' => 'query',
  1059. 'type' => 'string',
  1060. ],
  1061. 'pageSize' => [
  1062. 'location' => 'query',
  1063. 'type' => 'integer',
  1064. ],
  1065. 'pageToken' => [
  1066. 'location' => 'query',
  1067. 'type' => 'string',
  1068. ],
  1069. ],
  1070. ],'setIamPolicy' => [
  1071. 'path' => 'v1/{+resource}:setIamPolicy',
  1072. 'httpMethod' => 'POST',
  1073. 'parameters' => [
  1074. 'resource' => [
  1075. 'location' => 'path',
  1076. 'type' => 'string',
  1077. 'required' => true,
  1078. ],
  1079. ],
  1080. ],'testIamPermissions' => [
  1081. 'path' => 'v1/{+resource}:testIamPermissions',
  1082. 'httpMethod' => 'POST',
  1083. 'parameters' => [
  1084. 'resource' => [
  1085. 'location' => 'path',
  1086. 'type' => 'string',
  1087. 'required' => true,
  1088. ],
  1089. ],
  1090. ],
  1091. ]
  1092. ]
  1093. );
  1094. $this->projects_locations_operations = new CloudKMS\Resource\ProjectsLocationsOperations(
  1095. $this,
  1096. $this->serviceName,
  1097. 'operations',
  1098. [
  1099. 'methods' => [
  1100. 'get' => [
  1101. 'path' => 'v1/{+name}',
  1102. 'httpMethod' => 'GET',
  1103. 'parameters' => [
  1104. 'name' => [
  1105. 'location' => 'path',
  1106. 'type' => 'string',
  1107. 'required' => true,
  1108. ],
  1109. ],
  1110. ],
  1111. ]
  1112. ]
  1113. );
  1114. $this->projects_locations_retiredResources = new CloudKMS\Resource\ProjectsLocationsRetiredResources(
  1115. $this,
  1116. $this->serviceName,
  1117. 'retiredResources',
  1118. [
  1119. 'methods' => [
  1120. 'get' => [
  1121. 'path' => 'v1/{+name}',
  1122. 'httpMethod' => 'GET',
  1123. 'parameters' => [
  1124. 'name' => [
  1125. 'location' => 'path',
  1126. 'type' => 'string',
  1127. 'required' => true,
  1128. ],
  1129. ],
  1130. ],'list' => [
  1131. 'path' => 'v1/{+parent}/retiredResources',
  1132. 'httpMethod' => 'GET',
  1133. 'parameters' => [
  1134. 'parent' => [
  1135. 'location' => 'path',
  1136. 'type' => 'string',
  1137. 'required' => true,
  1138. ],
  1139. 'pageSize' => [
  1140. 'location' => 'query',
  1141. 'type' => 'integer',
  1142. ],
  1143. 'pageToken' => [
  1144. 'location' => 'query',
  1145. 'type' => 'string',
  1146. ],
  1147. ],
  1148. ],
  1149. ]
  1150. ]
  1151. );
  1152. $this->projects_locations_singleTenantHsmInstances = new CloudKMS\Resource\ProjectsLocationsSingleTenantHsmInstances(
  1153. $this,
  1154. $this->serviceName,
  1155. 'singleTenantHsmInstances',
  1156. [
  1157. 'methods' => [
  1158. 'create' => [
  1159. 'path' => 'v1/{+parent}/singleTenantHsmInstances',
  1160. 'httpMethod' => 'POST',
  1161. 'parameters' => [
  1162. 'parent' => [
  1163. 'location' => 'path',
  1164. 'type' => 'string',
  1165. 'required' => true,
  1166. ],
  1167. 'singleTenantHsmInstanceId' => [
  1168. 'location' => 'query',
  1169. 'type' => 'string',
  1170. ],
  1171. ],
  1172. ],'get' => [
  1173. 'path' => 'v1/{+name}',
  1174. 'httpMethod' => 'GET',
  1175. 'parameters' => [
  1176. 'name' => [
  1177. 'location' => 'path',
  1178. 'type' => 'string',
  1179. 'required' => true,
  1180. ],
  1181. ],
  1182. ],'list' => [
  1183. 'path' => 'v1/{+parent}/singleTenantHsmInstances',
  1184. 'httpMethod' => 'GET',
  1185. 'parameters' => [
  1186. 'parent' => [
  1187. 'location' => 'path',
  1188. 'type' => 'string',
  1189. 'required' => true,
  1190. ],
  1191. 'filter' => [
  1192. 'location' => 'query',
  1193. 'type' => 'string',
  1194. ],
  1195. 'orderBy' => [
  1196. 'location' => 'query',
  1197. 'type' => 'string',
  1198. ],
  1199. 'pageSize' => [
  1200. 'location' => 'query',
  1201. 'type' => 'integer',
  1202. ],
  1203. 'pageToken' => [
  1204. 'location' => 'query',
  1205. 'type' => 'string',
  1206. ],
  1207. 'showDeleted' => [
  1208. 'location' => 'query',
  1209. 'type' => 'boolean',
  1210. ],
  1211. ],
  1212. ],
  1213. ]
  1214. ]
  1215. );
  1216. $this->projects_locations_singleTenantHsmInstances_proposals = new CloudKMS\Resource\ProjectsLocationsSingleTenantHsmInstancesProposals(
  1217. $this,
  1218. $this->serviceName,
  1219. 'proposals',
  1220. [
  1221. 'methods' => [
  1222. 'approve' => [
  1223. 'path' => 'v1/{+name}:approve',
  1224. 'httpMethod' => 'POST',
  1225. 'parameters' => [
  1226. 'name' => [
  1227. 'location' => 'path',
  1228. 'type' => 'string',
  1229. 'required' => true,
  1230. ],
  1231. ],
  1232. ],'create' => [
  1233. 'path' => 'v1/{+parent}/proposals',
  1234. 'httpMethod' => 'POST',
  1235. 'parameters' => [
  1236. 'parent' => [
  1237. 'location' => 'path',
  1238. 'type' => 'string',
  1239. 'required' => true,
  1240. ],
  1241. 'singleTenantHsmInstanceProposalId' => [
  1242. 'location' => 'query',
  1243. 'type' => 'string',
  1244. ],
  1245. ],
  1246. ],'delete' => [
  1247. 'path' => 'v1/{+name}',
  1248. 'httpMethod' => 'DELETE',
  1249. 'parameters' => [
  1250. 'name' => [
  1251. 'location' => 'path',
  1252. 'type' => 'string',
  1253. 'required' => true,
  1254. ],
  1255. ],
  1256. ],'execute' => [
  1257. 'path' => 'v1/{+name}:execute',
  1258. 'httpMethod' => 'POST',
  1259. 'parameters' => [
  1260. 'name' => [
  1261. 'location' => 'path',
  1262. 'type' => 'string',
  1263. 'required' => true,
  1264. ],
  1265. ],
  1266. ],'get' => [
  1267. 'path' => 'v1/{+name}',
  1268. 'httpMethod' => 'GET',
  1269. 'parameters' => [
  1270. 'name' => [
  1271. 'location' => 'path',
  1272. 'type' => 'string',
  1273. 'required' => true,
  1274. ],
  1275. ],
  1276. ],'list' => [
  1277. 'path' => 'v1/{+parent}/proposals',
  1278. 'httpMethod' => 'GET',
  1279. 'parameters' => [
  1280. 'parent' => [
  1281. 'location' => 'path',
  1282. 'type' => 'string',
  1283. 'required' => true,
  1284. ],
  1285. 'filter' => [
  1286. 'location' => 'query',
  1287. 'type' => 'string',
  1288. ],
  1289. 'orderBy' => [
  1290. 'location' => 'query',
  1291. 'type' => 'string',
  1292. ],
  1293. 'pageSize' => [
  1294. 'location' => 'query',
  1295. 'type' => 'integer',
  1296. ],
  1297. 'pageToken' => [
  1298. 'location' => 'query',
  1299. 'type' => 'string',
  1300. ],
  1301. 'showDeleted' => [
  1302. 'location' => 'query',
  1303. 'type' => 'boolean',
  1304. ],
  1305. ],
  1306. ],
  1307. ]
  1308. ]
  1309. );
  1310. }
  1311. }
  1312. // Adding a class alias for backwards compatibility with the previous class name.
  1313. class_alias(CloudKMS::class, 'Google_Service_CloudKMS');