pulumi-gcp 7.24.0a1716510380__py3-none-any.whl → 7.25.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 (467) hide show
  1. pulumi_gcp/__init__.py +104 -0
  2. pulumi_gcp/accesscontextmanager/access_policy_iam_binding.py +12 -12
  3. pulumi_gcp/accesscontextmanager/access_policy_iam_member.py +12 -12
  4. pulumi_gcp/accesscontextmanager/access_policy_iam_policy.py +12 -12
  5. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +0 -64
  6. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +0 -70
  7. pulumi_gcp/alloydb/backup.py +50 -42
  8. pulumi_gcp/alloydb/cluster.py +56 -48
  9. pulumi_gcp/alloydb/instance.py +50 -42
  10. pulumi_gcp/alloydb/user.py +32 -24
  11. pulumi_gcp/apigateway/api_config.py +0 -114
  12. pulumi_gcp/apigateway/api_config_iam_binding.py +8 -8
  13. pulumi_gcp/apigateway/api_config_iam_member.py +8 -8
  14. pulumi_gcp/apigateway/api_config_iam_policy.py +8 -8
  15. pulumi_gcp/apigateway/api_iam_binding.py +8 -8
  16. pulumi_gcp/apigateway/api_iam_member.py +8 -8
  17. pulumi_gcp/apigateway/api_iam_policy.py +8 -8
  18. pulumi_gcp/apigateway/gateway.py +0 -44
  19. pulumi_gcp/apigateway/gateway_iam_binding.py +8 -8
  20. pulumi_gcp/apigateway/gateway_iam_member.py +8 -8
  21. pulumi_gcp/apigateway/gateway_iam_policy.py +8 -8
  22. pulumi_gcp/apigee/addons_config.py +14 -4
  23. pulumi_gcp/apigee/endpoint_attachment.py +4 -2
  24. pulumi_gcp/apigee/env_group.py +4 -2
  25. pulumi_gcp/apigee/environment.py +4 -2
  26. pulumi_gcp/apigee/environment_iam_binding.py +12 -12
  27. pulumi_gcp/apigee/environment_iam_member.py +12 -12
  28. pulumi_gcp/apigee/environment_iam_policy.py +12 -12
  29. pulumi_gcp/apigee/instance.py +22 -8
  30. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +26 -10
  31. pulumi_gcp/apigee/nat_address.py +10 -2
  32. pulumi_gcp/apigee/organization.py +18 -6
  33. pulumi_gcp/apigee/sync_authorization.py +8 -4
  34. pulumi_gcp/apigee/target_server.py +26 -10
  35. pulumi_gcp/appengine/_inputs.py +18 -0
  36. pulumi_gcp/appengine/domain_mapping.py +1 -1
  37. pulumi_gcp/appengine/outputs.py +16 -0
  38. pulumi_gcp/apphub/service.py +40 -20
  39. pulumi_gcp/apphub/service_project_attachment.py +16 -8
  40. pulumi_gcp/apphub/workload.py +0 -418
  41. pulumi_gcp/applicationintegration/auth_config.py +4 -2
  42. pulumi_gcp/artifactregistry/repository.py +14 -12
  43. pulumi_gcp/artifactregistry/repository_iam_binding.py +12 -12
  44. pulumi_gcp/artifactregistry/repository_iam_member.py +12 -12
  45. pulumi_gcp/artifactregistry/repository_iam_policy.py +12 -12
  46. pulumi_gcp/backupdisasterrecovery/management_server.py +4 -2
  47. pulumi_gcp/bigquery/_inputs.py +286 -2
  48. pulumi_gcp/bigquery/connection.py +126 -0
  49. pulumi_gcp/bigquery/connection_iam_binding.py +12 -12
  50. pulumi_gcp/bigquery/connection_iam_member.py +12 -12
  51. pulumi_gcp/bigquery/connection_iam_policy.py +12 -12
  52. pulumi_gcp/bigquery/data_transfer_config.py +8 -4
  53. pulumi_gcp/bigquery/dataset_iam_binding.py +12 -12
  54. pulumi_gcp/bigquery/dataset_iam_member.py +12 -12
  55. pulumi_gcp/bigquery/dataset_iam_policy.py +12 -12
  56. pulumi_gcp/bigquery/iam_binding.py +12 -12
  57. pulumi_gcp/bigquery/iam_member.py +12 -12
  58. pulumi_gcp/bigquery/iam_policy.py +12 -12
  59. pulumi_gcp/bigquery/job.py +22 -16
  60. pulumi_gcp/bigquery/outputs.py +289 -2
  61. pulumi_gcp/bigquery/routine.py +2 -2
  62. pulumi_gcp/bigquery/table.py +77 -35
  63. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +12 -12
  64. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +12 -12
  65. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +12 -12
  66. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +12 -12
  67. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +12 -12
  68. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +12 -12
  69. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +12 -12
  70. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +12 -12
  71. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +12 -12
  72. pulumi_gcp/bigtable/instance_iam_binding.py +12 -12
  73. pulumi_gcp/bigtable/instance_iam_member.py +12 -12
  74. pulumi_gcp/bigtable/instance_iam_policy.py +12 -12
  75. pulumi_gcp/bigtable/table_iam_binding.py +12 -12
  76. pulumi_gcp/bigtable/table_iam_member.py +12 -12
  77. pulumi_gcp/bigtable/table_iam_policy.py +12 -12
  78. pulumi_gcp/billing/account_iam_binding.py +12 -12
  79. pulumi_gcp/billing/account_iam_member.py +12 -12
  80. pulumi_gcp/billing/account_iam_policy.py +12 -12
  81. pulumi_gcp/billing/project_info.py +4 -4
  82. pulumi_gcp/binaryauthorization/attestor_iam_binding.py +12 -12
  83. pulumi_gcp/binaryauthorization/attestor_iam_member.py +12 -12
  84. pulumi_gcp/binaryauthorization/attestor_iam_policy.py +12 -12
  85. pulumi_gcp/certificateauthority/authority.py +10 -2
  86. pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +12 -12
  87. pulumi_gcp/certificateauthority/ca_pool_iam_member.py +12 -12
  88. pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +12 -12
  89. pulumi_gcp/certificateauthority/certificate.py +8 -4
  90. pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +12 -12
  91. pulumi_gcp/certificateauthority/certificate_template_iam_member.py +12 -12
  92. pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +12 -12
  93. pulumi_gcp/certificatemanager/certificate.py +84 -80
  94. pulumi_gcp/certificatemanager/certificate_issuance_config.py +32 -30
  95. pulumi_gcp/cloudasset/__init__.py +1 -0
  96. pulumi_gcp/cloudasset/get_search_all_resources.py +197 -0
  97. pulumi_gcp/cloudasset/outputs.py +184 -0
  98. pulumi_gcp/cloudbuild/bitbucket_server_config.py +12 -6
  99. pulumi_gcp/cloudbuild/trigger.py +22 -14
  100. pulumi_gcp/cloudbuild/worker_pool.py +12 -6
  101. pulumi_gcp/cloudbuildv2/connection.py +10 -2
  102. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +12 -12
  103. pulumi_gcp/cloudbuildv2/connection_iam_member.py +12 -12
  104. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +12 -12
  105. pulumi_gcp/cloudbuildv2/repository.py +10 -2
  106. pulumi_gcp/cloudfunctions/function_iam_binding.py +12 -12
  107. pulumi_gcp/cloudfunctions/function_iam_member.py +12 -12
  108. pulumi_gcp/cloudfunctions/function_iam_policy.py +12 -12
  109. pulumi_gcp/cloudfunctionsv2/function.py +110 -66
  110. pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +12 -12
  111. pulumi_gcp/cloudfunctionsv2/function_iam_member.py +12 -12
  112. pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +12 -12
  113. pulumi_gcp/cloudids/endpoint.py +4 -2
  114. pulumi_gcp/cloudrun/_inputs.py +80 -4
  115. pulumi_gcp/cloudrun/iam_binding.py +12 -12
  116. pulumi_gcp/cloudrun/iam_member.py +12 -12
  117. pulumi_gcp/cloudrun/iam_policy.py +12 -12
  118. pulumi_gcp/cloudrun/outputs.py +137 -4
  119. pulumi_gcp/cloudrunv2/job.py +32 -20
  120. pulumi_gcp/cloudrunv2/job_iam_binding.py +12 -12
  121. pulumi_gcp/cloudrunv2/job_iam_member.py +12 -12
  122. pulumi_gcp/cloudrunv2/job_iam_policy.py +12 -12
  123. pulumi_gcp/cloudrunv2/service.py +28 -20
  124. pulumi_gcp/cloudrunv2/service_iam_binding.py +12 -12
  125. pulumi_gcp/cloudrunv2/service_iam_member.py +12 -12
  126. pulumi_gcp/cloudrunv2/service_iam_policy.py +12 -12
  127. pulumi_gcp/cloudtasks/queue_iam_binding.py +12 -12
  128. pulumi_gcp/cloudtasks/queue_iam_member.py +12 -12
  129. pulumi_gcp/cloudtasks/queue_iam_policy.py +12 -12
  130. pulumi_gcp/composer/user_workloads_secret.py +4 -4
  131. pulumi_gcp/compute/__init__.py +2 -0
  132. pulumi_gcp/compute/_inputs.py +805 -182
  133. pulumi_gcp/compute/disk_iam_binding.py +12 -12
  134. pulumi_gcp/compute/disk_iam_member.py +12 -12
  135. pulumi_gcp/compute/disk_iam_policy.py +12 -12
  136. pulumi_gcp/compute/forwarding_rule.py +231 -823
  137. pulumi_gcp/compute/get_network_endpoint_group.py +2 -2
  138. pulumi_gcp/compute/get_region_network_endpoint_group.py +2 -2
  139. pulumi_gcp/compute/get_router_nat.py +11 -1
  140. pulumi_gcp/compute/get_snapshot.py +2 -0
  141. pulumi_gcp/compute/get_subnetworks.py +157 -0
  142. pulumi_gcp/compute/global_forwarding_rule.py +0 -766
  143. pulumi_gcp/compute/image_iam_binding.py +12 -12
  144. pulumi_gcp/compute/image_iam_member.py +12 -12
  145. pulumi_gcp/compute/image_iam_policy.py +12 -12
  146. pulumi_gcp/compute/instance_group.py +0 -100
  147. pulumi_gcp/compute/instance_group_membership.py +2 -2
  148. pulumi_gcp/compute/instance_iam_binding.py +12 -12
  149. pulumi_gcp/compute/instance_iam_member.py +12 -12
  150. pulumi_gcp/compute/instance_iam_policy.py +12 -12
  151. pulumi_gcp/compute/interconnect.py +1683 -0
  152. pulumi_gcp/compute/interconnect_attachment.py +82 -0
  153. pulumi_gcp/compute/machine_image_iam_binding.py +8 -8
  154. pulumi_gcp/compute/machine_image_iam_member.py +8 -8
  155. pulumi_gcp/compute/machine_image_iam_policy.py +8 -8
  156. pulumi_gcp/compute/network_endpoint.py +2 -2
  157. pulumi_gcp/compute/network_endpoint_list.py +2 -2
  158. pulumi_gcp/compute/outputs.py +1022 -161
  159. pulumi_gcp/compute/packet_mirroring.py +4 -2
  160. pulumi_gcp/compute/region_disk_iam_binding.py +12 -12
  161. pulumi_gcp/compute/region_disk_iam_member.py +12 -12
  162. pulumi_gcp/compute/region_disk_iam_policy.py +12 -12
  163. pulumi_gcp/compute/region_security_policy_rule.py +4 -2
  164. pulumi_gcp/compute/region_ssl_certificate.py +0 -188
  165. pulumi_gcp/compute/region_ssl_policy.py +39 -40
  166. pulumi_gcp/compute/route.py +10 -2
  167. pulumi_gcp/compute/router_nat.py +68 -0
  168. pulumi_gcp/compute/security_policy_rule.py +55 -1
  169. pulumi_gcp/compute/snapshot_iam_binding.py +12 -12
  170. pulumi_gcp/compute/snapshot_iam_member.py +12 -12
  171. pulumi_gcp/compute/snapshot_iam_policy.py +12 -12
  172. pulumi_gcp/compute/ssl_certificate.py +0 -166
  173. pulumi_gcp/compute/subnetwork_iam_binding.py +12 -12
  174. pulumi_gcp/compute/subnetwork_iam_member.py +12 -12
  175. pulumi_gcp/compute/subnetwork_iam_policy.py +12 -12
  176. pulumi_gcp/compute/target_instance.py +8 -6
  177. pulumi_gcp/compute/target_pool.py +21 -21
  178. pulumi_gcp/compute/vpn_gateway.py +12 -2
  179. pulumi_gcp/compute/vpn_tunnel.py +26 -16
  180. pulumi_gcp/container/_inputs.py +562 -2
  181. pulumi_gcp/container/outputs.py +1110 -55
  182. pulumi_gcp/containeranalysis/note_iam_binding.py +12 -12
  183. pulumi_gcp/containeranalysis/note_iam_member.py +12 -12
  184. pulumi_gcp/containeranalysis/note_iam_policy.py +12 -12
  185. pulumi_gcp/databasemigrationservice/connection_profile.py +38 -22
  186. pulumi_gcp/datacatalog/entry_group_iam_binding.py +12 -12
  187. pulumi_gcp/datacatalog/entry_group_iam_member.py +12 -12
  188. pulumi_gcp/datacatalog/entry_group_iam_policy.py +12 -12
  189. pulumi_gcp/datacatalog/policy_tag.py +4 -2
  190. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +12 -12
  191. pulumi_gcp/datacatalog/policy_tag_iam_member.py +12 -12
  192. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +12 -12
  193. pulumi_gcp/datacatalog/tag_template_iam_binding.py +12 -12
  194. pulumi_gcp/datacatalog/tag_template_iam_member.py +12 -12
  195. pulumi_gcp/datacatalog/tag_template_iam_policy.py +12 -12
  196. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +12 -12
  197. pulumi_gcp/datacatalog/taxonomy_iam_member.py +12 -12
  198. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +12 -12
  199. pulumi_gcp/datafusion/instance.py +14 -12
  200. pulumi_gcp/dataloss/_inputs.py +420 -13
  201. pulumi_gcp/dataloss/outputs.py +439 -13
  202. pulumi_gcp/dataplex/__init__.py +10 -0
  203. pulumi_gcp/dataplex/_inputs.py +160 -0
  204. pulumi_gcp/dataplex/aspect_type.py +1077 -0
  205. pulumi_gcp/dataplex/aspect_type_iam_binding.py +765 -0
  206. pulumi_gcp/dataplex/aspect_type_iam_member.py +765 -0
  207. pulumi_gcp/dataplex/aspect_type_iam_policy.py +604 -0
  208. pulumi_gcp/dataplex/asset.py +4 -2
  209. pulumi_gcp/dataplex/asset_iam_binding.py +12 -12
  210. pulumi_gcp/dataplex/asset_iam_member.py +12 -12
  211. pulumi_gcp/dataplex/asset_iam_policy.py +12 -12
  212. pulumi_gcp/dataplex/datascan.py +16 -14
  213. pulumi_gcp/dataplex/datascan_iam_binding.py +12 -12
  214. pulumi_gcp/dataplex/datascan_iam_member.py +12 -12
  215. pulumi_gcp/dataplex/datascan_iam_policy.py +12 -12
  216. pulumi_gcp/dataplex/entry_group.py +722 -0
  217. pulumi_gcp/dataplex/entry_group_iam_binding.py +765 -0
  218. pulumi_gcp/dataplex/entry_group_iam_member.py +765 -0
  219. pulumi_gcp/dataplex/entry_group_iam_policy.py +604 -0
  220. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +164 -0
  221. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +164 -0
  222. pulumi_gcp/dataplex/lake_iam_binding.py +12 -12
  223. pulumi_gcp/dataplex/lake_iam_member.py +12 -12
  224. pulumi_gcp/dataplex/lake_iam_policy.py +12 -12
  225. pulumi_gcp/dataplex/outputs.py +112 -0
  226. pulumi_gcp/dataplex/task.py +16 -16
  227. pulumi_gcp/dataplex/task_iam_binding.py +12 -12
  228. pulumi_gcp/dataplex/task_iam_member.py +12 -12
  229. pulumi_gcp/dataplex/task_iam_policy.py +12 -12
  230. pulumi_gcp/dataplex/zone_iam_binding.py +12 -12
  231. pulumi_gcp/dataplex/zone_iam_member.py +12 -12
  232. pulumi_gcp/dataplex/zone_iam_policy.py +12 -12
  233. pulumi_gcp/dataproc/_inputs.py +70 -0
  234. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +12 -12
  235. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +12 -12
  236. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +12 -12
  237. pulumi_gcp/dataproc/cluster_iam_binding.py +12 -12
  238. pulumi_gcp/dataproc/cluster_iam_member.py +12 -12
  239. pulumi_gcp/dataproc/cluster_iam_policy.py +12 -12
  240. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +26 -2
  241. pulumi_gcp/dataproc/job_iam_binding.py +12 -12
  242. pulumi_gcp/dataproc/job_iam_member.py +12 -12
  243. pulumi_gcp/dataproc/job_iam_policy.py +12 -12
  244. pulumi_gcp/dataproc/metastore_federation.py +4 -0
  245. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +208 -0
  246. pulumi_gcp/dataproc/metastore_federation_iam_member.py +208 -0
  247. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +208 -0
  248. pulumi_gcp/dataproc/metastore_service_iam_binding.py +12 -12
  249. pulumi_gcp/dataproc/metastore_service_iam_member.py +12 -12
  250. pulumi_gcp/dataproc/metastore_service_iam_policy.py +12 -12
  251. pulumi_gcp/dataproc/outputs.py +62 -0
  252. pulumi_gcp/datastore/data_store_index.py +4 -2
  253. pulumi_gcp/datastream/_inputs.py +1789 -820
  254. pulumi_gcp/datastream/connection_profile.py +210 -3
  255. pulumi_gcp/datastream/outputs.py +864 -5
  256. pulumi_gcp/datastream/private_connection.py +47 -0
  257. pulumi_gcp/datastream/stream.py +231 -4
  258. pulumi_gcp/diagflow/cx_test_case.py +4 -4
  259. pulumi_gcp/diagflow/entity_type.py +4 -2
  260. pulumi_gcp/diagflow/fulfillment.py +4 -2
  261. pulumi_gcp/diagflow/intent.py +8 -4
  262. pulumi_gcp/dns/dns_managed_zone_iam_binding.py +12 -12
  263. pulumi_gcp/dns/dns_managed_zone_iam_member.py +12 -12
  264. pulumi_gcp/dns/dns_managed_zone_iam_policy.py +12 -12
  265. pulumi_gcp/dns/get_managed_zone.py +3 -3
  266. pulumi_gcp/dns/managed_zone.py +7 -7
  267. pulumi_gcp/dns/outputs.py +2 -2
  268. pulumi_gcp/edgecontainer/node_pool.py +4 -2
  269. pulumi_gcp/edgecontainer/vpn_connection.py +4 -2
  270. pulumi_gcp/endpoints/service_iam_binding.py +12 -12
  271. pulumi_gcp/endpoints/service_iam_member.py +12 -12
  272. pulumi_gcp/endpoints/service_iam_policy.py +12 -12
  273. pulumi_gcp/eventarc/channel.py +4 -2
  274. pulumi_gcp/eventarc/google_channel_config.py +4 -2
  275. pulumi_gcp/firebase/app_check_app_attest_config.py +16 -8
  276. pulumi_gcp/firebase/app_check_debug_token.py +8 -4
  277. pulumi_gcp/firebase/app_check_device_check_config.py +8 -4
  278. pulumi_gcp/firebase/app_check_play_integrity_config.py +16 -8
  279. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +8 -4
  280. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +8 -4
  281. pulumi_gcp/firebase/app_check_service_config.py +12 -6
  282. pulumi_gcp/firebase/database_instance.py +4 -2
  283. pulumi_gcp/firebaserules/release.py +0 -98
  284. pulumi_gcp/firestore/database.py +24 -20
  285. pulumi_gcp/firestore/document.py +24 -12
  286. pulumi_gcp/firestore/field.py +4 -4
  287. pulumi_gcp/folder/access_approval_settings.py +4 -2
  288. pulumi_gcp/folder/iam_audit_config.py +23 -23
  289. pulumi_gcp/folder/iam_member.py +16 -16
  290. pulumi_gcp/folder/iam_policy.py +16 -16
  291. pulumi_gcp/gkebackup/backup_plan_iam_binding.py +12 -12
  292. pulumi_gcp/gkebackup/backup_plan_iam_member.py +12 -12
  293. pulumi_gcp/gkebackup/backup_plan_iam_policy.py +12 -12
  294. pulumi_gcp/gkehub/feature_iam_binding.py +12 -12
  295. pulumi_gcp/gkehub/feature_iam_member.py +12 -12
  296. pulumi_gcp/gkehub/feature_iam_policy.py +12 -12
  297. pulumi_gcp/gkehub/membership_binding.py +20 -10
  298. pulumi_gcp/gkehub/membership_iam_binding.py +12 -12
  299. pulumi_gcp/gkehub/membership_iam_member.py +12 -12
  300. pulumi_gcp/gkehub/membership_iam_policy.py +12 -12
  301. pulumi_gcp/gkehub/membership_rbac_role_binding.py +12 -8
  302. pulumi_gcp/gkehub/namespace.py +8 -6
  303. pulumi_gcp/gkehub/scope_iam_binding.py +12 -12
  304. pulumi_gcp/gkehub/scope_iam_member.py +12 -12
  305. pulumi_gcp/gkehub/scope_iam_policy.py +12 -12
  306. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -6
  307. pulumi_gcp/healthcare/consent_store_iam_binding.py +12 -12
  308. pulumi_gcp/healthcare/consent_store_iam_member.py +12 -12
  309. pulumi_gcp/healthcare/consent_store_iam_policy.py +12 -12
  310. pulumi_gcp/healthcare/dataset_iam_binding.py +12 -12
  311. pulumi_gcp/healthcare/dataset_iam_member.py +12 -12
  312. pulumi_gcp/healthcare/dataset_iam_policy.py +12 -12
  313. pulumi_gcp/healthcare/dicom_store_iam_binding.py +12 -12
  314. pulumi_gcp/healthcare/dicom_store_iam_member.py +12 -12
  315. pulumi_gcp/healthcare/dicom_store_iam_policy.py +12 -12
  316. pulumi_gcp/healthcare/fhir_store_iam_binding.py +12 -12
  317. pulumi_gcp/healthcare/fhir_store_iam_member.py +12 -12
  318. pulumi_gcp/healthcare/fhir_store_iam_policy.py +12 -12
  319. pulumi_gcp/healthcare/hl7_store_iam_binding.py +12 -12
  320. pulumi_gcp/healthcare/hl7_store_iam_member.py +12 -12
  321. pulumi_gcp/healthcare/hl7_store_iam_policy.py +12 -12
  322. pulumi_gcp/iap/app_engine_service_iam_binding.py +12 -12
  323. pulumi_gcp/iap/app_engine_service_iam_member.py +12 -12
  324. pulumi_gcp/iap/app_engine_service_iam_policy.py +12 -12
  325. pulumi_gcp/iap/app_engine_version_iam_binding.py +12 -12
  326. pulumi_gcp/iap/app_engine_version_iam_member.py +12 -12
  327. pulumi_gcp/iap/app_engine_version_iam_policy.py +12 -12
  328. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  329. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +12 -12
  330. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +12 -12
  331. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +12 -12
  332. pulumi_gcp/iap/tunnel_iam_binding.py +12 -12
  333. pulumi_gcp/iap/tunnel_iam_member.py +12 -12
  334. pulumi_gcp/iap/tunnel_iam_policy.py +12 -12
  335. pulumi_gcp/iap/tunnel_instance_iam_binding.py +12 -12
  336. pulumi_gcp/iap/tunnel_instance_iam_member.py +12 -12
  337. pulumi_gcp/iap/tunnel_instance_iam_policy.py +12 -12
  338. pulumi_gcp/iap/web_backend_service_iam_binding.py +12 -12
  339. pulumi_gcp/iap/web_backend_service_iam_member.py +12 -12
  340. pulumi_gcp/iap/web_backend_service_iam_policy.py +12 -12
  341. pulumi_gcp/iap/web_iam_binding.py +12 -12
  342. pulumi_gcp/iap/web_iam_member.py +12 -12
  343. pulumi_gcp/iap/web_iam_policy.py +12 -12
  344. pulumi_gcp/iap/web_region_backend_service_iam_binding.py +12 -12
  345. pulumi_gcp/iap/web_region_backend_service_iam_member.py +12 -12
  346. pulumi_gcp/iap/web_region_backend_service_iam_policy.py +12 -12
  347. pulumi_gcp/iap/web_type_app_enging_iam_binding.py +12 -12
  348. pulumi_gcp/iap/web_type_app_enging_iam_member.py +12 -12
  349. pulumi_gcp/iap/web_type_app_enging_iam_policy.py +12 -12
  350. pulumi_gcp/iap/web_type_compute_iam_binding.py +12 -12
  351. pulumi_gcp/iap/web_type_compute_iam_member.py +12 -12
  352. pulumi_gcp/iap/web_type_compute_iam_policy.py +12 -12
  353. pulumi_gcp/integrationconnectors/connection.py +4 -2
  354. pulumi_gcp/integrationconnectors/managed_zone.py +26 -14
  355. pulumi_gcp/kms/__init__.py +2 -0
  356. pulumi_gcp/kms/autokey_config.py +366 -0
  357. pulumi_gcp/kms/key_handle.py +548 -0
  358. pulumi_gcp/kms/key_ring_iam_binding.py +12 -12
  359. pulumi_gcp/kms/key_ring_iam_member.py +12 -12
  360. pulumi_gcp/kms/key_ring_iam_policy.py +12 -12
  361. pulumi_gcp/logging/folder_settings.py +12 -10
  362. pulumi_gcp/logging/linked_dataset.py +4 -2
  363. pulumi_gcp/logging/organization_settings.py +12 -10
  364. pulumi_gcp/logging/project_bucket_config.py +4 -2
  365. pulumi_gcp/looker/instance.py +12 -10
  366. pulumi_gcp/netapp/storage_pool.py +7 -7
  367. pulumi_gcp/netapp/volume.py +4 -4
  368. pulumi_gcp/netapp/volume_replication.py +4 -2
  369. pulumi_gcp/netapp/volume_snapshot.py +4 -2
  370. pulumi_gcp/networkconnectivity/internal_range.py +14 -12
  371. pulumi_gcp/networksecurity/gateway_security_policy.py +20 -8
  372. pulumi_gcp/networksecurity/tls_inspection_policy.py +437 -5
  373. pulumi_gcp/networkservices/__init__.py +2 -0
  374. pulumi_gcp/networkservices/_inputs.py +454 -0
  375. pulumi_gcp/networkservices/gateway.py +12 -6
  376. pulumi_gcp/networkservices/lb_route_extension.py +663 -0
  377. pulumi_gcp/networkservices/lb_traffic_extension.py +669 -0
  378. pulumi_gcp/networkservices/outputs.py +478 -0
  379. pulumi_gcp/notebooks/instance_iam_binding.py +12 -12
  380. pulumi_gcp/notebooks/instance_iam_member.py +12 -12
  381. pulumi_gcp/notebooks/instance_iam_policy.py +12 -12
  382. pulumi_gcp/notebooks/runtime_iam_binding.py +12 -12
  383. pulumi_gcp/notebooks/runtime_iam_member.py +12 -12
  384. pulumi_gcp/notebooks/runtime_iam_policy.py +12 -12
  385. pulumi_gcp/organizations/access_approval_settings.py +4 -2
  386. pulumi_gcp/organizations/iam_member.py +16 -16
  387. pulumi_gcp/organizations/iam_policy.py +16 -16
  388. pulumi_gcp/orgpolicy/policy.py +2 -2
  389. pulumi_gcp/parallelstore/instance.py +20 -18
  390. pulumi_gcp/projects/access_approval_settings.py +4 -2
  391. pulumi_gcp/projects/iam_audit_config.py +23 -23
  392. pulumi_gcp/projects/iam_binding.py +23 -23
  393. pulumi_gcp/projects/iam_member.py +23 -23
  394. pulumi_gcp/projects/iam_policy.py +16 -16
  395. pulumi_gcp/projects/service.py +2 -43
  396. pulumi_gcp/pubsub/_inputs.py +16 -0
  397. pulumi_gcp/pubsub/outputs.py +25 -0
  398. pulumi_gcp/pubsub/schema.py +4 -2
  399. pulumi_gcp/pubsub/schema_iam_binding.py +12 -12
  400. pulumi_gcp/pubsub/schema_iam_member.py +12 -12
  401. pulumi_gcp/pubsub/schema_iam_policy.py +12 -12
  402. pulumi_gcp/pubsub/subscription.py +102 -66
  403. pulumi_gcp/pubsub/subscription_iam_binding.py +12 -12
  404. pulumi_gcp/pubsub/subscription_iam_member.py +12 -12
  405. pulumi_gcp/pubsub/subscription_iam_policy.py +12 -12
  406. pulumi_gcp/pubsub/topic.py +4 -2
  407. pulumi_gcp/pubsub/topic_iam_binding.py +12 -12
  408. pulumi_gcp/pubsub/topic_iam_member.py +12 -12
  409. pulumi_gcp/pubsub/topic_iam_policy.py +12 -12
  410. pulumi_gcp/pulumi-plugin.json +1 -1
  411. pulumi_gcp/redis/cluster.py +30 -28
  412. pulumi_gcp/redis/instance.py +4 -2
  413. pulumi_gcp/secretmanager/secret.py +4 -2
  414. pulumi_gcp/secretmanager/secret_iam_binding.py +12 -12
  415. pulumi_gcp/secretmanager/secret_iam_member.py +12 -12
  416. pulumi_gcp/secretmanager/secret_iam_policy.py +12 -12
  417. pulumi_gcp/securesourcemanager/instance.py +20 -8
  418. pulumi_gcp/securitycenter/instance_iam_binding.py +14 -12
  419. pulumi_gcp/securitycenter/instance_iam_member.py +14 -12
  420. pulumi_gcp/securitycenter/instance_iam_policy.py +14 -12
  421. pulumi_gcp/serviceaccount/key.py +2 -2
  422. pulumi_gcp/servicedirectory/namespace_iam_binding.py +8 -8
  423. pulumi_gcp/servicedirectory/namespace_iam_member.py +8 -8
  424. pulumi_gcp/servicedirectory/namespace_iam_policy.py +8 -8
  425. pulumi_gcp/servicedirectory/service_iam_binding.py +8 -8
  426. pulumi_gcp/servicedirectory/service_iam_member.py +8 -8
  427. pulumi_gcp/servicedirectory/service_iam_policy.py +8 -8
  428. pulumi_gcp/sourcerepo/repository_iam_binding.py +12 -12
  429. pulumi_gcp/sourcerepo/repository_iam_member.py +12 -12
  430. pulumi_gcp/sourcerepo/repository_iam_policy.py +12 -12
  431. pulumi_gcp/spanner/database_iam_binding.py +12 -12
  432. pulumi_gcp/spanner/database_iam_member.py +12 -12
  433. pulumi_gcp/spanner/database_iam_policy.py +12 -12
  434. pulumi_gcp/spanner/instance_iam_binding.py +12 -12
  435. pulumi_gcp/spanner/instance_iam_member.py +12 -12
  436. pulumi_gcp/spanner/instance_iam_policy.py +12 -12
  437. pulumi_gcp/sql/database_instance.py +4 -2
  438. pulumi_gcp/sql/user.py +4 -4
  439. pulumi_gcp/storage/_inputs.py +12 -10
  440. pulumi_gcp/storage/bucket.py +44 -0
  441. pulumi_gcp/storage/bucket_iam_binding.py +12 -12
  442. pulumi_gcp/storage/bucket_iam_member.py +12 -12
  443. pulumi_gcp/storage/bucket_iam_policy.py +12 -12
  444. pulumi_gcp/storage/get_project_service_account.py +4 -2
  445. pulumi_gcp/storage/insights_report_config.py +12 -10
  446. pulumi_gcp/storage/notification.py +18 -16
  447. pulumi_gcp/storage/outputs.py +12 -10
  448. pulumi_gcp/storage/transfer_agent_pool.py +4 -2
  449. pulumi_gcp/storage/transfer_job.py +14 -4
  450. pulumi_gcp/tags/tag_key_iam_binding.py +12 -12
  451. pulumi_gcp/tags/tag_key_iam_member.py +12 -12
  452. pulumi_gcp/tags/tag_key_iam_policy.py +12 -12
  453. pulumi_gcp/tags/tag_value_iam_binding.py +12 -12
  454. pulumi_gcp/tags/tag_value_iam_member.py +12 -12
  455. pulumi_gcp/tags/tag_value_iam_policy.py +12 -12
  456. pulumi_gcp/tpu/_inputs.py +2 -2
  457. pulumi_gcp/tpu/outputs.py +2 -2
  458. pulumi_gcp/tpu/v2_vm.py +10 -6
  459. pulumi_gcp/vertex/ai_endpoint.py +24 -22
  460. pulumi_gcp/vertex/ai_index_endpoint.py +20 -18
  461. pulumi_gcp/vertex/ai_tensorboard.py +14 -12
  462. pulumi_gcp/vmwareengine/external_address.py +4 -2
  463. pulumi_gcp/vmwareengine/network.py +8 -4
  464. {pulumi_gcp-7.24.0a1716510380.dist-info → pulumi_gcp-7.25.0.dist-info}/METADATA +1 -1
  465. {pulumi_gcp-7.24.0a1716510380.dist-info → pulumi_gcp-7.25.0.dist-info}/RECORD +467 -450
  466. {pulumi_gcp-7.24.0a1716510380.dist-info → pulumi_gcp-7.25.0.dist-info}/WHEEL +0 -0
  467. {pulumi_gcp-7.24.0a1716510380.dist-info → pulumi_gcp-7.25.0.dist-info}/top_level.txt +0 -0
