pulumi-gcp 7.24.0a1715926460__py3-none-any.whl → 7.24.0a1716588893__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 (327) hide show
  1. pulumi_gcp/__init__.py +16 -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/bigqueryanalyticshub/data_exchange_iam_binding.py +12 -12
  35. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +12 -12
  36. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +12 -12
  37. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +12 -12
  38. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +12 -12
  39. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +12 -12
  40. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +12 -12
  41. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +12 -12
  42. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +12 -12
  43. pulumi_gcp/bigtable/instance_iam_binding.py +12 -12
  44. pulumi_gcp/bigtable/instance_iam_member.py +12 -12
  45. pulumi_gcp/bigtable/instance_iam_policy.py +12 -12
  46. pulumi_gcp/bigtable/table_iam_binding.py +12 -12
  47. pulumi_gcp/bigtable/table_iam_member.py +12 -12
  48. pulumi_gcp/bigtable/table_iam_policy.py +12 -12
  49. pulumi_gcp/billing/account_iam_binding.py +12 -12
  50. pulumi_gcp/billing/account_iam_member.py +12 -12
  51. pulumi_gcp/billing/account_iam_policy.py +12 -12
  52. pulumi_gcp/billing/project_info.py +4 -4
  53. pulumi_gcp/binaryauthorization/attestor_iam_binding.py +12 -12
  54. pulumi_gcp/binaryauthorization/attestor_iam_member.py +12 -12
  55. pulumi_gcp/binaryauthorization/attestor_iam_policy.py +12 -12
  56. pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +12 -12
  57. pulumi_gcp/certificateauthority/ca_pool_iam_member.py +12 -12
  58. pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +12 -12
  59. pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +12 -12
  60. pulumi_gcp/certificateauthority/certificate_template_iam_member.py +12 -12
  61. pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +12 -12
  62. pulumi_gcp/cloudasset/__init__.py +1 -0
  63. pulumi_gcp/cloudasset/get_search_all_resources.py +197 -0
  64. pulumi_gcp/cloudasset/outputs.py +184 -0
  65. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +12 -12
  66. pulumi_gcp/cloudbuildv2/connection_iam_member.py +12 -12
  67. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +12 -12
  68. pulumi_gcp/cloudfunctions/function.py +21 -0
  69. pulumi_gcp/cloudfunctions/function_iam_binding.py +12 -12
  70. pulumi_gcp/cloudfunctions/function_iam_member.py +12 -12
  71. pulumi_gcp/cloudfunctions/function_iam_policy.py +12 -12
  72. pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +12 -12
  73. pulumi_gcp/cloudfunctionsv2/function_iam_member.py +12 -12
  74. pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +12 -12
  75. pulumi_gcp/cloudrun/iam_binding.py +12 -12
  76. pulumi_gcp/cloudrun/iam_member.py +12 -12
  77. pulumi_gcp/cloudrun/iam_policy.py +12 -12
  78. pulumi_gcp/cloudrunv2/job_iam_binding.py +12 -12
  79. pulumi_gcp/cloudrunv2/job_iam_member.py +12 -12
  80. pulumi_gcp/cloudrunv2/job_iam_policy.py +12 -12
  81. pulumi_gcp/cloudrunv2/service_iam_binding.py +12 -12
  82. pulumi_gcp/cloudrunv2/service_iam_member.py +12 -12
  83. pulumi_gcp/cloudrunv2/service_iam_policy.py +12 -12
  84. pulumi_gcp/cloudtasks/queue_iam_binding.py +12 -12
  85. pulumi_gcp/cloudtasks/queue_iam_member.py +12 -12
  86. pulumi_gcp/cloudtasks/queue_iam_policy.py +12 -12
  87. pulumi_gcp/compute/__init__.py +1 -0
  88. pulumi_gcp/compute/_inputs.py +681 -0
  89. pulumi_gcp/compute/backend_service.py +315 -0
  90. pulumi_gcp/compute/disk_iam_binding.py +12 -12
  91. pulumi_gcp/compute/disk_iam_member.py +12 -12
  92. pulumi_gcp/compute/disk_iam_policy.py +12 -12
  93. pulumi_gcp/compute/forwarding_rule.py +6 -6
  94. pulumi_gcp/compute/get_network_endpoint_group.py +2 -2
  95. pulumi_gcp/compute/get_region_network_endpoint_group.py +2 -2
  96. pulumi_gcp/compute/get_router_nat.py +11 -1
  97. pulumi_gcp/compute/get_snapshot.py +2 -0
  98. pulumi_gcp/compute/image_iam_binding.py +12 -12
  99. pulumi_gcp/compute/image_iam_member.py +12 -12
  100. pulumi_gcp/compute/image_iam_policy.py +12 -12
  101. pulumi_gcp/compute/instance_iam_binding.py +12 -12
  102. pulumi_gcp/compute/instance_iam_member.py +12 -12
  103. pulumi_gcp/compute/instance_iam_policy.py +12 -12
  104. pulumi_gcp/compute/interconnect.py +1683 -0
  105. pulumi_gcp/compute/machine_image_iam_binding.py +8 -8
  106. pulumi_gcp/compute/machine_image_iam_member.py +8 -8
  107. pulumi_gcp/compute/machine_image_iam_policy.py +8 -8
  108. pulumi_gcp/compute/outputs.py +701 -0
  109. pulumi_gcp/compute/region_backend_service.py +315 -0
  110. pulumi_gcp/compute/region_disk_iam_binding.py +12 -12
  111. pulumi_gcp/compute/region_disk_iam_member.py +12 -12
  112. pulumi_gcp/compute/region_disk_iam_policy.py +12 -12
  113. pulumi_gcp/compute/router_nat.py +68 -0
  114. pulumi_gcp/compute/router_peer.py +88 -0
  115. pulumi_gcp/compute/security_policy.py +49 -0
  116. pulumi_gcp/compute/snapshot_iam_binding.py +12 -12
  117. pulumi_gcp/compute/snapshot_iam_member.py +12 -12
  118. pulumi_gcp/compute/snapshot_iam_policy.py +12 -12
  119. pulumi_gcp/compute/subnetwork_iam_binding.py +12 -12
  120. pulumi_gcp/compute/subnetwork_iam_member.py +12 -12
  121. pulumi_gcp/compute/subnetwork_iam_policy.py +12 -12
  122. pulumi_gcp/compute/target_instance.py +4 -4
  123. pulumi_gcp/compute/target_pool.py +21 -21
  124. pulumi_gcp/container/_inputs.py +14 -2
  125. pulumi_gcp/container/outputs.py +16 -4
  126. pulumi_gcp/containeranalysis/note_iam_binding.py +12 -12
  127. pulumi_gcp/containeranalysis/note_iam_member.py +12 -12
  128. pulumi_gcp/containeranalysis/note_iam_policy.py +12 -12
  129. pulumi_gcp/databasemigrationservice/connection_profile.py +6 -6
  130. pulumi_gcp/datacatalog/entry_group_iam_binding.py +12 -12
  131. pulumi_gcp/datacatalog/entry_group_iam_member.py +12 -12
  132. pulumi_gcp/datacatalog/entry_group_iam_policy.py +12 -12
  133. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +12 -12
  134. pulumi_gcp/datacatalog/policy_tag_iam_member.py +12 -12
  135. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +12 -12
  136. pulumi_gcp/datacatalog/tag_template_iam_binding.py +12 -12
  137. pulumi_gcp/datacatalog/tag_template_iam_member.py +12 -12
  138. pulumi_gcp/datacatalog/tag_template_iam_policy.py +12 -12
  139. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +12 -12
  140. pulumi_gcp/datacatalog/taxonomy_iam_member.py +12 -12
  141. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +12 -12
  142. pulumi_gcp/dataloss/_inputs.py +420 -13
  143. pulumi_gcp/dataloss/outputs.py +439 -13
  144. pulumi_gcp/dataplex/asset_iam_binding.py +12 -12
  145. pulumi_gcp/dataplex/asset_iam_member.py +12 -12
  146. pulumi_gcp/dataplex/asset_iam_policy.py +12 -12
  147. pulumi_gcp/dataplex/datascan_iam_binding.py +12 -12
  148. pulumi_gcp/dataplex/datascan_iam_member.py +12 -12
  149. pulumi_gcp/dataplex/datascan_iam_policy.py +12 -12
  150. pulumi_gcp/dataplex/lake_iam_binding.py +12 -12
  151. pulumi_gcp/dataplex/lake_iam_member.py +12 -12
  152. pulumi_gcp/dataplex/lake_iam_policy.py +12 -12
  153. pulumi_gcp/dataplex/task.py +16 -16
  154. pulumi_gcp/dataplex/task_iam_binding.py +12 -12
  155. pulumi_gcp/dataplex/task_iam_member.py +12 -12
  156. pulumi_gcp/dataplex/task_iam_policy.py +12 -12
  157. pulumi_gcp/dataplex/zone_iam_binding.py +12 -12
  158. pulumi_gcp/dataplex/zone_iam_member.py +12 -12
  159. pulumi_gcp/dataplex/zone_iam_policy.py +12 -12
  160. pulumi_gcp/dataproc/_inputs.py +190 -46
  161. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +12 -12
  162. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +12 -12
  163. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +12 -12
  164. pulumi_gcp/dataproc/cluster_iam_binding.py +12 -12
  165. pulumi_gcp/dataproc/cluster_iam_member.py +12 -12
  166. pulumi_gcp/dataproc/cluster_iam_policy.py +12 -12
  167. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +26 -2
  168. pulumi_gcp/dataproc/job_iam_binding.py +12 -12
  169. pulumi_gcp/dataproc/job_iam_member.py +12 -12
  170. pulumi_gcp/dataproc/job_iam_policy.py +12 -12
  171. pulumi_gcp/dataproc/metastore_federation.py +4 -0
  172. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +208 -0
  173. pulumi_gcp/dataproc/metastore_federation_iam_member.py +208 -0
  174. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +208 -0
  175. pulumi_gcp/dataproc/metastore_service_iam_binding.py +12 -12
  176. pulumi_gcp/dataproc/metastore_service_iam_member.py +12 -12
  177. pulumi_gcp/dataproc/metastore_service_iam_policy.py +12 -12
  178. pulumi_gcp/dataproc/outputs.py +182 -46
  179. pulumi_gcp/datastream/_inputs.py +1789 -820
  180. pulumi_gcp/datastream/connection_profile.py +163 -3
  181. pulumi_gcp/datastream/outputs.py +864 -5
  182. pulumi_gcp/datastream/stream.py +174 -0
  183. pulumi_gcp/dns/dns_managed_zone_iam_binding.py +12 -12
  184. pulumi_gcp/dns/dns_managed_zone_iam_member.py +12 -12
  185. pulumi_gcp/dns/dns_managed_zone_iam_policy.py +12 -12
  186. pulumi_gcp/endpoints/service_iam_binding.py +12 -12
  187. pulumi_gcp/endpoints/service_iam_member.py +12 -12
  188. pulumi_gcp/endpoints/service_iam_policy.py +12 -12
  189. pulumi_gcp/firestore/field.py +4 -4
  190. pulumi_gcp/folder/iam_audit_config.py +23 -23
  191. pulumi_gcp/folder/iam_member.py +16 -16
  192. pulumi_gcp/folder/iam_policy.py +16 -16
  193. pulumi_gcp/gkebackup/backup_plan_iam_binding.py +12 -12
  194. pulumi_gcp/gkebackup/backup_plan_iam_member.py +12 -12
  195. pulumi_gcp/gkebackup/backup_plan_iam_policy.py +12 -12
  196. pulumi_gcp/gkehub/feature_iam_binding.py +12 -12
  197. pulumi_gcp/gkehub/feature_iam_member.py +12 -12
  198. pulumi_gcp/gkehub/feature_iam_policy.py +12 -12
  199. pulumi_gcp/gkehub/membership_binding.py +6 -6
  200. pulumi_gcp/gkehub/membership_iam_binding.py +12 -12
  201. pulumi_gcp/gkehub/membership_iam_member.py +12 -12
  202. pulumi_gcp/gkehub/membership_iam_policy.py +12 -12
  203. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  204. pulumi_gcp/gkehub/namespace.py +4 -4
  205. pulumi_gcp/gkehub/scope_iam_binding.py +12 -12
  206. pulumi_gcp/gkehub/scope_iam_member.py +12 -12
  207. pulumi_gcp/gkehub/scope_iam_policy.py +12 -12
  208. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  209. pulumi_gcp/healthcare/consent_store_iam_binding.py +12 -12
  210. pulumi_gcp/healthcare/consent_store_iam_member.py +12 -12
  211. pulumi_gcp/healthcare/consent_store_iam_policy.py +12 -12
  212. pulumi_gcp/healthcare/dataset_iam_binding.py +12 -12
  213. pulumi_gcp/healthcare/dataset_iam_member.py +12 -12
  214. pulumi_gcp/healthcare/dataset_iam_policy.py +12 -12
  215. pulumi_gcp/healthcare/dicom_store_iam_binding.py +12 -12
  216. pulumi_gcp/healthcare/dicom_store_iam_member.py +12 -12
  217. pulumi_gcp/healthcare/dicom_store_iam_policy.py +12 -12
  218. pulumi_gcp/healthcare/fhir_store_iam_binding.py +12 -12
  219. pulumi_gcp/healthcare/fhir_store_iam_member.py +12 -12
  220. pulumi_gcp/healthcare/fhir_store_iam_policy.py +12 -12
  221. pulumi_gcp/healthcare/hl7_store_iam_binding.py +12 -12
  222. pulumi_gcp/healthcare/hl7_store_iam_member.py +12 -12
  223. pulumi_gcp/healthcare/hl7_store_iam_policy.py +12 -12
  224. pulumi_gcp/iap/app_engine_service_iam_binding.py +12 -12
  225. pulumi_gcp/iap/app_engine_service_iam_member.py +12 -12
  226. pulumi_gcp/iap/app_engine_service_iam_policy.py +12 -12
  227. pulumi_gcp/iap/app_engine_version_iam_binding.py +12 -12
  228. pulumi_gcp/iap/app_engine_version_iam_member.py +12 -12
  229. pulumi_gcp/iap/app_engine_version_iam_policy.py +12 -12
  230. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  231. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +12 -12
  232. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +12 -12
  233. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +12 -12
  234. pulumi_gcp/iap/tunnel_iam_binding.py +12 -12
  235. pulumi_gcp/iap/tunnel_iam_member.py +12 -12
  236. pulumi_gcp/iap/tunnel_iam_policy.py +12 -12
  237. pulumi_gcp/iap/tunnel_instance_iam_binding.py +12 -12
  238. pulumi_gcp/iap/tunnel_instance_iam_member.py +12 -12
  239. pulumi_gcp/iap/tunnel_instance_iam_policy.py +12 -12
  240. pulumi_gcp/iap/web_backend_service_iam_binding.py +12 -12
  241. pulumi_gcp/iap/web_backend_service_iam_member.py +12 -12
  242. pulumi_gcp/iap/web_backend_service_iam_policy.py +12 -12
  243. pulumi_gcp/iap/web_iam_binding.py +12 -12
  244. pulumi_gcp/iap/web_iam_member.py +12 -12
  245. pulumi_gcp/iap/web_iam_policy.py +12 -12
  246. pulumi_gcp/iap/web_region_backend_service_iam_binding.py +12 -12
  247. pulumi_gcp/iap/web_region_backend_service_iam_member.py +12 -12
  248. pulumi_gcp/iap/web_region_backend_service_iam_policy.py +12 -12
  249. pulumi_gcp/iap/web_type_app_enging_iam_binding.py +12 -12
  250. pulumi_gcp/iap/web_type_app_enging_iam_member.py +12 -12
  251. pulumi_gcp/iap/web_type_app_enging_iam_policy.py +12 -12
  252. pulumi_gcp/iap/web_type_compute_iam_binding.py +12 -12
  253. pulumi_gcp/iap/web_type_compute_iam_member.py +12 -12
  254. pulumi_gcp/iap/web_type_compute_iam_policy.py +12 -12
  255. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  256. pulumi_gcp/kms/key_ring_iam_binding.py +12 -12
  257. pulumi_gcp/kms/key_ring_iam_member.py +12 -12
  258. pulumi_gcp/kms/key_ring_iam_policy.py +12 -12
  259. pulumi_gcp/netapp/storage_pool.py +7 -7
  260. pulumi_gcp/netapp/volume.py +4 -4
  261. pulumi_gcp/networksecurity/gateway_security_policy.py +4 -4
  262. pulumi_gcp/networksecurity/tls_inspection_policy.py +419 -5
  263. pulumi_gcp/networkservices/__init__.py +1 -0
  264. pulumi_gcp/networkservices/_inputs.py +254 -0
  265. pulumi_gcp/networkservices/lb_traffic_extension.py +1181 -0
  266. pulumi_gcp/networkservices/outputs.py +265 -0
  267. pulumi_gcp/notebooks/instance_iam_binding.py +12 -12
  268. pulumi_gcp/notebooks/instance_iam_member.py +12 -12
  269. pulumi_gcp/notebooks/instance_iam_policy.py +12 -12
  270. pulumi_gcp/notebooks/runtime_iam_binding.py +12 -12
  271. pulumi_gcp/notebooks/runtime_iam_member.py +12 -12
  272. pulumi_gcp/notebooks/runtime_iam_policy.py +12 -12
  273. pulumi_gcp/organizations/_inputs.py +10 -0
  274. pulumi_gcp/organizations/iam_member.py +16 -16
  275. pulumi_gcp/organizations/iam_policy.py +16 -16
  276. pulumi_gcp/organizations/outputs.py +10 -0
  277. pulumi_gcp/orgpolicy/policy.py +2 -2
  278. pulumi_gcp/projects/iam_audit_config.py +23 -23
  279. pulumi_gcp/projects/iam_binding.py +23 -23
  280. pulumi_gcp/projects/iam_member.py +23 -23
  281. pulumi_gcp/projects/iam_policy.py +16 -16
  282. pulumi_gcp/projects/service.py +2 -43
  283. pulumi_gcp/pubsub/schema_iam_binding.py +12 -12
  284. pulumi_gcp/pubsub/schema_iam_member.py +12 -12
  285. pulumi_gcp/pubsub/schema_iam_policy.py +12 -12
  286. pulumi_gcp/pubsub/subscription.py +4 -4
  287. pulumi_gcp/pubsub/subscription_iam_binding.py +12 -12
  288. pulumi_gcp/pubsub/subscription_iam_member.py +12 -12
  289. pulumi_gcp/pubsub/subscription_iam_policy.py +12 -12
  290. pulumi_gcp/pubsub/topic_iam_binding.py +12 -12
  291. pulumi_gcp/pubsub/topic_iam_member.py +12 -12
  292. pulumi_gcp/pubsub/topic_iam_policy.py +12 -12
  293. pulumi_gcp/pulumi-plugin.json +1 -1
  294. pulumi_gcp/secretmanager/secret_iam_binding.py +12 -12
  295. pulumi_gcp/secretmanager/secret_iam_member.py +12 -12
  296. pulumi_gcp/secretmanager/secret_iam_policy.py +12 -12
  297. pulumi_gcp/servicedirectory/namespace_iam_binding.py +8 -8
  298. pulumi_gcp/servicedirectory/namespace_iam_member.py +8 -8
  299. pulumi_gcp/servicedirectory/namespace_iam_policy.py +8 -8
  300. pulumi_gcp/servicedirectory/service_iam_binding.py +8 -8
  301. pulumi_gcp/servicedirectory/service_iam_member.py +8 -8
  302. pulumi_gcp/servicedirectory/service_iam_policy.py +8 -8
  303. pulumi_gcp/sourcerepo/repository_iam_binding.py +12 -12
  304. pulumi_gcp/sourcerepo/repository_iam_member.py +12 -12
  305. pulumi_gcp/sourcerepo/repository_iam_policy.py +12 -12
  306. pulumi_gcp/spanner/database_iam_binding.py +12 -12
  307. pulumi_gcp/spanner/database_iam_member.py +12 -12
  308. pulumi_gcp/spanner/database_iam_policy.py +12 -12
  309. pulumi_gcp/spanner/instance_iam_binding.py +12 -12
  310. pulumi_gcp/spanner/instance_iam_member.py +12 -12
  311. pulumi_gcp/spanner/instance_iam_policy.py +12 -12
  312. pulumi_gcp/storage/_inputs.py +12 -10
  313. pulumi_gcp/storage/bucket.py +44 -0
  314. pulumi_gcp/storage/bucket_iam_binding.py +12 -12
  315. pulumi_gcp/storage/bucket_iam_member.py +12 -12
  316. pulumi_gcp/storage/bucket_iam_policy.py +12 -12
  317. pulumi_gcp/storage/outputs.py +12 -10
  318. pulumi_gcp/tags/tag_key_iam_binding.py +12 -12
  319. pulumi_gcp/tags/tag_key_iam_member.py +12 -12
  320. pulumi_gcp/tags/tag_key_iam_policy.py +12 -12
  321. pulumi_gcp/tags/tag_value_iam_binding.py +12 -12
  322. pulumi_gcp/tags/tag_value_iam_member.py +12 -12
  323. pulumi_gcp/tags/tag_value_iam_policy.py +12 -12
  324. {pulumi_gcp-7.24.0a1715926460.dist-info → pulumi_gcp-7.24.0a1716588893.dist-info}/METADATA +1 -1
  325. {pulumi_gcp-7.24.0a1715926460.dist-info → pulumi_gcp-7.24.0a1716588893.dist-info}/RECORD +327 -324
  326. {pulumi_gcp-7.24.0a1715926460.dist-info → pulumi_gcp-7.24.0a1716588893.dist-info}/WHEEL +0 -0
  327. {pulumi_gcp-7.24.0a1715926460.dist-info → pulumi_gcp-7.24.0a1716588893.dist-info}/top_level.txt +0 -0
