google-api-client 0.45.0 → 0.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (542) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/autoapprove.yml +49 -0
  3. data/.github/workflows/release-please.yml +77 -0
  4. data/.gitignore +2 -0
  5. data/.kokoro/trampoline.sh +0 -0
  6. data/CHANGELOG.md +664 -188
  7. data/Gemfile +1 -0
  8. data/Rakefile +31 -3
  9. data/api_list_config.yaml +8 -0
  10. data/bin/generate-api +77 -15
  11. data/generated/google/apis/acceleratedmobilepageurl_v1/classes.rb +7 -9
  12. data/generated/google/apis/acceleratedmobilepageurl_v1/service.rb +2 -2
  13. data/generated/google/apis/acceleratedmobilepageurl_v1.rb +1 -1
  14. data/generated/google/apis/accessapproval_v1/classes.rb +23 -16
  15. data/generated/google/apis/accessapproval_v1/service.rb +27 -27
  16. data/generated/google/apis/accessapproval_v1.rb +1 -1
  17. data/generated/google/apis/accesscontextmanager_v1/classes.rb +68 -0
  18. data/generated/google/apis/accesscontextmanager_v1/representations.rb +30 -0
  19. data/generated/google/apis/accesscontextmanager_v1/service.rb +180 -0
  20. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  21. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +30 -30
  22. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  23. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +25 -0
  24. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +15 -0
  25. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  26. data/generated/google/apis/admin_directory_v1/classes.rb +135 -0
  27. data/generated/google/apis/admin_directory_v1/representations.rb +62 -0
  28. data/generated/google/apis/admin_directory_v1/service.rb +72 -0
  29. data/generated/google/apis/admin_directory_v1.rb +1 -1
  30. data/generated/google/apis/admin_reports_v1.rb +1 -1
  31. data/generated/google/apis/admob_v1/classes.rb +29 -29
  32. data/generated/google/apis/admob_v1/service.rb +2 -1
  33. data/generated/google/apis/admob_v1.rb +3 -2
  34. data/generated/google/apis/adsense_v1_4/service.rb +4 -1
  35. data/generated/google/apis/adsense_v1_4.rb +1 -1
  36. data/generated/google/apis/analyticsadmin_v1alpha/classes.rb +1361 -0
  37. data/generated/google/apis/analyticsadmin_v1alpha/representations.rb +610 -0
  38. data/generated/google/apis/analyticsadmin_v1alpha/service.rb +2134 -0
  39. data/generated/google/apis/analyticsadmin_v1alpha.rb +43 -0
  40. data/generated/google/apis/analyticsdata_v1alpha/classes.rb +56 -11
  41. data/generated/google/apis/analyticsdata_v1alpha/representations.rb +17 -0
  42. data/generated/google/apis/analyticsdata_v1alpha/service.rb +41 -0
  43. data/generated/google/apis/analyticsdata_v1alpha.rb +1 -1
  44. data/generated/google/apis/androidmanagement_v1/classes.rb +29 -26
  45. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  46. data/generated/google/apis/androidpublisher_v3/classes.rb +9 -1
  47. data/generated/google/apis/androidpublisher_v3/representations.rb +1 -0
  48. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  49. data/generated/google/apis/apigee_v1/classes.rb +252 -66
  50. data/generated/google/apis/apigee_v1/representations.rb +88 -19
  51. data/generated/google/apis/apigee_v1/service.rb +244 -38
  52. data/generated/google/apis/apigee_v1.rb +1 -1
  53. data/generated/google/apis/appsmarket_v2.rb +1 -1
  54. data/generated/google/apis/area120tables_v1alpha1/classes.rb +423 -0
  55. data/generated/google/apis/{apigateway_v1alpha1 → area120tables_v1alpha1}/representations.rb +67 -69
  56. data/generated/google/apis/area120tables_v1alpha1/service.rb +381 -0
  57. data/generated/google/apis/area120tables_v1alpha1.rb +46 -0
  58. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +7 -0
  59. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +1 -0
  60. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  61. data/generated/google/apis/assuredworkloads_v1beta1/classes.rb +264 -0
  62. data/generated/google/apis/assuredworkloads_v1beta1/representations.rb +129 -0
  63. data/generated/google/apis/assuredworkloads_v1beta1.rb +1 -1
  64. data/generated/google/apis/bigquery_v2/classes.rb +212 -23
  65. data/generated/google/apis/bigquery_v2/representations.rb +69 -0
  66. data/generated/google/apis/bigquery_v2/service.rb +47 -1
  67. data/generated/google/apis/bigquery_v2.rb +1 -1
  68. data/generated/google/apis/billingbudgets_v1/classes.rb +373 -0
  69. data/generated/google/apis/billingbudgets_v1/representations.rb +171 -0
  70. data/generated/google/apis/billingbudgets_v1/service.rb +249 -0
  71. data/generated/google/apis/billingbudgets_v1.rb +38 -0
  72. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +12 -1
  73. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +1 -0
  74. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  75. data/generated/google/apis/binaryauthorization_v1/classes.rb +189 -2
  76. data/generated/google/apis/binaryauthorization_v1/representations.rb +74 -0
  77. data/generated/google/apis/binaryauthorization_v1/service.rb +35 -0
  78. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  79. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +189 -2
  80. data/generated/google/apis/binaryauthorization_v1beta1/representations.rb +74 -0
  81. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +35 -0
  82. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  83. data/generated/google/apis/books_v1/service.rb +54 -54
  84. data/generated/google/apis/books_v1.rb +1 -1
  85. data/generated/google/apis/calendar_v3/classes.rb +2 -1
  86. data/generated/google/apis/calendar_v3.rb +1 -1
  87. data/generated/google/apis/chat_v1/classes.rb +84 -2
  88. data/generated/google/apis/chat_v1/representations.rb +36 -0
  89. data/generated/google/apis/chat_v1.rb +1 -1
  90. data/generated/google/apis/civicinfo_v2/classes.rb +0 -24
  91. data/generated/google/apis/civicinfo_v2/representations.rb +0 -3
  92. data/generated/google/apis/civicinfo_v2.rb +1 -1
  93. data/generated/google/apis/classroom_v1/classes.rb +21 -21
  94. data/generated/google/apis/classroom_v1.rb +1 -1
  95. data/generated/google/apis/cloudasset_v1/classes.rb +697 -0
  96. data/generated/google/apis/cloudasset_v1/representations.rb +304 -0
  97. data/generated/google/apis/cloudasset_v1/service.rb +171 -0
  98. data/generated/google/apis/cloudasset_v1.rb +1 -1
  99. data/generated/google/apis/cloudasset_v1p4beta1/classes.rb +3 -3
  100. data/generated/google/apis/cloudasset_v1p4beta1.rb +1 -1
  101. data/generated/google/apis/cloudbilling_v1/classes.rb +1 -1
  102. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  103. data/generated/google/apis/cloudbuild_v1/classes.rb +2 -35
  104. data/generated/google/apis/cloudbuild_v1/representations.rb +0 -15
  105. data/generated/google/apis/cloudbuild_v1/service.rb +17 -6
  106. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  107. data/generated/google/apis/cloudfunctions_v1/classes.rb +12 -1
  108. data/generated/google/apis/cloudfunctions_v1/representations.rb +1 -0
  109. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  110. data/generated/google/apis/cloudidentity_v1/classes.rb +78 -98
  111. data/generated/google/apis/cloudidentity_v1/representations.rb +0 -17
  112. data/generated/google/apis/cloudidentity_v1/service.rb +85 -69
  113. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  114. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +188 -0
  115. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +94 -0
  116. data/generated/google/apis/cloudidentity_v1beta1/service.rb +179 -0
  117. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  118. data/generated/google/apis/cloudresourcemanager_v1/service.rb +2 -2
  119. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  120. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +2 -2
  121. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  122. data/generated/google/apis/cloudresourcemanager_v2/service.rb +7 -7
  123. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  124. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +7 -7
  125. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  126. data/generated/google/apis/cloudsearch_v1/classes.rb +2 -1
  127. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  128. data/generated/google/apis/cloudshell_v1/classes.rb +342 -0
  129. data/generated/google/apis/cloudshell_v1/representations.rb +200 -0
  130. data/generated/google/apis/cloudshell_v1/service.rb +177 -0
  131. data/generated/google/apis/cloudshell_v1.rb +1 -1
  132. data/generated/google/apis/composer_v1/classes.rb +2 -3
  133. data/generated/google/apis/composer_v1.rb +1 -1
  134. data/generated/google/apis/composer_v1beta1/classes.rb +4 -4
  135. data/generated/google/apis/composer_v1beta1/service.rb +37 -35
  136. data/generated/google/apis/composer_v1beta1.rb +1 -1
  137. data/generated/google/apis/compute_alpha/classes.rb +633 -146
  138. data/generated/google/apis/compute_alpha/representations.rb +131 -8
  139. data/generated/google/apis/compute_alpha/service.rb +1995 -1013
  140. data/generated/google/apis/compute_alpha.rb +1 -1
  141. data/generated/google/apis/compute_beta/classes.rb +566 -94
  142. data/generated/google/apis/compute_beta/representations.rb +100 -1
  143. data/generated/google/apis/compute_beta/service.rb +805 -136
  144. data/generated/google/apis/compute_beta.rb +1 -1
  145. data/generated/google/apis/compute_v1/classes.rb +586 -72
  146. data/generated/google/apis/compute_v1/representations.rb +98 -1
  147. data/generated/google/apis/compute_v1/service.rb +741 -133
  148. data/generated/google/apis/compute_v1.rb +1 -1
  149. data/generated/google/apis/container_v1/classes.rb +22 -10
  150. data/generated/google/apis/container_v1.rb +1 -1
  151. data/generated/google/apis/container_v1beta1/classes.rb +22 -10
  152. data/generated/google/apis/container_v1beta1.rb +1 -1
  153. data/generated/google/apis/content_v2/classes.rb +510 -1217
  154. data/generated/google/apis/content_v2/service.rb +377 -650
  155. data/generated/google/apis/content_v2.rb +3 -4
  156. data/generated/google/apis/content_v2_1/classes.rb +1001 -1053
  157. data/generated/google/apis/content_v2_1/representations.rb +253 -0
  158. data/generated/google/apis/content_v2_1/service.rb +943 -802
  159. data/generated/google/apis/content_v2_1.rb +3 -4
  160. data/generated/google/apis/datacatalog_v1beta1/classes.rb +25 -1
  161. data/generated/google/apis/datacatalog_v1beta1/representations.rb +5 -0
  162. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  163. data/generated/google/apis/dataflow_v1b3/classes.rb +32 -8
  164. data/generated/google/apis/dataflow_v1b3/representations.rb +3 -0
  165. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  166. data/generated/google/apis/datafusion_v1.rb +1 -1
  167. data/generated/google/apis/datalabeling_v1beta1/classes.rb +6207 -0
  168. data/generated/google/apis/datalabeling_v1beta1/representations.rb +3156 -0
  169. data/generated/google/apis/datalabeling_v1beta1/service.rb +1762 -0
  170. data/generated/google/apis/datalabeling_v1beta1.rb +34 -0
  171. data/generated/google/apis/dataproc_v1/classes.rb +41 -3
  172. data/generated/google/apis/dataproc_v1/representations.rb +16 -0
  173. data/generated/google/apis/dataproc_v1.rb +1 -1
  174. data/generated/google/apis/dataproc_v1beta2/classes.rb +41 -3
  175. data/generated/google/apis/dataproc_v1beta2/representations.rb +16 -0
  176. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  177. data/generated/google/apis/datastore_v1/classes.rb +4 -4
  178. data/generated/google/apis/datastore_v1.rb +1 -1
  179. data/generated/google/apis/datastore_v1beta3/classes.rb +4 -4
  180. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  181. data/generated/google/apis/deploymentmanager_v2/classes.rb +203 -558
  182. data/generated/google/apis/deploymentmanager_v2/representations.rb +0 -132
  183. data/generated/google/apis/deploymentmanager_v2/service.rb +169 -213
  184. data/generated/google/apis/deploymentmanager_v2.rb +6 -4
  185. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +247 -609
  186. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +0 -132
  187. data/generated/google/apis/deploymentmanager_v2beta/service.rb +278 -359
  188. data/generated/google/apis/deploymentmanager_v2beta.rb +6 -5
  189. data/generated/google/apis/dfareporting_v3_3/classes.rb +0 -164
  190. data/generated/google/apis/dfareporting_v3_3/representations.rb +0 -42
  191. data/generated/google/apis/dfareporting_v3_3.rb +1 -1
  192. data/generated/google/apis/dfareporting_v3_4/classes.rb +0 -164
  193. data/generated/google/apis/dfareporting_v3_4/representations.rb +0 -42
  194. data/generated/google/apis/dfareporting_v3_4.rb +1 -1
  195. data/generated/google/apis/dialogflow_v2/classes.rb +677 -204
  196. data/generated/google/apis/dialogflow_v2/representations.rb +300 -87
  197. data/generated/google/apis/dialogflow_v2.rb +1 -1
  198. data/generated/google/apis/dialogflow_v2beta1/classes.rb +684 -212
  199. data/generated/google/apis/dialogflow_v2beta1/representations.rb +300 -87
  200. data/generated/google/apis/dialogflow_v2beta1/service.rb +62 -12
  201. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  202. data/generated/google/apis/dialogflow_v3beta1/classes.rb +813 -207
  203. data/generated/google/apis/dialogflow_v3beta1/representations.rb +354 -90
  204. data/generated/google/apis/dialogflow_v3beta1/service.rb +22 -9
  205. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  206. data/generated/google/apis/displayvideo_v1/classes.rb +216 -30
  207. data/generated/google/apis/displayvideo_v1/representations.rb +78 -0
  208. data/generated/google/apis/displayvideo_v1/service.rb +261 -18
  209. data/generated/google/apis/displayvideo_v1.rb +1 -1
  210. data/generated/google/apis/dlp_v2/classes.rb +59 -32
  211. data/generated/google/apis/dlp_v2/representations.rb +16 -0
  212. data/generated/google/apis/dlp_v2/service.rb +328 -328
  213. data/generated/google/apis/dlp_v2.rb +1 -1
  214. data/generated/google/apis/dns_v1/classes.rb +181 -0
  215. data/generated/google/apis/dns_v1/representations.rb +83 -0
  216. data/generated/google/apis/dns_v1/service.rb +11 -11
  217. data/generated/google/apis/dns_v1.rb +2 -2
  218. data/generated/google/apis/dns_v1beta2/classes.rb +182 -1
  219. data/generated/google/apis/dns_v1beta2/representations.rb +83 -0
  220. data/generated/google/apis/dns_v1beta2/service.rb +11 -11
  221. data/generated/google/apis/dns_v1beta2.rb +2 -2
  222. data/generated/google/apis/documentai_v1beta3/classes.rb +6149 -0
  223. data/generated/google/apis/documentai_v1beta3/representations.rb +2666 -0
  224. data/generated/google/apis/documentai_v1beta3/service.rb +263 -0
  225. data/generated/google/apis/documentai_v1beta3.rb +36 -0
  226. data/generated/google/apis/domains_v1alpha2/classes.rb +1540 -0
  227. data/generated/google/apis/domains_v1alpha2/representations.rb +606 -0
  228. data/generated/google/apis/domains_v1alpha2/service.rb +805 -0
  229. data/generated/google/apis/domains_v1alpha2.rb +34 -0
  230. data/generated/google/apis/domains_v1beta1/classes.rb +1540 -0
  231. data/generated/google/apis/domains_v1beta1/representations.rb +606 -0
  232. data/generated/google/apis/domains_v1beta1/service.rb +805 -0
  233. data/generated/google/apis/domains_v1beta1.rb +34 -0
  234. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +2 -1
  235. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  236. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +4 -3
  237. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  238. data/generated/google/apis/drive_v2/classes.rb +4 -1
  239. data/generated/google/apis/drive_v2.rb +1 -1
  240. data/generated/google/apis/drive_v3/classes.rb +4 -2
  241. data/generated/google/apis/drive_v3.rb +1 -1
  242. data/generated/google/apis/{apigateway_v1alpha1 → eventarc_v1beta1}/classes.rb +327 -29
  243. data/generated/google/apis/eventarc_v1beta1/representations.rb +379 -0
  244. data/generated/google/apis/{apigateway_v1alpha1 → eventarc_v1beta1}/service.rb +224 -268
  245. data/generated/google/apis/{apigateway_v1alpha1.rb → eventarc_v1beta1.rb} +8 -8
  246. data/generated/google/apis/file_v1/classes.rb +1 -1
  247. data/generated/google/apis/file_v1.rb +1 -1
  248. data/generated/google/apis/file_v1beta1/classes.rb +1 -1
  249. data/generated/google/apis/file_v1beta1.rb +1 -1
  250. data/generated/google/apis/firebase_v1beta1/service.rb +17 -4
  251. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  252. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +2 -0
  253. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  254. data/generated/google/apis/firestore_v1/classes.rb +4 -4
  255. data/generated/google/apis/firestore_v1.rb +1 -1
  256. data/generated/google/apis/firestore_v1beta1/classes.rb +4 -4
  257. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  258. data/generated/google/apis/fitness_v1/service.rb +3 -1
  259. data/generated/google/apis/fitness_v1.rb +13 -1
  260. data/generated/google/apis/games_v1/classes.rb +300 -0
  261. data/generated/google/apis/games_v1/representations.rb +116 -0
  262. data/generated/google/apis/games_v1/service.rb +34 -0
  263. data/generated/google/apis/games_v1.rb +1 -1
  264. data/generated/google/apis/gameservices_v1/classes.rb +15 -14
  265. data/generated/google/apis/gameservices_v1/service.rb +54 -51
  266. data/generated/google/apis/gameservices_v1.rb +1 -1
  267. data/generated/google/apis/gameservices_v1beta/classes.rb +15 -14
  268. data/generated/google/apis/gameservices_v1beta/service.rb +54 -51
  269. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  270. data/generated/google/apis/genomics_v2alpha1/classes.rb +104 -0
  271. data/generated/google/apis/genomics_v2alpha1/representations.rb +47 -0
  272. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  273. data/generated/google/apis/gmail_v1/service.rb +1 -1
  274. data/generated/google/apis/gmail_v1.rb +1 -1
  275. data/generated/google/apis/gmailpostmastertools_v1beta1/service.rb +10 -10
  276. data/generated/google/apis/gmailpostmastertools_v1beta1.rb +1 -1
  277. data/generated/google/apis/healthcare_v1/classes.rb +7 -5
  278. data/generated/google/apis/healthcare_v1/service.rb +2 -1
  279. data/generated/google/apis/healthcare_v1.rb +1 -1
  280. data/generated/google/apis/healthcare_v1beta1/classes.rb +1190 -285
  281. data/generated/google/apis/healthcare_v1beta1/representations.rb +516 -68
  282. data/generated/google/apis/healthcare_v1beta1/service.rb +1500 -228
  283. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  284. data/generated/google/apis/iam_v1/service.rb +1 -4
  285. data/generated/google/apis/iam_v1.rb +2 -5
  286. data/generated/google/apis/iamcredentials_v1/service.rb +2 -3
  287. data/generated/google/apis/iamcredentials_v1.rb +3 -4
  288. data/generated/google/apis/jobs_v2/classes.rb +798 -0
  289. data/generated/google/apis/jobs_v2/representations.rb +272 -0
  290. data/generated/google/apis/jobs_v2.rb +1 -1
  291. data/generated/google/apis/jobs_v3/classes.rb +798 -0
  292. data/generated/google/apis/jobs_v3/representations.rb +272 -0
  293. data/generated/google/apis/jobs_v3.rb +1 -1
  294. data/generated/google/apis/jobs_v3p1beta1/classes.rb +759 -0
  295. data/generated/google/apis/jobs_v3p1beta1/representations.rb +257 -0
  296. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  297. data/generated/google/apis/licensing_v1/service.rb +2 -2
  298. data/generated/google/apis/licensing_v1.rb +1 -1
  299. data/generated/google/apis/lifesciences_v2beta/classes.rb +104 -0
  300. data/generated/google/apis/lifesciences_v2beta/representations.rb +47 -0
  301. data/generated/google/apis/lifesciences_v2beta.rb +1 -1
  302. data/generated/google/apis/localservices_v1/classes.rb +7 -0
  303. data/generated/google/apis/localservices_v1/representations.rb +2 -0
  304. data/generated/google/apis/localservices_v1/service.rb +20 -20
  305. data/generated/google/apis/localservices_v1.rb +1 -1
  306. data/generated/google/apis/logging_v2/classes.rb +174 -60
  307. data/generated/google/apis/logging_v2/representations.rb +64 -0
  308. data/generated/google/apis/logging_v2/service.rb +1422 -127
  309. data/generated/google/apis/logging_v2.rb +1 -1
  310. data/generated/google/apis/managedidentities_v1/classes.rb +8 -1
  311. data/generated/google/apis/managedidentities_v1/representations.rb +1 -0
  312. data/generated/google/apis/managedidentities_v1/service.rb +1 -4
  313. data/generated/google/apis/managedidentities_v1.rb +1 -1
  314. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +87 -9
  315. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +34 -1
  316. data/generated/google/apis/managedidentities_v1alpha1/service.rb +83 -5
  317. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  318. data/generated/google/apis/managedidentities_v1beta1/classes.rb +88 -9
  319. data/generated/google/apis/managedidentities_v1beta1/representations.rb +34 -1
  320. data/generated/google/apis/managedidentities_v1beta1/service.rb +83 -5
  321. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  322. data/generated/google/apis/memcache_v1beta2/classes.rb +1 -1
  323. data/generated/google/apis/memcache_v1beta2/service.rb +5 -5
  324. data/generated/google/apis/memcache_v1beta2.rb +1 -1
  325. data/generated/google/apis/ml_v1/classes.rb +238 -77
  326. data/generated/google/apis/ml_v1/representations.rb +17 -0
  327. data/generated/google/apis/ml_v1.rb +1 -1
  328. data/generated/google/apis/monitoring_v3/classes.rb +71 -17
  329. data/generated/google/apis/monitoring_v3/representations.rb +18 -0
  330. data/generated/google/apis/monitoring_v3/service.rb +55 -6
  331. data/generated/google/apis/monitoring_v3.rb +1 -1
  332. data/generated/google/apis/oauth2_v2/classes.rb +165 -0
  333. data/generated/google/apis/oauth2_v2/representations.rb +68 -0
  334. data/generated/google/apis/oauth2_v2/service.rb +158 -0
  335. data/generated/google/apis/oauth2_v2.rb +40 -0
  336. data/generated/google/apis/osconfig_v1/service.rb +4 -4
  337. data/generated/google/apis/osconfig_v1.rb +3 -3
  338. data/generated/google/apis/osconfig_v1beta/service.rb +4 -4
  339. data/generated/google/apis/osconfig_v1beta.rb +3 -3
  340. data/generated/google/apis/oslogin_v1alpha/classes.rb +2 -2
  341. data/generated/google/apis/oslogin_v1alpha/service.rb +13 -13
  342. data/generated/google/apis/oslogin_v1alpha.rb +1 -1
  343. data/generated/google/apis/people_v1/classes.rb +52 -51
  344. data/generated/google/apis/people_v1/service.rb +24 -22
  345. data/generated/google/apis/people_v1.rb +1 -1
  346. data/generated/google/apis/playablelocations_v3/classes.rb +6 -6
  347. data/generated/google/apis/playablelocations_v3.rb +1 -1
  348. data/generated/google/apis/playcustomapp_v1.rb +1 -1
  349. data/generated/google/apis/poly_v1/classes.rb +65 -79
  350. data/generated/google/apis/poly_v1/service.rb +50 -63
  351. data/generated/google/apis/poly_v1.rb +3 -4
  352. data/generated/google/apis/privateca_v1beta1/classes.rb +2466 -0
  353. data/generated/google/apis/privateca_v1beta1/representations.rb +996 -0
  354. data/generated/google/apis/privateca_v1beta1/service.rb +1487 -0
  355. data/generated/google/apis/{appsactivity_v1.rb → privateca_v1beta1.rb} +11 -11
  356. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +109 -0
  357. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  358. data/generated/google/apis/pubsub_v1/service.rb +2 -2
  359. data/generated/google/apis/pubsub_v1.rb +1 -1
  360. data/generated/google/apis/pubsublite_v1/classes.rb +2 -2
  361. data/generated/google/apis/pubsublite_v1.rb +1 -1
  362. data/generated/google/apis/realtimebidding_v1/classes.rb +84 -123
  363. data/generated/google/apis/realtimebidding_v1/representations.rb +18 -32
  364. data/generated/google/apis/realtimebidding_v1/service.rb +4 -1
  365. data/generated/google/apis/realtimebidding_v1.rb +1 -1
  366. data/generated/google/apis/recommendationengine_v1beta1/classes.rb +32 -0
  367. data/generated/google/apis/recommendationengine_v1beta1/representations.rb +25 -0
  368. data/generated/google/apis/recommendationengine_v1beta1.rb +1 -1
  369. data/generated/google/apis/recommender_v1/classes.rb +1 -1
  370. data/generated/google/apis/recommender_v1/service.rb +4 -2
  371. data/generated/google/apis/recommender_v1.rb +1 -1
  372. data/generated/google/apis/recommender_v1beta1/classes.rb +1 -1
  373. data/generated/google/apis/recommender_v1beta1/service.rb +4 -2
  374. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  375. data/generated/google/apis/redis_v1/classes.rb +5 -5
  376. data/generated/google/apis/redis_v1/service.rb +2 -2
  377. data/generated/google/apis/redis_v1.rb +1 -1
  378. data/generated/google/apis/redis_v1beta1/classes.rb +33 -5
  379. data/generated/google/apis/redis_v1beta1/representations.rb +14 -0
  380. data/generated/google/apis/redis_v1beta1/service.rb +36 -2
  381. data/generated/google/apis/redis_v1beta1.rb +1 -1
  382. data/generated/google/apis/remotebuildexecution_v1/classes.rb +6 -0
  383. data/generated/google/apis/remotebuildexecution_v1/representations.rb +1 -0
  384. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  385. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +6 -0
  386. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +1 -0
  387. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  388. data/generated/google/apis/remotebuildexecution_v2/classes.rb +6 -0
  389. data/generated/google/apis/remotebuildexecution_v2/representations.rb +1 -0
  390. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  391. data/generated/google/apis/run_v1/classes.rb +12 -132
  392. data/generated/google/apis/run_v1/representations.rb +0 -61
  393. data/generated/google/apis/run_v1/service.rb +0 -342
  394. data/generated/google/apis/run_v1.rb +1 -1
  395. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +1 -2
  396. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  397. data/generated/google/apis/safebrowsing_v4.rb +1 -1
  398. data/generated/google/apis/sasportal_v1alpha1/service.rb +109 -0
  399. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  400. data/generated/google/apis/searchconsole_v1/classes.rb +388 -0
  401. data/generated/google/apis/searchconsole_v1/representations.rb +162 -0
  402. data/generated/google/apis/searchconsole_v1/service.rb +287 -0
  403. data/generated/google/apis/searchconsole_v1.rb +7 -1
  404. data/generated/google/apis/secretmanager_v1/classes.rb +1 -2
  405. data/generated/google/apis/secretmanager_v1.rb +1 -1
  406. data/generated/google/apis/secretmanager_v1beta1/classes.rb +1 -2
  407. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  408. data/generated/google/apis/securitycenter_v1/classes.rb +5 -199
  409. data/generated/google/apis/securitycenter_v1/representations.rb +0 -72
  410. data/generated/google/apis/securitycenter_v1.rb +1 -1
  411. data/generated/google/apis/securitycenter_v1beta1/classes.rb +2 -196
  412. data/generated/google/apis/securitycenter_v1beta1/representations.rb +0 -72
  413. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  414. data/generated/google/apis/securitycenter_v1beta2/classes.rb +2 -196
  415. data/generated/google/apis/securitycenter_v1beta2/representations.rb +0 -72
  416. data/generated/google/apis/securitycenter_v1beta2.rb +1 -1
  417. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +5 -63
  418. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +0 -18
  419. data/generated/google/apis/serviceconsumermanagement_v1/service.rb +1 -1
  420. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  421. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +5 -63
  422. data/generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb +0 -18
  423. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  424. data/generated/google/apis/servicecontrol_v1/classes.rb +78 -4
  425. data/generated/google/apis/servicecontrol_v1/representations.rb +10 -0
  426. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  427. data/generated/google/apis/servicecontrol_v2/classes.rb +63 -2
  428. data/generated/google/apis/servicecontrol_v2/representations.rb +8 -0
  429. data/generated/google/apis/servicecontrol_v2.rb +1 -1
  430. data/generated/google/apis/servicemanagement_v1/classes.rb +5 -85
  431. data/generated/google/apis/servicemanagement_v1/representations.rb +0 -31
  432. data/generated/google/apis/servicemanagement_v1/service.rb +0 -36
  433. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  434. data/generated/google/apis/servicenetworking_v1/classes.rb +185 -64
  435. data/generated/google/apis/servicenetworking_v1/representations.rb +63 -14
  436. data/generated/google/apis/servicenetworking_v1/service.rb +2 -2
  437. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  438. data/generated/google/apis/servicenetworking_v1beta/classes.rb +139 -64
  439. data/generated/google/apis/servicenetworking_v1beta/representations.rb +46 -14
  440. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  441. data/generated/google/apis/serviceusage_v1/classes.rb +5 -63
  442. data/generated/google/apis/serviceusage_v1/representations.rb +0 -18
  443. data/generated/google/apis/serviceusage_v1.rb +1 -1
  444. data/generated/google/apis/serviceusage_v1beta1/classes.rb +35 -63
  445. data/generated/google/apis/serviceusage_v1beta1/representations.rb +15 -18
  446. data/generated/google/apis/serviceusage_v1beta1/service.rb +36 -0
  447. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  448. data/generated/google/apis/sheets_v4/classes.rb +174 -84
  449. data/generated/google/apis/sheets_v4.rb +1 -1
  450. data/generated/google/apis/smartdevicemanagement_v1/classes.rb +273 -0
  451. data/generated/google/apis/smartdevicemanagement_v1/representations.rb +157 -0
  452. data/generated/google/apis/smartdevicemanagement_v1/service.rb +304 -0
  453. data/generated/google/apis/smartdevicemanagement_v1.rb +35 -0
  454. data/generated/google/apis/sourcerepo_v1/classes.rb +250 -400
  455. data/generated/google/apis/sourcerepo_v1/service.rb +40 -49
  456. data/generated/google/apis/sourcerepo_v1.rb +1 -1
  457. data/generated/google/apis/sqladmin_v1beta4/classes.rb +156 -57
  458. data/generated/google/apis/sqladmin_v1beta4/representations.rb +53 -17
  459. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  460. data/generated/google/apis/storage_v1/classes.rb +2 -10
  461. data/generated/google/apis/storage_v1/representations.rb +0 -1
  462. data/generated/google/apis/storage_v1/service.rb +3 -2
  463. data/generated/google/apis/storage_v1.rb +1 -1
  464. data/generated/google/apis/storagetransfer_v1/classes.rb +64 -34
  465. data/generated/google/apis/storagetransfer_v1/representations.rb +13 -0
  466. data/generated/google/apis/storagetransfer_v1/service.rb +22 -20
  467. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  468. data/generated/google/apis/streetviewpublish_v1/classes.rb +4 -4
  469. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  470. data/generated/google/apis/sts_v1/classes.rb +10 -9
  471. data/generated/google/apis/sts_v1.rb +1 -1
  472. data/generated/google/apis/sts_v1beta/classes.rb +67 -67
  473. data/generated/google/apis/sts_v1beta/service.rb +2 -2
  474. data/generated/google/apis/sts_v1beta.rb +1 -1
  475. data/generated/google/apis/tagmanager_v2/classes.rb +12 -0
  476. data/generated/google/apis/tagmanager_v2/representations.rb +3 -0
  477. data/generated/google/apis/tagmanager_v2.rb +1 -1
  478. data/generated/google/apis/testing_v1/classes.rb +92 -33
  479. data/generated/google/apis/testing_v1/representations.rb +21 -0
  480. data/generated/google/apis/testing_v1/service.rb +4 -4
  481. data/generated/google/apis/testing_v1.rb +1 -1
  482. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  483. data/generated/google/apis/toolresults_v1beta3/classes.rb +13 -0
  484. data/generated/google/apis/toolresults_v1beta3/representations.rb +12 -0
  485. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  486. data/generated/google/apis/tpu_v1/classes.rb +3 -3
  487. data/generated/google/apis/tpu_v1/service.rb +8 -8
  488. data/generated/google/apis/tpu_v1.rb +1 -1
  489. data/generated/google/apis/tpu_v1alpha1/classes.rb +3 -3
  490. data/generated/google/apis/tpu_v1alpha1/service.rb +8 -8
  491. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  492. data/generated/google/apis/translate_v3/classes.rb +4 -3
  493. data/generated/google/apis/translate_v3.rb +1 -1
  494. data/generated/google/apis/translate_v3beta1/classes.rb +2 -1
  495. data/generated/google/apis/translate_v3beta1.rb +1 -1
  496. data/generated/google/apis/vault_v1/classes.rb +333 -0
  497. data/generated/google/apis/vault_v1/representations.rb +162 -0
  498. data/generated/google/apis/vault_v1/service.rb +151 -0
  499. data/generated/google/apis/vault_v1.rb +1 -1
  500. data/generated/google/apis/videointelligence_v1/classes.rb +751 -28
  501. data/generated/google/apis/videointelligence_v1/representations.rb +402 -2
  502. data/generated/google/apis/videointelligence_v1/service.rb +0 -62
  503. data/generated/google/apis/videointelligence_v1.rb +1 -1
  504. data/generated/google/apis/videointelligence_v1beta2/classes.rb +751 -28
  505. data/generated/google/apis/videointelligence_v1beta2/representations.rb +402 -2
  506. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  507. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +749 -26
  508. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +402 -2
  509. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  510. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +734 -11
  511. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +402 -2
  512. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  513. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +667 -28
  514. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +368 -2
  515. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  516. data/generated/google/apis/vision_v1/classes.rb +16 -16
  517. data/generated/google/apis/vision_v1.rb +1 -1
  518. data/generated/google/apis/vision_v1p1beta1/classes.rb +16 -16
  519. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  520. data/generated/google/apis/vision_v1p2beta1/classes.rb +16 -16
  521. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  522. data/generated/google/apis/websecurityscanner_v1.rb +1 -1
  523. data/generated/google/apis/websecurityscanner_v1beta.rb +1 -1
  524. data/generated/google/apis/workflowexecutions_v1beta/service.rb +1 -1
  525. data/generated/google/apis/workflowexecutions_v1beta.rb +2 -2
  526. data/generated/google/apis/workflows_v1beta/service.rb +2 -1
  527. data/generated/google/apis/workflows_v1beta.rb +3 -2
  528. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  529. data/generated/google/apis/youtube_v3/classes.rb +0 -134
  530. data/generated/google/apis/youtube_v3/representations.rb +0 -55
  531. data/generated/google/apis/youtube_v3/service.rb +1 -1
  532. data/generated/google/apis/youtube_v3.rb +1 -1
  533. data/google-api-client.gemspec +25 -25
  534. data/lib/google/apis/core/api_command.rb +1 -0
  535. data/lib/google/apis/core/http_command.rb +2 -1
  536. data/lib/google/apis/options.rb +8 -5
  537. data/lib/google/apis/version.rb +1 -1
  538. data/synth.py +40 -0
  539. metadata +51 -12
  540. data/generated/google/apis/appsactivity_v1/classes.rb +0 -415
  541. data/generated/google/apis/appsactivity_v1/representations.rb +0 -209
  542. data/generated/google/apis/appsactivity_v1/service.rb +0 -126