@@ -15,35 +15,53 @@ __all__ = ['TlsInspectionPolicyArgs', 'TlsInspectionPolicy']
15
15
  class TlsInspectionPolicyArgs:
16
16
  def __init__(__self__, *,
17
17
  ca_pool: pulumi.Input[str],
18
+ custom_tls_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
18
19
  description: Optional[pulumi.Input[str]] = None,
19
20
  exclude_public_ca_set: Optional[pulumi.Input[bool]] = None,
20
21
  location: Optional[pulumi.Input[str]] = None,
22
+ min_tls_version: Optional[pulumi.Input[str]] = None,
21
23
  name: Optional[pulumi.Input[str]] = None,
22
- project: Optional[pulumi.Input[str]] = None):
24
+ project: Optional[pulumi.Input[str]] = None,
25
+ tls_feature_profile: Optional[pulumi.Input[str]] = None,
26
+ trust_config: Optional[pulumi.Input[str]] = None):
23
27
  """
24
28
  The set of arguments for constructing a TlsInspectionPolicy resource.
25
29
  :param pulumi.Input[str] ca_pool: A CA pool resource used to issue interception certificates.
30
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_tls_features: List of custom TLS cipher suites selected. This field is valid only if the selected tls_feature_profile is CUSTOM. The compute.SslPoliciesService.ListAvailableFeatures method returns the set of features that can be specified in this list. Note that Secure Web Proxy does not yet honor this field.
26
31
  :param pulumi.Input[str] description: Free-text description of the resource.
27
32
  :param pulumi.Input[bool] exclude_public_ca_set: If FALSE (the default), use our default set of public CAs in addition to any CAs specified in trustConfig. These public CAs are currently based on the Mozilla Root Program and are subject to change over time. If TRUE, do not accept our default set of public CAs. Only CAs specified in trustConfig will be accepted.
28
33
  :param pulumi.Input[str] location: The location of the tls inspection policy.
34
+ :param pulumi.Input[str] min_tls_version: Minimum TLS version that the firewall should use when negotiating connections with both clients and servers. If this is not set, then the default value is to allow the broadest set of clients and servers (TLS 1.0 or higher). Setting this to more restrictive values may improve security, but may also prevent the firewall from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
35
+ Possible values are: `TLS_VERSION_UNSPECIFIED`, `TLS_1_0`, `TLS_1_1`, `TLS_1_2`, `TLS_1_3`.
29
36
  :param pulumi.Input[str] name: Short name of the TlsInspectionPolicy resource to be created.
30
37
 
31
38
 
32
39
  - - -
33
40
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
34
41
  If it is not provided, the provider project is used.
42
+ :param pulumi.Input[str] tls_feature_profile: The selected Profile. If this is not set, then the default value is to allow the broadest set of clients and servers (\\"PROFILE_COMPATIBLE\\"). Setting this to more restrictive values may improve security, but may also prevent the TLS inspection proxy from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
43
+ Possible values are: `PROFILE_UNSPECIFIED`, `PROFILE_COMPATIBLE`, `PROFILE_MODERN`, `PROFILE_RESTRICTED`, `PROFILE_CUSTOM`.
44
+ :param pulumi.Input[str] trust_config: A TrustConfig resource used when making a connection to the TLS server. This is a relative resource path following the form \\"projects/{project}/locations/{location}/trustConfigs/{trust_config}\\". This is necessary to intercept TLS connections to servers with certificates signed by a private CA or self-signed certificates. Trust config and the TLS inspection policy must be in the same region. Note that Secure Web Proxy does not yet honor this field.
35
45
  """
36
46
  pulumi.set(__self__, "ca_pool", ca_pool)
47
+ if custom_tls_features is not None:
48
+ pulumi.set(__self__, "custom_tls_features", custom_tls_features)
37
49
  if description is not None:
38
50
  pulumi.set(__self__, "description", description)
39
51
  if exclude_public_ca_set is not None:
40
52
  pulumi.set(__self__, "exclude_public_ca_set", exclude_public_ca_set)
41
53
  if location is not None:
42
54
  pulumi.set(__self__, "location", location)
55
+ if min_tls_version is not None:
56
+ pulumi.set(__self__, "min_tls_version", min_tls_version)
43
57
  if name is not None:
44
58
  pulumi.set(__self__, "name", name)
45
59
  if project is not None:
46
60
  pulumi.set(__self__, "project", project)
61
+ if tls_feature_profile is not None:
62
+ pulumi.set(__self__, "tls_feature_profile", tls_feature_profile)
63
+ if trust_config is not None:
64
+ pulumi.set(__self__, "trust_config", trust_config)
47
65
 
48
66
  @property
49
67
  @pulumi.getter(name="caPool")
@@ -57,6 +75,18 @@ class TlsInspectionPolicyArgs:
57
75
  def ca_pool(self, value: pulumi.Input[str]):
58
76
  pulumi.set(self, "ca_pool", value)
59
77
 
78
+ @property
79
+ @pulumi.getter(name="customTlsFeatures")
80
+ def custom_tls_features(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
81
+ """
82
+ List of custom TLS cipher suites selected. This field is valid only if the selected tls_feature_profile is CUSTOM. The compute.SslPoliciesService.ListAvailableFeatures method returns the set of features that can be specified in this list. Note that Secure Web Proxy does not yet honor this field.
83
+ """
84
+ return pulumi.get(self, "custom_tls_features")
85
+
86
+ @custom_tls_features.setter
87
+ def custom_tls_features(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
88
+ pulumi.set(self, "custom_tls_features", value)
89
+
60
90
  @property
61
91
  @pulumi.getter
62
92
  def description(self) -> Optional[pulumi.Input[str]]:
@@ -93,6 +123,19 @@ class TlsInspectionPolicyArgs:
93
123
  def location(self, value: Optional[pulumi.Input[str]]):
94
124
  pulumi.set(self, "location", value)
95
125
 
126
+ @property
127
+ @pulumi.getter(name="minTlsVersion")
128
+ def min_tls_version(self) -> Optional[pulumi.Input[str]]:
129
+ """
130
+ Minimum TLS version that the firewall should use when negotiating connections with both clients and servers. If this is not set, then the default value is to allow the broadest set of clients and servers (TLS 1.0 or higher). Setting this to more restrictive values may improve security, but may also prevent the firewall from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
131
+ Possible values are: `TLS_VERSION_UNSPECIFIED`, `TLS_1_0`, `TLS_1_1`, `TLS_1_2`, `TLS_1_3`.
132
+ """
133
+ return pulumi.get(self, "min_tls_version")
134
+
135
+ @min_tls_version.setter
136
+ def min_tls_version(self, value: Optional[pulumi.Input[str]]):
137
+ pulumi.set(self, "min_tls_version", value)
138
+
96
139
  @property
97
140
  @pulumi.getter
98
141
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -121,47 +164,90 @@ class TlsInspectionPolicyArgs:
121
164
  def project(self, value: Optional[pulumi.Input[str]]):
122
165
  pulumi.set(self, "project", value)
123
166
 
167
+ @property
168
+ @pulumi.getter(name="tlsFeatureProfile")
169
+ def tls_feature_profile(self) -> Optional[pulumi.Input[str]]:
170
+ """
171
+ The selected Profile. If this is not set, then the default value is to allow the broadest set of clients and servers (\\"PROFILE_COMPATIBLE\\"). Setting this to more restrictive values may improve security, but may also prevent the TLS inspection proxy from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
172
+ Possible values are: `PROFILE_UNSPECIFIED`, `PROFILE_COMPATIBLE`, `PROFILE_MODERN`, `PROFILE_RESTRICTED`, `PROFILE_CUSTOM`.
173
+ """
174
+ return pulumi.get(self, "tls_feature_profile")
175
+
176
+ @tls_feature_profile.setter
177
+ def tls_feature_profile(self, value: Optional[pulumi.Input[str]]):
178
+ pulumi.set(self, "tls_feature_profile", value)
179
+
180
+ @property
181
+ @pulumi.getter(name="trustConfig")
182
+ def trust_config(self) -> Optional[pulumi.Input[str]]:
183
+ """
184
+ A TrustConfig resource used when making a connection to the TLS server. This is a relative resource path following the form \\"projects/{project}/locations/{location}/trustConfigs/{trust_config}\\". This is necessary to intercept TLS connections to servers with certificates signed by a private CA or self-signed certificates. Trust config and the TLS inspection policy must be in the same region. Note that Secure Web Proxy does not yet honor this field.
185
+ """
186
+ return pulumi.get(self, "trust_config")
187
+
188
+ @trust_config.setter
189
+ def trust_config(self, value: Optional[pulumi.Input[str]]):
190
+ pulumi.set(self, "trust_config", value)
191
+
124
192
 
125
193
  @pulumi.input_type
126
194
  class _TlsInspectionPolicyState:
127
195
  def __init__(__self__, *,
128
196
  ca_pool: Optional[pulumi.Input[str]] = None,
129
197
  create_time: Optional[pulumi.Input[str]] = None,
198
+ custom_tls_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
130
199
  description: Optional[pulumi.Input[str]] = None,
131
200
  exclude_public_ca_set: Optional[pulumi.Input[bool]] = None,
132
201
  location: Optional[pulumi.Input[str]] = None,
202
+ min_tls_version: Optional[pulumi.Input[str]] = None,
133
203
  name: Optional[pulumi.Input[str]] = None,
134
204
  project: Optional[pulumi.Input[str]] = None,
205
+ tls_feature_profile: Optional[pulumi.Input[str]] = None,
206
+ trust_config: Optional[pulumi.Input[str]] = None,
135
207
  update_time: Optional[pulumi.Input[str]] = None):
136
208
  """
137
209
  Input properties used for looking up and filtering TlsInspectionPolicy resources.
138
210
  :param pulumi.Input[str] ca_pool: A CA pool resource used to issue interception certificates.
139
211
  :param pulumi.Input[str] create_time: The timestamp when the resource was created.
212
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_tls_features: List of custom TLS cipher suites selected. This field is valid only if the selected tls_feature_profile is CUSTOM. The compute.SslPoliciesService.ListAvailableFeatures method returns the set of features that can be specified in this list. Note that Secure Web Proxy does not yet honor this field.
140
213
  :param pulumi.Input[str] description: Free-text description of the resource.
141
214
  :param pulumi.Input[bool] exclude_public_ca_set: If FALSE (the default), use our default set of public CAs in addition to any CAs specified in trustConfig. These public CAs are currently based on the Mozilla Root Program and are subject to change over time. If TRUE, do not accept our default set of public CAs. Only CAs specified in trustConfig will be accepted.
142
215
  :param pulumi.Input[str] location: The location of the tls inspection policy.
216
+ :param pulumi.Input[str] min_tls_version: Minimum TLS version that the firewall should use when negotiating connections with both clients and servers. If this is not set, then the default value is to allow the broadest set of clients and servers (TLS 1.0 or higher). Setting this to more restrictive values may improve security, but may also prevent the firewall from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
217
+ Possible values are: `TLS_VERSION_UNSPECIFIED`, `TLS_1_0`, `TLS_1_1`, `TLS_1_2`, `TLS_1_3`.
143
218
  :param pulumi.Input[str] name: Short name of the TlsInspectionPolicy resource to be created.
144
219
 
145
220
 
146
221
  - - -
147
222
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
148
223
  If it is not provided, the provider project is used.
224
+ :param pulumi.Input[str] tls_feature_profile: The selected Profile. If this is not set, then the default value is to allow the broadest set of clients and servers (\\"PROFILE_COMPATIBLE\\"). Setting this to more restrictive values may improve security, but may also prevent the TLS inspection proxy from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
225
+ Possible values are: `PROFILE_UNSPECIFIED`, `PROFILE_COMPATIBLE`, `PROFILE_MODERN`, `PROFILE_RESTRICTED`, `PROFILE_CUSTOM`.
226
+ :param pulumi.Input[str] trust_config: A TrustConfig resource used when making a connection to the TLS server. This is a relative resource path following the form \\"projects/{project}/locations/{location}/trustConfigs/{trust_config}\\". This is necessary to intercept TLS connections to servers with certificates signed by a private CA or self-signed certificates. Trust config and the TLS inspection policy must be in the same region. Note that Secure Web Proxy does not yet honor this field.
149
227
  :param pulumi.Input[str] update_time: The timestamp when the resource was updated.
150
228
  """
151
229
  if ca_pool is not None:
152
230
  pulumi.set(__self__, "ca_pool", ca_pool)
153
231
  if create_time is not None:
154
232
  pulumi.set(__self__, "create_time", create_time)
233
+ if custom_tls_features is not None:
234
+ pulumi.set(__self__, "custom_tls_features", custom_tls_features)
155
235
  if description is not None:
156
236
  pulumi.set(__self__, "description", description)
157
237
  if exclude_public_ca_set is not None:
158
238
  pulumi.set(__self__, "exclude_public_ca_set", exclude_public_ca_set)
159
239
  if location is not None:
160
240
  pulumi.set(__self__, "location", location)
241
+ if min_tls_version is not None:
242
+ pulumi.set(__self__, "min_tls_version", min_tls_version)
161
243
  if name is not None:
162
244
  pulumi.set(__self__, "name", name)
163
245
  if project is not None:
164
246
  pulumi.set(__self__, "project", project)
247
+ if tls_feature_profile is not None:
248
+ pulumi.set(__self__, "tls_feature_profile", tls_feature_profile)
249
+ if trust_config is not None:
250
+ pulumi.set(__self__, "trust_config", trust_config)
165
251
  if update_time is not None:
166
252
  pulumi.set(__self__, "update_time", update_time)
167
253
 
@@ -189,6 +275,18 @@ class _TlsInspectionPolicyState:
189
275
  def create_time(self, value: Optional[pulumi.Input[str]]):
190
276
  pulumi.set(self, "create_time", value)
191
277
 
278
+ @property
279
+ @pulumi.getter(name="customTlsFeatures")
280
+ def custom_tls_features(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
281
+ """
282
+ List of custom TLS cipher suites selected. This field is valid only if the selected tls_feature_profile is CUSTOM. The compute.SslPoliciesService.ListAvailableFeatures method returns the set of features that can be specified in this list. Note that Secure Web Proxy does not yet honor this field.
283
+ """
284
+ return pulumi.get(self, "custom_tls_features")
285
+
286
+ @custom_tls_features.setter
287
+ def custom_tls_features(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
288
+ pulumi.set(self, "custom_tls_features", value)
289
+
192
290
  @property
193
291
  @pulumi.getter
194
292
  def description(self) -> Optional[pulumi.Input[str]]:
@@ -225,6 +323,19 @@ class _TlsInspectionPolicyState:
225
323
  def location(self, value: Optional[pulumi.Input[str]]):
226
324
  pulumi.set(self, "location", value)
227
325
 
326
+ @property
327
+ @pulumi.getter(name="minTlsVersion")
328
+ def min_tls_version(self) -> Optional[pulumi.Input[str]]:
329
+ """
330
+ Minimum TLS version that the firewall should use when negotiating connections with both clients and servers. If this is not set, then the default value is to allow the broadest set of clients and servers (TLS 1.0 or higher). Setting this to more restrictive values may improve security, but may also prevent the firewall from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
331
+ Possible values are: `TLS_VERSION_UNSPECIFIED`, `TLS_1_0`, `TLS_1_1`, `TLS_1_2`, `TLS_1_3`.
332
+ """
333
+ return pulumi.get(self, "min_tls_version")
334
+
335
+ @min_tls_version.setter
336
+ def min_tls_version(self, value: Optional[pulumi.Input[str]]):
337
+ pulumi.set(self, "min_tls_version", value)
338
+
228
339
  @property
229
340
  @pulumi.getter
230
341
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -253,6 +364,31 @@ class _TlsInspectionPolicyState:
253
364
  def project(self, value: Optional[pulumi.Input[str]]):
254
365
  pulumi.set(self, "project", value)
255
366
 
367
+ @property
368
+ @pulumi.getter(name="tlsFeatureProfile")
369
+ def tls_feature_profile(self) -> Optional[pulumi.Input[str]]:
370
+ """
371
+ The selected Profile. If this is not set, then the default value is to allow the broadest set of clients and servers (\\"PROFILE_COMPATIBLE\\"). Setting this to more restrictive values may improve security, but may also prevent the TLS inspection proxy from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
372
+ Possible values are: `PROFILE_UNSPECIFIED`, `PROFILE_COMPATIBLE`, `PROFILE_MODERN`, `PROFILE_RESTRICTED`, `PROFILE_CUSTOM`.
373
+ """
374
+ return pulumi.get(self, "tls_feature_profile")
375
+
376
+ @tls_feature_profile.setter
377
+ def tls_feature_profile(self, value: Optional[pulumi.Input[str]]):
378
+ pulumi.set(self, "tls_feature_profile", value)
379
+
380
+ @property
381
+ @pulumi.getter(name="trustConfig")
382
+ def trust_config(self) -> Optional[pulumi.Input[str]]:
383
+ """
384
+ A TrustConfig resource used when making a connection to the TLS server. This is a relative resource path following the form \\"projects/{project}/locations/{location}/trustConfigs/{trust_config}\\". This is necessary to intercept TLS connections to servers with certificates signed by a private CA or self-signed certificates. Trust config and the TLS inspection policy must be in the same region. Note that Secure Web Proxy does not yet honor this field.
385
+ """
386
+ return pulumi.get(self, "trust_config")
387
+
388
+ @trust_config.setter
389
+ def trust_config(self, value: Optional[pulumi.Input[str]]):
390
+ pulumi.set(self, "trust_config", value)
391
+
256
392
  @property
257
393
  @pulumi.getter(name="updateTime")
258
394
  def update_time(self) -> Optional[pulumi.Input[str]]:
@@ -272,11 +408,15 @@ class TlsInspectionPolicy(pulumi.CustomResource):
272
408
  resource_name: str,
273
409
  opts: Optional[pulumi.ResourceOptions] = None,
274
410
  ca_pool: Optional[pulumi.Input[str]] = None,
411
+ custom_tls_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
275
412
  description: Optional[pulumi.Input[str]] = None,
276
413
  exclude_public_ca_set: Optional[pulumi.Input[bool]] = None,
277
414
  location: Optional[pulumi.Input[str]] = None,
415
+ min_tls_version: Optional[pulumi.Input[str]] = None,
278
416
  name: Optional[pulumi.Input[str]] = None,
279
417
  project: Optional[pulumi.Input[str]] = None,
418
+ tls_feature_profile: Optional[pulumi.Input[str]] = None,
419
+ trust_config: Optional[pulumi.Input[str]] = None,
280
420
  __props__=None):
281
421
  """
282
422
  The TlsInspectionPolicy resource contains references to CA pools in Certificate Authority Service and associated metadata.
@@ -351,16 +491,131 @@ class TlsInspectionPolicy(pulumi.CustomResource):
351
491
  key_spec=gcp.certificateauthority.AuthorityKeySpecArgs(
352
492
  algorithm="RSA_PKCS1_4096_SHA256",
353
493
  ))
354
- ns_sa = gcp.projects.ServiceIdentity("ns_sa", service="networksecurity.googleapis.com")
494
+ project = gcp.organizations.get_project()
355
495
  tls_inspection_permission = gcp.certificateauthority.CaPoolIamMember("tls_inspection_permission",
496
+ ca_pool=default.id,
497
+ role="roles/privateca.certificateManager",
498
+ member=f"serviceAccount:service-{project.number}@gcp-sa-networksecurity.iam.gserviceaccount.com")
499
+ default_tls_inspection_policy = gcp.networksecurity.TlsInspectionPolicy("default",
500
+ name="my-tls-inspection-policy",
501
+ location="us-central1",
502
+ ca_pool=default.id,
503
+ exclude_public_ca_set=False,
504
+ opts=pulumi.ResourceOptions(depends_on=[
505
+ default,
506
+ default_authority,
507
+ tls_inspection_permission,
508
+ ]))
509
+ ```
510
+ ### Network Security Tls Inspection Policy Custom
511
+
512
+ ```python
513
+ import pulumi
514
+ import pulumi_gcp as gcp
515
+ import pulumi_std as std
516
+
517
+ default = gcp.certificateauthority.CaPool("default",
518
+ name="my-basic-ca-pool",
519
+ location="us-central1",
520
+ tier="DEVOPS",
521
+ publishing_options=gcp.certificateauthority.CaPoolPublishingOptionsArgs(
522
+ publish_ca_cert=False,
523
+ publish_crl=False,
524
+ ),
525
+ issuance_policy=gcp.certificateauthority.CaPoolIssuancePolicyArgs(
526
+ maximum_lifetime="1209600s",
527
+ baseline_values=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesArgs(
528
+ ca_options=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesCaOptionsArgs(
529
+ is_ca=False,
530
+ ),
531
+ key_usage=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesKeyUsageArgs(
532
+ base_key_usage=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsageArgs(),
533
+ extended_key_usage=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsageArgs(
534
+ server_auth=True,
535
+ ),
536
+ ),
537
+ ),
538
+ ))
539
+ default_authority = gcp.certificateauthority.Authority("default",
540
+ pool=default.name,
541
+ certificate_authority_id="my-basic-certificate-authority",
542
+ location="us-central1",
543
+ lifetime="86400s",
544
+ type="SELF_SIGNED",
545
+ deletion_protection=False,
546
+ skip_grace_period=True,
547
+ ignore_active_certificates_on_deletion=True,
548
+ config=gcp.certificateauthority.AuthorityConfigArgs(
549
+ subject_config=gcp.certificateauthority.AuthorityConfigSubjectConfigArgs(
550
+ subject=gcp.certificateauthority.AuthorityConfigSubjectConfigSubjectArgs(
551
+ organization="Test LLC",
552
+ common_name="my-ca",
553
+ ),
554
+ ),
555
+ x509_config=gcp.certificateauthority.AuthorityConfigX509ConfigArgs(
556
+ ca_options=gcp.certificateauthority.AuthorityConfigX509ConfigCaOptionsArgs(
557
+ is_ca=True,
558
+ ),
559
+ key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageArgs(
560
+ base_key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageBaseKeyUsageArgs(
561
+ cert_sign=True,
562
+ crl_sign=True,
563
+ ),
564
+ extended_key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageExtendedKeyUsageArgs(
565
+ server_auth=False,
566
+ ),
567
+ ),
568
+ ),
569
+ ),
570
+ key_spec=gcp.certificateauthority.AuthorityKeySpecArgs(
571
+ algorithm="RSA_PKCS1_4096_SHA256",
572
+ ))
573
+ ns_sa = gcp.projects.ServiceIdentity("ns_sa", service="networksecurity.googleapis.com")
574
+ default_ca_pool_iam_member = gcp.certificateauthority.CaPoolIamMember("default",
356
575
  ca_pool=default.id,
357
576
  role="roles/privateca.certificateManager",
358
577
  member=ns_sa.email.apply(lambda email: f"serviceAccount:{email}"))
578
+ default_trust_config = gcp.certificatemanager.TrustConfig("default",
579
+ name="my-trust-config",
580
+ description="sample trust config description",
581
+ location="us-central1",
582
+ trust_stores=[gcp.certificatemanager.TrustConfigTrustStoreArgs(
583
+ trust_anchors=[gcp.certificatemanager.TrustConfigTrustStoreTrustAnchorArgs(
584
+ pem_certificate=std.file(input="test-fixtures/ca_cert.pem").result,
585
+ )],
586
+ intermediate_cas=[gcp.certificatemanager.TrustConfigTrustStoreIntermediateCaArgs(
587
+ pem_certificate=std.file(input="test-fixtures/ca_cert.pem").result,
588
+ )],
589
+ )])
359
590
  default_tls_inspection_policy = gcp.networksecurity.TlsInspectionPolicy("default",
360
591
  name="my-tls-inspection-policy",
361
592
  location="us-central1",
362
593
  ca_pool=default.id,
363
- exclude_public_ca_set=False)
594
+ exclude_public_ca_set=False,
595
+ min_tls_version="TLS_1_0",
596
+ trust_config=default_trust_config.id,
597
+ tls_feature_profile="PROFILE_CUSTOM",
598
+ custom_tls_features=[
599
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
600
+ "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
601
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
602
+ "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
603
+ "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
604
+ "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
605
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
606
+ "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
607
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
608
+ "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
609
+ "TLS_RSA_WITH_3DES_EDE_CBC_SHA",
610
+ "TLS_RSA_WITH_AES_128_CBC_SHA",
611
+ "TLS_RSA_WITH_AES_128_GCM_SHA256",
612
+ "TLS_RSA_WITH_AES_256_CBC_SHA",
613
+ "TLS_RSA_WITH_AES_256_GCM_SHA384",
614
+ ],
615
+ opts=pulumi.ResourceOptions(depends_on=[
616
+ default_authority,
617
+ default_ca_pool_iam_member,
618
+ ]))
364
619
  ```
365
620
 
366
621
  ## Import
@@ -390,15 +645,21 @@ class TlsInspectionPolicy(pulumi.CustomResource):
390
645
  :param str resource_name: The name of the resource.
391
646
  :param pulumi.ResourceOptions opts: Options for the resource.
392
647
  :param pulumi.Input[str] ca_pool: A CA pool resource used to issue interception certificates.
648
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_tls_features: List of custom TLS cipher suites selected. This field is valid only if the selected tls_feature_profile is CUSTOM. The compute.SslPoliciesService.ListAvailableFeatures method returns the set of features that can be specified in this list. Note that Secure Web Proxy does not yet honor this field.
393
649
  :param pulumi.Input[str] description: Free-text description of the resource.
394
650
  :param pulumi.Input[bool] exclude_public_ca_set: If FALSE (the default), use our default set of public CAs in addition to any CAs specified in trustConfig. These public CAs are currently based on the Mozilla Root Program and are subject to change over time. If TRUE, do not accept our default set of public CAs. Only CAs specified in trustConfig will be accepted.
395
651
  :param pulumi.Input[str] location: The location of the tls inspection policy.
652
+ :param pulumi.Input[str] min_tls_version: Minimum TLS version that the firewall should use when negotiating connections with both clients and servers. If this is not set, then the default value is to allow the broadest set of clients and servers (TLS 1.0 or higher). Setting this to more restrictive values may improve security, but may also prevent the firewall from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
653
+ Possible values are: `TLS_VERSION_UNSPECIFIED`, `TLS_1_0`, `TLS_1_1`, `TLS_1_2`, `TLS_1_3`.
396
654
  :param pulumi.Input[str] name: Short name of the TlsInspectionPolicy resource to be created.
397
655
 
398
656
 
399
657
  - - -
400
658
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
401
659
  If it is not provided, the provider project is used.
660
+ :param pulumi.Input[str] tls_feature_profile: The selected Profile. If this is not set, then the default value is to allow the broadest set of clients and servers (\\"PROFILE_COMPATIBLE\\"). Setting this to more restrictive values may improve security, but may also prevent the TLS inspection proxy from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
661
+ Possible values are: `PROFILE_UNSPECIFIED`, `PROFILE_COMPATIBLE`, `PROFILE_MODERN`, `PROFILE_RESTRICTED`, `PROFILE_CUSTOM`.
662
+ :param pulumi.Input[str] trust_config: A TrustConfig resource used when making a connection to the TLS server. This is a relative resource path following the form \\"projects/{project}/locations/{location}/trustConfigs/{trust_config}\\". This is necessary to intercept TLS connections to servers with certificates signed by a private CA or self-signed certificates. Trust config and the TLS inspection policy must be in the same region. Note that Secure Web Proxy does not yet honor this field.
402
663
  """
403
664
  ...
404
665
  @overload
@@ -479,16 +740,131 @@ class TlsInspectionPolicy(pulumi.CustomResource):
479
740
  key_spec=gcp.certificateauthority.AuthorityKeySpecArgs(
480
741
  algorithm="RSA_PKCS1_4096_SHA256",
481
742
  ))
482
- ns_sa = gcp.projects.ServiceIdentity("ns_sa", service="networksecurity.googleapis.com")
743
+ project = gcp.organizations.get_project()
483
744
  tls_inspection_permission = gcp.certificateauthority.CaPoolIamMember("tls_inspection_permission",
745
+ ca_pool=default.id,
746
+ role="roles/privateca.certificateManager",
747
+ member=f"serviceAccount:service-{project.number}@gcp-sa-networksecurity.iam.gserviceaccount.com")
748
+ default_tls_inspection_policy = gcp.networksecurity.TlsInspectionPolicy("default",
749
+ name="my-tls-inspection-policy",
750
+ location="us-central1",
751
+ ca_pool=default.id,
752
+ exclude_public_ca_set=False,
753
+ opts=pulumi.ResourceOptions(depends_on=[
754
+ default,
755
+ default_authority,
756
+ tls_inspection_permission,
757
+ ]))
758
+ ```
759
+ ### Network Security Tls Inspection Policy Custom
760
+
761
+ ```python
762
+ import pulumi
763
+ import pulumi_gcp as gcp
764
+ import pulumi_std as std
765
+
766
+ default = gcp.certificateauthority.CaPool("default",
767
+ name="my-basic-ca-pool",
768
+ location="us-central1",
769
+ tier="DEVOPS",
770
+ publishing_options=gcp.certificateauthority.CaPoolPublishingOptionsArgs(
771
+ publish_ca_cert=False,
772
+ publish_crl=False,
773
+ ),
774
+ issuance_policy=gcp.certificateauthority.CaPoolIssuancePolicyArgs(
775
+ maximum_lifetime="1209600s",
776
+ baseline_values=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesArgs(
777
+ ca_options=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesCaOptionsArgs(
778
+ is_ca=False,
779
+ ),
780
+ key_usage=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesKeyUsageArgs(
781
+ base_key_usage=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsageArgs(),
782
+ extended_key_usage=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsageArgs(
783
+ server_auth=True,
784
+ ),
785
+ ),
786
+ ),
787
+ ))
788
+ default_authority = gcp.certificateauthority.Authority("default",
789
+ pool=default.name,
790
+ certificate_authority_id="my-basic-certificate-authority",
791
+ location="us-central1",
792
+ lifetime="86400s",
793
+ type="SELF_SIGNED",
794
+ deletion_protection=False,
795
+ skip_grace_period=True,
796
+ ignore_active_certificates_on_deletion=True,
797
+ config=gcp.certificateauthority.AuthorityConfigArgs(
798
+ subject_config=gcp.certificateauthority.AuthorityConfigSubjectConfigArgs(
799
+ subject=gcp.certificateauthority.AuthorityConfigSubjectConfigSubjectArgs(
800
+ organization="Test LLC",
801
+ common_name="my-ca",
802
+ ),
803
+ ),
804
+ x509_config=gcp.certificateauthority.AuthorityConfigX509ConfigArgs(
805
+ ca_options=gcp.certificateauthority.AuthorityConfigX509ConfigCaOptionsArgs(
806
+ is_ca=True,
807
+ ),
808
+ key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageArgs(
809
+ base_key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageBaseKeyUsageArgs(
810
+ cert_sign=True,
811
+ crl_sign=True,
812
+ ),
813
+ extended_key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageExtendedKeyUsageArgs(
814
+ server_auth=False,
815
+ ),
816
+ ),
817
+ ),
818
+ ),
819
+ key_spec=gcp.certificateauthority.AuthorityKeySpecArgs(
820
+ algorithm="RSA_PKCS1_4096_SHA256",
821
+ ))
822
+ ns_sa = gcp.projects.ServiceIdentity("ns_sa", service="networksecurity.googleapis.com")
823
+ default_ca_pool_iam_member = gcp.certificateauthority.CaPoolIamMember("default",
484
824
  ca_pool=default.id,
485
825
  role="roles/privateca.certificateManager",
486
826
  member=ns_sa.email.apply(lambda email: f"serviceAccount:{email}"))
827
+ default_trust_config = gcp.certificatemanager.TrustConfig("default",
828
+ name="my-trust-config",
829
+ description="sample trust config description",
830
+ location="us-central1",
831
+ trust_stores=[gcp.certificatemanager.TrustConfigTrustStoreArgs(
832
+ trust_anchors=[gcp.certificatemanager.TrustConfigTrustStoreTrustAnchorArgs(
833
+ pem_certificate=std.file(input="test-fixtures/ca_cert.pem").result,
834
+ )],
835
+ intermediate_cas=[gcp.certificatemanager.TrustConfigTrustStoreIntermediateCaArgs(
836
+ pem_certificate=std.file(input="test-fixtures/ca_cert.pem").result,
837
+ )],
838
+ )])
487
839
  default_tls_inspection_policy = gcp.networksecurity.TlsInspectionPolicy("default",
488
840
  name="my-tls-inspection-policy",
489
841
  location="us-central1",
490
842
  ca_pool=default.id,
491
- exclude_public_ca_set=False)
843
+ exclude_public_ca_set=False,
844
+ min_tls_version="TLS_1_0",
845
+ trust_config=default_trust_config.id,
846
+ tls_feature_profile="PROFILE_CUSTOM",
847
+ custom_tls_features=[
848
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
849
+ "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
850
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
851
+ "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
852
+ "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
853
+ "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
854
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
855
+ "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
856
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
857
+ "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
858
+ "TLS_RSA_WITH_3DES_EDE_CBC_SHA",
859
+ "TLS_RSA_WITH_AES_128_CBC_SHA",
860
+ "TLS_RSA_WITH_AES_128_GCM_SHA256",
861
+ "TLS_RSA_WITH_AES_256_CBC_SHA",
862
+ "TLS_RSA_WITH_AES_256_GCM_SHA384",
863
+ ],
864
+ opts=pulumi.ResourceOptions(depends_on=[
865
+ default_authority,
866
+ default_ca_pool_iam_member,
867
+ ]))
492
868
  ```
493
869
 
494
870
  ## Import
@@ -531,11 +907,15 @@ class TlsInspectionPolicy(pulumi.CustomResource):
531
907
  resource_name: str,
532
908
  opts: Optional[pulumi.ResourceOptions] = None,
533
909
  ca_pool: Optional[pulumi.Input[str]] = None,
910
+ custom_tls_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
534
911
  description: Optional[pulumi.Input[str]] = None,
535
912
  exclude_public_ca_set: Optional[pulumi.Input[bool]] = None,
536
913
  location: Optional[pulumi.Input[str]] = None,
914
+ min_tls_version: Optional[pulumi.Input[str]] = None,
537
915
  name: Optional[pulumi.Input[str]] = None,
538
916
  project: Optional[pulumi.Input[str]] = None,
917
+ tls_feature_profile: Optional[pulumi.Input[str]] = None,
918
+ trust_config: Optional[pulumi.Input[str]] = None,
539
919
  __props__=None):
540
920
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
541
921
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -548,11 +928,15 @@ class TlsInspectionPolicy(pulumi.CustomResource):
548
928
  if ca_pool is None and not opts.urn:
549
929
  raise TypeError("Missing required property 'ca_pool'")
550
930
  __props__.__dict__["ca_pool"] = ca_pool
931
+ __props__.__dict__["custom_tls_features"] = custom_tls_features
551
932
  __props__.__dict__["description"] = description
552
933
  __props__.__dict__["exclude_public_ca_set"] = exclude_public_ca_set
553
934
  __props__.__dict__["location"] = location
935
+ __props__.__dict__["min_tls_version"] = min_tls_version
554
936
  __props__.__dict__["name"] = name
555
937
  __props__.__dict__["project"] = project
938
+ __props__.__dict__["tls_feature_profile"] = tls_feature_profile
939
+ __props__.__dict__["trust_config"] = trust_config
556
940
  __props__.__dict__["create_time"] = None
557
941
  __props__.__dict__["update_time"] = None
558
942
  super(TlsInspectionPolicy, __self__).__init__(
@@ -567,11 +951,15 @@ class TlsInspectionPolicy(pulumi.CustomResource):
567
951
  opts: Optional[pulumi.ResourceOptions] = None,
568
952
  ca_pool: Optional[pulumi.Input[str]] = None,
569
953
  create_time: Optional[pulumi.Input[str]] = None,
954
+ custom_tls_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
570
955
  description: Optional[pulumi.Input[str]] = None,
571
956
  exclude_public_ca_set: Optional[pulumi.Input[bool]] = None,
572
957
  location: Optional[pulumi.Input[str]] = None,
958
+ min_tls_version: Optional[pulumi.Input[str]] = None,
573
959
  name: Optional[pulumi.Input[str]] = None,
574
960
  project: Optional[pulumi.Input[str]] = None,
961
+ tls_feature_profile: Optional[pulumi.Input[str]] = None,
962
+ trust_config: Optional[pulumi.Input[str]] = None,
575
963
  update_time: Optional[pulumi.Input[str]] = None) -> 'TlsInspectionPolicy':
576
964
  """
577
965
  Get an existing TlsInspectionPolicy resource's state with the given name, id, and optional extra
@@ -582,15 +970,21 @@ class TlsInspectionPolicy(pulumi.CustomResource):
582
970
  :param pulumi.ResourceOptions opts: Options for the resource.
583
971
  :param pulumi.Input[str] ca_pool: A CA pool resource used to issue interception certificates.
584
972
  :param pulumi.Input[str] create_time: The timestamp when the resource was created.
973
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_tls_features: List of custom TLS cipher suites selected. This field is valid only if the selected tls_feature_profile is CUSTOM. The compute.SslPoliciesService.ListAvailableFeatures method returns the set of features that can be specified in this list. Note that Secure Web Proxy does not yet honor this field.
585
974
  :param pulumi.Input[str] description: Free-text description of the resource.
586
975
  :param pulumi.Input[bool] exclude_public_ca_set: If FALSE (the default), use our default set of public CAs in addition to any CAs specified in trustConfig. These public CAs are currently based on the Mozilla Root Program and are subject to change over time. If TRUE, do not accept our default set of public CAs. Only CAs specified in trustConfig will be accepted.
587
976
  :param pulumi.Input[str] location: The location of the tls inspection policy.
977
+ :param pulumi.Input[str] min_tls_version: Minimum TLS version that the firewall should use when negotiating connections with both clients and servers. If this is not set, then the default value is to allow the broadest set of clients and servers (TLS 1.0 or higher). Setting this to more restrictive values may improve security, but may also prevent the firewall from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
978
+ Possible values are: `TLS_VERSION_UNSPECIFIED`, `TLS_1_0`, `TLS_1_1`, `TLS_1_2`, `TLS_1_3`.
588
979
  :param pulumi.Input[str] name: Short name of the TlsInspectionPolicy resource to be created.
589
980
 
590
981
 
591
982
  - - -
592
983
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
593
984
  If it is not provided, the provider project is used.
985
+ :param pulumi.Input[str] tls_feature_profile: The selected Profile. If this is not set, then the default value is to allow the broadest set of clients and servers (\\"PROFILE_COMPATIBLE\\"). Setting this to more restrictive values may improve security, but may also prevent the TLS inspection proxy from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
986
+ Possible values are: `PROFILE_UNSPECIFIED`, `PROFILE_COMPATIBLE`, `PROFILE_MODERN`, `PROFILE_RESTRICTED`, `PROFILE_CUSTOM`.
987
+ :param pulumi.Input[str] trust_config: A TrustConfig resource used when making a connection to the TLS server. This is a relative resource path following the form \\"projects/{project}/locations/{location}/trustConfigs/{trust_config}\\". This is necessary to intercept TLS connections to servers with certificates signed by a private CA or self-signed certificates. Trust config and the TLS inspection policy must be in the same region. Note that Secure Web Proxy does not yet honor this field.
594
988
  :param pulumi.Input[str] update_time: The timestamp when the resource was updated.
595
989
  """
596
990
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -599,11 +993,15 @@ class TlsInspectionPolicy(pulumi.CustomResource):
599
993
 
600
994
  __props__.__dict__["ca_pool"] = ca_pool
601
995
  __props__.__dict__["create_time"] = create_time
996
+ __props__.__dict__["custom_tls_features"] = custom_tls_features
602
997
  __props__.__dict__["description"] = description
603
998
  __props__.__dict__["exclude_public_ca_set"] = exclude_public_ca_set
604
999
  __props__.__dict__["location"] = location
1000
+ __props__.__dict__["min_tls_version"] = min_tls_version
605
1001
  __props__.__dict__["name"] = name
606
1002
  __props__.__dict__["project"] = project
1003
+ __props__.__dict__["tls_feature_profile"] = tls_feature_profile
1004
+ __props__.__dict__["trust_config"] = trust_config
607
1005
  __props__.__dict__["update_time"] = update_time
608
1006
  return TlsInspectionPolicy(resource_name, opts=opts, __props__=__props__)
609
1007
 
@@ -623,6 +1021,14 @@ class TlsInspectionPolicy(pulumi.CustomResource):
623
1021
  """
624
1022
  return pulumi.get(self, "create_time")
625
1023
 
1024
+ @property
1025
+ @pulumi.getter(name="customTlsFeatures")
1026
+ def custom_tls_features(self) -> pulumi.Output[Optional[Sequence[str]]]:
1027
+ """
1028
+ List of custom TLS cipher suites selected. This field is valid only if the selected tls_feature_profile is CUSTOM. The compute.SslPoliciesService.ListAvailableFeatures method returns the set of features that can be specified in this list. Note that Secure Web Proxy does not yet honor this field.
1029
+ """
1030
+ return pulumi.get(self, "custom_tls_features")
1031
+
626
1032
  @property
627
1033
  @pulumi.getter
628
1034
  def description(self) -> pulumi.Output[Optional[str]]:
@@ -647,6 +1053,15 @@ class TlsInspectionPolicy(pulumi.CustomResource):
647
1053
  """
648
1054
  return pulumi.get(self, "location")
649
1055
 
1056
+ @property
1057
+ @pulumi.getter(name="minTlsVersion")
1058
+ def min_tls_version(self) -> pulumi.Output[Optional[str]]:
1059
+ """
1060
+ Minimum TLS version that the firewall should use when negotiating connections with both clients and servers. If this is not set, then the default value is to allow the broadest set of clients and servers (TLS 1.0 or higher). Setting this to more restrictive values may improve security, but may also prevent the firewall from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
1061
+ Possible values are: `TLS_VERSION_UNSPECIFIED`, `TLS_1_0`, `TLS_1_1`, `TLS_1_2`, `TLS_1_3`.
1062
+ """
1063
+ return pulumi.get(self, "min_tls_version")
1064
+
650
1065
  @property
651
1066
  @pulumi.getter
652
1067
  def name(self) -> pulumi.Output[str]:
@@ -667,6 +1082,23 @@ class TlsInspectionPolicy(pulumi.CustomResource):
667
1082
  """
668
1083
  return pulumi.get(self, "project")
669
1084
 
1085
+ @property
1086
+ @pulumi.getter(name="tlsFeatureProfile")
1087
+ def tls_feature_profile(self) -> pulumi.Output[Optional[str]]:
1088
+ """
1089
+ The selected Profile. If this is not set, then the default value is to allow the broadest set of clients and servers (\\"PROFILE_COMPATIBLE\\"). Setting this to more restrictive values may improve security, but may also prevent the TLS inspection proxy from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
1090
+ Possible values are: `PROFILE_UNSPECIFIED`, `PROFILE_COMPATIBLE`, `PROFILE_MODERN`, `PROFILE_RESTRICTED`, `PROFILE_CUSTOM`.
1091
+ """
1092
+ return pulumi.get(self, "tls_feature_profile")
1093
+
1094
+ @property
1095
+ @pulumi.getter(name="trustConfig")
1096
+ def trust_config(self) -> pulumi.Output[Optional[str]]:
1097
+ """
1098
+ A TrustConfig resource used when making a connection to the TLS server. This is a relative resource path following the form \\"projects/{project}/locations/{location}/trustConfigs/{trust_config}\\". This is necessary to intercept TLS connections to servers with certificates signed by a private CA or self-signed certificates. Trust config and the TLS inspection policy must be in the same region. Note that Secure Web Proxy does not yet honor this field.
1099
+ """
1100
+ return pulumi.get(self, "trust_config")
1101
+
670
1102
  @property
671
1103
  @pulumi.getter(name="updateTime")
672
1104
  def update_time(self) -> pulumi.Output[str]: