pulumi-gcp 7.23.0a1715695885__py3-none-any.whl → 7.24.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 (355) hide show
  1. pulumi_gcp/__init__.py +40 -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/apigateway/api_config_iam_binding.py +8 -8
  6. pulumi_gcp/apigateway/api_config_iam_member.py +8 -8
  7. pulumi_gcp/apigateway/api_config_iam_policy.py +8 -8
  8. pulumi_gcp/apigateway/api_iam_binding.py +8 -8
  9. pulumi_gcp/apigateway/api_iam_member.py +8 -8
  10. pulumi_gcp/apigateway/api_iam_policy.py +8 -8
  11. pulumi_gcp/apigateway/gateway_iam_binding.py +8 -8
  12. pulumi_gcp/apigateway/gateway_iam_member.py +8 -8
  13. pulumi_gcp/apigateway/gateway_iam_policy.py +8 -8
  14. pulumi_gcp/apigee/environment_iam_binding.py +12 -12
  15. pulumi_gcp/apigee/environment_iam_member.py +12 -12
  16. pulumi_gcp/apigee/environment_iam_policy.py +12 -12
  17. pulumi_gcp/artifactregistry/repository_iam_binding.py +12 -12
  18. pulumi_gcp/artifactregistry/repository_iam_member.py +12 -12
  19. pulumi_gcp/artifactregistry/repository_iam_policy.py +12 -12
  20. pulumi_gcp/bigquery/_inputs.py +16 -0
  21. pulumi_gcp/bigquery/connection.py +126 -0
  22. pulumi_gcp/bigquery/connection_iam_binding.py +12 -12
  23. pulumi_gcp/bigquery/connection_iam_member.py +12 -12
  24. pulumi_gcp/bigquery/connection_iam_policy.py +12 -12
  25. pulumi_gcp/bigquery/dataset_access.py +56 -0
  26. pulumi_gcp/bigquery/dataset_iam_binding.py +12 -12
  27. pulumi_gcp/bigquery/dataset_iam_member.py +12 -12
  28. pulumi_gcp/bigquery/dataset_iam_policy.py +12 -12
  29. pulumi_gcp/bigquery/iam_binding.py +12 -12
  30. pulumi_gcp/bigquery/iam_member.py +12 -12
  31. pulumi_gcp/bigquery/iam_policy.py +12 -12
  32. pulumi_gcp/bigquery/outputs.py +16 -0
  33. pulumi_gcp/bigquery/routine.py +2 -2
  34. pulumi_gcp/bigquery/table.py +47 -0
  35. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +12 -12
  36. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +12 -12
  37. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +12 -12
  38. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +12 -12
  39. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +12 -12
  40. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +12 -12
  41. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +12 -12
  42. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +12 -12
  43. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +12 -12
  44. pulumi_gcp/bigtable/__init__.py +1 -0
  45. pulumi_gcp/bigtable/_inputs.py +101 -0
  46. pulumi_gcp/bigtable/authorized_view.py +440 -0
  47. pulumi_gcp/bigtable/instance_iam_binding.py +12 -12
  48. pulumi_gcp/bigtable/instance_iam_member.py +12 -12
  49. pulumi_gcp/bigtable/instance_iam_policy.py +12 -12
  50. pulumi_gcp/bigtable/outputs.py +119 -0
  51. pulumi_gcp/bigtable/table_iam_binding.py +12 -12
  52. pulumi_gcp/bigtable/table_iam_member.py +12 -12
  53. pulumi_gcp/bigtable/table_iam_policy.py +12 -12
  54. pulumi_gcp/billing/account_iam_binding.py +12 -12
  55. pulumi_gcp/billing/account_iam_member.py +12 -12
  56. pulumi_gcp/billing/account_iam_policy.py +12 -12
  57. pulumi_gcp/billing/project_info.py +4 -4
  58. pulumi_gcp/binaryauthorization/attestor_iam_binding.py +12 -12
  59. pulumi_gcp/binaryauthorization/attestor_iam_member.py +12 -12
  60. pulumi_gcp/binaryauthorization/attestor_iam_policy.py +12 -12
  61. pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +12 -12
  62. pulumi_gcp/certificateauthority/ca_pool_iam_member.py +12 -12
  63. pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +12 -12
  64. pulumi_gcp/certificateauthority/certificate_template.py +70 -0
  65. pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +12 -12
  66. pulumi_gcp/certificateauthority/certificate_template_iam_member.py +12 -12
  67. pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +12 -12
  68. pulumi_gcp/cloudasset/__init__.py +1 -0
  69. pulumi_gcp/cloudasset/get_search_all_resources.py +197 -0
  70. pulumi_gcp/cloudasset/outputs.py +184 -0
  71. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +12 -12
  72. pulumi_gcp/cloudbuildv2/connection_iam_member.py +12 -12
  73. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +12 -12
  74. pulumi_gcp/cloudbuildv2/repository.py +2 -2
  75. pulumi_gcp/clouddeploy/_inputs.py +96 -0
  76. pulumi_gcp/clouddeploy/custom_target_type.py +46 -0
  77. pulumi_gcp/clouddeploy/delivery_pipeline.py +7 -7
  78. pulumi_gcp/clouddeploy/outputs.py +96 -1
  79. pulumi_gcp/clouddeploy/target.py +54 -7
  80. pulumi_gcp/cloudfunctions/function.py +21 -0
  81. pulumi_gcp/cloudfunctions/function_iam_binding.py +12 -12
  82. pulumi_gcp/cloudfunctions/function_iam_member.py +12 -12
  83. pulumi_gcp/cloudfunctions/function_iam_policy.py +12 -12
  84. pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +12 -12
  85. pulumi_gcp/cloudfunctionsv2/function_iam_member.py +12 -12
  86. pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +12 -12
  87. pulumi_gcp/cloudrun/iam_binding.py +12 -12
  88. pulumi_gcp/cloudrun/iam_member.py +12 -12
  89. pulumi_gcp/cloudrun/iam_policy.py +12 -12
  90. pulumi_gcp/cloudrunv2/job_iam_binding.py +12 -12
  91. pulumi_gcp/cloudrunv2/job_iam_member.py +12 -12
  92. pulumi_gcp/cloudrunv2/job_iam_policy.py +12 -12
  93. pulumi_gcp/cloudrunv2/service_iam_binding.py +12 -12
  94. pulumi_gcp/cloudrunv2/service_iam_member.py +12 -12
  95. pulumi_gcp/cloudrunv2/service_iam_policy.py +12 -12
  96. pulumi_gcp/cloudtasks/queue_iam_binding.py +12 -12
  97. pulumi_gcp/cloudtasks/queue_iam_member.py +12 -12
  98. pulumi_gcp/cloudtasks/queue_iam_policy.py +12 -12
  99. pulumi_gcp/compute/__init__.py +1 -0
  100. pulumi_gcp/compute/_inputs.py +1412 -42
  101. pulumi_gcp/compute/backend_service.py +315 -0
  102. pulumi_gcp/compute/disk_iam_binding.py +12 -12
  103. pulumi_gcp/compute/disk_iam_member.py +12 -12
  104. pulumi_gcp/compute/disk_iam_policy.py +12 -12
  105. pulumi_gcp/compute/firewall_policy_rule.py +125 -10
  106. pulumi_gcp/compute/forwarding_rule.py +6 -6
  107. pulumi_gcp/compute/get_network_endpoint_group.py +2 -2
  108. pulumi_gcp/compute/get_region_network_endpoint_group.py +2 -2
  109. pulumi_gcp/compute/get_router_nat.py +11 -1
  110. pulumi_gcp/compute/get_snapshot.py +2 -0
  111. pulumi_gcp/compute/image_iam_binding.py +12 -12
  112. pulumi_gcp/compute/image_iam_member.py +12 -12
  113. pulumi_gcp/compute/image_iam_policy.py +12 -12
  114. pulumi_gcp/compute/instance_iam_binding.py +12 -12
  115. pulumi_gcp/compute/instance_iam_member.py +12 -12
  116. pulumi_gcp/compute/instance_iam_policy.py +12 -12
  117. pulumi_gcp/compute/interconnect.py +1683 -0
  118. pulumi_gcp/compute/machine_image_iam_binding.py +8 -8
  119. pulumi_gcp/compute/machine_image_iam_member.py +8 -8
  120. pulumi_gcp/compute/machine_image_iam_policy.py +8 -8
  121. pulumi_gcp/compute/network_firewall_policy_rule.py +125 -10
  122. pulumi_gcp/compute/outputs.py +1385 -0
  123. pulumi_gcp/compute/region_backend_service.py +315 -0
  124. pulumi_gcp/compute/region_disk_iam_binding.py +12 -12
  125. pulumi_gcp/compute/region_disk_iam_member.py +12 -12
  126. pulumi_gcp/compute/region_disk_iam_policy.py +12 -12
  127. pulumi_gcp/compute/region_network_firewall_policy_rule.py +125 -10
  128. pulumi_gcp/compute/region_security_policy_rule.py +230 -1
  129. pulumi_gcp/compute/router_nat.py +68 -0
  130. pulumi_gcp/compute/router_peer.py +88 -0
  131. pulumi_gcp/compute/security_policy.py +49 -0
  132. pulumi_gcp/compute/snapshot_iam_binding.py +12 -12
  133. pulumi_gcp/compute/snapshot_iam_member.py +12 -12
  134. pulumi_gcp/compute/snapshot_iam_policy.py +12 -12
  135. pulumi_gcp/compute/subnetwork_iam_binding.py +12 -12
  136. pulumi_gcp/compute/subnetwork_iam_member.py +12 -12
  137. pulumi_gcp/compute/subnetwork_iam_policy.py +12 -12
  138. pulumi_gcp/compute/target_instance.py +4 -4
  139. pulumi_gcp/compute/target_pool.py +21 -21
  140. pulumi_gcp/container/_inputs.py +81 -5
  141. pulumi_gcp/container/outputs.py +109 -8
  142. pulumi_gcp/containeranalysis/note_iam_binding.py +12 -12
  143. pulumi_gcp/containeranalysis/note_iam_member.py +12 -12
  144. pulumi_gcp/containeranalysis/note_iam_policy.py +12 -12
  145. pulumi_gcp/databasemigrationservice/connection_profile.py +6 -6
  146. pulumi_gcp/datacatalog/entry_group_iam_binding.py +12 -12
  147. pulumi_gcp/datacatalog/entry_group_iam_member.py +12 -12
  148. pulumi_gcp/datacatalog/entry_group_iam_policy.py +12 -12
  149. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +12 -12
  150. pulumi_gcp/datacatalog/policy_tag_iam_member.py +12 -12
  151. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +12 -12
  152. pulumi_gcp/datacatalog/tag_template_iam_binding.py +12 -12
  153. pulumi_gcp/datacatalog/tag_template_iam_member.py +12 -12
  154. pulumi_gcp/datacatalog/tag_template_iam_policy.py +12 -12
  155. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +12 -12
  156. pulumi_gcp/datacatalog/taxonomy_iam_member.py +12 -12
  157. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +12 -12
  158. pulumi_gcp/dataflow/flex_template_job.py +7 -7
  159. pulumi_gcp/dataflow/job.py +7 -7
  160. pulumi_gcp/dataloss/_inputs.py +420 -13
  161. pulumi_gcp/dataloss/outputs.py +439 -13
  162. pulumi_gcp/dataplex/asset_iam_binding.py +12 -12
  163. pulumi_gcp/dataplex/asset_iam_member.py +12 -12
  164. pulumi_gcp/dataplex/asset_iam_policy.py +12 -12
  165. pulumi_gcp/dataplex/datascan_iam_binding.py +12 -12
  166. pulumi_gcp/dataplex/datascan_iam_member.py +12 -12
  167. pulumi_gcp/dataplex/datascan_iam_policy.py +12 -12
  168. pulumi_gcp/dataplex/lake_iam_binding.py +12 -12
  169. pulumi_gcp/dataplex/lake_iam_member.py +12 -12
  170. pulumi_gcp/dataplex/lake_iam_policy.py +12 -12
  171. pulumi_gcp/dataplex/task.py +16 -16
  172. pulumi_gcp/dataplex/task_iam_binding.py +12 -12
  173. pulumi_gcp/dataplex/task_iam_member.py +12 -12
  174. pulumi_gcp/dataplex/task_iam_policy.py +12 -12
  175. pulumi_gcp/dataplex/zone_iam_binding.py +12 -12
  176. pulumi_gcp/dataplex/zone_iam_member.py +12 -12
  177. pulumi_gcp/dataplex/zone_iam_policy.py +12 -12
  178. pulumi_gcp/dataproc/_inputs.py +190 -46
  179. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +12 -12
  180. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +12 -12
  181. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +12 -12
  182. pulumi_gcp/dataproc/cluster_iam_binding.py +12 -12
  183. pulumi_gcp/dataproc/cluster_iam_member.py +12 -12
  184. pulumi_gcp/dataproc/cluster_iam_policy.py +12 -12
  185. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +26 -2
  186. pulumi_gcp/dataproc/job_iam_binding.py +12 -12
  187. pulumi_gcp/dataproc/job_iam_member.py +12 -12
  188. pulumi_gcp/dataproc/job_iam_policy.py +12 -12
  189. pulumi_gcp/dataproc/metastore_federation.py +4 -0
  190. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +208 -0
  191. pulumi_gcp/dataproc/metastore_federation_iam_member.py +208 -0
  192. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +208 -0
  193. pulumi_gcp/dataproc/metastore_service_iam_binding.py +12 -12
  194. pulumi_gcp/dataproc/metastore_service_iam_member.py +12 -12
  195. pulumi_gcp/dataproc/metastore_service_iam_policy.py +12 -12
  196. pulumi_gcp/dataproc/outputs.py +182 -46
  197. pulumi_gcp/datastream/_inputs.py +1789 -820
  198. pulumi_gcp/datastream/connection_profile.py +163 -3
  199. pulumi_gcp/datastream/outputs.py +864 -5
  200. pulumi_gcp/datastream/stream.py +174 -0
  201. pulumi_gcp/dns/dns_managed_zone_iam_binding.py +12 -12
  202. pulumi_gcp/dns/dns_managed_zone_iam_member.py +12 -12
  203. pulumi_gcp/dns/dns_managed_zone_iam_policy.py +12 -12
  204. pulumi_gcp/endpoints/service_iam_binding.py +12 -12
  205. pulumi_gcp/endpoints/service_iam_member.py +12 -12
  206. pulumi_gcp/endpoints/service_iam_policy.py +12 -12
  207. pulumi_gcp/firestore/field.py +4 -4
  208. pulumi_gcp/folder/iam_audit_config.py +23 -23
  209. pulumi_gcp/folder/iam_member.py +16 -16
  210. pulumi_gcp/folder/iam_policy.py +16 -16
  211. pulumi_gcp/gkebackup/backup_plan_iam_binding.py +12 -12
  212. pulumi_gcp/gkebackup/backup_plan_iam_member.py +12 -12
  213. pulumi_gcp/gkebackup/backup_plan_iam_policy.py +12 -12
  214. pulumi_gcp/gkehub/feature_iam_binding.py +12 -12
  215. pulumi_gcp/gkehub/feature_iam_member.py +12 -12
  216. pulumi_gcp/gkehub/feature_iam_policy.py +12 -12
  217. pulumi_gcp/gkehub/membership_binding.py +6 -6
  218. pulumi_gcp/gkehub/membership_iam_binding.py +12 -12
  219. pulumi_gcp/gkehub/membership_iam_member.py +12 -12
  220. pulumi_gcp/gkehub/membership_iam_policy.py +12 -12
  221. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  222. pulumi_gcp/gkehub/namespace.py +4 -4
  223. pulumi_gcp/gkehub/scope_iam_binding.py +12 -12
  224. pulumi_gcp/gkehub/scope_iam_member.py +12 -12
  225. pulumi_gcp/gkehub/scope_iam_policy.py +12 -12
  226. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  227. pulumi_gcp/healthcare/consent_store_iam_binding.py +12 -12
  228. pulumi_gcp/healthcare/consent_store_iam_member.py +12 -12
  229. pulumi_gcp/healthcare/consent_store_iam_policy.py +12 -12
  230. pulumi_gcp/healthcare/dataset_iam_binding.py +12 -12
  231. pulumi_gcp/healthcare/dataset_iam_member.py +12 -12
  232. pulumi_gcp/healthcare/dataset_iam_policy.py +12 -12
  233. pulumi_gcp/healthcare/dicom_store_iam_binding.py +12 -12
  234. pulumi_gcp/healthcare/dicom_store_iam_member.py +12 -12
  235. pulumi_gcp/healthcare/dicom_store_iam_policy.py +12 -12
  236. pulumi_gcp/healthcare/fhir_store_iam_binding.py +12 -12
  237. pulumi_gcp/healthcare/fhir_store_iam_member.py +12 -12
  238. pulumi_gcp/healthcare/fhir_store_iam_policy.py +12 -12
  239. pulumi_gcp/healthcare/hl7_store_iam_binding.py +12 -12
  240. pulumi_gcp/healthcare/hl7_store_iam_member.py +12 -12
  241. pulumi_gcp/healthcare/hl7_store_iam_policy.py +12 -12
  242. pulumi_gcp/iam/_inputs.py +191 -2
  243. pulumi_gcp/iam/outputs.py +197 -2
  244. pulumi_gcp/iam/workforce_pool_provider.py +245 -0
  245. pulumi_gcp/iap/app_engine_service_iam_binding.py +12 -12
  246. pulumi_gcp/iap/app_engine_service_iam_member.py +12 -12
  247. pulumi_gcp/iap/app_engine_service_iam_policy.py +12 -12
  248. pulumi_gcp/iap/app_engine_version_iam_binding.py +12 -12
  249. pulumi_gcp/iap/app_engine_version_iam_member.py +12 -12
  250. pulumi_gcp/iap/app_engine_version_iam_policy.py +12 -12
  251. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  252. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +12 -12
  253. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +12 -12
  254. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +12 -12
  255. pulumi_gcp/iap/tunnel_iam_binding.py +12 -12
  256. pulumi_gcp/iap/tunnel_iam_member.py +12 -12
  257. pulumi_gcp/iap/tunnel_iam_policy.py +12 -12
  258. pulumi_gcp/iap/tunnel_instance_iam_binding.py +12 -12
  259. pulumi_gcp/iap/tunnel_instance_iam_member.py +12 -12
  260. pulumi_gcp/iap/tunnel_instance_iam_policy.py +12 -12
  261. pulumi_gcp/iap/web_backend_service_iam_binding.py +12 -12
  262. pulumi_gcp/iap/web_backend_service_iam_member.py +12 -12
  263. pulumi_gcp/iap/web_backend_service_iam_policy.py +12 -12
  264. pulumi_gcp/iap/web_iam_binding.py +12 -12
  265. pulumi_gcp/iap/web_iam_member.py +12 -12
  266. pulumi_gcp/iap/web_iam_policy.py +12 -12
  267. pulumi_gcp/iap/web_region_backend_service_iam_binding.py +12 -12
  268. pulumi_gcp/iap/web_region_backend_service_iam_member.py +12 -12
  269. pulumi_gcp/iap/web_region_backend_service_iam_policy.py +12 -12
  270. pulumi_gcp/iap/web_type_app_enging_iam_binding.py +12 -12
  271. pulumi_gcp/iap/web_type_app_enging_iam_member.py +12 -12
  272. pulumi_gcp/iap/web_type_app_enging_iam_policy.py +12 -12
  273. pulumi_gcp/iap/web_type_compute_iam_binding.py +12 -12
  274. pulumi_gcp/iap/web_type_compute_iam_member.py +12 -12
  275. pulumi_gcp/iap/web_type_compute_iam_policy.py +12 -12
  276. pulumi_gcp/integrationconnectors/__init__.py +1 -0
  277. pulumi_gcp/integrationconnectors/managed_zone.py +753 -0
  278. pulumi_gcp/kms/key_ring_iam_binding.py +12 -12
  279. pulumi_gcp/kms/key_ring_iam_member.py +12 -12
  280. pulumi_gcp/kms/key_ring_iam_policy.py +12 -12
  281. pulumi_gcp/netapp/storage_pool.py +7 -7
  282. pulumi_gcp/netapp/volume.py +4 -4
  283. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  284. pulumi_gcp/networkconnectivity/regional_endpoint.py +946 -0
  285. pulumi_gcp/networksecurity/firewall_endpoint.py +34 -0
  286. pulumi_gcp/networksecurity/firewall_endpoint_association.py +24 -0
  287. pulumi_gcp/networksecurity/gateway_security_policy.py +4 -4
  288. pulumi_gcp/networksecurity/security_profile.py +16 -0
  289. pulumi_gcp/networksecurity/security_profile_group.py +18 -0
  290. pulumi_gcp/networksecurity/tls_inspection_policy.py +435 -5
  291. pulumi_gcp/networkservices/__init__.py +1 -0
  292. pulumi_gcp/networkservices/_inputs.py +254 -0
  293. pulumi_gcp/networkservices/lb_traffic_extension.py +1181 -0
  294. pulumi_gcp/networkservices/outputs.py +265 -0
  295. pulumi_gcp/notebooks/instance_iam_binding.py +12 -12
  296. pulumi_gcp/notebooks/instance_iam_member.py +12 -12
  297. pulumi_gcp/notebooks/instance_iam_policy.py +12 -12
  298. pulumi_gcp/notebooks/runtime_iam_binding.py +12 -12
  299. pulumi_gcp/notebooks/runtime_iam_member.py +12 -12
  300. pulumi_gcp/notebooks/runtime_iam_policy.py +12 -12
  301. pulumi_gcp/organizations/_inputs.py +10 -0
  302. pulumi_gcp/organizations/iam_member.py +16 -16
  303. pulumi_gcp/organizations/iam_policy.py +16 -16
  304. pulumi_gcp/organizations/outputs.py +10 -0
  305. pulumi_gcp/orgpolicy/policy.py +2 -2
  306. pulumi_gcp/projects/iam_audit_config.py +23 -23
  307. pulumi_gcp/projects/iam_binding.py +23 -23
  308. pulumi_gcp/projects/iam_member.py +23 -23
  309. pulumi_gcp/projects/iam_policy.py +16 -16
  310. pulumi_gcp/projects/service.py +2 -43
  311. pulumi_gcp/pubsub/schema_iam_binding.py +12 -12
  312. pulumi_gcp/pubsub/schema_iam_member.py +12 -12
  313. pulumi_gcp/pubsub/schema_iam_policy.py +12 -12
  314. pulumi_gcp/pubsub/subscription.py +4 -4
  315. pulumi_gcp/pubsub/subscription_iam_binding.py +12 -12
  316. pulumi_gcp/pubsub/subscription_iam_member.py +12 -12
  317. pulumi_gcp/pubsub/subscription_iam_policy.py +12 -12
  318. pulumi_gcp/pubsub/topic_iam_binding.py +12 -12
  319. pulumi_gcp/pubsub/topic_iam_member.py +12 -12
  320. pulumi_gcp/pubsub/topic_iam_policy.py +12 -12
  321. pulumi_gcp/pulumi-plugin.json +1 -1
  322. pulumi_gcp/secretmanager/secret_iam_binding.py +12 -12
  323. pulumi_gcp/secretmanager/secret_iam_member.py +12 -12
  324. pulumi_gcp/secretmanager/secret_iam_policy.py +12 -12
  325. pulumi_gcp/servicedirectory/namespace_iam_binding.py +8 -8
  326. pulumi_gcp/servicedirectory/namespace_iam_member.py +8 -8
  327. pulumi_gcp/servicedirectory/namespace_iam_policy.py +8 -8
  328. pulumi_gcp/servicedirectory/service_iam_binding.py +8 -8
  329. pulumi_gcp/servicedirectory/service_iam_member.py +8 -8
  330. pulumi_gcp/servicedirectory/service_iam_policy.py +8 -8
  331. pulumi_gcp/sourcerepo/repository_iam_binding.py +12 -12
  332. pulumi_gcp/sourcerepo/repository_iam_member.py +12 -12
  333. pulumi_gcp/sourcerepo/repository_iam_policy.py +12 -12
  334. pulumi_gcp/spanner/database_iam_binding.py +12 -12
  335. pulumi_gcp/spanner/database_iam_member.py +12 -12
  336. pulumi_gcp/spanner/database_iam_policy.py +12 -12
  337. pulumi_gcp/spanner/instance_iam_binding.py +12 -12
  338. pulumi_gcp/spanner/instance_iam_member.py +12 -12
  339. pulumi_gcp/spanner/instance_iam_policy.py +12 -12
  340. pulumi_gcp/storage/_inputs.py +12 -10
  341. pulumi_gcp/storage/bucket.py +44 -0
  342. pulumi_gcp/storage/bucket_iam_binding.py +12 -12
  343. pulumi_gcp/storage/bucket_iam_member.py +12 -12
  344. pulumi_gcp/storage/bucket_iam_policy.py +12 -12
  345. pulumi_gcp/storage/outputs.py +12 -10
  346. pulumi_gcp/tags/tag_key_iam_binding.py +12 -12
  347. pulumi_gcp/tags/tag_key_iam_member.py +12 -12
  348. pulumi_gcp/tags/tag_key_iam_policy.py +12 -12
  349. pulumi_gcp/tags/tag_value_iam_binding.py +12 -12
  350. pulumi_gcp/tags/tag_value_iam_member.py +12 -12
  351. pulumi_gcp/tags/tag_value_iam_policy.py +12 -12
  352. {pulumi_gcp-7.23.0a1715695885.dist-info → pulumi_gcp-7.24.0.dist-info}/METADATA +1 -1
  353. {pulumi_gcp-7.23.0a1715695885.dist-info → pulumi_gcp-7.24.0.dist-info}/RECORD +355 -349
  354. {pulumi_gcp-7.23.0a1715695885.dist-info → pulumi_gcp-7.24.0.dist-info}/WHEEL +0 -0
  355. {pulumi_gcp-7.23.0a1715695885.dist-info → pulumi_gcp-7.24.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,13 +408,25 @@ 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
  """
422
+ The TlsInspectionPolicy resource contains references to CA pools in Certificate Authority Service and associated metadata.
423
+
424
+ To get more information about TlsInspectionPolicy, see:
425
+
426
+ * [API documentation](https://cloud.google.com/secure-web-proxy/docs/reference/network-security/rest/v1/projects.locations.tlsInspectionPolicies)
427
+ * How-to Guides
428
+ * [Use TlsInspectionPolicy](https://cloud.google.com/secure-web-proxy/docs/tls-inspection-overview)
429
+
282
430
  ## Example Usage
283
431
 
284
432
  ### Network Security Tls Inspection Policy Basic
@@ -343,17 +491,123 @@ class TlsInspectionPolicy(pulumi.CustomResource):
343
491
  key_spec=gcp.certificateauthority.AuthorityKeySpecArgs(
344
492
  algorithm="RSA_PKCS1_4096_SHA256",
345
493
  ))
346
- ns_sa = gcp.projects.ServiceIdentity("ns_sa", service="networksecurity.googleapis.com")
494
+ project = gcp.organizations.get_project()
347
495
  tls_inspection_permission = gcp.certificateauthority.CaPoolIamMember("tls_inspection_permission",
348
496
  ca_pool=default.id,
349
497
  role="roles/privateca.certificateManager",
350
- member=ns_sa.email.apply(lambda email: f"serviceAccount:{email}"))
498
+ member=f"serviceAccount:service-{project.number}@gcp-sa-networksecurity.iam.gserviceaccount.com")
351
499
  default_tls_inspection_policy = gcp.networksecurity.TlsInspectionPolicy("default",
352
500
  name="my-tls-inspection-policy",
353
501
  location="us-central1",
354
502
  ca_pool=default.id,
355
503
  exclude_public_ca_set=False)
356
504
  ```
505
+ ### Network Security Tls Inspection Policy Custom
506
+
507
+ ```python
508
+ import pulumi
509
+ import pulumi_gcp as gcp
510
+ import pulumi_std as std
511
+
512
+ default = gcp.certificateauthority.CaPool("default",
513
+ name="my-basic-ca-pool",
514
+ location="us-central1",
515
+ tier="DEVOPS",
516
+ publishing_options=gcp.certificateauthority.CaPoolPublishingOptionsArgs(
517
+ publish_ca_cert=False,
518
+ publish_crl=False,
519
+ ),
520
+ issuance_policy=gcp.certificateauthority.CaPoolIssuancePolicyArgs(
521
+ maximum_lifetime="1209600s",
522
+ baseline_values=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesArgs(
523
+ ca_options=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesCaOptionsArgs(
524
+ is_ca=False,
525
+ ),
526
+ key_usage=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesKeyUsageArgs(
527
+ base_key_usage=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsageArgs(),
528
+ extended_key_usage=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsageArgs(
529
+ server_auth=True,
530
+ ),
531
+ ),
532
+ ),
533
+ ))
534
+ default_authority = gcp.certificateauthority.Authority("default",
535
+ pool=default.name,
536
+ certificate_authority_id="my-basic-certificate-authority",
537
+ location="us-central1",
538
+ lifetime="86400s",
539
+ type="SELF_SIGNED",
540
+ deletion_protection=False,
541
+ skip_grace_period=True,
542
+ ignore_active_certificates_on_deletion=True,
543
+ config=gcp.certificateauthority.AuthorityConfigArgs(
544
+ subject_config=gcp.certificateauthority.AuthorityConfigSubjectConfigArgs(
545
+ subject=gcp.certificateauthority.AuthorityConfigSubjectConfigSubjectArgs(
546
+ organization="Test LLC",
547
+ common_name="my-ca",
548
+ ),
549
+ ),
550
+ x509_config=gcp.certificateauthority.AuthorityConfigX509ConfigArgs(
551
+ ca_options=gcp.certificateauthority.AuthorityConfigX509ConfigCaOptionsArgs(
552
+ is_ca=True,
553
+ ),
554
+ key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageArgs(
555
+ base_key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageBaseKeyUsageArgs(
556
+ cert_sign=True,
557
+ crl_sign=True,
558
+ ),
559
+ extended_key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageExtendedKeyUsageArgs(
560
+ server_auth=False,
561
+ ),
562
+ ),
563
+ ),
564
+ ),
565
+ key_spec=gcp.certificateauthority.AuthorityKeySpecArgs(
566
+ algorithm="RSA_PKCS1_4096_SHA256",
567
+ ))
568
+ ns_sa = gcp.projects.ServiceIdentity("ns_sa", service="networksecurity.googleapis.com")
569
+ default_ca_pool_iam_member = gcp.certificateauthority.CaPoolIamMember("default",
570
+ ca_pool=default.id,
571
+ role="roles/privateca.certificateManager",
572
+ member=ns_sa.email.apply(lambda email: f"serviceAccount:{email}"))
573
+ default_trust_config = gcp.certificatemanager.TrustConfig("default",
574
+ name="my-trust-config",
575
+ description="sample trust config description",
576
+ location="us-central1",
577
+ trust_stores=[gcp.certificatemanager.TrustConfigTrustStoreArgs(
578
+ trust_anchors=[gcp.certificatemanager.TrustConfigTrustStoreTrustAnchorArgs(
579
+ pem_certificate=std.file(input="test-fixtures/ca_cert.pem").result,
580
+ )],
581
+ intermediate_cas=[gcp.certificatemanager.TrustConfigTrustStoreIntermediateCaArgs(
582
+ pem_certificate=std.file(input="test-fixtures/ca_cert.pem").result,
583
+ )],
584
+ )])
585
+ default_tls_inspection_policy = gcp.networksecurity.TlsInspectionPolicy("default",
586
+ name="my-tls-inspection-policy",
587
+ location="us-central1",
588
+ ca_pool=default.id,
589
+ exclude_public_ca_set=False,
590
+ min_tls_version="TLS_1_0",
591
+ trust_config=default_trust_config.id,
592
+ tls_feature_profile="PROFILE_CUSTOM",
593
+ custom_tls_features=[
594
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
595
+ "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
596
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
597
+ "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
598
+ "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
599
+ "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
600
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
601
+ "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
602
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
603
+ "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
604
+ "TLS_RSA_WITH_3DES_EDE_CBC_SHA",
605
+ "TLS_RSA_WITH_AES_128_CBC_SHA",
606
+ "TLS_RSA_WITH_AES_128_GCM_SHA256",
607
+ "TLS_RSA_WITH_AES_256_CBC_SHA",
608
+ "TLS_RSA_WITH_AES_256_GCM_SHA384",
609
+ ])
610
+ ```
357
611
 
358
612
  ## Import
359
613
 
@@ -382,15 +636,21 @@ class TlsInspectionPolicy(pulumi.CustomResource):
382
636
  :param str resource_name: The name of the resource.
383
637
  :param pulumi.ResourceOptions opts: Options for the resource.
384
638
  :param pulumi.Input[str] ca_pool: A CA pool resource used to issue interception certificates.
639
+ :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.
385
640
  :param pulumi.Input[str] description: Free-text description of the resource.
386
641
  :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.
387
642
  :param pulumi.Input[str] location: The location of the tls inspection policy.
643
+ :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.
644
+ Possible values are: `TLS_VERSION_UNSPECIFIED`, `TLS_1_0`, `TLS_1_1`, `TLS_1_2`, `TLS_1_3`.
388
645
  :param pulumi.Input[str] name: Short name of the TlsInspectionPolicy resource to be created.
389
646
 
390
647
 
391
648
  - - -
392
649
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
393
650
  If it is not provided, the provider project is used.
651
+ :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.
652
+ Possible values are: `PROFILE_UNSPECIFIED`, `PROFILE_COMPATIBLE`, `PROFILE_MODERN`, `PROFILE_RESTRICTED`, `PROFILE_CUSTOM`.
653
+ :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.
394
654
  """
395
655
  ...
396
656
  @overload
@@ -399,6 +659,14 @@ class TlsInspectionPolicy(pulumi.CustomResource):
399
659
  args: TlsInspectionPolicyArgs,
400
660
  opts: Optional[pulumi.ResourceOptions] = None):
