google-api-client 0.37.3 → 0.38.0

Sign up to get free protection for your applications and to get access to all the features.
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