@@ -182,6 +182,10 @@ __all__ = [
182
182
  'InstanceTemplateServiceAccount',
183
183
  'InstanceTemplateShieldedInstanceConfig',
184
184
  'InterconnectAttachmentPrivateInterconnectInfo',
185
+ 'InterconnectCircuitInfo',
186
+ 'InterconnectExpectedOutage',
187
+ 'InterconnectMacsec',
188
+ 'InterconnectMacsecPreSharedKey',
185
189
  'MachineImageIamBindingCondition',
186
190
  'MachineImageIamMemberCondition',
187
191
  'MachineImageMachineImageEncryptionKey',
@@ -310,6 +314,7 @@ __all__ = [
310
314
  'RegionSecurityPolicyDdosProtectionConfig',
311
315
  'RegionSecurityPolicyRuleMatch',
312
316
  'RegionSecurityPolicyRuleMatchConfig',
317
+ 'RegionSecurityPolicyRuleMatchExpr',
313
318
  'RegionSecurityPolicyRuleNetworkMatch',
314
319
  'RegionSecurityPolicyRuleNetworkMatchUserDefinedField',
315
320
  'RegionSecurityPolicyRulePreconfiguredWafConfig',
@@ -3121,6 +3126,25 @@ class BackendServiceLocalityLbPolicyPolicy(dict):
3121
3126
  Note that specifying the same policy more than once for a backend is
3122
3127
  not a valid configuration and will be rejected.
3123
3128
  The possible values are:
3129
+ * `ROUND_ROBIN`: This is a simple policy in which each healthy backend
3130
+ is selected in round robin order.
3131
+ * `LEAST_REQUEST`: An O(1) algorithm which selects two random healthy
3132
+ hosts and picks the host which has fewer active requests.
3133
+ * `RING_HASH`: The ring/modulo hash load balancer implements consistent
3134
+ hashing to backends. The algorithm has the property that the
3135
+ addition/removal of a host from a set of N hosts only affects
3136
+ 1/N of the requests.
3137
+ * `RANDOM`: The load balancer selects a random healthy host.
3138
+ * `ORIGINAL_DESTINATION`: Backend host is selected based on the client
3139
+ connection metadata, i.e., connections are opened
3140
+ to the same address as the destination address of
3141
+ the incoming connection before the connection
3142
+ was redirected to the load balancer.
3143
+ * `MAGLEV`: used as a drop in replacement for the ring hash load balancer.
3144
+ Maglev is not as stable as ring hash but has faster table lookup
3145
+ build times and host selection times. For more information about
3146
+ Maglev, refer to https://ai.google/research/pubs/pub44824
3147
+ Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`.
3124
3148
  """
3125
3149
  pulumi.set(__self__, "name", name)
3126
3150
 
@@ -3136,6 +3160,25 @@ class BackendServiceLocalityLbPolicyPolicy(dict):
3136
3160
  Note that specifying the same policy more than once for a backend is
3137
3161
  not a valid configuration and will be rejected.
3138
3162
  The possible values are:
3163
+ * `ROUND_ROBIN`: This is a simple policy in which each healthy backend
3164
+ is selected in round robin order.
3165
+ * `LEAST_REQUEST`: An O(1) algorithm which selects two random healthy
3166
+ hosts and picks the host which has fewer active requests.
3167
+ * `RING_HASH`: The ring/modulo hash load balancer implements consistent
3168
+ hashing to backends. The algorithm has the property that the
3169
+ addition/removal of a host from a set of N hosts only affects
3170
+ 1/N of the requests.
3171
+ * `RANDOM`: The load balancer selects a random healthy host.
3172
+ * `ORIGINAL_DESTINATION`: Backend host is selected based on the client
3173
+ connection metadata, i.e., connections are opened
3174
+ to the same address as the destination address of
3175
+ the incoming connection before the connection
3176
+ was redirected to the load balancer.
3177
+ * `MAGLEV`: used as a drop in replacement for the ring hash load balancer.
3178
+ Maglev is not as stable as ring hash but has faster table lookup
3179
+ build times and host selection times. For more information about
3180
+ Maglev, refer to https://ai.google/research/pubs/pub44824
3181
+ Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`.
3139
3182
  """
3140
3183
  return pulumi.get(self, "name")
3141
3184
 
@@ -4675,6 +4718,15 @@ class HealthCheckGrpcHealthCheck(dict):
4675
4718
  port_name are defined, port takes precedence.
4676
4719
  :param str port_specification: Specifies how port is selected for health checking, can be one of the
4677
4720
  following values:
4721
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
4722
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
4723
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
4724
+ network endpoint is used for health checking. For other backends, the
4725
+ port or named port specified in the Backend Service is used for health
4726
+ checking.
4727
+ If not specified, gRPC health check follows behavior specified in `port` and
4728
+ `portName` fields.
4729
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
4678
4730
  """
4679
4731
  if grpc_service_name is not None:
4680
4732
  pulumi.set(__self__, "grpc_service_name", grpc_service_name)
@@ -4722,6 +4774,15 @@ class HealthCheckGrpcHealthCheck(dict):
4722
4774
  """
4723
4775
  Specifies how port is selected for health checking, can be one of the
4724
4776
  following values:
4777
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
4778
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
4779
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
4780
+ network endpoint is used for health checking. For other backends, the
4781
+ port or named port specified in the Backend Service is used for health
4782
+ checking.
4783
+ If not specified, gRPC health check follows behavior specified in `port` and
4784
+ `portName` fields.
4785
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
4725
4786
  """
4726
4787
  return pulumi.get(self, "port_specification")
4727
4788
 
@@ -4925,6 +4986,15 @@ class HealthCheckHttpHealthCheck(dict):
4925
4986
  port_name are defined, port takes precedence.
4926
4987
  :param str port_specification: Specifies how port is selected for health checking, can be one of the
4927
4988
  following values:
4989
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
4990
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
4991
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
4992
+ network endpoint is used for health checking. For other backends, the
4993
+ port or named port specified in the Backend Service is used for health
4994
+ checking.
4995
+ If not specified, HTTP health check follows behavior specified in `port` and
4996
+ `portName` fields.
4997
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
4928
4998
  :param str proxy_header: Specifies the type of proxy header to append before sending data to the
4929
4999
  backend.
4930
5000
  Default value is `NONE`.
@@ -4984,6 +5054,15 @@ class HealthCheckHttpHealthCheck(dict):
4984
5054
  """
4985
5055
  Specifies how port is selected for health checking, can be one of the
4986
5056
  following values:
5057
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
5058
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
5059
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
5060
+ network endpoint is used for health checking. For other backends, the
5061
+ port or named port specified in the Backend Service is used for health
5062
+ checking.
5063
+ If not specified, HTTP health check follows behavior specified in `port` and
5064
+ `portName` fields.
5065
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
4987
5066
  """
4988
5067
  return pulumi.get(self, "port_specification")
4989
5068
 
@@ -5061,6 +5140,15 @@ class HealthCheckHttpsHealthCheck(dict):
5061
5140
  port_name are defined, port takes precedence.
5062
5141
  :param str port_specification: Specifies how port is selected for health checking, can be one of the
5063
5142
  following values:
5143
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
5144
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
5145
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
5146
+ network endpoint is used for health checking. For other backends, the
5147
+ port or named port specified in the Backend Service is used for health
5148
+ checking.
5149
+ If not specified, HTTPS health check follows behavior specified in `port` and
5150
+ `portName` fields.
5151
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
5064
5152
  :param str proxy_header: Specifies the type of proxy header to append before sending data to the
5065
5153
  backend.
5066
5154
  Default value is `NONE`.
@@ -5120,6 +5208,15 @@ class HealthCheckHttpsHealthCheck(dict):
5120
5208
  """
5121
5209
  Specifies how port is selected for health checking, can be one of the
5122
5210
  following values:
5211
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
5212
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
5213
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
5214
+ network endpoint is used for health checking. For other backends, the
5215
+ port or named port specified in the Backend Service is used for health
5216
+ checking.
5217
+ If not specified, HTTPS health check follows behavior specified in `port` and
5218
+ `portName` fields.
5219
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
5123
5220
  """
5124
5221
  return pulumi.get(self, "port_specification")
5125
5222
 
@@ -5212,6 +5309,15 @@ class HealthCheckSslHealthCheck(dict):
5212
5309
  port_name are defined, port takes precedence.
5213
5310
  :param str port_specification: Specifies how port is selected for health checking, can be one of the
5214
5311
  following values:
5312
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
5313
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
5314
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
5315
+ network endpoint is used for health checking. For other backends, the
5316
+ port or named port specified in the Backend Service is used for health
5317
+ checking.
5318
+ If not specified, HTTP2 health check follows behavior specified in `port` and
5319
+ `portName` fields.
5320
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
5215
5321
  :param str proxy_header: Specifies the type of proxy header to append before sending data to the
5216
5322
  backend.
5217
5323
  Default value is `NONE`.
@@ -5261,6 +5367,15 @@ class HealthCheckSslHealthCheck(dict):
5261
5367
  """
5262
5368
  Specifies how port is selected for health checking, can be one of the
5263
5369
  following values:
5370
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
5371
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
5372
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
5373
+ network endpoint is used for health checking. For other backends, the
5374
+ port or named port specified in the Backend Service is used for health
5375
+ checking.
5376
+ If not specified, HTTP2 health check follows behavior specified in `port` and
5377
+ `portName` fields.
5378
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
5264
5379
  """
5265
5380
  return pulumi.get(self, "port_specification")
5266
5381
 
@@ -5334,6 +5449,15 @@ class HealthCheckTcpHealthCheck(dict):
5334
5449
  port_name are defined, port takes precedence.
5335
5450
  :param str port_specification: Specifies how port is selected for health checking, can be one of the
5336
5451
  following values:
5452
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
5453
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
5454
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
5455
+ network endpoint is used for health checking. For other backends, the
5456
+ port or named port specified in the Backend Service is used for health
5457
+ checking.
5458
+ If not specified, TCP health check follows behavior specified in `port` and
5459
+ `portName` fields.
5460
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
5337
5461
  :param str proxy_header: Specifies the type of proxy header to append before sending data to the
5338
5462
  backend.
5339
5463
  Default value is `NONE`.
@@ -5383,6 +5507,15 @@ class HealthCheckTcpHealthCheck(dict):
5383
5507
  """
5384
5508
  Specifies how port is selected for health checking, can be one of the
5385
5509
  following values:
5510
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
5511
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
5512
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
5513
+ network endpoint is used for health checking. For other backends, the
5514
+ port or named port specified in the Backend Service is used for health
5515
+ checking.
5516
+ If not specified, TCP health check follows behavior specified in `port` and
5517
+ `portName` fields.
5518
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
5386
5519
  """
5387
5520
  return pulumi.get(self, "port_specification")
5388
5521
 
@@ -13185,6 +13318,382 @@ class InterconnectAttachmentPrivateInterconnectInfo(dict):
13185
13318
  return pulumi.get(self, "tag8021q")
13186
13319
 
13187
13320
 
13321
+ @pulumi.output_type
13322
+ class InterconnectCircuitInfo(dict):
13323
+ @staticmethod
13324
+ def __key_warning(key: str):
13325
+ suggest = None
13326
+ if key == "customerDemarcId":
13327
+ suggest = "customer_demarc_id"
13328
+ elif key == "googleCircuitId":
13329
+ suggest = "google_circuit_id"
13330
+ elif key == "googleDemarcId":
13331
+ suggest = "google_demarc_id"
13332
+
13333
+ if suggest:
13334
+ pulumi.log.warn(f"Key '{key}' not found in InterconnectCircuitInfo. Access the value via the '{suggest}' property getter instead.")
13335
+
13336
+ def __getitem__(self, key: str) -> Any:
13337
+ InterconnectCircuitInfo.__key_warning(key)
13338
+ return super().__getitem__(key)
13339
+
13340
+ def get(self, key: str, default = None) -> Any:
13341
+ InterconnectCircuitInfo.__key_warning(key)
13342
+ return super().get(key, default)
13343
+
13344
+ def __init__(__self__, *,
13345
+ customer_demarc_id: Optional[str] = None,
13346
+ google_circuit_id: Optional[str] = None,
13347
+ google_demarc_id: Optional[str] = None):
13348
+ """
13349
+ :param str customer_demarc_id: (Output)
13350
+ Customer-side demarc ID for this circuit.
13351
+ :param str google_circuit_id: (Output)
13352
+ Google-assigned unique ID for this circuit. Assigned at circuit turn-up.
13353
+ :param str google_demarc_id: (Output)
13354
+ Google-side demarc ID for this circuit. Assigned at circuit turn-up and provided by
13355
+ Google to the customer in the LOA.
13356
+ """
13357
+ if customer_demarc_id is not None:
13358
+ pulumi.set(__self__, "customer_demarc_id", customer_demarc_id)
13359
+ if google_circuit_id is not None:
13360
+ pulumi.set(__self__, "google_circuit_id", google_circuit_id)
13361
+ if google_demarc_id is not None:
13362
+ pulumi.set(__self__, "google_demarc_id", google_demarc_id)
13363
+
13364
+ @property
13365
+ @pulumi.getter(name="customerDemarcId")
13366
+ def customer_demarc_id(self) -> Optional[str]:
13367
+ """
13368
+ (Output)
13369
+ Customer-side demarc ID for this circuit.
13370
+ """
13371
+ return pulumi.get(self, "customer_demarc_id")
13372
+
13373
+ @property
13374
+ @pulumi.getter(name="googleCircuitId")
13375
+ def google_circuit_id(self) -> Optional[str]:
13376
+ """
13377
+ (Output)
13378
+ Google-assigned unique ID for this circuit. Assigned at circuit turn-up.
13379
+ """
13380
+ return pulumi.get(self, "google_circuit_id")
13381
+
13382
+ @property
13383
+ @pulumi.getter(name="googleDemarcId")
13384
+ def google_demarc_id(self) -> Optional[str]:
13385
+ """
13386
+ (Output)
13387
+ Google-side demarc ID for this circuit. Assigned at circuit turn-up and provided by
13388
+ Google to the customer in the LOA.
13389
+ """
13390
+ return pulumi.get(self, "google_demarc_id")
13391
+
13392
+
13393
+ @pulumi.output_type
13394
+ class InterconnectExpectedOutage(dict):
13395
+ @staticmethod
13396
+ def __key_warning(key: str):
13397
+ suggest = None
13398
+ if key == "affectedCircuits":
13399
+ suggest = "affected_circuits"
13400
+ elif key == "endTime":
13401
+ suggest = "end_time"
13402
+ elif key == "issueType":
13403
+ suggest = "issue_type"
13404
+ elif key == "startTime":
13405
+ suggest = "start_time"
13406
+
13407
+ if suggest:
13408
+ pulumi.log.warn(f"Key '{key}' not found in InterconnectExpectedOutage. Access the value via the '{suggest}' property getter instead.")
13409
+
13410
+ def __getitem__(self, key: str) -> Any:
13411
+ InterconnectExpectedOutage.__key_warning(key)
13412
+ return super().__getitem__(key)
13413
+
13414
+ def get(self, key: str, default = None) -> Any:
13415
+ InterconnectExpectedOutage.__key_warning(key)
13416
+ return super().get(key, default)
13417
+
13418
+ def __init__(__self__, *,
13419
+ affected_circuits: Optional[Sequence[str]] = None,
13420
+ description: Optional[str] = None,
13421
+ end_time: Optional[str] = None,
13422
+ issue_type: Optional[str] = None,
13423
+ name: Optional[str] = None,
13424
+ source: Optional[str] = None,
13425
+ start_time: Optional[str] = None,
13426
+ state: Optional[str] = None):
13427
+ """
13428
+ :param Sequence[str] affected_circuits: (Output)
13429
+ If issueType is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs that will be
13430
+ affected.
13431
+ :param str description: An optional description of this resource. Provide this property when you create the resource.
13432
+ :param str end_time: (Output)
13433
+ Scheduled end time for the outage (milliseconds since Unix epoch).
13434
+ :param str issue_type: (Output)
13435
+ Form this outage is expected to take. Note that the versions of this enum prefixed with
13436
+ "IT_" have been deprecated in favor of the unprefixed values. Can take one of the
13437
+ following values:
13438
+ - OUTAGE: The Interconnect may be completely out of service for some or all of the
13439
+ specified window.
13440
+ - PARTIAL_OUTAGE: Some circuits comprising the Interconnect as a whole should remain
13441
+ up, but with reduced bandwidth.
13442
+ :param str name: Name of the resource. Provided by the client when the resource is created. The name must be
13443
+ 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
13444
+ long and match the regular expression `a-z?` which means the first
13445
+ character must be a lowercase letter, and all following characters must be a dash,
13446
+ lowercase letter, or digit, except the last character, which cannot be a dash.
13447
+ :param str source: (Output)
13448
+ The party that generated this notification. Note that the value of NSRC_GOOGLE has been
13449
+ deprecated in favor of GOOGLE. Can take the following value:
13450
+ - GOOGLE: this notification as generated by Google.
13451
+ :param str start_time: (Output)
13452
+ Scheduled start time for the outage (milliseconds since Unix epoch).
13453
+ :param str state: (Output)
13454
+ State of this notification. Note that the versions of this enum prefixed with "NS_" have
13455
+ been deprecated in favor of the unprefixed values. Can take one of the following values:
13456
+ - ACTIVE: This outage notification is active. The event could be in the past, present,
13457
+ or future. See startTime and endTime for scheduling.
13458
+ - CANCELLED: The outage associated with this notification was cancelled before the
13459
+ outage was due to start.
13460
+ - COMPLETED: The outage associated with this notification is complete.
13461
+ """
13462
+ if affected_circuits is not None:
13463
+ pulumi.set(__self__, "affected_circuits", affected_circuits)
13464
+ if description is not None:
13465
+ pulumi.set(__self__, "description", description)
13466
+ if end_time is not None:
13467
+ pulumi.set(__self__, "end_time", end_time)
13468
+ if issue_type is not None:
13469
+ pulumi.set(__self__, "issue_type", issue_type)
13470
+ if name is not None:
13471
+ pulumi.set(__self__, "name", name)
13472
+ if source is not None:
13473
+ pulumi.set(__self__, "source", source)
13474
+ if start_time is not None:
13475
+ pulumi.set(__self__, "start_time", start_time)
13476
+ if state is not None:
13477
+ pulumi.set(__self__, "state", state)
13478
+
13479
+ @property
13480
+ @pulumi.getter(name="affectedCircuits")
13481
+ def affected_circuits(self) -> Optional[Sequence[str]]:
13482
+ """
13483
+ (Output)
13484
+ If issueType is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs that will be
13485
+ affected.
13486
+ """
13487
+ return pulumi.get(self, "affected_circuits")
13488
+
13489
+ @property
13490
+ @pulumi.getter
13491
+ def description(self) -> Optional[str]:
13492
+ """
13493
+ An optional description of this resource. Provide this property when you create the resource.
13494
+ """
13495
+ return pulumi.get(self, "description")
13496
+
13497
+ @property
13498
+ @pulumi.getter(name="endTime")
13499
+ def end_time(self) -> Optional[str]:
13500
+ """
13501
+ (Output)
13502
+ Scheduled end time for the outage (milliseconds since Unix epoch).
13503
+ """
13504
+ return pulumi.get(self, "end_time")
13505
+
13506
+ @property
13507
+ @pulumi.getter(name="issueType")
13508
+ def issue_type(self) -> Optional[str]:
13509
+ """
13510
+ (Output)
13511
+ Form this outage is expected to take. Note that the versions of this enum prefixed with
13512
+ "IT_" have been deprecated in favor of the unprefixed values. Can take one of the
13513
+ following values:
13514
+ - OUTAGE: The Interconnect may be completely out of service for some or all of the
13515
+ specified window.
13516
+ - PARTIAL_OUTAGE: Some circuits comprising the Interconnect as a whole should remain
13517
+ up, but with reduced bandwidth.
13518
+ """
13519
+ return pulumi.get(self, "issue_type")
13520
+
13521
+ @property
13522
+ @pulumi.getter
13523
+ def name(self) -> Optional[str]:
13524
+ """
13525
+ Name of the resource. Provided by the client when the resource is created. The name must be
13526
+ 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
13527
+ long and match the regular expression `a-z?` which means the first
13528
+ character must be a lowercase letter, and all following characters must be a dash,
13529
+ lowercase letter, or digit, except the last character, which cannot be a dash.
13530
+ """
13531
+ return pulumi.get(self, "name")
13532
+
13533
+ @property
13534
+ @pulumi.getter
13535
+ def source(self) -> Optional[str]:
13536
+ """
13537
+ (Output)
13538
+ The party that generated this notification. Note that the value of NSRC_GOOGLE has been
13539
+ deprecated in favor of GOOGLE. Can take the following value:
13540
+ - GOOGLE: this notification as generated by Google.
13541
+ """
13542
+ return pulumi.get(self, "source")
13543
+
13544
+ @property
13545
+ @pulumi.getter(name="startTime")
13546
+ def start_time(self) -> Optional[str]:
13547
+ """
13548
+ (Output)
13549
+ Scheduled start time for the outage (milliseconds since Unix epoch).
13550
+ """
13551
+ return pulumi.get(self, "start_time")
13552
+
13553
+ @property
13554
+ @pulumi.getter
13555
+ def state(self) -> Optional[str]:
13556
+ """
13557
+ (Output)
13558
+ State of this notification. Note that the versions of this enum prefixed with "NS_" have
13559
+ been deprecated in favor of the unprefixed values. Can take one of the following values:
13560
+ - ACTIVE: This outage notification is active. The event could be in the past, present,
13561
+ or future. See startTime and endTime for scheduling.
13562
+ - CANCELLED: The outage associated with this notification was cancelled before the
13563
+ outage was due to start.
13564
+ - COMPLETED: The outage associated with this notification is complete.
13565
+ """
13566
+ return pulumi.get(self, "state")
13567
+
13568
+
13569
+ @pulumi.output_type
13570
+ class InterconnectMacsec(dict):
13571
+ @staticmethod
13572
+ def __key_warning(key: str):
13573
+ suggest = None
13574
+ if key == "preSharedKeys":
13575
+ suggest = "pre_shared_keys"
13576
+
13577
+ if suggest:
13578
+ pulumi.log.warn(f"Key '{key}' not found in InterconnectMacsec. Access the value via the '{suggest}' property getter instead.")
13579
+
13580
+ def __getitem__(self, key: str) -> Any:
13581
+ InterconnectMacsec.__key_warning(key)
13582
+ return super().__getitem__(key)
13583
+
13584
+ def get(self, key: str, default = None) -> Any:
13585
+ InterconnectMacsec.__key_warning(key)
13586
+ return super().get(key, default)
13587
+
13588
+ def __init__(__self__, *,
13589
+ pre_shared_keys: Sequence['outputs.InterconnectMacsecPreSharedKey']):
13590
+ """
13591
+ :param Sequence['InterconnectMacsecPreSharedKeyArgs'] pre_shared_keys: A keychain placeholder describing a set of named key objects along with their
13592
+ start times. A MACsec CKN/CAK is generated for each key in the key chain.
13593
+ Google router automatically picks the key with the most recent startTime when establishing
13594
+ or re-establishing a MACsec secure link.
13595
+ Structure is documented below.
13596
+ """
13597
+ pulumi.set(__self__, "pre_shared_keys", pre_shared_keys)
13598
+
13599
+ @property
13600
+ @pulumi.getter(name="preSharedKeys")
13601
+ def pre_shared_keys(self) -> Sequence['outputs.InterconnectMacsecPreSharedKey']:
13602
+ """
13603
+ A keychain placeholder describing a set of named key objects along with their
13604
+ start times. A MACsec CKN/CAK is generated for each key in the key chain.
13605
+ Google router automatically picks the key with the most recent startTime when establishing
13606
+ or re-establishing a MACsec secure link.
13607
+ Structure is documented below.
13608
+ """
13609
+ return pulumi.get(self, "pre_shared_keys")
13610
+
13611
+
13612
+ @pulumi.output_type
13613
+ class InterconnectMacsecPreSharedKey(dict):
13614
+ @staticmethod
13615
+ def __key_warning(key: str):
13616
+ suggest = None
13617
+ if key == "failOpen":
13618
+ suggest = "fail_open"
13619
+ elif key == "startTime":
13620
+ suggest = "start_time"
13621
+
13622
+ if suggest:
13623
+ pulumi.log.warn(f"Key '{key}' not found in InterconnectMacsecPreSharedKey. Access the value via the '{suggest}' property getter instead.")
13624
+
13625
+ def __getitem__(self, key: str) -> Any:
13626
+ InterconnectMacsecPreSharedKey.__key_warning(key)
13627
+ return super().__getitem__(key)
13628
+
13629
+ def get(self, key: str, default = None) -> Any:
13630
+ InterconnectMacsecPreSharedKey.__key_warning(key)
13631
+ return super().get(key, default)
13632
+
13633
+ def __init__(__self__, *,
13634
+ name: str,
13635
+ fail_open: Optional[bool] = None,
13636
+ start_time: Optional[str] = None):
13637
+ """
13638
+ :param str name: A name for this pre-shared key. The name must be 1-63 characters long, and
13639
+ comply with RFC1035. Specifically, the name must be 1-63 characters long and match
13640
+ the regular expression `a-z?` which means the first character
13641
+ must be a lowercase letter, and all following characters must be a dash, lowercase
13642
+ letter, or digit, except the last character, which cannot be a dash.
13643
+ :param bool fail_open: If set to true, the Interconnect connection is configured with a should-secure
13644
+ MACsec security policy, that allows the Google router to fallback to cleartext
13645
+ traffic if the MKA session cannot be established. By default, the Interconnect
13646
+ connection is configured with a must-secure security policy that drops all traffic
13647
+ if the MKA session cannot be established with your router.
13648
+ :param str start_time: A RFC3339 timestamp on or after which the key is valid. startTime can be in the
13649
+ future. If the keychain has a single key, startTime can be omitted. If the keychain
13650
+ has multiple keys, startTime is mandatory for each key. The start times of keys must
13651
+ be in increasing order. The start times of two consecutive keys must be at least 6
13652
+ hours apart.
13653
+ """
13654
+ pulumi.set(__self__, "name", name)
13655
+ if fail_open is not None:
13656
+ pulumi.set(__self__, "fail_open", fail_open)
13657
+ if start_time is not None:
13658
+ pulumi.set(__self__, "start_time", start_time)
13659
+
13660
+ @property
13661
+ @pulumi.getter
13662
+ def name(self) -> str:
13663
+ """
13664
+ A name for this pre-shared key. The name must be 1-63 characters long, and
13665
+ comply with RFC1035. Specifically, the name must be 1-63 characters long and match
13666
+ the regular expression `a-z?` which means the first character
13667
+ must be a lowercase letter, and all following characters must be a dash, lowercase
13668
+ letter, or digit, except the last character, which cannot be a dash.
13669
+ """
13670
+ return pulumi.get(self, "name")
13671
+
13672
+ @property
13673
+ @pulumi.getter(name="failOpen")
13674
+ def fail_open(self) -> Optional[bool]:
13675
+ """
13676
+ If set to true, the Interconnect connection is configured with a should-secure
13677
+ MACsec security policy, that allows the Google router to fallback to cleartext
13678
+ traffic if the MKA session cannot be established. By default, the Interconnect
13679
+ connection is configured with a must-secure security policy that drops all traffic
13680
+ if the MKA session cannot be established with your router.
13681
+ """
13682
+ return pulumi.get(self, "fail_open")
13683
+
13684
+ @property
13685
+ @pulumi.getter(name="startTime")
13686
+ def start_time(self) -> Optional[str]:
13687
+ """
13688
+ A RFC3339 timestamp on or after which the key is valid. startTime can be in the
13689
+ future. If the keychain has a single key, startTime can be omitted. If the keychain
13690
+ has multiple keys, startTime is mandatory for each key. The start times of keys must
13691
+ be in increasing order. The start times of two consecutive keys must be at least 6
13692
+ hours apart.
13693
+ """
13694
+ return pulumi.get(self, "start_time")
13695
+
13696
+
13188
13697
  @pulumi.output_type
13189
13698
  class MachineImageIamBindingCondition(dict):
13190
13699
  def __init__(__self__, *,
@@ -17797,6 +18306,15 @@ class RegionHealthCheckGrpcHealthCheck(dict):
17797
18306
  port_name are defined, port takes precedence.
17798
18307
  :param str port_specification: Specifies how port is selected for health checking, can be one of the
17799
18308
  following values:
18309
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
18310
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
18311
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
18312
+ network endpoint is used for health checking. For other backends, the
18313
+ port or named port specified in the Backend Service is used for health
18314
+ checking.
18315
+ If not specified, gRPC health check follows behavior specified in `port` and
18316
+ `portName` fields.
18317
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
17800
18318
  """
17801
18319
  if grpc_service_name is not None:
17802
18320
  pulumi.set(__self__, "grpc_service_name", grpc_service_name)
@@ -17844,6 +18362,15 @@ class RegionHealthCheckGrpcHealthCheck(dict):
17844
18362
  """
17845
18363
  Specifies how port is selected for health checking, can be one of the
17846
18364
  following values:
18365
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
18366
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
18367
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
18368
+ network endpoint is used for health checking. For other backends, the
18369
+ port or named port specified in the Backend Service is used for health
18370
+ checking.
18371
+ If not specified, gRPC health check follows behavior specified in `port` and
18372
+ `portName` fields.
18373
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
17847
18374
  """
17848
18375
  return pulumi.get(self, "port_specification")
17849
18376
 
@@ -18047,6 +18574,15 @@ class RegionHealthCheckHttpHealthCheck(dict):
18047
18574
  port_name are defined, port takes precedence.
18048
18575
  :param str port_specification: Specifies how port is selected for health checking, can be one of the
18049
18576
  following values:
18577
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
18578
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
18579
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
18580
+ network endpoint is used for health checking. For other backends, the
18581
+ port or named port specified in the Backend Service is used for health
18582
+ checking.
18583
+ If not specified, HTTP health check follows behavior specified in `port` and
18584
+ `portName` fields.
18585
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
18050
18586
  :param str proxy_header: Specifies the type of proxy header to append before sending data to the
18051
18587
  backend.
18052
18588
  Default value is `NONE`.
@@ -18106,6 +18642,15 @@ class RegionHealthCheckHttpHealthCheck(dict):
18106
18642
  """
18107
18643
  Specifies how port is selected for health checking, can be one of the
18108
18644
  following values:
18645
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
18646
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
18647
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
18648
+ network endpoint is used for health checking. For other backends, the
18649
+ port or named port specified in the Backend Service is used for health
18650
+ checking.
18651
+ If not specified, HTTP health check follows behavior specified in `port` and
18652
+ `portName` fields.
18653
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
18109
18654
  """
18110
18655
  return pulumi.get(self, "port_specification")
18111
18656
 
@@ -18183,6 +18728,15 @@ class RegionHealthCheckHttpsHealthCheck(dict):
18183
18728
  port_name are defined, port takes precedence.
18184
18729
  :param str port_specification: Specifies how port is selected for health checking, can be one of the
18185
18730
  following values:
18731
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
18732
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
18733
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
18734
+ network endpoint is used for health checking. For other backends, the
18735
+ port or named port specified in the Backend Service is used for health
18736
+ checking.
18737
+ If not specified, HTTPS health check follows behavior specified in `port` and
18738
+ `portName` fields.
18739
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
18186
18740
  :param str proxy_header: Specifies the type of proxy header to append before sending data to the
18187
18741
  backend.
18188
18742
  Default value is `NONE`.
@@ -18242,6 +18796,15 @@ class RegionHealthCheckHttpsHealthCheck(dict):
18242
18796
  """
18243
18797
  Specifies how port is selected for health checking, can be one of the
18244
18798
  following values:
18799
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
18800
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
18801
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
18802
+ network endpoint is used for health checking. For other backends, the
18803
+ port or named port specified in the Backend Service is used for health
18804
+ checking.
18805
+ If not specified, HTTPS health check follows behavior specified in `port` and
18806
+ `portName` fields.
18807
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
18245
18808
  """
18246
18809
  return pulumi.get(self, "port_specification")
18247
18810
 
@@ -18334,6 +18897,15 @@ class RegionHealthCheckSslHealthCheck(dict):
18334
18897
  port_name are defined, port takes precedence.
18335
18898
  :param str port_specification: Specifies how port is selected for health checking, can be one of the
18336
18899
  following values:
18900
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
18901
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
18902
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
18903
+ network endpoint is used for health checking. For other backends, the
18904
+ port or named port specified in the Backend Service is used for health
18905
+ checking.
18906
+ If not specified, HTTP2 health check follows behavior specified in `port` and
18907
+ `portName` fields.
18908
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
18337
18909
  :param str proxy_header: Specifies the type of proxy header to append before sending data to the
18338
18910
  backend.
18339
18911
  Default value is `NONE`.
@@ -18383,6 +18955,15 @@ class RegionHealthCheckSslHealthCheck(dict):
18383
18955
  """
18384
18956
  Specifies how port is selected for health checking, can be one of the
18385
18957
  following values:
18958
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
18959
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
18960
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
18961
+ network endpoint is used for health checking. For other backends, the
18962
+ port or named port specified in the Backend Service is used for health
18963
+ checking.
18964
+ If not specified, HTTP2 health check follows behavior specified in `port` and
18965
+ `portName` fields.
18966
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
18386
18967
  """
18387
18968
  return pulumi.get(self, "port_specification")
18388
18969
 
@@ -18456,6 +19037,15 @@ class RegionHealthCheckTcpHealthCheck(dict):
18456
19037
  port_name are defined, port takes precedence.
18457
19038
  :param str port_specification: Specifies how port is selected for health checking, can be one of the
18458
19039
  following values:
19040
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
19041
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
19042
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
19043
+ network endpoint is used for health checking. For other backends, the
19044
+ port or named port specified in the Backend Service is used for health
19045
+ checking.
19046
+ If not specified, TCP health check follows behavior specified in `port` and
19047
+ `portName` fields.
19048
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
18459
19049
  :param str proxy_header: Specifies the type of proxy header to append before sending data to the
18460
19050
  backend.
18461
19051
  Default value is `NONE`.
@@ -18505,6 +19095,15 @@ class RegionHealthCheckTcpHealthCheck(dict):
18505
19095
  """
18506
19096
  Specifies how port is selected for health checking, can be one of the
18507
19097
  following values:
19098
+ * `USE_FIXED_PORT`: The port number in `port` is used for health checking.
19099
+ * `USE_NAMED_PORT`: The `portName` is used for health checking.
19100
+ * `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
19101
+ network endpoint is used for health checking. For other backends, the
19102
+ port or named port specified in the Backend Service is used for health
19103
+ checking.
19104
+ If not specified, TCP health check follows behavior specified in `port` and
19105
+ `portName` fields.
19106
+ Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
18508
19107
  """
18509
19108
  return pulumi.get(self, "port_specification")
18510
19109
 
@@ -22056,17 +22655,22 @@ class RegionSecurityPolicyRuleMatch(dict):
22056
22655
 
22057
22656
  def __init__(__self__, *,
22058
22657
  config: Optional['outputs.RegionSecurityPolicyRuleMatchConfig'] = None,
22658
+ expr: Optional['outputs.RegionSecurityPolicyRuleMatchExpr'] = None,
22059
22659
  versioned_expr: Optional[str] = None):
22060
22660
  """
22061
22661
  :param 'RegionSecurityPolicyRuleMatchConfigArgs' config: The configuration options available when specifying versionedExpr.
22062
22662
  This field must be specified if versionedExpr is specified and cannot be specified if versionedExpr is not specified.
22063
22663
  Structure is documented below.
22664
+ :param 'RegionSecurityPolicyRuleMatchExprArgs' expr: User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header.
22665
+ Structure is documented below.
22064
22666
  :param str versioned_expr: Preconfigured versioned expression. If this field is specified, config must also be specified.
22065
22667
  Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding srcIpRange field in config.
22066
22668
  Possible values are: `SRC_IPS_V1`.
22067
22669
  """
22068
22670
  if config is not None:
22069
22671
  pulumi.set(__self__, "config", config)
22672
+ if expr is not None:
22673
+ pulumi.set(__self__, "expr", expr)
22070
22674
  if versioned_expr is not None:
22071
22675
  pulumi.set(__self__, "versioned_expr", versioned_expr)
22072
22676
 
@@ -22080,6 +22684,15 @@ class RegionSecurityPolicyRuleMatch(dict):
22080
22684
  """
22081
22685
  return pulumi.get(self, "config")
22082
22686
 
22687
+ @property
22688
+ @pulumi.getter
22689
+ def expr(self) -> Optional['outputs.RegionSecurityPolicyRuleMatchExpr']:
22690
+ """
22691
+ User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header.
22692
+ Structure is documented below.
22693
+ """
22694
+ return pulumi.get(self, "expr")
22695
+
22083
22696
  @property
22084
22697
  @pulumi.getter(name="versionedExpr")
22085
22698
  def versioned_expr(self) -> Optional[str]:
@@ -22127,6 +22740,24 @@ class RegionSecurityPolicyRuleMatchConfig(dict):
22127
22740
  return pulumi.get(self, "src_ip_ranges")
22128
22741
 
22129
22742
 
22743
+ @pulumi.output_type
22744
+ class RegionSecurityPolicyRuleMatchExpr(dict):
22745
+ def __init__(__self__, *,
22746
+ expression: str):
22747
+ """
22748
+ :param str expression: Textual representation of an expression in Common Expression Language syntax. The application context of the containing message determines which well-known feature set of CEL is supported.
22749
+ """
22750
+ pulumi.set(__self__, "expression", expression)
22751
+
22752
+ @property
22753
+ @pulumi.getter
22754
+ def expression(self) -> str:
22755
+ """
22756
+ Textual representation of an expression in Common Expression Language syntax. The application context of the containing message determines which well-known feature set of CEL is supported.
22757
+ """
22758
+ return pulumi.get(self, "expression")
22759
+
22760
+
22130
22761
  @pulumi.output_type
22131
22762
  class RegionSecurityPolicyRuleNetworkMatch(dict):
22132
22763
  @staticmethod
@@ -30500,7 +31131,11 @@ class SecurityPolicyAdvancedOptionsConfig(dict):
30500
31131
  :param 'SecurityPolicyAdvancedOptionsConfigJsonCustomConfigArgs' json_custom_config: Custom configuration to apply the JSON parsing. Only applicable when
30501
31132
  `json_parsing` is set to `STANDARD`. Structure is documented below.
30502
31133
  :param str json_parsing: Whether or not to JSON parse the payload body. Defaults to `DISABLED`.
31134
+ * `DISABLED` - Don't parse JSON payloads in POST bodies.
31135
+ * `STANDARD` - Parse JSON payloads in POST bodies.
30503
31136
  :param str log_level: Log level to use. Defaults to `NORMAL`.
31137
+ * `NORMAL` - Normal log level.
31138
+ * `VERBOSE` - Verbose log level.
30504
31139
  :param Sequence[str] user_ip_request_headers: An optional list of case-insensitive request header names to use for resolving the callers client IP address.
30505
31140
  """
30506
31141
  if json_custom_config is not None:
@@ -30526,6 +31161,8 @@ class SecurityPolicyAdvancedOptionsConfig(dict):
30526
31161
  def json_parsing(self) -> Optional[str]:
30527
31162
  """
30528
31163
  Whether or not to JSON parse the payload body. Defaults to `DISABLED`.
31164
+ * `DISABLED` - Don't parse JSON payloads in POST bodies.
31165
+ * `STANDARD` - Parse JSON payloads in POST bodies.
30529
31166
  """
30530
31167
  return pulumi.get(self, "json_parsing")
30531
31168
 
@@ -30534,6 +31171,8 @@ class SecurityPolicyAdvancedOptionsConfig(dict):
30534
31171
  def log_level(self) -> Optional[str]:
30535
31172
  """
30536
31173
  Log level to use. Defaults to `NORMAL`.
31174
+ * `NORMAL` - Normal log level.
31175
+ * `VERBOSE` - Verbose log level.
30537
31176
  """
30538
31177
  return pulumi.get(self, "log_level")
30539
31178
 
@@ -31343,10 +31982,22 @@ class SecurityPolicyRuleRateLimitOptions(dict):
31343
31982
  If specified, the key will be banned for the configured `ban_duration_sec` when the number of requests that exceed the `rate_limit_threshold` also
31344
31983
  exceed this `ban_threshold`. Structure is documented below.
31345
31984
  :param str enforce_on_key: Determines the key to enforce the rate_limit_threshold on. If not specified, defaults to `ALL`.
31985
+
31986
+ * `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
31987
+ * `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
31988
+ * `HTTP_HEADER`: The value of the HTTP header whose name is configured under `enforce_on_key_name`. The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to `ALL`.
31989
+ * `XFF_IP`: The first IP address (i.e. the originating client IP address) specified in the list of IPs under `X-Forwarded-For` HTTP header. If no such header is present or the value is not a valid IP, the key type defaults to `ALL`.
31990
+ * `HTTP_COOKIE`: The value of the HTTP cookie whose name is configured under `enforce_on_key_name`. The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to `ALL`.
31991
+ * `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
31992
+ * `SNI`: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to `ALL` on a HTTP session.
31993
+ * `REGION_CODE`: The country/region from which the request originates.
31346
31994
  :param Sequence['SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs'] enforce_on_key_configs: If specified, any combination of values of enforce_on_key_type/enforce_on_key_name is treated as the key on which rate limit threshold/action is enforced. You can specify up to 3 enforce_on_key_configs. If `enforce_on_key_configs` is specified, `enforce_on_key` must be set to an empty string. Structure is documented below.
31347
31995
 
31348
31996
  **Note:** To avoid the conflict between `enforce_on_key` and `enforce_on_key_configs`, the field `enforce_on_key` needs to be set to an empty string.
31349
31997
  :param str enforce_on_key_name: Rate limit key name applicable only for the following key types:
31998
+
31999
+ * `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
32000
+ * `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
31350
32001
  :param 'SecurityPolicyRuleRateLimitOptionsExceedRedirectOptionsArgs' exceed_redirect_options: Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect.
31351
32002
  """
31352
32003
  pulumi.set(__self__, "conform_action", conform_action)
@@ -31414,6 +32065,15 @@ class SecurityPolicyRuleRateLimitOptions(dict):
31414
32065
  def enforce_on_key(self) -> Optional[str]:
31415
32066
  """
31416
32067
  Determines the key to enforce the rate_limit_threshold on. If not specified, defaults to `ALL`.
32068
+
32069
+ * `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
32070
+ * `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
32071
+ * `HTTP_HEADER`: The value of the HTTP header whose name is configured under `enforce_on_key_name`. The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to `ALL`.
32072
+ * `XFF_IP`: The first IP address (i.e. the originating client IP address) specified in the list of IPs under `X-Forwarded-For` HTTP header. If no such header is present or the value is not a valid IP, the key type defaults to `ALL`.
32073
+ * `HTTP_COOKIE`: The value of the HTTP cookie whose name is configured under `enforce_on_key_name`. The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to `ALL`.
32074
+ * `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
32075
+ * `SNI`: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to `ALL` on a HTTP session.
32076
+ * `REGION_CODE`: The country/region from which the request originates.
31417
32077
  """
31418
32078
  return pulumi.get(self, "enforce_on_key")
31419
32079
 
@@ -31432,6 +32092,9 @@ class SecurityPolicyRuleRateLimitOptions(dict):
31432
32092
  def enforce_on_key_name(self) -> Optional[str]:
31433
32093
  """
31434
32094
  Rate limit key name applicable only for the following key types:
32095
+
32096
+ * `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
32097
+ * `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
31435
32098
  """
31436
32099
  return pulumi.get(self, "enforce_on_key_name")
31437
32100
 
@@ -31516,7 +32179,19 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
31516
32179
  enforce_on_key_type: Optional[str] = None):
31517
32180
  """
31518
32181
  :param str enforce_on_key_name: Rate limit key name applicable only for the following key types:
32182
+
32183
+ * `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
32184
+ * `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
31519
32185
  :param str enforce_on_key_type: Determines the key to enforce the `rate_limit_threshold` on. If not specified, defaults to `ALL`.
32186
+
32187
+ * `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
32188
+ * `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
32189
+ * `HTTP_HEADER`: The value of the HTTP header whose name is configured on `enforce_on_key_name`. The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to `ALL`.
32190
+ * `XFF_IP`: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key type defaults to `ALL`.
32191
+ * `HTTP_COOKIE`: The value of the HTTP cookie whose name is configured under `enforce_on_key_name`. The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to `ALL`.
32192
+ * `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
32193
+ * `SNI`: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to `ALL` on a HTTP session.
32194
+ * `REGION_CODE`: The country/region from which the request originates.
31520
32195
  """
31521
32196
  if enforce_on_key_name is not None:
31522
32197
  pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
@@ -31528,6 +32203,9 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
31528
32203
  def enforce_on_key_name(self) -> Optional[str]:
31529
32204
  """
31530
32205
  Rate limit key name applicable only for the following key types:
32206
+
32207
+ * `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
32208
+ * `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
31531
32209
  """
31532
32210
  return pulumi.get(self, "enforce_on_key_name")
31533
32211
 
@@ -31536,6 +32214,15 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
31536
32214
  def enforce_on_key_type(self) -> Optional[str]:
31537
32215
  """
31538
32216
  Determines the key to enforce the `rate_limit_threshold` on. If not specified, defaults to `ALL`.
32217
+
32218
+ * `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
32219
+ * `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
32220
+ * `HTTP_HEADER`: The value of the HTTP header whose name is configured on `enforce_on_key_name`. The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to `ALL`.
32221
+ * `XFF_IP`: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key type defaults to `ALL`.
32222
+ * `HTTP_COOKIE`: The value of the HTTP cookie whose name is configured under `enforce_on_key_name`. The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to `ALL`.
32223
+ * `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
32224
+ * `SNI`: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to `ALL` on a HTTP session.
32225
+ * `REGION_CODE`: The country/region from which the request originates.
31539
32226
  """
31540
32227
  return pulumi.get(self, "enforce_on_key_type")
31541
32228
 
@@ -31623,6 +32310,9 @@ class SecurityPolicyRuleRedirectOptions(dict):
31623
32310
  target: Optional[str] = None):
31624
32311
  """
31625
32312
  :param str type: Type of redirect action.
32313
+
32314
+ * `EXTERNAL_302`: Redirect to an external address, configured in `target`.
32315
+ * `GOOGLE_RECAPTCHA`: Redirect to Google reCAPTCHA.
31626
32316
  :param str target: External redirection target when `EXTERNAL_302` is set in `type`.
31627
32317
  """
31628
32318
  pulumi.set(__self__, "type", type)
@@ -31634,6 +32324,9 @@ class SecurityPolicyRuleRedirectOptions(dict):
31634
32324
  def type(self) -> str:
31635
32325
  """
31636
32326
  Type of redirect action.
32327
+
32328
+ * `EXTERNAL_302`: Redirect to an external address, configured in `target`.
32329
+ * `GOOGLE_RECAPTCHA`: Redirect to Google reCAPTCHA.
31637
32330
  """
31638
32331
  return pulumi.get(self, "type")
31639
32332
 
@@ -41053,6 +41746,8 @@ class GetForwardingRulesRuleResult(dict):
41053
41746
  For internal forwarding rules within the same VPC network, two or more
41054
41747
  forwarding rules cannot use the same '[IPAddress, IPProtocol]' pair, and
41055
41748
  cannot have overlapping 'portRange's.
41749
+
41750
+ @pattern: \\d+(?:-\\d+)?
41056
41751
  :param Sequence[str] ports: The 'ports', 'portRange', and 'allPorts' fields are mutually exclusive.
41057
41752
  Only packets addressed to ports in the specified range will be forwarded
41058
41753
  to the backends configured with this forwarding rule.
@@ -41073,6 +41768,8 @@ class GetForwardingRulesRuleResult(dict):
41073
41768
  For internal forwarding rules within the same VPC network, two or more
41074
41769
  forwarding rules cannot use the same '[IPAddress, IPProtocol]' pair if
41075
41770
  they share at least one port number.
41771
+
41772
+ @pattern: \\d+(?:-\\d+)?
41076
41773
  :param str project: The name of the project.
41077
41774
  :param str psc_connection_id: The PSC connection id of the PSC Forwarding Rule.
41078
41775
  :param str psc_connection_status: The PSC connection status of the PSC Forwarding Rule. Possible values: 'STATUS_UNSPECIFIED', 'PENDING', 'ACCEPTED', 'REJECTED', 'CLOSED'
@@ -41458,6 +42155,8 @@ class GetForwardingRulesRuleResult(dict):
41458
42155
  For internal forwarding rules within the same VPC network, two or more
41459
42156
  forwarding rules cannot use the same '[IPAddress, IPProtocol]' pair, and
41460
42157
  cannot have overlapping 'portRange's.
42158
+
42159
+ @pattern: \\d+(?:-\\d+)?
41461
42160
  """
41462
42161
  return pulumi.get(self, "port_range")
41463
42162
 
@@ -41485,6 +42184,8 @@ class GetForwardingRulesRuleResult(dict):
41485
42184
  For internal forwarding rules within the same VPC network, two or more
41486
42185
  forwarding rules cannot use the same '[IPAddress, IPProtocol]' pair if
41487
42186
  they share at least one port number.
42187
+
42188
+ @pattern: \\d+(?:-\\d+)?
41488
42189
  """
41489
42190
  return pulumi.get(self, "ports")
41490
42191