401
661
  """
662
+ The TlsInspectionPolicy resource contains references to CA pools in Certificate Authority Service and associated metadata.
663
+
664
+ To get more information about TlsInspectionPolicy, see:
665
+
666
+ * [API documentation](https://cloud.google.com/secure-web-proxy/docs/reference/network-security/rest/v1/projects.locations.tlsInspectionPolicies)
667
+ * How-to Guides
668
+ * [Use TlsInspectionPolicy](https://cloud.google.com/secure-web-proxy/docs/tls-inspection-overview)
669
+
402
670
  ## Example Usage
403
671
 
404
672
  ### Network Security Tls Inspection Policy Basic
@@ -463,17 +731,123 @@ class TlsInspectionPolicy(pulumi.CustomResource):
463
731
  key_spec=gcp.certificateauthority.AuthorityKeySpecArgs(
464
732
  algorithm="RSA_PKCS1_4096_SHA256",
465
733
  ))
466
- ns_sa = gcp.projects.ServiceIdentity("ns_sa", service="networksecurity.googleapis.com")
734
+ project = gcp.organizations.get_project()
467
735
  tls_inspection_permission = gcp.certificateauthority.CaPoolIamMember("tls_inspection_permission",
468
736
  ca_pool=default.id,
469
737
  role="roles/privateca.certificateManager",
470
- member=ns_sa.email.apply(lambda email: f"serviceAccount:{email}"))
738
+ member=f"serviceAccount:service-{project.number}@gcp-sa-networksecurity.iam.gserviceaccount.com")
471
739
  default_tls_inspection_policy = gcp.networksecurity.TlsInspectionPolicy("default",
472
740
  name="my-tls-inspection-policy",
473
741
  location="us-central1",
474
742
  ca_pool=default.id,
475
743
  exclude_public_ca_set=False)
476
744
  ```
745
+ ### Network Security Tls Inspection Policy Custom
746
+
747
+ ```python
748
+ import pulumi
749
+ import pulumi_gcp as gcp
750
+ import pulumi_std as std
751
+
752
+ default = gcp.certificateauthority.CaPool("default",
753
+ name="my-basic-ca-pool",
754
+ location="us-central1",
755
+ tier="DEVOPS",
756
+ publishing_options=gcp.certificateauthority.CaPoolPublishingOptionsArgs(
757
+ publish_ca_cert=False,
758
+ publish_crl=False,
759
+ ),
760
+ issuance_policy=gcp.certificateauthority.CaPoolIssuancePolicyArgs(
761
+ maximum_lifetime="1209600s",
762
+ baseline_values=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesArgs(
763
+ ca_options=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesCaOptionsArgs(
764
+ is_ca=False,
765
+ ),
766
+ key_usage=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesKeyUsageArgs(
767
+ base_key_usage=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsageArgs(),
768
+ extended_key_usage=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsageArgs(
769
+ server_auth=True,
770
+ ),
771
+ ),
772
+ ),
773
+ ))
774
+ default_authority = gcp.certificateauthority.Authority("default",
775
+ pool=default.name,
776
+ certificate_authority_id="my-basic-certificate-authority",
777
+ location="us-central1",
778
+ lifetime="86400s",
779
+ type="SELF_SIGNED",
780
+ deletion_protection=False,
781
+ skip_grace_period=True,
782
+ ignore_active_certificates_on_deletion=True,
783
+ config=gcp.certificateauthority.AuthorityConfigArgs(
784
+ subject_config=gcp.certificateauthority.AuthorityConfigSubjectConfigArgs(
785
+ subject=gcp.certificateauthority.AuthorityConfigSubjectConfigSubjectArgs(
786
+ organization="Test LLC",
787
+ common_name="my-ca",
788
+ ),
789
+ ),
790
+ x509_config=gcp.certificateauthority.AuthorityConfigX509ConfigArgs(
791
+ ca_options=gcp.certificateauthority.AuthorityConfigX509ConfigCaOptionsArgs(
792
+ is_ca=True,
793
+ ),
794
+ key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageArgs(
795
+ base_key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageBaseKeyUsageArgs(
796
+ cert_sign=True,
797
+ crl_sign=True,
798
+ ),
799
+ extended_key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageExtendedKeyUsageArgs(
800
+ server_auth=False,
801
+ ),
802
+ ),
803
+ ),
804
+ ),
805
+ key_spec=gcp.certificateauthority.AuthorityKeySpecArgs(
806
+ algorithm="RSA_PKCS1_4096_SHA256",
807
+ ))
808
+ ns_sa = gcp.projects.ServiceIdentity("ns_sa", service="networksecurity.googleapis.com")
809
+ default_ca_pool_iam_member = gcp.certificateauthority.CaPoolIamMember("default",
810
+ ca_pool=default.id,
811
+ role="roles/privateca.certificateManager",
812
+ member=ns_sa.email.apply(lambda email: f"serviceAccount:{email}"))
813
+ default_trust_config = gcp.certificatemanager.TrustConfig("default",
814
+ name="my-trust-config",
815
+ description="sample trust config description",
816
+ location="us-central1",
817
+ trust_stores=[gcp.certificatemanager.TrustConfigTrustStoreArgs(
818
+ trust_anchors=[gcp.certificatemanager.TrustConfigTrustStoreTrustAnchorArgs(
819
+ pem_certificate=std.file(input="test-fixtures/ca_cert.pem").result,
820
+ )],
821
+ intermediate_cas=[gcp.certificatemanager.TrustConfigTrustStoreIntermediateCaArgs(
822
+ pem_certificate=std.file(input="test-fixtures/ca_cert.pem").result,
823
+ )],
824
+ )])
825
+ default_tls_inspection_policy = gcp.networksecurity.TlsInspectionPolicy("default",
826
+ name="my-tls-inspection-policy",
827
+ location="us-central1",
828
+ ca_pool=default.id,
829
+ exclude_public_ca_set=False,
830
+ min_tls_version="TLS_1_0",
831
+ trust_config=default_trust_config.id,
832
+ tls_feature_profile="PROFILE_CUSTOM",
833
+ custom_tls_features=[
834
+ "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
835
+ "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
836
+ "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
837
+ "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
838
+ "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
839
+ "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
840
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
841
+ "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
842
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
843
+ "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
844
+ "TLS_RSA_WITH_3DES_EDE_CBC_SHA",
845
+ "TLS_RSA_WITH_AES_128_CBC_SHA",
846
+ "TLS_RSA_WITH_AES_128_GCM_SHA256",
847
+ "TLS_RSA_WITH_AES_256_CBC_SHA",
848
+ "TLS_RSA_WITH_AES_256_GCM_SHA384",
849
+ ])
850
+ ```
477
851
 
478
852
  ## Import
479
853
 
@@ -515,11 +889,15 @@ class TlsInspectionPolicy(pulumi.CustomResource):
515
889
  resource_name: str,
516
890
  opts: Optional[pulumi.ResourceOptions] = None,
517
891
  ca_pool: Optional[pulumi.Input[str]] = None,
892
+ custom_tls_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
518
893
  description: Optional[pulumi.Input[str]] = None,
519
894
  exclude_public_ca_set: Optional[pulumi.Input[bool]] = None,
520
895
  location: Optional[pulumi.Input[str]] = None,
896
+ min_tls_version: Optional[pulumi.Input[str]] = None,
521
897
  name: Optional[pulumi.Input[str]] = None,
522
898
  project: Optional[pulumi.Input[str]] = None,
899
+ tls_feature_profile: Optional[pulumi.Input[str]] = None,
900
+ trust_config: Optional[pulumi.Input[str]] = None,
523
901
  __props__=None):
524
902
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
525
903
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -532,11 +910,15 @@ class TlsInspectionPolicy(pulumi.CustomResource):
532
910
  if ca_pool is None and not opts.urn:
533
911
  raise TypeError("Missing required property 'ca_pool'")
534
912
  __props__.__dict__["ca_pool"] = ca_pool
913
+ __props__.__dict__["custom_tls_features"] = custom_tls_features
535
914
  __props__.__dict__["description"] = description
536
915
  __props__.__dict__["exclude_public_ca_set"] = exclude_public_ca_set
537
916
  __props__.__dict__["location"] = location
917
+ __props__.__dict__["min_tls_version"] = min_tls_version
538
918
  __props__.__dict__["name"] = name
539
919
  __props__.__dict__["project"] = project
920
+ __props__.__dict__["tls_feature_profile"] = tls_feature_profile
921
+ __props__.__dict__["trust_config"] = trust_config
540
922
  __props__.__dict__["create_time"] = None
541
923
  __props__.__dict__["update_time"] = None
542
924
  super(TlsInspectionPolicy, __self__).__init__(
@@ -551,11 +933,15 @@ class TlsInspectionPolicy(pulumi.CustomResource):
551
933
  opts: Optional[pulumi.ResourceOptions] = None,
552
934
  ca_pool: Optional[pulumi.Input[str]] = None,
553
935
  create_time: Optional[pulumi.Input[str]] = None,
936
+ custom_tls_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
554
937
  description: Optional[pulumi.Input[str]] = None,
555
938
  exclude_public_ca_set: Optional[pulumi.Input[bool]] = None,
556
939
  location: Optional[pulumi.Input[str]] = None,
940
+ min_tls_version: Optional[pulumi.Input[str]] = None,
557
941
  name: Optional[pulumi.Input[str]] = None,
558
942
  project: Optional[pulumi.Input[str]] = None,
943
+ tls_feature_profile: Optional[pulumi.Input[str]] = None,
944
+ trust_config: Optional[pulumi.Input[str]] = None,
559
945
  update_time: Optional[pulumi.Input[str]] = None) -> 'TlsInspectionPolicy':
560
946
  """
