pulumi-gcp 8.5.0a1728368389__py3-none-any.whl → 8.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/_utilities.py +1 -1
  3. pulumi_gcp/accessapproval/get_folder_service_account.py +9 -4
  4. pulumi_gcp/accessapproval/get_organization_service_account.py +9 -4
  5. pulumi_gcp/accessapproval/get_project_service_account.py +9 -4
  6. pulumi_gcp/accesscontextmanager/get_access_policy_iam_policy.py +9 -4
  7. pulumi_gcp/alloydb/get_locations.py +8 -4
  8. pulumi_gcp/alloydb/get_supported_database_flags.py +10 -4
  9. pulumi_gcp/apigateway/get_api_config_iam_policy.py +13 -4
  10. pulumi_gcp/apigateway/get_api_iam_policy.py +11 -4
  11. pulumi_gcp/apigateway/get_gateway_iam_policy.py +13 -4
  12. pulumi_gcp/apigee/get_environment_iam_policy.py +11 -4
  13. pulumi_gcp/appengine/get_default_service_account.py +12 -4
  14. pulumi_gcp/apphub/get_application.py +20 -4
  15. pulumi_gcp/apphub/get_discovered_service.py +14 -4
  16. pulumi_gcp/apphub/get_discovered_workload.py +14 -4
  17. pulumi_gcp/artifactregistry/get_docker_image.py +21 -4
  18. pulumi_gcp/artifactregistry/get_locations.py +8 -4
  19. pulumi_gcp/artifactregistry/get_repository.py +27 -4
  20. pulumi_gcp/artifactregistry/get_repository_iam_policy.py +13 -4
  21. pulumi_gcp/assuredworkloads/workload.py +7 -7
  22. pulumi_gcp/backupdisasterrecovery/get_management_server.py +13 -4
  23. pulumi_gcp/beyondcorp/get_app_connection.py +19 -4
  24. pulumi_gcp/beyondcorp/get_app_connector.py +17 -4
  25. pulumi_gcp/beyondcorp/get_app_gateway.py +20 -4
  26. pulumi_gcp/bigquery/get_connection_iam_policy.py +13 -4
  27. pulumi_gcp/bigquery/get_dataset.py +30 -4
  28. pulumi_gcp/bigquery/get_dataset_iam_policy.py +11 -4
  29. pulumi_gcp/bigquery/get_default_service_account.py +9 -4
  30. pulumi_gcp/bigquery/get_table_iam_policy.py +13 -4
  31. pulumi_gcp/bigquery/get_tables.py +10 -4
  32. pulumi_gcp/bigqueryanalyticshub/get_data_exchange_iam_policy.py +13 -4
  33. pulumi_gcp/bigqueryanalyticshub/get_listing_iam_policy.py +15 -4
  34. pulumi_gcp/bigquerydatapolicy/get_iam_policy.py +13 -4
  35. pulumi_gcp/bigtable/_inputs.py +58 -0
  36. pulumi_gcp/bigtable/gc_policy.py +7 -0
  37. pulumi_gcp/bigtable/get_instance_iam_policy.py +11 -4
  38. pulumi_gcp/bigtable/get_table_iam_policy.py +13 -4
  39. pulumi_gcp/bigtable/instance_iam_binding.py +13 -34
  40. pulumi_gcp/bigtable/instance_iam_member.py +13 -34
  41. pulumi_gcp/bigtable/instance_iam_policy.py +0 -47
  42. pulumi_gcp/bigtable/outputs.py +36 -0
  43. pulumi_gcp/billing/get_account_iam_policy.py +9 -4
  44. pulumi_gcp/binaryauthorization/get_attestor_iam_policy.py +11 -4
  45. pulumi_gcp/certificateauthority/get_authority.py +34 -4
  46. pulumi_gcp/certificateauthority/get_ca_pool_iam_policy.py +13 -4
  47. pulumi_gcp/certificateauthority/get_certificate_template_iam_policy.py +13 -4
  48. pulumi_gcp/certificatemanager/get_certificate_map.py +16 -4
  49. pulumi_gcp/certificatemanager/get_certificates.py +10 -4
  50. pulumi_gcp/cloudasset/get_resources_search_all.py +12 -4
  51. pulumi_gcp/cloudasset/get_search_all_resources.py +12 -4
  52. pulumi_gcp/cloudbuild/get_trigger.py +33 -4
  53. pulumi_gcp/cloudbuildv2/get_connection_iam_policy.py +13 -4
  54. pulumi_gcp/clouddeploy/get_custom_target_type_iam_policy.py +13 -4
  55. pulumi_gcp/clouddeploy/get_delivery_pipeline_iam_policy.py +13 -4
  56. pulumi_gcp/clouddeploy/get_target_iam_policy.py +13 -4
  57. pulumi_gcp/cloudfunctions/get_function.py +43 -4
  58. pulumi_gcp/cloudfunctions/get_function_iam_policy.py +13 -4
  59. pulumi_gcp/cloudfunctionsv2/get_function.py +23 -4
  60. pulumi_gcp/cloudfunctionsv2/get_function_iam_policy.py +13 -4
  61. pulumi_gcp/cloudidentity/get_group_lookup.py +8 -4
  62. pulumi_gcp/cloudidentity/get_group_memberships.py +8 -4
  63. pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +8 -4
  64. pulumi_gcp/cloudidentity/get_groups.py +8 -4
  65. pulumi_gcp/cloudquota/get_s_quota_info.py +25 -4
  66. pulumi_gcp/cloudquota/get_s_quota_infos.py +10 -4
  67. pulumi_gcp/cloudrun/get_locations.py +8 -4
  68. pulumi_gcp/cloudrun/get_service.py +16 -4
  69. pulumi_gcp/cloudrun/get_service_iam_policy.py +13 -4
  70. pulumi_gcp/cloudrunv2/get_job.py +39 -4
  71. pulumi_gcp/cloudrunv2/get_job_iam_policy.py +13 -4
  72. pulumi_gcp/cloudrunv2/get_service.py +45 -4
  73. pulumi_gcp/cloudrunv2/get_service_iam_policy.py +13 -4
  74. pulumi_gcp/cloudtasks/get_queue_iam_policy.py +13 -4
  75. pulumi_gcp/composer/get_environment.py +16 -4
  76. pulumi_gcp/composer/get_image_versions.py +10 -4
  77. pulumi_gcp/composer/get_user_workloads_config_map.py +14 -4
  78. pulumi_gcp/composer/get_user_workloads_secret.py +14 -4
  79. pulumi_gcp/compute/_inputs.py +302 -18
  80. pulumi_gcp/compute/backend_service.py +111 -7
  81. pulumi_gcp/compute/get_address.py +21 -4
  82. pulumi_gcp/compute/get_addresses.py +12 -4
  83. pulumi_gcp/compute/get_backend_bucket.py +18 -4
  84. pulumi_gcp/compute/get_backend_bucket_iam_policy.py +11 -4
  85. pulumi_gcp/compute/get_backend_service.py +51 -5
  86. pulumi_gcp/compute/get_backend_service_iam_policy.py +11 -4
  87. pulumi_gcp/compute/get_certificate.py +17 -4
  88. pulumi_gcp/compute/get_default_service_account.py +12 -4
  89. pulumi_gcp/compute/get_disk.py +45 -4
  90. pulumi_gcp/compute/get_disk_iam_policy.py +13 -4
  91. pulumi_gcp/compute/get_forwarding_rule.py +43 -4
  92. pulumi_gcp/compute/get_forwarding_rules.py +10 -4
  93. pulumi_gcp/compute/get_global_address.py +19 -4
  94. pulumi_gcp/compute/get_global_forwarding_rule.py +31 -4
  95. pulumi_gcp/compute/get_hc_vpn_gateway.py +17 -4
  96. pulumi_gcp/compute/get_health_check.py +25 -4
  97. pulumi_gcp/compute/get_image.py +30 -4
  98. pulumi_gcp/compute/get_image_iam_policy.py +11 -4
  99. pulumi_gcp/compute/get_instance.py +49 -4
  100. pulumi_gcp/compute/get_instance_group.py +18 -4
  101. pulumi_gcp/compute/get_instance_group_manager.py +38 -4
  102. pulumi_gcp/compute/get_instance_iam_policy.py +13 -4
  103. pulumi_gcp/compute/get_instance_serial_port.py +14 -4
  104. pulumi_gcp/compute/get_instance_template.py +45 -4
  105. pulumi_gcp/compute/get_lbip_ranges.py +7 -4
  106. pulumi_gcp/compute/get_machine_image_iam_policy.py +11 -4
  107. pulumi_gcp/compute/get_machine_types.py +12 -4
  108. pulumi_gcp/compute/get_netblock_ip_ranges.py +10 -4
  109. pulumi_gcp/compute/get_network.py +14 -4
  110. pulumi_gcp/compute/get_network_endpoint_group.py +19 -4
  111. pulumi_gcp/compute/get_network_peering.py +17 -4
  112. pulumi_gcp/compute/get_networks.py +9 -4
  113. pulumi_gcp/compute/get_node_types.py +10 -4
  114. pulumi_gcp/compute/get_region_backend_service_iam_policy.py +13 -4
  115. pulumi_gcp/compute/get_region_disk.py +35 -4
  116. pulumi_gcp/compute/get_region_disk_iam_policy.py +13 -4
  117. pulumi_gcp/compute/get_region_instance_group.py +15 -4
  118. pulumi_gcp/compute/get_region_instance_group_manager.py +39 -4
  119. pulumi_gcp/compute/get_region_instance_template.py +44 -4
  120. pulumi_gcp/compute/get_region_network_endpoint_group.py +22 -4
  121. pulumi_gcp/compute/get_region_ssl_certificate.py +19 -4
  122. pulumi_gcp/compute/get_regions.py +10 -4
  123. pulumi_gcp/compute/get_reservation.py +19 -4
  124. pulumi_gcp/compute/get_resource_policy.py +17 -4
  125. pulumi_gcp/compute/get_router.py +18 -4
  126. pulumi_gcp/compute/get_router_nat.py +33 -4
  127. pulumi_gcp/compute/get_router_status.py +14 -4
  128. pulumi_gcp/compute/get_security_policy.py +18 -4
  129. pulumi_gcp/compute/get_snapshot.py +30 -4
  130. pulumi_gcp/compute/get_snapshot_iam_policy.py +11 -4
  131. pulumi_gcp/compute/get_ssl_policy.py +17 -4
  132. pulumi_gcp/compute/get_subnetwork.py +20 -4
  133. pulumi_gcp/compute/get_subnetwork_iam_policy.py +13 -4
  134. pulumi_gcp/compute/get_subnetworks.py +12 -4
  135. pulumi_gcp/compute/get_vpn_gateway.py +14 -4
  136. pulumi_gcp/compute/get_zones.py +12 -4
  137. pulumi_gcp/compute/network.py +236 -0
  138. pulumi_gcp/compute/outputs.py +401 -16
  139. pulumi_gcp/compute/region_backend_service.py +115 -7
  140. pulumi_gcp/compute/route.py +92 -0
  141. pulumi_gcp/compute/router_status.py +14 -4
  142. pulumi_gcp/compute/subnetwork.py +2 -2
  143. pulumi_gcp/container/_inputs.py +106 -0
  144. pulumi_gcp/container/aws_node_pool.py +59 -0
  145. pulumi_gcp/container/get_attached_install_manifest.py +14 -4
  146. pulumi_gcp/container/get_attached_versions.py +10 -4
  147. pulumi_gcp/container/get_aws_versions.py +11 -4
  148. pulumi_gcp/container/get_azure_versions.py +11 -4
  149. pulumi_gcp/container/get_cluster.py +87 -4
  150. pulumi_gcp/container/get_engine_versions.py +18 -4
  151. pulumi_gcp/container/get_registry_image.py +16 -4
  152. pulumi_gcp/container/get_registry_repository.py +10 -4
  153. pulumi_gcp/container/outputs.py +87 -0
  154. pulumi_gcp/containeranalysis/get_note_iam_policy.py +11 -4
  155. pulumi_gcp/datacatalog/get_entry_group_iam_policy.py +13 -4
  156. pulumi_gcp/datacatalog/get_policy_tag_iam_policy.py +9 -4
  157. pulumi_gcp/datacatalog/get_tag_template_iam_policy.py +13 -4
  158. pulumi_gcp/datacatalog/get_taxonomy_iam_policy.py +13 -4
  159. pulumi_gcp/dataform/get_repository_iam_policy.py +13 -4
  160. pulumi_gcp/datafusion/get_instance_iam_policy.py +13 -4
  161. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +13 -4
  162. pulumi_gcp/dataplex/get_asset_iam_policy.py +17 -4
  163. pulumi_gcp/dataplex/get_datascan_iam_policy.py +13 -4
  164. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +13 -4
  165. pulumi_gcp/dataplex/get_entry_type_iam_policy.py +13 -4
  166. pulumi_gcp/dataplex/get_lake_iam_policy.py +13 -4
  167. pulumi_gcp/dataplex/get_task_iam_policy.py +15 -4
  168. pulumi_gcp/dataplex/get_zone_iam_policy.py +15 -4
  169. pulumi_gcp/dataproc/__init__.py +1 -0
  170. pulumi_gcp/dataproc/_inputs.py +1394 -0
  171. pulumi_gcp/dataproc/batch.py +1514 -0
  172. pulumi_gcp/dataproc/get_autoscaling_policy_iam_policy.py +13 -4
  173. pulumi_gcp/dataproc/get_cluster_iam_policy.py +13 -4
  174. pulumi_gcp/dataproc/get_job_iam_policy.py +13 -4
  175. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +13 -4
  176. pulumi_gcp/dataproc/get_metastore_service.py +34 -4
  177. pulumi_gcp/dataproc/get_metastore_service_iam_policy.py +13 -4
  178. pulumi_gcp/dataproc/outputs.py +1127 -0
  179. pulumi_gcp/datastream/get_static_ips.py +10 -4
  180. pulumi_gcp/discoveryengine/_inputs.py +32 -5
  181. pulumi_gcp/discoveryengine/chat_engine.py +64 -0
  182. pulumi_gcp/discoveryengine/outputs.py +22 -3
  183. pulumi_gcp/dns/get_keys.py +11 -4
  184. pulumi_gcp/dns/get_managed_zone.py +14 -4
  185. pulumi_gcp/dns/get_managed_zone_iam_policy.py +11 -4
  186. pulumi_gcp/dns/get_managed_zones.py +8 -4
  187. pulumi_gcp/dns/get_record_set.py +15 -4
  188. pulumi_gcp/endpoints/get_service_consumers_iam_policy.py +11 -4
  189. pulumi_gcp/endpoints/get_service_iam_policy.py +9 -4
  190. pulumi_gcp/filestore/get_instance.py +25 -4
  191. pulumi_gcp/firebase/get_android_app.py +17 -4
  192. pulumi_gcp/firebase/get_android_app_config.py +11 -4
  193. pulumi_gcp/firebase/get_apple_app.py +16 -4
  194. pulumi_gcp/firebase/get_apple_app_config.py +11 -4
  195. pulumi_gcp/firebase/get_hosting_channel.py +16 -4
  196. pulumi_gcp/firebase/get_web_app.py +14 -4
  197. pulumi_gcp/firebase/get_web_app_config.py +16 -4
  198. pulumi_gcp/firestore/field.py +4 -4
  199. pulumi_gcp/folder/get_iam_policy.py +9 -4
  200. pulumi_gcp/folder/get_organization_policy.py +15 -4
  201. pulumi_gcp/gkebackup/get_backup_plan_iam_policy.py +13 -4
  202. pulumi_gcp/gkebackup/get_restore_plan_iam_policy.py +13 -4
  203. pulumi_gcp/gkehub/get_feature_iam_policy.py +13 -4
  204. pulumi_gcp/gkehub/get_membership_binding.py +23 -4
  205. pulumi_gcp/gkehub/get_membership_iam_policy.py +13 -4
  206. pulumi_gcp/gkehub/get_scope_iam_policy.py +11 -4
  207. pulumi_gcp/gkehub/membership_binding.py +6 -6
  208. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  209. pulumi_gcp/gkehub/namespace.py +4 -4
  210. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  211. pulumi_gcp/healthcare/__init__.py +1 -0
  212. pulumi_gcp/healthcare/_inputs.py +538 -0
  213. pulumi_gcp/healthcare/get_consent_store_iam_policy.py +11 -4
  214. pulumi_gcp/healthcare/get_dataset_iam_policy.py +9 -4
  215. pulumi_gcp/healthcare/get_dicom_store_iam_policy.py +9 -4
  216. pulumi_gcp/healthcare/get_fhir_store_iam_policy.py +9 -4
  217. pulumi_gcp/healthcare/get_hl7_v2_store_iam_policy.py +9 -4
  218. pulumi_gcp/healthcare/outputs.py +467 -0
  219. pulumi_gcp/healthcare/pipeline_job.py +1233 -0
  220. pulumi_gcp/iam/get_rule.py +10 -4
  221. pulumi_gcp/iam/get_testable_permissions.py +12 -4
  222. pulumi_gcp/iam/get_workload_identity_pool.py +14 -4
  223. pulumi_gcp/iam/get_workload_identity_pool_provider.py +22 -4
  224. pulumi_gcp/iap/get_app_engine_service_iam_policy.py +13 -4
  225. pulumi_gcp/iap/get_app_engine_version_iam_policy.py +15 -4
  226. pulumi_gcp/iap/get_client.py +11 -4
  227. pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +13 -4
  228. pulumi_gcp/iap/get_tunnel_iam_policy.py +9 -4
  229. pulumi_gcp/iap/get_tunnel_instance_iam_policy.py +13 -4
  230. pulumi_gcp/iap/get_web_backend_service_iam_policy.py +11 -4
  231. pulumi_gcp/iap/get_web_iam_policy.py +9 -4
  232. pulumi_gcp/iap/get_web_region_backend_service_iam_policy.py +13 -4
  233. pulumi_gcp/iap/get_web_type_app_engine_iam_policy.py +11 -4
  234. pulumi_gcp/iap/get_web_type_compute_iam_policy.py +9 -4
  235. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  236. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  237. pulumi_gcp/kms/get_crypto_key_iam_policy.py +9 -4
  238. pulumi_gcp/kms/get_crypto_key_latest_version.py +15 -4
  239. pulumi_gcp/kms/get_crypto_key_versions.py +11 -4
  240. pulumi_gcp/kms/get_crypto_keys.py +10 -4
  241. pulumi_gcp/kms/get_ekm_connection_iam_policy.py +13 -4
  242. pulumi_gcp/kms/get_key_ring_iam_policy.py +9 -4
  243. pulumi_gcp/kms/get_key_rings.py +12 -4
  244. pulumi_gcp/kms/get_kms_crypto_key.py +21 -4
  245. pulumi_gcp/kms/get_kms_crypto_key_version.py +14 -4
  246. pulumi_gcp/kms/get_kms_key_ring.py +11 -4
  247. pulumi_gcp/kms/get_kms_secret.py +12 -4
  248. pulumi_gcp/kms/get_kms_secret_asymmetric.py +12 -4
  249. pulumi_gcp/kms/get_kms_secret_ciphertext.py +10 -4
  250. pulumi_gcp/kms/key_handle.py +8 -8
  251. pulumi_gcp/logging/get_folder_settings.py +13 -4
  252. pulumi_gcp/logging/get_log_view_iam_policy.py +15 -4
  253. pulumi_gcp/logging/get_organization_settings.py +13 -4
  254. pulumi_gcp/logging/get_project_cmek_settings.py +12 -4
  255. pulumi_gcp/logging/get_project_settings.py +13 -4
  256. pulumi_gcp/logging/get_sink.py +14 -4
  257. pulumi_gcp/logging/log_scope.py +7 -7
  258. pulumi_gcp/monitoring/get_app_engine_service.py +14 -4
  259. pulumi_gcp/monitoring/get_cluster_istio_service.py +20 -4
  260. pulumi_gcp/monitoring/get_istio_canonical_service.py +18 -4
  261. pulumi_gcp/monitoring/get_mesh_istio_service.py +18 -4
  262. pulumi_gcp/monitoring/get_notification_channel.py +21 -4
  263. pulumi_gcp/monitoring/get_secret_version.py +16 -4
  264. pulumi_gcp/monitoring/get_uptime_check_i_ps.py +6 -4
  265. pulumi_gcp/netapp/backup_vault.py +2 -2
  266. pulumi_gcp/networkconnectivity/_inputs.py +70 -0
  267. pulumi_gcp/networkconnectivity/internal_range.py +117 -7
  268. pulumi_gcp/networkconnectivity/outputs.py +42 -0
  269. pulumi_gcp/networkconnectivity/spoke.py +10 -10
  270. pulumi_gcp/networksecurity/get_address_group_iam_policy.py +13 -4
  271. pulumi_gcp/networkservices/gateway.py +54 -0
  272. pulumi_gcp/notebooks/get_instance_iam_policy.py +13 -4
  273. pulumi_gcp/notebooks/get_runtime_iam_policy.py +13 -4
  274. pulumi_gcp/organizations/get_active_folder.py +12 -4
  275. pulumi_gcp/organizations/get_billing_account.py +15 -4
  276. pulumi_gcp/organizations/get_client_config.py +10 -4
  277. pulumi_gcp/organizations/get_client_open_id_user_info.py +6 -4
  278. pulumi_gcp/organizations/get_folder.py +17 -4
  279. pulumi_gcp/organizations/get_folders.py +8 -4
  280. pulumi_gcp/organizations/get_iam_policy.py +10 -4
  281. pulumi_gcp/organizations/get_organization.py +14 -4
  282. pulumi_gcp/organizations/get_project.py +18 -4
  283. pulumi_gcp/orgpolicy/policy.py +2 -2
  284. pulumi_gcp/privilegedaccessmanager/get_entitlement.py +22 -4
  285. pulumi_gcp/projects/get_iam_policy.py +9 -4
  286. pulumi_gcp/projects/get_organization_policy.py +15 -4
  287. pulumi_gcp/projects/get_project.py +8 -4
  288. pulumi_gcp/projects/get_project_service.py +12 -4
  289. pulumi_gcp/pubsub/_inputs.py +333 -1
  290. pulumi_gcp/pubsub/get_schema_iam_policy.py +11 -4
  291. pulumi_gcp/pubsub/get_subscription.py +25 -4
  292. pulumi_gcp/pubsub/get_subscription_iam_policy.py +11 -4
  293. pulumi_gcp/pubsub/get_topic.py +17 -4
  294. pulumi_gcp/pubsub/get_topic_iam_policy.py +11 -4
  295. pulumi_gcp/pubsub/outputs.py +410 -2
  296. pulumi_gcp/pubsub/subscription.py +6 -6
  297. pulumi_gcp/pubsub/topic.py +44 -0
  298. pulumi_gcp/pulumi-plugin.json +1 -1
  299. pulumi_gcp/redis/get_instance.py +44 -4
  300. pulumi_gcp/runtimeconfig/get_config.py +10 -4
  301. pulumi_gcp/runtimeconfig/get_config_iam_policy.py +11 -4
  302. pulumi_gcp/runtimeconfig/get_variable.py +14 -4
  303. pulumi_gcp/secretmanager/get_regional_secret.py +25 -4
  304. pulumi_gcp/secretmanager/get_regional_secret_iam_policy.py +13 -4
  305. pulumi_gcp/secretmanager/get_regional_secret_version.py +19 -4
  306. pulumi_gcp/secretmanager/get_regional_secret_version_access.py +15 -4
  307. pulumi_gcp/secretmanager/get_regional_secrets.py +12 -4
  308. pulumi_gcp/secretmanager/get_secret.py +23 -4
  309. pulumi_gcp/secretmanager/get_secret_iam_policy.py +11 -4
  310. pulumi_gcp/secretmanager/get_secret_version.py +16 -4
  311. pulumi_gcp/secretmanager/get_secret_version_access.py +13 -4
  312. pulumi_gcp/secretmanager/get_secrets.py +10 -4
  313. pulumi_gcp/secretmanager/outputs.py +2 -10
  314. pulumi_gcp/securesourcemanager/__init__.py +1 -0
  315. pulumi_gcp/securesourcemanager/branch_rule.py +975 -0
  316. pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +13 -4
  317. pulumi_gcp/securesourcemanager/get_repository_iam_policy.py +13 -4
  318. pulumi_gcp/securesourcemanager/repository.py +0 -2
  319. pulumi_gcp/securitycenter/get_source_iam_policy.py +11 -4
  320. pulumi_gcp/securitycenter/get_v2_organization_source_iam_policy.py +11 -4
  321. pulumi_gcp/securityposture/posture.py +0 -2
  322. pulumi_gcp/securityposture/posture_deployment.py +0 -2
  323. pulumi_gcp/serviceaccount/get_account.py +14 -4
  324. pulumi_gcp/serviceaccount/get_account_access_token.py +14 -4
  325. pulumi_gcp/serviceaccount/get_account_id_token.py +14 -4
  326. pulumi_gcp/serviceaccount/get_account_jwt.py +14 -4
  327. pulumi_gcp/serviceaccount/get_account_key.py +13 -4
  328. pulumi_gcp/serviceaccount/get_iam_policy.py +9 -4
  329. pulumi_gcp/servicedirectory/get_namespace_iam_policy.py +9 -4
  330. pulumi_gcp/servicedirectory/get_service_iam_policy.py +9 -4
  331. pulumi_gcp/servicenetworking/get_peered_dns_domain.py +15 -4
  332. pulumi_gcp/serviceusage/consumer_quota_override.py +0 -2
  333. pulumi_gcp/siteverification/__init__.py +1 -0
  334. pulumi_gcp/siteverification/get_token.py +12 -4
  335. pulumi_gcp/siteverification/owner.py +398 -0
  336. pulumi_gcp/sourcerepo/get_repository.py +24 -5
  337. pulumi_gcp/sourcerepo/get_repository_iam_policy.py +11 -4
  338. pulumi_gcp/sourcerepo/repository.py +47 -0
  339. pulumi_gcp/spanner/backup_schedule.py +4 -2
  340. pulumi_gcp/spanner/get_database_iam_policy.py +13 -4
  341. pulumi_gcp/spanner/get_instance.py +22 -4
  342. pulumi_gcp/spanner/get_instance_iam_policy.py +11 -4
  343. pulumi_gcp/sql/get_backup_run.py +16 -4
  344. pulumi_gcp/sql/get_ca_certs.py +11 -4
  345. pulumi_gcp/sql/get_database.py +15 -4
  346. pulumi_gcp/sql/get_database_instance.py +32 -4
  347. pulumi_gcp/sql/get_database_instance_latest_recovery_time.py +10 -4
  348. pulumi_gcp/sql/get_database_instances.py +18 -4
  349. pulumi_gcp/sql/get_databases.py +10 -4
  350. pulumi_gcp/sql/get_tiers.py +8 -4
  351. pulumi_gcp/storage/get_bucket.py +34 -4
  352. pulumi_gcp/storage/get_bucket_iam_policy.py +9 -4
  353. pulumi_gcp/storage/get_bucket_object.py +30 -4
  354. pulumi_gcp/storage/get_bucket_object_content.py +31 -4
  355. pulumi_gcp/storage/get_bucket_objects.py +12 -4
  356. pulumi_gcp/storage/get_buckets.py +10 -4
  357. pulumi_gcp/storage/get_managed_folder_iam_policy.py +11 -4
  358. pulumi_gcp/storage/get_object_signed_url.py +22 -4
  359. pulumi_gcp/storage/get_project_service_account.py +11 -4
  360. pulumi_gcp/storage/get_transfer_project_service_account.py +10 -4
  361. pulumi_gcp/storage/get_transfer_project_servie_account.py +10 -4
  362. pulumi_gcp/tags/get_tag_key.py +14 -4
  363. pulumi_gcp/tags/get_tag_key_iam_policy.py +9 -4
  364. pulumi_gcp/tags/get_tag_keys.py +8 -4
  365. pulumi_gcp/tags/get_tag_value.py +14 -4
  366. pulumi_gcp/tags/get_tag_value_iam_policy.py +9 -4
  367. pulumi_gcp/tags/get_tag_values.py +8 -4
  368. pulumi_gcp/tags/tag_key.py +7 -7
  369. pulumi_gcp/tags/tag_value.py +7 -7
  370. pulumi_gcp/tpu/get_tensorflow_versions.py +10 -4
  371. pulumi_gcp/tpu/get_v2_accelerator_types.py +10 -4
  372. pulumi_gcp/tpu/get_v2_runtime_versions.py +10 -4
  373. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  374. pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +13 -4
  375. pulumi_gcp/vertex/get_ai_featurestore_entitytype_iam_policy.py +11 -4
  376. pulumi_gcp/vertex/get_ai_featurestore_iam_policy.py +13 -4
  377. pulumi_gcp/vertex/get_ai_index.py +24 -4
  378. pulumi_gcp/vmwareengine/get_cluster.py +13 -4
  379. pulumi_gcp/vmwareengine/get_external_access_rule.py +21 -4
  380. pulumi_gcp/vmwareengine/get_external_address.py +16 -4
  381. pulumi_gcp/vmwareengine/get_network.py +16 -4
  382. pulumi_gcp/vmwareengine/get_network_peering.py +23 -4
  383. pulumi_gcp/vmwareengine/get_network_policy.py +20 -4
  384. pulumi_gcp/vmwareengine/get_nsx_credentials.py +9 -4
  385. pulumi_gcp/vmwareengine/get_private_cloud.py +22 -4
  386. pulumi_gcp/vmwareengine/get_subnet.py +20 -4
  387. pulumi_gcp/vmwareengine/get_vcenter_credentials.py +9 -4
  388. pulumi_gcp/vpcaccess/get_connector.py +22 -4
  389. pulumi_gcp/workbench/get_instance_iam_policy.py +13 -4
  390. pulumi_gcp/workstations/get_workstation_config_iam_policy.py +15 -4
  391. pulumi_gcp/workstations/get_workstation_iam_policy.py +17 -4
  392. {pulumi_gcp-8.5.0a1728368389.dist-info → pulumi_gcp-8.6.0.dist-info}/METADATA +2 -2
  393. {pulumi_gcp-8.5.0a1728368389.dist-info → pulumi_gcp-8.6.0.dist-info}/RECORD +395 -391
  394. {pulumi_gcp-8.5.0a1728368389.dist-info → pulumi_gcp-8.6.0.dist-info}/WHEEL +0 -0
  395. {pulumi_gcp-8.5.0a1728368389.dist-info → pulumi_gcp-8.6.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1233 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['PipelineJobArgs', 'PipelineJob']
20
+
21
+ @pulumi.input_type
22
+ class PipelineJobArgs:
23
+ def __init__(__self__, *,
24
+ dataset: pulumi.Input[str],
25
+ location: pulumi.Input[str],
26
+ backfill_pipeline_job: Optional[pulumi.Input['PipelineJobBackfillPipelineJobArgs']] = None,
27
+ disable_lineage: Optional[pulumi.Input[bool]] = None,
28
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
29
+ mapping_pipeline_job: Optional[pulumi.Input['PipelineJobMappingPipelineJobArgs']] = None,
30
+ name: Optional[pulumi.Input[str]] = None,
31
+ reconciliation_pipeline_job: Optional[pulumi.Input['PipelineJobReconciliationPipelineJobArgs']] = None):
32
+ """
33
+ The set of arguments for constructing a PipelineJob resource.
34
+ :param pulumi.Input[str] dataset: Healthcare Dataset under which the Pipeline Job is to run
35
+
36
+
37
+ - - -
38
+ :param pulumi.Input[str] location: Location where the Pipeline Job is to run
39
+ :param pulumi.Input['PipelineJobBackfillPipelineJobArgs'] backfill_pipeline_job: Specifies the backfill configuration.
40
+ Structure is documented below.
41
+ :param pulumi.Input[bool] disable_lineage: If true, disables writing lineage for the pipeline.
42
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-supplied key-value pairs used to organize Pipeline Jobs.
43
+ Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of
44
+ maximum 128 bytes, and must conform to the following PCRE regular expression:
45
+ [\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62}
46
+ Label values are optional, must be between 1 and 63 characters long, have a
47
+ UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE
48
+ regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}
49
+ No more than 64 labels can be associated with a given pipeline.
50
+ An object containing a list of "key": value pairs.
51
+ Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
52
+
53
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
54
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
55
+ :param pulumi.Input['PipelineJobMappingPipelineJobArgs'] mapping_pipeline_job: Specifies mapping configuration.
56
+ Structure is documented below.
57
+ :param pulumi.Input[str] name: Specifies the name of the pipeline job. This field is user-assigned.
58
+ :param pulumi.Input['PipelineJobReconciliationPipelineJobArgs'] reconciliation_pipeline_job: Specifies reconciliation configuration.
59
+ Structure is documented below.
60
+ """
61
+ pulumi.set(__self__, "dataset", dataset)
62
+ pulumi.set(__self__, "location", location)
63
+ if backfill_pipeline_job is not None:
64
+ pulumi.set(__self__, "backfill_pipeline_job", backfill_pipeline_job)
65
+ if disable_lineage is not None:
66
+ pulumi.set(__self__, "disable_lineage", disable_lineage)
67
+ if labels is not None:
68
+ pulumi.set(__self__, "labels", labels)
69
+ if mapping_pipeline_job is not None:
70
+ pulumi.set(__self__, "mapping_pipeline_job", mapping_pipeline_job)
71
+ if name is not None:
72
+ pulumi.set(__self__, "name", name)
73
+ if reconciliation_pipeline_job is not None:
74
+ pulumi.set(__self__, "reconciliation_pipeline_job", reconciliation_pipeline_job)
75
+
76
+ @property
77
+ @pulumi.getter
78
+ def dataset(self) -> pulumi.Input[str]:
79
+ """
80
+ Healthcare Dataset under which the Pipeline Job is to run
81
+
82
+
83
+ - - -
84
+ """
85
+ return pulumi.get(self, "dataset")
86
+
87
+ @dataset.setter
88
+ def dataset(self, value: pulumi.Input[str]):
89
+ pulumi.set(self, "dataset", value)
90
+
91
+ @property
92
+ @pulumi.getter
93
+ def location(self) -> pulumi.Input[str]:
94
+ """
95
+ Location where the Pipeline Job is to run
96
+ """
97
+ return pulumi.get(self, "location")
98
+
99
+ @location.setter
100
+ def location(self, value: pulumi.Input[str]):
101
+ pulumi.set(self, "location", value)
102
+
103
+ @property
104
+ @pulumi.getter(name="backfillPipelineJob")
105
+ def backfill_pipeline_job(self) -> Optional[pulumi.Input['PipelineJobBackfillPipelineJobArgs']]:
106
+ """
107
+ Specifies the backfill configuration.
108
+ Structure is documented below.
109
+ """
110
+ return pulumi.get(self, "backfill_pipeline_job")
111
+
112
+ @backfill_pipeline_job.setter
113
+ def backfill_pipeline_job(self, value: Optional[pulumi.Input['PipelineJobBackfillPipelineJobArgs']]):
114
+ pulumi.set(self, "backfill_pipeline_job", value)
115
+
116
+ @property
117
+ @pulumi.getter(name="disableLineage")
118
+ def disable_lineage(self) -> Optional[pulumi.Input[bool]]:
119
+ """
120
+ If true, disables writing lineage for the pipeline.
121
+ """
122
+ return pulumi.get(self, "disable_lineage")
123
+
124
+ @disable_lineage.setter
125
+ def disable_lineage(self, value: Optional[pulumi.Input[bool]]):
126
+ pulumi.set(self, "disable_lineage", value)
127
+
128
+ @property
129
+ @pulumi.getter
130
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
131
+ """
132
+ User-supplied key-value pairs used to organize Pipeline Jobs.
133
+ Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of
134
+ maximum 128 bytes, and must conform to the following PCRE regular expression:
135
+ [\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62}
136
+ Label values are optional, must be between 1 and 63 characters long, have a
137
+ UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE
138
+ regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}
139
+ No more than 64 labels can be associated with a given pipeline.
140
+ An object containing a list of "key": value pairs.
141
+ Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
142
+
143
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
144
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
145
+ """
146
+ return pulumi.get(self, "labels")
147
+
148
+ @labels.setter
149
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
150
+ pulumi.set(self, "labels", value)
151
+
152
+ @property
153
+ @pulumi.getter(name="mappingPipelineJob")
154
+ def mapping_pipeline_job(self) -> Optional[pulumi.Input['PipelineJobMappingPipelineJobArgs']]:
155
+ """
156
+ Specifies mapping configuration.
157
+ Structure is documented below.
158
+ """
159
+ return pulumi.get(self, "mapping_pipeline_job")
160
+
161
+ @mapping_pipeline_job.setter
162
+ def mapping_pipeline_job(self, value: Optional[pulumi.Input['PipelineJobMappingPipelineJobArgs']]):
163
+ pulumi.set(self, "mapping_pipeline_job", value)
164
+
165
+ @property
166
+ @pulumi.getter
167
+ def name(self) -> Optional[pulumi.Input[str]]:
168
+ """
169
+ Specifies the name of the pipeline job. This field is user-assigned.
170
+ """
171
+ return pulumi.get(self, "name")
172
+
173
+ @name.setter
174
+ def name(self, value: Optional[pulumi.Input[str]]):
175
+ pulumi.set(self, "name", value)
176
+
177
+ @property
178
+ @pulumi.getter(name="reconciliationPipelineJob")
179
+ def reconciliation_pipeline_job(self) -> Optional[pulumi.Input['PipelineJobReconciliationPipelineJobArgs']]:
180
+ """
181
+ Specifies reconciliation configuration.
182
+ Structure is documented below.
183
+ """
184
+ return pulumi.get(self, "reconciliation_pipeline_job")
185
+
186
+ @reconciliation_pipeline_job.setter
187
+ def reconciliation_pipeline_job(self, value: Optional[pulumi.Input['PipelineJobReconciliationPipelineJobArgs']]):
188
+ pulumi.set(self, "reconciliation_pipeline_job", value)
189
+
190
+
191
+ @pulumi.input_type
192
+ class _PipelineJobState:
193
+ def __init__(__self__, *,
194
+ backfill_pipeline_job: Optional[pulumi.Input['PipelineJobBackfillPipelineJobArgs']] = None,
195
+ dataset: Optional[pulumi.Input[str]] = None,
196
+ disable_lineage: Optional[pulumi.Input[bool]] = None,
197
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
198
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
199
+ location: Optional[pulumi.Input[str]] = None,
200
+ mapping_pipeline_job: Optional[pulumi.Input['PipelineJobMappingPipelineJobArgs']] = None,
201
+ name: Optional[pulumi.Input[str]] = None,
202
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
203
+ reconciliation_pipeline_job: Optional[pulumi.Input['PipelineJobReconciliationPipelineJobArgs']] = None,
204
+ self_link: Optional[pulumi.Input[str]] = None):
205
+ """
206
+ Input properties used for looking up and filtering PipelineJob resources.
207
+ :param pulumi.Input['PipelineJobBackfillPipelineJobArgs'] backfill_pipeline_job: Specifies the backfill configuration.
208
+ Structure is documented below.
209
+ :param pulumi.Input[str] dataset: Healthcare Dataset under which the Pipeline Job is to run
210
+
211
+
212
+ - - -
213
+ :param pulumi.Input[bool] disable_lineage: If true, disables writing lineage for the pipeline.
214
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
215
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-supplied key-value pairs used to organize Pipeline Jobs.
216
+ Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of
217
+ maximum 128 bytes, and must conform to the following PCRE regular expression:
218
+ [\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62}
219
+ Label values are optional, must be between 1 and 63 characters long, have a
220
+ UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE
221
+ regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}
222
+ No more than 64 labels can be associated with a given pipeline.
223
+ An object containing a list of "key": value pairs.
224
+ Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
225
+
226
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
227
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
228
+ :param pulumi.Input[str] location: Location where the Pipeline Job is to run
229
+ :param pulumi.Input['PipelineJobMappingPipelineJobArgs'] mapping_pipeline_job: Specifies mapping configuration.
230
+ Structure is documented below.
231
+ :param pulumi.Input[str] name: Specifies the name of the pipeline job. This field is user-assigned.
232
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
233
+ and default labels configured on the provider.
234
+ :param pulumi.Input['PipelineJobReconciliationPipelineJobArgs'] reconciliation_pipeline_job: Specifies reconciliation configuration.
235
+ Structure is documented below.
236
+ :param pulumi.Input[str] self_link: The fully qualified name of this dataset
237
+ """
238
+ if backfill_pipeline_job is not None:
239
+ pulumi.set(__self__, "backfill_pipeline_job", backfill_pipeline_job)
240
+ if dataset is not None:
241
+ pulumi.set(__self__, "dataset", dataset)
242
+ if disable_lineage is not None:
243
+ pulumi.set(__self__, "disable_lineage", disable_lineage)
244
+ if effective_labels is not None:
245
+ pulumi.set(__self__, "effective_labels", effective_labels)
246
+ if labels is not None:
247
+ pulumi.set(__self__, "labels", labels)
248
+ if location is not None:
249
+ pulumi.set(__self__, "location", location)
250
+ if mapping_pipeline_job is not None:
251
+ pulumi.set(__self__, "mapping_pipeline_job", mapping_pipeline_job)
252
+ if name is not None:
253
+ pulumi.set(__self__, "name", name)
254
+ if pulumi_labels is not None:
255
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
256
+ if reconciliation_pipeline_job is not None:
257
+ pulumi.set(__self__, "reconciliation_pipeline_job", reconciliation_pipeline_job)
258
+ if self_link is not None:
259
+ pulumi.set(__self__, "self_link", self_link)
260
+
261
+ @property
262
+ @pulumi.getter(name="backfillPipelineJob")
263
+ def backfill_pipeline_job(self) -> Optional[pulumi.Input['PipelineJobBackfillPipelineJobArgs']]:
264
+ """
265
+ Specifies the backfill configuration.
266
+ Structure is documented below.
267
+ """
268
+ return pulumi.get(self, "backfill_pipeline_job")
269
+
270
+ @backfill_pipeline_job.setter
271
+ def backfill_pipeline_job(self, value: Optional[pulumi.Input['PipelineJobBackfillPipelineJobArgs']]):
272
+ pulumi.set(self, "backfill_pipeline_job", value)
273
+
274
+ @property
275
+ @pulumi.getter
276
+ def dataset(self) -> Optional[pulumi.Input[str]]:
277
+ """
278
+ Healthcare Dataset under which the Pipeline Job is to run
279
+
280
+
281
+ - - -
282
+ """
283
+ return pulumi.get(self, "dataset")
284
+
285
+ @dataset.setter
286
+ def dataset(self, value: Optional[pulumi.Input[str]]):
287
+ pulumi.set(self, "dataset", value)
288
+
289
+ @property
290
+ @pulumi.getter(name="disableLineage")
291
+ def disable_lineage(self) -> Optional[pulumi.Input[bool]]:
292
+ """
293
+ If true, disables writing lineage for the pipeline.
294
+ """
295
+ return pulumi.get(self, "disable_lineage")
296
+
297
+ @disable_lineage.setter
298
+ def disable_lineage(self, value: Optional[pulumi.Input[bool]]):
299
+ pulumi.set(self, "disable_lineage", value)
300
+
301
+ @property
302
+ @pulumi.getter(name="effectiveLabels")
303
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
304
+ """
305
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
306
+ """
307
+ return pulumi.get(self, "effective_labels")
308
+
309
+ @effective_labels.setter
310
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
311
+ pulumi.set(self, "effective_labels", value)
312
+
313
+ @property
314
+ @pulumi.getter
315
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
316
+ """
317
+ User-supplied key-value pairs used to organize Pipeline Jobs.
318
+ Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of
319
+ maximum 128 bytes, and must conform to the following PCRE regular expression:
320
+ [\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62}
321
+ Label values are optional, must be between 1 and 63 characters long, have a
322
+ UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE
323
+ regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}
324
+ No more than 64 labels can be associated with a given pipeline.
325
+ An object containing a list of "key": value pairs.
326
+ Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
327
+
328
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
329
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
330
+ """
331
+ return pulumi.get(self, "labels")
332
+
333
+ @labels.setter
334
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
335
+ pulumi.set(self, "labels", value)
336
+
337
+ @property
338
+ @pulumi.getter
339
+ def location(self) -> Optional[pulumi.Input[str]]:
340
+ """
341
+ Location where the Pipeline Job is to run
342
+ """
343
+ return pulumi.get(self, "location")
344
+
345
+ @location.setter
346
+ def location(self, value: Optional[pulumi.Input[str]]):
347
+ pulumi.set(self, "location", value)
348
+
349
+ @property
350
+ @pulumi.getter(name="mappingPipelineJob")
351
+ def mapping_pipeline_job(self) -> Optional[pulumi.Input['PipelineJobMappingPipelineJobArgs']]:
352
+ """
353
+ Specifies mapping configuration.
354
+ Structure is documented below.
355
+ """
356
+ return pulumi.get(self, "mapping_pipeline_job")
357
+
358
+ @mapping_pipeline_job.setter
359
+ def mapping_pipeline_job(self, value: Optional[pulumi.Input['PipelineJobMappingPipelineJobArgs']]):
360
+ pulumi.set(self, "mapping_pipeline_job", value)
361
+
362
+ @property
363
+ @pulumi.getter
364
+ def name(self) -> Optional[pulumi.Input[str]]:
365
+ """
366
+ Specifies the name of the pipeline job. This field is user-assigned.
367
+ """
368
+ return pulumi.get(self, "name")
369
+
370
+ @name.setter
371
+ def name(self, value: Optional[pulumi.Input[str]]):
372
+ pulumi.set(self, "name", value)
373
+
374
+ @property
375
+ @pulumi.getter(name="pulumiLabels")
376
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
377
+ """
378
+ The combination of labels configured directly on the resource
379
+ and default labels configured on the provider.
380
+ """
381
+ return pulumi.get(self, "pulumi_labels")
382
+
383
+ @pulumi_labels.setter
384
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
385
+ pulumi.set(self, "pulumi_labels", value)
386
+
387
+ @property
388
+ @pulumi.getter(name="reconciliationPipelineJob")
389
+ def reconciliation_pipeline_job(self) -> Optional[pulumi.Input['PipelineJobReconciliationPipelineJobArgs']]:
390
+ """
391
+ Specifies reconciliation configuration.
392
+ Structure is documented below.
393
+ """
394
+ return pulumi.get(self, "reconciliation_pipeline_job")
395
+
396
+ @reconciliation_pipeline_job.setter
397
+ def reconciliation_pipeline_job(self, value: Optional[pulumi.Input['PipelineJobReconciliationPipelineJobArgs']]):
398
+ pulumi.set(self, "reconciliation_pipeline_job", value)
399
+
400
+ @property
401
+ @pulumi.getter(name="selfLink")
402
+ def self_link(self) -> Optional[pulumi.Input[str]]:
403
+ """
404
+ The fully qualified name of this dataset
405
+ """
406
+ return pulumi.get(self, "self_link")
407
+
408
+ @self_link.setter
409
+ def self_link(self, value: Optional[pulumi.Input[str]]):
410
+ pulumi.set(self, "self_link", value)
411
+
412
+
413
+ class PipelineJob(pulumi.CustomResource):
414
+ @overload
415
+ def __init__(__self__,
416
+ resource_name: str,
417
+ opts: Optional[pulumi.ResourceOptions] = None,
418
+ backfill_pipeline_job: Optional[pulumi.Input[Union['PipelineJobBackfillPipelineJobArgs', 'PipelineJobBackfillPipelineJobArgsDict']]] = None,
419
+ dataset: Optional[pulumi.Input[str]] = None,
420
+ disable_lineage: Optional[pulumi.Input[bool]] = None,
421
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
422
+ location: Optional[pulumi.Input[str]] = None,
423
+ mapping_pipeline_job: Optional[pulumi.Input[Union['PipelineJobMappingPipelineJobArgs', 'PipelineJobMappingPipelineJobArgsDict']]] = None,
424
+ name: Optional[pulumi.Input[str]] = None,
425
+ reconciliation_pipeline_job: Optional[pulumi.Input[Union['PipelineJobReconciliationPipelineJobArgs', 'PipelineJobReconciliationPipelineJobArgsDict']]] = None,
426
+ __props__=None):
427
+ """
428
+ PipelineJobs are Long Running Operations on Healthcare API to Map or Reconcile
429
+ incoming data into FHIR format
430
+
431
+ To get more information about PipelineJob, see:
432
+
433
+ * [API documentation](https://cloud.google.com/healthcare-api/healthcare-data-engine/docs/reference/rest/v1/projects.locations.datasets.pipelineJobs)
434
+ * How-to Guides
435
+ * [Creating a PipelineJob](https://cloud.google.com/healthcare-api/private/healthcare-data-engine/docs/reference/rest/v1/projects.locations.datasets.pipelineJobs#PipelineJob)
436
+
437
+ ## Example Usage
438
+
439
+ ### Healthcare Pipeline Job Reconciliation
440
+
441
+ ```python
442
+ import pulumi
443
+ import pulumi_gcp as gcp
444
+
445
+ project = gcp.organizations.get_project()
446
+ dataset = gcp.healthcare.Dataset("dataset",
447
+ name="example_dataset",
448
+ location="us-central1")
449
+ fhirstore = gcp.healthcare.FhirStore("fhirstore",
450
+ name="fhir_store",
451
+ dataset=dataset.id,
452
+ version="R4",
453
+ enable_update_create=True,
454
+ disable_referential_integrity=True)
455
+ bucket = gcp.storage.Bucket("bucket",
456
+ name="example_bucket_name",
457
+ location="us-central1",
458
+ uniform_bucket_level_access=True)
459
+ merge_file = gcp.storage.BucketObject("merge_file",
460
+ name="merge.wstl",
461
+ content=" ",
462
+ bucket=bucket.name)
463
+ example_pipeline = gcp.healthcare.PipelineJob("example-pipeline",
464
+ name="example_pipeline_job",
465
+ location="us-central1",
466
+ dataset=dataset.id,
467
+ disable_lineage=True,
468
+ reconciliation_pipeline_job={
469
+ "merge_config": {
470
+ "description": "sample description for reconciliation rules",
471
+ "whistle_config_source": {
472
+ "uri": pulumi.Output.all(
473
+ bucketName=bucket.name,
474
+ mergeFileName=merge_file.name
475
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucketName']}/{resolved_outputs['mergeFileName']}")
476
+ ,
477
+ "import_uri_prefix": bucket.name.apply(lambda name: f"gs://{name}"),
478
+ },
479
+ },
480
+ "matching_uri_prefix": bucket.name.apply(lambda name: f"gs://{name}"),
481
+ "fhir_store_destination": pulumi.Output.all(
482
+ id=dataset.id,
483
+ name=fhirstore.name
484
+ ).apply(lambda resolved_outputs: f"{resolved_outputs['id']}/fhirStores/{resolved_outputs['name']}")
485
+ ,
486
+ })
487
+ hsa = gcp.storage.BucketIAMMember("hsa",
488
+ bucket=bucket.name,
489
+ role="roles/storage.objectUser",
490
+ member=f"serviceAccount:service-{project.number}@gcp-sa-healthcare.iam.gserviceaccount.com")
491
+ ```
492
+ ### Healthcare Pipeline Job Backfill
493
+
494
+ ```python
495
+ import pulumi
496
+ import pulumi_gcp as gcp
497
+
498
+ dataset = gcp.healthcare.Dataset("dataset",
499
+ name="example_dataset",
500
+ location="us-central1")
501
+ example_pipeline = gcp.healthcare.PipelineJob("example-pipeline",
502
+ name="example_backfill_pipeline",
503
+ location="us-central1",
504
+ dataset=dataset.id,
505
+ backfill_pipeline_job={
506
+ "mapping_pipeline_job": dataset.id.apply(lambda id: f"{id}/pipelinejobs/example_mapping_pipeline"),
507
+ })
508
+ ```
509
+ ### Healthcare Pipeline Job Whistle Mapping
510
+
511
+ ```python
512
+ import pulumi
513
+ import pulumi_gcp as gcp
514
+
515
+ project = gcp.organizations.get_project()
516
+ dataset = gcp.healthcare.Dataset("dataset",
517
+ name="example_dataset",
518
+ location="us-central1")
519
+ source_fhirstore = gcp.healthcare.FhirStore("source_fhirstore",
520
+ name="source_fhir_store",
521
+ dataset=dataset.id,
522
+ version="R4",
523
+ enable_update_create=True,
524
+ disable_referential_integrity=True)
525
+ dest_fhirstore = gcp.healthcare.FhirStore("dest_fhirstore",
526
+ name="dest_fhir_store",
527
+ dataset=dataset.id,
528
+ version="R4",
529
+ enable_update_create=True,
530
+ disable_referential_integrity=True)
531
+ bucket = gcp.storage.Bucket("bucket",
532
+ name="example_bucket_name",
533
+ location="us-central1",
534
+ uniform_bucket_level_access=True)
535
+ mapping_file = gcp.storage.BucketObject("mapping_file",
536
+ name="mapping.wstl",
537
+ content=" ",
538
+ bucket=bucket.name)
539
+ example_mapping_pipeline = gcp.healthcare.PipelineJob("example-mapping-pipeline",
540
+ name="example_mapping_pipeline_job",
541
+ location="us-central1",
542
+ dataset=dataset.id,
543
+ disable_lineage=True,
544
+ labels={
545
+ "example_label_key": "example_label_value",
546
+ },
547
+ mapping_pipeline_job={
548
+ "mapping_config": {
549
+ "whistle_config_source": {
550
+ "uri": pulumi.Output.all(
551
+ bucketName=bucket.name,
552
+ mappingFileName=mapping_file.name
553
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucketName']}/{resolved_outputs['mappingFileName']}")
554
+ ,
555
+ "import_uri_prefix": bucket.name.apply(lambda name: f"gs://{name}"),
556
+ },
557
+ "description": "example description for mapping configuration",
558
+ },
559
+ "fhir_streaming_source": {
560
+ "fhir_store": pulumi.Output.all(
561
+ id=dataset.id,
562
+ name=source_fhirstore.name
563
+ ).apply(lambda resolved_outputs: f"{resolved_outputs['id']}/fhirStores/{resolved_outputs['name']}")
564
+ ,
565
+ "description": "example description for streaming fhirstore",
566
+ },
567
+ "fhir_store_destination": pulumi.Output.all(
568
+ id=dataset.id,
569
+ name=dest_fhirstore.name
570
+ ).apply(lambda resolved_outputs: f"{resolved_outputs['id']}/fhirStores/{resolved_outputs['name']}")
571
+ ,
572
+ })
573
+ hsa = gcp.storage.BucketIAMMember("hsa",
574
+ bucket=bucket.name,
575
+ role="roles/storage.objectUser",
576
+ member=f"serviceAccount:service-{project.number}@gcp-sa-healthcare.iam.gserviceaccount.com")
577
+ ```
578
+ ### Healthcare Pipeline Job Mapping Recon Dest
579
+
580
+ ```python
581
+ import pulumi
582
+ import pulumi_gcp as gcp
583
+
584
+ project = gcp.organizations.get_project()
585
+ dataset = gcp.healthcare.Dataset("dataset",
586
+ name="example_dataset",
587
+ location="us-central1")
588
+ dest_fhirstore = gcp.healthcare.FhirStore("dest_fhirstore",
589
+ name="dest_fhir_store",
590
+ dataset=dataset.id,
591
+ version="R4",
592
+ enable_update_create=True,
593
+ disable_referential_integrity=True)
594
+ bucket = gcp.storage.Bucket("bucket",
595
+ name="example_bucket_name",
596
+ location="us-central1",
597
+ uniform_bucket_level_access=True)
598
+ merge_file = gcp.storage.BucketObject("merge_file",
599
+ name="merge.wstl",
600
+ content=" ",
601
+ bucket=bucket.name)
602
+ recon = gcp.healthcare.PipelineJob("recon",
603
+ name="example_recon_pipeline_job",
604
+ location="us-central1",
605
+ dataset=dataset.id,
606
+ disable_lineage=True,
607
+ reconciliation_pipeline_job={
608
+ "merge_config": {
609
+ "description": "sample description for reconciliation rules",
610
+ "whistle_config_source": {
611
+ "uri": pulumi.Output.all(
612
+ bucketName=bucket.name,
613
+ mergeFileName=merge_file.name
614
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucketName']}/{resolved_outputs['mergeFileName']}")
615
+ ,
616
+ "import_uri_prefix": bucket.name.apply(lambda name: f"gs://{name}"),
617
+ },
618
+ },
619
+ "matching_uri_prefix": bucket.name.apply(lambda name: f"gs://{name}"),
620
+ "fhir_store_destination": pulumi.Output.all(
621
+ id=dataset.id,
622
+ name=dest_fhirstore.name
623
+ ).apply(lambda resolved_outputs: f"{resolved_outputs['id']}/fhirStores/{resolved_outputs['name']}")
624
+ ,
625
+ })
626
+ source_fhirstore = gcp.healthcare.FhirStore("source_fhirstore",
627
+ name="source_fhir_store",
628
+ dataset=dataset.id,
629
+ version="R4",
630
+ enable_update_create=True,
631
+ disable_referential_integrity=True)
632
+ mapping_file = gcp.storage.BucketObject("mapping_file",
633
+ name="mapping.wstl",
634
+ content=" ",
635
+ bucket=bucket.name)
636
+ example_mapping_pipeline = gcp.healthcare.PipelineJob("example-mapping-pipeline",
637
+ name="example_mapping_pipeline_job",
638
+ location="us-central1",
639
+ dataset=dataset.id,
640
+ disable_lineage=True,
641
+ labels={
642
+ "example_label_key": "example_label_value",
643
+ },
644
+ mapping_pipeline_job={
645
+ "mapping_config": {
646
+ "whistle_config_source": {
647
+ "uri": pulumi.Output.all(
648
+ bucketName=bucket.name,
649
+ mappingFileName=mapping_file.name
650
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucketName']}/{resolved_outputs['mappingFileName']}")
651
+ ,
652
+ "import_uri_prefix": bucket.name.apply(lambda name: f"gs://{name}"),
653
+ },
654
+ "description": "example description for mapping configuration",
655
+ },
656
+ "fhir_streaming_source": {
657
+ "fhir_store": pulumi.Output.all(
658
+ id=dataset.id,
659
+ name=source_fhirstore.name
660
+ ).apply(lambda resolved_outputs: f"{resolved_outputs['id']}/fhirStores/{resolved_outputs['name']}")
661
+ ,
662
+ "description": "example description for streaming fhirstore",
663
+ },
664
+ "reconciliation_destination": True,
665
+ },
666
+ opts = pulumi.ResourceOptions(depends_on=[recon]))
667
+ hsa = gcp.storage.BucketIAMMember("hsa",
668
+ bucket=bucket.name,
669
+ role="roles/storage.objectUser",
670
+ member=f"serviceAccount:service-{project.number}@gcp-sa-healthcare.iam.gserviceaccount.com")
671
+ ```
672
+
673
+ ## Import
674
+
675
+ PipelineJob can be imported using any of these accepted formats:
676
+
677
+ * `{{dataset}}/pipelineJobs/{{name}}`
678
+
679
+ * `{{dataset}}/pipelineJobs?pipelineJobId={{name}}`
680
+
681
+ * `{{name}}`
682
+
683
+ When using the `pulumi import` command, PipelineJob can be imported using one of the formats above. For example:
684
+
685
+ ```sh
686
+ $ pulumi import gcp:healthcare/pipelineJob:PipelineJob default {{dataset}}/pipelineJobs/{{name}}
687
+ ```
688
+
689
+ ```sh
690
+ $ pulumi import gcp:healthcare/pipelineJob:PipelineJob default {{dataset}}/pipelineJobs?pipelineJobId={{name}}
691
+ ```
692
+
693
+ ```sh
694
+ $ pulumi import gcp:healthcare/pipelineJob:PipelineJob default {{name}}
695
+ ```
696
+
697
+ :param str resource_name: The name of the resource.
698
+ :param pulumi.ResourceOptions opts: Options for the resource.
699
+ :param pulumi.Input[Union['PipelineJobBackfillPipelineJobArgs', 'PipelineJobBackfillPipelineJobArgsDict']] backfill_pipeline_job: Specifies the backfill configuration.
700
+ Structure is documented below.
701
+ :param pulumi.Input[str] dataset: Healthcare Dataset under which the Pipeline Job is to run
702
+
703
+
704
+ - - -
705
+ :param pulumi.Input[bool] disable_lineage: If true, disables writing lineage for the pipeline.
706
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-supplied key-value pairs used to organize Pipeline Jobs.
707
+ Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of
708
+ maximum 128 bytes, and must conform to the following PCRE regular expression:
709
+ [\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62}
710
+ Label values are optional, must be between 1 and 63 characters long, have a
711
+ UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE
712
+ regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}
713
+ No more than 64 labels can be associated with a given pipeline.
714
+ An object containing a list of "key": value pairs.
715
+ Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
716
+
717
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
718
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
719
+ :param pulumi.Input[str] location: Location where the Pipeline Job is to run
720
+ :param pulumi.Input[Union['PipelineJobMappingPipelineJobArgs', 'PipelineJobMappingPipelineJobArgsDict']] mapping_pipeline_job: Specifies mapping configuration.
721
+ Structure is documented below.
722
+ :param pulumi.Input[str] name: Specifies the name of the pipeline job. This field is user-assigned.
723
+ :param pulumi.Input[Union['PipelineJobReconciliationPipelineJobArgs', 'PipelineJobReconciliationPipelineJobArgsDict']] reconciliation_pipeline_job: Specifies reconciliation configuration.
724
+ Structure is documented below.
725
+ """
726
+ ...
727
+ @overload
728
+ def __init__(__self__,
729
+ resource_name: str,
730
+ args: PipelineJobArgs,
731
+ opts: Optional[pulumi.ResourceOptions] = None):
732
+ """
733
+ PipelineJobs are Long Running Operations on Healthcare API to Map or Reconcile
734
+ incoming data into FHIR format
735
+
736
+ To get more information about PipelineJob, see:
737
+
738
+ * [API documentation](https://cloud.google.com/healthcare-api/healthcare-data-engine/docs/reference/rest/v1/projects.locations.datasets.pipelineJobs)
739
+ * How-to Guides
740
+ * [Creating a PipelineJob](https://cloud.google.com/healthcare-api/private/healthcare-data-engine/docs/reference/rest/v1/projects.locations.datasets.pipelineJobs#PipelineJob)
741
+
742
+ ## Example Usage
743
+
744
+ ### Healthcare Pipeline Job Reconciliation
745
+
746
+ ```python
747
+ import pulumi
748
+ import pulumi_gcp as gcp
749
+
750
+ project = gcp.organizations.get_project()
751
+ dataset = gcp.healthcare.Dataset("dataset",
752
+ name="example_dataset",
753
+ location="us-central1")
754
+ fhirstore = gcp.healthcare.FhirStore("fhirstore",
755
+ name="fhir_store",
756
+ dataset=dataset.id,
757
+ version="R4",
758
+ enable_update_create=True,
759
+ disable_referential_integrity=True)
760
+ bucket = gcp.storage.Bucket("bucket",
761
+ name="example_bucket_name",
762
+ location="us-central1",
763
+ uniform_bucket_level_access=True)
764
+ merge_file = gcp.storage.BucketObject("merge_file",
765
+ name="merge.wstl",
766
+ content=" ",
767
+ bucket=bucket.name)
768
+ example_pipeline = gcp.healthcare.PipelineJob("example-pipeline",
769
+ name="example_pipeline_job",
770
+ location="us-central1",
771
+ dataset=dataset.id,
772
+ disable_lineage=True,
773
+ reconciliation_pipeline_job={
774
+ "merge_config": {
775
+ "description": "sample description for reconciliation rules",
776
+ "whistle_config_source": {
777
+ "uri": pulumi.Output.all(
778
+ bucketName=bucket.name,
779
+ mergeFileName=merge_file.name
780
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucketName']}/{resolved_outputs['mergeFileName']}")
781
+ ,
782
+ "import_uri_prefix": bucket.name.apply(lambda name: f"gs://{name}"),
783
+ },
784
+ },
785
+ "matching_uri_prefix": bucket.name.apply(lambda name: f"gs://{name}"),
786
+ "fhir_store_destination": pulumi.Output.all(
787
+ id=dataset.id,
788
+ name=fhirstore.name
789
+ ).apply(lambda resolved_outputs: f"{resolved_outputs['id']}/fhirStores/{resolved_outputs['name']}")
790
+ ,
791
+ })
792
+ hsa = gcp.storage.BucketIAMMember("hsa",
793
+ bucket=bucket.name,
794
+ role="roles/storage.objectUser",
795
+ member=f"serviceAccount:service-{project.number}@gcp-sa-healthcare.iam.gserviceaccount.com")
796
+ ```
797
+ ### Healthcare Pipeline Job Backfill
798
+
799
+ ```python
800
+ import pulumi
801
+ import pulumi_gcp as gcp
802
+
803
+ dataset = gcp.healthcare.Dataset("dataset",
804
+ name="example_dataset",
805
+ location="us-central1")
806
+ example_pipeline = gcp.healthcare.PipelineJob("example-pipeline",
807
+ name="example_backfill_pipeline",
808
+ location="us-central1",
809
+ dataset=dataset.id,
810
+ backfill_pipeline_job={
811
+ "mapping_pipeline_job": dataset.id.apply(lambda id: f"{id}/pipelinejobs/example_mapping_pipeline"),
812
+ })
813
+ ```
814
+ ### Healthcare Pipeline Job Whistle Mapping
815
+
816
+ ```python
817
+ import pulumi
818
+ import pulumi_gcp as gcp
819
+
820
+ project = gcp.organizations.get_project()
821
+ dataset = gcp.healthcare.Dataset("dataset",
822
+ name="example_dataset",
823
+ location="us-central1")
824
+ source_fhirstore = gcp.healthcare.FhirStore("source_fhirstore",
825
+ name="source_fhir_store",
826
+ dataset=dataset.id,
827
+ version="R4",
828
+ enable_update_create=True,
829
+ disable_referential_integrity=True)
830
+ dest_fhirstore = gcp.healthcare.FhirStore("dest_fhirstore",
831
+ name="dest_fhir_store",
832
+ dataset=dataset.id,
833
+ version="R4",
834
+ enable_update_create=True,
835
+ disable_referential_integrity=True)
836
+ bucket = gcp.storage.Bucket("bucket",
837
+ name="example_bucket_name",
838
+ location="us-central1",
839
+ uniform_bucket_level_access=True)
840
+ mapping_file = gcp.storage.BucketObject("mapping_file",
841
+ name="mapping.wstl",
842
+ content=" ",
843
+ bucket=bucket.name)
844
+ example_mapping_pipeline = gcp.healthcare.PipelineJob("example-mapping-pipeline",
845
+ name="example_mapping_pipeline_job",
846
+ location="us-central1",
847
+ dataset=dataset.id,
848
+ disable_lineage=True,
849
+ labels={
850
+ "example_label_key": "example_label_value",
851
+ },
852
+ mapping_pipeline_job={
853
+ "mapping_config": {
854
+ "whistle_config_source": {
855
+ "uri": pulumi.Output.all(
856
+ bucketName=bucket.name,
857
+ mappingFileName=mapping_file.name
858
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucketName']}/{resolved_outputs['mappingFileName']}")
859
+ ,
860
+ "import_uri_prefix": bucket.name.apply(lambda name: f"gs://{name}"),
861
+ },
862
+ "description": "example description for mapping configuration",
863
+ },
864
+ "fhir_streaming_source": {
865
+ "fhir_store": pulumi.Output.all(
866
+ id=dataset.id,
867
+ name=source_fhirstore.name
868
+ ).apply(lambda resolved_outputs: f"{resolved_outputs['id']}/fhirStores/{resolved_outputs['name']}")
869
+ ,
870
+ "description": "example description for streaming fhirstore",
871
+ },
872
+ "fhir_store_destination": pulumi.Output.all(
873
+ id=dataset.id,
874
+ name=dest_fhirstore.name
875
+ ).apply(lambda resolved_outputs: f"{resolved_outputs['id']}/fhirStores/{resolved_outputs['name']}")
876
+ ,
877
+ })
878
+ hsa = gcp.storage.BucketIAMMember("hsa",
879
+ bucket=bucket.name,
880
+ role="roles/storage.objectUser",
881
+ member=f"serviceAccount:service-{project.number}@gcp-sa-healthcare.iam.gserviceaccount.com")
882
+ ```
883
+ ### Healthcare Pipeline Job Mapping Recon Dest
884
+
885
+ ```python
886
+ import pulumi
887
+ import pulumi_gcp as gcp
888
+
889
+ project = gcp.organizations.get_project()
890
+ dataset = gcp.healthcare.Dataset("dataset",
891
+ name="example_dataset",
892
+ location="us-central1")
893
+ dest_fhirstore = gcp.healthcare.FhirStore("dest_fhirstore",
894
+ name="dest_fhir_store",
895
+ dataset=dataset.id,
896
+ version="R4",
897
+ enable_update_create=True,
898
+ disable_referential_integrity=True)
899
+ bucket = gcp.storage.Bucket("bucket",
900
+ name="example_bucket_name",
901
+ location="us-central1",
902
+ uniform_bucket_level_access=True)
903
+ merge_file = gcp.storage.BucketObject("merge_file",
904
+ name="merge.wstl",
905
+ content=" ",
906
+ bucket=bucket.name)
907
+ recon = gcp.healthcare.PipelineJob("recon",
908
+ name="example_recon_pipeline_job",
909
+ location="us-central1",
910
+ dataset=dataset.id,
911
+ disable_lineage=True,
912
+ reconciliation_pipeline_job={
913
+ "merge_config": {
914
+ "description": "sample description for reconciliation rules",
915
+ "whistle_config_source": {
916
+ "uri": pulumi.Output.all(
917
+ bucketName=bucket.name,
918
+ mergeFileName=merge_file.name
919
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucketName']}/{resolved_outputs['mergeFileName']}")
920
+ ,
921
+ "import_uri_prefix": bucket.name.apply(lambda name: f"gs://{name}"),
922
+ },
923
+ },
924
+ "matching_uri_prefix": bucket.name.apply(lambda name: f"gs://{name}"),
925
+ "fhir_store_destination": pulumi.Output.all(
926
+ id=dataset.id,
927
+ name=dest_fhirstore.name
928
+ ).apply(lambda resolved_outputs: f"{resolved_outputs['id']}/fhirStores/{resolved_outputs['name']}")
929
+ ,
930
+ })
931
+ source_fhirstore = gcp.healthcare.FhirStore("source_fhirstore",
932
+ name="source_fhir_store",
933
+ dataset=dataset.id,
934
+ version="R4",
935
+ enable_update_create=True,
936
+ disable_referential_integrity=True)
937
+ mapping_file = gcp.storage.BucketObject("mapping_file",
938
+ name="mapping.wstl",
939
+ content=" ",
940
+ bucket=bucket.name)
941
+ example_mapping_pipeline = gcp.healthcare.PipelineJob("example-mapping-pipeline",
942
+ name="example_mapping_pipeline_job",
943
+ location="us-central1",
944
+ dataset=dataset.id,
945
+ disable_lineage=True,
946
+ labels={
947
+ "example_label_key": "example_label_value",
948
+ },
949
+ mapping_pipeline_job={
950
+ "mapping_config": {
951
+ "whistle_config_source": {
952
+ "uri": pulumi.Output.all(
953
+ bucketName=bucket.name,
954
+ mappingFileName=mapping_file.name
955
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucketName']}/{resolved_outputs['mappingFileName']}")
956
+ ,
957
+ "import_uri_prefix": bucket.name.apply(lambda name: f"gs://{name}"),
958
+ },
959
+ "description": "example description for mapping configuration",
960
+ },
961
+ "fhir_streaming_source": {
962
+ "fhir_store": pulumi.Output.all(
963
+ id=dataset.id,
964
+ name=source_fhirstore.name
965
+ ).apply(lambda resolved_outputs: f"{resolved_outputs['id']}/fhirStores/{resolved_outputs['name']}")
966
+ ,
967
+ "description": "example description for streaming fhirstore",
968
+ },
969
+ "reconciliation_destination": True,
970
+ },
971
+ opts = pulumi.ResourceOptions(depends_on=[recon]))
972
+ hsa = gcp.storage.BucketIAMMember("hsa",
973
+ bucket=bucket.name,
974
+ role="roles/storage.objectUser",
975
+ member=f"serviceAccount:service-{project.number}@gcp-sa-healthcare.iam.gserviceaccount.com")
976
+ ```
977
+
978
+ ## Import
979
+
980
+ PipelineJob can be imported using any of these accepted formats:
981
+
982
+ * `{{dataset}}/pipelineJobs/{{name}}`
983
+
984
+ * `{{dataset}}/pipelineJobs?pipelineJobId={{name}}`
985
+
986
+ * `{{name}}`
987
+
988
+ When using the `pulumi import` command, PipelineJob can be imported using one of the formats above. For example:
989
+
990
+ ```sh
991
+ $ pulumi import gcp:healthcare/pipelineJob:PipelineJob default {{dataset}}/pipelineJobs/{{name}}
992
+ ```
993
+
994
+ ```sh
995
+ $ pulumi import gcp:healthcare/pipelineJob:PipelineJob default {{dataset}}/pipelineJobs?pipelineJobId={{name}}
996
+ ```
997
+
998
+ ```sh
999
+ $ pulumi import gcp:healthcare/pipelineJob:PipelineJob default {{name}}
1000
+ ```
1001
+
1002
+ :param str resource_name: The name of the resource.
1003
+ :param PipelineJobArgs args: The arguments to use to populate this resource's properties.
1004
+ :param pulumi.ResourceOptions opts: Options for the resource.
1005
+ """
1006
+ ...
1007
+ def __init__(__self__, resource_name: str, *args, **kwargs):
1008
+ resource_args, opts = _utilities.get_resource_args_opts(PipelineJobArgs, pulumi.ResourceOptions, *args, **kwargs)
1009
+ if resource_args is not None:
1010
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
1011
+ else:
1012
+ __self__._internal_init(resource_name, *args, **kwargs)
1013
+
1014
+ def _internal_init(__self__,
1015
+ resource_name: str,
1016
+ opts: Optional[pulumi.ResourceOptions] = None,
1017
+ backfill_pipeline_job: Optional[pulumi.Input[Union['PipelineJobBackfillPipelineJobArgs', 'PipelineJobBackfillPipelineJobArgsDict']]] = None,
1018
+ dataset: Optional[pulumi.Input[str]] = None,
1019
+ disable_lineage: Optional[pulumi.Input[bool]] = None,
1020
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1021
+ location: Optional[pulumi.Input[str]] = None,
1022
+ mapping_pipeline_job: Optional[pulumi.Input[Union['PipelineJobMappingPipelineJobArgs', 'PipelineJobMappingPipelineJobArgsDict']]] = None,
1023
+ name: Optional[pulumi.Input[str]] = None,
1024
+ reconciliation_pipeline_job: Optional[pulumi.Input[Union['PipelineJobReconciliationPipelineJobArgs', 'PipelineJobReconciliationPipelineJobArgsDict']]] = None,
1025
+ __props__=None):
1026
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1027
+ if not isinstance(opts, pulumi.ResourceOptions):
1028
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
1029
+ if opts.id is None:
1030
+ if __props__ is not None:
1031
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
1032
+ __props__ = PipelineJobArgs.__new__(PipelineJobArgs)
1033
+
1034
+ __props__.__dict__["backfill_pipeline_job"] = backfill_pipeline_job
1035
+ if dataset is None and not opts.urn:
1036
+ raise TypeError("Missing required property 'dataset'")
1037
+ __props__.__dict__["dataset"] = dataset
1038
+ __props__.__dict__["disable_lineage"] = disable_lineage
1039
+ __props__.__dict__["labels"] = labels
1040
+ if location is None and not opts.urn:
1041
+ raise TypeError("Missing required property 'location'")
1042
+ __props__.__dict__["location"] = location
1043
+ __props__.__dict__["mapping_pipeline_job"] = mapping_pipeline_job
1044
+ __props__.__dict__["name"] = name
1045
+ __props__.__dict__["reconciliation_pipeline_job"] = reconciliation_pipeline_job
1046
+ __props__.__dict__["effective_labels"] = None
1047
+ __props__.__dict__["pulumi_labels"] = None
1048
+ __props__.__dict__["self_link"] = None
1049
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
1050
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
1051
+ super(PipelineJob, __self__).__init__(
1052
+ 'gcp:healthcare/pipelineJob:PipelineJob',
1053
+ resource_name,
1054
+ __props__,
1055
+ opts)
1056
+
1057
+ @staticmethod
1058
+ def get(resource_name: str,
1059
+ id: pulumi.Input[str],
1060
+ opts: Optional[pulumi.ResourceOptions] = None,
1061
+ backfill_pipeline_job: Optional[pulumi.Input[Union['PipelineJobBackfillPipelineJobArgs', 'PipelineJobBackfillPipelineJobArgsDict']]] = None,
1062
+ dataset: Optional[pulumi.Input[str]] = None,
1063
+ disable_lineage: Optional[pulumi.Input[bool]] = None,
1064
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1065
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1066
+ location: Optional[pulumi.Input[str]] = None,
1067
+ mapping_pipeline_job: Optional[pulumi.Input[Union['PipelineJobMappingPipelineJobArgs', 'PipelineJobMappingPipelineJobArgsDict']]] = None,
1068
+ name: Optional[pulumi.Input[str]] = None,
1069
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1070
+ reconciliation_pipeline_job: Optional[pulumi.Input[Union['PipelineJobReconciliationPipelineJobArgs', 'PipelineJobReconciliationPipelineJobArgsDict']]] = None,
1071
+ self_link: Optional[pulumi.Input[str]] = None) -> 'PipelineJob':
1072
+ """
1073
+ Get an existing PipelineJob resource's state with the given name, id, and optional extra
1074
+ properties used to qualify the lookup.
1075
+
1076
+ :param str resource_name: The unique name of the resulting resource.
1077
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1078
+ :param pulumi.ResourceOptions opts: Options for the resource.
1079
+ :param pulumi.Input[Union['PipelineJobBackfillPipelineJobArgs', 'PipelineJobBackfillPipelineJobArgsDict']] backfill_pipeline_job: Specifies the backfill configuration.
1080
+ Structure is documented below.
1081
+ :param pulumi.Input[str] dataset: Healthcare Dataset under which the Pipeline Job is to run
1082
+
1083
+
1084
+ - - -
1085
+ :param pulumi.Input[bool] disable_lineage: If true, disables writing lineage for the pipeline.
1086
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1087
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-supplied key-value pairs used to organize Pipeline Jobs.
1088
+ Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of
1089
+ maximum 128 bytes, and must conform to the following PCRE regular expression:
1090
+ [\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62}
1091
+ Label values are optional, must be between 1 and 63 characters long, have a
1092
+ UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE
1093
+ regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}
1094
+ No more than 64 labels can be associated with a given pipeline.
1095
+ An object containing a list of "key": value pairs.
1096
+ Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
1097
+
1098
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
1099
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
1100
+ :param pulumi.Input[str] location: Location where the Pipeline Job is to run
1101
+ :param pulumi.Input[Union['PipelineJobMappingPipelineJobArgs', 'PipelineJobMappingPipelineJobArgsDict']] mapping_pipeline_job: Specifies mapping configuration.
1102
+ Structure is documented below.
1103
+ :param pulumi.Input[str] name: Specifies the name of the pipeline job. This field is user-assigned.
1104
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
1105
+ and default labels configured on the provider.
1106
+ :param pulumi.Input[Union['PipelineJobReconciliationPipelineJobArgs', 'PipelineJobReconciliationPipelineJobArgsDict']] reconciliation_pipeline_job: Specifies reconciliation configuration.
1107
+ Structure is documented below.
1108
+ :param pulumi.Input[str] self_link: The fully qualified name of this dataset
1109
+ """
1110
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1111
+
1112
+ __props__ = _PipelineJobState.__new__(_PipelineJobState)
1113
+
1114
+ __props__.__dict__["backfill_pipeline_job"] = backfill_pipeline_job
1115
+ __props__.__dict__["dataset"] = dataset
1116
+ __props__.__dict__["disable_lineage"] = disable_lineage
1117
+ __props__.__dict__["effective_labels"] = effective_labels
1118
+ __props__.__dict__["labels"] = labels
1119
+ __props__.__dict__["location"] = location
1120
+ __props__.__dict__["mapping_pipeline_job"] = mapping_pipeline_job
1121
+ __props__.__dict__["name"] = name
1122
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
1123
+ __props__.__dict__["reconciliation_pipeline_job"] = reconciliation_pipeline_job
1124
+ __props__.__dict__["self_link"] = self_link
1125
+ return PipelineJob(resource_name, opts=opts, __props__=__props__)
1126
+
1127
+ @property
1128
+ @pulumi.getter(name="backfillPipelineJob")
1129
+ def backfill_pipeline_job(self) -> pulumi.Output[Optional['outputs.PipelineJobBackfillPipelineJob']]:
1130
+ """
1131
+ Specifies the backfill configuration.
1132
+ Structure is documented below.
1133
+ """
1134
+ return pulumi.get(self, "backfill_pipeline_job")
1135
+
1136
+ @property
1137
+ @pulumi.getter
1138
+ def dataset(self) -> pulumi.Output[str]:
1139
+ """
1140
+ Healthcare Dataset under which the Pipeline Job is to run
1141
+
1142
+
1143
+ - - -
1144
+ """
1145
+ return pulumi.get(self, "dataset")
1146
+
1147
+ @property
1148
+ @pulumi.getter(name="disableLineage")
1149
+ def disable_lineage(self) -> pulumi.Output[Optional[bool]]:
1150
+ """
1151
+ If true, disables writing lineage for the pipeline.
1152
+ """
1153
+ return pulumi.get(self, "disable_lineage")
1154
+
1155
+ @property
1156
+ @pulumi.getter(name="effectiveLabels")
1157
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
1158
+ """
1159
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1160
+ """
1161
+ return pulumi.get(self, "effective_labels")
1162
+
1163
+ @property
1164
+ @pulumi.getter
1165
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1166
+ """
1167
+ User-supplied key-value pairs used to organize Pipeline Jobs.
1168
+ Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of
1169
+ maximum 128 bytes, and must conform to the following PCRE regular expression:
1170
+ [\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62}
1171
+ Label values are optional, must be between 1 and 63 characters long, have a
1172
+ UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE
1173
+ regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}
1174
+ No more than 64 labels can be associated with a given pipeline.
1175
+ An object containing a list of "key": value pairs.
1176
+ Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
1177
+
1178
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
1179
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
1180
+ """
1181
+ return pulumi.get(self, "labels")
1182
+
1183
+ @property
1184
+ @pulumi.getter
1185
+ def location(self) -> pulumi.Output[str]:
1186
+ """
1187
+ Location where the Pipeline Job is to run
1188
+ """
1189
+ return pulumi.get(self, "location")
1190
+
1191
+ @property
1192
+ @pulumi.getter(name="mappingPipelineJob")
1193
+ def mapping_pipeline_job(self) -> pulumi.Output[Optional['outputs.PipelineJobMappingPipelineJob']]:
1194
+ """
1195
+ Specifies mapping configuration.
1196
+ Structure is documented below.
1197
+ """
1198
+ return pulumi.get(self, "mapping_pipeline_job")
1199
+
1200
+ @property
1201
+ @pulumi.getter
1202
+ def name(self) -> pulumi.Output[str]:
1203
+ """
1204
+ Specifies the name of the pipeline job. This field is user-assigned.
1205
+ """
1206
+ return pulumi.get(self, "name")
1207
+
1208
+ @property
1209
+ @pulumi.getter(name="pulumiLabels")
1210
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
1211
+ """
1212
+ The combination of labels configured directly on the resource
1213
+ and default labels configured on the provider.
1214
+ """
1215
+ return pulumi.get(self, "pulumi_labels")
1216
+
1217
+ @property
1218
+ @pulumi.getter(name="reconciliationPipelineJob")
1219
+ def reconciliation_pipeline_job(self) -> pulumi.Output[Optional['outputs.PipelineJobReconciliationPipelineJob']]:
1220
+ """
1221
+ Specifies reconciliation configuration.
1222
+ Structure is documented below.
1223
+ """
1224
+ return pulumi.get(self, "reconciliation_pipeline_job")
1225
+
1226
+ @property
1227
+ @pulumi.getter(name="selfLink")
1228
+ def self_link(self) -> pulumi.Output[str]:
1229
+ """
1230
+ The fully qualified name of this dataset
1231
+ """
1232
+ return pulumi.get(self, "self_link")
1233
+