google-api-client 0.37.3 → 0.38.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 (440) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +146 -0
  3. data/api_list_config.yaml +2 -0
  4. data/api_names.yaml +2 -0
  5. data/bin/generate-api +9 -1
  6. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  7. data/generated/google/apis/accesscontextmanager_v1/classes.rb +0 -36
  8. data/generated/google/apis/accesscontextmanager_v1/representations.rb +0 -6
  9. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  10. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +0 -36
  11. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +0 -6
  12. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  13. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +10 -3
  14. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +1 -0
  15. data/generated/google/apis/admin_directory_v1.rb +1 -1
  16. data/generated/google/apis/admin_directory_v1/classes.rb +0 -147
  17. data/generated/google/apis/admin_directory_v1/representations.rb +0 -54
  18. data/generated/google/apis/admin_directory_v1/service.rb +0 -60
  19. data/generated/google/apis/adsense_v1_4.rb +1 -1
  20. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  21. data/generated/google/apis/adsensehost_v4_1/service.rb +5 -1
  22. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  23. data/generated/google/apis/alertcenter_v1beta1/classes.rb +1 -1
  24. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  25. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +2 -2
  26. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  27. data/generated/google/apis/androidenterprise_v1/classes.rb +2 -2
  28. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  29. data/generated/google/apis/androidmanagement_v1/service.rb +2 -2
  30. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  31. data/generated/google/apis/androidpublisher_v2/classes.rb +2 -2
  32. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  33. data/generated/google/apis/androidpublisher_v3/classes.rb +2 -2
  34. data/generated/google/apis/appengine_v1.rb +1 -1
  35. data/generated/google/apis/appengine_v1alpha.rb +1 -1
  36. data/generated/google/apis/appengine_v1beta.rb +1 -1
  37. data/generated/google/apis/bigquery_v2.rb +1 -1
  38. data/generated/google/apis/bigquery_v2/classes.rb +224 -5
  39. data/generated/google/apis/bigquery_v2/representations.rb +65 -0
  40. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  41. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  42. data/generated/google/apis/bigqueryreservation_v1/classes.rb +413 -0
  43. data/generated/google/apis/bigqueryreservation_v1/representations.rb +194 -0
  44. data/generated/google/apis/bigqueryreservation_v1/service.rb +745 -0
  45. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  46. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +69 -20
  47. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +29 -13
  48. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +4 -39
  49. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  50. data/generated/google/apis/bigtableadmin_v1/classes.rb +20 -17
  51. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  52. data/generated/google/apis/bigtableadmin_v2/classes.rb +26 -21
  53. data/generated/google/apis/bigtableadmin_v2/service.rb +93 -53
  54. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  55. data/generated/google/apis/billingbudgets_v1beta1/service.rb +3 -3
  56. data/generated/google/apis/blogger_v2.rb +5 -4
  57. data/generated/google/apis/blogger_v2/classes.rb +297 -45
  58. data/generated/google/apis/blogger_v2/representations.rb +105 -26
  59. data/generated/google/apis/blogger_v2/service.rb +79 -134
  60. data/generated/google/apis/blogger_v3.rb +4 -3
  61. data/generated/google/apis/blogger_v3/classes.rb +60 -53
  62. data/generated/google/apis/blogger_v3/representations.rb +10 -18
  63. data/generated/google/apis/blogger_v3/service.rb +183 -463
  64. data/generated/google/apis/calendar_v3.rb +1 -1
  65. data/generated/google/apis/calendar_v3/classes.rb +1 -14
  66. data/generated/google/apis/chat_v1.rb +1 -1
  67. data/generated/google/apis/chat_v1/classes.rb +1 -1
  68. data/generated/google/apis/cloudasset_v1.rb +1 -1
  69. data/generated/google/apis/cloudasset_v1/classes.rb +81 -90
  70. data/generated/google/apis/cloudasset_v1/representations.rb +1 -6
  71. data/generated/google/apis/cloudasset_v1/service.rb +2 -2
  72. data/generated/google/apis/cloudasset_v1p1beta1.rb +34 -0
  73. data/generated/google/apis/cloudasset_v1p1beta1/classes.rb +669 -0
  74. data/generated/google/apis/cloudasset_v1p1beta1/representations.rb +199 -0
  75. data/generated/google/apis/cloudasset_v1p1beta1/service.rb +187 -0
  76. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  77. data/generated/google/apis/cloudbuild_v1/classes.rb +12 -1
  78. data/generated/google/apis/cloudbuild_v1/representations.rb +1 -0
  79. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  80. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +9 -0
  81. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +1 -0
  82. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  83. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +9 -0
  84. data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +1 -0
  85. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  86. data/generated/google/apis/clouddebugger_v2/classes.rb +8 -0
  87. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  88. data/generated/google/apis/cloudidentity_v1/classes.rb +0 -561
  89. data/generated/google/apis/cloudidentity_v1/representations.rb +0 -226
  90. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  91. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +652 -2
  92. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +272 -0
  93. data/generated/google/apis/cloudidentity_v1beta1/service.rb +2 -2
  94. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  95. data/generated/google/apis/cloudresourcemanager_v1/service.rb +3 -0
  96. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  97. data/generated/google/apis/cloudsearch_v1/classes.rb +52 -50
  98. data/generated/google/apis/cloudshell_v1.rb +1 -1
  99. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  100. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  101. data/generated/google/apis/cloudtasks_v2beta2/service.rb +6 -1
  102. data/generated/google/apis/cloudtrace_v1.rb +3 -3
  103. data/generated/google/apis/cloudtrace_v1/service.rb +2 -2
  104. data/generated/google/apis/cloudtrace_v2.rb +3 -3
  105. data/generated/google/apis/cloudtrace_v2/service.rb +2 -2
  106. data/generated/google/apis/cloudtrace_v2beta1.rb +3 -3
  107. data/generated/google/apis/cloudtrace_v2beta1/classes.rb +1 -2
  108. data/generated/google/apis/cloudtrace_v2beta1/service.rb +2 -2
  109. data/generated/google/apis/composer_v1.rb +1 -1
  110. data/generated/google/apis/composer_v1/classes.rb +178 -0
  111. data/generated/google/apis/composer_v1/representations.rb +54 -0
  112. data/generated/google/apis/composer_v1beta1.rb +1 -1
  113. data/generated/google/apis/composer_v1beta1/classes.rb +36 -5
  114. data/generated/google/apis/composer_v1beta1/representations.rb +4 -0
  115. data/generated/google/apis/compute_alpha.rb +1 -1
  116. data/generated/google/apis/compute_alpha/classes.rb +1320 -307
  117. data/generated/google/apis/compute_alpha/representations.rb +284 -18
  118. data/generated/google/apis/compute_alpha/service.rb +4914 -3211
  119. data/generated/google/apis/compute_beta.rb +1 -1
  120. data/generated/google/apis/compute_beta/classes.rb +819 -236
  121. data/generated/google/apis/compute_beta/representations.rb +245 -16
  122. data/generated/google/apis/compute_beta/service.rb +3369 -2227
  123. data/generated/google/apis/compute_v1.rb +1 -1
  124. data/generated/google/apis/compute_v1/classes.rb +837 -133
  125. data/generated/google/apis/compute_v1/representations.rb +307 -0
  126. data/generated/google/apis/compute_v1/service.rb +3155 -2026
  127. data/generated/google/apis/container_v1.rb +1 -1
  128. data/generated/google/apis/container_v1/classes.rb +42 -22
  129. data/generated/google/apis/container_v1/service.rb +2 -2
  130. data/generated/google/apis/container_v1beta1.rb +1 -1
  131. data/generated/google/apis/container_v1beta1/classes.rb +116 -136
  132. data/generated/google/apis/container_v1beta1/representations.rb +23 -51
  133. data/generated/google/apis/container_v1beta1/service.rb +2 -2
  134. data/generated/google/apis/content_v2.rb +1 -1
  135. data/generated/google/apis/content_v2/classes.rb +1030 -113
  136. data/generated/google/apis/content_v2_1.rb +1 -1
  137. data/generated/google/apis/content_v2_1/classes.rb +987 -138
  138. data/generated/google/apis/content_v2_1/representations.rb +87 -0
  139. data/generated/google/apis/content_v2_1/service.rb +73 -0
  140. data/generated/google/apis/customsearch_v1.rb +3 -3
  141. data/generated/google/apis/customsearch_v1/classes.rb +1194 -353
  142. data/generated/google/apis/customsearch_v1/representations.rb +166 -95
  143. data/generated/google/apis/customsearch_v1/service.rb +373 -104
  144. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  145. data/generated/google/apis/datacatalog_v1beta1/classes.rb +2 -2
  146. data/generated/google/apis/datacatalog_v1beta1/service.rb +16 -24
  147. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  148. data/generated/google/apis/dataflow_v1b3/classes.rb +220 -0
  149. data/generated/google/apis/dataflow_v1b3/representations.rb +99 -0
  150. data/generated/google/apis/dataflow_v1b3/service.rb +327 -0
  151. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  152. data/generated/google/apis/datafusion_v1beta1/classes.rb +27 -1
  153. data/generated/google/apis/datafusion_v1beta1/representations.rb +15 -0
  154. data/generated/google/apis/dataproc_v1.rb +1 -1
  155. data/generated/google/apis/dataproc_v1/classes.rb +76 -7
  156. data/generated/google/apis/dataproc_v1/representations.rb +21 -0
  157. data/generated/google/apis/dataproc_v1/service.rb +72 -15
  158. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  159. data/generated/google/apis/dataproc_v1beta2/classes.rb +191 -7
  160. data/generated/google/apis/dataproc_v1beta2/representations.rb +79 -0
  161. data/generated/google/apis/dataproc_v1beta2/service.rb +148 -15
  162. data/generated/google/apis/dfareporting_v3_3.rb +1 -1
  163. data/generated/google/apis/dfareporting_v3_3/classes.rb +19 -13
  164. data/generated/google/apis/dfareporting_v3_3/service.rb +5 -4
  165. data/generated/google/apis/dfareporting_v3_4.rb +1 -1
  166. data/generated/google/apis/dfareporting_v3_4/classes.rb +152 -15
  167. data/generated/google/apis/dfareporting_v3_4/representations.rb +46 -0
  168. data/generated/google/apis/dfareporting_v3_4/service.rb +5 -4
  169. data/generated/google/apis/dialogflow_v2.rb +1 -1
  170. data/generated/google/apis/dialogflow_v2/classes.rb +130 -127
  171. data/generated/google/apis/dialogflow_v2/service.rb +49 -49
  172. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  173. data/generated/google/apis/dialogflow_v2beta1/classes.rb +129 -126
  174. data/generated/google/apis/dialogflow_v2beta1/service.rb +96 -96
  175. data/generated/google/apis/dlp_v2.rb +1 -1
  176. data/generated/google/apis/dlp_v2/classes.rb +80 -14
  177. data/generated/google/apis/dlp_v2/representations.rb +32 -0
  178. data/generated/google/apis/dlp_v2/service.rb +3 -0
  179. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  180. data/generated/google/apis/doubleclickbidmanager_v1_1/service.rb +9 -2
  181. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  182. data/generated/google/apis/doubleclicksearch_v2/service.rb +0 -55
  183. data/generated/google/apis/drive_v2.rb +1 -1
  184. data/generated/google/apis/drive_v2/classes.rb +54 -2
  185. data/generated/google/apis/drive_v2/representations.rb +18 -0
  186. data/generated/google/apis/drive_v2/service.rb +81 -9
  187. data/generated/google/apis/drive_v3.rb +1 -1
  188. data/generated/google/apis/drive_v3/classes.rb +54 -2
  189. data/generated/google/apis/drive_v3/representations.rb +18 -0
  190. data/generated/google/apis/drive_v3/service.rb +37 -4
  191. data/generated/google/apis/file_v1.rb +1 -1
  192. data/generated/google/apis/file_v1beta1.rb +1 -1
  193. data/generated/google/apis/file_v1beta1/classes.rb +2 -2
  194. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  195. data/generated/google/apis/firebase_v1beta1/service.rb +8 -5
  196. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  197. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +6 -6
  198. data/generated/google/apis/firebasehosting_v1beta1/service.rb +762 -3
  199. data/generated/google/apis/firestore_v1.rb +1 -1
  200. data/generated/google/apis/firestore_v1/classes.rb +11 -2
  201. data/generated/google/apis/firestore_v1/representations.rb +2 -0
  202. data/generated/google/apis/firestore_v1/service.rb +2 -2
  203. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  204. data/generated/google/apis/firestore_v1beta1/classes.rb +11 -2
  205. data/generated/google/apis/firestore_v1beta1/representations.rb +2 -0
  206. data/generated/google/apis/firestore_v1beta1/service.rb +2 -2
  207. data/generated/google/apis/games_configuration_v1configuration.rb +4 -3
  208. data/generated/google/apis/games_configuration_v1configuration/classes.rb +39 -53
  209. data/generated/google/apis/games_configuration_v1configuration/service.rb +58 -169
  210. data/generated/google/apis/games_management_v1management.rb +1 -1
  211. data/generated/google/apis/games_management_v1management/classes.rb +7 -0
  212. data/generated/google/apis/games_management_v1management/representations.rb +1 -0
  213. data/generated/google/apis/games_v1.rb +1 -1
  214. data/generated/google/apis/games_v1/classes.rb +13 -0
  215. data/generated/google/apis/games_v1/representations.rb +2 -0
  216. data/generated/google/apis/{proximitybeacon_v1beta1.rb → gameservices_v1beta.rb} +11 -11
  217. data/generated/google/apis/gameservices_v1beta/classes.rb +2342 -0
  218. data/generated/google/apis/gameservices_v1beta/representations.rb +971 -0
  219. data/generated/google/apis/gameservices_v1beta/service.rb +1469 -0
  220. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  221. data/generated/google/apis/genomics_v2alpha1/service.rb +34 -0
  222. data/generated/google/apis/gmail_v1.rb +3 -2
  223. data/generated/google/apis/gmail_v1/classes.rb +258 -199
  224. data/generated/google/apis/gmail_v1/service.rb +552 -744
  225. data/generated/google/apis/{mirror_v1.rb → healthcare_v1.rb} +10 -13
  226. data/generated/google/apis/healthcare_v1/classes.rb +2639 -0
  227. data/generated/google/apis/healthcare_v1/representations.rb +1114 -0
  228. data/generated/google/apis/healthcare_v1/service.rb +3470 -0
  229. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  230. data/generated/google/apis/healthcare_v1beta1/classes.rb +569 -23
  231. data/generated/google/apis/healthcare_v1beta1/representations.rb +236 -1
  232. data/generated/google/apis/healthcare_v1beta1/service.rb +147 -18
  233. data/generated/google/apis/homegraph_v1.rb +1 -1
  234. data/generated/google/apis/homegraph_v1/classes.rb +67 -63
  235. data/generated/google/apis/homegraph_v1/service.rb +43 -47
  236. data/generated/google/apis/iap_v1.rb +1 -1
  237. data/generated/google/apis/iap_v1/classes.rb +190 -0
  238. data/generated/google/apis/iap_v1/representations.rb +66 -0
  239. data/generated/google/apis/jobs_v2.rb +1 -1
  240. data/generated/google/apis/language_v1.rb +1 -1
  241. data/generated/google/apis/language_v1/classes.rb +6 -6
  242. data/generated/google/apis/language_v1beta1.rb +1 -1
  243. data/generated/google/apis/language_v1beta1/classes.rb +5 -5
  244. data/generated/google/apis/language_v1beta2.rb +1 -1
  245. data/generated/google/apis/language_v1beta2/classes.rb +8 -7
  246. data/generated/google/apis/logging_v2.rb +3 -3
  247. data/generated/google/apis/logging_v2/classes.rb +3 -4
  248. data/generated/google/apis/logging_v2/service.rb +2 -2
  249. data/generated/google/apis/managedidentities_v1.rb +1 -1
  250. data/generated/google/apis/managedidentities_v1/classes.rb +54 -145
  251. data/generated/google/apis/managedidentities_v1/representations.rb +17 -33
  252. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  253. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +54 -145
  254. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +17 -33
  255. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  256. data/generated/google/apis/managedidentities_v1beta1/classes.rb +54 -145
  257. data/generated/google/apis/managedidentities_v1beta1/representations.rb +17 -33
  258. data/generated/google/apis/manufacturers_v1.rb +1 -1
  259. data/generated/google/apis/manufacturers_v1/classes.rb +3 -3
  260. data/generated/google/apis/manufacturers_v1/representations.rb +1 -1
  261. data/generated/google/apis/memcache_v1beta2.rb +35 -0
  262. data/generated/google/apis/{cloudprivatecatalogproducer_v1beta1 → memcache_v1beta2}/classes.rb +1083 -761
  263. data/generated/google/apis/memcache_v1beta2/representations.rb +557 -0
  264. data/generated/google/apis/memcache_v1beta2/service.rb +674 -0
  265. data/generated/google/apis/ml_v1.rb +1 -1
  266. data/generated/google/apis/ml_v1/classes.rb +47 -7
  267. data/generated/google/apis/ml_v1/representations.rb +4 -0
  268. data/generated/google/apis/monitoring_v1.rb +7 -8
  269. data/generated/google/apis/monitoring_v1/classes.rb +54 -15
  270. data/generated/google/apis/monitoring_v1/representations.rb +3 -0
  271. data/generated/google/apis/monitoring_v1/service.rb +7 -8
  272. data/generated/google/apis/monitoring_v3.rb +7 -8
  273. data/generated/google/apis/monitoring_v3/classes.rb +300 -27
  274. data/generated/google/apis/monitoring_v3/representations.rb +128 -0
  275. data/generated/google/apis/monitoring_v3/service.rb +52 -17
  276. data/generated/google/apis/oauth2_v2.rb +4 -4
  277. data/generated/google/apis/oauth2_v2/classes.rb +1 -13
  278. data/generated/google/apis/oauth2_v2/representations.rb +2 -4
  279. data/generated/google/apis/oauth2_v2/service.rb +10 -12
  280. data/generated/google/apis/osconfig_v1.rb +35 -0
  281. data/generated/google/apis/osconfig_v1/classes.rb +1223 -0
  282. data/generated/google/apis/osconfig_v1/representations.rb +506 -0
  283. data/generated/google/apis/osconfig_v1/service.rb +386 -0
  284. data/generated/google/apis/osconfig_v1beta.rb +1 -1
  285. data/generated/google/apis/osconfig_v1beta/classes.rb +10 -2
  286. data/generated/google/apis/people_v1.rb +1 -1
  287. data/generated/google/apis/people_v1/classes.rb +30 -12
  288. data/generated/google/apis/people_v1/representations.rb +1 -0
  289. data/generated/google/apis/people_v1/service.rb +12 -24
  290. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  291. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +4 -3
  292. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +282 -0
  293. data/generated/google/apis/pubsub_v1.rb +1 -1
  294. data/generated/google/apis/pubsub_v1/classes.rb +9 -5
  295. data/generated/google/apis/pubsub_v1/service.rb +1 -1
  296. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  297. data/generated/google/apis/pubsub_v1beta2/classes.rb +5 -2
  298. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  299. data/generated/google/apis/recommender_v1beta1/classes.rb +1 -4
  300. data/generated/google/apis/redis_v1.rb +1 -1
  301. data/generated/google/apis/redis_v1/classes.rb +30 -7
  302. data/generated/google/apis/redis_v1/representations.rb +13 -0
  303. data/generated/google/apis/redis_v1/service.rb +36 -0
  304. data/generated/google/apis/redis_v1beta1.rb +1 -1
  305. data/generated/google/apis/redis_v1beta1/classes.rb +11 -7
  306. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  307. data/generated/google/apis/remotebuildexecution_v1/classes.rb +171 -37
  308. data/generated/google/apis/remotebuildexecution_v1/representations.rb +28 -0
  309. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  310. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +171 -37
  311. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +28 -0
  312. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  313. data/generated/google/apis/remotebuildexecution_v2/classes.rb +181 -45
  314. data/generated/google/apis/remotebuildexecution_v2/representations.rb +29 -0
  315. data/generated/google/apis/remotebuildexecution_v2/service.rb +5 -1
  316. data/generated/google/apis/run_v1.rb +1 -1
  317. data/generated/google/apis/run_v1/classes.rb +6 -13
  318. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  319. data/generated/google/apis/sasportal_v1alpha1/classes.rb +4 -3
  320. data/generated/google/apis/sasportal_v1alpha1/service.rb +282 -0
  321. data/generated/google/apis/secretmanager_v1.rb +2 -2
  322. data/generated/google/apis/secretmanager_v1/service.rb +4 -1
  323. data/generated/google/apis/secretmanager_v1beta1.rb +2 -2
  324. data/generated/google/apis/secretmanager_v1beta1/service.rb +4 -1
  325. data/generated/google/apis/securitycenter_v1.rb +4 -4
  326. data/generated/google/apis/securitycenter_v1/classes.rb +142 -114
  327. data/generated/google/apis/securitycenter_v1/service.rb +11 -3
  328. data/generated/google/apis/securitycenter_v1beta1.rb +4 -4
  329. data/generated/google/apis/securitycenter_v1beta1/classes.rb +137 -123
  330. data/generated/google/apis/securitycenter_v1beta1/service.rb +3 -3
  331. data/generated/google/apis/securitycenter_v1p1alpha1.rb +4 -4
  332. data/generated/google/apis/securitycenter_v1p1alpha1/classes.rb +87 -75
  333. data/generated/google/apis/securitycenter_v1p1alpha1/service.rb +3 -3
  334. data/generated/google/apis/securitycenter_v1p1beta1.rb +4 -4
  335. data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +117 -95
  336. data/generated/google/apis/securitycenter_v1p1beta1/service.rb +11 -3
  337. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  338. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +41 -6
  339. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +1 -0
  340. data/generated/google/apis/{cloudprivatecatalogproducer_v1beta1.rb → serviceconsumermanagement_v1beta1.rb} +8 -9
  341. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +4170 -0
  342. data/generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb +1308 -0
  343. data/generated/google/apis/serviceconsumermanagement_v1beta1/service.rb +428 -0
  344. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  345. data/generated/google/apis/servicecontrol_v1/classes.rb +2 -2
  346. data/generated/google/apis/{cloudprivatecatalog_v1beta1.rb → servicedirectory_v1beta1.rb} +9 -9
  347. data/generated/google/apis/servicedirectory_v1beta1/classes.rb +800 -0
  348. data/generated/google/apis/servicedirectory_v1beta1/representations.rb +304 -0
  349. data/generated/google/apis/servicedirectory_v1beta1/service.rb +992 -0
  350. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  351. data/generated/google/apis/servicemanagement_v1/classes.rb +41 -6
  352. data/generated/google/apis/servicemanagement_v1/representations.rb +1 -0
  353. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  354. data/generated/google/apis/servicenetworking_v1/classes.rb +179 -6
  355. data/generated/google/apis/servicenetworking_v1/representations.rb +72 -0
  356. data/generated/google/apis/servicenetworking_v1/service.rb +53 -21
  357. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  358. data/generated/google/apis/servicenetworking_v1beta/classes.rb +149 -6
  359. data/generated/google/apis/servicenetworking_v1beta/representations.rb +57 -0
  360. data/generated/google/apis/serviceusage_v1.rb +1 -1
  361. data/generated/google/apis/serviceusage_v1/classes.rb +116 -6
  362. data/generated/google/apis/serviceusage_v1/representations.rb +45 -0
  363. data/generated/google/apis/serviceusage_v1/service.rb +42 -0
  364. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  365. data/generated/google/apis/serviceusage_v1beta1/classes.rb +97 -32
  366. data/generated/google/apis/serviceusage_v1beta1/representations.rb +31 -15
  367. data/generated/google/apis/serviceusage_v1beta1/service.rb +0 -43
  368. data/generated/google/apis/sheets_v4.rb +1 -1
  369. data/generated/google/apis/sheets_v4/classes.rb +2 -2
  370. data/generated/google/apis/spanner_v1.rb +1 -1
  371. data/generated/google/apis/spanner_v1/classes.rb +463 -1
  372. data/generated/google/apis/spanner_v1/representations.rb +178 -0
  373. data/generated/google/apis/spanner_v1/service.rb +498 -10
  374. data/generated/google/apis/speech_v1.rb +1 -1
  375. data/generated/google/apis/speech_v1/classes.rb +7 -3
  376. data/generated/google/apis/speech_v1/representations.rb +1 -0
  377. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  378. data/generated/google/apis/speech_v1p1beta1/classes.rb +7 -3
  379. data/generated/google/apis/speech_v1p1beta1/representations.rb +1 -0
  380. data/generated/google/apis/speech_v2beta1.rb +1 -1
  381. data/generated/google/apis/speech_v2beta1/classes.rb +7 -0
  382. data/generated/google/apis/speech_v2beta1/representations.rb +1 -0
  383. data/generated/google/apis/sql_v1beta4.rb +1 -1
  384. data/generated/google/apis/sql_v1beta4/classes.rb +3 -3
  385. data/generated/google/apis/sql_v1beta4/service.rb +54 -384
  386. data/generated/google/apis/storage_v1.rb +1 -1
  387. data/generated/google/apis/storage_v1/classes.rb +18 -0
  388. data/generated/google/apis/storage_v1/representations.rb +2 -0
  389. data/generated/google/apis/storage_v1/service.rb +28 -3
  390. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  391. data/generated/google/apis/storagetransfer_v1/classes.rb +194 -11
  392. data/generated/google/apis/storagetransfer_v1/representations.rb +52 -0
  393. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  394. data/generated/google/apis/toolresults_v1beta3/classes.rb +217 -0
  395. data/generated/google/apis/toolresults_v1beta3/representations.rb +84 -0
  396. data/generated/google/apis/toolresults_v1beta3/service.rb +76 -29
  397. data/generated/google/apis/vault_v1.rb +1 -1
  398. data/generated/google/apis/videointelligence_v1.rb +1 -1
  399. data/generated/google/apis/videointelligence_v1/classes.rb +744 -4
  400. data/generated/google/apis/videointelligence_v1/representations.rb +356 -0
  401. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  402. data/generated/google/apis/videointelligence_v1beta2/classes.rb +744 -4
  403. data/generated/google/apis/videointelligence_v1beta2/representations.rb +356 -0
  404. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  405. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +744 -4
  406. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +356 -0
  407. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  408. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +744 -4
  409. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +356 -0
  410. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  411. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +744 -4
  412. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +356 -0
  413. data/generated/google/apis/vision_v1.rb +1 -1
  414. data/generated/google/apis/vision_v1/classes.rb +1 -1
  415. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  416. data/generated/google/apis/vision_v1p1beta1/classes.rb +1 -1
  417. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  418. data/generated/google/apis/vision_v1p2beta1/classes.rb +1 -1
  419. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  420. data/generated/google/apis/youtube_v3.rb +4 -1
  421. data/generated/google/apis/youtube_v3/classes.rb +7 -0
  422. data/generated/google/apis/youtube_v3/representations.rb +1 -0
  423. data/lib/google/apis/generator/annotator.rb +1 -1
  424. data/lib/google/apis/version.rb +1 -1
  425. metadata +32 -23
  426. data/generated/google/apis/cloudprivatecatalog_v1beta1/classes.rb +0 -358
  427. data/generated/google/apis/cloudprivatecatalog_v1beta1/representations.rb +0 -123
  428. data/generated/google/apis/cloudprivatecatalog_v1beta1/service.rb +0 -486
  429. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/representations.rb +0 -399
  430. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/service.rb +0 -1081
  431. data/generated/google/apis/mirror_v1/classes.rb +0 -1072
  432. data/generated/google/apis/mirror_v1/representations.rb +0 -390
  433. data/generated/google/apis/mirror_v1/service.rb +0 -928
  434. data/generated/google/apis/oauth2_v1.rb +0 -40
  435. data/generated/google/apis/oauth2_v1/classes.rb +0 -197
  436. data/generated/google/apis/oauth2_v1/representations.rb +0 -73
  437. data/generated/google/apis/oauth2_v1/service.rb +0 -160
  438. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +0 -845
  439. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +0 -350
  440. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +0 -933