561
947
  Get an existing TlsInspectionPolicy resource's state with the given name, id, and optional extra
@@ -566,15 +952,21 @@ class TlsInspectionPolicy(pulumi.CustomResource):
566
952
  :param pulumi.ResourceOptions opts: Options for the resource.
567
953
  :param pulumi.Input[str] ca_pool: A CA pool resource used to issue interception certificates.
568
954
  :param pulumi.Input[str] create_time: The timestamp when the resource was created.
955
+ :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.
569
956
  :param pulumi.Input[str] description: Free-text description of the resource.
570
957
  :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.
571
958
  :param pulumi.Input[str] location: The location of the tls inspection policy.
959
+ :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.
960
+ Possible values are: `TLS_VERSION_UNSPECIFIED`, `TLS_1_0`, `TLS_1_1`, `TLS_1_2`, `TLS_1_3`.
572
961
  :param pulumi.Input[str] name: Short name of the TlsInspectionPolicy resource to be created.
573
962
 
574
963
 
575
964
  - - -
576
965
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
577
966
  If it is not provided, the provider project is used.
967
+ :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.
968
+ Possible values are: `PROFILE_UNSPECIFIED`, `PROFILE_COMPATIBLE`, `PROFILE_MODERN`, `PROFILE_RESTRICTED`, `PROFILE_CUSTOM`.
969
+ :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.
578
970
  :param pulumi.Input[str] update_time: The timestamp when the resource was updated.