@@ -0,0 +1,2466 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module PrivatecaV1beta1
24
+
25
+ # URLs where a CertificateAuthority will publish content.
26
+ class AccessUrls
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The URL where this CertificateAuthority's CA certificate is published. This
30
+ # will only be set for CAs that have been activated.
31
+ # Corresponds to the JSON property `caCertificateAccessUrl`
32
+ # @return [String]
33
+ attr_accessor :ca_certificate_access_url
34
+
35
+ # The URL where this CertificateAuthority's CRLs are published. This will only
36
+ # be set for CAs that have been activated.
37
+ # Corresponds to the JSON property `crlAccessUrl`
38
+ # @return [String]
39
+ attr_accessor :crl_access_url
40
+
41
+ def initialize(**args)
42
+ update!(**args)
43
+ end
44
+
45
+ # Update properties of this object
46
+ def update!(**args)
47
+ @ca_certificate_access_url = args[:ca_certificate_access_url] if args.key?(:ca_certificate_access_url)
48
+ @crl_access_url = args[:crl_access_url] if args.key?(:crl_access_url)
49
+ end
50
+ end
51
+
52
+ # Request message for CertificateAuthorityService.ActivateCertificateAuthority.
53
+ class ActivateCertificateAuthorityRequest
54
+ include Google::Apis::Core::Hashable
55
+
56
+ # Required. The signed CA certificate issued from
57
+ # FetchCertificateAuthorityCsrResponse.pem_csr.
58
+ # Corresponds to the JSON property `pemCaCertificate`
59
+ # @return [String]
60
+ attr_accessor :pem_ca_certificate
61
+
62
+ # Optional. An ID to identify requests. Specify a unique request ID so that if
63
+ # you must retry your request, the server will know to ignore the request if it
64
+ # has already been completed. The server will guarantee that for at least 60
65
+ # minutes since the first request. For example, consider a situation where you
66
+ # make an initial request and t he request times out. If you make the request
67
+ # again with the same request ID, the server can check if original operation
68
+ # with the same request ID was received, and if so, will ignore the second
69
+ # request. This prevents clients from accidentally creating duplicate
70
+ # commitments. The request ID must be a valid UUID with the exception that zero
71
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
72
+ # Corresponds to the JSON property `requestId`
73
+ # @return [String]
74
+ attr_accessor :request_id
75
+
76
+ # Describes a subordinate CA's issuers. This is either a resource path to a
77
+ # known issuing CertificateAuthority, or a PEM issuer certificate chain.
78
+ # Corresponds to the JSON property `subordinateConfig`
79
+ # @return [Google::Apis::PrivatecaV1beta1::SubordinateConfig]
80
+ attr_accessor :subordinate_config
81
+
82
+ def initialize(**args)
83
+ update!(**args)
84
+ end
85
+
86
+ # Update properties of this object
87
+ def update!(**args)
88
+ @pem_ca_certificate = args[:pem_ca_certificate] if args.key?(:pem_ca_certificate)
89
+ @request_id = args[:request_id] if args.key?(:request_id)
90
+ @subordinate_config = args[:subordinate_config] if args.key?(:subordinate_config)
91
+ end
92
+ end
93
+
94
+ #
95
+ class AllowedConfigList
96
+ include Google::Apis::Core::Hashable
97
+
98
+ # Required. All Certificates issued by the CertificateAuthority must match at
99
+ # least one listed ReusableConfigWrapper. If a ReusableConfigWrapper has an
100
+ # empty field, any value will be allowed for that field.
101
+ # Corresponds to the JSON property `allowedConfigValues`
102
+ # @return [Array<Google::Apis::PrivatecaV1beta1::ReusableConfigWrapper>]
103
+ attr_accessor :allowed_config_values
104
+
105
+ def initialize(**args)
106
+ update!(**args)
107
+ end
108
+
109
+ # Update properties of this object
110
+ def update!(**args)
111
+ @allowed_config_values = args[:allowed_config_values] if args.key?(:allowed_config_values)
112
+ end
113
+ end
114
+
115
+ # AllowedSubjectAltNames specifies the allowed values for SubjectAltNames by the
116
+ # CertificateAuthority when issuing Certificates.
117
+ class AllowedSubjectAltNames
118
+ include Google::Apis::Core::Hashable
119
+
120
+ # Optional. Specifies if to allow custom X509Extension values.
121
+ # Corresponds to the JSON property `allowCustomSans`
122
+ # @return [Boolean]
123
+ attr_accessor :allow_custom_sans
124
+ alias_method :allow_custom_sans?, :allow_custom_sans
125
+
126
+ # Optional. Specifies if glob patterns used for allowed_dns_names allow wildcard
127
+ # certificates. If this is set, certificate requests with wildcard domains will
128
+ # be permitted to match a glob pattern specified in allowed_dns_names. Otherwise,
129
+ # certificate requests with wildcard domains will be permitted only if
130
+ # allowed_dns_names contains a literal wildcard.
131
+ # Corresponds to the JSON property `allowGlobbingDnsWildcards`
132
+ # @return [Boolean]
133
+ attr_accessor :allow_globbing_dns_wildcards
134
+ alias_method :allow_globbing_dns_wildcards?, :allow_globbing_dns_wildcards
135
+
136
+ # Optional. Contains valid, fully-qualified host names. Glob patterns are also
137
+ # supported. To allow an explicit wildcard certificate, escape with backlash (i.
138
+ # e. "\*"). E.g. for globbed entries: '*bar.com' will allow 'foo.bar.com', but
139
+ # not '*.bar.com', unless the allow_globbing_dns_wildcards field is set. E.g.
140
+ # for wildcard entries: '\*.bar.com' will allow '*.bar.com', but not 'foo.bar.
141
+ # com'.
142
+ # Corresponds to the JSON property `allowedDnsNames`
143
+ # @return [Array<String>]
144
+ attr_accessor :allowed_dns_names
145
+
146
+ # Optional. Contains valid RFC 2822 E-mail addresses. Glob patterns are also
147
+ # supported.
148
+ # Corresponds to the JSON property `allowedEmailAddresses`
149
+ # @return [Array<String>]
150
+ attr_accessor :allowed_email_addresses
151
+
152
+ # Optional. Contains valid 32-bit IPv4 addresses and subnet ranges or RFC 4291
153
+ # IPv6 addresses and subnet ranges. Subnet ranges are specified using the '/'
154
+ # notation (e.g. 10.0.0.0/8, 2001:700:300:1800::/64). Glob patterns are
155
+ # supported only for ip address entries (i.e. not for subnet ranges).
156
+ # Corresponds to the JSON property `allowedIps`
157
+ # @return [Array<String>]
158
+ attr_accessor :allowed_ips
159
+
160
+ # Optional. Contains valid RFC 3986 URIs. Glob patterns are also supported. To
161
+ # match across path seperators (i.e. '/') use the double star glob pattern (i.e.
162
+ # '**').
163
+ # Corresponds to the JSON property `allowedUris`
164
+ # @return [Array<String>]
165
+ attr_accessor :allowed_uris
166
+
167
+ def initialize(**args)
168
+ update!(**args)
169
+ end
170
+
171
+ # Update properties of this object
172
+ def update!(**args)
173
+ @allow_custom_sans = args[:allow_custom_sans] if args.key?(:allow_custom_sans)
174
+ @allow_globbing_dns_wildcards = args[:allow_globbing_dns_wildcards] if args.key?(:allow_globbing_dns_wildcards)
175
+ @allowed_dns_names = args[:allowed_dns_names] if args.key?(:allowed_dns_names)
176
+ @allowed_email_addresses = args[:allowed_email_addresses] if args.key?(:allowed_email_addresses)
177
+ @allowed_ips = args[:allowed_ips] if args.key?(:allowed_ips)
178
+ @allowed_uris = args[:allowed_uris] if args.key?(:allowed_uris)
179
+ end
180
+ end
181
+
182
+ # Specifies the audit configuration for a service. The configuration determines
183
+ # which permission types are logged, and what identities, if any, are exempted
184
+ # from logging. An AuditConfig must have one or more AuditLogConfigs. If there
185
+ # are AuditConfigs for both `allServices` and a specific service, the union of
186
+ # the two AuditConfigs is used for that service: the log_types specified in each
187
+ # AuditConfig are enabled, and the exempted_members in each AuditLogConfig are
188
+ # exempted. Example Policy with multiple AuditConfigs: ` "audit_configs": [ ` "
189
+ # service": "allServices", "audit_log_configs": [ ` "log_type": "DATA_READ", "
190
+ # exempted_members": [ "user:jose@example.com" ] `, ` "log_type": "DATA_WRITE" `,
191
+ # ` "log_type": "ADMIN_READ" ` ] `, ` "service": "sampleservice.googleapis.com",
192
+ # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
193
+ # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
194
+ # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
195
+ # exempts jose@example.com from DATA_READ logging, and aliya@example.com from
196
+ # DATA_WRITE logging.
197
+ class AuditConfig
198
+ include Google::Apis::Core::Hashable
199
+
200
+ # The configuration for logging of each type of permission.
201
+ # Corresponds to the JSON property `auditLogConfigs`
202
+ # @return [Array<Google::Apis::PrivatecaV1beta1::AuditLogConfig>]
203
+ attr_accessor :audit_log_configs
204
+
205
+ # Specifies a service that will be enabled for audit logging. For example, `
206
+ # storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special
207
+ # value that covers all services.
208
+ # Corresponds to the JSON property `service`
209
+ # @return [String]
210
+ attr_accessor :service
211
+
212
+ def initialize(**args)
213
+ update!(**args)
214
+ end
215
+
216
+ # Update properties of this object
217
+ def update!(**args)
218
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
219
+ @service = args[:service] if args.key?(:service)
220
+ end
221
+ end
222
+
223
+ # Provides the configuration for logging a type of permissions. Example: ` "
224
+ # audit_log_configs": [ ` "log_type": "DATA_READ", "exempted_members": [ "user:
225
+ # jose@example.com" ] `, ` "log_type": "DATA_WRITE" ` ] ` This enables '
226
+ # DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from
227
+ # DATA_READ logging.
228
+ class AuditLogConfig
229
+ include Google::Apis::Core::Hashable
230
+
231
+ # Specifies the identities that do not cause logging for this type of permission.
232
+ # Follows the same format of Binding.members.
233
+ # Corresponds to the JSON property `exemptedMembers`
234
+ # @return [Array<String>]
235
+ attr_accessor :exempted_members
236
+
237
+ # The log type that this config enables.
238
+ # Corresponds to the JSON property `logType`
239
+ # @return [String]
240
+ attr_accessor :log_type
241
+
242
+ def initialize(**args)
243
+ update!(**args)
244
+ end
245
+
246
+ # Update properties of this object
247
+ def update!(**args)
248
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
249
+ @log_type = args[:log_type] if args.key?(:log_type)
250
+ end
251
+ end
252
+
253
+ # Associates `members` with a `role`.
254
+ class Binding
255
+ include Google::Apis::Core::Hashable
256
+
257
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
258
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
259
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
260
+ # "Summary size limit" description: "Determines if a summary is less than 100
261
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
262
+ # Requestor is owner" description: "Determines if requestor is the document
263
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
264
+ # Logic): title: "Public documents" description: "Determine whether the document
265
+ # should be publicly visible" expression: "document.type != 'private' &&
266
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
267
+ # string" description: "Create a notification string with a timestamp."
268
+ # expression: "'New message received at ' + string(document.create_time)" The
269
+ # exact variables and functions that may be referenced within an expression are
270
+ # determined by the service that evaluates it. See the service documentation for
271
+ # additional information.
272
+ # Corresponds to the JSON property `condition`
273
+ # @return [Google::Apis::PrivatecaV1beta1::Expr]
274
+ attr_accessor :condition
275
+
276
+ # Specifies the identities requesting access for a Cloud Platform resource. `
277
+ # members` can have the following values: * `allUsers`: A special identifier
278
+ # that represents anyone who is on the internet; with or without a Google
279
+ # account. * `allAuthenticatedUsers`: A special identifier that represents
280
+ # anyone who is authenticated with a Google account or a service account. * `
281
+ # user:`emailid``: An email address that represents a specific Google account.
282
+ # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
283
+ # address that represents a service account. For example, `my-other-app@appspot.
284
+ # gserviceaccount.com`. * `group:`emailid``: An email address that represents a
285
+ # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
286
+ # `uniqueid``: An email address (plus unique identifier) representing a user
287
+ # that has been recently deleted. For example, `alice@example.com?uid=
288
+ # 123456789012345678901`. If the user is recovered, this value reverts to `user:`
289
+ # emailid`` and the recovered user retains the role in the binding. * `deleted:
290
+ # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
291
+ # identifier) representing a service account that has been recently deleted. For
292
+ # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
293
+ # If the service account is undeleted, this value reverts to `serviceAccount:`
294
+ # emailid`` and the undeleted service account retains the role in the binding. *
295
+ # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
296
+ # identifier) representing a Google group that has been recently deleted. For
297
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
298
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
299
+ # retains the role in the binding. * `domain:`domain``: The G Suite domain (
300
+ # primary) that represents all the users of that domain. For example, `google.
301
+ # com` or `example.com`.
302
+ # Corresponds to the JSON property `members`
303
+ # @return [Array<String>]
304
+ attr_accessor :members
305
+
306
+ # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
307
+ # , or `roles/owner`.
308
+ # Corresponds to the JSON property `role`
309
+ # @return [String]
310
+ attr_accessor :role
311
+
312
+ def initialize(**args)
313
+ update!(**args)
314
+ end
315
+
316
+ # Update properties of this object
317
+ def update!(**args)
318
+ @condition = args[:condition] if args.key?(:condition)
319
+ @members = args[:members] if args.key?(:members)
320
+ @role = args[:role] if args.key?(:role)
321
+ end
322
+ end
323
+
324
+ # Describes values that are relevant in a CA certificate.
325
+ class CaOptions
326
+ include Google::Apis::Core::Hashable
327
+
328
+ # Optional. Refers to the "CA" X.509 extension, which is a boolean value. When
329
+ # this value is missing, the extension will be omitted from the CA certificate.
330
+ # Corresponds to the JSON property `isCa`
331
+ # @return [Boolean]
332
+ attr_accessor :is_ca
333
+ alias_method :is_ca?, :is_ca
334
+
335
+ # Optional. Refers to the path length restriction X.509 extension. For a CA
336
+ # certificate, this value describes the depth of subordinate CA certificates
337
+ # that are allowed. If this value is less than 0, the request will fail. If this
338
+ # value is missing, the max path length will be omitted from the CA certificate.
339
+ # Corresponds to the JSON property `maxIssuerPathLength`
340
+ # @return [Fixnum]
341
+ attr_accessor :max_issuer_path_length
342
+
343
+ def initialize(**args)
344
+ update!(**args)
345
+ end
346
+
347
+ # Update properties of this object
348
+ def update!(**args)
349
+ @is_ca = args[:is_ca] if args.key?(:is_ca)
350
+ @max_issuer_path_length = args[:max_issuer_path_length] if args.key?(:max_issuer_path_length)
351
+ end
352
+ end
353
+
354
+ # The request message for Operations.CancelOperation.
355
+ class CancelOperationRequest
356
+ include Google::Apis::Core::Hashable
357
+
358
+ def initialize(**args)
359
+ update!(**args)
360
+ end
361
+
362
+ # Update properties of this object
363
+ def update!(**args)
364
+ end
365
+ end
366
+
367
+ # A Certificate corresponds to a signed X.509 certificate issued by a
368
+ # CertificateAuthority.
369
+ class Certificate
370
+ include Google::Apis::Core::Hashable
371
+
372
+ # A CertificateDescription describes an X.509 certificate or CSR that has been
373
+ # issued, as an alternative to using ASN.1 / X.509.
374
+ # Corresponds to the JSON property `certificateDescription`
375
+ # @return [Google::Apis::PrivatecaV1beta1::CertificateDescription]
376
+ attr_accessor :certificate_description
377
+
378
+ # A CertificateConfig describes an X.509 certificate or CSR that is to be
379
+ # created, as an alternative to using ASN.1.
380
+ # Corresponds to the JSON property `config`
381
+ # @return [Google::Apis::PrivatecaV1beta1::CertificateConfig]
382
+ attr_accessor :config
383
+
384
+ # Output only. The time at which this Certificate was created.
385
+ # Corresponds to the JSON property `createTime`
386
+ # @return [String]
387
+ attr_accessor :create_time
388
+
389
+ # Optional. Labels with user-defined metadata.
390
+ # Corresponds to the JSON property `labels`
391
+ # @return [Hash<String,String>]
392
+ attr_accessor :labels
393
+
394
+ # Required. Immutable. The desired lifetime of a certificate. Used to create the
395
+ # "not_before_time" and "not_after_time" fields inside an X.509 certificate.
396
+ # Note that the lifetime may be truncated if it would extend past the life of
397
+ # any certificate authority in the issuing chain.
398
+ # Corresponds to the JSON property `lifetime`
399
+ # @return [String]
400
+ attr_accessor :lifetime
401
+
402
+ # Output only. The resource path for this Certificate in the format `projects/*/
403
+ # locations/*/certificateAuthorities/*/certificates/*`.
404
+ # Corresponds to the JSON property `name`
405
+ # @return [String]
406
+ attr_accessor :name
407
+
408
+ # Output only. The pem-encoded, signed X.509 certificate.
409
+ # Corresponds to the JSON property `pemCertificate`
410
+ # @return [String]
411
+ attr_accessor :pem_certificate
412
+
413
+ # Output only. The chain that may be used to verify the X.509 certificate.
414
+ # Expected to be in issuer-to-root order according to RFC 5246.
415
+ # Corresponds to the JSON property `pemCertificateChain`
416
+ # @return [Array<String>]
417
+ attr_accessor :pem_certificate_chain
418
+
419
+ # Immutable. A pem-encoded X.509 certificate signing request (CSR).
420
+ # Corresponds to the JSON property `pemCsr`
421
+ # @return [String]
422
+ attr_accessor :pem_csr
423
+
424
+ # Describes fields that are relavent to the revocation of a Certificate.
425
+ # Corresponds to the JSON property `revocationDetails`
426
+ # @return [Google::Apis::PrivatecaV1beta1::RevocationDetails]
427
+ attr_accessor :revocation_details
428
+
429
+ # Output only. The time at which this Certificate was updated.
430
+ # Corresponds to the JSON property `updateTime`
431
+ # @return [String]
432
+ attr_accessor :update_time
433
+
434
+ def initialize(**args)
435
+ update!(**args)
436
+ end
437
+
438
+ # Update properties of this object
439
+ def update!(**args)
440
+ @certificate_description = args[:certificate_description] if args.key?(:certificate_description)
441
+ @config = args[:config] if args.key?(:config)
442
+ @create_time = args[:create_time] if args.key?(:create_time)
443
+ @labels = args[:labels] if args.key?(:labels)
444
+ @lifetime = args[:lifetime] if args.key?(:lifetime)
445
+ @name = args[:name] if args.key?(:name)
446
+ @pem_certificate = args[:pem_certificate] if args.key?(:pem_certificate)
447
+ @pem_certificate_chain = args[:pem_certificate_chain] if args.key?(:pem_certificate_chain)
448
+ @pem_csr = args[:pem_csr] if args.key?(:pem_csr)
449
+ @revocation_details = args[:revocation_details] if args.key?(:revocation_details)
450
+ @update_time = args[:update_time] if args.key?(:update_time)
451
+ end
452
+ end
453
+
454
+ # A CertificateAuthority represents an individual Certificate Authority. A
455
+ # CertificateAuthority can be used to create Certificates.
456
+ class CertificateAuthority
457
+ include Google::Apis::Core::Hashable
458
+
459
+ # URLs where a CertificateAuthority will publish content.
460
+ # Corresponds to the JSON property `accessUrls`
461
+ # @return [Google::Apis::PrivatecaV1beta1::AccessUrls]
462
+ attr_accessor :access_urls
463
+
464
+ # Output only. A structured description of this CertificateAuthority's CA
465
+ # certificate and its issuers. Ordered as self-to-root.
466
+ # Corresponds to the JSON property `caCertificateDescriptions`
467
+ # @return [Array<Google::Apis::PrivatecaV1beta1::CertificateDescription>]
468
+ attr_accessor :ca_certificate_descriptions
469
+
470
+ # The issuing policy for a CertificateAuthority. Certificates will not be
471
+ # successfully issued from this CertificateAuthority if they violate the policy.
472
+ # Corresponds to the JSON property `certificatePolicy`
473
+ # @return [Google::Apis::PrivatecaV1beta1::CertificateAuthorityPolicy]
474
+ attr_accessor :certificate_policy
475
+
476
+ # A CertificateConfig describes an X.509 certificate or CSR that is to be
477
+ # created, as an alternative to using ASN.1.
478
+ # Corresponds to the JSON property `config`
479
+ # @return [Google::Apis::PrivatecaV1beta1::CertificateConfig]
480
+ attr_accessor :config
481
+
482
+ # Output only. The time at which this CertificateAuthority was created.
483
+ # Corresponds to the JSON property `createTime`
484
+ # @return [String]
485
+ attr_accessor :create_time
486
+
487
+ # Output only. The time at which this CertificateAuthority will be deleted, if
488
+ # scheduled for deletion.
489
+ # Corresponds to the JSON property `deleteTime`
490
+ # @return [String]
491
+ attr_accessor :delete_time
492
+
493
+ # Immutable. The name of a Cloud Storage bucket where this CertificateAuthority
494
+ # will publish content, such as the CA certificate and CRLs. This must be a
495
+ # bucket name, without any prefixes (such as `gs://`) or suffixes (such as `.
496
+ # googleapis.com`). For example, to use a bucket named `my-bucket`, you would
497
+ # simply specify `my-bucket`. If not specified, a managed bucket will be created.
498
+ # Corresponds to the JSON property `gcsBucket`
499
+ # @return [String]
500
+ attr_accessor :gcs_bucket
501
+
502
+ # Options that affect all certificates issued by a CertificateAuthority.
503
+ # Corresponds to the JSON property `issuingOptions`
504
+ # @return [Google::Apis::PrivatecaV1beta1::IssuingOptions]
505
+ attr_accessor :issuing_options
506
+
507
+ # A Cloud KMS key configuration that a CertificateAuthority will use.
508
+ # Corresponds to the JSON property `keySpec`
509
+ # @return [Google::Apis::PrivatecaV1beta1::KeyVersionSpec]
510
+ attr_accessor :key_spec
511
+
512
+ # Optional. Labels with user-defined metadata.
513
+ # Corresponds to the JSON property `labels`
514
+ # @return [Hash<String,String>]
515
+ attr_accessor :labels
516
+
517
+ # Required. The desired lifetime of the CA certificate. Used to create the "
518
+ # not_before_time" and "not_after_time" fields inside an X.509 certificate.
519
+ # Corresponds to the JSON property `lifetime`
520
+ # @return [String]
521
+ attr_accessor :lifetime
522
+
523
+ # Output only. The resource name for this CertificateAuthority in the format `
524
+ # projects/*/locations/*/certificateAuthorities/*`.
525
+ # Corresponds to the JSON property `name`
526
+ # @return [String]
527
+ attr_accessor :name
528
+
529
+ # Output only. This CertificateAuthority's certificate chain, including the
530
+ # current CertificateAuthority's certificate. Ordered such that the root issuer
531
+ # is the final element (consistent with RFC 5246). For a self-signed CA, this
532
+ # will only list the current CertificateAuthority's certificate.
533
+ # Corresponds to the JSON property `pemCaCertificates`
534
+ # @return [Array<String>]
535
+ attr_accessor :pem_ca_certificates
536
+
537
+ # Output only. The State for this CertificateAuthority.
538
+ # Corresponds to the JSON property `state`
539
+ # @return [String]
540
+ attr_accessor :state
541
+
542
+ # Describes a subordinate CA's issuers. This is either a resource path to a
543
+ # known issuing CertificateAuthority, or a PEM issuer certificate chain.
544
+ # Corresponds to the JSON property `subordinateConfig`
545
+ # @return [Google::Apis::PrivatecaV1beta1::SubordinateConfig]
546
+ attr_accessor :subordinate_config
547
+
548
+ # Required. Immutable. The Tier of this CertificateAuthority.
549
+ # Corresponds to the JSON property `tier`
550
+ # @return [String]
551
+ attr_accessor :tier
552
+
553
+ # Required. Immutable. The Type of this CertificateAuthority.
554
+ # Corresponds to the JSON property `type`
555
+ # @return [String]
556
+ attr_accessor :type
557
+
558
+ # Output only. The time at which this CertificateAuthority was updated.
559
+ # Corresponds to the JSON property `updateTime`
560
+ # @return [String]
561
+ attr_accessor :update_time
562
+
563
+ def initialize(**args)
564
+ update!(**args)
565
+ end
566
+
567
+ # Update properties of this object
568
+ def update!(**args)
569
+ @access_urls = args[:access_urls] if args.key?(:access_urls)
570
+ @ca_certificate_descriptions = args[:ca_certificate_descriptions] if args.key?(:ca_certificate_descriptions)
571
+ @certificate_policy = args[:certificate_policy] if args.key?(:certificate_policy)
572
+ @config = args[:config] if args.key?(:config)
573
+ @create_time = args[:create_time] if args.key?(:create_time)
574
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
575
+ @gcs_bucket = args[:gcs_bucket] if args.key?(:gcs_bucket)
576
+ @issuing_options = args[:issuing_options] if args.key?(:issuing_options)
577
+ @key_spec = args[:key_spec] if args.key?(:key_spec)
578
+ @labels = args[:labels] if args.key?(:labels)
579
+ @lifetime = args[:lifetime] if args.key?(:lifetime)
580
+ @name = args[:name] if args.key?(:name)
581
+ @pem_ca_certificates = args[:pem_ca_certificates] if args.key?(:pem_ca_certificates)
582
+ @state = args[:state] if args.key?(:state)
583
+ @subordinate_config = args[:subordinate_config] if args.key?(:subordinate_config)
584
+ @tier = args[:tier] if args.key?(:tier)
585
+ @type = args[:type] if args.key?(:type)
586
+ @update_time = args[:update_time] if args.key?(:update_time)
587
+ end
588
+ end
589
+
590
+ # The issuing policy for a CertificateAuthority. Certificates will not be
591
+ # successfully issued from this CertificateAuthority if they violate the policy.
592
+ class CertificateAuthorityPolicy
593
+ include Google::Apis::Core::Hashable
594
+
595
+ # Optional. If any value is specified here, then all Certificates issued by the
596
+ # CertificateAuthority must match at least one listed value. If no value is
597
+ # specified, all values will be allowed for this fied. Glob patterns are also
598
+ # supported.
599
+ # Corresponds to the JSON property `allowedCommonNames`
600
+ # @return [Array<String>]
601
+ attr_accessor :allowed_common_names
602
+
603
+ # Optional. All Certificates issued by the CertificateAuthority must match at
604
+ # least one listed ReusableConfigWrapper in the list.
605
+ # Corresponds to the JSON property `allowedConfigList`
606
+ # @return [Google::Apis::PrivatecaV1beta1::AllowedConfigList]
607
+ attr_accessor :allowed_config_list
608
+
609
+ # IssuanceModes specifies the allowed ways in which Certificates may be
610
+ # requested from this CertificateAuthority.
611
+ # Corresponds to the JSON property `allowedIssuanceModes`
612
+ # @return [Google::Apis::PrivatecaV1beta1::IssuanceModes]
613
+ attr_accessor :allowed_issuance_modes
614
+
615
+ # Optional. If any Subject is specified here, then all Certificates issued by
616
+ # the CertificateAuthority must match at least one listed Subject. If a Subject
617
+ # has an empty field, any value will be allowed for that field.
618
+ # Corresponds to the JSON property `allowedLocationsAndOrganizations`
619
+ # @return [Array<Google::Apis::PrivatecaV1beta1::Subject>]
620
+ attr_accessor :allowed_locations_and_organizations
621
+
622
+ # AllowedSubjectAltNames specifies the allowed values for SubjectAltNames by the
623
+ # CertificateAuthority when issuing Certificates.
624
+ # Corresponds to the JSON property `allowedSans`
625
+ # @return [Google::Apis::PrivatecaV1beta1::AllowedSubjectAltNames]
626
+ attr_accessor :allowed_sans
627
+
628
+ # Optional. The maximum lifetime allowed by the CertificateAuthority. Note that
629
+ # if the any part if the issuing chain expires before a Certificate's requested
630
+ # maximum_lifetime, the effective lifetime will be explicitly truncated.
631
+ # Corresponds to the JSON property `maximumLifetime`
632
+ # @return [String]
633
+ attr_accessor :maximum_lifetime
634
+
635
+ # A ReusableConfigWrapper describes values that may assist in creating an X.509
636
+ # certificate, or a reference to a pre-defined set of values.
637
+ # Corresponds to the JSON property `overwriteConfigValues`
638
+ # @return [Google::Apis::PrivatecaV1beta1::ReusableConfigWrapper]
639
+ attr_accessor :overwrite_config_values
640
+
641
+ def initialize(**args)
642
+ update!(**args)
643
+ end
644
+
645
+ # Update properties of this object
646
+ def update!(**args)
647
+ @allowed_common_names = args[:allowed_common_names] if args.key?(:allowed_common_names)
648
+ @allowed_config_list = args[:allowed_config_list] if args.key?(:allowed_config_list)
649
+ @allowed_issuance_modes = args[:allowed_issuance_modes] if args.key?(:allowed_issuance_modes)
650
+ @allowed_locations_and_organizations = args[:allowed_locations_and_organizations] if args.key?(:allowed_locations_and_organizations)
651
+ @allowed_sans = args[:allowed_sans] if args.key?(:allowed_sans)
652
+ @maximum_lifetime = args[:maximum_lifetime] if args.key?(:maximum_lifetime)
653
+ @overwrite_config_values = args[:overwrite_config_values] if args.key?(:overwrite_config_values)
654
+ end
655
+ end
656
+
657
+ # A CertificateConfig describes an X.509 certificate or CSR that is to be
658
+ # created, as an alternative to using ASN.1.
659
+ class CertificateConfig
660
+ include Google::Apis::Core::Hashable
661
+
662
+ # A PublicKey describes a public key.
663
+ # Corresponds to the JSON property `publicKey`
664
+ # @return [Google::Apis::PrivatecaV1beta1::PublicKey]
665
+ attr_accessor :public_key
666
+
667
+ # A ReusableConfigWrapper describes values that may assist in creating an X.509
668
+ # certificate, or a reference to a pre-defined set of values.
669
+ # Corresponds to the JSON property `reusableConfig`
670
+ # @return [Google::Apis::PrivatecaV1beta1::ReusableConfigWrapper]
671
+ attr_accessor :reusable_config
672
+
673
+ # These values are used to create the distinguished name and subject alternative
674
+ # name fields in an X.509 certificate.
675
+ # Corresponds to the JSON property `subjectConfig`
676
+ # @return [Google::Apis::PrivatecaV1beta1::SubjectConfig]
677
+ attr_accessor :subject_config
678
+
679
+ def initialize(**args)
680
+ update!(**args)
681
+ end
682
+
683
+ # Update properties of this object
684
+ def update!(**args)
685
+ @public_key = args[:public_key] if args.key?(:public_key)
686
+ @reusable_config = args[:reusable_config] if args.key?(:reusable_config)
687
+ @subject_config = args[:subject_config] if args.key?(:subject_config)
688
+ end
689
+ end
690
+
691
+ # A CertificateDescription describes an X.509 certificate or CSR that has been
692
+ # issued, as an alternative to using ASN.1 / X.509.
693
+ class CertificateDescription
694
+ include Google::Apis::Core::Hashable
695
+
696
+ # Describes lists of issuer CA certificate URLs that appear in the "Authority
697
+ # Information Access" extension in the certificate.
698
+ # Corresponds to the JSON property `aiaIssuingCertificateUrls`
699
+ # @return [Array<String>]
700
+ attr_accessor :aia_issuing_certificate_urls
701
+
702
+ # A KeyId identifies a specific public key, usually by hashing the public key.
703
+ # Corresponds to the JSON property `authorityKeyId`
704
+ # @return [Google::Apis::PrivatecaV1beta1::KeyId]
705
+ attr_accessor :authority_key_id
706
+
707
+ # A group of fingerprints for the x509 certificate.
708
+ # Corresponds to the JSON property `certFingerprint`
709
+ # @return [Google::Apis::PrivatecaV1beta1::CertificateFingerprint]
710
+ attr_accessor :cert_fingerprint
711
+
712
+ # A ReusableConfigValues is used to describe certain fields of an X.509
713
+ # certificate, such as the key usage fields, fields specific to CA certificates,
714
+ # certificate policy extensions and custom extensions.
715
+ # Corresponds to the JSON property `configValues`
716
+ # @return [Google::Apis::PrivatecaV1beta1::ReusableConfigValues]
717
+ attr_accessor :config_values
718
+
719
+ # Describes a list of locations to obtain CRL information, i.e. the
720
+ # DistributionPoint.fullName described by https://tools.ietf.org/html/rfc5280#
721
+ # section-4.2.1.13
722
+ # Corresponds to the JSON property `crlDistributionPoints`
723
+ # @return [Array<String>]
724
+ attr_accessor :crl_distribution_points
725
+
726
+ # A PublicKey describes a public key.
727
+ # Corresponds to the JSON property `publicKey`
728
+ # @return [Google::Apis::PrivatecaV1beta1::PublicKey]
729
+ attr_accessor :public_key
730
+
731
+ # These values describe fields in an issued X.509 certificate such as the
732
+ # distinguished name, subject alternative names, serial number, and lifetime.
733
+ # Corresponds to the JSON property `subjectDescription`
734
+ # @return [Google::Apis::PrivatecaV1beta1::SubjectDescription]
735
+ attr_accessor :subject_description
736
+
737
+ # A KeyId identifies a specific public key, usually by hashing the public key.
738
+ # Corresponds to the JSON property `subjectKeyId`
739
+ # @return [Google::Apis::PrivatecaV1beta1::KeyId]
740
+ attr_accessor :subject_key_id
741
+
742
+ def initialize(**args)
743
+ update!(**args)
744
+ end
745
+
746
+ # Update properties of this object
747
+ def update!(**args)
748
+ @aia_issuing_certificate_urls = args[:aia_issuing_certificate_urls] if args.key?(:aia_issuing_certificate_urls)
749
+ @authority_key_id = args[:authority_key_id] if args.key?(:authority_key_id)
750
+ @cert_fingerprint = args[:cert_fingerprint] if args.key?(:cert_fingerprint)
751
+ @config_values = args[:config_values] if args.key?(:config_values)
752
+ @crl_distribution_points = args[:crl_distribution_points] if args.key?(:crl_distribution_points)
753
+ @public_key = args[:public_key] if args.key?(:public_key)
754
+ @subject_description = args[:subject_description] if args.key?(:subject_description)
755
+ @subject_key_id = args[:subject_key_id] if args.key?(:subject_key_id)
756
+ end
757
+ end
758
+
759
+ # A group of fingerprints for the x509 certificate.
760
+ class CertificateFingerprint
761
+ include Google::Apis::Core::Hashable
762
+
763
+ # The SHA 256 hash, encoded in hexadecimal, of the DER x509 certificate.
764
+ # Corresponds to the JSON property `sha256Hash`
765
+ # @return [String]
766
+ attr_accessor :sha256_hash
767
+
768
+ def initialize(**args)
769
+ update!(**args)
770
+ end
771
+
772
+ # Update properties of this object
773
+ def update!(**args)
774
+ @sha256_hash = args[:sha256_hash] if args.key?(:sha256_hash)
775
+ end
776
+ end
777
+
778
+ # A CertificateRevocationList corresponds to a signed X.509 certificate
779
+ # Revocation List (CRL). A CRL contains the serial numbers of certificates that
780
+ # should no longer be trusted.
781
+ class CertificateRevocationList
782
+ include Google::Apis::Core::Hashable
783
+
784
+ # Output only. The location where 'pem_crl' can be accessed.
785
+ # Corresponds to the JSON property `accessUrl`
786
+ # @return [String]
787
+ attr_accessor :access_url
788
+
789
+ # Output only. The time at which this CertificateRevocationList was created.
790
+ # Corresponds to the JSON property `createTime`
791
+ # @return [String]
792
+ attr_accessor :create_time
793
+
794
+ # Optional. Labels with user-defined metadata.
795
+ # Corresponds to the JSON property `labels`
796
+ # @return [Hash<String,String>]
797
+ attr_accessor :labels
798
+
799
+ # Output only. The resource path for this CertificateRevocationList in the
800
+ # format `projects/*/locations/*/certificateAuthorities/*/
801
+ # certificateRevocationLists/*`.
802
+ # Corresponds to the JSON property `name`
803
+ # @return [String]
804
+ attr_accessor :name
805
+
806
+ # Output only. The PEM-encoded X.509 CRL.
807
+ # Corresponds to the JSON property `pemCrl`
808
+ # @return [String]
809
+ attr_accessor :pem_crl
810
+
811
+ # Output only. The revoked serial numbers that appear in pem_crl.
812
+ # Corresponds to the JSON property `revokedCertificates`
813
+ # @return [Array<Google::Apis::PrivatecaV1beta1::RevokedCertificate>]
814
+ attr_accessor :revoked_certificates
815
+
816
+ # Output only. The CRL sequence number that appears in pem_crl.
817
+ # Corresponds to the JSON property `sequenceNumber`
818
+ # @return [Fixnum]
819
+ attr_accessor :sequence_number
820
+
821
+ # Output only. The State for this CertificateRevocationList.
822
+ # Corresponds to the JSON property `state`
823
+ # @return [String]
824
+ attr_accessor :state
825
+
826
+ # Output only. The time at which this CertificateRevocationList was updated.
827
+ # Corresponds to the JSON property `updateTime`
828
+ # @return [String]
829
+ attr_accessor :update_time
830
+
831
+ def initialize(**args)
832
+ update!(**args)
833
+ end
834
+
835
+ # Update properties of this object
836
+ def update!(**args)
837
+ @access_url = args[:access_url] if args.key?(:access_url)
838
+ @create_time = args[:create_time] if args.key?(:create_time)
839
+ @labels = args[:labels] if args.key?(:labels)
840
+ @name = args[:name] if args.key?(:name)
841
+ @pem_crl = args[:pem_crl] if args.key?(:pem_crl)
842
+ @revoked_certificates = args[:revoked_certificates] if args.key?(:revoked_certificates)
843
+ @sequence_number = args[:sequence_number] if args.key?(:sequence_number)
844
+ @state = args[:state] if args.key?(:state)
845
+ @update_time = args[:update_time] if args.key?(:update_time)
846
+ end
847
+ end
848
+
849
+ # Request message for CertificateAuthorityService.DisableCertificateAuthority.
850
+ class DisableCertificateAuthorityRequest
851
+ include Google::Apis::Core::Hashable
852
+
853
+ # Optional. An ID to identify requests. Specify a unique request ID so that if
854
+ # you must retry your request, the server will know to ignore the request if it
855
+ # has already been completed. The server will guarantee that for at least 60
856
+ # minutes since the first request. For example, consider a situation where you
857
+ # make an initial request and t he request times out. If you make the request
858
+ # again with the same request ID, the server can check if original operation
859
+ # with the same request ID was received, and if so, will ignore the second
860
+ # request. This prevents clients from accidentally creating duplicate
861
+ # commitments. The request ID must be a valid UUID with the exception that zero
862
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
863
+ # Corresponds to the JSON property `requestId`
864
+ # @return [String]
865
+ attr_accessor :request_id
866
+
867
+ def initialize(**args)
868
+ update!(**args)
869
+ end
870
+
871
+ # Update properties of this object
872
+ def update!(**args)
873
+ @request_id = args[:request_id] if args.key?(:request_id)
874
+ end
875
+ end
876
+
877
+ # A generic empty message that you can re-use to avoid defining duplicated empty
878
+ # messages in your APIs. A typical example is to use it as the request or the
879
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
880
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
881
+ # `Empty` is empty JSON object ````.
882
+ class Empty
883
+ include Google::Apis::Core::Hashable
884
+
885
+ def initialize(**args)
886
+ update!(**args)
887
+ end
888
+
889
+ # Update properties of this object
890
+ def update!(**args)
891
+ end
892
+ end
893
+
894
+ # Request message for CertificateAuthorityService.EnableCertificateAuthority.
895
+ class EnableCertificateAuthorityRequest
896
+ include Google::Apis::Core::Hashable
897
+
898
+ # Optional. An ID to identify requests. Specify a unique request ID so that if
899
+ # you must retry your request, the server will know to ignore the request if it
900
+ # has already been completed. The server will guarantee that for at least 60
901
+ # minutes since the first request. For example, consider a situation where you
902
+ # make an initial request and t he request times out. If you make the request
903
+ # again with the same request ID, the server can check if original operation
904
+ # with the same request ID was received, and if so, will ignore the second
905
+ # request. This prevents clients from accidentally creating duplicate
906
+ # commitments. The request ID must be a valid UUID with the exception that zero
907
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
908
+ # Corresponds to the JSON property `requestId`
909
+ # @return [String]
910
+ attr_accessor :request_id
911
+
912
+ def initialize(**args)
913
+ update!(**args)
914
+ end
915
+
916
+ # Update properties of this object
917
+ def update!(**args)
918
+ @request_id = args[:request_id] if args.key?(:request_id)
919
+ end
920
+ end
921
+
922
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
923
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
924
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
925
+ # "Summary size limit" description: "Determines if a summary is less than 100
926
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
927
+ # Requestor is owner" description: "Determines if requestor is the document
928
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
929
+ # Logic): title: "Public documents" description: "Determine whether the document
930
+ # should be publicly visible" expression: "document.type != 'private' &&
931
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
932
+ # string" description: "Create a notification string with a timestamp."
933
+ # expression: "'New message received at ' + string(document.create_time)" The
934
+ # exact variables and functions that may be referenced within an expression are
935
+ # determined by the service that evaluates it. See the service documentation for
936
+ # additional information.
937
+ class Expr
938
+ include Google::Apis::Core::Hashable
939
+
940
+ # Optional. Description of the expression. This is a longer text which describes
941
+ # the expression, e.g. when hovered over it in a UI.
942
+ # Corresponds to the JSON property `description`
943
+ # @return [String]
944
+ attr_accessor :description
945
+
946
+ # Textual representation of an expression in Common Expression Language syntax.
947
+ # Corresponds to the JSON property `expression`
948
+ # @return [String]
949
+ attr_accessor :expression
950
+
951
+ # Optional. String indicating the location of the expression for error reporting,
952
+ # e.g. a file name and a position in the file.
953
+ # Corresponds to the JSON property `location`
954
+ # @return [String]
955
+ attr_accessor :location
956
+
957
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
958
+ # This can be used e.g. in UIs which allow to enter the expression.
959
+ # Corresponds to the JSON property `title`
960
+ # @return [String]
961
+ attr_accessor :title
962
+
963
+ def initialize(**args)
964
+ update!(**args)
965
+ end
966
+
967
+ # Update properties of this object
968
+ def update!(**args)
969
+ @description = args[:description] if args.key?(:description)
970
+ @expression = args[:expression] if args.key?(:expression)
971
+ @location = args[:location] if args.key?(:location)
972
+ @title = args[:title] if args.key?(:title)
973
+ end
974
+ end
975
+
976
+ # KeyUsage.ExtendedKeyUsageOptions has fields that correspond to certain common
977
+ # OIDs that could be specified as an extended key usage value.
978
+ class ExtendedKeyUsageOptions
979
+ include Google::Apis::Core::Hashable
980
+
981
+ # Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW client
982
+ # authentication", though regularly used for non-WWW TLS.
983
+ # Corresponds to the JSON property `clientAuth`
984
+ # @return [Boolean]
985
+ attr_accessor :client_auth
986
+ alias_method :client_auth?, :client_auth
987
+
988
+ # Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of
989
+ # downloadable executable code client authentication".
990
+ # Corresponds to the JSON property `codeSigning`
991
+ # @return [Boolean]
992
+ attr_accessor :code_signing
993
+ alias_method :code_signing?, :code_signing
994
+
995
+ # Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email
996
+ # protection".
997
+ # Corresponds to the JSON property `emailProtection`
998
+ # @return [Boolean]
999
+ attr_accessor :email_protection
1000
+ alias_method :email_protection?, :email_protection
1001
+
1002
+ # Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing OCSP
1003
+ # responses".
1004
+ # Corresponds to the JSON property `ocspSigning`
1005
+ # @return [Boolean]
1006
+ attr_accessor :ocsp_signing
1007
+ alias_method :ocsp_signing?, :ocsp_signing
1008
+
1009
+ # Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW server
1010
+ # authentication", though regularly used for non-WWW TLS.
1011
+ # Corresponds to the JSON property `serverAuth`
1012
+ # @return [Boolean]
1013
+ attr_accessor :server_auth
1014
+ alias_method :server_auth?, :server_auth
1015
+
1016
+ # Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding the
1017
+ # hash of an object to a time".
1018
+ # Corresponds to the JSON property `timeStamping`
1019
+ # @return [Boolean]
1020
+ attr_accessor :time_stamping
1021
+ alias_method :time_stamping?, :time_stamping
1022
+
1023
+ def initialize(**args)
1024
+ update!(**args)
1025
+ end
1026
+
1027
+ # Update properties of this object
1028
+ def update!(**args)
1029
+ @client_auth = args[:client_auth] if args.key?(:client_auth)
1030
+ @code_signing = args[:code_signing] if args.key?(:code_signing)
1031
+ @email_protection = args[:email_protection] if args.key?(:email_protection)
1032
+ @ocsp_signing = args[:ocsp_signing] if args.key?(:ocsp_signing)
1033
+ @server_auth = args[:server_auth] if args.key?(:server_auth)
1034
+ @time_stamping = args[:time_stamping] if args.key?(:time_stamping)
1035
+ end
1036
+ end
1037
+
1038
+ # Response message for CertificateAuthorityService.FetchCertificateAuthorityCsr.
1039
+ class FetchCertificateAuthorityCsrResponse
1040
+ include Google::Apis::Core::Hashable
1041
+
1042
+ # Output only. The PEM-encoded signed certificate signing request (CSR).
1043
+ # Corresponds to the JSON property `pemCsr`
1044
+ # @return [String]
1045
+ attr_accessor :pem_csr
1046
+
1047
+ def initialize(**args)
1048
+ update!(**args)
1049
+ end
1050
+
1051
+ # Update properties of this object
1052
+ def update!(**args)
1053
+ @pem_csr = args[:pem_csr] if args.key?(:pem_csr)
1054
+ end
1055
+ end
1056
+
1057
+ # IssuanceModes specifies the allowed ways in which Certificates may be
1058
+ # requested from this CertificateAuthority.
1059
+ class IssuanceModes
1060
+ include Google::Apis::Core::Hashable
1061
+
1062
+ # Required. When true, allows callers to create Certificates by specifying a
1063
+ # CertificateConfig.
1064
+ # Corresponds to the JSON property `allowConfigBasedIssuance`
1065
+ # @return [Boolean]
1066
+ attr_accessor :allow_config_based_issuance
1067
+ alias_method :allow_config_based_issuance?, :allow_config_based_issuance
1068
+
1069
+ # Required. When true, allows callers to create Certificates by specifying a CSR.
1070
+ # Corresponds to the JSON property `allowCsrBasedIssuance`
1071
+ # @return [Boolean]
1072
+ attr_accessor :allow_csr_based_issuance
1073
+ alias_method :allow_csr_based_issuance?, :allow_csr_based_issuance
1074
+
1075
+ def initialize(**args)
1076
+ update!(**args)
1077
+ end
1078
+
1079
+ # Update properties of this object
1080
+ def update!(**args)
1081
+ @allow_config_based_issuance = args[:allow_config_based_issuance] if args.key?(:allow_config_based_issuance)
1082
+ @allow_csr_based_issuance = args[:allow_csr_based_issuance] if args.key?(:allow_csr_based_issuance)
1083
+ end
1084
+ end
1085
+
1086
+ # Options that affect all certificates issued by a CertificateAuthority.
1087
+ class IssuingOptions
1088
+ include Google::Apis::Core::Hashable
1089
+
1090
+ # Required. When true, includes a URL to the issuing CA certificate in the "
1091
+ # authority information access" X.509 extension.
1092
+ # Corresponds to the JSON property `includeCaCertUrl`
1093
+ # @return [Boolean]
1094
+ attr_accessor :include_ca_cert_url
1095
+ alias_method :include_ca_cert_url?, :include_ca_cert_url
1096
+
1097
+ # Required. When true, includes a URL to the CRL corresponding to certificates
1098
+ # issued from a CertificateAuthority. CRLs will expire 7 days from their
1099
+ # creation. However, we will rebuild daily. CRLs are also rebuilt shortly after
1100
+ # a certificate is revoked.
1101
+ # Corresponds to the JSON property `includeCrlAccessUrl`
1102
+ # @return [Boolean]
1103
+ attr_accessor :include_crl_access_url
1104
+ alias_method :include_crl_access_url?, :include_crl_access_url
1105
+
1106
+ def initialize(**args)
1107
+ update!(**args)
1108
+ end
1109
+
1110
+ # Update properties of this object
1111
+ def update!(**args)
1112
+ @include_ca_cert_url = args[:include_ca_cert_url] if args.key?(:include_ca_cert_url)
1113
+ @include_crl_access_url = args[:include_crl_access_url] if args.key?(:include_crl_access_url)
1114
+ end
1115
+ end
1116
+
1117
+ # A KeyId identifies a specific public key, usually by hashing the public key.
1118
+ class KeyId
1119
+ include Google::Apis::Core::Hashable
1120
+
1121
+ # Optional. The value of this KeyId encoded in lowercase hexadecimal. This is
1122
+ # most likely the 160 bit SHA-1 hash of the public key.
1123
+ # Corresponds to the JSON property `keyId`
1124
+ # @return [String]
1125
+ attr_accessor :key_id
1126
+
1127
+ def initialize(**args)
1128
+ update!(**args)
1129
+ end
1130
+
1131
+ # Update properties of this object
1132
+ def update!(**args)
1133
+ @key_id = args[:key_id] if args.key?(:key_id)
1134
+ end
1135
+ end
1136
+
1137
+ # A KeyUsage describes key usage values that may appear in an X.509 certificate.
1138
+ class KeyUsage
1139
+ include Google::Apis::Core::Hashable
1140
+
1141
+ # KeyUsage.KeyUsageOptions corresponds to the key usage values described in
1142
+ # https://tools.ietf.org/html/rfc5280#section-4.2.1.3.
1143
+ # Corresponds to the JSON property `baseKeyUsage`
1144
+ # @return [Google::Apis::PrivatecaV1beta1::KeyUsageOptions]
1145
+ attr_accessor :base_key_usage
1146
+
1147
+ # KeyUsage.ExtendedKeyUsageOptions has fields that correspond to certain common
1148
+ # OIDs that could be specified as an extended key usage value.
1149
+ # Corresponds to the JSON property `extendedKeyUsage`
1150
+ # @return [Google::Apis::PrivatecaV1beta1::ExtendedKeyUsageOptions]
1151
+ attr_accessor :extended_key_usage
1152
+
1153
+ # Used to describe extended key usages that are not listed in the KeyUsage.
1154
+ # ExtendedKeyUsageOptions message.
1155
+ # Corresponds to the JSON property `unknownExtendedKeyUsages`
1156
+ # @return [Array<Google::Apis::PrivatecaV1beta1::ObjectIdProp>]
1157
+ attr_accessor :unknown_extended_key_usages
1158
+
1159
+ def initialize(**args)
1160
+ update!(**args)
1161
+ end
1162
+
1163
+ # Update properties of this object
1164
+ def update!(**args)
1165
+ @base_key_usage = args[:base_key_usage] if args.key?(:base_key_usage)
1166
+ @extended_key_usage = args[:extended_key_usage] if args.key?(:extended_key_usage)
1167
+ @unknown_extended_key_usages = args[:unknown_extended_key_usages] if args.key?(:unknown_extended_key_usages)
1168
+ end
1169
+ end
1170
+
1171
+ # KeyUsage.KeyUsageOptions corresponds to the key usage values described in
1172
+ # https://tools.ietf.org/html/rfc5280#section-4.2.1.3.
1173
+ class KeyUsageOptions
1174
+ include Google::Apis::Core::Hashable
1175
+
1176
+ # The key may be used to sign certificates.
1177
+ # Corresponds to the JSON property `certSign`
1178
+ # @return [Boolean]
1179
+ attr_accessor :cert_sign
1180
+ alias_method :cert_sign?, :cert_sign
1181
+
1182
+ # The key may be used for cryptographic commitments. Note that this may also be
1183
+ # referred to as "non-repudiation".
1184
+ # Corresponds to the JSON property `contentCommitment`
1185
+ # @return [Boolean]
1186
+ attr_accessor :content_commitment
1187
+ alias_method :content_commitment?, :content_commitment
1188
+
1189
+ # The key may be used sign certificate revocation lists.
1190
+ # Corresponds to the JSON property `crlSign`
1191
+ # @return [Boolean]
1192
+ attr_accessor :crl_sign
1193
+ alias_method :crl_sign?, :crl_sign
1194
+
1195
+ # The key may be used to encipher data.
1196
+ # Corresponds to the JSON property `dataEncipherment`
1197
+ # @return [Boolean]
1198
+ attr_accessor :data_encipherment
1199
+ alias_method :data_encipherment?, :data_encipherment
1200
+
1201
+ # The key may be used to decipher only.
1202
+ # Corresponds to the JSON property `decipherOnly`
1203
+ # @return [Boolean]
1204
+ attr_accessor :decipher_only
1205
+ alias_method :decipher_only?, :decipher_only
1206
+
1207
+ # The key may be used for digital signatures.
1208
+ # Corresponds to the JSON property `digitalSignature`
1209
+ # @return [Boolean]
1210
+ attr_accessor :digital_signature
1211
+ alias_method :digital_signature?, :digital_signature
1212
+
1213
+ # The key may be used to encipher only.
1214
+ # Corresponds to the JSON property `encipherOnly`
1215
+ # @return [Boolean]
1216
+ attr_accessor :encipher_only
1217
+ alias_method :encipher_only?, :encipher_only
1218
+
1219
+ # The key may be used in a key agreement protocol.
1220
+ # Corresponds to the JSON property `keyAgreement`
1221
+ # @return [Boolean]
1222
+ attr_accessor :key_agreement
1223
+ alias_method :key_agreement?, :key_agreement
1224
+
1225
+ # The key may be used to encipher other keys.
1226
+ # Corresponds to the JSON property `keyEncipherment`
1227
+ # @return [Boolean]
1228
+ attr_accessor :key_encipherment
1229
+ alias_method :key_encipherment?, :key_encipherment
1230
+
1231
+ def initialize(**args)
1232
+ update!(**args)
1233
+ end
1234
+
1235
+ # Update properties of this object
1236
+ def update!(**args)
1237
+ @cert_sign = args[:cert_sign] if args.key?(:cert_sign)
1238
+ @content_commitment = args[:content_commitment] if args.key?(:content_commitment)
1239
+ @crl_sign = args[:crl_sign] if args.key?(:crl_sign)
1240
+ @data_encipherment = args[:data_encipherment] if args.key?(:data_encipherment)
1241
+ @decipher_only = args[:decipher_only] if args.key?(:decipher_only)
1242
+ @digital_signature = args[:digital_signature] if args.key?(:digital_signature)
1243
+ @encipher_only = args[:encipher_only] if args.key?(:encipher_only)
1244
+ @key_agreement = args[:key_agreement] if args.key?(:key_agreement)
1245
+ @key_encipherment = args[:key_encipherment] if args.key?(:key_encipherment)
1246
+ end
1247
+ end
1248
+
1249
+ # A Cloud KMS key configuration that a CertificateAuthority will use.
1250
+ class KeyVersionSpec
1251
+ include Google::Apis::Core::Hashable
1252
+
1253
+ # Required. The algorithm to use for creating a managed Cloud KMS key for a for
1254
+ # a simplified experience. All managed keys will be have their ProtectionLevel
1255
+ # as `HSM`.
1256
+ # Corresponds to the JSON property `algorithm`
1257
+ # @return [String]
1258
+ attr_accessor :algorithm
1259
+
1260
+ # Required. The resource name for an existing Cloud KMS CryptoKeyVersion in the
1261
+ # format `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
1262
+ # This option enables full flexibility in the key's capabilities and properties.
1263
+ # Corresponds to the JSON property `cloudKmsKeyVersion`
1264
+ # @return [String]
1265
+ attr_accessor :cloud_kms_key_version
1266
+
1267
+ def initialize(**args)
1268
+ update!(**args)
1269
+ end
1270
+
1271
+ # Update properties of this object
1272
+ def update!(**args)
1273
+ @algorithm = args[:algorithm] if args.key?(:algorithm)
1274
+ @cloud_kms_key_version = args[:cloud_kms_key_version] if args.key?(:cloud_kms_key_version)
1275
+ end
1276
+ end
1277
+
1278
+ # Response message for CertificateAuthorityService.ListCertificateAuthorities.
1279
+ class ListCertificateAuthoritiesResponse
1280
+ include Google::Apis::Core::Hashable
1281
+
1282
+ # The list of CertificateAuthorities.
1283
+ # Corresponds to the JSON property `certificateAuthorities`
1284
+ # @return [Array<Google::Apis::PrivatecaV1beta1::CertificateAuthority>]
1285
+ attr_accessor :certificate_authorities
1286
+
1287
+ # A token to retrieve next page of results. Pass this value in
1288
+ # ListCertificateAuthoritiesRequest.next_page_token to retrieve the next page of
1289
+ # results.
1290
+ # Corresponds to the JSON property `nextPageToken`
1291
+ # @return [String]
1292
+ attr_accessor :next_page_token
1293
+
1294
+ # A list of locations (e.g. "us-west1") that could not be reached.
1295
+ # Corresponds to the JSON property `unreachable`
1296
+ # @return [Array<String>]
1297
+ attr_accessor :unreachable
1298
+
1299
+ def initialize(**args)
1300
+ update!(**args)
1301
+ end
1302
+
1303
+ # Update properties of this object
1304
+ def update!(**args)
1305
+ @certificate_authorities = args[:certificate_authorities] if args.key?(:certificate_authorities)
1306
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1307
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1308
+ end
1309
+ end
1310
+
1311
+ # Response message for CertificateAuthorityService.
1312
+ # ListCertificateRevocationLists.
1313
+ class ListCertificateRevocationListsResponse
1314
+ include Google::Apis::Core::Hashable
1315
+
1316
+ # The list of CertificateRevocationLists.
1317
+ # Corresponds to the JSON property `certificateRevocationLists`
1318
+ # @return [Array<Google::Apis::PrivatecaV1beta1::CertificateRevocationList>]
1319
+ attr_accessor :certificate_revocation_lists
1320
+
1321
+ # A token to retrieve next page of results. Pass this value in
1322
+ # ListCertificateRevocationListsRequest.next_page_token to retrieve the next
1323
+ # page of results.
1324
+ # Corresponds to the JSON property `nextPageToken`
1325
+ # @return [String]
1326
+ attr_accessor :next_page_token
1327
+
1328
+ # A list of locations (e.g. "us-west1") that could not be reached.
1329
+ # Corresponds to the JSON property `unreachable`
1330
+ # @return [Array<String>]
1331
+ attr_accessor :unreachable
1332
+
1333
+ def initialize(**args)
1334
+ update!(**args)
1335
+ end
1336
+
1337
+ # Update properties of this object
1338
+ def update!(**args)
1339
+ @certificate_revocation_lists = args[:certificate_revocation_lists] if args.key?(:certificate_revocation_lists)
1340
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1341
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1342
+ end
1343
+ end
1344
+
1345
+ # Response message for CertificateAuthorityService.ListCertificates.
1346
+ class ListCertificatesResponse
1347
+ include Google::Apis::Core::Hashable
1348
+
1349
+ # The list of Certificates.
1350
+ # Corresponds to the JSON property `certificates`
1351
+ # @return [Array<Google::Apis::PrivatecaV1beta1::Certificate>]
1352
+ attr_accessor :certificates
1353
+
1354
+ # A token to retrieve next page of results. Pass this value in
1355
+ # ListCertificatesRequest.next_page_token to retrieve the next page of results.
1356
+ # Corresponds to the JSON property `nextPageToken`
1357
+ # @return [String]
1358
+ attr_accessor :next_page_token
1359
+
1360
+ # A list of locations (e.g. "us-west1") that could not be reached.
1361
+ # Corresponds to the JSON property `unreachable`
1362
+ # @return [Array<String>]
1363
+ attr_accessor :unreachable
1364
+
1365
+ def initialize(**args)
1366
+ update!(**args)
1367
+ end
1368
+
1369
+ # Update properties of this object
1370
+ def update!(**args)
1371
+ @certificates = args[:certificates] if args.key?(:certificates)
1372
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1373
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1374
+ end
1375
+ end
1376
+
1377
+ # The response message for Locations.ListLocations.
1378
+ class ListLocationsResponse
1379
+ include Google::Apis::Core::Hashable
1380
+
1381
+ # A list of locations that matches the specified filter in the request.
1382
+ # Corresponds to the JSON property `locations`
1383
+ # @return [Array<Google::Apis::PrivatecaV1beta1::Location>]
1384
+ attr_accessor :locations
1385
+
1386
+ # The standard List next-page token.
1387
+ # Corresponds to the JSON property `nextPageToken`
1388
+ # @return [String]
1389
+ attr_accessor :next_page_token
1390
+
1391
+ def initialize(**args)
1392
+ update!(**args)
1393
+ end
1394
+
1395
+ # Update properties of this object
1396
+ def update!(**args)
1397
+ @locations = args[:locations] if args.key?(:locations)
1398
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1399
+ end
1400
+ end
1401
+
1402
+ # The response message for Operations.ListOperations.
1403
+ class ListOperationsResponse
1404
+ include Google::Apis::Core::Hashable
1405
+
1406
+ # The standard List next-page token.
1407
+ # Corresponds to the JSON property `nextPageToken`
1408
+ # @return [String]
1409
+ attr_accessor :next_page_token
1410
+
1411
+ # A list of operations that matches the specified filter in the request.
1412
+ # Corresponds to the JSON property `operations`
1413
+ # @return [Array<Google::Apis::PrivatecaV1beta1::Operation>]
1414
+ attr_accessor :operations
1415
+
1416
+ def initialize(**args)
1417
+ update!(**args)
1418
+ end
1419
+
1420
+ # Update properties of this object
1421
+ def update!(**args)
1422
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1423
+ @operations = args[:operations] if args.key?(:operations)
1424
+ end
1425
+ end
1426
+
1427
+ # Response message for CertificateAuthorityService.ListReusableConfigs.
1428
+ class ListReusableConfigsResponse
1429
+ include Google::Apis::Core::Hashable
1430
+
1431
+ # A token to retrieve next page of results. Pass this value in
1432
+ # ListReusableConfigsRequest.next_page_token to retrieve the next page of
1433
+ # results.
1434
+ # Corresponds to the JSON property `nextPageToken`
1435
+ # @return [String]
1436
+ attr_accessor :next_page_token
1437
+
1438
+ # The list of ReusableConfigs.
1439
+ # Corresponds to the JSON property `reusableConfigs`
1440
+ # @return [Array<Google::Apis::PrivatecaV1beta1::ReusableConfig>]
1441
+ attr_accessor :reusable_configs
1442
+
1443
+ # A list of locations (e.g. "us-west1") that could not be reached.
1444
+ # Corresponds to the JSON property `unreachable`
1445
+ # @return [Array<String>]
1446
+ attr_accessor :unreachable
1447
+
1448
+ def initialize(**args)
1449
+ update!(**args)
1450
+ end
1451
+
1452
+ # Update properties of this object
1453
+ def update!(**args)
1454
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1455
+ @reusable_configs = args[:reusable_configs] if args.key?(:reusable_configs)
1456
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1457
+ end
1458
+ end
1459
+
1460
+ # A resource that represents Google Cloud Platform location.
1461
+ class Location
1462
+ include Google::Apis::Core::Hashable
1463
+
1464
+ # The friendly name for this location, typically a nearby city name. For example,
1465
+ # "Tokyo".
1466
+ # Corresponds to the JSON property `displayName`
1467
+ # @return [String]
1468
+ attr_accessor :display_name
1469
+
1470
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
1471
+ # region": "us-east1"`
1472
+ # Corresponds to the JSON property `labels`
1473
+ # @return [Hash<String,String>]
1474
+ attr_accessor :labels
1475
+
1476
+ # The canonical id for this location. For example: `"us-east1"`.
1477
+ # Corresponds to the JSON property `locationId`
1478
+ # @return [String]
1479
+ attr_accessor :location_id
1480
+
1481
+ # Service-specific metadata. For example the available capacity at the given
1482
+ # location.
1483
+ # Corresponds to the JSON property `metadata`
1484
+ # @return [Hash<String,Object>]
1485
+ attr_accessor :metadata
1486
+
1487
+ # Resource name for the location, which may vary between implementations. For
1488
+ # example: `"projects/example-project/locations/us-east1"`
1489
+ # Corresponds to the JSON property `name`
1490
+ # @return [String]
1491
+ attr_accessor :name
1492
+
1493
+ def initialize(**args)
1494
+ update!(**args)
1495
+ end
1496
+
1497
+ # Update properties of this object
1498
+ def update!(**args)
1499
+ @display_name = args[:display_name] if args.key?(:display_name)
1500
+ @labels = args[:labels] if args.key?(:labels)
1501
+ @location_id = args[:location_id] if args.key?(:location_id)
1502
+ @metadata = args[:metadata] if args.key?(:metadata)
1503
+ @name = args[:name] if args.key?(:name)
1504
+ end
1505
+ end
1506
+
1507
+ # An ObjectId specifies an object identifier (OID). These provide context and
1508
+ # describe types in ASN.1 messages.
1509
+ class ObjectIdProp
1510
+ include Google::Apis::Core::Hashable
1511
+
1512
+ # Required. The parts of an OID path. The most significant parts of the path
1513
+ # come first.
1514
+ # Corresponds to the JSON property `objectIdPath`
1515
+ # @return [Array<Fixnum>]
1516
+ attr_accessor :object_id_path
1517
+
1518
+ def initialize(**args)
1519
+ update!(**args)
1520
+ end
1521
+
1522
+ # Update properties of this object
1523
+ def update!(**args)
1524
+ @object_id_path = args[:object_id_path] if args.key?(:object_id_path)
1525
+ end
1526
+ end
1527
+
1528
+ # This resource represents a long-running operation that is the result of a
1529
+ # network API call.
1530
+ class Operation
1531
+ include Google::Apis::Core::Hashable
1532
+
1533
+ # If the value is `false`, it means the operation is still in progress. If `true`
1534
+ # , the operation is completed, and either `error` or `response` is available.
1535
+ # Corresponds to the JSON property `done`
1536
+ # @return [Boolean]
1537
+ attr_accessor :done
1538
+ alias_method :done?, :done
1539
+
1540
+ # The `Status` type defines a logical error model that is suitable for different
1541
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1542
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1543
+ # data: error code, error message, and error details. You can find out more
1544
+ # about this error model and how to work with it in the [API Design Guide](https:
1545
+ # //cloud.google.com/apis/design/errors).
1546
+ # Corresponds to the JSON property `error`
1547
+ # @return [Google::Apis::PrivatecaV1beta1::Status]
1548
+ attr_accessor :error
1549
+
1550
+ # Service-specific metadata associated with the operation. It typically contains
1551
+ # progress information and common metadata such as create time. Some services
1552
+ # might not provide such metadata. Any method that returns a long-running
1553
+ # operation should document the metadata type, if any.
1554
+ # Corresponds to the JSON property `metadata`
1555
+ # @return [Hash<String,Object>]
1556
+ attr_accessor :metadata
1557
+
1558
+ # The server-assigned name, which is only unique within the same service that
1559
+ # originally returns it. If you use the default HTTP mapping, the `name` should
1560
+ # be a resource name ending with `operations/`unique_id``.
1561
+ # Corresponds to the JSON property `name`
1562
+ # @return [String]
1563
+ attr_accessor :name
1564
+
1565
+ # The normal response of the operation in case of success. If the original
1566
+ # method returns no data on success, such as `Delete`, the response is `google.
1567
+ # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
1568
+ # the response should be the resource. For other methods, the response should
1569
+ # have the type `XxxResponse`, where `Xxx` is the original method name. For
1570
+ # example, if the original method name is `TakeSnapshot()`, the inferred
1571
+ # response type is `TakeSnapshotResponse`.
1572
+ # Corresponds to the JSON property `response`
1573
+ # @return [Hash<String,Object>]
1574
+ attr_accessor :response
1575
+
1576
+ def initialize(**args)
1577
+ update!(**args)
1578
+ end
1579
+
1580
+ # Update properties of this object
1581
+ def update!(**args)
1582
+ @done = args[:done] if args.key?(:done)
1583
+ @error = args[:error] if args.key?(:error)
1584
+ @metadata = args[:metadata] if args.key?(:metadata)
1585
+ @name = args[:name] if args.key?(:name)
1586
+ @response = args[:response] if args.key?(:response)
1587
+ end
1588
+ end
1589
+
1590
+ # Represents the metadata of the long-running operation.
1591
+ class OperationMetadata
1592
+ include Google::Apis::Core::Hashable
1593
+
1594
+ # Output only. API version used to start the operation.
1595
+ # Corresponds to the JSON property `apiVersion`
1596
+ # @return [String]
1597
+ attr_accessor :api_version
1598
+
1599
+ # Output only. The time the operation was created.
1600
+ # Corresponds to the JSON property `createTime`
1601
+ # @return [String]
1602
+ attr_accessor :create_time
1603
+
1604
+ # Output only. The time the operation finished running.
1605
+ # Corresponds to the JSON property `endTime`
1606
+ # @return [String]
1607
+ attr_accessor :end_time
1608
+
1609
+ # Output only. Identifies whether the user has requested cancellation of the
1610
+ # operation. Operations that have successfully been cancelled have Operation.
1611
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
1612
+ # CANCELLED`.
1613
+ # Corresponds to the JSON property `requestedCancellation`
1614
+ # @return [Boolean]
1615
+ attr_accessor :requested_cancellation
1616
+ alias_method :requested_cancellation?, :requested_cancellation
1617
+
1618
+ # Output only. Human-readable status of the operation, if any.
1619
+ # Corresponds to the JSON property `statusMessage`
1620
+ # @return [String]
1621
+ attr_accessor :status_message
1622
+
1623
+ # Output only. Server-defined resource path for the target of the operation.
1624
+ # Corresponds to the JSON property `target`
1625
+ # @return [String]
1626
+ attr_accessor :target
1627
+
1628
+ # Output only. Name of the verb executed by the operation.
1629
+ # Corresponds to the JSON property `verb`
1630
+ # @return [String]
1631
+ attr_accessor :verb
1632
+
1633
+ def initialize(**args)
1634
+ update!(**args)
1635
+ end
1636
+
1637
+ # Update properties of this object
1638
+ def update!(**args)
1639
+ @api_version = args[:api_version] if args.key?(:api_version)
1640
+ @create_time = args[:create_time] if args.key?(:create_time)
1641
+ @end_time = args[:end_time] if args.key?(:end_time)
1642
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
1643
+ @status_message = args[:status_message] if args.key?(:status_message)
1644
+ @target = args[:target] if args.key?(:target)
1645
+ @verb = args[:verb] if args.key?(:verb)
1646
+ end
1647
+ end
1648
+
1649
+ # An Identity and Access Management (IAM) policy, which specifies access
1650
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1651
+ # A `binding` binds one or more `members` to a single `role`. Members can be
1652
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
1653
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
1654
+ # role or a user-created custom role. For some types of Google Cloud resources,
1655
+ # a `binding` can also specify a `condition`, which is a logical expression that
1656
+ # allows access to a resource only if the expression evaluates to `true`. A
1657
+ # condition can add constraints based on attributes of the request, the resource,
1658
+ # or both. To learn which resources support conditions in their IAM policies,
1659
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
1660
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
1661
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
1662
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
1663
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
1664
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
1665
+ # title": "expirable access", "description": "Does not grant access after Sep
1666
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
1667
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
1668
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
1669
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
1670
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
1671
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
1672
+ # description: Does not grant access after Sep 2020 expression: request.time <
1673
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
1674
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
1675
+ # google.com/iam/docs/).
1676
+ class Policy
1677
+ include Google::Apis::Core::Hashable
1678
+
1679
+ # Specifies cloud audit logging configuration for this policy.
1680
+ # Corresponds to the JSON property `auditConfigs`
1681
+ # @return [Array<Google::Apis::PrivatecaV1beta1::AuditConfig>]
1682
+ attr_accessor :audit_configs
1683
+
1684
+ # Associates a list of `members` to a `role`. Optionally, may specify a `
1685
+ # condition` that determines how and when the `bindings` are applied. Each of
1686
+ # the `bindings` must contain at least one member.
1687
+ # Corresponds to the JSON property `bindings`
1688
+ # @return [Array<Google::Apis::PrivatecaV1beta1::Binding>]
1689
+ attr_accessor :bindings
1690
+
1691
+ # `etag` is used for optimistic concurrency control as a way to help prevent
1692
+ # simultaneous updates of a policy from overwriting each other. It is strongly
1693
+ # suggested that systems make use of the `etag` in the read-modify-write cycle
1694
+ # to perform policy updates in order to avoid race conditions: An `etag` is
1695
+ # returned in the response to `getIamPolicy`, and systems are expected to put
1696
+ # that etag in the request to `setIamPolicy` to ensure that their change will be
1697
+ # applied to the same version of the policy. **Important:** If you use IAM
1698
+ # Conditions, you must include the `etag` field whenever you call `setIamPolicy`.
1699
+ # If you omit this field, then IAM allows you to overwrite a version `3` policy
1700
+ # with a version `1` policy, and all of the conditions in the version `3` policy
1701
+ # are lost.
1702
+ # Corresponds to the JSON property `etag`
1703
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1704
+ # @return [String]
1705
+ attr_accessor :etag
1706
+
1707
+ # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
1708
+ # Requests that specify an invalid value are rejected. Any operation that
1709
+ # affects conditional role bindings must specify version `3`. This requirement
1710
+ # applies to the following operations: * Getting a policy that includes a
1711
+ # conditional role binding * Adding a conditional role binding to a policy *
1712
+ # Changing a conditional role binding in a policy * Removing any role binding,
1713
+ # with or without a condition, from a policy that includes conditions **
1714
+ # Important:** If you use IAM Conditions, you must include the `etag` field
1715
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
1716
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
1717
+ # conditions in the version `3` policy are lost. If a policy does not include
1718
+ # any conditions, operations on that policy may specify any valid version or
1719
+ # leave the field unset. To learn which resources support conditions in their
1720
+ # IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/
1721
+ # conditions/resource-policies).
1722
+ # Corresponds to the JSON property `version`
1723
+ # @return [Fixnum]
1724
+ attr_accessor :version
1725
+
1726
+ def initialize(**args)
1727
+ update!(**args)
1728
+ end
1729
+
1730
+ # Update properties of this object
1731
+ def update!(**args)
1732
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
1733
+ @bindings = args[:bindings] if args.key?(:bindings)
1734
+ @etag = args[:etag] if args.key?(:etag)
1735
+ @version = args[:version] if args.key?(:version)
1736
+ end
1737
+ end
1738
+
1739
+ # A PublicKey describes a public key.
1740
+ class PublicKey
1741
+ include Google::Apis::Core::Hashable
1742
+
1743
+ # Required. A public key. When this is specified in a request, the padding and
1744
+ # encoding can be any of the options described by the respective 'KeyType' value.
1745
+ # When this is generated by the service, it will always be an RFC 5280 [
1746
+ # SubjectPublicKeyInfo](https://tools.ietf.org/html/rfc5280#section-4.1)
1747
+ # structure containing an algorithm identifier and a key.
1748
+ # Corresponds to the JSON property `key`
1749
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1750
+ # @return [String]
1751
+ attr_accessor :key
1752
+
1753
+ # Required. The type of public key.
1754
+ # Corresponds to the JSON property `type`
1755
+ # @return [String]
1756
+ attr_accessor :type
1757
+
1758
+ def initialize(**args)
1759
+ update!(**args)
1760
+ end
1761
+
1762
+ # Update properties of this object
1763
+ def update!(**args)
1764
+ @key = args[:key] if args.key?(:key)
1765
+ @type = args[:type] if args.key?(:type)
1766
+ end
1767
+ end
1768
+
1769
+ # Request message for CertificateAuthorityService.RestoreCertificateAuthority.
1770
+ class RestoreCertificateAuthorityRequest
1771
+ include Google::Apis::Core::Hashable
1772
+
1773
+ # Optional. An ID to identify requests. Specify a unique request ID so that if
1774
+ # you must retry your request, the server will know to ignore the request if it
1775
+ # has already been completed. The server will guarantee that for at least 60
1776
+ # minutes since the first request. For example, consider a situation where you
1777
+ # make an initial request and t he request times out. If you make the request
1778
+ # again with the same request ID, the server can check if original operation
1779
+ # with the same request ID was received, and if so, will ignore the second
1780
+ # request. This prevents clients from accidentally creating duplicate
1781
+ # commitments. The request ID must be a valid UUID with the exception that zero
1782
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
1783
+ # Corresponds to the JSON property `requestId`
1784
+ # @return [String]
1785
+ attr_accessor :request_id
1786
+
1787
+ def initialize(**args)
1788
+ update!(**args)
1789
+ end
1790
+
1791
+ # Update properties of this object
1792
+ def update!(**args)
1793
+ @request_id = args[:request_id] if args.key?(:request_id)
1794
+ end
1795
+ end
1796
+
1797
+ # A ReusableConfig refers to a managed ReusableConfigValues. Those, in turn, are
1798
+ # used to describe certain fields of an X.509 certificate, such as the key usage
1799
+ # fields, fields specific to CA certificates, certificate policy extensions and
1800
+ # custom extensions.
1801
+ class ReusableConfig
1802
+ include Google::Apis::Core::Hashable
1803
+
1804
+ # Output only. The time at which this ReusableConfig was created.
1805
+ # Corresponds to the JSON property `createTime`
1806
+ # @return [String]
1807
+ attr_accessor :create_time
1808
+
1809
+ # Optional. A human-readable description of scenarios these ReusableConfigValues
1810
+ # may be compatible with.
1811
+ # Corresponds to the JSON property `description`
1812
+ # @return [String]
1813
+ attr_accessor :description
1814
+
1815
+ # Optional. Labels with user-defined metadata.
1816
+ # Corresponds to the JSON property `labels`
1817
+ # @return [Hash<String,String>]
1818
+ attr_accessor :labels
1819
+
1820
+ # Output only. The resource path for this ReusableConfig in the format `projects/
1821
+ # */locations/*/reusableConfigs/*`.
1822
+ # Corresponds to the JSON property `name`
1823
+ # @return [String]
1824
+ attr_accessor :name
1825
+
1826
+ # Output only. The time at which this ReusableConfig was updated.
1827
+ # Corresponds to the JSON property `updateTime`
1828
+ # @return [String]
1829
+ attr_accessor :update_time
1830
+
1831
+ # A ReusableConfigValues is used to describe certain fields of an X.509
1832
+ # certificate, such as the key usage fields, fields specific to CA certificates,
1833
+ # certificate policy extensions and custom extensions.
1834
+ # Corresponds to the JSON property `values`
1835
+ # @return [Google::Apis::PrivatecaV1beta1::ReusableConfigValues]
1836
+ attr_accessor :values
1837
+
1838
+ def initialize(**args)
1839
+ update!(**args)
1840
+ end
1841
+
1842
+ # Update properties of this object
1843
+ def update!(**args)
1844
+ @create_time = args[:create_time] if args.key?(:create_time)
1845
+ @description = args[:description] if args.key?(:description)
1846
+ @labels = args[:labels] if args.key?(:labels)
1847
+ @name = args[:name] if args.key?(:name)
1848
+ @update_time = args[:update_time] if args.key?(:update_time)
1849
+ @values = args[:values] if args.key?(:values)
1850
+ end
1851
+ end
1852
+
1853
+ # A ReusableConfigValues is used to describe certain fields of an X.509
1854
+ # certificate, such as the key usage fields, fields specific to CA certificates,
1855
+ # certificate policy extensions and custom extensions.
1856
+ class ReusableConfigValues
1857
+ include Google::Apis::Core::Hashable
1858
+
1859
+ # Optional. Describes custom X.509 extensions.
1860
+ # Corresponds to the JSON property `additionalExtensions`
1861
+ # @return [Array<Google::Apis::PrivatecaV1beta1::X509Extension>]
1862
+ attr_accessor :additional_extensions
1863
+
1864
+ # Optional. Describes Online Certificate Status Protocol (OCSP) endpoint
1865
+ # addresses that appear in the "Authority Information Access" extension in the
1866
+ # certificate.
1867
+ # Corresponds to the JSON property `aiaOcspServers`
1868
+ # @return [Array<String>]
1869
+ attr_accessor :aia_ocsp_servers
1870
+
1871
+ # Describes values that are relevant in a CA certificate.
1872
+ # Corresponds to the JSON property `caOptions`
1873
+ # @return [Google::Apis::PrivatecaV1beta1::CaOptions]
1874
+ attr_accessor :ca_options
1875
+
1876
+ # A KeyUsage describes key usage values that may appear in an X.509 certificate.
1877
+ # Corresponds to the JSON property `keyUsage`
1878
+ # @return [Google::Apis::PrivatecaV1beta1::KeyUsage]
1879
+ attr_accessor :key_usage
1880
+
1881
+ # Optional. Describes the X.509 certificate policy object identifiers, per https:
1882
+ # //tools.ietf.org/html/rfc5280#section-4.2.1.4.
1883
+ # Corresponds to the JSON property `policyIds`
1884
+ # @return [Array<Google::Apis::PrivatecaV1beta1::ObjectIdProp>]
1885
+ attr_accessor :policy_ids
1886
+
1887
+ def initialize(**args)
1888
+ update!(**args)
1889
+ end
1890
+
1891
+ # Update properties of this object
1892
+ def update!(**args)
1893
+ @additional_extensions = args[:additional_extensions] if args.key?(:additional_extensions)
1894
+ @aia_ocsp_servers = args[:aia_ocsp_servers] if args.key?(:aia_ocsp_servers)
1895
+ @ca_options = args[:ca_options] if args.key?(:ca_options)
1896
+ @key_usage = args[:key_usage] if args.key?(:key_usage)
1897
+ @policy_ids = args[:policy_ids] if args.key?(:policy_ids)
1898
+ end
1899
+ end
1900
+
1901
+ # A ReusableConfigWrapper describes values that may assist in creating an X.509
1902
+ # certificate, or a reference to a pre-defined set of values.
1903
+ class ReusableConfigWrapper
1904
+ include Google::Apis::Core::Hashable
1905
+
1906
+ # Required. A resource path to a ReusableConfig in the format `projects/*/
1907
+ # locations/*/reusableConfigs/*`.
1908
+ # Corresponds to the JSON property `reusableConfig`
1909
+ # @return [String]
1910
+ attr_accessor :reusable_config
1911
+
1912
+ # A ReusableConfigValues is used to describe certain fields of an X.509
1913
+ # certificate, such as the key usage fields, fields specific to CA certificates,
1914
+ # certificate policy extensions and custom extensions.
1915
+ # Corresponds to the JSON property `reusableConfigValues`
1916
+ # @return [Google::Apis::PrivatecaV1beta1::ReusableConfigValues]
1917
+ attr_accessor :reusable_config_values
1918
+
1919
+ def initialize(**args)
1920
+ update!(**args)
1921
+ end
1922
+
1923
+ # Update properties of this object
1924
+ def update!(**args)
1925
+ @reusable_config = args[:reusable_config] if args.key?(:reusable_config)
1926
+ @reusable_config_values = args[:reusable_config_values] if args.key?(:reusable_config_values)
1927
+ end
1928
+ end
1929
+
1930
+ # Describes fields that are relavent to the revocation of a Certificate.
1931
+ class RevocationDetails
1932
+ include Google::Apis::Core::Hashable
1933
+
1934
+ # Indicates why a Certificate was revoked.
1935
+ # Corresponds to the JSON property `revocationState`
1936
+ # @return [String]
1937
+ attr_accessor :revocation_state
1938
+
1939
+ # The time at which this Certificate was revoked.
1940
+ # Corresponds to the JSON property `revocationTime`
1941
+ # @return [String]
1942
+ attr_accessor :revocation_time
1943
+
1944
+ def initialize(**args)
1945
+ update!(**args)
1946
+ end
1947
+
1948
+ # Update properties of this object
1949
+ def update!(**args)
1950
+ @revocation_state = args[:revocation_state] if args.key?(:revocation_state)
1951
+ @revocation_time = args[:revocation_time] if args.key?(:revocation_time)
1952
+ end
1953
+ end
1954
+
1955
+ # Request message for CertificateAuthorityService.RevokeCertificate.
1956
+ class RevokeCertificateRequest
1957
+ include Google::Apis::Core::Hashable
1958
+
1959
+ # Required. The RevocationReason for revoking this certificate.
1960
+ # Corresponds to the JSON property `reason`
1961
+ # @return [String]
1962
+ attr_accessor :reason
1963
+
1964
+ # Optional. An ID to identify requests. Specify a unique request ID so that if
1965
+ # you must retry your request, the server will know to ignore the request if it
1966
+ # has already been completed. The server will guarantee that for at least 60
1967
+ # minutes since the first request. For example, consider a situation where you
1968
+ # make an initial request and t he request times out. If you make the request
1969
+ # again with the same request ID, the server can check if original operation
1970
+ # with the same request ID was received, and if so, will ignore the second
1971
+ # request. This prevents clients from accidentally creating duplicate
1972
+ # commitments. The request ID must be a valid UUID with the exception that zero
1973
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
1974
+ # Corresponds to the JSON property `requestId`
1975
+ # @return [String]
1976
+ attr_accessor :request_id
1977
+
1978
+ def initialize(**args)
1979
+ update!(**args)
1980
+ end
1981
+
1982
+ # Update properties of this object
1983
+ def update!(**args)
1984
+ @reason = args[:reason] if args.key?(:reason)
1985
+ @request_id = args[:request_id] if args.key?(:request_id)
1986
+ end
1987
+ end
1988
+
1989
+ # Describes a revoked Certificate.
1990
+ class RevokedCertificate
1991
+ include Google::Apis::Core::Hashable
1992
+
1993
+ # The resource path for the Certificate in the format `projects/*/locations/*/
1994
+ # certificateAuthorities/*/certificates/*`.
1995
+ # Corresponds to the JSON property `certificate`
1996
+ # @return [String]
1997
+ attr_accessor :certificate
1998
+
1999
+ # The serial number of the Certificate.
2000
+ # Corresponds to the JSON property `hexSerialNumber`
2001
+ # @return [String]
2002
+ attr_accessor :hex_serial_number
2003
+
2004
+ # The reason the Certificate was revoked.
2005
+ # Corresponds to the JSON property `revocationReason`
2006
+ # @return [String]
2007
+ attr_accessor :revocation_reason
2008
+
2009
+ def initialize(**args)
2010
+ update!(**args)
2011
+ end
2012
+
2013
+ # Update properties of this object
2014
+ def update!(**args)
2015
+ @certificate = args[:certificate] if args.key?(:certificate)
2016
+ @hex_serial_number = args[:hex_serial_number] if args.key?(:hex_serial_number)
2017
+ @revocation_reason = args[:revocation_reason] if args.key?(:revocation_reason)
2018
+ end
2019
+ end
2020
+
2021
+ # Request message for CertificateAuthorityService.
2022
+ # ScheduleDeleteCertificateAuthority.
2023
+ class ScheduleDeleteCertificateAuthorityRequest
2024
+ include Google::Apis::Core::Hashable
2025
+
2026
+ # Optional. An ID to identify requests. Specify a unique request ID so that if
2027
+ # you must retry your request, the server will know to ignore the request if it
2028
+ # has already been completed. The server will guarantee that for at least 60
2029
+ # minutes since the first request. For example, consider a situation where you
2030
+ # make an initial request and t he request times out. If you make the request
2031
+ # again with the same request ID, the server can check if original operation
2032
+ # with the same request ID was received, and if so, will ignore the second
2033
+ # request. This prevents clients from accidentally creating duplicate
2034
+ # commitments. The request ID must be a valid UUID with the exception that zero
2035
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
2036
+ # Corresponds to the JSON property `requestId`
2037
+ # @return [String]
2038
+ attr_accessor :request_id
2039
+
2040
+ def initialize(**args)
2041
+ update!(**args)
2042
+ end
2043
+
2044
+ # Update properties of this object
2045
+ def update!(**args)
2046
+ @request_id = args[:request_id] if args.key?(:request_id)
2047
+ end
2048
+ end
2049
+
2050
+ # Request message for `SetIamPolicy` method.
2051
+ class SetIamPolicyRequest
2052
+ include Google::Apis::Core::Hashable
2053
+
2054
+ # An Identity and Access Management (IAM) policy, which specifies access
2055
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
2056
+ # A `binding` binds one or more `members` to a single `role`. Members can be
2057
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
2058
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
2059
+ # role or a user-created custom role. For some types of Google Cloud resources,
2060
+ # a `binding` can also specify a `condition`, which is a logical expression that
2061
+ # allows access to a resource only if the expression evaluates to `true`. A
2062
+ # condition can add constraints based on attributes of the request, the resource,
2063
+ # or both. To learn which resources support conditions in their IAM policies,
2064
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
2065
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
2066
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
2067
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
2068
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
2069
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
2070
+ # title": "expirable access", "description": "Does not grant access after Sep
2071
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
2072
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
2073
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
2074
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
2075
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
2076
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
2077
+ # description: Does not grant access after Sep 2020 expression: request.time <
2078
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
2079
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
2080
+ # google.com/iam/docs/).
2081
+ # Corresponds to the JSON property `policy`
2082
+ # @return [Google::Apis::PrivatecaV1beta1::Policy]
2083
+ attr_accessor :policy
2084
+
2085
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
2086
+ # the fields in the mask will be modified. If no mask is provided, the following
2087
+ # default mask is used: `paths: "bindings, etag"`
2088
+ # Corresponds to the JSON property `updateMask`
2089
+ # @return [String]
2090
+ attr_accessor :update_mask
2091
+
2092
+ def initialize(**args)
2093
+ update!(**args)
2094
+ end
2095
+
2096
+ # Update properties of this object
2097
+ def update!(**args)
2098
+ @policy = args[:policy] if args.key?(:policy)
2099
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
2100
+ end
2101
+ end
2102
+
2103
+ # The `Status` type defines a logical error model that is suitable for different
2104
+ # programming environments, including REST APIs and RPC APIs. It is used by [
2105
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
2106
+ # data: error code, error message, and error details. You can find out more
2107
+ # about this error model and how to work with it in the [API Design Guide](https:
2108
+ # //cloud.google.com/apis/design/errors).
2109
+ class Status
2110
+ include Google::Apis::Core::Hashable
2111
+
2112
+ # The status code, which should be an enum value of google.rpc.Code.
2113
+ # Corresponds to the JSON property `code`
2114
+ # @return [Fixnum]
2115
+ attr_accessor :code
2116
+
2117
+ # A list of messages that carry the error details. There is a common set of
2118
+ # message types for APIs to use.
2119
+ # Corresponds to the JSON property `details`
2120
+ # @return [Array<Hash<String,Object>>]
2121
+ attr_accessor :details
2122
+
2123
+ # A developer-facing error message, which should be in English. Any user-facing
2124
+ # error message should be localized and sent in the google.rpc.Status.details
2125
+ # field, or localized by the client.
2126
+ # Corresponds to the JSON property `message`
2127
+ # @return [String]
2128
+ attr_accessor :message
2129
+
2130
+ def initialize(**args)
2131
+ update!(**args)
2132
+ end
2133
+
2134
+ # Update properties of this object
2135
+ def update!(**args)
2136
+ @code = args[:code] if args.key?(:code)
2137
+ @details = args[:details] if args.key?(:details)
2138
+ @message = args[:message] if args.key?(:message)
2139
+ end
2140
+ end
2141
+
2142
+ # Subject describes parts of a distinguished name that, in turn, describes the
2143
+ # subject of the certificate.
2144
+ class Subject
2145
+ include Google::Apis::Core::Hashable
2146
+
2147
+ # The country code of the subject.
2148
+ # Corresponds to the JSON property `countryCode`
2149
+ # @return [String]
2150
+ attr_accessor :country_code
2151
+
2152
+ # The locality or city of the subject.
2153
+ # Corresponds to the JSON property `locality`
2154
+ # @return [String]
2155
+ attr_accessor :locality
2156
+
2157
+ # The organization of the subject.
2158
+ # Corresponds to the JSON property `organization`
2159
+ # @return [String]
2160
+ attr_accessor :organization
2161
+
2162
+ # The organizational_unit of the subject.
2163
+ # Corresponds to the JSON property `organizationalUnit`
2164
+ # @return [String]
2165
+ attr_accessor :organizational_unit
2166
+
2167
+ # The postal code of the subject.
2168
+ # Corresponds to the JSON property `postalCode`
2169
+ # @return [String]
2170
+ attr_accessor :postal_code
2171
+
2172
+ # The province, territory, or regional state of the subject.
2173
+ # Corresponds to the JSON property `province`
2174
+ # @return [String]
2175
+ attr_accessor :province
2176
+
2177
+ # The street address of the subject.
2178
+ # Corresponds to the JSON property `streetAddress`
2179
+ # @return [String]
2180
+ attr_accessor :street_address
2181
+
2182
+ def initialize(**args)
2183
+ update!(**args)
2184
+ end
2185
+
2186
+ # Update properties of this object
2187
+ def update!(**args)
2188
+ @country_code = args[:country_code] if args.key?(:country_code)
2189
+ @locality = args[:locality] if args.key?(:locality)
2190
+ @organization = args[:organization] if args.key?(:organization)
2191
+ @organizational_unit = args[:organizational_unit] if args.key?(:organizational_unit)
2192
+ @postal_code = args[:postal_code] if args.key?(:postal_code)
2193
+ @province = args[:province] if args.key?(:province)
2194
+ @street_address = args[:street_address] if args.key?(:street_address)
2195
+ end
2196
+ end
2197
+
2198
+ # SubjectAltNames corresponds to a more modern way of listing what the asserted
2199
+ # identity is in a certificate (i.e., compared to the "common name" in the
2200
+ # distinguished name).
2201
+ class SubjectAltNames
2202
+ include Google::Apis::Core::Hashable
2203
+
2204
+ # Contains additional subject alternative name values.
2205
+ # Corresponds to the JSON property `customSans`
2206
+ # @return [Array<Google::Apis::PrivatecaV1beta1::X509Extension>]
2207
+ attr_accessor :custom_sans
2208
+
2209
+ # Contains only valid, fully-qualified host names.
2210
+ # Corresponds to the JSON property `dnsNames`
2211
+ # @return [Array<String>]
2212
+ attr_accessor :dns_names
2213
+
2214
+ # Contains only valid RFC 2822 E-mail addresses.
2215
+ # Corresponds to the JSON property `emailAddresses`
2216
+ # @return [Array<String>]
2217
+ attr_accessor :email_addresses
2218
+
2219
+ # Contains only valid 32-bit IPv4 addresses or RFC 4291 IPv6 addresses.
2220
+ # Corresponds to the JSON property `ipAddresses`
2221
+ # @return [Array<String>]
2222
+ attr_accessor :ip_addresses
2223
+
2224
+ # Contains only valid RFC 3986 URIs.
2225
+ # Corresponds to the JSON property `uris`
2226
+ # @return [Array<String>]
2227
+ attr_accessor :uris
2228
+
2229
+ def initialize(**args)
2230
+ update!(**args)
2231
+ end
2232
+
2233
+ # Update properties of this object
2234
+ def update!(**args)
2235
+ @custom_sans = args[:custom_sans] if args.key?(:custom_sans)
2236
+ @dns_names = args[:dns_names] if args.key?(:dns_names)
2237
+ @email_addresses = args[:email_addresses] if args.key?(:email_addresses)
2238
+ @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
2239
+ @uris = args[:uris] if args.key?(:uris)
2240
+ end
2241
+ end
2242
+
2243
+ # These values are used to create the distinguished name and subject alternative
2244
+ # name fields in an X.509 certificate.
2245
+ class SubjectConfig
2246
+ include Google::Apis::Core::Hashable
2247
+
2248
+ # Optional. The "common name" of the distinguished name.
2249
+ # Corresponds to the JSON property `commonName`
2250
+ # @return [String]
2251
+ attr_accessor :common_name
2252
+
2253
+ # Subject describes parts of a distinguished name that, in turn, describes the
2254
+ # subject of the certificate.
2255
+ # Corresponds to the JSON property `subject`
2256
+ # @return [Google::Apis::PrivatecaV1beta1::Subject]
2257
+ attr_accessor :subject
2258
+
2259
+ # SubjectAltNames corresponds to a more modern way of listing what the asserted
2260
+ # identity is in a certificate (i.e., compared to the "common name" in the
2261
+ # distinguished name).
2262
+ # Corresponds to the JSON property `subjectAltName`
2263
+ # @return [Google::Apis::PrivatecaV1beta1::SubjectAltNames]
2264
+ attr_accessor :subject_alt_name
2265
+
2266
+ def initialize(**args)
2267
+ update!(**args)
2268
+ end
2269
+
2270
+ # Update properties of this object
2271
+ def update!(**args)
2272
+ @common_name = args[:common_name] if args.key?(:common_name)
2273
+ @subject = args[:subject] if args.key?(:subject)
2274
+ @subject_alt_name = args[:subject_alt_name] if args.key?(:subject_alt_name)
2275
+ end
2276
+ end
2277
+
2278
+ # These values describe fields in an issued X.509 certificate such as the
2279
+ # distinguished name, subject alternative names, serial number, and lifetime.
2280
+ class SubjectDescription
2281
+ include Google::Apis::Core::Hashable
2282
+
2283
+ # The "common name" of the distinguished name.
2284
+ # Corresponds to the JSON property `commonName`
2285
+ # @return [String]
2286
+ attr_accessor :common_name
2287
+
2288
+ # The serial number encoded in lowercase hexadecimal.
2289
+ # Corresponds to the JSON property `hexSerialNumber`
2290
+ # @return [String]
2291
+ attr_accessor :hex_serial_number
2292
+
2293
+ # For convenience, the actual lifetime of an issued certificate. Corresponds to '
2294
+ # not_after_time' - 'not_before_time'.
2295
+ # Corresponds to the JSON property `lifetime`
2296
+ # @return [String]
2297
+ attr_accessor :lifetime
2298
+
2299
+ # The time at which the certificate expires.
2300
+ # Corresponds to the JSON property `notAfterTime`
2301
+ # @return [String]
2302
+ attr_accessor :not_after_time
2303
+
2304
+ # The time at which the certificate becomes valid.
2305
+ # Corresponds to the JSON property `notBeforeTime`
2306
+ # @return [String]
2307
+ attr_accessor :not_before_time
2308
+
2309
+ # Subject describes parts of a distinguished name that, in turn, describes the
2310
+ # subject of the certificate.
2311
+ # Corresponds to the JSON property `subject`
2312
+ # @return [Google::Apis::PrivatecaV1beta1::Subject]
2313
+ attr_accessor :subject
2314
+
2315
+ # SubjectAltNames corresponds to a more modern way of listing what the asserted
2316
+ # identity is in a certificate (i.e., compared to the "common name" in the
2317
+ # distinguished name).
2318
+ # Corresponds to the JSON property `subjectAltName`
2319
+ # @return [Google::Apis::PrivatecaV1beta1::SubjectAltNames]
2320
+ attr_accessor :subject_alt_name
2321
+
2322
+ def initialize(**args)
2323
+ update!(**args)
2324
+ end
2325
+
2326
+ # Update properties of this object
2327
+ def update!(**args)
2328
+ @common_name = args[:common_name] if args.key?(:common_name)
2329
+ @hex_serial_number = args[:hex_serial_number] if args.key?(:hex_serial_number)
2330
+ @lifetime = args[:lifetime] if args.key?(:lifetime)
2331
+ @not_after_time = args[:not_after_time] if args.key?(:not_after_time)
2332
+ @not_before_time = args[:not_before_time] if args.key?(:not_before_time)
2333
+ @subject = args[:subject] if args.key?(:subject)
2334
+ @subject_alt_name = args[:subject_alt_name] if args.key?(:subject_alt_name)
2335
+ end
2336
+ end
2337
+
2338
+ # Describes a subordinate CA's issuers. This is either a resource path to a
2339
+ # known issuing CertificateAuthority, or a PEM issuer certificate chain.
2340
+ class SubordinateConfig
2341
+ include Google::Apis::Core::Hashable
2342
+
2343
+ # Required. This can refer to a CertificateAuthority in the same project that
2344
+ # was used to create a subordinate CertificateAuthority. This field is used for
2345
+ # information and usability purposes only. The resource name is in the format `
2346
+ # projects/*/locations/*/certificateAuthorities/*`.
2347
+ # Corresponds to the JSON property `certificateAuthority`
2348
+ # @return [String]
2349
+ attr_accessor :certificate_authority
2350
+
2351
+ # This message describes a subordinate CA's issuer certificate chain. This
2352
+ # wrapper exists for compatibility reasons.
2353
+ # Corresponds to the JSON property `pemIssuerChain`
2354
+ # @return [Google::Apis::PrivatecaV1beta1::SubordinateConfigChain]
2355
+ attr_accessor :pem_issuer_chain
2356
+
2357
+ def initialize(**args)
2358
+ update!(**args)
2359
+ end
2360
+
2361
+ # Update properties of this object
2362
+ def update!(**args)
2363
+ @certificate_authority = args[:certificate_authority] if args.key?(:certificate_authority)
2364
+ @pem_issuer_chain = args[:pem_issuer_chain] if args.key?(:pem_issuer_chain)
2365
+ end
2366
+ end
2367
+
2368
+ # This message describes a subordinate CA's issuer certificate chain. This
2369
+ # wrapper exists for compatibility reasons.
2370
+ class SubordinateConfigChain
2371
+ include Google::Apis::Core::Hashable
2372
+
2373
+ # Required. Expected to be in leaf-to-root order according to RFC 5246.
2374
+ # Corresponds to the JSON property `pemCertificates`
2375
+ # @return [Array<String>]
2376
+ attr_accessor :pem_certificates
2377
+
2378
+ def initialize(**args)
2379
+ update!(**args)
2380
+ end
2381
+
2382
+ # Update properties of this object
2383
+ def update!(**args)
2384
+ @pem_certificates = args[:pem_certificates] if args.key?(:pem_certificates)
2385
+ end
2386
+ end
2387
+
2388
+ # Request message for `TestIamPermissions` method.
2389
+ class TestIamPermissionsRequest
2390
+ include Google::Apis::Core::Hashable
2391
+
2392
+ # The set of permissions to check for the `resource`. Permissions with wildcards
2393
+ # (such as '*' or 'storage.*') are not allowed. For more information see [IAM
2394
+ # Overview](https://cloud.google.com/iam/docs/overview#permissions).
2395
+ # Corresponds to the JSON property `permissions`
2396
+ # @return [Array<String>]
2397
+ attr_accessor :permissions
2398
+
2399
+ def initialize(**args)
2400
+ update!(**args)
2401
+ end
2402
+
2403
+ # Update properties of this object
2404
+ def update!(**args)
2405
+ @permissions = args[:permissions] if args.key?(:permissions)
2406
+ end
2407
+ end
2408
+
2409
+ # Response message for `TestIamPermissions` method.
2410
+ class TestIamPermissionsResponse
2411
+ include Google::Apis::Core::Hashable
2412
+
2413
+ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
2414
+ # Corresponds to the JSON property `permissions`
2415
+ # @return [Array<String>]
2416
+ attr_accessor :permissions
2417
+
2418
+ def initialize(**args)
2419
+ update!(**args)
2420
+ end
2421
+
2422
+ # Update properties of this object
2423
+ def update!(**args)
2424
+ @permissions = args[:permissions] if args.key?(:permissions)
2425
+ end
2426
+ end
2427
+
2428
+ # An X509Extension specifies an X.509 extension, which may be used in different
2429
+ # parts of X.509 objects like certificates, CSRs, and CRLs.
2430
+ class X509Extension
2431
+ include Google::Apis::Core::Hashable
2432
+
2433
+ # Required. Indicates whether or not this extension is critical (i.e., if the
2434
+ # client does not know how to handle this extension, the client should consider
2435
+ # this to be an error).
2436
+ # Corresponds to the JSON property `critical`
2437
+ # @return [Boolean]
2438
+ attr_accessor :critical
2439
+ alias_method :critical?, :critical
2440
+
2441
+ # An ObjectId specifies an object identifier (OID). These provide context and
2442
+ # describe types in ASN.1 messages.
2443
+ # Corresponds to the JSON property `objectId`
2444
+ # @return [Google::Apis::PrivatecaV1beta1::ObjectIdProp]
2445
+ attr_accessor :object_id_prop
2446
+
2447
+ # Required. The value of this X.509 extension.
2448
+ # Corresponds to the JSON property `value`
2449
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2450
+ # @return [String]
2451
+ attr_accessor :value
2452
+
2453
+ def initialize(**args)
2454
+ update!(**args)
2455
+ end
2456
+
2457
+ # Update properties of this object
2458
+ def update!(**args)
2459
+ @critical = args[:critical] if args.key?(:critical)
2460
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
2461
+ @value = args[:value] if args.key?(:value)
2462
+ end
2463
+ end
2464
+ end
2465
+ end
2466
+ end