@@ -12,26 +12,23 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- require 'google/apis/mirror_v1/service.rb'
16
- require 'google/apis/mirror_v1/classes.rb'
17
- require 'google/apis/mirror_v1/representations.rb'
15
+ require 'google/apis/healthcare_v1/service.rb'
16
+ require 'google/apis/healthcare_v1/classes.rb'
17
+ require 'google/apis/healthcare_v1/representations.rb'
18
18
 
19
19
  module Google
20
20
  module Apis
21
- # Google Mirror API
21
+ # Cloud Healthcare API
22
22
  #
23
- # Interacts with Glass users via the timeline.
23
+ # Manage, store, and access healthcare data in Google Cloud Platform.
24
24
  #
25
- # @see https://developers.google.com/glass
26
- module MirrorV1
25
+ # @see https://cloud.google.com/healthcare
26
+ module HealthcareV1
27
27
  VERSION = 'V1'
28
- REVISION = '20180611'
28
+ REVISION = '20200327'
29
29
 
30
- # View your location
31
- AUTH_GLASS_LOCATION = 'https://www.googleapis.com/auth/glass.location'
32
-
33
- # View and manage your Glass timeline
34
- AUTH_GLASS_TIMELINE = 'https://www.googleapis.com/auth/glass.timeline'
30
+ # View and manage your data across Google Cloud Platform services
31
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
35
32
  end
36
33
  end
37
34
  end
@@ -0,0 +1,2639 @@
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 HealthcareV1
24
+
25
+ # Specifies the audit configuration for a service.
26
+ # The configuration determines which permission types are logged, and what
27
+ # identities, if any, are exempted from logging.
28
+ # An AuditConfig must have one or more AuditLogConfigs.
29
+ # If there are AuditConfigs for both `allServices` and a specific service,
30
+ # the union of the two AuditConfigs is used for that service: the log_types
31
+ # specified in each AuditConfig are enabled, and the exempted_members in each
32
+ # AuditLogConfig are exempted.
33
+ # Example Policy with multiple AuditConfigs:
34
+ # `
35
+ # "audit_configs": [
36
+ # `
37
+ # "service": "allServices"
38
+ # "audit_log_configs": [
39
+ # `
40
+ # "log_type": "DATA_READ",
41
+ # "exempted_members": [
42
+ # "user:jose@example.com"
43
+ # ]
44
+ # `,
45
+ # `
46
+ # "log_type": "DATA_WRITE",
47
+ # `,
48
+ # `
49
+ # "log_type": "ADMIN_READ",
50
+ # `
51
+ # ]
52
+ # `,
53
+ # `
54
+ # "service": "sampleservice.googleapis.com"
55
+ # "audit_log_configs": [
56
+ # `
57
+ # "log_type": "DATA_READ",
58
+ # `,
59
+ # `
60
+ # "log_type": "DATA_WRITE",
61
+ # "exempted_members": [
62
+ # "user:aliya@example.com"
63
+ # ]
64
+ # `
65
+ # ]
66
+ # `
67
+ # ]
68
+ # `
69
+ # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
70
+ # logging. It also exempts jose@example.com from DATA_READ logging, and
71
+ # aliya@example.com from DATA_WRITE logging.
72
+ class AuditConfig
73
+ include Google::Apis::Core::Hashable
74
+
75
+ # The configuration for logging of each type of permission.
76
+ # Corresponds to the JSON property `auditLogConfigs`
77
+ # @return [Array<Google::Apis::HealthcareV1::AuditLogConfig>]
78
+ attr_accessor :audit_log_configs
79
+
80
+ # Specifies a service that will be enabled for audit logging.
81
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
82
+ # `allServices` is a special value that covers all services.
83
+ # Corresponds to the JSON property `service`
84
+ # @return [String]
85
+ attr_accessor :service
86
+
87
+ def initialize(**args)
88
+ update!(**args)
89
+ end
90
+
91
+ # Update properties of this object
92
+ def update!(**args)
93
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
94
+ @service = args[:service] if args.key?(:service)
95
+ end
96
+ end
97
+
98
+ # Provides the configuration for logging a type of permissions.
99
+ # Example:
100
+ # `
101
+ # "audit_log_configs": [
102
+ # `
103
+ # "log_type": "DATA_READ",
104
+ # "exempted_members": [
105
+ # "user:jose@example.com"
106
+ # ]
107
+ # `,
108
+ # `
109
+ # "log_type": "DATA_WRITE",
110
+ # `
111
+ # ]
112
+ # `
113
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
114
+ # jose@example.com from DATA_READ logging.
115
+ class AuditLogConfig
116
+ include Google::Apis::Core::Hashable
117
+
118
+ # Specifies the identities that do not cause logging for this type of
119
+ # permission.
120
+ # Follows the same format of Binding.members.
121
+ # Corresponds to the JSON property `exemptedMembers`
122
+ # @return [Array<String>]
123
+ attr_accessor :exempted_members
124
+
125
+ # The log type that this config enables.
126
+ # Corresponds to the JSON property `logType`
127
+ # @return [String]
128
+ attr_accessor :log_type
129
+
130
+ def initialize(**args)
131
+ update!(**args)
132
+ end
133
+
134
+ # Update properties of this object
135
+ def update!(**args)
136
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
137
+ @log_type = args[:log_type] if args.key?(:log_type)
138
+ end
139
+ end
140
+
141
+ # Associates `members` with a `role`.
142
+ class Binding
143
+ include Google::Apis::Core::Hashable
144
+
145
+ # Represents a textual expression in the Common Expression Language (CEL)
146
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
147
+ # are documented at https://github.com/google/cel-spec.
148
+ # Example (Comparison):
149
+ # title: "Summary size limit"
150
+ # description: "Determines if a summary is less than 100 chars"
151
+ # expression: "document.summary.size() < 100"
152
+ # Example (Equality):
153
+ # title: "Requestor is owner"
154
+ # description: "Determines if requestor is the document owner"
155
+ # expression: "document.owner == request.auth.claims.email"
156
+ # Example (Logic):
157
+ # title: "Public documents"
158
+ # description: "Determine whether the document should be publicly visible"
159
+ # expression: "document.type != 'private' && document.type != 'internal'"
160
+ # Example (Data Manipulation):
161
+ # title: "Notification string"
162
+ # description: "Create a notification string with a timestamp."
163
+ # expression: "'New message received at ' + string(document.create_time)"
164
+ # The exact variables and functions that may be referenced within an expression
165
+ # are determined by the service that evaluates it. See the service
166
+ # documentation for additional information.
167
+ # Corresponds to the JSON property `condition`
168
+ # @return [Google::Apis::HealthcareV1::Expr]
169
+ attr_accessor :condition
170
+
171
+ # Specifies the identities requesting access for a Cloud Platform resource.
172
+ # `members` can have the following values:
173
+ # * `allUsers`: A special identifier that represents anyone who is
174
+ # on the internet; with or without a Google account.
175
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
176
+ # who is authenticated with a Google account or a service account.
177
+ # * `user:`emailid``: An email address that represents a specific Google
178
+ # account. For example, `alice@example.com` .
179
+ # * `serviceAccount:`emailid``: An email address that represents a service
180
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
181
+ # * `group:`emailid``: An email address that represents a Google group.
182
+ # For example, `admins@example.com`.
183
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
184
+ # identifier) representing a user that has been recently deleted. For
185
+ # example, `alice@example.com?uid=123456789012345678901`. If the user is
186
+ # recovered, this value reverts to `user:`emailid`` and the recovered user
187
+ # retains the role in the binding.
188
+ # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
189
+ # unique identifier) representing a service account that has been recently
190
+ # deleted. For example,
191
+ # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
192
+ # If the service account is undeleted, this value reverts to
193
+ # `serviceAccount:`emailid`` and the undeleted service account retains the
194
+ # role in the binding.
195
+ # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
196
+ # identifier) representing a Google group that has been recently
197
+ # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
198
+ # the group is recovered, this value reverts to `group:`emailid`` and the
199
+ # recovered group retains the role in the binding.
200
+ # * `domain:`domain``: The G Suite domain (primary) that represents all the
201
+ # users of that domain. For example, `google.com` or `example.com`.
202
+ # Corresponds to the JSON property `members`
203
+ # @return [Array<String>]
204
+ attr_accessor :members
205
+
206
+ # Role that is assigned to `members`.
207
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
208
+ # Corresponds to the JSON property `role`
209
+ # @return [String]
210
+ attr_accessor :role
211
+
212
+ def initialize(**args)
213
+ update!(**args)
214
+ end
215
+
216
+ # Update properties of this object
217
+ def update!(**args)
218
+ @condition = args[:condition] if args.key?(:condition)
219
+ @members = args[:members] if args.key?(:members)
220
+ @role = args[:role] if args.key?(:role)
221
+ end
222
+ end
223
+
224
+ # The request message for Operations.CancelOperation.
225
+ class CancelOperationRequest
226
+ include Google::Apis::Core::Hashable
227
+
228
+ def initialize(**args)
229
+ update!(**args)
230
+ end
231
+
232
+ # Update properties of this object
233
+ def update!(**args)
234
+ end
235
+ end
236
+
237
+ # Mask a string by replacing its characters with a fixed character.
238
+ class CharacterMaskConfig
239
+ include Google::Apis::Core::Hashable
240
+
241
+ # Character to mask the sensitive values. If not supplied, defaults to "*".
242
+ # Corresponds to the JSON property `maskingCharacter`
243
+ # @return [String]
244
+ attr_accessor :masking_character
245
+
246
+ def initialize(**args)
247
+ update!(**args)
248
+ end
249
+
250
+ # Update properties of this object
251
+ def update!(**args)
252
+ @masking_character = args[:masking_character] if args.key?(:masking_character)
253
+ end
254
+ end
255
+
256
+ # Creates a new message.
257
+ class CreateMessageRequest
258
+ include Google::Apis::Core::Hashable
259
+
260
+ # A complete HL7v2 message.
261
+ # See http://www.hl7.org/implement/standards/index.cfm?ref=common for details
262
+ # on the standard.
263
+ # Corresponds to the JSON property `message`
264
+ # @return [Google::Apis::HealthcareV1::Message]
265
+ attr_accessor :message
266
+
267
+ def initialize(**args)
268
+ update!(**args)
269
+ end
270
+
271
+ # Update properties of this object
272
+ def update!(**args)
273
+ @message = args[:message] if args.key?(:message)
274
+ end
275
+ end
276
+
277
+ # Pseudonymization method that generates surrogates via cryptographic hashing.
278
+ # Uses SHA-256.
279
+ # Outputs a base64-encoded representation of the hashed output
280
+ # (for example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`).
281
+ class CryptoHashConfig
282
+ include Google::Apis::Core::Hashable
283
+
284
+ # An AES 128/192/256 bit key. Causes the hash to be computed based on this
285
+ # key. A default key is generated for each Deidentify operation and is used
286
+ # wherever crypto_key is not specified.
287
+ # Corresponds to the JSON property `cryptoKey`
288
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
289
+ # @return [String]
290
+ attr_accessor :crypto_key
291
+
292
+ def initialize(**args)
293
+ update!(**args)
294
+ end
295
+
296
+ # Update properties of this object
297
+ def update!(**args)
298
+ @crypto_key = args[:crypto_key] if args.key?(:crypto_key)
299
+ end
300
+ end
301
+
302
+ # A message representing a health dataset.
303
+ # A health dataset represents a collection of healthcare data pertaining to one
304
+ # or more patients. This may include multiple modalities of healthcare data,
305
+ # such as electronic medical records or medical imaging data.
306
+ class Dataset
307
+ include Google::Apis::Core::Hashable
308
+
309
+ # Output only. Resource name of the dataset, of the form
310
+ # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id``.
311
+ # Corresponds to the JSON property `name`
312
+ # @return [String]
313
+ attr_accessor :name
314
+
315
+ # The default timezone used by this dataset. Must be a either a valid IANA
316
+ # time zone name such as "America/New_York" or empty, which defaults to UTC.
317
+ # This is used for parsing times in resources, such as HL7 messages, where no
318
+ # explicit timezone is specified.
319
+ # Corresponds to the JSON property `timeZone`
320
+ # @return [String]
321
+ attr_accessor :time_zone
322
+
323
+ def initialize(**args)
324
+ update!(**args)
325
+ end
326
+
327
+ # Update properties of this object
328
+ def update!(**args)
329
+ @name = args[:name] if args.key?(:name)
330
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
331
+ end
332
+ end
333
+
334
+ # Shift a date forward or backward in time by a random amount which is
335
+ # consistent for a given patient and crypto key combination.
336
+ class DateShiftConfig
337
+ include Google::Apis::Core::Hashable
338
+
339
+ # An AES 128/192/256 bit key. Causes the shift to be computed based on this
340
+ # key and the patient ID. A default key is generated for each
341
+ # Deidentify operation and is used wherever crypto_key is not specified.
342
+ # Corresponds to the JSON property `cryptoKey`
343
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
344
+ # @return [String]
345
+ attr_accessor :crypto_key
346
+
347
+ def initialize(**args)
348
+ update!(**args)
349
+ end
350
+
351
+ # Update properties of this object
352
+ def update!(**args)
353
+ @crypto_key = args[:crypto_key] if args.key?(:crypto_key)
354
+ end
355
+ end
356
+
357
+ # Configures de-id options specific to different types of content.
358
+ # Each submessage customizes the handling of an
359
+ # https://tools.ietf.org/html/rfc6838 media type or subtype. Configs are
360
+ # applied in a nested manner at runtime.
361
+ class DeidentifyConfig
362
+ include Google::Apis::Core::Hashable
363
+
364
+ # Specifies the parameters needed for de-identification of DICOM stores.
365
+ # Corresponds to the JSON property `dicom`
366
+ # @return [Google::Apis::HealthcareV1::DicomConfig]
367
+ attr_accessor :dicom
368
+
369
+ # Specifies how to handle de-identification of a FHIR store.
370
+ # Corresponds to the JSON property `fhir`
371
+ # @return [Google::Apis::HealthcareV1::FhirConfig]
372
+ attr_accessor :fhir
373
+
374
+ # Specifies how to handle de-identification of image pixels.
375
+ # Corresponds to the JSON property `image`
376
+ # @return [Google::Apis::HealthcareV1::ImageConfig]
377
+ attr_accessor :image
378
+
379
+ # Configures de-identification of text wherever it is found in the
380
+ # source_dataset.
381
+ # Corresponds to the JSON property `text`
382
+ # @return [Google::Apis::HealthcareV1::TextConfig]
383
+ attr_accessor :text
384
+
385
+ def initialize(**args)
386
+ update!(**args)
387
+ end
388
+
389
+ # Update properties of this object
390
+ def update!(**args)
391
+ @dicom = args[:dicom] if args.key?(:dicom)
392
+ @fhir = args[:fhir] if args.key?(:fhir)
393
+ @image = args[:image] if args.key?(:image)
394
+ @text = args[:text] if args.key?(:text)
395
+ end
396
+ end
397
+
398
+ # Redacts identifying information from the specified dataset.
399
+ class DeidentifyDatasetRequest
400
+ include Google::Apis::Core::Hashable
401
+
402
+ # Configures de-id options specific to different types of content.
403
+ # Each submessage customizes the handling of an
404
+ # https://tools.ietf.org/html/rfc6838 media type or subtype. Configs are
405
+ # applied in a nested manner at runtime.
406
+ # Corresponds to the JSON property `config`
407
+ # @return [Google::Apis::HealthcareV1::DeidentifyConfig]
408
+ attr_accessor :config
409
+
410
+ # The name of the dataset resource to create and write the redacted data to.
411
+ # * The destination dataset must not exist.
412
+ # * The destination dataset must be in the same project and location as the
413
+ # source dataset. De-identifying data across multiple projects or locations
414
+ # is not supported.
415
+ # Corresponds to the JSON property `destinationDataset`
416
+ # @return [String]
417
+ attr_accessor :destination_dataset
418
+
419
+ def initialize(**args)
420
+ update!(**args)
421
+ end
422
+
423
+ # Update properties of this object
424
+ def update!(**args)
425
+ @config = args[:config] if args.key?(:config)
426
+ @destination_dataset = args[:destination_dataset] if args.key?(:destination_dataset)
427
+ end
428
+ end
429
+
430
+ # Creates a new DICOM store with sensitive information de-identified.
431
+ class DeidentifyDicomStoreRequest
432
+ include Google::Apis::Core::Hashable
433
+
434
+ # Configures de-id options specific to different types of content.
435
+ # Each submessage customizes the handling of an
436
+ # https://tools.ietf.org/html/rfc6838 media type or subtype. Configs are
437
+ # applied in a nested manner at runtime.
438
+ # Corresponds to the JSON property `config`
439
+ # @return [Google::Apis::HealthcareV1::DeidentifyConfig]
440
+ attr_accessor :config
441
+
442
+ # The name of the DICOM store to create and write the redacted data to.
443
+ # For example,
444
+ # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/
445
+ # dicomStores/`dicom_store_id``.
446
+ # * The destination dataset must exist.
447
+ # * The source dataset and destination dataset must both reside in the same
448
+ # project. De-identifying data across multiple projects is not supported.
449
+ # * The destination DICOM store must not exist.
450
+ # * The caller must have the necessary permissions to create the destination
451
+ # DICOM store.
452
+ # Corresponds to the JSON property `destinationStore`
453
+ # @return [String]
454
+ attr_accessor :destination_store
455
+
456
+ # Specifies the filter configuration for DICOM resources.
457
+ # Corresponds to the JSON property `filterConfig`
458
+ # @return [Google::Apis::HealthcareV1::DicomFilterConfig]
459
+ attr_accessor :filter_config
460
+
461
+ def initialize(**args)
462
+ update!(**args)
463
+ end
464
+
465
+ # Update properties of this object
466
+ def update!(**args)
467
+ @config = args[:config] if args.key?(:config)
468
+ @destination_store = args[:destination_store] if args.key?(:destination_store)
469
+ @filter_config = args[:filter_config] if args.key?(:filter_config)
470
+ end
471
+ end
472
+
473
+ # Creates a new FHIR store with sensitive information de-identified.
474
+ class DeidentifyFhirStoreRequest
475
+ include Google::Apis::Core::Hashable
476
+
477
+ # Configures de-id options specific to different types of content.
478
+ # Each submessage customizes the handling of an
479
+ # https://tools.ietf.org/html/rfc6838 media type or subtype. Configs are
480
+ # applied in a nested manner at runtime.
481
+ # Corresponds to the JSON property `config`
482
+ # @return [Google::Apis::HealthcareV1::DeidentifyConfig]
483
+ attr_accessor :config
484
+
485
+ # The name of the FHIR store to create and write the redacted data to.
486
+ # For example,
487
+ # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/
488
+ # fhirStores/`fhir_store_id``.
489
+ # * The destination dataset must exist.
490
+ # * The source dataset and destination dataset must both reside in the same
491
+ # project. De-identifying data across multiple projects is not supported.
492
+ # * The destination FHIR store must exist.
493
+ # * The caller must have the healthcare.fhirResources.update permission to
494
+ # write to the destination FHIR store.
495
+ # Corresponds to the JSON property `destinationStore`
496
+ # @return [String]
497
+ attr_accessor :destination_store
498
+
499
+ # Filter configuration.
500
+ # Corresponds to the JSON property `resourceFilter`
501
+ # @return [Google::Apis::HealthcareV1::FhirFilter]
502
+ attr_accessor :resource_filter
503
+
504
+ def initialize(**args)
505
+ update!(**args)
506
+ end
507
+
508
+ # Update properties of this object
509
+ def update!(**args)
510
+ @config = args[:config] if args.key?(:config)
511
+ @destination_store = args[:destination_store] if args.key?(:destination_store)
512
+ @resource_filter = args[:resource_filter] if args.key?(:resource_filter)
513
+ end
514
+ end
515
+
516
+ # Contains a summary of the Deidentify operation.
517
+ class DeidentifySummary
518
+ include Google::Apis::Core::Hashable
519
+
520
+ def initialize(**args)
521
+ update!(**args)
522
+ end
523
+
524
+ # Update properties of this object
525
+ def update!(**args)
526
+ end
527
+ end
528
+
529
+ # Specifies the parameters needed for de-identification of DICOM stores.
530
+ class DicomConfig
531
+ include Google::Apis::Core::Hashable
532
+
533
+ # Tag filtering profile that determines which tags to keep/remove.
534
+ # Corresponds to the JSON property `filterProfile`
535
+ # @return [String]
536
+ attr_accessor :filter_profile
537
+
538
+ # List of tags to be filtered.
539
+ # Corresponds to the JSON property `keepList`
540
+ # @return [Google::Apis::HealthcareV1::TagFilterList]
541
+ attr_accessor :keep_list
542
+
543
+ # List of tags to be filtered.
544
+ # Corresponds to the JSON property `removeList`
545
+ # @return [Google::Apis::HealthcareV1::TagFilterList]
546
+ attr_accessor :remove_list
547
+
548
+ # If true, skip replacing StudyInstanceUID, SeriesInstanceUID,
549
+ # SOPInstanceUID, and MediaStorageSOPInstanceUID and leave them untouched.
550
+ # The Cloud Healthcare API regenerates these UIDs by default based on the
551
+ # DICOM Standard's reasoning: "Whilst these UIDs cannot be mapped directly
552
+ # to an individual out of context, given access to the original images, or
553
+ # to a database of the original images containing the UIDs, it would be
554
+ # possible to recover the individual's identity."
555
+ # http://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.
556
+ # html
557
+ # Corresponds to the JSON property `skipIdRedaction`
558
+ # @return [Boolean]
559
+ attr_accessor :skip_id_redaction
560
+ alias_method :skip_id_redaction?, :skip_id_redaction
561
+
562
+ def initialize(**args)
563
+ update!(**args)
564
+ end
565
+
566
+ # Update properties of this object
567
+ def update!(**args)
568
+ @filter_profile = args[:filter_profile] if args.key?(:filter_profile)
569
+ @keep_list = args[:keep_list] if args.key?(:keep_list)
570
+ @remove_list = args[:remove_list] if args.key?(:remove_list)
571
+ @skip_id_redaction = args[:skip_id_redaction] if args.key?(:skip_id_redaction)
572
+ end
573
+ end
574
+
575
+ # Specifies the filter configuration for DICOM resources.
576
+ class DicomFilterConfig
577
+ include Google::Apis::Core::Hashable
578
+
579
+ # The Cloud Storage location of the filter configuration file.
580
+ # The `gcs_uri` must be in the format `gs://bucket/path/to/object`.
581
+ # The filter configuration file must contain a list of resource paths
582
+ # separated by newline characters (\n or \r\n). Each resource path
583
+ # must be in the format
584
+ # "/studies/`studyUID`[/series/`seriesUID`[/instances/`instanceUID`]]"
585
+ # The Cloud Healthcare API service account must have the
586
+ # `roles/storage.objectViewer` Cloud IAM role for this Cloud Storage
587
+ # location.
588
+ # Corresponds to the JSON property `resourcePathsGcsUri`
589
+ # @return [String]
590
+ attr_accessor :resource_paths_gcs_uri
591
+
592
+ def initialize(**args)
593
+ update!(**args)
594
+ end
595
+
596
+ # Update properties of this object
597
+ def update!(**args)
598
+ @resource_paths_gcs_uri = args[:resource_paths_gcs_uri] if args.key?(:resource_paths_gcs_uri)
599
+ end
600
+ end
601
+
602
+ # Represents a DICOM store.
603
+ class DicomStore
604
+ include Google::Apis::Core::Hashable
605
+
606
+ # User-supplied key-value pairs used to organize DICOM stores.
607
+ # Label keys must be between 1 and 63 characters long, have a UTF-8 encoding
608
+ # of maximum 128 bytes, and must conform to the
609
+ # following PCRE regular expression:
610
+ # \p`Ll`\p`Lo``0,62`
611
+ # Label values are optional, must be between 1 and 63 characters long, have
612
+ # a UTF-8 encoding of maximum 128 bytes, and must conform to the
613
+ # following PCRE regular expression: [\p`Ll`\p`Lo`\p`N`_-]`0,63`
614
+ # No more than 64 labels can be associated with a given store.
615
+ # Corresponds to the JSON property `labels`
616
+ # @return [Hash<String,String>]
617
+ attr_accessor :labels
618
+
619
+ # Output only. Resource name of the DICOM store, of the form
620
+ # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/
621
+ # dicomStores/`dicom_store_id``.
622
+ # Corresponds to the JSON property `name`
623
+ # @return [String]
624
+ attr_accessor :name
625
+
626
+ # Specifies where to send notifications upon changes to a data store.
627
+ # Corresponds to the JSON property `notificationConfig`
628
+ # @return [Google::Apis::HealthcareV1::NotificationConfig]
629
+ attr_accessor :notification_config
630
+
631
+ def initialize(**args)
632
+ update!(**args)
633
+ end
634
+
635
+ # Update properties of this object
636
+ def update!(**args)
637
+ @labels = args[:labels] if args.key?(:labels)
638
+ @name = args[:name] if args.key?(:name)
639
+ @notification_config = args[:notification_config] if args.key?(:notification_config)
640
+ end
641
+ end
642
+
643
+ # A generic empty message that you can re-use to avoid defining duplicated
644
+ # empty messages in your APIs. A typical example is to use it as the request
645
+ # or the response type of an API method. For instance:
646
+ # service Foo `
647
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
648
+ # `
649
+ # The JSON representation for `Empty` is empty JSON object ````.
650
+ class Empty
651
+ include Google::Apis::Core::Hashable
652
+
653
+ def initialize(**args)
654
+ update!(**args)
655
+ end
656
+
657
+ # Update properties of this object
658
+ def update!(**args)
659
+ end
660
+ end
661
+
662
+ # Exports data from the specified DICOM store.
663
+ # If a given resource, such as a DICOM object with the same SOPInstance UID,
664
+ # already exists in the output, it is overwritten with the version
665
+ # in the source dataset.
666
+ # Exported DICOM data persists when the DICOM store from which it was
667
+ # exported is deleted.
668
+ class ExportDicomDataRequest
669
+ include Google::Apis::Core::Hashable
670
+
671
+ # The BigQuery table where the server writes the output.
672
+ # Corresponds to the JSON property `bigqueryDestination`
673
+ # @return [Google::Apis::HealthcareV1::GoogleCloudHealthcareV1DicomBigQueryDestination]
674
+ attr_accessor :bigquery_destination
675
+
676
+ # The Cloud Storage location where the server writes the output and the export
677
+ # configuration.
678
+ # Corresponds to the JSON property `gcsDestination`
679
+ # @return [Google::Apis::HealthcareV1::GoogleCloudHealthcareV1DicomGcsDestination]
680
+ attr_accessor :gcs_destination
681
+
682
+ def initialize(**args)
683
+ update!(**args)
684
+ end
685
+
686
+ # Update properties of this object
687
+ def update!(**args)
688
+ @bigquery_destination = args[:bigquery_destination] if args.key?(:bigquery_destination)
689
+ @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
690
+ end
691
+ end
692
+
693
+ # Returns additional information in regards to a completed DICOM store export.
694
+ class ExportDicomDataResponse
695
+ include Google::Apis::Core::Hashable
696
+
697
+ def initialize(**args)
698
+ update!(**args)
699
+ end
700
+
701
+ # Update properties of this object
702
+ def update!(**args)
703
+ end
704
+ end
705
+
706
+ # Request to export resources.
707
+ class ExportResourcesRequest
708
+ include Google::Apis::Core::Hashable
709
+
710
+ # The configuration for exporting to BigQuery.
711
+ # Corresponds to the JSON property `bigqueryDestination`
712
+ # @return [Google::Apis::HealthcareV1::GoogleCloudHealthcareV1FhirBigQueryDestination]
713
+ attr_accessor :bigquery_destination
714
+
715
+ # The configuration for exporting to Cloud Storage.
716
+ # Corresponds to the JSON property `gcsDestination`
717
+ # @return [Google::Apis::HealthcareV1::GoogleCloudHealthcareV1FhirGcsDestination]
718
+ attr_accessor :gcs_destination
719
+
720
+ def initialize(**args)
721
+ update!(**args)
722
+ end
723
+
724
+ # Update properties of this object
725
+ def update!(**args)
726
+ @bigquery_destination = args[:bigquery_destination] if args.key?(:bigquery_destination)
727
+ @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
728
+ end
729
+ end
730
+
731
+ # Response when all resources export successfully.
732
+ # This structure will be included in the
733
+ # response to describe the detailed
734
+ # outcome. It will only be included when the operation finishes successfully.
735
+ class ExportResourcesResponse
736
+ include Google::Apis::Core::Hashable
737
+
738
+ def initialize(**args)
739
+ update!(**args)
740
+ end
741
+
742
+ # Update properties of this object
743
+ def update!(**args)
744
+ end
745
+ end
746
+
747
+ # Represents a textual expression in the Common Expression Language (CEL)
748
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
749
+ # are documented at https://github.com/google/cel-spec.
750
+ # Example (Comparison):
751
+ # title: "Summary size limit"
752
+ # description: "Determines if a summary is less than 100 chars"
753
+ # expression: "document.summary.size() < 100"
754
+ # Example (Equality):
755
+ # title: "Requestor is owner"
756
+ # description: "Determines if requestor is the document owner"
757
+ # expression: "document.owner == request.auth.claims.email"
758
+ # Example (Logic):
759
+ # title: "Public documents"
760
+ # description: "Determine whether the document should be publicly visible"
761
+ # expression: "document.type != 'private' && document.type != 'internal'"
762
+ # Example (Data Manipulation):
763
+ # title: "Notification string"
764
+ # description: "Create a notification string with a timestamp."
765
+ # expression: "'New message received at ' + string(document.create_time)"
766
+ # The exact variables and functions that may be referenced within an expression
767
+ # are determined by the service that evaluates it. See the service
768
+ # documentation for additional information.
769
+ class Expr
770
+ include Google::Apis::Core::Hashable
771
+
772
+ # Optional. Description of the expression. This is a longer text which
773
+ # describes the expression, e.g. when hovered over it in a UI.
774
+ # Corresponds to the JSON property `description`
775
+ # @return [String]
776
+ attr_accessor :description
777
+
778
+ # Textual representation of an expression in Common Expression Language
779
+ # syntax.
780
+ # Corresponds to the JSON property `expression`
781
+ # @return [String]
782
+ attr_accessor :expression
783
+
784
+ # Optional. String indicating the location of the expression for error
785
+ # reporting, e.g. a file name and a position in the file.
786
+ # Corresponds to the JSON property `location`
787
+ # @return [String]
788
+ attr_accessor :location
789
+
790
+ # Optional. Title for the expression, i.e. a short string describing
791
+ # its purpose. This can be used e.g. in UIs which allow to enter the
792
+ # expression.
793
+ # Corresponds to the JSON property `title`
794
+ # @return [String]
795
+ attr_accessor :title
796
+
797
+ def initialize(**args)
798
+ update!(**args)
799
+ end
800
+
801
+ # Update properties of this object
802
+ def update!(**args)
803
+ @description = args[:description] if args.key?(:description)
804
+ @expression = args[:expression] if args.key?(:expression)
805
+ @location = args[:location] if args.key?(:location)
806
+ @title = args[:title] if args.key?(:title)
807
+ end
808
+ end
809
+
810
+ # Specifies how to handle de-identification of a FHIR store.
811
+ class FhirConfig
812
+ include Google::Apis::Core::Hashable
813
+
814
+ # Specifies FHIR paths to match and how to transform them. Any field that
815
+ # is not matched by a FieldMetadata is passed through to the output
816
+ # dataset unmodified. All extensions are removed in the output.
817
+ # Corresponds to the JSON property `fieldMetadataList`
818
+ # @return [Array<Google::Apis::HealthcareV1::FieldMetadata>]
819
+ attr_accessor :field_metadata_list
820
+
821
+ def initialize(**args)
822
+ update!(**args)
823
+ end
824
+
825
+ # Update properties of this object
826
+ def update!(**args)
827
+ @field_metadata_list = args[:field_metadata_list] if args.key?(:field_metadata_list)
828
+ end
829
+ end
830
+
831
+ # Filter configuration.
832
+ class FhirFilter
833
+ include Google::Apis::Core::Hashable
834
+
835
+ # A list of FHIR resources.
836
+ # Corresponds to the JSON property `resources`
837
+ # @return [Google::Apis::HealthcareV1::Resources]
838
+ attr_accessor :resources
839
+
840
+ def initialize(**args)
841
+ update!(**args)
842
+ end
843
+
844
+ # Update properties of this object
845
+ def update!(**args)
846
+ @resources = args[:resources] if args.key?(:resources)
847
+ end
848
+ end
849
+
850
+ # Represents a FHIR store.
851
+ class FhirStore
852
+ include Google::Apis::Core::Hashable
853
+
854
+ # Whether to disable referential integrity in this FHIR store. This field is
855
+ # immutable after FHIR store creation.
856
+ # The default value is false, meaning that the API enforces referential
857
+ # integrity and fails the requests that result in inconsistent state in
858
+ # the FHIR store.
859
+ # When this field is set to true, the API skips referential integrity
860
+ # checks. Consequently, operations that rely on references, such as
861
+ # GetPatientEverything, do not return all the results if broken references
862
+ # exist.
863
+ # Corresponds to the JSON property `disableReferentialIntegrity`
864
+ # @return [Boolean]
865
+ attr_accessor :disable_referential_integrity
866
+ alias_method :disable_referential_integrity?, :disable_referential_integrity
867
+
868
+ # Whether to disable resource versioning for this FHIR store. This field can
869
+ # not be changed after the creation of FHIR store.
870
+ # If set to false, which is the default behavior, all write operations
871
+ # cause historical versions to be recorded automatically. The historical
872
+ # versions can be fetched through the history APIs, but cannot be updated.
873
+ # If set to true, no historical versions are kept. The server sends
874
+ # errors for attempts to read the historical versions.
875
+ # Corresponds to the JSON property `disableResourceVersioning`
876
+ # @return [Boolean]
877
+ attr_accessor :disable_resource_versioning
878
+ alias_method :disable_resource_versioning?, :disable_resource_versioning
879
+
880
+ # Whether this FHIR store has the [updateCreate
881
+ # capability](https://www.hl7.org/fhir/capabilitystatement-definitions.html#
882
+ # CapabilityStatement.rest.resource.updateCreate).
883
+ # This determines if the client can use an Update operation to create a new
884
+ # resource with a client-specified ID. If false, all IDs are server-assigned
885
+ # through the Create operation and attempts to update a non-existent resource
886
+ # return errors. Please treat the audit logs with appropriate levels of
887
+ # care if client-specified resource IDs contain sensitive data such as
888
+ # patient identifiers, those IDs are part of the FHIR resource path
889
+ # recorded in Cloud audit logs and Cloud Pub/Sub notifications.
890
+ # Corresponds to the JSON property `enableUpdateCreate`
891
+ # @return [Boolean]
892
+ attr_accessor :enable_update_create
893
+ alias_method :enable_update_create?, :enable_update_create
894
+
895
+ # User-supplied key-value pairs used to organize FHIR stores.
896
+ # Label keys must be between 1 and 63 characters long, have a UTF-8 encoding
897
+ # of maximum 128 bytes, and must conform to the
898
+ # following PCRE regular expression:
899
+ # \p`Ll`\p`Lo``0,62`
900
+ # Label values are optional, must be between 1 and 63 characters long, have
901
+ # a UTF-8 encoding of maximum 128 bytes, and must conform to the
902
+ # following PCRE regular expression: [\p`Ll`\p`Lo`\p`N`_-]`0,63`
903
+ # No more than 64 labels can be associated with a given store.
904
+ # Corresponds to the JSON property `labels`
905
+ # @return [Hash<String,String>]
906
+ attr_accessor :labels
907
+
908
+ # Output only. Resource name of the FHIR store, of the form
909
+ # `projects/`project_id`/datasets/`dataset_id`/fhirStores/`fhir_store_id``.
910
+ # Corresponds to the JSON property `name`
911
+ # @return [String]
912
+ attr_accessor :name
913
+
914
+ # Specifies where to send notifications upon changes to a data store.
915
+ # Corresponds to the JSON property `notificationConfig`
916
+ # @return [Google::Apis::HealthcareV1::NotificationConfig]
917
+ attr_accessor :notification_config
918
+
919
+ # A list of streaming configs that configure the destinations of streaming
920
+ # export for every resource mutation in this FHIR store. Each store is
921
+ # allowed to have up to 10 streaming configs.
922
+ # After a new config is added, the next resource mutation is streamed to
923
+ # the new location in addition to the existing ones.
924
+ # When a location is removed from the list, the server stops
925
+ # streaming to that location. Before adding a new config, you must add the
926
+ # required
927
+ # [`bigquery.dataEditor`](https://cloud.google.com/bigquery/docs/access-control#
928
+ # bigquery.dataEditor)
929
+ # role to your project's **Cloud Healthcare Service Agent**
930
+ # [service account](https://cloud.google.com/iam/docs/service-accounts).
931
+ # Some lag (typically on the order of dozens of seconds) is expected before
932
+ # the results show up in the streaming destination.
933
+ # Corresponds to the JSON property `streamConfigs`
934
+ # @return [Array<Google::Apis::HealthcareV1::StreamConfig>]
935
+ attr_accessor :stream_configs
936
+
937
+ # The FHIR specification version that this FHIR store supports natively. This
938
+ # field is immutable after store creation. Requests are rejected if they
939
+ # contain FHIR resources of a different version.
940
+ # An empty value is treated as STU3.
941
+ # Corresponds to the JSON property `version`
942
+ # @return [String]
943
+ attr_accessor :version
944
+
945
+ def initialize(**args)
946
+ update!(**args)
947
+ end
948
+
949
+ # Update properties of this object
950
+ def update!(**args)
951
+ @disable_referential_integrity = args[:disable_referential_integrity] if args.key?(:disable_referential_integrity)
952
+ @disable_resource_versioning = args[:disable_resource_versioning] if args.key?(:disable_resource_versioning)
953
+ @enable_update_create = args[:enable_update_create] if args.key?(:enable_update_create)
954
+ @labels = args[:labels] if args.key?(:labels)
955
+ @name = args[:name] if args.key?(:name)
956
+ @notification_config = args[:notification_config] if args.key?(:notification_config)
957
+ @stream_configs = args[:stream_configs] if args.key?(:stream_configs)
958
+ @version = args[:version] if args.key?(:version)
959
+ end
960
+ end
961
+
962
+ # Specifies FHIR paths to match, and how to handle de-identification of
963
+ # matching fields.
964
+ class FieldMetadata
965
+ include Google::Apis::Core::Hashable
966
+
967
+ # Deidentify action for one field.
968
+ # Corresponds to the JSON property `action`
969
+ # @return [String]
970
+ attr_accessor :action
971
+
972
+ # List of paths to FHIR fields to be redacted. Each path is a
973
+ # period-separated list where each component is either a field name or
974
+ # FHIR type name, for example: Patient, HumanName.
975
+ # For "choice" types (those defined in the FHIR spec with the form:
976
+ # field[x]) we use two separate components. For example,
977
+ # "deceasedAge.unit" is matched by "Deceased.Age.unit".
978
+ # Supported types are: AdministrativeGenderCode, Code, Date, DateTime,
979
+ # Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid,
980
+ # Xhtml.
981
+ # Corresponds to the JSON property `paths`
982
+ # @return [Array<String>]
983
+ attr_accessor :paths
984
+
985
+ def initialize(**args)
986
+ update!(**args)
987
+ end
988
+
989
+ # Update properties of this object
990
+ def update!(**args)
991
+ @action = args[:action] if args.key?(:action)
992
+ @paths = args[:paths] if args.key?(:paths)
993
+ end
994
+ end
995
+
996
+ # Contains a summary of the DeidentifyDicomStore operation.
997
+ class GoogleCloudHealthcareV1DeidentifyDeidentifyDicomStoreSummary
998
+ include Google::Apis::Core::Hashable
999
+
1000
+ def initialize(**args)
1001
+ update!(**args)
1002
+ end
1003
+
1004
+ # Update properties of this object
1005
+ def update!(**args)
1006
+ end
1007
+ end
1008
+
1009
+ # Contains a summary of the DeidentifyFhirStore operation.
1010
+ class GoogleCloudHealthcareV1DeidentifyDeidentifyFhirStoreSummary
1011
+ include Google::Apis::Core::Hashable
1012
+
1013
+ def initialize(**args)
1014
+ update!(**args)
1015
+ end
1016
+
1017
+ # Update properties of this object
1018
+ def update!(**args)
1019
+ end
1020
+ end
1021
+
1022
+ # The BigQuery table where the server writes the output.
1023
+ class GoogleCloudHealthcareV1DicomBigQueryDestination
1024
+ include Google::Apis::Core::Hashable
1025
+
1026
+ # If the destination table already exists and this flag is `TRUE`, the table
1027
+ # is overwritten by the contents of the DICOM store. If the flag is not
1028
+ # set and the destination table already exists, the export call returns an
1029
+ # error.
1030
+ # Corresponds to the JSON property `force`
1031
+ # @return [Boolean]
1032
+ attr_accessor :force
1033
+ alias_method :force?, :force
1034
+
1035
+ # BigQuery URI to a table, up to 2000 characters long, in the format
1036
+ # `bq://projectId.bqDatasetId.tableId`
1037
+ # Corresponds to the JSON property `tableUri`
1038
+ # @return [String]
1039
+ attr_accessor :table_uri
1040
+
1041
+ def initialize(**args)
1042
+ update!(**args)
1043
+ end
1044
+
1045
+ # Update properties of this object
1046
+ def update!(**args)
1047
+ @force = args[:force] if args.key?(:force)
1048
+ @table_uri = args[:table_uri] if args.key?(:table_uri)
1049
+ end
1050
+ end
1051
+
1052
+ # The Cloud Storage location where the server writes the output and the export
1053
+ # configuration.
1054
+ class GoogleCloudHealthcareV1DicomGcsDestination
1055
+ include Google::Apis::Core::Hashable
1056
+
1057
+ # MIME types supported by DICOM spec.
1058
+ # Each file is written in the following format:
1059
+ # `.../`study_id`/`series_id`/`instance_id`[/`frame_number`].`extension``
1060
+ # The frame_number component exists only for multi-frame instances.
1061
+ # Supported MIME types are consistent with supported formats in DICOMweb:
1062
+ # https://cloud.google.com/healthcare/docs/dicom#retrieve_transaction.
1063
+ # Specifically, the following are supported:
1064
+ # - application/dicom; transfer-syntax=1.2.840.10008.1.2.1
1065
+ # (uncompressed DICOM)
1066
+ # - application/dicom; transfer-syntax=1.2.840.10008.1.2.4.50
1067
+ # (DICOM with embedded JPEG Baseline)
1068
+ # - application/dicom; transfer-syntax=1.2.840.10008.1.2.4.90
1069
+ # (DICOM with embedded JPEG 2000 Lossless Only)
1070
+ # - application/dicom; transfer-syntax=1.2.840.10008.1.2.4.91
1071
+ # (DICOM with embedded JPEG 2000)
1072
+ # - application/dicom; transfer-syntax=*
1073
+ # (DICOM with no transcoding)
1074
+ # - application/octet-stream; transfer-syntax=1.2.840.10008.1.2.1
1075
+ # (raw uncompressed PixelData)
1076
+ # - application/octet-stream; transfer-syntax=*
1077
+ # (raw PixelData in whatever format it was uploaded in)
1078
+ # - image/jpeg; transfer-syntax=1.2.840.10008.1.2.4.50
1079
+ # (Consumer JPEG)
1080
+ # - image/png
1081
+ # The following extensions are used for output files:
1082
+ # - application/dicom -> .dcm
1083
+ # - image/jpeg -> .jpg
1084
+ # - image/png -> .png
1085
+ # - application/octet-stream -> no extension
1086
+ # If unspecified, the instances are exported in the original
1087
+ # DICOM format they were uploaded in.
1088
+ # Corresponds to the JSON property `mimeType`
1089
+ # @return [String]
1090
+ attr_accessor :mime_type
1091
+
1092
+ # The Cloud Storage destination to export to.
1093
+ # URI for a Cloud Storage directory where the server writes the result files,
1094
+ # in the format `gs://`bucket-id`/`path/to/destination/dir``). If there is no
1095
+ # trailing slash, the service appends one when composing the object path.
1096
+ # The user is responsible for creating the Cloud Storage bucket referenced in
1097
+ # `uri_prefix`.
1098
+ # Corresponds to the JSON property `uriPrefix`
1099
+ # @return [String]
1100
+ attr_accessor :uri_prefix
1101
+
1102
+ def initialize(**args)
1103
+ update!(**args)
1104
+ end
1105
+
1106
+ # Update properties of this object
1107
+ def update!(**args)
1108
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
1109
+ @uri_prefix = args[:uri_prefix] if args.key?(:uri_prefix)
1110
+ end
1111
+ end
1112
+
1113
+ # Specifies the configuration for importing data from Cloud Storage.
1114
+ class GoogleCloudHealthcareV1DicomGcsSource
1115
+ include Google::Apis::Core::Hashable
1116
+
1117
+ # Points to a Cloud Storage URI containing file(s) with
1118
+ # content only. The URI must be in the following format:
1119
+ # `gs://`bucket_id`/`object_id``. The URI can include wildcards in
1120
+ # `object_id` and thus identify multiple files. Supported wildcards:
1121
+ # '*' to match 0 or more non-separator characters
1122
+ # '**' to match 0 or more characters (including separators). Must be used at
1123
+ # the end of a path and with no other wildcards in the
1124
+ # path. Can also be used with a file extension (such as .dcm), which
1125
+ # imports all files with the extension in the specified directory and
1126
+ # its sub-directories. For example,
1127
+ # `gs://my-bucket/my-directory/**.dcm` imports all files with .dcm
1128
+ # extensions in `my-directory/` and its sub-directories.
1129
+ # '?' to match 1 character
1130
+ # All other URI formats are invalid.
1131
+ # Files matching the wildcard are expected to contain content only, no
1132
+ # metadata.
1133
+ # Corresponds to the JSON property `uri`
1134
+ # @return [String]
1135
+ attr_accessor :uri
1136
+
1137
+ def initialize(**args)
1138
+ update!(**args)
1139
+ end
1140
+
1141
+ # Update properties of this object
1142
+ def update!(**args)
1143
+ @uri = args[:uri] if args.key?(:uri)
1144
+ end
1145
+ end
1146
+
1147
+ # The configuration for exporting to BigQuery.
1148
+ class GoogleCloudHealthcareV1FhirBigQueryDestination
1149
+ include Google::Apis::Core::Hashable
1150
+
1151
+ # BigQuery URI to a dataset, up to 2000 characters long, in the format
1152
+ # `bq://projectId.bqDatasetId`
1153
+ # Corresponds to the JSON property `datasetUri`
1154
+ # @return [String]
1155
+ attr_accessor :dataset_uri
1156
+
1157
+ # If this flag is `TRUE`, all tables will be deleted from the dataset before
1158
+ # the new exported tables are written. If the flag is not set and the
1159
+ # destination dataset contains tables, the export call returns an error.
1160
+ # Corresponds to the JSON property `force`
1161
+ # @return [Boolean]
1162
+ attr_accessor :force
1163
+ alias_method :force?, :force
1164
+
1165
+ # Configuration for the FHIR BigQuery schema. Determines how the server
1166
+ # generates the schema.
1167
+ # Corresponds to the JSON property `schemaConfig`
1168
+ # @return [Google::Apis::HealthcareV1::SchemaConfig]
1169
+ attr_accessor :schema_config
1170
+
1171
+ def initialize(**args)
1172
+ update!(**args)
1173
+ end
1174
+
1175
+ # Update properties of this object
1176
+ def update!(**args)
1177
+ @dataset_uri = args[:dataset_uri] if args.key?(:dataset_uri)
1178
+ @force = args[:force] if args.key?(:force)
1179
+ @schema_config = args[:schema_config] if args.key?(:schema_config)
1180
+ end
1181
+ end
1182
+
1183
+ # The configuration for exporting to Cloud Storage.
1184
+ class GoogleCloudHealthcareV1FhirGcsDestination
1185
+ include Google::Apis::Core::Hashable
1186
+
1187
+ # URI for a Cloud Storage directory where result files should be written (in
1188
+ # the format `gs://`bucket-id`/`path/to/destination/dir``). If there is no
1189
+ # trailing slash, the service will append one when composing the object path.
1190
+ # The user is responsible for creating the Cloud Storage bucket referenced in
1191
+ # `uri_prefix`.
1192
+ # Corresponds to the JSON property `uriPrefix`
1193
+ # @return [String]
1194
+ attr_accessor :uri_prefix
1195
+
1196
+ def initialize(**args)
1197
+ update!(**args)
1198
+ end
1199
+
1200
+ # Update properties of this object
1201
+ def update!(**args)
1202
+ @uri_prefix = args[:uri_prefix] if args.key?(:uri_prefix)
1203
+ end
1204
+ end
1205
+
1206
+ # Specifies the configuration for importing data from Cloud Storage.
1207
+ class GoogleCloudHealthcareV1FhirGcsSource
1208
+ include Google::Apis::Core::Hashable
1209
+
1210
+ # Points to a Cloud Storage URI containing file(s) to import.
1211
+ # The URI must be in the following format: `gs://`bucket_id`/`object_id``.
1212
+ # The URI can include wildcards in `object_id` and thus identify multiple
1213
+ # files. Supported wildcards:
1214
+ # * `*` to match 0 or more non-separator characters
1215
+ # * `**` to match 0 or more characters (including separators). Must be used
1216
+ # at the end of a path and with no other wildcards in the
1217
+ # path. Can also be used with a file extension (such as .ndjson), which
1218
+ # imports all files with the extension in the specified directory and
1219
+ # its sub-directories. For example, `gs://my-bucket/my-directory/**.ndjson`
1220
+ # imports all files with `.ndjson` extensions in `my-directory/` and its
1221
+ # sub-directories.
1222
+ # * `?` to match 1 character
1223
+ # Files matching the wildcard are expected to contain content only, no
1224
+ # metadata.
1225
+ # Corresponds to the JSON property `uri`
1226
+ # @return [String]
1227
+ attr_accessor :uri
1228
+
1229
+ def initialize(**args)
1230
+ update!(**args)
1231
+ end
1232
+
1233
+ # Update properties of this object
1234
+ def update!(**args)
1235
+ @uri = args[:uri] if args.key?(:uri)
1236
+ end
1237
+ end
1238
+
1239
+ # Specifies where and whether to send notifications upon changes to a
1240
+ # data store.
1241
+ class Hl7V2NotificationConfig
1242
+ include Google::Apis::Core::Hashable
1243
+
1244
+ # Restricts notifications sent for messages matching a filter. If this is
1245
+ # empty, all messages are matched. Syntax:
1246
+ # https://cloud.google.com/appengine/docs/standard/python/search/query_strings
1247
+ # Fields/functions available for filtering are:
1248
+ # * `message_type`, from the MSH-9.1 field. For example,
1249
+ # `NOT message_type = "ADT"`.
1250
+ # * `send_date` or `sendDate`, the YYYY-MM-DD date the message was sent in
1251
+ # the dataset's time_zone, from the MSH-7 segment. For example,
1252
+ # `send_date < "2017-01-02"`.
1253
+ # * `send_time`, the timestamp when the message was sent, using the
1254
+ # RFC3339 time format for comparisons, from the MSH-7 segment. For example,
1255
+ # `send_time < "2017-01-02T00:00:00-05:00"`.
1256
+ # * `send_facility`, the care center that the message came from, from the
1257
+ # MSH-4 segment. For example, `send_facility = "ABC"`.
1258
+ # * `PatientId(value, type)`, which matches if the message lists a patient
1259
+ # having an ID of the given value and type in the PID-2, PID-3, or PID-4
1260
+ # segments. For example, `PatientId("123456", "MRN")`.
1261
+ # * `labels.x`, a string value of the label with key `x` as set using the
1262
+ # Message.labels
1263
+ # map. For example, `labels."priority"="high"`. The operator `:*` can be
1264
+ # used to assert the existence of a label. For example,
1265
+ # `labels."priority":*`.
1266
+ # Corresponds to the JSON property `filter`
1267
+ # @return [String]
1268
+ attr_accessor :filter
1269
+
1270
+ # The [Cloud Pubsub](https://cloud.google.com/pubsub/docs/) topic that
1271
+ # notifications of changes are published on. Supplied by the client. The
1272
+ # notification is a `PubsubMessage` with the following fields:
1273
+ # * `PubsubMessage.Data` contains the resource name.
1274
+ # * `PubsubMessage.MessageId` is the ID of this notification. It is
1275
+ # guaranteed to be unique within the topic.
1276
+ # * `PubsubMessage.PublishTime` is the time at which the message was
1277
+ # published.
1278
+ # Note that notifications are only sent if the topic is non-empty. [Topic
1279
+ # names](https://cloud.google.com/pubsub/docs/overview#names) must be
1280
+ # scoped to a project. cloud-healthcare@system.gserviceaccount.com must
1281
+ # have publisher permissions on the given Pubsub topic. Not having adequate
1282
+ # permissions causes the calls that send notifications to fail.
1283
+ # If a notification cannot be published to Cloud Pub/Sub, errors will be
1284
+ # logged to Stackdriver (see [Viewing logs](/healthcare/docs/how-
1285
+ # tos/stackdriver-logging)).
1286
+ # Corresponds to the JSON property `pubsubTopic`
1287
+ # @return [String]
1288
+ attr_accessor :pubsub_topic
1289
+
1290
+ def initialize(**args)
1291
+ update!(**args)
1292
+ end
1293
+
1294
+ # Update properties of this object
1295
+ def update!(**args)
1296
+ @filter = args[:filter] if args.key?(:filter)
1297
+ @pubsub_topic = args[:pubsub_topic] if args.key?(:pubsub_topic)
1298
+ end
1299
+ end
1300
+
1301
+ # Represents an HL7v2 store.
1302
+ class Hl7V2Store
1303
+ include Google::Apis::Core::Hashable
1304
+
1305
+ # User-supplied key-value pairs used to organize HL7v2 stores.
1306
+ # Label keys must be between 1 and 63 characters long, have a UTF-8 encoding
1307
+ # of maximum 128 bytes, and must conform to the
1308
+ # following PCRE regular expression:
1309
+ # \p`Ll`\p`Lo``0,62`
1310
+ # Label values are optional, must be between 1 and 63 characters long, have
1311
+ # a UTF-8 encoding of maximum 128 bytes, and must conform to the
1312
+ # following PCRE regular expression: [\p`Ll`\p`Lo`\p`N`_-]`0,63`
1313
+ # No more than 64 labels can be associated with a given store.
1314
+ # Corresponds to the JSON property `labels`
1315
+ # @return [Hash<String,String>]
1316
+ attr_accessor :labels
1317
+
1318
+ # Output only. Resource name of the HL7v2 store, of the form
1319
+ # `projects/`project_id`/datasets/`dataset_id`/hl7V2Stores/`hl7v2_store_id``.
1320
+ # Corresponds to the JSON property `name`
1321
+ # @return [String]
1322
+ attr_accessor :name
1323
+
1324
+ # A list of notification configs. Each configuration uses a filter to
1325
+ # determine whether to publish a message (both Ingest & Create) on
1326
+ # the corresponding notification destination. Only the message name is sent
1327
+ # as part of the notification. Supplied by the client.
1328
+ # Corresponds to the JSON property `notificationConfigs`
1329
+ # @return [Array<Google::Apis::HealthcareV1::Hl7V2NotificationConfig>]
1330
+ attr_accessor :notification_configs
1331
+
1332
+ # The configuration for the parser. It determines how the server parses the
1333
+ # messages.
1334
+ # Corresponds to the JSON property `parserConfig`
1335
+ # @return [Google::Apis::HealthcareV1::ParserConfig]
1336
+ attr_accessor :parser_config
1337
+
1338
+ # Determines whether duplicate messages should be rejected. A duplicate
1339
+ # message is a message with the same raw bytes as a message that has already
1340
+ # been ingested/created in this HL7v2 store.
1341
+ # The default value is false, meaning that the store accepts the duplicate
1342
+ # messages and it also returns the same ACK message in the
1343
+ # IngestMessageResponse as has been returned previously. Note that only
1344
+ # one resource is created in the store.
1345
+ # When this field is set to true,
1346
+ # CreateMessage/IngestMessage
1347
+ # requests with a duplicate message will be rejected by the store, and
1348
+ # IngestMessageErrorDetail returns a NACK message upon rejection.
1349
+ # Corresponds to the JSON property `rejectDuplicateMessage`
1350
+ # @return [Boolean]
1351
+ attr_accessor :reject_duplicate_message
1352
+ alias_method :reject_duplicate_message?, :reject_duplicate_message
1353
+
1354
+ def initialize(**args)
1355
+ update!(**args)
1356
+ end
1357
+
1358
+ # Update properties of this object
1359
+ def update!(**args)
1360
+ @labels = args[:labels] if args.key?(:labels)
1361
+ @name = args[:name] if args.key?(:name)
1362
+ @notification_configs = args[:notification_configs] if args.key?(:notification_configs)
1363
+ @parser_config = args[:parser_config] if args.key?(:parser_config)
1364
+ @reject_duplicate_message = args[:reject_duplicate_message] if args.key?(:reject_duplicate_message)
1365
+ end
1366
+ end
1367
+
1368
+ # Message that represents an arbitrary HTTP body. It should only be used for
1369
+ # payload formats that can't be represented as JSON, such as raw binary or
1370
+ # an HTML page.
1371
+ # This message can be used both in streaming and non-streaming API methods in
1372
+ # the request as well as the response.
1373
+ # It can be used as a top-level request field, which is convenient if one
1374
+ # wants to extract parameters from either the URL or HTTP template into the
1375
+ # request fields and also want access to the raw HTTP body.
1376
+ # Example:
1377
+ # message GetResourceRequest `
1378
+ # // A unique request id.
1379
+ # string request_id = 1;
1380
+ # // The raw HTTP body is bound to this field.
1381
+ # google.api.HttpBody http_body = 2;
1382
+ # `
1383
+ # service ResourceService `
1384
+ # rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
1385
+ # rpc UpdateResource(google.api.HttpBody) returns
1386
+ # (google.protobuf.Empty);
1387
+ # `
1388
+ # Example with streaming methods:
1389
+ # service CaldavService `
1390
+ # rpc GetCalendar(stream google.api.HttpBody)
1391
+ # returns (stream google.api.HttpBody);
1392
+ # rpc UpdateCalendar(stream google.api.HttpBody)
1393
+ # returns (stream google.api.HttpBody);
1394
+ # `
1395
+ # Use of this type only changes how the request and response bodies are
1396
+ # handled, all other features will continue to work unchanged.
1397
+ class HttpBody
1398
+ include Google::Apis::Core::Hashable
1399
+
1400
+ # The HTTP Content-Type header value specifying the content type of the body.
1401
+ # Corresponds to the JSON property `contentType`
1402
+ # @return [String]
1403
+ attr_accessor :content_type
1404
+
1405
+ # The HTTP request/response body as raw binary.
1406
+ # Corresponds to the JSON property `data`
1407
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1408
+ # @return [String]
1409
+ attr_accessor :data
1410
+
1411
+ # Application specific response metadata. Must be set in the first response
1412
+ # for streaming APIs.
1413
+ # Corresponds to the JSON property `extensions`
1414
+ # @return [Array<Hash<String,Object>>]
1415
+ attr_accessor :extensions
1416
+
1417
+ def initialize(**args)
1418
+ update!(**args)
1419
+ end
1420
+
1421
+ # Update properties of this object
1422
+ def update!(**args)
1423
+ @content_type = args[:content_type] if args.key?(:content_type)
1424
+ @data = args[:data] if args.key?(:data)
1425
+ @extensions = args[:extensions] if args.key?(:extensions)
1426
+ end
1427
+ end
1428
+
1429
+ # Specifies how to handle de-identification of image pixels.
1430
+ class ImageConfig
1431
+ include Google::Apis::Core::Hashable
1432
+
1433
+ # Determines how to redact text from image.
1434
+ # Corresponds to the JSON property `textRedactionMode`
1435
+ # @return [String]
1436
+ attr_accessor :text_redaction_mode
1437
+
1438
+ def initialize(**args)
1439
+ update!(**args)
1440
+ end
1441
+
1442
+ # Update properties of this object
1443
+ def update!(**args)
1444
+ @text_redaction_mode = args[:text_redaction_mode] if args.key?(:text_redaction_mode)
1445
+ end
1446
+ end
1447
+
1448
+ # Imports data into the specified DICOM store.
1449
+ # Returns an error if any of the files to import are not DICOM files. This
1450
+ # API accepts duplicate DICOM instances by ignoring the newly-pushed instance.
1451
+ # It does not overwrite.
1452
+ class ImportDicomDataRequest
1453
+ include Google::Apis::Core::Hashable
1454
+
1455
+ # Specifies the configuration for importing data from Cloud Storage.
1456
+ # Corresponds to the JSON property `gcsSource`
1457
+ # @return [Google::Apis::HealthcareV1::GoogleCloudHealthcareV1DicomGcsSource]
1458
+ attr_accessor :gcs_source
1459
+
1460
+ def initialize(**args)
1461
+ update!(**args)
1462
+ end
1463
+
1464
+ # Update properties of this object
1465
+ def update!(**args)
1466
+ @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
1467
+ end
1468
+ end
1469
+
1470
+ # Returns additional information in regards to a completed DICOM store import.
1471
+ class ImportDicomDataResponse
1472
+ include Google::Apis::Core::Hashable
1473
+
1474
+ def initialize(**args)
1475
+ update!(**args)
1476
+ end
1477
+
1478
+ # Update properties of this object
1479
+ def update!(**args)
1480
+ end
1481
+ end
1482
+
1483
+ # Request to import resources.
1484
+ class ImportResourcesRequest
1485
+ include Google::Apis::Core::Hashable
1486
+
1487
+ # The content structure in the source location. If not specified, the server
1488
+ # treats the input source files as BUNDLE.
1489
+ # Corresponds to the JSON property `contentStructure`
1490
+ # @return [String]
1491
+ attr_accessor :content_structure
1492
+
1493
+ # Specifies the configuration for importing data from Cloud Storage.
1494
+ # Corresponds to the JSON property `gcsSource`
1495
+ # @return [Google::Apis::HealthcareV1::GoogleCloudHealthcareV1FhirGcsSource]
1496
+ attr_accessor :gcs_source
1497
+
1498
+ def initialize(**args)
1499
+ update!(**args)
1500
+ end
1501
+
1502
+ # Update properties of this object
1503
+ def update!(**args)
1504
+ @content_structure = args[:content_structure] if args.key?(:content_structure)
1505
+ @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
1506
+ end
1507
+ end
1508
+
1509
+ # Final response of importing resources.
1510
+ # This structure will be included in the
1511
+ # response to describe the detailed
1512
+ # outcome. It will only be included when the operation finishes successfully.
1513
+ class ImportResourcesResponse
1514
+ include Google::Apis::Core::Hashable
1515
+
1516
+ def initialize(**args)
1517
+ update!(**args)
1518
+ end
1519
+
1520
+ # Update properties of this object
1521
+ def update!(**args)
1522
+ end
1523
+ end
1524
+
1525
+ # A transformation to apply to text that is identified as a specific
1526
+ # info_type.
1527
+ class InfoTypeTransformation
1528
+ include Google::Apis::Core::Hashable
1529
+
1530
+ # Mask a string by replacing its characters with a fixed character.
1531
+ # Corresponds to the JSON property `characterMaskConfig`
1532
+ # @return [Google::Apis::HealthcareV1::CharacterMaskConfig]
1533
+ attr_accessor :character_mask_config
1534
+
1535
+ # Pseudonymization method that generates surrogates via cryptographic hashing.
1536
+ # Uses SHA-256.
1537
+ # Outputs a base64-encoded representation of the hashed output
1538
+ # (for example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`).
1539
+ # Corresponds to the JSON property `cryptoHashConfig`
1540
+ # @return [Google::Apis::HealthcareV1::CryptoHashConfig]
1541
+ attr_accessor :crypto_hash_config
1542
+
1543
+ # Shift a date forward or backward in time by a random amount which is
1544
+ # consistent for a given patient and crypto key combination.
1545
+ # Corresponds to the JSON property `dateShiftConfig`
1546
+ # @return [Google::Apis::HealthcareV1::DateShiftConfig]
1547
+ attr_accessor :date_shift_config
1548
+
1549
+ # InfoTypes to apply this transformation to. If this is not specified, the
1550
+ # transformation applies to any info_type.
1551
+ # Corresponds to the JSON property `infoTypes`
1552
+ # @return [Array<String>]
1553
+ attr_accessor :info_types
1554
+
1555
+ # Define how to redact sensitive values. Default behaviour is erase.
1556
+ # For example, "My name is Jane." becomes "My name is ."
1557
+ # Corresponds to the JSON property `redactConfig`
1558
+ # @return [Google::Apis::HealthcareV1::RedactConfig]
1559
+ attr_accessor :redact_config
1560
+
1561
+ # When using the
1562
+ # INSPECT_AND_TRANSFORM
1563
+ # action, each match is replaced with the name of the info_type. For example,
1564
+ # "My name is Jane" becomes "My name is [PERSON_NAME]." The
1565
+ # TRANSFORM
1566
+ # action is equivalent to redacting.
1567
+ # Corresponds to the JSON property `replaceWithInfoTypeConfig`
1568
+ # @return [Google::Apis::HealthcareV1::ReplaceWithInfoTypeConfig]
1569
+ attr_accessor :replace_with_info_type_config
1570
+
1571
+ def initialize(**args)
1572
+ update!(**args)
1573
+ end
1574
+
1575
+ # Update properties of this object
1576
+ def update!(**args)
1577
+ @character_mask_config = args[:character_mask_config] if args.key?(:character_mask_config)
1578
+ @crypto_hash_config = args[:crypto_hash_config] if args.key?(:crypto_hash_config)
1579
+ @date_shift_config = args[:date_shift_config] if args.key?(:date_shift_config)
1580
+ @info_types = args[:info_types] if args.key?(:info_types)
1581
+ @redact_config = args[:redact_config] if args.key?(:redact_config)
1582
+ @replace_with_info_type_config = args[:replace_with_info_type_config] if args.key?(:replace_with_info_type_config)
1583
+ end
1584
+ end
1585
+
1586
+ # Ingests a message into the specified HL7v2 store.
1587
+ class IngestMessageRequest
1588
+ include Google::Apis::Core::Hashable
1589
+
1590
+ # A complete HL7v2 message.
1591
+ # See http://www.hl7.org/implement/standards/index.cfm?ref=common for details
1592
+ # on the standard.
1593
+ # Corresponds to the JSON property `message`
1594
+ # @return [Google::Apis::HealthcareV1::Message]
1595
+ attr_accessor :message
1596
+
1597
+ def initialize(**args)
1598
+ update!(**args)
1599
+ end
1600
+
1601
+ # Update properties of this object
1602
+ def update!(**args)
1603
+ @message = args[:message] if args.key?(:message)
1604
+ end
1605
+ end
1606
+
1607
+ # Acknowledges that a message has been ingested into the specified
1608
+ # HL7v2 store.
1609
+ class IngestMessageResponse
1610
+ include Google::Apis::Core::Hashable
1611
+
1612
+ # HL7v2 ACK message.
1613
+ # Corresponds to the JSON property `hl7Ack`
1614
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1615
+ # @return [String]
1616
+ attr_accessor :hl7_ack
1617
+
1618
+ # A complete HL7v2 message.
1619
+ # See http://www.hl7.org/implement/standards/index.cfm?ref=common for details
1620
+ # on the standard.
1621
+ # Corresponds to the JSON property `message`
1622
+ # @return [Google::Apis::HealthcareV1::Message]
1623
+ attr_accessor :message
1624
+
1625
+ def initialize(**args)
1626
+ update!(**args)
1627
+ end
1628
+
1629
+ # Update properties of this object
1630
+ def update!(**args)
1631
+ @hl7_ack = args[:hl7_ack] if args.key?(:hl7_ack)
1632
+ @message = args[:message] if args.key?(:message)
1633
+ end
1634
+ end
1635
+
1636
+ # Lists the available datasets.
1637
+ class ListDatasetsResponse
1638
+ include Google::Apis::Core::Hashable
1639
+
1640
+ # The first page of datasets.
1641
+ # Corresponds to the JSON property `datasets`
1642
+ # @return [Array<Google::Apis::HealthcareV1::Dataset>]
1643
+ attr_accessor :datasets
1644
+
1645
+ # Token to retrieve the next page of results, or empty if there are no
1646
+ # more results in the list.
1647
+ # Corresponds to the JSON property `nextPageToken`
1648
+ # @return [String]
1649
+ attr_accessor :next_page_token
1650
+
1651
+ def initialize(**args)
1652
+ update!(**args)
1653
+ end
1654
+
1655
+ # Update properties of this object
1656
+ def update!(**args)
1657
+ @datasets = args[:datasets] if args.key?(:datasets)
1658
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1659
+ end
1660
+ end
1661
+
1662
+ # Lists the DICOM stores in the given dataset.
1663
+ class ListDicomStoresResponse
1664
+ include Google::Apis::Core::Hashable
1665
+
1666
+ # The returned DICOM stores. Won't be more DICOM stores than the value of
1667
+ # page_size in the request.
1668
+ # Corresponds to the JSON property `dicomStores`
1669
+ # @return [Array<Google::Apis::HealthcareV1::DicomStore>]
1670
+ attr_accessor :dicom_stores
1671
+
1672
+ # Token to retrieve the next page of results or empty if there are no more
1673
+ # results in the list.
1674
+ # Corresponds to the JSON property `nextPageToken`
1675
+ # @return [String]
1676
+ attr_accessor :next_page_token
1677
+
1678
+ def initialize(**args)
1679
+ update!(**args)
1680
+ end
1681
+
1682
+ # Update properties of this object
1683
+ def update!(**args)
1684
+ @dicom_stores = args[:dicom_stores] if args.key?(:dicom_stores)
1685
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1686
+ end
1687
+ end
1688
+
1689
+ # Lists the FHIR stores in the given dataset.
1690
+ class ListFhirStoresResponse
1691
+ include Google::Apis::Core::Hashable
1692
+
1693
+ # The returned FHIR stores. Won't be more FHIR stores than the value of
1694
+ # page_size in the request.
1695
+ # Corresponds to the JSON property `fhirStores`
1696
+ # @return [Array<Google::Apis::HealthcareV1::FhirStore>]
1697
+ attr_accessor :fhir_stores
1698
+
1699
+ # Token to retrieve the next page of results or empty if there are no more
1700
+ # results in the list.
1701
+ # Corresponds to the JSON property `nextPageToken`
1702
+ # @return [String]
1703
+ attr_accessor :next_page_token
1704
+
1705
+ def initialize(**args)
1706
+ update!(**args)
1707
+ end
1708
+
1709
+ # Update properties of this object
1710
+ def update!(**args)
1711
+ @fhir_stores = args[:fhir_stores] if args.key?(:fhir_stores)
1712
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1713
+ end
1714
+ end
1715
+
1716
+ # Lists the HL7v2 stores in the given dataset.
1717
+ class ListHl7V2StoresResponse
1718
+ include Google::Apis::Core::Hashable
1719
+
1720
+ # The returned HL7v2 stores. Won't be more HL7v2 stores than the value of
1721
+ # page_size in the request.
1722
+ # Corresponds to the JSON property `hl7V2Stores`
1723
+ # @return [Array<Google::Apis::HealthcareV1::Hl7V2Store>]
1724
+ attr_accessor :hl7_v2_stores
1725
+
1726
+ # Token to retrieve the next page of results or empty if there are no more
1727
+ # results in the list.
1728
+ # Corresponds to the JSON property `nextPageToken`
1729
+ # @return [String]
1730
+ attr_accessor :next_page_token
1731
+
1732
+ def initialize(**args)
1733
+ update!(**args)
1734
+ end
1735
+
1736
+ # Update properties of this object
1737
+ def update!(**args)
1738
+ @hl7_v2_stores = args[:hl7_v2_stores] if args.key?(:hl7_v2_stores)
1739
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1740
+ end
1741
+ end
1742
+
1743
+ # Lists the messages in the specified HL7v2 store.
1744
+ class ListMessagesResponse
1745
+ include Google::Apis::Core::Hashable
1746
+
1747
+ # The returned Messages. Won't be more Messages than the value of
1748
+ # page_size in the request. See
1749
+ # view for
1750
+ # populated fields.
1751
+ # Corresponds to the JSON property `hl7V2Messages`
1752
+ # @return [Array<Google::Apis::HealthcareV1::Message>]
1753
+ attr_accessor :hl7_v2_messages
1754
+
1755
+ # Token to retrieve the next page of results or empty if there are no more
1756
+ # results in the list.
1757
+ # Corresponds to the JSON property `nextPageToken`
1758
+ # @return [String]
1759
+ attr_accessor :next_page_token
1760
+
1761
+ def initialize(**args)
1762
+ update!(**args)
1763
+ end
1764
+
1765
+ # Update properties of this object
1766
+ def update!(**args)
1767
+ @hl7_v2_messages = args[:hl7_v2_messages] if args.key?(:hl7_v2_messages)
1768
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1769
+ end
1770
+ end
1771
+
1772
+ # The response message for Operations.ListOperations.
1773
+ class ListOperationsResponse
1774
+ include Google::Apis::Core::Hashable
1775
+
1776
+ # The standard List next-page token.
1777
+ # Corresponds to the JSON property `nextPageToken`
1778
+ # @return [String]
1779
+ attr_accessor :next_page_token
1780
+
1781
+ # A list of operations that matches the specified filter in the request.
1782
+ # Corresponds to the JSON property `operations`
1783
+ # @return [Array<Google::Apis::HealthcareV1::Operation>]
1784
+ attr_accessor :operations
1785
+
1786
+ def initialize(**args)
1787
+ update!(**args)
1788
+ end
1789
+
1790
+ # Update properties of this object
1791
+ def update!(**args)
1792
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1793
+ @operations = args[:operations] if args.key?(:operations)
1794
+ end
1795
+ end
1796
+
1797
+ # A complete HL7v2 message.
1798
+ # See http://www.hl7.org/implement/standards/index.cfm?ref=common for details
1799
+ # on the standard.
1800
+ class Message
1801
+ include Google::Apis::Core::Hashable
1802
+
1803
+ # Output only. The datetime when the message was created. Set by the server.
1804
+ # Corresponds to the JSON property `createTime`
1805
+ # @return [String]
1806
+ attr_accessor :create_time
1807
+
1808
+ # Raw message bytes.
1809
+ # Corresponds to the JSON property `data`
1810
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1811
+ # @return [String]
1812
+ attr_accessor :data
1813
+
1814
+ # User-supplied key-value pairs used to organize HL7v2 stores.
1815
+ # Label keys must be between 1 and 63 characters long, have a UTF-8 encoding
1816
+ # of maximum 128 bytes, and must conform to the
1817
+ # following PCRE regular expression:
1818
+ # \p`Ll`\p`Lo``0,62`
1819
+ # Label values are optional, must be between 1 and 63 characters long, have
1820
+ # a UTF-8 encoding of maximum 128 bytes, and must conform to the
1821
+ # following PCRE regular expression: [\p`Ll`\p`Lo`\p`N`_-]`0,63`
1822
+ # No more than 64 labels can be associated with a given store.
1823
+ # Corresponds to the JSON property `labels`
1824
+ # @return [Hash<String,String>]
1825
+ attr_accessor :labels
1826
+
1827
+ # The message type for this message. MSH-9.1.
1828
+ # Corresponds to the JSON property `messageType`
1829
+ # @return [String]
1830
+ attr_accessor :message_type
1831
+
1832
+ # Resource name of the Message, of the form
1833
+ # `projects/`project_id`/datasets/`dataset_id`/hl7V2Stores/`hl7_v2_store_id`/
1834
+ # messages/`message_id``.
1835
+ # Assigned by the server.
1836
+ # Corresponds to the JSON property `name`
1837
+ # @return [String]
1838
+ attr_accessor :name
1839
+
1840
+ # The content of a HL7v2 message in a structured format.
1841
+ # Corresponds to the JSON property `parsedData`
1842
+ # @return [Google::Apis::HealthcareV1::ParsedData]
1843
+ attr_accessor :parsed_data
1844
+
1845
+ # All patient IDs listed in the PID-2, PID-3, and PID-4 segments of this
1846
+ # message.
1847
+ # Corresponds to the JSON property `patientIds`
1848
+ # @return [Array<Google::Apis::HealthcareV1::PatientId>]
1849
+ attr_accessor :patient_ids
1850
+
1851
+ # The hospital that this message came from. MSH-4.
1852
+ # Corresponds to the JSON property `sendFacility`
1853
+ # @return [String]
1854
+ attr_accessor :send_facility
1855
+
1856
+ # The datetime the sending application sent this message. MSH-7.
1857
+ # Corresponds to the JSON property `sendTime`
1858
+ # @return [String]
1859
+ attr_accessor :send_time
1860
+
1861
+ def initialize(**args)
1862
+ update!(**args)
1863
+ end
1864
+
1865
+ # Update properties of this object
1866
+ def update!(**args)
1867
+ @create_time = args[:create_time] if args.key?(:create_time)
1868
+ @data = args[:data] if args.key?(:data)
1869
+ @labels = args[:labels] if args.key?(:labels)
1870
+ @message_type = args[:message_type] if args.key?(:message_type)
1871
+ @name = args[:name] if args.key?(:name)
1872
+ @parsed_data = args[:parsed_data] if args.key?(:parsed_data)
1873
+ @patient_ids = args[:patient_ids] if args.key?(:patient_ids)
1874
+ @send_facility = args[:send_facility] if args.key?(:send_facility)
1875
+ @send_time = args[:send_time] if args.key?(:send_time)
1876
+ end
1877
+ end
1878
+
1879
+ # Specifies where to send notifications upon changes to a data store.
1880
+ class NotificationConfig
1881
+ include Google::Apis::Core::Hashable
1882
+
1883
+ # The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that
1884
+ # notifications of changes are published on. Supplied by the client.
1885
+ # PubsubMessage.Data contains the resource name.
1886
+ # PubsubMessage.MessageId is the ID of this message. It is guaranteed to be
1887
+ # unique within the topic.
1888
+ # PubsubMessage.PublishTime is the time at which the message was published.
1889
+ # Notifications are only sent if the topic is
1890
+ # non-empty. [Topic
1891
+ # names](https://cloud.google.com/pubsub/docs/overview#names) must be scoped
1892
+ # to a project. cloud-healthcare@system.gserviceaccount.com must have
1893
+ # publisher permissions on the given Cloud Pub/Sub topic. Not having adequate
1894
+ # permissions causes the calls that send notifications to fail.
1895
+ # If a notification can't be published to Cloud Pub/Sub, errors are logged to
1896
+ # Stackdriver (see [Viewing
1897
+ # logs](/healthcare/docs/how-tos/stackdriver-logging)). If the number of
1898
+ # errors exceeds a certain rate, some aren't submitted.
1899
+ # Corresponds to the JSON property `pubsubTopic`
1900
+ # @return [String]
1901
+ attr_accessor :pubsub_topic
1902
+
1903
+ def initialize(**args)
1904
+ update!(**args)
1905
+ end
1906
+
1907
+ # Update properties of this object
1908
+ def update!(**args)
1909
+ @pubsub_topic = args[:pubsub_topic] if args.key?(:pubsub_topic)
1910
+ end
1911
+ end
1912
+
1913
+ # This resource represents a long-running operation that is the result of a
1914
+ # network API call.
1915
+ class Operation
1916
+ include Google::Apis::Core::Hashable
1917
+
1918
+ # If the value is `false`, it means the operation is still in progress.
1919
+ # If `true`, the operation is completed, and either `error` or `response` is
1920
+ # available.
1921
+ # Corresponds to the JSON property `done`
1922
+ # @return [Boolean]
1923
+ attr_accessor :done
1924
+ alias_method :done?, :done
1925
+
1926
+ # The `Status` type defines a logical error model that is suitable for
1927
+ # different programming environments, including REST APIs and RPC APIs. It is
1928
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1929
+ # three pieces of data: error code, error message, and error details.
1930
+ # You can find out more about this error model and how to work with it in the
1931
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
1932
+ # Corresponds to the JSON property `error`
1933
+ # @return [Google::Apis::HealthcareV1::Status]
1934
+ attr_accessor :error
1935
+
1936
+ # Service-specific metadata associated with the operation. It typically
1937
+ # contains progress information and common metadata such as create time.
1938
+ # Some services might not provide such metadata. Any method that returns a
1939
+ # long-running operation should document the metadata type, if any.
1940
+ # Corresponds to the JSON property `metadata`
1941
+ # @return [Hash<String,Object>]
1942
+ attr_accessor :metadata
1943
+
1944
+ # The server-assigned name, which is only unique within the same service that
1945
+ # originally returns it. If you use the default HTTP mapping, the
1946
+ # `name` should be a resource name ending with `operations/`unique_id``.
1947
+ # Corresponds to the JSON property `name`
1948
+ # @return [String]
1949
+ attr_accessor :name
1950
+
1951
+ # The normal response of the operation in case of success. If the original
1952
+ # method returns no data on success, such as `Delete`, the response is
1953
+ # `google.protobuf.Empty`. If the original method is standard
1954
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
1955
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
1956
+ # is the original method name. For example, if the original method name
1957
+ # is `TakeSnapshot()`, the inferred response type is
1958
+ # `TakeSnapshotResponse`.
1959
+ # Corresponds to the JSON property `response`
1960
+ # @return [Hash<String,Object>]
1961
+ attr_accessor :response
1962
+
1963
+ def initialize(**args)
1964
+ update!(**args)
1965
+ end
1966
+
1967
+ # Update properties of this object
1968
+ def update!(**args)
1969
+ @done = args[:done] if args.key?(:done)
1970
+ @error = args[:error] if args.key?(:error)
1971
+ @metadata = args[:metadata] if args.key?(:metadata)
1972
+ @name = args[:name] if args.key?(:name)
1973
+ @response = args[:response] if args.key?(:response)
1974
+ end
1975
+ end
1976
+
1977
+ # OperationMetadata provides information about the operation execution.
1978
+ # Returned in the long-running operation's metadata field.
1979
+ class OperationMetadata
1980
+ include Google::Apis::Core::Hashable
1981
+
1982
+ # The name of the API method that initiated the operation.
1983
+ # Corresponds to the JSON property `apiMethodName`
1984
+ # @return [String]
1985
+ attr_accessor :api_method_name
1986
+
1987
+ # Specifies if cancellation was requested for the operation.
1988
+ # Corresponds to the JSON property `cancelRequested`
1989
+ # @return [Boolean]
1990
+ attr_accessor :cancel_requested
1991
+ alias_method :cancel_requested?, :cancel_requested
1992
+
1993
+ # ProgressCounter provides counters to describe an operation's progress.
1994
+ # Corresponds to the JSON property `counter`
1995
+ # @return [Google::Apis::HealthcareV1::ProgressCounter]
1996
+ attr_accessor :counter
1997
+
1998
+ # The time at which the operation was created by the API.
1999
+ # Corresponds to the JSON property `createTime`
2000
+ # @return [String]
2001
+ attr_accessor :create_time
2002
+
2003
+ # The time at which execution was completed.
2004
+ # Corresponds to the JSON property `endTime`
2005
+ # @return [String]
2006
+ attr_accessor :end_time
2007
+
2008
+ # A link to audit and error logs in the log viewer. Error logs are generated
2009
+ # only by some operations, listed at
2010
+ # https://cloud.google.com/healthcare/docs/how-tos/stackdriver-logging.
2011
+ # Corresponds to the JSON property `logsUrl`
2012
+ # @return [String]
2013
+ attr_accessor :logs_url
2014
+
2015
+ def initialize(**args)
2016
+ update!(**args)
2017
+ end
2018
+
2019
+ # Update properties of this object
2020
+ def update!(**args)
2021
+ @api_method_name = args[:api_method_name] if args.key?(:api_method_name)
2022
+ @cancel_requested = args[:cancel_requested] if args.key?(:cancel_requested)
2023
+ @counter = args[:counter] if args.key?(:counter)
2024
+ @create_time = args[:create_time] if args.key?(:create_time)
2025
+ @end_time = args[:end_time] if args.key?(:end_time)
2026
+ @logs_url = args[:logs_url] if args.key?(:logs_url)
2027
+ end
2028
+ end
2029
+
2030
+ # The content of a HL7v2 message in a structured format.
2031
+ class ParsedData
2032
+ include Google::Apis::Core::Hashable
2033
+
2034
+ #
2035
+ # Corresponds to the JSON property `segments`
2036
+ # @return [Array<Google::Apis::HealthcareV1::Segment>]
2037
+ attr_accessor :segments
2038
+
2039
+ def initialize(**args)
2040
+ update!(**args)
2041
+ end
2042
+
2043
+ # Update properties of this object
2044
+ def update!(**args)
2045
+ @segments = args[:segments] if args.key?(:segments)
2046
+ end
2047
+ end
2048
+
2049
+ # The configuration for the parser. It determines how the server parses the
2050
+ # messages.
2051
+ class ParserConfig
2052
+ include Google::Apis::Core::Hashable
2053
+
2054
+ # Determines whether messages with no header are allowed.
2055
+ # Corresponds to the JSON property `allowNullHeader`
2056
+ # @return [Boolean]
2057
+ attr_accessor :allow_null_header
2058
+ alias_method :allow_null_header?, :allow_null_header
2059
+
2060
+ # Byte(s) to use as the segment terminator. If this is unset, '\r' is
2061
+ # used as segment terminator.
2062
+ # Corresponds to the JSON property `segmentTerminator`
2063
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2064
+ # @return [String]
2065
+ attr_accessor :segment_terminator
2066
+
2067
+ def initialize(**args)
2068
+ update!(**args)
2069
+ end
2070
+
2071
+ # Update properties of this object
2072
+ def update!(**args)
2073
+ @allow_null_header = args[:allow_null_header] if args.key?(:allow_null_header)
2074
+ @segment_terminator = args[:segment_terminator] if args.key?(:segment_terminator)
2075
+ end
2076
+ end
2077
+
2078
+ # A patient identifier and associated type.
2079
+ class PatientId
2080
+ include Google::Apis::Core::Hashable
2081
+
2082
+ # ID type. For example, MRN or NHS.
2083
+ # Corresponds to the JSON property `type`
2084
+ # @return [String]
2085
+ attr_accessor :type
2086
+
2087
+ # The patient's unique identifier.
2088
+ # Corresponds to the JSON property `value`
2089
+ # @return [String]
2090
+ attr_accessor :value
2091
+
2092
+ def initialize(**args)
2093
+ update!(**args)
2094
+ end
2095
+
2096
+ # Update properties of this object
2097
+ def update!(**args)
2098
+ @type = args[:type] if args.key?(:type)
2099
+ @value = args[:value] if args.key?(:value)
2100
+ end
2101
+ end
2102
+
2103
+ # An Identity and Access Management (IAM) policy, which specifies access
2104
+ # controls for Google Cloud resources.
2105
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
2106
+ # `members` to a single `role`. Members can be user accounts, service accounts,
2107
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
2108
+ # permissions; each `role` can be an IAM predefined role or a user-created
2109
+ # custom role.
2110
+ # Optionally, a `binding` can specify a `condition`, which is a logical
2111
+ # expression that allows access to a resource only if the expression evaluates
2112
+ # to `true`. A condition can add constraints based on attributes of the
2113
+ # request, the resource, or both.
2114
+ # **JSON example:**
2115
+ # `
2116
+ # "bindings": [
2117
+ # `
2118
+ # "role": "roles/resourcemanager.organizationAdmin",
2119
+ # "members": [
2120
+ # "user:mike@example.com",
2121
+ # "group:admins@example.com",
2122
+ # "domain:google.com",
2123
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
2124
+ # ]
2125
+ # `,
2126
+ # `
2127
+ # "role": "roles/resourcemanager.organizationViewer",
2128
+ # "members": ["user:eve@example.com"],
2129
+ # "condition": `
2130
+ # "title": "expirable access",
2131
+ # "description": "Does not grant access after Sep 2020",
2132
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
2133
+ # ",
2134
+ # `
2135
+ # `
2136
+ # ],
2137
+ # "etag": "BwWWja0YfJA=",
2138
+ # "version": 3
2139
+ # `
2140
+ # **YAML example:**
2141
+ # bindings:
2142
+ # - members:
2143
+ # - user:mike@example.com
2144
+ # - group:admins@example.com
2145
+ # - domain:google.com
2146
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
2147
+ # role: roles/resourcemanager.organizationAdmin
2148
+ # - members:
2149
+ # - user:eve@example.com
2150
+ # role: roles/resourcemanager.organizationViewer
2151
+ # condition:
2152
+ # title: expirable access
2153
+ # description: Does not grant access after Sep 2020
2154
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
2155
+ # - etag: BwWWja0YfJA=
2156
+ # - version: 3
2157
+ # For a description of IAM and its features, see the
2158
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
2159
+ class Policy
2160
+ include Google::Apis::Core::Hashable
2161
+
2162
+ # Specifies cloud audit logging configuration for this policy.
2163
+ # Corresponds to the JSON property `auditConfigs`
2164
+ # @return [Array<Google::Apis::HealthcareV1::AuditConfig>]
2165
+ attr_accessor :audit_configs
2166
+
2167
+ # Associates a list of `members` to a `role`. Optionally, may specify a
2168
+ # `condition` that determines how and when the `bindings` are applied. Each
2169
+ # of the `bindings` must contain at least one member.
2170
+ # Corresponds to the JSON property `bindings`
2171
+ # @return [Array<Google::Apis::HealthcareV1::Binding>]
2172
+ attr_accessor :bindings
2173
+
2174
+ # `etag` is used for optimistic concurrency control as a way to help
2175
+ # prevent simultaneous updates of a policy from overwriting each other.
2176
+ # It is strongly suggested that systems make use of the `etag` in the
2177
+ # read-modify-write cycle to perform policy updates in order to avoid race
2178
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
2179
+ # systems are expected to put that etag in the request to `setIamPolicy` to
2180
+ # ensure that their change will be applied to the same version of the policy.
2181
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
2182
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
2183
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
2184
+ # the conditions in the version `3` policy are lost.
2185
+ # Corresponds to the JSON property `etag`
2186
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2187
+ # @return [String]
2188
+ attr_accessor :etag
2189
+
2190
+ # Specifies the format of the policy.
2191
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
2192
+ # are rejected.
2193
+ # Any operation that affects conditional role bindings must specify version
2194
+ # `3`. This requirement applies to the following operations:
2195
+ # * Getting a policy that includes a conditional role binding
2196
+ # * Adding a conditional role binding to a policy
2197
+ # * Changing a conditional role binding in a policy
2198
+ # * Removing any role binding, with or without a condition, from a policy
2199
+ # that includes conditions
2200
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
2201
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
2202
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
2203
+ # the conditions in the version `3` policy are lost.
2204
+ # If a policy does not include any conditions, operations on that policy may
2205
+ # specify any valid version or leave the field unset.
2206
+ # Corresponds to the JSON property `version`
2207
+ # @return [Fixnum]
2208
+ attr_accessor :version
2209
+
2210
+ def initialize(**args)
2211
+ update!(**args)
2212
+ end
2213
+
2214
+ # Update properties of this object
2215
+ def update!(**args)
2216
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
2217
+ @bindings = args[:bindings] if args.key?(:bindings)
2218
+ @etag = args[:etag] if args.key?(:etag)
2219
+ @version = args[:version] if args.key?(:version)
2220
+ end
2221
+ end
2222
+
2223
+ # ProgressCounter provides counters to describe an operation's progress.
2224
+ class ProgressCounter
2225
+ include Google::Apis::Core::Hashable
2226
+
2227
+ # The number of units that failed in the operation.
2228
+ # Corresponds to the JSON property `failure`
2229
+ # @return [Fixnum]
2230
+ attr_accessor :failure
2231
+
2232
+ # The number of units that are pending in the operation.
2233
+ # Corresponds to the JSON property `pending`
2234
+ # @return [Fixnum]
2235
+ attr_accessor :pending
2236
+
2237
+ # The number of units that succeeded in the operation.
2238
+ # Corresponds to the JSON property `success`
2239
+ # @return [Fixnum]
2240
+ attr_accessor :success
2241
+
2242
+ def initialize(**args)
2243
+ update!(**args)
2244
+ end
2245
+
2246
+ # Update properties of this object
2247
+ def update!(**args)
2248
+ @failure = args[:failure] if args.key?(:failure)
2249
+ @pending = args[:pending] if args.key?(:pending)
2250
+ @success = args[:success] if args.key?(:success)
2251
+ end
2252
+ end
2253
+
2254
+ # Define how to redact sensitive values. Default behaviour is erase.
2255
+ # For example, "My name is Jane." becomes "My name is ."
2256
+ class RedactConfig
2257
+ include Google::Apis::Core::Hashable
2258
+
2259
+ def initialize(**args)
2260
+ update!(**args)
2261
+ end
2262
+
2263
+ # Update properties of this object
2264
+ def update!(**args)
2265
+ end
2266
+ end
2267
+
2268
+ # When using the
2269
+ # INSPECT_AND_TRANSFORM
2270
+ # action, each match is replaced with the name of the info_type. For example,
2271
+ # "My name is Jane" becomes "My name is [PERSON_NAME]." The
2272
+ # TRANSFORM
2273
+ # action is equivalent to redacting.
2274
+ class ReplaceWithInfoTypeConfig
2275
+ include Google::Apis::Core::Hashable
2276
+
2277
+ def initialize(**args)
2278
+ update!(**args)
2279
+ end
2280
+
2281
+ # Update properties of this object
2282
+ def update!(**args)
2283
+ end
2284
+ end
2285
+
2286
+ # A list of FHIR resources.
2287
+ class Resources
2288
+ include Google::Apis::Core::Hashable
2289
+
2290
+ # List of resources IDs. For example, "Patient/1234".
2291
+ # Corresponds to the JSON property `resources`
2292
+ # @return [Array<String>]
2293
+ attr_accessor :resources
2294
+
2295
+ def initialize(**args)
2296
+ update!(**args)
2297
+ end
2298
+
2299
+ # Update properties of this object
2300
+ def update!(**args)
2301
+ @resources = args[:resources] if args.key?(:resources)
2302
+ end
2303
+ end
2304
+
2305
+ # Configuration for the FHIR BigQuery schema. Determines how the server
2306
+ # generates the schema.
2307
+ class SchemaConfig
2308
+ include Google::Apis::Core::Hashable
2309
+
2310
+ # The depth for all recursive structures in the output analytics
2311
+ # schema. For example, `concept` in the CodeSystem resource is a recursive
2312
+ # structure; when the depth is 2, the CodeSystem table will have a column
2313
+ # called `concept.concept` but not `concept.concept.concept`. If not
2314
+ # specified or set to 0, the server will use the default value 2. The
2315
+ # maximum depth allowed is 5.
2316
+ # Corresponds to the JSON property `recursiveStructureDepth`
2317
+ # @return [Fixnum]
2318
+ attr_accessor :recursive_structure_depth
2319
+
2320
+ # Specifies the output schema type.
2321
+ # Corresponds to the JSON property `schemaType`
2322
+ # @return [String]
2323
+ attr_accessor :schema_type
2324
+
2325
+ def initialize(**args)
2326
+ update!(**args)
2327
+ end
2328
+
2329
+ # Update properties of this object
2330
+ def update!(**args)
2331
+ @recursive_structure_depth = args[:recursive_structure_depth] if args.key?(:recursive_structure_depth)
2332
+ @schema_type = args[:schema_type] if args.key?(:schema_type)
2333
+ end
2334
+ end
2335
+
2336
+ # Request to search the resources in the specified FHIR store.
2337
+ class SearchResourcesRequest
2338
+ include Google::Apis::Core::Hashable
2339
+
2340
+ # The FHIR resource type to search, such as Patient or Observation. For a
2341
+ # complete list, see the FHIR Resource Index
2342
+ # ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),
2343
+ # [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html),
2344
+ # [R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
2345
+ # Corresponds to the JSON property `resourceType`
2346
+ # @return [String]
2347
+ attr_accessor :resource_type
2348
+
2349
+ def initialize(**args)
2350
+ update!(**args)
2351
+ end
2352
+
2353
+ # Update properties of this object
2354
+ def update!(**args)
2355
+ @resource_type = args[:resource_type] if args.key?(:resource_type)
2356
+ end
2357
+ end
2358
+
2359
+ # A segment in a structured format.
2360
+ class Segment
2361
+ include Google::Apis::Core::Hashable
2362
+
2363
+ # A mapping from the positional location to the value.
2364
+ # The key string uses zero-based indexes separated by dots to identify
2365
+ # Fields, components and sub-components. A bracket notation is also used to
2366
+ # identify different instances of a repeated field.
2367
+ # Regex for key: (\d+)(\[\d+\])?(.\d+)?(.\d+)?
2368
+ # Examples of (key, value) pairs:
2369
+ # * (0.1, "hemoglobin") denotes that the first component of Field 0 has the
2370
+ # value "hemoglobin".
2371
+ # * (1.1.2, "CBC") denotes that the second sub-component of the first
2372
+ # component of Field 1 has the value "CBC".
2373
+ # * (1[0].1, "HbA1c") denotes that the first component of the
2374
+ # first Instance of Field 1, which is repeated, has the value "HbA1c".
2375
+ # Corresponds to the JSON property `fields`
2376
+ # @return [Hash<String,String>]
2377
+ attr_accessor :fields
2378
+
2379
+ # A string that indicates the type of segment. For example, EVN or PID.
2380
+ # Corresponds to the JSON property `segmentId`
2381
+ # @return [String]
2382
+ attr_accessor :segment_id
2383
+
2384
+ # Set ID for segments that can be in a set. This can be empty if it's
2385
+ # missing or isn't applicable.
2386
+ # Corresponds to the JSON property `setId`
2387
+ # @return [String]
2388
+ attr_accessor :set_id
2389
+
2390
+ def initialize(**args)
2391
+ update!(**args)
2392
+ end
2393
+
2394
+ # Update properties of this object
2395
+ def update!(**args)
2396
+ @fields = args[:fields] if args.key?(:fields)
2397
+ @segment_id = args[:segment_id] if args.key?(:segment_id)
2398
+ @set_id = args[:set_id] if args.key?(:set_id)
2399
+ end
2400
+ end
2401
+
2402
+ # Request message for `SetIamPolicy` method.
2403
+ class SetIamPolicyRequest
2404
+ include Google::Apis::Core::Hashable
2405
+
2406
+ # An Identity and Access Management (IAM) policy, which specifies access
2407
+ # controls for Google Cloud resources.
2408
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
2409
+ # `members` to a single `role`. Members can be user accounts, service accounts,
2410
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
2411
+ # permissions; each `role` can be an IAM predefined role or a user-created
2412
+ # custom role.
2413
+ # Optionally, a `binding` can specify a `condition`, which is a logical
2414
+ # expression that allows access to a resource only if the expression evaluates
2415
+ # to `true`. A condition can add constraints based on attributes of the
2416
+ # request, the resource, or both.
2417
+ # **JSON example:**
2418
+ # `
2419
+ # "bindings": [
2420
+ # `
2421
+ # "role": "roles/resourcemanager.organizationAdmin",
2422
+ # "members": [
2423
+ # "user:mike@example.com",
2424
+ # "group:admins@example.com",
2425
+ # "domain:google.com",
2426
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
2427
+ # ]
2428
+ # `,
2429
+ # `
2430
+ # "role": "roles/resourcemanager.organizationViewer",
2431
+ # "members": ["user:eve@example.com"],
2432
+ # "condition": `
2433
+ # "title": "expirable access",
2434
+ # "description": "Does not grant access after Sep 2020",
2435
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
2436
+ # ",
2437
+ # `
2438
+ # `
2439
+ # ],
2440
+ # "etag": "BwWWja0YfJA=",
2441
+ # "version": 3
2442
+ # `
2443
+ # **YAML example:**
2444
+ # bindings:
2445
+ # - members:
2446
+ # - user:mike@example.com
2447
+ # - group:admins@example.com
2448
+ # - domain:google.com
2449
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
2450
+ # role: roles/resourcemanager.organizationAdmin
2451
+ # - members:
2452
+ # - user:eve@example.com
2453
+ # role: roles/resourcemanager.organizationViewer
2454
+ # condition:
2455
+ # title: expirable access
2456
+ # description: Does not grant access after Sep 2020
2457
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
2458
+ # - etag: BwWWja0YfJA=
2459
+ # - version: 3
2460
+ # For a description of IAM and its features, see the
2461
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
2462
+ # Corresponds to the JSON property `policy`
2463
+ # @return [Google::Apis::HealthcareV1::Policy]
2464
+ attr_accessor :policy
2465
+
2466
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
2467
+ # the fields in the mask will be modified. If no mask is provided, the
2468
+ # following default mask is used:
2469
+ # paths: "bindings, etag"
2470
+ # This field is only used by Cloud IAM.
2471
+ # Corresponds to the JSON property `updateMask`
2472
+ # @return [String]
2473
+ attr_accessor :update_mask
2474
+
2475
+ def initialize(**args)
2476
+ update!(**args)
2477
+ end
2478
+
2479
+ # Update properties of this object
2480
+ def update!(**args)
2481
+ @policy = args[:policy] if args.key?(:policy)
2482
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
2483
+ end
2484
+ end
2485
+
2486
+ # The `Status` type defines a logical error model that is suitable for
2487
+ # different programming environments, including REST APIs and RPC APIs. It is
2488
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
2489
+ # three pieces of data: error code, error message, and error details.
2490
+ # You can find out more about this error model and how to work with it in the
2491
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
2492
+ class Status
2493
+ include Google::Apis::Core::Hashable
2494
+
2495
+ # The status code, which should be an enum value of google.rpc.Code.
2496
+ # Corresponds to the JSON property `code`
2497
+ # @return [Fixnum]
2498
+ attr_accessor :code
2499
+
2500
+ # A list of messages that carry the error details. There is a common set of
2501
+ # message types for APIs to use.
2502
+ # Corresponds to the JSON property `details`
2503
+ # @return [Array<Hash<String,Object>>]
2504
+ attr_accessor :details
2505
+
2506
+ # A developer-facing error message, which should be in English. Any
2507
+ # user-facing error message should be localized and sent in the
2508
+ # google.rpc.Status.details field, or localized by the client.
2509
+ # Corresponds to the JSON property `message`
2510
+ # @return [String]
2511
+ attr_accessor :message
2512
+
2513
+ def initialize(**args)
2514
+ update!(**args)
2515
+ end
2516
+
2517
+ # Update properties of this object
2518
+ def update!(**args)
2519
+ @code = args[:code] if args.key?(:code)
2520
+ @details = args[:details] if args.key?(:details)
2521
+ @message = args[:message] if args.key?(:message)
2522
+ end
2523
+ end
2524
+
2525
+ # This structure contains configuration for streaming FHIR export.
2526
+ class StreamConfig
2527
+ include Google::Apis::Core::Hashable
2528
+
2529
+ # The configuration for exporting to BigQuery.
2530
+ # Corresponds to the JSON property `bigqueryDestination`
2531
+ # @return [Google::Apis::HealthcareV1::GoogleCloudHealthcareV1FhirBigQueryDestination]
2532
+ attr_accessor :bigquery_destination
2533
+
2534
+ # Supply a FHIR resource type (such as "Patient" or "Observation").
2535
+ # See https://www.hl7.org/fhir/valueset-resource-types.html for a list of
2536
+ # all FHIR resource types.
2537
+ # The server treats an empty list as an intent to stream all the
2538
+ # supported resource types in this FHIR store.
2539
+ # Corresponds to the JSON property `resourceTypes`
2540
+ # @return [Array<String>]
2541
+ attr_accessor :resource_types
2542
+
2543
+ def initialize(**args)
2544
+ update!(**args)
2545
+ end
2546
+
2547
+ # Update properties of this object
2548
+ def update!(**args)
2549
+ @bigquery_destination = args[:bigquery_destination] if args.key?(:bigquery_destination)
2550
+ @resource_types = args[:resource_types] if args.key?(:resource_types)
2551
+ end
2552
+ end
2553
+
2554
+ # List of tags to be filtered.
2555
+ class TagFilterList
2556
+ include Google::Apis::Core::Hashable
2557
+
2558
+ # Tags to be filtered. Tags must be DICOM Data Elements, File Meta
2559
+ # Elements, or Directory Structuring Elements, as defined at:
2560
+ # http://dicom.nema.org/medical/dicom/current/output/html/part06.html#table_6-1,.
2561
+ # They may be provided by "Keyword" or "Tag". For example "PatientID",
2562
+ # "00100010".
2563
+ # Corresponds to the JSON property `tags`
2564
+ # @return [Array<String>]
2565
+ attr_accessor :tags
2566
+
2567
+ def initialize(**args)
2568
+ update!(**args)
2569
+ end
2570
+
2571
+ # Update properties of this object
2572
+ def update!(**args)
2573
+ @tags = args[:tags] if args.key?(:tags)
2574
+ end
2575
+ end
2576
+
2577
+ # Request message for `TestIamPermissions` method.
2578
+ class TestIamPermissionsRequest
2579
+ include Google::Apis::Core::Hashable
2580
+
2581
+ # The set of permissions to check for the `resource`. Permissions with
2582
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
2583
+ # information see
2584
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
2585
+ # Corresponds to the JSON property `permissions`
2586
+ # @return [Array<String>]
2587
+ attr_accessor :permissions
2588
+
2589
+ def initialize(**args)
2590
+ update!(**args)
2591
+ end
2592
+
2593
+ # Update properties of this object
2594
+ def update!(**args)
2595
+ @permissions = args[:permissions] if args.key?(:permissions)
2596
+ end
2597
+ end
2598
+
2599
+ # Response message for `TestIamPermissions` method.
2600
+ class TestIamPermissionsResponse
2601
+ include Google::Apis::Core::Hashable
2602
+
2603
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
2604
+ # allowed.
2605
+ # Corresponds to the JSON property `permissions`
2606
+ # @return [Array<String>]
2607
+ attr_accessor :permissions
2608
+
2609
+ def initialize(**args)
2610
+ update!(**args)
2611
+ end
2612
+
2613
+ # Update properties of this object
2614
+ def update!(**args)
2615
+ @permissions = args[:permissions] if args.key?(:permissions)
2616
+ end
2617
+ end
2618
+
2619
+ #
2620
+ class TextConfig
2621
+ include Google::Apis::Core::Hashable
2622
+
2623
+ # The transformations to apply to the detected data.
2624
+ # Corresponds to the JSON property `transformations`
2625
+ # @return [Array<Google::Apis::HealthcareV1::InfoTypeTransformation>]
2626
+ attr_accessor :transformations
2627
+
2628
+ def initialize(**args)
2629
+ update!(**args)
2630
+ end
2631
+
2632
+ # Update properties of this object
2633
+ def update!(**args)
2634
+ @transformations = args[:transformations] if args.key?(:transformations)
2635
+ end
2636
+ end
2637
+ end
2638
+ end
2639
+ end