579
971
  """
580
972
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -583,11 +975,15 @@ class TlsInspectionPolicy(pulumi.CustomResource):
583
975
 
584
976
  __props__.__dict__["ca_pool"] = ca_pool
585
977
  __props__.__dict__["create_time"] = create_time
978
+ __props__.__dict__["custom_tls_features"] = custom_tls_features
586
979
  __props__.__dict__["description"] = description
587
980
  __props__.__dict__["exclude_public_ca_set"] = exclude_public_ca_set
588
981
  __props__.__dict__["location"] = location
982
+ __props__.__dict__["min_tls_version"] = min_tls_version
589
983
  __props__.__dict__["name"] = name
590
984
  __props__.__dict__["project"] = project
985
+ __props__.__dict__["tls_feature_profile"] = tls_feature_profile
986
+ __props__.__dict__["trust_config"] = trust_config
591
987
  __props__.__dict__["update_time"] = update_time
592
988
  return TlsInspectionPolicy(resource_name, opts=opts, __props__=__props__)
593
989
 
@@ -607,6 +1003,14 @@ class TlsInspectionPolicy(pulumi.CustomResource):
607
1003
  """
608
1004
  return pulumi.get(self, "create_time")
609
1005
 
1006
+ @property
1007
+ @pulumi.getter(name="customTlsFeatures")
1008
+ def custom_tls_features(self) -> pulumi.Output[Optional[Sequence[str]]]:
1009
+ """
1010
+ 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.
1011
+ """
1012
+ return pulumi.get(self, "custom_tls_features")
1013
+
610
1014
  @property
