pulumi-gcp 7.0.0a1699651384__py3-none-any.whl → 7.1.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (678) hide show
  1. pulumi_gcp/__init__.py +118 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +546 -71
  3. pulumi_gcp/accesscontextmanager/access_level.py +18 -2
  4. pulumi_gcp/accesscontextmanager/access_level_condition.py +57 -3
  5. pulumi_gcp/accesscontextmanager/access_levels.py +18 -2
  6. pulumi_gcp/accesscontextmanager/access_policy.py +18 -2
  7. pulumi_gcp/accesscontextmanager/authorized_orgs_desc.py +18 -2
  8. pulumi_gcp/accesscontextmanager/egress_policy.py +18 -2
  9. pulumi_gcp/accesscontextmanager/gcp_user_access_binding.py +18 -2
  10. pulumi_gcp/accesscontextmanager/ingress_policy.py +18 -2
  11. pulumi_gcp/accesscontextmanager/outputs.py +643 -71
  12. pulumi_gcp/accesscontextmanager/service_perimeter.py +18 -2
  13. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +18 -2
  14. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +18 -2
  15. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +18 -2
  16. pulumi_gcp/accesscontextmanager/service_perimeters.py +18 -2
  17. pulumi_gcp/activedirectory/domain.py +22 -10
  18. pulumi_gcp/activedirectory/domain_trust.py +18 -2
  19. pulumi_gcp/activedirectory/peering.py +4 -8
  20. pulumi_gcp/alloydb/__init__.py +1 -0
  21. pulumi_gcp/alloydb/_inputs.py +93 -0
  22. pulumi_gcp/alloydb/backup.py +22 -10
  23. pulumi_gcp/alloydb/cluster.py +283 -11
  24. pulumi_gcp/alloydb/instance.py +241 -40
  25. pulumi_gcp/alloydb/outputs.py +130 -0
  26. pulumi_gcp/alloydb/user.py +609 -0
  27. pulumi_gcp/apigateway/api.py +22 -10
  28. pulumi_gcp/apigateway/api_config.py +22 -10
  29. pulumi_gcp/apigateway/gateway.py +22 -10
  30. pulumi_gcp/apigee/addons_config.py +18 -2
  31. pulumi_gcp/apigee/endpoint_attachment.py +18 -2
  32. pulumi_gcp/apigee/env_group.py +18 -2
  33. pulumi_gcp/apigee/env_group_attachment.py +18 -2
  34. pulumi_gcp/apigee/env_keystore.py +18 -2
  35. pulumi_gcp/apigee/env_references.py +18 -2
  36. pulumi_gcp/apigee/environment.py +96 -5
  37. pulumi_gcp/apigee/flowhook.py +18 -2
  38. pulumi_gcp/apigee/instance.py +18 -2
  39. pulumi_gcp/apigee/instance_attachment.py +18 -2
  40. pulumi_gcp/apigee/keystores_aliases_key_cert_file.py +18 -2
  41. pulumi_gcp/apigee/keystores_aliases_pkcs12.py +18 -2
  42. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +18 -2
  43. pulumi_gcp/apigee/nat_address.py +18 -2
  44. pulumi_gcp/apigee/organization.py +18 -2
  45. pulumi_gcp/apigee/sharedflow.py +18 -2
  46. pulumi_gcp/apigee/sharedflow_deployment.py +18 -2
  47. pulumi_gcp/apigee/sync_authorization.py +18 -2
  48. pulumi_gcp/apigee/target_server.py +18 -2
  49. pulumi_gcp/appengine/application.py +20 -4
  50. pulumi_gcp/appengine/application_url_dispatch_rules.py +18 -2
  51. pulumi_gcp/appengine/domain_mapping.py +18 -2
  52. pulumi_gcp/appengine/engine_split_traffic.py +18 -2
  53. pulumi_gcp/appengine/firewall_rule.py +18 -2
  54. pulumi_gcp/appengine/flexible_app_version.py +18 -2
  55. pulumi_gcp/appengine/service_network_settings.py +18 -2
  56. pulumi_gcp/appengine/standard_app_version.py +18 -2
  57. pulumi_gcp/artifactregistry/_inputs.py +4 -4
  58. pulumi_gcp/artifactregistry/outputs.py +4 -4
  59. pulumi_gcp/artifactregistry/repository.py +24 -12
  60. pulumi_gcp/artifactregistry/vpcsc_config.py +18 -2
  61. pulumi_gcp/assuredworkloads/_inputs.py +178 -4
  62. pulumi_gcp/assuredworkloads/outputs.py +217 -5
  63. pulumi_gcp/assuredworkloads/workload.py +474 -63
  64. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  65. pulumi_gcp/backupdisasterrecovery/get_management_server.py +152 -0
  66. pulumi_gcp/backupdisasterrecovery/management_server.py +18 -2
  67. pulumi_gcp/backupdisasterrecovery/outputs.py +40 -0
  68. pulumi_gcp/beyondcorp/app_connection.py +22 -10
  69. pulumi_gcp/beyondcorp/app_connector.py +22 -10
  70. pulumi_gcp/beyondcorp/app_gateway.py +22 -10
  71. pulumi_gcp/biglake/catalog.py +18 -2
  72. pulumi_gcp/biglake/database.py +18 -2
  73. pulumi_gcp/biglake/table.py +18 -2
  74. pulumi_gcp/bigquery/__init__.py +1 -0
  75. pulumi_gcp/bigquery/_inputs.py +94 -8
  76. pulumi_gcp/bigquery/app_profile.py +18 -2
  77. pulumi_gcp/bigquery/bi_reservation.py +18 -2
  78. pulumi_gcp/bigquery/capacity_commitment.py +25 -9
  79. pulumi_gcp/bigquery/connection.py +56 -2
  80. pulumi_gcp/bigquery/data_transfer_config.py +18 -2
  81. pulumi_gcp/bigquery/dataset.py +22 -10
  82. pulumi_gcp/bigquery/dataset_iam_binding.py +10 -38
  83. pulumi_gcp/bigquery/dataset_iam_member.py +10 -38
  84. pulumi_gcp/bigquery/dataset_iam_policy.py +10 -38
  85. pulumi_gcp/bigquery/get_dataset.py +315 -0
  86. pulumi_gcp/bigquery/job.py +26 -10
  87. pulumi_gcp/bigquery/outputs.py +275 -9
  88. pulumi_gcp/bigquery/reservation.py +18 -2
  89. pulumi_gcp/bigquery/reservation_assignment.py +18 -2
  90. pulumi_gcp/bigquery/routine.py +18 -2
  91. pulumi_gcp/bigquery/table.py +171 -17
  92. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +18 -2
  93. pulumi_gcp/bigqueryanalyticshub/listing.py +18 -2
  94. pulumi_gcp/bigquerydatapolicy/data_policy.py +18 -2
  95. pulumi_gcp/bigtable/instance.py +30 -10
  96. pulumi_gcp/bigtable/instance_iam_binding.py +12 -20
  97. pulumi_gcp/bigtable/instance_iam_member.py +12 -20
  98. pulumi_gcp/bigtable/instance_iam_policy.py +12 -20
  99. pulumi_gcp/bigtable/table.py +18 -6
  100. pulumi_gcp/bigtable/table_iam_binding.py +12 -20
  101. pulumi_gcp/bigtable/table_iam_member.py +12 -20
  102. pulumi_gcp/bigtable/table_iam_policy.py +12 -20
  103. pulumi_gcp/billing/account_iam_binding.py +12 -20
  104. pulumi_gcp/billing/account_iam_member.py +12 -20
  105. pulumi_gcp/billing/account_iam_policy.py +12 -20
  106. pulumi_gcp/billing/budget.py +18 -2
  107. pulumi_gcp/billing/project_info.py +18 -2
  108. pulumi_gcp/billing/sub_account.py +18 -2
  109. pulumi_gcp/binaryauthorization/attestor.py +18 -2
  110. pulumi_gcp/binaryauthorization/policy.py +18 -2
  111. pulumi_gcp/certificateauthority/authority.py +22 -10
  112. pulumi_gcp/certificateauthority/ca_pool.py +22 -10
  113. pulumi_gcp/certificateauthority/certificate.py +22 -10
  114. pulumi_gcp/certificateauthority/certificate_template.py +22 -10
  115. pulumi_gcp/certificatemanager/certificate.py +223 -31
  116. pulumi_gcp/certificatemanager/certificate_issuance_config.py +22 -10
  117. pulumi_gcp/certificatemanager/certificate_map.py +22 -10
  118. pulumi_gcp/certificatemanager/certificate_map_entry.py +22 -10
  119. pulumi_gcp/certificatemanager/dns_authorization.py +22 -10
  120. pulumi_gcp/certificatemanager/trust_config.py +22 -10
  121. pulumi_gcp/cloudasset/folder_feed.py +18 -2
  122. pulumi_gcp/cloudasset/organization_feed.py +18 -2
  123. pulumi_gcp/cloudasset/project_feed.py +18 -2
  124. pulumi_gcp/cloudbuild/bitbucket_server_config.py +18 -2
  125. pulumi_gcp/cloudbuild/trigger.py +18 -2
  126. pulumi_gcp/cloudbuild/worker_pool.py +18 -2
  127. pulumi_gcp/cloudbuildv2/connection.py +18 -2
  128. pulumi_gcp/cloudbuildv2/repository.py +18 -2
  129. pulumi_gcp/clouddeploy/delivery_pipeline.py +22 -10
  130. pulumi_gcp/clouddeploy/target.py +22 -10
  131. pulumi_gcp/cloudfunctions/function.py +26 -14
  132. pulumi_gcp/cloudfunctions/get_function.py +3 -0
  133. pulumi_gcp/cloudfunctionsv2/function.py +22 -10
  134. pulumi_gcp/cloudidentity/__init__.py +1 -0
  135. pulumi_gcp/cloudidentity/_inputs.py +119 -0
  136. pulumi_gcp/cloudidentity/get_group_lookup.py +128 -0
  137. pulumi_gcp/cloudidentity/group.py +50 -2
  138. pulumi_gcp/cloudidentity/group_membership.py +18 -2
  139. pulumi_gcp/cloudidentity/outputs.py +156 -0
  140. pulumi_gcp/cloudids/endpoint.py +18 -2
  141. pulumi_gcp/cloudrun/_inputs.py +12 -0
  142. pulumi_gcp/cloudrun/domain_mapping.py +18 -2
  143. pulumi_gcp/cloudrun/outputs.py +12 -0
  144. pulumi_gcp/cloudrun/service.py +18 -2
  145. pulumi_gcp/cloudrunv2/__init__.py +2 -0
  146. pulumi_gcp/cloudrunv2/get_job.py +394 -0
  147. pulumi_gcp/cloudrunv2/get_service.py +454 -0
  148. pulumi_gcp/cloudrunv2/job.py +40 -27
  149. pulumi_gcp/cloudrunv2/outputs.py +1687 -0
  150. pulumi_gcp/cloudrunv2/service.py +40 -27
  151. pulumi_gcp/cloudscheduler/job.py +18 -2
  152. pulumi_gcp/cloudtasks/queue.py +18 -2
  153. pulumi_gcp/composer/_inputs.py +17 -0
  154. pulumi_gcp/composer/environment.py +68 -5
  155. pulumi_gcp/composer/get_environment.py +13 -3
  156. pulumi_gcp/composer/outputs.py +26 -0
  157. pulumi_gcp/compute/__init__.py +2 -0
  158. pulumi_gcp/compute/_inputs.py +158 -4
  159. pulumi_gcp/compute/address.py +38 -18
  160. pulumi_gcp/compute/attached_disk.py +18 -2
  161. pulumi_gcp/compute/autoscaler.py +18 -2
  162. pulumi_gcp/compute/backend_bucket.py +18 -2
  163. pulumi_gcp/compute/backend_service.py +32 -16
  164. pulumi_gcp/compute/disk.py +22 -10
  165. pulumi_gcp/compute/disk_resource_policy_attachment.py +18 -2
  166. pulumi_gcp/compute/external_vpn_gateway.py +22 -10
  167. pulumi_gcp/compute/firewall.py +18 -2
  168. pulumi_gcp/compute/firewall_policy_association.py +18 -2
  169. pulumi_gcp/compute/firewall_policy_rule.py +18 -2
  170. pulumi_gcp/compute/forwarding_rule.py +377 -276
  171. pulumi_gcp/compute/get_disk.py +3 -0
  172. pulumi_gcp/compute/get_forwarding_rule.py +11 -1
  173. pulumi_gcp/compute/get_image.py +3 -0
  174. pulumi_gcp/compute/get_network.py +14 -1
  175. pulumi_gcp/compute/get_networks.py +130 -0
  176. pulumi_gcp/compute/get_subnetwork.py +14 -1
  177. pulumi_gcp/compute/global_address.py +18 -2
  178. pulumi_gcp/compute/global_forwarding_rule.py +127 -108
  179. pulumi_gcp/compute/global_network_endpoint.py +18 -2
  180. pulumi_gcp/compute/global_network_endpoint_group.py +18 -2
  181. pulumi_gcp/compute/ha_vpn_gateway.py +18 -2
  182. pulumi_gcp/compute/health_check.py +18 -2
  183. pulumi_gcp/compute/http_health_check.py +18 -2
  184. pulumi_gcp/compute/https_health_check.py +18 -2
  185. pulumi_gcp/compute/image.py +22 -10
  186. pulumi_gcp/compute/instance.py +44 -36
  187. pulumi_gcp/compute/instance_group.py +24 -8
  188. pulumi_gcp/compute/instance_group_manager.py +26 -10
  189. pulumi_gcp/compute/instance_group_named_port.py +18 -2
  190. pulumi_gcp/compute/instance_settings.py +387 -0
  191. pulumi_gcp/compute/instance_template.py +29 -21
  192. pulumi_gcp/compute/interconnect_attachment.py +18 -2
  193. pulumi_gcp/compute/machine_image.py +18 -2
  194. pulumi_gcp/compute/managed_ssl_certificate.py +18 -2
  195. pulumi_gcp/compute/manged_ssl_certificate.py +18 -2
  196. pulumi_gcp/compute/network.py +18 -2
  197. pulumi_gcp/compute/network_attachment.py +156 -2
  198. pulumi_gcp/compute/network_edge_security_service.py +18 -2
  199. pulumi_gcp/compute/network_endpoint.py +18 -2
  200. pulumi_gcp/compute/network_endpoint_group.py +32 -16
  201. pulumi_gcp/compute/network_endpoint_list.py +18 -2
  202. pulumi_gcp/compute/network_firewall_policy.py +18 -2
  203. pulumi_gcp/compute/network_firewall_policy_association.py +18 -2
  204. pulumi_gcp/compute/network_firewall_policy_rule.py +18 -2
  205. pulumi_gcp/compute/network_peering.py +20 -4
  206. pulumi_gcp/compute/network_peering_routes_config.py +18 -2
  207. pulumi_gcp/compute/node_group.py +129 -2
  208. pulumi_gcp/compute/node_template.py +18 -2
  209. pulumi_gcp/compute/organization_security_policy.py +18 -2
  210. pulumi_gcp/compute/organization_security_policy_association.py +18 -2
  211. pulumi_gcp/compute/organization_security_policy_rule.py +18 -2
  212. pulumi_gcp/compute/outputs.py +230 -7
  213. pulumi_gcp/compute/packet_mirroring.py +18 -2
  214. pulumi_gcp/compute/per_instance_config.py +18 -2
  215. pulumi_gcp/compute/project_default_network_tier.py +20 -4
  216. pulumi_gcp/compute/project_metadata.py +20 -4
  217. pulumi_gcp/compute/project_metadata_item.py +20 -4
  218. pulumi_gcp/compute/public_advertised_prefix.py +18 -2
  219. pulumi_gcp/compute/public_delegated_prefix.py +18 -2
  220. pulumi_gcp/compute/region_autoscaler.py +18 -2
  221. pulumi_gcp/compute/region_backend_service.py +18 -2
  222. pulumi_gcp/compute/region_commitment.py +18 -2
  223. pulumi_gcp/compute/region_disk.py +22 -10
  224. pulumi_gcp/compute/region_disk_resource_policy_attachment.py +18 -2
  225. pulumi_gcp/compute/region_health_check.py +18 -2
  226. pulumi_gcp/compute/region_instance_group_manager.py +20 -4
  227. pulumi_gcp/compute/region_instance_template.py +29 -21
  228. pulumi_gcp/compute/region_network_endpoint_group.py +18 -2
  229. pulumi_gcp/compute/region_network_firewall_policy.py +18 -2
  230. pulumi_gcp/compute/region_network_firewall_policy_association.py +18 -2
  231. pulumi_gcp/compute/region_network_firewall_policy_rule.py +18 -2
  232. pulumi_gcp/compute/region_per_instance_config.py +18 -2
  233. pulumi_gcp/compute/region_security_policy.py +18 -2
  234. pulumi_gcp/compute/region_security_policy_rule.py +18 -2
  235. pulumi_gcp/compute/region_ssl_certificate.py +18 -2
  236. pulumi_gcp/compute/region_ssl_policy.py +18 -2
  237. pulumi_gcp/compute/region_target_http_proxy.py +18 -2
  238. pulumi_gcp/compute/region_target_https_proxy.py +18 -2
  239. pulumi_gcp/compute/region_target_tcp_proxy.py +18 -2
  240. pulumi_gcp/compute/region_url_map.py +18 -2
  241. pulumi_gcp/compute/reservation.py +18 -2
  242. pulumi_gcp/compute/resource_policy.py +18 -2
  243. pulumi_gcp/compute/route.py +18 -2
  244. pulumi_gcp/compute/router.py +18 -2
  245. pulumi_gcp/compute/router_interface.py +22 -6
  246. pulumi_gcp/compute/router_nat.py +18 -2
  247. pulumi_gcp/compute/router_peer.py +18 -2
  248. pulumi_gcp/compute/security_policy.py +52 -4
  249. pulumi_gcp/compute/security_scan_config.py +18 -2
  250. pulumi_gcp/compute/service_attachment.py +18 -2
  251. pulumi_gcp/compute/shared_vpc_host_project.py +20 -4
  252. pulumi_gcp/compute/shared_vpc_service_project.py +20 -4
  253. pulumi_gcp/compute/snapshot.py +22 -10
  254. pulumi_gcp/compute/ssl_certificate.py +18 -2
  255. pulumi_gcp/compute/ssl_policy.py +18 -2
  256. pulumi_gcp/compute/subnetwork.py +109 -2
  257. pulumi_gcp/compute/target_grpc_proxy.py +18 -2
  258. pulumi_gcp/compute/target_http_proxy.py +18 -2
  259. pulumi_gcp/compute/target_https_proxy.py +181 -16
  260. pulumi_gcp/compute/target_instance.py +18 -2
  261. pulumi_gcp/compute/target_pool.py +18 -2
  262. pulumi_gcp/compute/target_ssl_proxy.py +18 -2
  263. pulumi_gcp/compute/target_tcp_proxy.py +18 -2
  264. pulumi_gcp/compute/url_map.py +18 -2
  265. pulumi_gcp/compute/vpn_gateway.py +18 -2
  266. pulumi_gcp/compute/vpn_tunnel.py +18 -2
  267. pulumi_gcp/config/vars.py +12 -0
  268. pulumi_gcp/container/_inputs.py +299 -54
  269. pulumi_gcp/container/attached_cluster.py +18 -2
  270. pulumi_gcp/container/aws_cluster.py +24 -2
  271. pulumi_gcp/container/aws_node_pool.py +18 -2
  272. pulumi_gcp/container/azure_client.py +18 -2
  273. pulumi_gcp/container/azure_cluster.py +24 -2
  274. pulumi_gcp/container/azure_node_pool.py +18 -2
  275. pulumi_gcp/container/cluster.py +92 -29
  276. pulumi_gcp/container/get_cluster.py +11 -1
  277. pulumi_gcp/container/node_pool.py +22 -6
  278. pulumi_gcp/container/outputs.py +384 -52
  279. pulumi_gcp/containeranalysis/note.py +18 -2
  280. pulumi_gcp/containeranalysis/occurence.py +18 -2
  281. pulumi_gcp/databasemigrationservice/__init__.py +1 -0
  282. pulumi_gcp/databasemigrationservice/_inputs.py +465 -0
  283. pulumi_gcp/databasemigrationservice/connection_profile.py +122 -12
  284. pulumi_gcp/databasemigrationservice/outputs.py +466 -0
  285. pulumi_gcp/databasemigrationservice/private_connection.py +672 -0
  286. pulumi_gcp/datacatalog/entry.py +18 -2
  287. pulumi_gcp/datacatalog/entry_group.py +18 -2
  288. pulumi_gcp/datacatalog/policy_tag.py +18 -2
  289. pulumi_gcp/datacatalog/tag.py +18 -2
  290. pulumi_gcp/datacatalog/tag_template.py +18 -2
  291. pulumi_gcp/datacatalog/taxonomy.py +18 -2
  292. pulumi_gcp/dataflow/job.py +24 -12
  293. pulumi_gcp/dataflow/pipeline.py +18 -2
  294. pulumi_gcp/dataform/_inputs.py +78 -21
  295. pulumi_gcp/dataform/outputs.py +86 -20
  296. pulumi_gcp/dataform/repository.py +140 -9
  297. pulumi_gcp/dataform/repository_release_config.py +18 -2
  298. pulumi_gcp/dataform/repository_workflow_config.py +20 -4
  299. pulumi_gcp/datafusion/instance.py +22 -10
  300. pulumi_gcp/dataloss/prevention_deidentify_template.py +18 -2
  301. pulumi_gcp/dataloss/prevention_inspect_template.py +18 -2
  302. pulumi_gcp/dataloss/prevention_job_trigger.py +18 -2
  303. pulumi_gcp/dataloss/prevention_stored_info_type.py +18 -2
  304. pulumi_gcp/dataplex/asset.py +22 -10
  305. pulumi_gcp/dataplex/datascan.py +22 -10
  306. pulumi_gcp/dataplex/lake.py +22 -10
  307. pulumi_gcp/dataplex/task.py +22 -10
  308. pulumi_gcp/dataplex/zone.py +22 -10
  309. pulumi_gcp/dataproc/_inputs.py +148 -0
  310. pulumi_gcp/dataproc/autoscaling_policy.py +18 -2
  311. pulumi_gcp/dataproc/cluster.py +2 -2
  312. pulumi_gcp/dataproc/cluster_iam_binding.py +12 -20
  313. pulumi_gcp/dataproc/cluster_iam_member.py +12 -20
  314. pulumi_gcp/dataproc/cluster_iam_policy.py +12 -20
  315. pulumi_gcp/dataproc/job.py +20 -8
  316. pulumi_gcp/dataproc/job_iam_binding.py +12 -20
  317. pulumi_gcp/dataproc/job_iam_member.py +12 -20
  318. pulumi_gcp/dataproc/job_iam_policy.py +12 -20
  319. pulumi_gcp/dataproc/metastore_federation.py +22 -10
  320. pulumi_gcp/dataproc/metastore_service.py +22 -10
  321. pulumi_gcp/dataproc/outputs.py +175 -0
  322. pulumi_gcp/dataproc/workflow_template.py +18 -2
  323. pulumi_gcp/datastore/data_store_index.py +18 -2
  324. pulumi_gcp/datastream/connection_profile.py +22 -10
  325. pulumi_gcp/datastream/private_connection.py +22 -10
  326. pulumi_gcp/datastream/stream.py +22 -10
  327. pulumi_gcp/deploymentmanager/deployment.py +18 -2
  328. pulumi_gcp/diagflow/_inputs.py +626 -4
  329. pulumi_gcp/diagflow/agent.py +18 -2
  330. pulumi_gcp/diagflow/cx_agent.py +288 -21
  331. pulumi_gcp/diagflow/cx_entity_type.py +18 -2
  332. pulumi_gcp/diagflow/cx_environment.py +18 -2
  333. pulumi_gcp/diagflow/cx_flow.py +309 -4
  334. pulumi_gcp/diagflow/cx_intent.py +165 -10
  335. pulumi_gcp/diagflow/cx_page.py +109 -4
  336. pulumi_gcp/diagflow/cx_security_settings.py +18 -2
  337. pulumi_gcp/diagflow/cx_test_case.py +18 -2
  338. pulumi_gcp/diagflow/cx_version.py +18 -2
  339. pulumi_gcp/diagflow/cx_webhook.py +18 -2
  340. pulumi_gcp/diagflow/entity_type.py +18 -2
  341. pulumi_gcp/diagflow/fulfillment.py +18 -2
  342. pulumi_gcp/diagflow/intent.py +18 -2
  343. pulumi_gcp/diagflow/outputs.py +722 -5
  344. pulumi_gcp/dns/get_keys.py +16 -2
  345. pulumi_gcp/dns/managed_zone.py +22 -10
  346. pulumi_gcp/dns/policy.py +18 -2
  347. pulumi_gcp/dns/record_set.py +24 -8
  348. pulumi_gcp/dns/response_policy.py +18 -2
  349. pulumi_gcp/dns/response_policy_rule.py +18 -2
  350. pulumi_gcp/edgecontainer/__init__.py +12 -0
  351. pulumi_gcp/edgecontainer/_inputs.py +1171 -0
  352. pulumi_gcp/edgecontainer/cluster.py +1539 -0
  353. pulumi_gcp/edgecontainer/node_pool.py +1062 -0
  354. pulumi_gcp/edgecontainer/outputs.py +1204 -0
  355. pulumi_gcp/edgecontainer/vpn_connection.py +918 -0
  356. pulumi_gcp/edgenetwork/network.py +18 -2
  357. pulumi_gcp/edgenetwork/subnet.py +18 -2
  358. pulumi_gcp/essentialcontacts/contact.py +18 -2
  359. pulumi_gcp/essentialcontacts/document_ai_processor.py +18 -2
  360. pulumi_gcp/essentialcontacts/document_ai_processor_default_version.py +18 -2
  361. pulumi_gcp/essentialcontacts/document_ai_warehouse_document_schema.py +18 -2
  362. pulumi_gcp/eventarc/channel.py +18 -2
  363. pulumi_gcp/eventarc/google_channel_config.py +18 -2
  364. pulumi_gcp/eventarc/trigger.py +22 -10
  365. pulumi_gcp/filestore/backup.py +22 -10
  366. pulumi_gcp/filestore/instance.py +22 -10
  367. pulumi_gcp/filestore/snapshot.py +22 -10
  368. pulumi_gcp/firebase/__init__.py +1 -0
  369. pulumi_gcp/firebase/_inputs.py +878 -0
  370. pulumi_gcp/firebase/android_app.py +18 -2
  371. pulumi_gcp/firebase/apple_app.py +18 -2
  372. pulumi_gcp/firebase/database_instance.py +18 -2
  373. pulumi_gcp/firebase/extensions_instance.py +18 -2
  374. pulumi_gcp/firebase/hosting_channel.py +22 -10
  375. pulumi_gcp/firebase/hosting_custom_domain.py +1274 -0
  376. pulumi_gcp/firebase/hosting_release.py +18 -2
  377. pulumi_gcp/firebase/hosting_site.py +18 -2
  378. pulumi_gcp/firebase/hosting_version.py +18 -2
  379. pulumi_gcp/firebase/outputs.py +905 -0
  380. pulumi_gcp/firebase/project.py +18 -2
  381. pulumi_gcp/firebase/storage_bucket.py +18 -2
  382. pulumi_gcp/firebase/web_app.py +18 -2
  383. pulumi_gcp/firebaserules/release.py +18 -2
  384. pulumi_gcp/firebaserules/ruleset.py +18 -2
  385. pulumi_gcp/firestore/__init__.py +1 -0
  386. pulumi_gcp/firestore/_inputs.py +35 -2
  387. pulumi_gcp/firestore/backup_schedule.py +547 -0
  388. pulumi_gcp/firestore/database.py +24 -4
  389. pulumi_gcp/firestore/document.py +22 -2
  390. pulumi_gcp/firestore/field.py +27 -13
  391. pulumi_gcp/firestore/index.py +140 -21
  392. pulumi_gcp/firestore/outputs.py +31 -2
  393. pulumi_gcp/folder/access_approval_settings.py +18 -2
  394. pulumi_gcp/folder/iam_audit_config.py +10 -58
  395. pulumi_gcp/folder/iam_member.py +10 -58
  396. pulumi_gcp/folder/iam_policy.py +10 -58
  397. pulumi_gcp/folder/organization_policy.py +22 -6
  398. pulumi_gcp/gkebackup/backup_plan.py +22 -10
  399. pulumi_gcp/gkebackup/restore_plan.py +22 -10
  400. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +18 -2
  401. pulumi_gcp/gkebackup/restore_plan_iam_member.py +18 -2
  402. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +18 -2
  403. pulumi_gcp/gkehub/__init__.py +1 -0
  404. pulumi_gcp/gkehub/_inputs.py +431 -0
  405. pulumi_gcp/gkehub/feature.py +76 -10
  406. pulumi_gcp/gkehub/feature_membership.py +22 -2
  407. pulumi_gcp/gkehub/fleet.py +432 -0
  408. pulumi_gcp/gkehub/get_membership_iam_policy.py +24 -3
  409. pulumi_gcp/gkehub/membership.py +120 -16
  410. pulumi_gcp/gkehub/membership_binding.py +22 -10
  411. pulumi_gcp/gkehub/membership_iam_binding.py +67 -0
  412. pulumi_gcp/gkehub/membership_iam_member.py +67 -0
  413. pulumi_gcp/gkehub/membership_iam_policy.py +67 -0
  414. pulumi_gcp/gkehub/membership_rbac_role_binding.py +18 -2
  415. pulumi_gcp/gkehub/namespace.py +22 -10
  416. pulumi_gcp/gkehub/outputs.py +432 -1
  417. pulumi_gcp/gkehub/scope.py +22 -10
  418. pulumi_gcp/gkehub/scope_rbac_role_binding.py +22 -10
  419. pulumi_gcp/gkeonprem/_inputs.py +17 -31
  420. pulumi_gcp/gkeonprem/bare_metal_admin_cluster.py +148 -132
  421. pulumi_gcp/gkeonprem/bare_metal_cluster.py +260 -246
  422. pulumi_gcp/gkeonprem/bare_metal_node_pool.py +30 -18
  423. pulumi_gcp/gkeonprem/outputs.py +17 -31
  424. pulumi_gcp/gkeonprem/v_mware_cluster.py +287 -230
  425. pulumi_gcp/gkeonprem/v_mware_node_pool.py +30 -18
  426. pulumi_gcp/healthcare/consent_store.py +22 -10
  427. pulumi_gcp/healthcare/dataset.py +18 -2
  428. pulumi_gcp/healthcare/dataset_iam_binding.py +10 -38
  429. pulumi_gcp/healthcare/dataset_iam_member.py +10 -38
  430. pulumi_gcp/healthcare/dataset_iam_policy.py +10 -38
  431. pulumi_gcp/healthcare/dicom_store.py +22 -10
  432. pulumi_gcp/healthcare/dicom_store_iam_binding.py +10 -30
  433. pulumi_gcp/healthcare/dicom_store_iam_member.py +10 -30
  434. pulumi_gcp/healthcare/dicom_store_iam_policy.py +10 -30
  435. pulumi_gcp/healthcare/fhir_store.py +22 -10
  436. pulumi_gcp/healthcare/fhir_store_iam_binding.py +10 -30
  437. pulumi_gcp/healthcare/fhir_store_iam_member.py +10 -30
  438. pulumi_gcp/healthcare/fhir_store_iam_policy.py +10 -30
  439. pulumi_gcp/healthcare/hl7_store.py +22 -10
  440. pulumi_gcp/healthcare/hl7_store_iam_binding.py +10 -30
  441. pulumi_gcp/healthcare/hl7_store_iam_member.py +10 -30
  442. pulumi_gcp/healthcare/hl7_store_iam_policy.py +10 -30
  443. pulumi_gcp/iam/_inputs.py +20 -0
  444. pulumi_gcp/iam/access_boundary_policy.py +18 -2
  445. pulumi_gcp/iam/deny_policy.py +18 -2
  446. pulumi_gcp/iam/outputs.py +20 -0
  447. pulumi_gcp/iam/workforce_pool.py +18 -2
  448. pulumi_gcp/iam/workforce_pool_provider.py +18 -2
  449. pulumi_gcp/iam/workload_identity_pool.py +18 -2
  450. pulumi_gcp/iam/workload_identity_pool_provider.py +18 -2
  451. pulumi_gcp/iap/brand.py +18 -2
  452. pulumi_gcp/iap/client.py +18 -2
  453. pulumi_gcp/identityplatform/_inputs.py +92 -0
  454. pulumi_gcp/identityplatform/config.py +91 -5
  455. pulumi_gcp/identityplatform/default_supported_idp_config.py +18 -2
  456. pulumi_gcp/identityplatform/inbound_saml_config.py +18 -2
  457. pulumi_gcp/identityplatform/oauth_idp_config.py +18 -2
  458. pulumi_gcp/identityplatform/outputs.py +129 -0
  459. pulumi_gcp/identityplatform/project_default_config.py +18 -2
  460. pulumi_gcp/identityplatform/tenant.py +18 -2
  461. pulumi_gcp/identityplatform/tenant_default_supported_idp_config.py +18 -2
  462. pulumi_gcp/identityplatform/tenant_inbound_saml_config.py +18 -2
  463. pulumi_gcp/identityplatform/tenant_oauth_idp_config.py +18 -2
  464. pulumi_gcp/integrationconnectors/__init__.py +10 -0
  465. pulumi_gcp/integrationconnectors/_inputs.py +2518 -0
  466. pulumi_gcp/integrationconnectors/connection.py +1921 -0
  467. pulumi_gcp/integrationconnectors/outputs.py +2780 -0
  468. pulumi_gcp/kms/crypto_key.py +22 -10
  469. pulumi_gcp/kms/crypto_key_iam_binding.py +10 -30
  470. pulumi_gcp/kms/crypto_key_iam_member.py +10 -30
  471. pulumi_gcp/kms/crypto_key_iam_policy.py +10 -30
  472. pulumi_gcp/kms/crypto_key_version.py +18 -2
  473. pulumi_gcp/kms/key_ring.py +18 -2
  474. pulumi_gcp/kms/key_ring_iam_binding.py +10 -30
  475. pulumi_gcp/kms/key_ring_iam_member.py +10 -30
  476. pulumi_gcp/kms/key_ring_iam_policy.py +10 -30
  477. pulumi_gcp/kms/key_ring_import_job.py +18 -2
  478. pulumi_gcp/logging/_inputs.py +160 -0
  479. pulumi_gcp/logging/billing_account_bucket_config.py +61 -26
  480. pulumi_gcp/logging/billing_account_exclusion.py +20 -4
  481. pulumi_gcp/logging/billing_account_sink.py +20 -4
  482. pulumi_gcp/logging/folder_bucket_config.py +75 -4
  483. pulumi_gcp/logging/folder_exclusion.py +20 -4
  484. pulumi_gcp/logging/folder_sink.py +20 -4
  485. pulumi_gcp/logging/linked_dataset.py +18 -2
  486. pulumi_gcp/logging/log_view.py +18 -2
  487. pulumi_gcp/logging/metric.py +18 -2
  488. pulumi_gcp/logging/organization_bucket_config.py +75 -4
  489. pulumi_gcp/logging/organization_exclusion.py +20 -4
  490. pulumi_gcp/logging/organization_sink.py +20 -4
  491. pulumi_gcp/logging/outputs.py +196 -0
  492. pulumi_gcp/logging/project_bucket_config.py +59 -134
  493. pulumi_gcp/logging/project_exclusion.py +20 -4
  494. pulumi_gcp/logging/project_sink.py +95 -18
  495. pulumi_gcp/looker/instance.py +18 -2
  496. pulumi_gcp/memcache/instance.py +22 -10
  497. pulumi_gcp/ml/engine_model.py +22 -10
  498. pulumi_gcp/monitoring/_inputs.py +127 -13
  499. pulumi_gcp/monitoring/alert_policy.py +64 -2
  500. pulumi_gcp/monitoring/custom_service.py +18 -2
  501. pulumi_gcp/monitoring/dashboard.py +18 -2
  502. pulumi_gcp/monitoring/generic_service.py +18 -2
  503. pulumi_gcp/monitoring/group.py +18 -2
  504. pulumi_gcp/monitoring/metric_descriptor.py +18 -2
  505. pulumi_gcp/monitoring/monitored_project.py +18 -2
  506. pulumi_gcp/monitoring/notification_channel.py +18 -2
  507. pulumi_gcp/monitoring/outputs.py +158 -13
  508. pulumi_gcp/monitoring/slo.py +18 -2
  509. pulumi_gcp/monitoring/uptime_check_config.py +92 -9
  510. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  511. pulumi_gcp/networkconnectivity/_inputs.py +185 -0
  512. pulumi_gcp/networkconnectivity/hub.py +22 -10
  513. pulumi_gcp/networkconnectivity/outputs.py +189 -0
  514. pulumi_gcp/networkconnectivity/policy_based_route.py +1003 -0
  515. pulumi_gcp/networkconnectivity/service_connection_policy.py +22 -10
  516. pulumi_gcp/networkconnectivity/spoke.py +22 -10
  517. pulumi_gcp/networkmanagement/connectivity_test.py +22 -10
  518. pulumi_gcp/networksecurity/address_group.py +22 -10
  519. pulumi_gcp/networksecurity/authorization_policy.py +22 -10
  520. pulumi_gcp/networksecurity/client_tls_policy.py +22 -10
  521. pulumi_gcp/networksecurity/gateway_security_policy.py +18 -2
  522. pulumi_gcp/networksecurity/gateway_security_policy_rule.py +18 -2
  523. pulumi_gcp/networksecurity/server_tls_policy.py +92 -10
  524. pulumi_gcp/networksecurity/tls_inspection_policy.py +18 -2
  525. pulumi_gcp/networksecurity/url_list.py +18 -2
  526. pulumi_gcp/networkservices/edge_cache_keyset.py +22 -10
  527. pulumi_gcp/networkservices/edge_cache_origin.py +22 -10
  528. pulumi_gcp/networkservices/edge_cache_service.py +22 -10
  529. pulumi_gcp/networkservices/endpoint_policy.py +22 -10
  530. pulumi_gcp/networkservices/gateway.py +22 -10
  531. pulumi_gcp/networkservices/grpc_route.py +22 -10
  532. pulumi_gcp/networkservices/http_route.py +22 -10
  533. pulumi_gcp/networkservices/mesh.py +22 -10
  534. pulumi_gcp/networkservices/service_binding.py +22 -10
  535. pulumi_gcp/networkservices/tcp_route.py +22 -10
  536. pulumi_gcp/networkservices/tls_route.py +18 -2
  537. pulumi_gcp/notebooks/environment.py +18 -2
  538. pulumi_gcp/notebooks/instance.py +22 -10
  539. pulumi_gcp/notebooks/location.py +18 -2
  540. pulumi_gcp/notebooks/runtime.py +18 -2
  541. pulumi_gcp/organizations/access_approval_settings.py +18 -2
  542. pulumi_gcp/organizations/folder.py +22 -6
  543. pulumi_gcp/organizations/iam_member.py +10 -58
  544. pulumi_gcp/organizations/iam_policy.py +10 -58
  545. pulumi_gcp/organizations/policy.py +22 -4
  546. pulumi_gcp/organizations/project.py +24 -12
  547. pulumi_gcp/orgpolicy/custom_constraint.py +50 -22
  548. pulumi_gcp/orgpolicy/policy.py +18 -2
  549. pulumi_gcp/osconfig/guest_policies.py +18 -2
  550. pulumi_gcp/osconfig/os_policy_assignment.py +18 -2
  551. pulumi_gcp/osconfig/patch_deployment.py +18 -2
  552. pulumi_gcp/oslogin/ssh_public_key.py +18 -2
  553. pulumi_gcp/projects/access_approval_settings.py +18 -2
  554. pulumi_gcp/projects/api_key.py +18 -2
  555. pulumi_gcp/projects/iam_audit_config.py +10 -58
  556. pulumi_gcp/projects/iam_binding.py +10 -58
  557. pulumi_gcp/projects/iam_custom_role.py +18 -2
  558. pulumi_gcp/projects/iam_member.py +10 -58
  559. pulumi_gcp/projects/iam_policy.py +10 -58
  560. pulumi_gcp/projects/organization_policy.py +24 -8
  561. pulumi_gcp/projects/service.py +22 -4
  562. pulumi_gcp/projects/usage_export_bucket.py +20 -4
  563. pulumi_gcp/provider.py +60 -0
  564. pulumi_gcp/pubsub/__init__.py +4 -0
  565. pulumi_gcp/pubsub/_inputs.py +80 -0
  566. pulumi_gcp/pubsub/get_schema_iam_policy.py +147 -0
  567. pulumi_gcp/pubsub/lite_reservation.py +18 -2
  568. pulumi_gcp/pubsub/lite_subscription.py +18 -2
  569. pulumi_gcp/pubsub/lite_topic.py +18 -2
  570. pulumi_gcp/pubsub/outputs.py +56 -0
  571. pulumi_gcp/pubsub/schema.py +18 -2
  572. pulumi_gcp/pubsub/schema_iam_binding.py +601 -0
  573. pulumi_gcp/pubsub/schema_iam_member.py +601 -0
  574. pulumi_gcp/pubsub/schema_iam_policy.py +523 -0
  575. pulumi_gcp/pubsub/subscription.py +22 -10
  576. pulumi_gcp/pubsub/subscription_iam_binding.py +12 -20
  577. pulumi_gcp/pubsub/subscription_iam_member.py +12 -20
  578. pulumi_gcp/pubsub/subscription_iam_policy.py +12 -20
  579. pulumi_gcp/pubsub/topic.py +36 -17
  580. pulumi_gcp/recaptcha/enterprise_key.py +22 -10
  581. pulumi_gcp/redis/cluster.py +42 -18
  582. pulumi_gcp/redis/instance.py +22 -58
  583. pulumi_gcp/resourcemanager/lien.py +18 -2
  584. pulumi_gcp/runtimeconfig/config.py +26 -6
  585. pulumi_gcp/runtimeconfig/variable.py +26 -6
  586. pulumi_gcp/secretmanager/__init__.py +1 -0
  587. pulumi_gcp/secretmanager/get_secrets.py +133 -0
  588. pulumi_gcp/secretmanager/outputs.py +354 -0
  589. pulumi_gcp/secretmanager/secret.py +36 -10
  590. pulumi_gcp/secretmanager/secret_version.py +18 -2
  591. pulumi_gcp/securitycenter/folder_custom_module.py +18 -2
  592. pulumi_gcp/securitycenter/instance_iam_binding.py +18 -2
  593. pulumi_gcp/securitycenter/instance_iam_member.py +18 -2
  594. pulumi_gcp/securitycenter/instance_iam_policy.py +18 -2
  595. pulumi_gcp/securitycenter/mute_config.py +18 -2
  596. pulumi_gcp/securitycenter/notification_config.py +18 -2
  597. pulumi_gcp/securitycenter/organization_custom_module.py +18 -2
  598. pulumi_gcp/securitycenter/project_custom_module.py +18 -2
  599. pulumi_gcp/securitycenter/source.py +18 -2
  600. pulumi_gcp/securitycenter/source_iam_binding.py +18 -2
  601. pulumi_gcp/securitycenter/source_iam_member.py +18 -2
  602. pulumi_gcp/securitycenter/source_iam_policy.py +18 -2
  603. pulumi_gcp/serviceaccount/account.py +20 -4
  604. pulumi_gcp/serviceaccount/iam_binding.py +2 -30
  605. pulumi_gcp/serviceaccount/iam_member.py +2 -30
  606. pulumi_gcp/serviceaccount/iam_policy.py +2 -30
  607. pulumi_gcp/servicedirectory/endpoint.py +18 -2
  608. pulumi_gcp/servicedirectory/namespace.py +22 -10
  609. pulumi_gcp/servicedirectory/service.py +18 -2
  610. pulumi_gcp/servicenetworking/connection.py +22 -6
  611. pulumi_gcp/servicenetworking/peered_dns_domain.py +18 -6
  612. pulumi_gcp/serviceusage/consumer_quota_override.py +18 -2
  613. pulumi_gcp/sourcerepo/repository.py +18 -2
  614. pulumi_gcp/spanner/_inputs.py +142 -0
  615. pulumi_gcp/spanner/database.py +18 -2
  616. pulumi_gcp/spanner/database_iam_binding.py +10 -26
  617. pulumi_gcp/spanner/database_iam_member.py +10 -26
  618. pulumi_gcp/spanner/database_iam_policy.py +10 -26
  619. pulumi_gcp/spanner/get_instance.py +12 -1
  620. pulumi_gcp/spanner/instance.py +99 -10
  621. pulumi_gcp/spanner/instance_iam_binding.py +10 -26
  622. pulumi_gcp/spanner/instance_iam_member.py +10 -26
  623. pulumi_gcp/spanner/instance_iam_policy.py +10 -26
  624. pulumi_gcp/spanner/outputs.py +236 -0
  625. pulumi_gcp/sql/_inputs.py +27 -7
  626. pulumi_gcp/sql/database.py +18 -2
  627. pulumi_gcp/sql/database_instance.py +24 -8
  628. pulumi_gcp/sql/outputs.py +41 -9
  629. pulumi_gcp/sql/source_representation_instance.py +25 -9
  630. pulumi_gcp/sql/user.py +38 -8
  631. pulumi_gcp/storage/_inputs.py +59 -1
  632. pulumi_gcp/storage/bucket.py +69 -6
  633. pulumi_gcp/storage/bucket_access_control.py +18 -2
  634. pulumi_gcp/storage/bucket_object.py +47 -0
  635. pulumi_gcp/storage/default_object_access_control.py +18 -2
  636. pulumi_gcp/storage/get_bucket.py +11 -1
  637. pulumi_gcp/storage/get_bucket_object.py +11 -1
  638. pulumi_gcp/storage/get_bucket_object_content.py +11 -1
  639. pulumi_gcp/storage/hmac_key.py +18 -2
  640. pulumi_gcp/storage/insights_report_config.py +18 -2
  641. pulumi_gcp/storage/notification.py +20 -4
  642. pulumi_gcp/storage/object_access_control.py +18 -2
  643. pulumi_gcp/storage/outputs.py +129 -2
  644. pulumi_gcp/storage/transfer_agent_pool.py +18 -2
  645. pulumi_gcp/storage/transfer_job.py +20 -4
  646. pulumi_gcp/tags/location_tag_binding.py +35 -19
  647. pulumi_gcp/tags/tag_binding.py +18 -2
  648. pulumi_gcp/tags/tag_key.py +18 -2
  649. pulumi_gcp/tags/tag_value.py +18 -2
  650. pulumi_gcp/tpu/_inputs.py +450 -0
  651. pulumi_gcp/tpu/node.py +22 -10
  652. pulumi_gcp/tpu/outputs.py +477 -0
  653. pulumi_gcp/tpu/v2_vm.py +906 -38
  654. pulumi_gcp/vertex/_inputs.py +39 -0
  655. pulumi_gcp/vertex/ai_dataset.py +4 -8
  656. pulumi_gcp/vertex/ai_endpoint.py +22 -10
  657. pulumi_gcp/vertex/ai_feature_store.py +22 -10
  658. pulumi_gcp/vertex/ai_feature_store_entity_type.py +22 -10
  659. pulumi_gcp/vertex/ai_feature_store_entity_type_feature.py +22 -10
  660. pulumi_gcp/vertex/ai_index.py +22 -10
  661. pulumi_gcp/vertex/ai_index_endpoint.py +116 -10
  662. pulumi_gcp/vertex/ai_metadata_store.py +18 -2
  663. pulumi_gcp/vertex/ai_tensorboard.py +22 -10
  664. pulumi_gcp/vertex/outputs.py +50 -0
  665. pulumi_gcp/vmwareengine/cluster.py +18 -2
  666. pulumi_gcp/vmwareengine/network.py +18 -2
  667. pulumi_gcp/vmwareengine/private_cloud.py +18 -2
  668. pulumi_gcp/vpcaccess/connector.py +18 -2
  669. pulumi_gcp/workflows/workflow.py +159 -11
  670. pulumi_gcp/workstations/_inputs.py +23 -0
  671. pulumi_gcp/workstations/outputs.py +19 -0
  672. pulumi_gcp/workstations/workstation.py +22 -10
  673. pulumi_gcp/workstations/workstation_cluster.py +142 -10
  674. pulumi_gcp/workstations/workstation_config.py +24 -12
  675. {pulumi_gcp-7.0.0a1699651384.dist-info → pulumi_gcp-7.1.0.dist-info}/METADATA +1 -1
  676. {pulumi_gcp-7.0.0a1699651384.dist-info → pulumi_gcp-7.1.0.dist-info}/RECORD +678 -650
  677. {pulumi_gcp-7.0.0a1699651384.dist-info → pulumi_gcp-7.1.0.dist-info}/WHEEL +0 -0
  678. {pulumi_gcp-7.0.0a1699651384.dist-info → pulumi_gcp-7.1.0.dist-info}/top_level.txt +0 -0
@@ -15,8 +15,12 @@ __all__ = [
15
15
  'AccessLevelBasicCondition',
16
16
  'AccessLevelBasicConditionDevicePolicy',
17
17
  'AccessLevelBasicConditionDevicePolicyOsConstraint',
18
+ 'AccessLevelBasicConditionVpcNetworkSource',
19
+ 'AccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork',
18
20
  'AccessLevelConditionDevicePolicy',
19
21
  'AccessLevelConditionDevicePolicyOsConstraint',
22
+ 'AccessLevelConditionVpcNetworkSource',
23
+ 'AccessLevelConditionVpcNetworkSourceVpcSubnetwork',
20
24
  'AccessLevelCustom',
21
25
  'AccessLevelCustomExpr',
22
26
  'AccessLevelsAccessLevel',
@@ -24,11 +28,14 @@ __all__ = [
24
28
  'AccessLevelsAccessLevelBasicCondition',
25
29
  'AccessLevelsAccessLevelBasicConditionDevicePolicy',
26
30
  'AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraint',
31
+ 'AccessLevelsAccessLevelBasicConditionVpcNetworkSource',
32
+ 'AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork',
27
33
  'AccessLevelsAccessLevelCustom',
28
34
  'AccessLevelsAccessLevelCustomExpr',
29
35
  'AccessPolicyIamBindingCondition',
30
36
  'AccessPolicyIamMemberCondition',
31
37
  'ServicePerimeterEgressPolicyEgressFrom',
38
+ 'ServicePerimeterEgressPolicyEgressFromSource',
32
39
  'ServicePerimeterEgressPolicyEgressTo',
33
40
  'ServicePerimeterEgressPolicyEgressToOperation',
34
41
  'ServicePerimeterEgressPolicyEgressToOperationMethodSelector',
@@ -40,6 +47,7 @@ __all__ = [
40
47
  'ServicePerimeterSpec',
41
48
  'ServicePerimeterSpecEgressPolicy',
42
49
  'ServicePerimeterSpecEgressPolicyEgressFrom',
50
+ 'ServicePerimeterSpecEgressPolicyEgressFromSource',
43
51
  'ServicePerimeterSpecEgressPolicyEgressTo',
44
52
  'ServicePerimeterSpecEgressPolicyEgressToOperation',
45
53
  'ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelector',
@@ -53,6 +61,7 @@ __all__ = [
53
61
  'ServicePerimeterStatus',
54
62
  'ServicePerimeterStatusEgressPolicy',
55
63
  'ServicePerimeterStatusEgressPolicyEgressFrom',
64
+ 'ServicePerimeterStatusEgressPolicyEgressFromSource',
56
65
  'ServicePerimeterStatusEgressPolicyEgressTo',
57
66
  'ServicePerimeterStatusEgressPolicyEgressToOperation',
58
67
  'ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelector',
@@ -67,6 +76,7 @@ __all__ = [
67
76
  'ServicePerimetersServicePerimeterSpec',
68
77
  'ServicePerimetersServicePerimeterSpecEgressPolicy',
69
78
  'ServicePerimetersServicePerimeterSpecEgressPolicyEgressFrom',
79
+ 'ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSource',
70
80
  'ServicePerimetersServicePerimeterSpecEgressPolicyEgressTo',
71
81
  'ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperation',
72
82
  'ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelector',
@@ -80,6 +90,7 @@ __all__ = [
80
90
  'ServicePerimetersServicePerimeterStatus',
81
91
  'ServicePerimetersServicePerimeterStatusEgressPolicy',
82
92
  'ServicePerimetersServicePerimeterStatusEgressPolicyEgressFrom',
93
+ 'ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSource',
83
94
  'ServicePerimetersServicePerimeterStatusEgressPolicyEgressTo',
84
95
  'ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperation',
85
96
  'ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelector',
@@ -164,6 +175,8 @@ class AccessLevelBasicCondition(dict):
164
175
  suggest = "ip_subnetworks"
165
176
  elif key == "requiredAccessLevels":
166
177
  suggest = "required_access_levels"
178
+ elif key == "vpcNetworkSources":
179
+ suggest = "vpc_network_sources"
167
180
 
168
181
  if suggest:
169
182
  pulumi.log.warn(f"Key '{key}' not found in AccessLevelBasicCondition. Access the value via the '{suggest}' property getter instead.")
@@ -182,7 +195,8 @@ class AccessLevelBasicCondition(dict):
182
195
  members: Optional[Sequence[str]] = None,
183
196
  negate: Optional[bool] = None,
184
197
  regions: Optional[Sequence[str]] = None,
185
- required_access_levels: Optional[Sequence[str]] = None):
198
+ required_access_levels: Optional[Sequence[str]] = None,
199
+ vpc_network_sources: Optional[Sequence['outputs.AccessLevelBasicConditionVpcNetworkSource']] = None):
186
200
  """
187
201
  :param 'AccessLevelBasicConditionDevicePolicyArgs' device_policy: Device specific restrictions, all restrictions must hold for
188
202
  the Condition to be true. If not specified, all devices are
@@ -216,6 +230,8 @@ class AccessLevelBasicCondition(dict):
216
230
  does not exist is an error. All access levels listed must be
217
231
  granted for the Condition to be true.
218
232
  Format: accessPolicies/{policy_id}/accessLevels/{short_name}
233
+ :param Sequence['AccessLevelBasicConditionVpcNetworkSourceArgs'] vpc_network_sources: The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ip_subnetworks`.
234
+ Structure is documented below.
219
235
  """
220
236
  if device_policy is not None:
221
237
  pulumi.set(__self__, "device_policy", device_policy)
@@ -229,6 +245,8 @@ class AccessLevelBasicCondition(dict):
229
245
  pulumi.set(__self__, "regions", regions)
230
246
  if required_access_levels is not None:
231
247
  pulumi.set(__self__, "required_access_levels", required_access_levels)
248
+ if vpc_network_sources is not None:
249
+ pulumi.set(__self__, "vpc_network_sources", vpc_network_sources)
232
250
 
233
251
  @property
234
252
  @pulumi.getter(name="devicePolicy")
@@ -304,6 +322,15 @@ class AccessLevelBasicCondition(dict):
304
322
  """
305
323
  return pulumi.get(self, "required_access_levels")
306
324
 
325
+ @property
326
+ @pulumi.getter(name="vpcNetworkSources")
327
+ def vpc_network_sources(self) -> Optional[Sequence['outputs.AccessLevelBasicConditionVpcNetworkSource']]:
328
+ """
329
+ The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ip_subnetworks`.
330
+ Structure is documented below.
331
+ """
332
+ return pulumi.get(self, "vpc_network_sources")
333
+
307
334
 
308
335
  @pulumi.output_type
309
336
  class AccessLevelBasicConditionDevicePolicy(dict):
@@ -494,6 +521,91 @@ class AccessLevelBasicConditionDevicePolicyOsConstraint(dict):
494
521
  return pulumi.get(self, "require_verified_chrome_os")
495
522
 
496
523
 
524
+ @pulumi.output_type
525
+ class AccessLevelBasicConditionVpcNetworkSource(dict):
526
+ @staticmethod
527
+ def __key_warning(key: str):
528
+ suggest = None
529
+ if key == "vpcSubnetwork":
530
+ suggest = "vpc_subnetwork"
531
+
532
+ if suggest:
533
+ pulumi.log.warn(f"Key '{key}' not found in AccessLevelBasicConditionVpcNetworkSource. Access the value via the '{suggest}' property getter instead.")
534
+
535
+ def __getitem__(self, key: str) -> Any:
536
+ AccessLevelBasicConditionVpcNetworkSource.__key_warning(key)
537
+ return super().__getitem__(key)
538
+
539
+ def get(self, key: str, default = None) -> Any:
540
+ AccessLevelBasicConditionVpcNetworkSource.__key_warning(key)
541
+ return super().get(key, default)
542
+
543
+ def __init__(__self__, *,
544
+ vpc_subnetwork: Optional['outputs.AccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork'] = None):
545
+ """
546
+ :param 'AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs' vpc_subnetwork: Sub networks within a VPC network.
547
+ Structure is documented below.
548
+ """
549
+ if vpc_subnetwork is not None:
550
+ pulumi.set(__self__, "vpc_subnetwork", vpc_subnetwork)
551
+
552
+ @property
553
+ @pulumi.getter(name="vpcSubnetwork")
554
+ def vpc_subnetwork(self) -> Optional['outputs.AccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork']:
555
+ """
556
+ Sub networks within a VPC network.
557
+ Structure is documented below.
558
+ """
559
+ return pulumi.get(self, "vpc_subnetwork")
560
+
561
+
562
+ @pulumi.output_type
563
+ class AccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork(dict):
564
+ @staticmethod
565
+ def __key_warning(key: str):
566
+ suggest = None
567
+ if key == "vpcIpSubnetworks":
568
+ suggest = "vpc_ip_subnetworks"
569
+
570
+ if suggest:
571
+ pulumi.log.warn(f"Key '{key}' not found in AccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork. Access the value via the '{suggest}' property getter instead.")
572
+
573
+ def __getitem__(self, key: str) -> Any:
574
+ AccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork.__key_warning(key)
575
+ return super().__getitem__(key)
576
+
577
+ def get(self, key: str, default = None) -> Any:
578
+ AccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork.__key_warning(key)
579
+ return super().get(key, default)
580
+
581
+ def __init__(__self__, *,
582
+ network: str,
583
+ vpc_ip_subnetworks: Optional[Sequence[str]] = None):
584
+ """
585
+ :param str network: Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.
586
+ :param Sequence[str] vpc_ip_subnetworks: CIDR block IP subnetwork specification. Must be IPv4.
587
+ """
588
+ pulumi.set(__self__, "network", network)
589
+ if vpc_ip_subnetworks is not None:
590
+ pulumi.set(__self__, "vpc_ip_subnetworks", vpc_ip_subnetworks)
591
+
592
+ @property
593
+ @pulumi.getter
594
+ def network(self) -> str:
595
+ """
596
+ Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.
597
+ """
598
+ return pulumi.get(self, "network")
599
+
600
+ @property
601
+ @pulumi.getter(name="vpcIpSubnetworks")
602
+ def vpc_ip_subnetworks(self) -> Optional[Sequence[str]]:
603
+ """
604
+ CIDR block IP subnetwork specification. Must be IPv4.
605
+ """
606
+ return pulumi.get(self, "vpc_ip_subnetworks")
607
+
608
+
497
609
  @pulumi.output_type
498
610
  class AccessLevelConditionDevicePolicy(dict):
499
611
  @staticmethod
@@ -669,6 +781,91 @@ class AccessLevelConditionDevicePolicyOsConstraint(dict):
669
781
  return pulumi.get(self, "minimum_version")
670
782
 
671
783
 
784
+ @pulumi.output_type
785
+ class AccessLevelConditionVpcNetworkSource(dict):
786
+ @staticmethod
787
+ def __key_warning(key: str):
788
+ suggest = None
789
+ if key == "vpcSubnetwork":
790
+ suggest = "vpc_subnetwork"
791
+
792
+ if suggest:
793
+ pulumi.log.warn(f"Key '{key}' not found in AccessLevelConditionVpcNetworkSource. Access the value via the '{suggest}' property getter instead.")
794
+
795
+ def __getitem__(self, key: str) -> Any:
796
+ AccessLevelConditionVpcNetworkSource.__key_warning(key)
797
+ return super().__getitem__(key)
798
+
799
+ def get(self, key: str, default = None) -> Any:
800
+ AccessLevelConditionVpcNetworkSource.__key_warning(key)
801
+ return super().get(key, default)
802
+
803
+ def __init__(__self__, *,
804
+ vpc_subnetwork: Optional['outputs.AccessLevelConditionVpcNetworkSourceVpcSubnetwork'] = None):
805
+ """
806
+ :param 'AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs' vpc_subnetwork: Sub networks within a VPC network.
807
+ Structure is documented below.
808
+ """
809
+ if vpc_subnetwork is not None:
810
+ pulumi.set(__self__, "vpc_subnetwork", vpc_subnetwork)
811
+
812
+ @property
813
+ @pulumi.getter(name="vpcSubnetwork")
814
+ def vpc_subnetwork(self) -> Optional['outputs.AccessLevelConditionVpcNetworkSourceVpcSubnetwork']:
815
+ """
816
+ Sub networks within a VPC network.
817
+ Structure is documented below.
818
+ """
819
+ return pulumi.get(self, "vpc_subnetwork")
820
+
821
+
822
+ @pulumi.output_type
823
+ class AccessLevelConditionVpcNetworkSourceVpcSubnetwork(dict):
824
+ @staticmethod
825
+ def __key_warning(key: str):
826
+ suggest = None
827
+ if key == "vpcIpSubnetworks":
828
+ suggest = "vpc_ip_subnetworks"
829
+
830
+ if suggest:
831
+ pulumi.log.warn(f"Key '{key}' not found in AccessLevelConditionVpcNetworkSourceVpcSubnetwork. Access the value via the '{suggest}' property getter instead.")
832
+
833
+ def __getitem__(self, key: str) -> Any:
834
+ AccessLevelConditionVpcNetworkSourceVpcSubnetwork.__key_warning(key)
835
+ return super().__getitem__(key)
836
+
837
+ def get(self, key: str, default = None) -> Any:
838
+ AccessLevelConditionVpcNetworkSourceVpcSubnetwork.__key_warning(key)
839
+ return super().get(key, default)
840
+
841
+ def __init__(__self__, *,
842
+ network: str,
843
+ vpc_ip_subnetworks: Optional[Sequence[str]] = None):
844
+ """
845
+ :param str network: Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.
846
+ :param Sequence[str] vpc_ip_subnetworks: CIDR block IP subnetwork specification. Must be IPv4.
847
+ """
848
+ pulumi.set(__self__, "network", network)
849
+ if vpc_ip_subnetworks is not None:
850
+ pulumi.set(__self__, "vpc_ip_subnetworks", vpc_ip_subnetworks)
851
+
852
+ @property
853
+ @pulumi.getter
854
+ def network(self) -> str:
855
+ """
856
+ Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.
857
+ """
858
+ return pulumi.get(self, "network")
859
+
860
+ @property
861
+ @pulumi.getter(name="vpcIpSubnetworks")
862
+ def vpc_ip_subnetworks(self) -> Optional[Sequence[str]]:
863
+ """
864
+ CIDR block IP subnetwork specification. Must be IPv4.
865
+ """
866
+ return pulumi.get(self, "vpc_ip_subnetworks")
867
+
868
+
672
869
  @pulumi.output_type
673
870
  class AccessLevelCustom(dict):
674
871
  def __init__(__self__, *,
@@ -894,6 +1091,8 @@ class AccessLevelsAccessLevelBasicCondition(dict):
894
1091
  suggest = "ip_subnetworks"
895
1092
  elif key == "requiredAccessLevels":
896
1093
  suggest = "required_access_levels"
1094
+ elif key == "vpcNetworkSources":
1095
+ suggest = "vpc_network_sources"
897
1096
 
898
1097
  if suggest:
899
1098
  pulumi.log.warn(f"Key '{key}' not found in AccessLevelsAccessLevelBasicCondition. Access the value via the '{suggest}' property getter instead.")
@@ -912,7 +1111,8 @@ class AccessLevelsAccessLevelBasicCondition(dict):
912
1111
  members: Optional[Sequence[str]] = None,
913
1112
  negate: Optional[bool] = None,
914
1113
  regions: Optional[Sequence[str]] = None,
915
- required_access_levels: Optional[Sequence[str]] = None):
1114
+ required_access_levels: Optional[Sequence[str]] = None,
1115
+ vpc_network_sources: Optional[Sequence['outputs.AccessLevelsAccessLevelBasicConditionVpcNetworkSource']] = None):
916
1116
  """
917
1117
  :param 'AccessLevelsAccessLevelBasicConditionDevicePolicyArgs' device_policy: Device specific restrictions, all restrictions must hold for
918
1118
  the Condition to be true. If not specified, all devices are
@@ -946,6 +1146,8 @@ class AccessLevelsAccessLevelBasicCondition(dict):
946
1146
  does not exist is an error. All access levels listed must be
947
1147
  granted for the Condition to be true.
948
1148
  Format: accessPolicies/{policy_id}/accessLevels/{short_name}
1149
+ :param Sequence['AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArgs'] vpc_network_sources: The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ip_subnetworks`.
1150
+ Structure is documented below.
949
1151
  """
950
1152
  if device_policy is not None:
951
1153
  pulumi.set(__self__, "device_policy", device_policy)
@@ -959,6 +1161,8 @@ class AccessLevelsAccessLevelBasicCondition(dict):
959
1161
  pulumi.set(__self__, "regions", regions)
960
1162
  if required_access_levels is not None:
961
1163
  pulumi.set(__self__, "required_access_levels", required_access_levels)
1164
+ if vpc_network_sources is not None:
1165
+ pulumi.set(__self__, "vpc_network_sources", vpc_network_sources)
962
1166
 
963
1167
  @property
964
1168
  @pulumi.getter(name="devicePolicy")
@@ -1034,6 +1238,15 @@ class AccessLevelsAccessLevelBasicCondition(dict):
1034
1238
  """
1035
1239
  return pulumi.get(self, "required_access_levels")
1036
1240
 
1241
+ @property
1242
+ @pulumi.getter(name="vpcNetworkSources")
1243
+ def vpc_network_sources(self) -> Optional[Sequence['outputs.AccessLevelsAccessLevelBasicConditionVpcNetworkSource']]:
1244
+ """
1245
+ The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ip_subnetworks`.
1246
+ Structure is documented below.
1247
+ """
1248
+ return pulumi.get(self, "vpc_network_sources")
1249
+
1037
1250
 
1038
1251
  @pulumi.output_type
1039
1252
  class AccessLevelsAccessLevelBasicConditionDevicePolicy(dict):
@@ -1210,6 +1423,91 @@ class AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraint(dict):
1210
1423
  return pulumi.get(self, "minimum_version")
1211
1424
 
1212
1425
 
1426
+ @pulumi.output_type
1427
+ class AccessLevelsAccessLevelBasicConditionVpcNetworkSource(dict):
1428
+ @staticmethod
1429
+ def __key_warning(key: str):
1430
+ suggest = None
1431
+ if key == "vpcSubnetwork":
1432
+ suggest = "vpc_subnetwork"
1433
+
1434
+ if suggest:
1435
+ pulumi.log.warn(f"Key '{key}' not found in AccessLevelsAccessLevelBasicConditionVpcNetworkSource. Access the value via the '{suggest}' property getter instead.")
1436
+
1437
+ def __getitem__(self, key: str) -> Any:
1438
+ AccessLevelsAccessLevelBasicConditionVpcNetworkSource.__key_warning(key)
1439
+ return super().__getitem__(key)
1440
+
1441
+ def get(self, key: str, default = None) -> Any:
1442
+ AccessLevelsAccessLevelBasicConditionVpcNetworkSource.__key_warning(key)
1443
+ return super().get(key, default)
1444
+
1445
+ def __init__(__self__, *,
1446
+ vpc_subnetwork: Optional['outputs.AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork'] = None):
1447
+ """
1448
+ :param 'AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs' vpc_subnetwork: Sub networks within a VPC network.
1449
+ Structure is documented below.
1450
+ """
1451
+ if vpc_subnetwork is not None:
1452
+ pulumi.set(__self__, "vpc_subnetwork", vpc_subnetwork)
1453
+
1454
+ @property
1455
+ @pulumi.getter(name="vpcSubnetwork")
1456
+ def vpc_subnetwork(self) -> Optional['outputs.AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork']:
1457
+ """
1458
+ Sub networks within a VPC network.
1459
+ Structure is documented below.
1460
+ """
1461
+ return pulumi.get(self, "vpc_subnetwork")
1462
+
1463
+
1464
+ @pulumi.output_type
1465
+ class AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork(dict):
1466
+ @staticmethod
1467
+ def __key_warning(key: str):
1468
+ suggest = None
1469
+ if key == "vpcIpSubnetworks":
1470
+ suggest = "vpc_ip_subnetworks"
1471
+
1472
+ if suggest:
1473
+ pulumi.log.warn(f"Key '{key}' not found in AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork. Access the value via the '{suggest}' property getter instead.")
1474
+
1475
+ def __getitem__(self, key: str) -> Any:
1476
+ AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork.__key_warning(key)
1477
+ return super().__getitem__(key)
1478
+
1479
+ def get(self, key: str, default = None) -> Any:
1480
+ AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork.__key_warning(key)
1481
+ return super().get(key, default)
1482
+
1483
+ def __init__(__self__, *,
1484
+ network: str,
1485
+ vpc_ip_subnetworks: Optional[Sequence[str]] = None):
1486
+ """
1487
+ :param str network: Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.
1488
+ :param Sequence[str] vpc_ip_subnetworks: CIDR block IP subnetwork specification. Must be IPv4.
1489
+ """
1490
+ pulumi.set(__self__, "network", network)
1491
+ if vpc_ip_subnetworks is not None:
1492
+ pulumi.set(__self__, "vpc_ip_subnetworks", vpc_ip_subnetworks)
1493
+
1494
+ @property
1495
+ @pulumi.getter
1496
+ def network(self) -> str:
1497
+ """
1498
+ Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.
1499
+ """
1500
+ return pulumi.get(self, "network")
1501
+
1502
+ @property
1503
+ @pulumi.getter(name="vpcIpSubnetworks")
1504
+ def vpc_ip_subnetworks(self) -> Optional[Sequence[str]]:
1505
+ """
1506
+ CIDR block IP subnetwork specification. Must be IPv4.
1507
+ """
1508
+ return pulumi.get(self, "vpc_ip_subnetworks")
1509
+
1510
+
1213
1511
  @pulumi.output_type
1214
1512
  class AccessLevelsAccessLevelCustom(dict):
1215
1513
  def __init__(__self__, *,
@@ -1349,6 +1647,8 @@ class ServicePerimeterEgressPolicyEgressFrom(dict):
1349
1647
  suggest = None
1350
1648
  if key == "identityType":
1351
1649
  suggest = "identity_type"
1650
+ elif key == "sourceRestriction":
1651
+ suggest = "source_restriction"
1352
1652
 
1353
1653
  if suggest:
1354
1654
  pulumi.log.warn(f"Key '{key}' not found in ServicePerimeterEgressPolicyEgressFrom. Access the value via the '{suggest}' property getter instead.")
@@ -1363,7 +1663,9 @@ class ServicePerimeterEgressPolicyEgressFrom(dict):
1363
1663
 
1364
1664
  def __init__(__self__, *,
1365
1665
  identities: Optional[Sequence[str]] = None,
1366
- identity_type: Optional[str] = None):
1666
+ identity_type: Optional[str] = None,
1667
+ source_restriction: Optional[str] = None,
1668
+ sources: Optional[Sequence['outputs.ServicePerimeterEgressPolicyEgressFromSource']] = None):
1367
1669
  """
1368
1670
  :param Sequence[str] identities: A list of identities that are allowed access through this `EgressPolicy`.
1369
1671
  Should be in the format of email address. The email address should
@@ -1372,11 +1674,19 @@ class ServicePerimeterEgressPolicyEgressFrom(dict):
1372
1674
  perimeter. If left unspecified, then members of `identities` field will
1373
1675
  be allowed access.
1374
1676
  Possible values are: `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.
1677
+ :param str source_restriction: Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
1678
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
1679
+ :param Sequence['ServicePerimeterEgressPolicyEgressFromSourceArgs'] sources: Sources that this EgressPolicy authorizes access from.
1680
+ Structure is documented below.
1375
1681
  """
1376
1682
  if identities is not None:
1377
1683
  pulumi.set(__self__, "identities", identities)
1378
1684
  if identity_type is not None:
1379
1685
  pulumi.set(__self__, "identity_type", identity_type)
1686
+ if source_restriction is not None:
1687
+ pulumi.set(__self__, "source_restriction", source_restriction)
1688
+ if sources is not None:
1689
+ pulumi.set(__self__, "sources", sources)
1380
1690
 
1381
1691
  @property
1382
1692
  @pulumi.getter
@@ -1399,6 +1709,60 @@ class ServicePerimeterEgressPolicyEgressFrom(dict):
1399
1709
  """
1400
1710
  return pulumi.get(self, "identity_type")
1401
1711
 
1712
+ @property
1713
+ @pulumi.getter(name="sourceRestriction")
1714
+ def source_restriction(self) -> Optional[str]:
1715
+ """
1716
+ Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
1717
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
1718
+ """
1719
+ return pulumi.get(self, "source_restriction")
1720
+
1721
+ @property
1722
+ @pulumi.getter
1723
+ def sources(self) -> Optional[Sequence['outputs.ServicePerimeterEgressPolicyEgressFromSource']]:
1724
+ """
1725
+ Sources that this EgressPolicy authorizes access from.
1726
+ Structure is documented below.
1727
+ """
1728
+ return pulumi.get(self, "sources")
1729
+
1730
+
1731
+ @pulumi.output_type
1732
+ class ServicePerimeterEgressPolicyEgressFromSource(dict):
1733
+ @staticmethod
1734
+ def __key_warning(key: str):
1735
+ suggest = None
1736
+ if key == "accessLevel":
1737
+ suggest = "access_level"
1738
+
1739
+ if suggest:
1740
+ pulumi.log.warn(f"Key '{key}' not found in ServicePerimeterEgressPolicyEgressFromSource. Access the value via the '{suggest}' property getter instead.")
1741
+
1742
+ def __getitem__(self, key: str) -> Any:
1743
+ ServicePerimeterEgressPolicyEgressFromSource.__key_warning(key)
1744
+ return super().__getitem__(key)
1745
+
1746
+ def get(self, key: str, default = None) -> Any:
1747
+ ServicePerimeterEgressPolicyEgressFromSource.__key_warning(key)
1748
+ return super().get(key, default)
1749
+
1750
+ def __init__(__self__, *,
1751
+ access_level: Optional[str] = None):
1752
+ """
1753
+ :param str access_level: An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
1754
+ """
1755
+ if access_level is not None:
1756
+ pulumi.set(__self__, "access_level", access_level)
1757
+
1758
+ @property
1759
+ @pulumi.getter(name="accessLevel")
1760
+ def access_level(self) -> Optional[str]:
1761
+ """
1762
+ An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
1763
+ """
1764
+ return pulumi.get(self, "access_level")
1765
+
1402
1766
 
1403
1767
  @pulumi.output_type
1404
1768
  class ServicePerimeterEgressPolicyEgressTo(dict):
@@ -2082,6 +2446,8 @@ class ServicePerimeterSpecEgressPolicyEgressFrom(dict):
2082
2446
  suggest = None
2083
2447
  if key == "identityType":
2084
2448
  suggest = "identity_type"
2449
+ elif key == "sourceRestriction":
2450
+ suggest = "source_restriction"
2085
2451
 
2086
2452
  if suggest:
2087
2453
  pulumi.log.warn(f"Key '{key}' not found in ServicePerimeterSpecEgressPolicyEgressFrom. Access the value via the '{suggest}' property getter instead.")
@@ -2096,7 +2462,9 @@ class ServicePerimeterSpecEgressPolicyEgressFrom(dict):
2096
2462
 
2097
2463
  def __init__(__self__, *,
2098
2464
  identities: Optional[Sequence[str]] = None,
2099
- identity_type: Optional[str] = None):
2465
+ identity_type: Optional[str] = None,
2466
+ source_restriction: Optional[str] = None,
2467
+ sources: Optional[Sequence['outputs.ServicePerimeterSpecEgressPolicyEgressFromSource']] = None):
2100
2468
  """
2101
2469
  :param Sequence[str] identities: A list of identities that are allowed access through this `EgressPolicy`.
2102
2470
  Should be in the format of email address. The email address should
@@ -2105,11 +2473,19 @@ class ServicePerimeterSpecEgressPolicyEgressFrom(dict):
2105
2473
  perimeter. If left unspecified, then members of `identities` field will
2106
2474
  be allowed access.
2107
2475
  Possible values are: `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.
2476
+ :param str source_restriction: Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
2477
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
2478
+ :param Sequence['ServicePerimeterSpecEgressPolicyEgressFromSourceArgs'] sources: Sources that this EgressPolicy authorizes access from.
2479
+ Structure is documented below.
2108
2480
  """
2109
2481
  if identities is not None:
2110
2482
  pulumi.set(__self__, "identities", identities)
2111
2483
  if identity_type is not None:
2112
2484
  pulumi.set(__self__, "identity_type", identity_type)
2485
+ if source_restriction is not None:
2486
+ pulumi.set(__self__, "source_restriction", source_restriction)
2487
+ if sources is not None:
2488
+ pulumi.set(__self__, "sources", sources)
2113
2489
 
2114
2490
  @property
2115
2491
  @pulumi.getter
@@ -2132,6 +2508,60 @@ class ServicePerimeterSpecEgressPolicyEgressFrom(dict):
2132
2508
  """
2133
2509
  return pulumi.get(self, "identity_type")
2134
2510
 
2511
+ @property
2512
+ @pulumi.getter(name="sourceRestriction")
2513
+ def source_restriction(self) -> Optional[str]:
2514
+ """
2515
+ Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
2516
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
2517
+ """
2518
+ return pulumi.get(self, "source_restriction")
2519
+
2520
+ @property
2521
+ @pulumi.getter
2522
+ def sources(self) -> Optional[Sequence['outputs.ServicePerimeterSpecEgressPolicyEgressFromSource']]:
2523
+ """
2524
+ Sources that this EgressPolicy authorizes access from.
2525
+ Structure is documented below.
2526
+ """
2527
+ return pulumi.get(self, "sources")
2528
+
2529
+
2530
+ @pulumi.output_type
2531
+ class ServicePerimeterSpecEgressPolicyEgressFromSource(dict):
2532
+ @staticmethod
2533
+ def __key_warning(key: str):
2534
+ suggest = None
2535
+ if key == "accessLevel":
2536
+ suggest = "access_level"
2537
+
2538
+ if suggest:
2539
+ pulumi.log.warn(f"Key '{key}' not found in ServicePerimeterSpecEgressPolicyEgressFromSource. Access the value via the '{suggest}' property getter instead.")
2540
+
2541
+ def __getitem__(self, key: str) -> Any:
2542
+ ServicePerimeterSpecEgressPolicyEgressFromSource.__key_warning(key)
2543
+ return super().__getitem__(key)
2544
+
2545
+ def get(self, key: str, default = None) -> Any:
2546
+ ServicePerimeterSpecEgressPolicyEgressFromSource.__key_warning(key)
2547
+ return super().get(key, default)
2548
+
2549
+ def __init__(__self__, *,
2550
+ access_level: Optional[str] = None):
2551
+ """
2552
+ :param str access_level: An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
2553
+ """
2554
+ if access_level is not None:
2555
+ pulumi.set(__self__, "access_level", access_level)
2556
+
2557
+ @property
2558
+ @pulumi.getter(name="accessLevel")
2559
+ def access_level(self) -> Optional[str]:
2560
+ """
2561
+ An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
2562
+ """
2563
+ return pulumi.get(self, "access_level")
2564
+
2135
2565
 
2136
2566
  @pulumi.output_type
2137
2567
  class ServicePerimeterSpecEgressPolicyEgressTo(dict):
@@ -2461,14 +2891,7 @@ class ServicePerimeterSpecIngressPolicyIngressFromSource(dict):
2461
2891
  access_level: Optional[str] = None,
2462
2892
  resource: Optional[str] = None):
2463
2893
  """
2464
- :param str access_level: An `AccessLevel` resource name that allow resources within the
2465
- `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
2466
- must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
2467
- `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
2468
- resources within the perimeter can only be accessed via Google Cloud calls
2469
- with request origins within the perimeter.
2470
- Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
2471
- If * is specified, then all IngressSources will be allowed.
2894
+ :param str access_level: An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
2472
2895
  :param str resource: A Google Cloud resource that is allowed to ingress the perimeter.
2473
2896
  Requests from these resources will be allowed to access perimeter data.
2474
2897
  Currently only projects are allowed. Format `projects/{project_number}`
@@ -2485,14 +2908,7 @@ class ServicePerimeterSpecIngressPolicyIngressFromSource(dict):
2485
2908
  @pulumi.getter(name="accessLevel")
2486
2909
  def access_level(self) -> Optional[str]:
2487
2910
  """
2488
- An `AccessLevel` resource name that allow resources within the
2489
- `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
2490
- must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
2491
- `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
2492
- resources within the perimeter can only be accessed via Google Cloud calls
2493
- with request origins within the perimeter.
2494
- Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
2495
- If * is specified, then all IngressSources will be allowed.
2911
+ An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
2496
2912
  """
2497
2913
  return pulumi.get(self, "access_level")
2498
2914
 
@@ -2927,6 +3343,8 @@ class ServicePerimeterStatusEgressPolicyEgressFrom(dict):
2927
3343
  suggest = None
2928
3344
  if key == "identityType":
2929
3345
  suggest = "identity_type"
3346
+ elif key == "sourceRestriction":
3347
+ suggest = "source_restriction"
2930
3348
 
2931
3349
  if suggest:
2932
3350
  pulumi.log.warn(f"Key '{key}' not found in ServicePerimeterStatusEgressPolicyEgressFrom. Access the value via the '{suggest}' property getter instead.")
@@ -2941,7 +3359,9 @@ class ServicePerimeterStatusEgressPolicyEgressFrom(dict):
2941
3359
 
2942
3360
  def __init__(__self__, *,
2943
3361
  identities: Optional[Sequence[str]] = None,
2944
- identity_type: Optional[str] = None):
3362
+ identity_type: Optional[str] = None,
3363
+ source_restriction: Optional[str] = None,
3364
+ sources: Optional[Sequence['outputs.ServicePerimeterStatusEgressPolicyEgressFromSource']] = None):
2945
3365
  """
2946
3366
  :param Sequence[str] identities: A list of identities that are allowed access through this `EgressPolicy`.
2947
3367
  Should be in the format of email address. The email address should
@@ -2950,11 +3370,19 @@ class ServicePerimeterStatusEgressPolicyEgressFrom(dict):
2950
3370
  perimeter. If left unspecified, then members of `identities` field will
2951
3371
  be allowed access.
2952
3372
  Possible values are: `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.
3373
+ :param str source_restriction: Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
3374
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
3375
+ :param Sequence['ServicePerimeterStatusEgressPolicyEgressFromSourceArgs'] sources: Sources that this EgressPolicy authorizes access from.
3376
+ Structure is documented below.
2953
3377
  """
2954
3378
  if identities is not None:
2955
3379
  pulumi.set(__self__, "identities", identities)
2956
3380
  if identity_type is not None:
2957
3381
  pulumi.set(__self__, "identity_type", identity_type)
3382
+ if source_restriction is not None:
3383
+ pulumi.set(__self__, "source_restriction", source_restriction)
3384
+ if sources is not None:
3385
+ pulumi.set(__self__, "sources", sources)
2958
3386
 
2959
3387
  @property
2960
3388
  @pulumi.getter
@@ -2977,6 +3405,60 @@ class ServicePerimeterStatusEgressPolicyEgressFrom(dict):
2977
3405
  """
2978
3406
  return pulumi.get(self, "identity_type")
2979
3407
 
3408
+ @property
3409
+ @pulumi.getter(name="sourceRestriction")
3410
+ def source_restriction(self) -> Optional[str]:
3411
+ """
3412
+ Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
3413
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
3414
+ """
3415
+ return pulumi.get(self, "source_restriction")
3416
+
3417
+ @property
3418
+ @pulumi.getter
3419
+ def sources(self) -> Optional[Sequence['outputs.ServicePerimeterStatusEgressPolicyEgressFromSource']]:
3420
+ """
3421
+ Sources that this EgressPolicy authorizes access from.
3422
+ Structure is documented below.
3423
+ """
3424
+ return pulumi.get(self, "sources")
3425
+
3426
+
3427
+ @pulumi.output_type
3428
+ class ServicePerimeterStatusEgressPolicyEgressFromSource(dict):
3429
+ @staticmethod
3430
+ def __key_warning(key: str):
3431
+ suggest = None
3432
+ if key == "accessLevel":
3433
+ suggest = "access_level"
3434
+
3435
+ if suggest:
3436
+ pulumi.log.warn(f"Key '{key}' not found in ServicePerimeterStatusEgressPolicyEgressFromSource. Access the value via the '{suggest}' property getter instead.")
3437
+
3438
+ def __getitem__(self, key: str) -> Any:
3439
+ ServicePerimeterStatusEgressPolicyEgressFromSource.__key_warning(key)
3440
+ return super().__getitem__(key)
3441
+
3442
+ def get(self, key: str, default = None) -> Any:
3443
+ ServicePerimeterStatusEgressPolicyEgressFromSource.__key_warning(key)
3444
+ return super().get(key, default)
3445
+
3446
+ def __init__(__self__, *,
3447
+ access_level: Optional[str] = None):
3448
+ """
3449
+ :param str access_level: An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
3450
+ """
3451
+ if access_level is not None:
3452
+ pulumi.set(__self__, "access_level", access_level)
3453
+
3454
+ @property
3455
+ @pulumi.getter(name="accessLevel")
3456
+ def access_level(self) -> Optional[str]:
3457
+ """
3458
+ An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
3459
+ """
3460
+ return pulumi.get(self, "access_level")
3461
+
2980
3462
 
2981
3463
  @pulumi.output_type
2982
3464
  class ServicePerimeterStatusEgressPolicyEgressTo(dict):
@@ -3306,14 +3788,7 @@ class ServicePerimeterStatusIngressPolicyIngressFromSource(dict):
3306
3788
  access_level: Optional[str] = None,
3307
3789
  resource: Optional[str] = None):
3308
3790
  """
3309
- :param str access_level: An `AccessLevel` resource name that allow resources within the
3310
- `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
3311
- must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
3312
- `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
3313
- resources within the perimeter can only be accessed via Google Cloud calls
3314
- with request origins within the perimeter.
3315
- Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
3316
- If * is specified, then all IngressSources will be allowed.
3791
+ :param str access_level: An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
3317
3792
  :param str resource: A Google Cloud resource that is allowed to ingress the perimeter.
3318
3793
  Requests from these resources will be allowed to access perimeter data.
3319
3794
  Currently only projects are allowed. Format `projects/{project_number}`
@@ -3330,14 +3805,7 @@ class ServicePerimeterStatusIngressPolicyIngressFromSource(dict):
3330
3805
  @pulumi.getter(name="accessLevel")
3331
3806
  def access_level(self) -> Optional[str]:
3332
3807
  """
3333
- An `AccessLevel` resource name that allow resources within the
3334
- `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
3335
- must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
3336
- `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
3337
- resources within the perimeter can only be accessed via Google Cloud calls
3338
- with request origins within the perimeter.
3339
- Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
3340
- If * is specified, then all IngressSources will be allowed.
3808
+ An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
3341
3809
  """
3342
3810
  return pulumi.get(self, "access_level")
3343
3811
 
@@ -3978,6 +4446,8 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressFrom(dict):
3978
4446
  suggest = None
3979
4447
  if key == "identityType":
3980
4448
  suggest = "identity_type"
4449
+ elif key == "sourceRestriction":
4450
+ suggest = "source_restriction"
3981
4451
 
3982
4452
  if suggest:
3983
4453
  pulumi.log.warn(f"Key '{key}' not found in ServicePerimetersServicePerimeterSpecEgressPolicyEgressFrom. Access the value via the '{suggest}' property getter instead.")
@@ -3992,7 +4462,9 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressFrom(dict):
3992
4462
 
3993
4463
  def __init__(__self__, *,
3994
4464
  identities: Optional[Sequence[str]] = None,
3995
- identity_type: Optional[str] = None):
4465
+ identity_type: Optional[str] = None,
4466
+ source_restriction: Optional[str] = None,
4467
+ sources: Optional[Sequence['outputs.ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSource']] = None):
3996
4468
  """
3997
4469
  :param Sequence[str] identities: A list of identities that are allowed access through this `EgressPolicy`.
3998
4470
  Should be in the format of email address. The email address should
@@ -4001,11 +4473,19 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressFrom(dict):
4001
4473
  perimeter. If left unspecified, then members of `identities` field will
4002
4474
  be allowed access.
4003
4475
  Possible values are: `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.
4476
+ :param str source_restriction: Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
4477
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
4478
+ :param Sequence['ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArgs'] sources: Sources that this EgressPolicy authorizes access from.
4479
+ Structure is documented below.
4004
4480
  """
4005
4481
  if identities is not None:
4006
4482
  pulumi.set(__self__, "identities", identities)
4007
4483
  if identity_type is not None:
4008
4484
  pulumi.set(__self__, "identity_type", identity_type)
4485
+ if source_restriction is not None:
4486
+ pulumi.set(__self__, "source_restriction", source_restriction)
4487
+ if sources is not None:
4488
+ pulumi.set(__self__, "sources", sources)
4009
4489
 
4010
4490
  @property
4011
4491
  @pulumi.getter
@@ -4028,6 +4508,60 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressFrom(dict):
4028
4508
  """
4029
4509
  return pulumi.get(self, "identity_type")
4030
4510
 
4511
+ @property
4512
+ @pulumi.getter(name="sourceRestriction")
4513
+ def source_restriction(self) -> Optional[str]:
4514
+ """
4515
+ Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
4516
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
4517
+ """
4518
+ return pulumi.get(self, "source_restriction")
4519
+
4520
+ @property
4521
+ @pulumi.getter
4522
+ def sources(self) -> Optional[Sequence['outputs.ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSource']]:
4523
+ """
4524
+ Sources that this EgressPolicy authorizes access from.
4525
+ Structure is documented below.
4526
+ """
4527
+ return pulumi.get(self, "sources")
4528
+
4529
+
4530
+ @pulumi.output_type
4531
+ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSource(dict):
4532
+ @staticmethod
4533
+ def __key_warning(key: str):
4534
+ suggest = None
4535
+ if key == "accessLevel":
4536
+ suggest = "access_level"
4537
+
4538
+ if suggest:
4539
+ pulumi.log.warn(f"Key '{key}' not found in ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSource. Access the value via the '{suggest}' property getter instead.")
4540
+
4541
+ def __getitem__(self, key: str) -> Any:
4542
+ ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSource.__key_warning(key)
4543
+ return super().__getitem__(key)
4544
+
4545
+ def get(self, key: str, default = None) -> Any:
4546
+ ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSource.__key_warning(key)
4547
+ return super().get(key, default)
4548
+
4549
+ def __init__(__self__, *,
4550
+ access_level: Optional[str] = None):
4551
+ """
4552
+ :param str access_level: An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
4553
+ """
4554
+ if access_level is not None:
4555
+ pulumi.set(__self__, "access_level", access_level)
4556
+
4557
+ @property
4558
+ @pulumi.getter(name="accessLevel")
4559
+ def access_level(self) -> Optional[str]:
4560
+ """
4561
+ An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
4562
+ """
4563
+ return pulumi.get(self, "access_level")
4564
+
4031
4565
 
4032
4566
  @pulumi.output_type
4033
4567
  class ServicePerimetersServicePerimeterSpecEgressPolicyEgressTo(dict):
@@ -4357,14 +4891,7 @@ class ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSource(dict):
4357
4891
  access_level: Optional[str] = None,
4358
4892
  resource: Optional[str] = None):
4359
4893
  """
4360
- :param str access_level: An `AccessLevel` resource name that allow resources within the
4361
- `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
4362
- must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
4363
- `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
4364
- resources within the perimeter can only be accessed via Google Cloud calls
4365
- with request origins within the perimeter.
4366
- Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
4367
- If * is specified, then all IngressSources will be allowed.
4894
+ :param str access_level: An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
4368
4895
  :param str resource: A Google Cloud resource that is allowed to ingress the perimeter.
4369
4896
  Requests from these resources will be allowed to access perimeter data.
4370
4897
  Currently only projects are allowed. Format `projects/{project_number}`
@@ -4381,14 +4908,7 @@ class ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSource(dict):
4381
4908
  @pulumi.getter(name="accessLevel")
4382
4909
  def access_level(self) -> Optional[str]:
4383
4910
  """
4384
- An `AccessLevel` resource name that allow resources within the
4385
- `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
4386
- must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
4387
- `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
4388
- resources within the perimeter can only be accessed via Google Cloud calls
4389
- with request origins within the perimeter.
4390
- Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
4391
- If * is specified, then all IngressSources will be allowed.
4911
+ An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
4392
4912
  """
4393
4913
  return pulumi.get(self, "access_level")
4394
4914
 
@@ -4823,6 +5343,8 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressFrom(dict):
4823
5343
  suggest = None
4824
5344
  if key == "identityType":
4825
5345
  suggest = "identity_type"
5346
+ elif key == "sourceRestriction":
5347
+ suggest = "source_restriction"
4826
5348
 
4827
5349
  if suggest:
4828
5350
  pulumi.log.warn(f"Key '{key}' not found in ServicePerimetersServicePerimeterStatusEgressPolicyEgressFrom. Access the value via the '{suggest}' property getter instead.")
@@ -4837,7 +5359,9 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressFrom(dict):
4837
5359
 
4838
5360
  def __init__(__self__, *,
4839
5361
  identities: Optional[Sequence[str]] = None,
4840
- identity_type: Optional[str] = None):
5362
+ identity_type: Optional[str] = None,
5363
+ source_restriction: Optional[str] = None,
5364
+ sources: Optional[Sequence['outputs.ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSource']] = None):
4841
5365
  """
4842
5366
  :param Sequence[str] identities: A list of identities that are allowed access through this `EgressPolicy`.
4843
5367
  Should be in the format of email address. The email address should
@@ -4846,11 +5370,19 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressFrom(dict):
4846
5370
  perimeter. If left unspecified, then members of `identities` field will
4847
5371
  be allowed access.
4848
5372
  Possible values are: `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.
5373
+ :param str source_restriction: Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
5374
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
5375
+ :param Sequence['ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArgs'] sources: Sources that this EgressPolicy authorizes access from.
5376
+ Structure is documented below.
4849
5377
  """
4850
5378
  if identities is not None:
4851
5379
  pulumi.set(__self__, "identities", identities)
4852
5380
  if identity_type is not None:
4853
5381
  pulumi.set(__self__, "identity_type", identity_type)
5382
+ if source_restriction is not None:
5383
+ pulumi.set(__self__, "source_restriction", source_restriction)
5384
+ if sources is not None:
5385
+ pulumi.set(__self__, "sources", sources)
4854
5386
 
4855
5387
  @property
4856
5388
  @pulumi.getter
@@ -4873,6 +5405,60 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressFrom(dict):
4873
5405
  """
4874
5406
  return pulumi.get(self, "identity_type")
4875
5407
 
5408
+ @property
5409
+ @pulumi.getter(name="sourceRestriction")
5410
+ def source_restriction(self) -> Optional[str]:
5411
+ """
5412
+ Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
5413
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
5414
+ """
5415
+ return pulumi.get(self, "source_restriction")
5416
+
5417
+ @property
5418
+ @pulumi.getter
5419
+ def sources(self) -> Optional[Sequence['outputs.ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSource']]:
5420
+ """
5421
+ Sources that this EgressPolicy authorizes access from.
5422
+ Structure is documented below.
5423
+ """
5424
+ return pulumi.get(self, "sources")
5425
+
5426
+
5427
+ @pulumi.output_type
5428
+ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSource(dict):
5429
+ @staticmethod
5430
+ def __key_warning(key: str):
5431
+ suggest = None
5432
+ if key == "accessLevel":
5433
+ suggest = "access_level"
5434
+
5435
+ if suggest:
5436
+ pulumi.log.warn(f"Key '{key}' not found in ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSource. Access the value via the '{suggest}' property getter instead.")
5437
+
5438
+ def __getitem__(self, key: str) -> Any:
5439
+ ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSource.__key_warning(key)
5440
+ return super().__getitem__(key)
5441
+
5442
+ def get(self, key: str, default = None) -> Any:
5443
+ ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSource.__key_warning(key)
5444
+ return super().get(key, default)
5445
+
5446
+ def __init__(__self__, *,
5447
+ access_level: Optional[str] = None):
5448
+ """
5449
+ :param str access_level: An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
5450
+ """
5451
+ if access_level is not None:
5452
+ pulumi.set(__self__, "access_level", access_level)
5453
+
5454
+ @property
5455
+ @pulumi.getter(name="accessLevel")
5456
+ def access_level(self) -> Optional[str]:
5457
+ """
5458
+ An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
5459
+ """
5460
+ return pulumi.get(self, "access_level")
5461
+
4876
5462
 
4877
5463
  @pulumi.output_type
4878
5464
  class ServicePerimetersServicePerimeterStatusEgressPolicyEgressTo(dict):
@@ -5202,14 +5788,7 @@ class ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSource(dict
5202
5788
  access_level: Optional[str] = None,
5203
5789
  resource: Optional[str] = None):
5204
5790
  """
5205
- :param str access_level: An `AccessLevel` resource name that allow resources within the
5206
- `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
5207
- must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
5208
- `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
5209
- resources within the perimeter can only be accessed via Google Cloud calls
5210
- with request origins within the perimeter.
5211
- Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
5212
- If * is specified, then all IngressSources will be allowed.
5791
+ :param str access_level: An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
5213
5792
  :param str resource: A Google Cloud resource that is allowed to ingress the perimeter.
5214
5793
  Requests from these resources will be allowed to access perimeter data.
5215
5794
  Currently only projects are allowed. Format `projects/{project_number}`
@@ -5226,14 +5805,7 @@ class ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSource(dict
5226
5805
  @pulumi.getter(name="accessLevel")
5227
5806
  def access_level(self) -> Optional[str]:
5228
5807
  """
5229
- An `AccessLevel` resource name that allow resources within the
5230
- `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
5231
- must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
5232
- `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
5233
- resources within the perimeter can only be accessed via Google Cloud calls
5234
- with request origins within the perimeter.
5235
- Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
5236
- If * is specified, then all IngressSources will be allowed.
5808
+ An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
5237
5809
  """
5238
5810
  return pulumi.get(self, "access_level")
5239
5811