611
1015
  @pulumi.getter
612
1016
  def description(self) -> pulumi.Output[Optional[str]]:
@@ -631,6 +1035,15 @@ class TlsInspectionPolicy(pulumi.CustomResource):
631
1035
  """
632
1036
  return pulumi.get(self, "location")
633
1037
 
1038
+ @property
1039
+ @pulumi.getter(name="minTlsVersion")
1040
+ def min_tls_version(self) -> pulumi.Output[Optional[str]]:
1041
+ """
1042
+ 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.
1043
+ Possible values are: `TLS_VERSION_UNSPECIFIED`, `TLS_1_0`, `TLS_1_1`, `TLS_1_2`, `TLS_1_3`.
1044
+ """
1045
+ return pulumi.get(self, "min_tls_version")
1046
+
634
1047
  @property
635
1048
  @pulumi.getter
636
1049
  def name(self) -> pulumi.Output[str]:
@@ -651,6 +1064,23 @@ class TlsInspectionPolicy(pulumi.CustomResource):
651
1064
  """
652
1065
  return pulumi.get(self, "project")
653
1066
 
1067
+ @property
1068
+ @pulumi.getter(name="tlsFeatureProfile")
1069
+ def tls_feature_profile(self) -> pulumi.Output[Optional[str]]:
1070
+ """
1071
+ 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.
1072
+ Possible values are: `PROFILE_UNSPECIFIED`, `PROFILE_COMPATIBLE`, `PROFILE_MODERN`, `PROFILE_RESTRICTED`, `PROFILE_CUSTOM`.
1073
+ """
1074
+ return pulumi.get(self, "tls_feature_profile")
1075
+
1076
+ @property
1077
+ @pulumi.getter(name="trustConfig")
1078
+ def trust_config(self) -> pulumi.Output[Optional[str]]:
1079
+ """
1080
+ 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.
1081
+ """
1082
+ return pulumi.get(self, "trust_config")
1083
+
654
1084
  @property
655
1085
  @pulumi.getter(name="updateTime")
656
1086
  def update_time(self) -> pulumi.Output[str]: