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
@@ -14,8 +14,12 @@ __all__ = [
14
14
  'AccessLevelBasicConditionArgs',
15
15
  'AccessLevelBasicConditionDevicePolicyArgs',
16
16
  'AccessLevelBasicConditionDevicePolicyOsConstraintArgs',
17
+ 'AccessLevelBasicConditionVpcNetworkSourceArgs',
18
+ 'AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs',
17
19
  'AccessLevelConditionDevicePolicyArgs',
18
20
  'AccessLevelConditionDevicePolicyOsConstraintArgs',
21
+ 'AccessLevelConditionVpcNetworkSourceArgs',
22
+ 'AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs',
19
23
  'AccessLevelCustomArgs',
20
24
  'AccessLevelCustomExprArgs',
21
25
  'AccessLevelsAccessLevelArgs',
@@ -23,11 +27,14 @@ __all__ = [
23
27
  'AccessLevelsAccessLevelBasicConditionArgs',
24
28
  'AccessLevelsAccessLevelBasicConditionDevicePolicyArgs',
25
29
  'AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs',
30
+ 'AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArgs',
31
+ 'AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs',
26
32
  'AccessLevelsAccessLevelCustomArgs',
27
33
  'AccessLevelsAccessLevelCustomExprArgs',
28
34
  'AccessPolicyIamBindingConditionArgs',
29
35
  'AccessPolicyIamMemberConditionArgs',
30
36
  'ServicePerimeterEgressPolicyEgressFromArgs',
37
+ 'ServicePerimeterEgressPolicyEgressFromSourceArgs',
31
38
  'ServicePerimeterEgressPolicyEgressToArgs',
32
39
  'ServicePerimeterEgressPolicyEgressToOperationArgs',
33
40
  'ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArgs',
@@ -39,6 +46,7 @@ __all__ = [
39
46
  'ServicePerimeterSpecArgs',
40
47
  'ServicePerimeterSpecEgressPolicyArgs',
41
48
  'ServicePerimeterSpecEgressPolicyEgressFromArgs',
49
+ 'ServicePerimeterSpecEgressPolicyEgressFromSourceArgs',
42
50
  'ServicePerimeterSpecEgressPolicyEgressToArgs',
43
51
  'ServicePerimeterSpecEgressPolicyEgressToOperationArgs',
44
52
  'ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs',
@@ -52,6 +60,7 @@ __all__ = [
52
60
  'ServicePerimeterStatusArgs',
53
61
  'ServicePerimeterStatusEgressPolicyArgs',
54
62
  'ServicePerimeterStatusEgressPolicyEgressFromArgs',
63
+ 'ServicePerimeterStatusEgressPolicyEgressFromSourceArgs',
55
64
  'ServicePerimeterStatusEgressPolicyEgressToArgs',
56
65
  'ServicePerimeterStatusEgressPolicyEgressToOperationArgs',
57
66
  'ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs',
@@ -66,6 +75,7 @@ __all__ = [
66
75
  'ServicePerimetersServicePerimeterSpecArgs',
67
76
  'ServicePerimetersServicePerimeterSpecEgressPolicyArgs',
68
77
  'ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs',
78
+ 'ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArgs',
69
79
  'ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs',
70
80
  'ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs',
71
81
  'ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs',
@@ -79,6 +89,7 @@ __all__ = [
79
89
  'ServicePerimetersServicePerimeterStatusArgs',
80
90
  'ServicePerimetersServicePerimeterStatusEgressPolicyArgs',
81
91
  'ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs',
92
+ 'ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArgs',
82
93
  'ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs',
83
94
  'ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs',
84
95
  'ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs',
@@ -151,7 +162,8 @@ class AccessLevelBasicConditionArgs:
151
162
  members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
152
163
  negate: Optional[pulumi.Input[bool]] = None,
153
164
  regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
154
- required_access_levels: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
165
+ required_access_levels: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
166
+ vpc_network_sources: Optional[pulumi.Input[Sequence[pulumi.Input['AccessLevelBasicConditionVpcNetworkSourceArgs']]]] = None):
155
167
  """
156
168
  :param pulumi.Input['AccessLevelBasicConditionDevicePolicyArgs'] device_policy: Device specific restrictions, all restrictions must hold for
157
169
  the Condition to be true. If not specified, all devices are
@@ -185,6 +197,8 @@ class AccessLevelBasicConditionArgs:
185
197
  does not exist is an error. All access levels listed must be
186
198
  granted for the Condition to be true.
187
199
  Format: accessPolicies/{policy_id}/accessLevels/{short_name}
200
+ :param pulumi.Input[Sequence[pulumi.Input['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`.
201
+ Structure is documented below.
188
202
  """
189
203
  if device_policy is not None:
190
204
  pulumi.set(__self__, "device_policy", device_policy)
@@ -198,6 +212,8 @@ class AccessLevelBasicConditionArgs:
198
212
  pulumi.set(__self__, "regions", regions)
199
213
  if required_access_levels is not None:
200
214
  pulumi.set(__self__, "required_access_levels", required_access_levels)
215
+ if vpc_network_sources is not None:
216
+ pulumi.set(__self__, "vpc_network_sources", vpc_network_sources)
201
217
 
202
218
  @property
203
219
  @pulumi.getter(name="devicePolicy")
@@ -297,6 +313,19 @@ class AccessLevelBasicConditionArgs:
297
313
  def required_access_levels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
298
314
  pulumi.set(self, "required_access_levels", value)
299
315
 
316
+ @property
317
+ @pulumi.getter(name="vpcNetworkSources")
318
+ def vpc_network_sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AccessLevelBasicConditionVpcNetworkSourceArgs']]]]:
319
+ """
320
+ The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ip_subnetworks`.
321
+ Structure is documented below.
322
+ """
323
+ return pulumi.get(self, "vpc_network_sources")
324
+
325
+ @vpc_network_sources.setter
326
+ def vpc_network_sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AccessLevelBasicConditionVpcNetworkSourceArgs']]]]):
327
+ pulumi.set(self, "vpc_network_sources", value)
328
+
300
329
 
301
330
  @pulumi.input_type
302
331
  class AccessLevelBasicConditionDevicePolicyArgs:
@@ -475,6 +504,69 @@ class AccessLevelBasicConditionDevicePolicyOsConstraintArgs:
475
504
  pulumi.set(self, "require_verified_chrome_os", value)
476
505
 
477
506
 
507
+ @pulumi.input_type
508
+ class AccessLevelBasicConditionVpcNetworkSourceArgs:
509
+ def __init__(__self__, *,
510
+ vpc_subnetwork: Optional[pulumi.Input['AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs']] = None):
511
+ """
512
+ :param pulumi.Input['AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs'] vpc_subnetwork: Sub networks within a VPC network.
513
+ Structure is documented below.
514
+ """
515
+ if vpc_subnetwork is not None:
516
+ pulumi.set(__self__, "vpc_subnetwork", vpc_subnetwork)
517
+
518
+ @property
519
+ @pulumi.getter(name="vpcSubnetwork")
520
+ def vpc_subnetwork(self) -> Optional[pulumi.Input['AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs']]:
521
+ """
522
+ Sub networks within a VPC network.
523
+ Structure is documented below.
524
+ """
525
+ return pulumi.get(self, "vpc_subnetwork")
526
+
527
+ @vpc_subnetwork.setter
528
+ def vpc_subnetwork(self, value: Optional[pulumi.Input['AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs']]):
529
+ pulumi.set(self, "vpc_subnetwork", value)
530
+
531
+
532
+ @pulumi.input_type
533
+ class AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs:
534
+ def __init__(__self__, *,
535
+ network: pulumi.Input[str],
536
+ vpc_ip_subnetworks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
537
+ """
538
+ :param pulumi.Input[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.
539
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_ip_subnetworks: CIDR block IP subnetwork specification. Must be IPv4.
540
+ """
541
+ pulumi.set(__self__, "network", network)
542
+ if vpc_ip_subnetworks is not None:
543
+ pulumi.set(__self__, "vpc_ip_subnetworks", vpc_ip_subnetworks)
544
+
545
+ @property
546
+ @pulumi.getter
547
+ def network(self) -> pulumi.Input[str]:
548
+ """
549
+ Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.
550
+ """
551
+ return pulumi.get(self, "network")
552
+
553
+ @network.setter
554
+ def network(self, value: pulumi.Input[str]):
555
+ pulumi.set(self, "network", value)
556
+
557
+ @property
558
+ @pulumi.getter(name="vpcIpSubnetworks")
559
+ def vpc_ip_subnetworks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
560
+ """
561
+ CIDR block IP subnetwork specification. Must be IPv4.
562
+ """
563
+ return pulumi.get(self, "vpc_ip_subnetworks")
564
+
565
+ @vpc_ip_subnetworks.setter
566
+ def vpc_ip_subnetworks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
567
+ pulumi.set(self, "vpc_ip_subnetworks", value)
568
+
569
+
478
570
  @pulumi.input_type
479
571
  class AccessLevelConditionDevicePolicyArgs:
480
572
  def __init__(__self__, *,
@@ -636,6 +728,69 @@ class AccessLevelConditionDevicePolicyOsConstraintArgs:
636
728
  pulumi.set(self, "minimum_version", value)
637
729
 
638
730
 
731
+ @pulumi.input_type
732
+ class AccessLevelConditionVpcNetworkSourceArgs:
733
+ def __init__(__self__, *,
734
+ vpc_subnetwork: Optional[pulumi.Input['AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs']] = None):
735
+ """
736
+ :param pulumi.Input['AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs'] vpc_subnetwork: Sub networks within a VPC network.
737
+ Structure is documented below.
738
+ """
739
+ if vpc_subnetwork is not None:
740
+ pulumi.set(__self__, "vpc_subnetwork", vpc_subnetwork)
741
+
742
+ @property
743
+ @pulumi.getter(name="vpcSubnetwork")
744
+ def vpc_subnetwork(self) -> Optional[pulumi.Input['AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs']]:
745
+ """
746
+ Sub networks within a VPC network.
747
+ Structure is documented below.
748
+ """
749
+ return pulumi.get(self, "vpc_subnetwork")
750
+
751
+ @vpc_subnetwork.setter
752
+ def vpc_subnetwork(self, value: Optional[pulumi.Input['AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs']]):
753
+ pulumi.set(self, "vpc_subnetwork", value)
754
+
755
+
756
+ @pulumi.input_type
757
+ class AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs:
758
+ def __init__(__self__, *,
759
+ network: pulumi.Input[str],
760
+ vpc_ip_subnetworks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
761
+ """
762
+ :param pulumi.Input[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.
763
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_ip_subnetworks: CIDR block IP subnetwork specification. Must be IPv4.
764
+ """
765
+ pulumi.set(__self__, "network", network)
766
+ if vpc_ip_subnetworks is not None:
767
+ pulumi.set(__self__, "vpc_ip_subnetworks", vpc_ip_subnetworks)
768
+
769
+ @property
770
+ @pulumi.getter
771
+ def network(self) -> pulumi.Input[str]:
772
+ """
773
+ Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.
774
+ """
775
+ return pulumi.get(self, "network")
776
+
777
+ @network.setter
778
+ def network(self, value: pulumi.Input[str]):
779
+ pulumi.set(self, "network", value)
780
+
781
+ @property
782
+ @pulumi.getter(name="vpcIpSubnetworks")
783
+ def vpc_ip_subnetworks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
784
+ """
785
+ CIDR block IP subnetwork specification. Must be IPv4.
786
+ """
787
+ return pulumi.get(self, "vpc_ip_subnetworks")
788
+
789
+ @vpc_ip_subnetworks.setter
790
+ def vpc_ip_subnetworks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
791
+ pulumi.set(self, "vpc_ip_subnetworks", value)
792
+
793
+
639
794
  @pulumi.input_type
640
795
  class AccessLevelCustomArgs:
641
796
  def __init__(__self__, *,
@@ -889,7 +1044,8 @@ class AccessLevelsAccessLevelBasicConditionArgs:
889
1044
  members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
890
1045
  negate: Optional[pulumi.Input[bool]] = None,
891
1046
  regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
892
- required_access_levels: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
1047
+ required_access_levels: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1048
+ vpc_network_sources: Optional[pulumi.Input[Sequence[pulumi.Input['AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArgs']]]] = None):
893
1049
  """
894
1050
  :param pulumi.Input['AccessLevelsAccessLevelBasicConditionDevicePolicyArgs'] device_policy: Device specific restrictions, all restrictions must hold for
895
1051
  the Condition to be true. If not specified, all devices are
@@ -923,6 +1079,8 @@ class AccessLevelsAccessLevelBasicConditionArgs:
923
1079
  does not exist is an error. All access levels listed must be
924
1080
  granted for the Condition to be true.
925
1081
  Format: accessPolicies/{policy_id}/accessLevels/{short_name}
1082
+ :param pulumi.Input[Sequence[pulumi.Input['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`.
1083
+ Structure is documented below.
926
1084
  """
927
1085
  if device_policy is not None:
928
1086
  pulumi.set(__self__, "device_policy", device_policy)
@@ -936,6 +1094,8 @@ class AccessLevelsAccessLevelBasicConditionArgs:
936
1094
  pulumi.set(__self__, "regions", regions)
937
1095
  if required_access_levels is not None:
938
1096
  pulumi.set(__self__, "required_access_levels", required_access_levels)
1097
+ if vpc_network_sources is not None:
1098
+ pulumi.set(__self__, "vpc_network_sources", vpc_network_sources)
939
1099
 
940
1100
  @property
941
1101
  @pulumi.getter(name="devicePolicy")
@@ -1035,6 +1195,19 @@ class AccessLevelsAccessLevelBasicConditionArgs:
1035
1195
  def required_access_levels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1036
1196
  pulumi.set(self, "required_access_levels", value)
1037
1197
 
1198
+ @property
1199
+ @pulumi.getter(name="vpcNetworkSources")
1200
+ def vpc_network_sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArgs']]]]:
1201
+ """
1202
+ The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ip_subnetworks`.
1203
+ Structure is documented below.
1204
+ """
1205
+ return pulumi.get(self, "vpc_network_sources")
1206
+
1207
+ @vpc_network_sources.setter
1208
+ def vpc_network_sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArgs']]]]):
1209
+ pulumi.set(self, "vpc_network_sources", value)
1210
+
1038
1211
 
1039
1212
  @pulumi.input_type
1040
1213
  class AccessLevelsAccessLevelBasicConditionDevicePolicyArgs:
@@ -1197,6 +1370,69 @@ class AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs:
1197
1370
  pulumi.set(self, "minimum_version", value)
1198
1371
 
1199
1372
 
1373
+ @pulumi.input_type
1374
+ class AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArgs:
1375
+ def __init__(__self__, *,
1376
+ vpc_subnetwork: Optional[pulumi.Input['AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs']] = None):
1377
+ """
1378
+ :param pulumi.Input['AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs'] vpc_subnetwork: Sub networks within a VPC network.
1379
+ Structure is documented below.
1380
+ """
1381
+ if vpc_subnetwork is not None:
1382
+ pulumi.set(__self__, "vpc_subnetwork", vpc_subnetwork)
1383
+
1384
+ @property
1385
+ @pulumi.getter(name="vpcSubnetwork")
1386
+ def vpc_subnetwork(self) -> Optional[pulumi.Input['AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs']]:
1387
+ """
1388
+ Sub networks within a VPC network.
1389
+ Structure is documented below.
1390
+ """
1391
+ return pulumi.get(self, "vpc_subnetwork")
1392
+
1393
+ @vpc_subnetwork.setter
1394
+ def vpc_subnetwork(self, value: Optional[pulumi.Input['AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs']]):
1395
+ pulumi.set(self, "vpc_subnetwork", value)
1396
+
1397
+
1398
+ @pulumi.input_type
1399
+ class AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs:
1400
+ def __init__(__self__, *,
1401
+ network: pulumi.Input[str],
1402
+ vpc_ip_subnetworks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
1403
+ """
1404
+ :param pulumi.Input[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.
1405
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_ip_subnetworks: CIDR block IP subnetwork specification. Must be IPv4.
1406
+ """
1407
+ pulumi.set(__self__, "network", network)
1408
+ if vpc_ip_subnetworks is not None:
1409
+ pulumi.set(__self__, "vpc_ip_subnetworks", vpc_ip_subnetworks)
1410
+
1411
+ @property
1412
+ @pulumi.getter
1413
+ def network(self) -> pulumi.Input[str]:
1414
+ """
1415
+ Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.
1416
+ """
1417
+ return pulumi.get(self, "network")
1418
+
1419
+ @network.setter
1420
+ def network(self, value: pulumi.Input[str]):
1421
+ pulumi.set(self, "network", value)
1422
+
1423
+ @property
1424
+ @pulumi.getter(name="vpcIpSubnetworks")
1425
+ def vpc_ip_subnetworks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1426
+ """
1427
+ CIDR block IP subnetwork specification. Must be IPv4.
1428
+ """
1429
+ return pulumi.get(self, "vpc_ip_subnetworks")
1430
+
1431
+ @vpc_ip_subnetworks.setter
1432
+ def vpc_ip_subnetworks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1433
+ pulumi.set(self, "vpc_ip_subnetworks", value)
1434
+
1435
+
1200
1436
  @pulumi.input_type
1201
1437
  class AccessLevelsAccessLevelCustomArgs:
1202
1438
  def __init__(__self__, *,
@@ -1377,7 +1613,9 @@ class AccessPolicyIamMemberConditionArgs:
1377
1613
  class ServicePerimeterEgressPolicyEgressFromArgs:
1378
1614
  def __init__(__self__, *,
1379
1615
  identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1380
- identity_type: Optional[pulumi.Input[str]] = None):
1616
+ identity_type: Optional[pulumi.Input[str]] = None,
1617
+ source_restriction: Optional[pulumi.Input[str]] = None,
1618
+ sources: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterEgressPolicyEgressFromSourceArgs']]]] = None):
1381
1619
  """
1382
1620
  :param pulumi.Input[Sequence[pulumi.Input[str]]] identities: A list of identities that are allowed access through this `EgressPolicy`.
1383
1621
  Should be in the format of email address. The email address should
@@ -1386,11 +1624,19 @@ class ServicePerimeterEgressPolicyEgressFromArgs:
1386
1624
  perimeter. If left unspecified, then members of `identities` field will
1387
1625
  be allowed access.
1388
1626
  Possible values are: `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.
1627
+ :param pulumi.Input[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`.
1628
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
1629
+ :param pulumi.Input[Sequence[pulumi.Input['ServicePerimeterEgressPolicyEgressFromSourceArgs']]] sources: Sources that this EgressPolicy authorizes access from.
1630
+ Structure is documented below.
1389
1631
  """
1390
1632
  if identities is not None:
1391
1633
  pulumi.set(__self__, "identities", identities)
1392
1634
  if identity_type is not None:
1393
1635
  pulumi.set(__self__, "identity_type", identity_type)
1636
+ if source_restriction is not None:
1637
+ pulumi.set(__self__, "source_restriction", source_restriction)
1638
+ if sources is not None:
1639
+ pulumi.set(__self__, "sources", sources)
1394
1640
 
1395
1641
  @property
1396
1642
  @pulumi.getter
@@ -1421,6 +1667,55 @@ class ServicePerimeterEgressPolicyEgressFromArgs:
1421
1667
  def identity_type(self, value: Optional[pulumi.Input[str]]):
1422
1668
  pulumi.set(self, "identity_type", value)
1423
1669
 
1670
+ @property
1671
+ @pulumi.getter(name="sourceRestriction")
1672
+ def source_restriction(self) -> Optional[pulumi.Input[str]]:
1673
+ """
1674
+ 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`.
1675
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
1676
+ """
1677
+ return pulumi.get(self, "source_restriction")
1678
+
1679
+ @source_restriction.setter
1680
+ def source_restriction(self, value: Optional[pulumi.Input[str]]):
1681
+ pulumi.set(self, "source_restriction", value)
1682
+
1683
+ @property
1684
+ @pulumi.getter
1685
+ def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterEgressPolicyEgressFromSourceArgs']]]]:
1686
+ """
1687
+ Sources that this EgressPolicy authorizes access from.
1688
+ Structure is documented below.
1689
+ """
1690
+ return pulumi.get(self, "sources")
1691
+
1692
+ @sources.setter
1693
+ def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterEgressPolicyEgressFromSourceArgs']]]]):
1694
+ pulumi.set(self, "sources", value)
1695
+
1696
+
1697
+ @pulumi.input_type
1698
+ class ServicePerimeterEgressPolicyEgressFromSourceArgs:
1699
+ def __init__(__self__, *,
1700
+ access_level: Optional[pulumi.Input[str]] = None):
1701
+ """
1702
+ :param pulumi.Input[str] access_level: An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
1703
+ """
1704
+ if access_level is not None:
1705
+ pulumi.set(__self__, "access_level", access_level)
1706
+
1707
+ @property
1708
+ @pulumi.getter(name="accessLevel")
1709
+ def access_level(self) -> Optional[pulumi.Input[str]]:
1710
+ """
1711
+ An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
1712
+ """
1713
+ return pulumi.get(self, "access_level")
1714
+
1715
+ @access_level.setter
1716
+ def access_level(self, value: Optional[pulumi.Input[str]]):
1717
+ pulumi.set(self, "access_level", value)
1718
+
1424
1719
 
1425
1720
  @pulumi.input_type
1426
1721
  class ServicePerimeterEgressPolicyEgressToArgs:
@@ -2072,7 +2367,9 @@ class ServicePerimeterSpecEgressPolicyArgs:
2072
2367
  class ServicePerimeterSpecEgressPolicyEgressFromArgs:
2073
2368
  def __init__(__self__, *,
2074
2369
  identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2075
- identity_type: Optional[pulumi.Input[str]] = None):
2370
+ identity_type: Optional[pulumi.Input[str]] = None,
2371
+ source_restriction: Optional[pulumi.Input[str]] = None,
2372
+ sources: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterSpecEgressPolicyEgressFromSourceArgs']]]] = None):
2076
2373
  """
2077
2374
  :param pulumi.Input[Sequence[pulumi.Input[str]]] identities: A list of identities that are allowed access through this `EgressPolicy`.
2078
2375
  Should be in the format of email address. The email address should
@@ -2081,11 +2378,19 @@ class ServicePerimeterSpecEgressPolicyEgressFromArgs:
2081
2378
  perimeter. If left unspecified, then members of `identities` field will
2082
2379
  be allowed access.
2083
2380
  Possible values are: `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.
2381
+ :param pulumi.Input[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`.
2382
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
2383
+ :param pulumi.Input[Sequence[pulumi.Input['ServicePerimeterSpecEgressPolicyEgressFromSourceArgs']]] sources: Sources that this EgressPolicy authorizes access from.
2384
+ Structure is documented below.
2084
2385
  """
2085
2386
  if identities is not None:
2086
2387
  pulumi.set(__self__, "identities", identities)
2087
2388
  if identity_type is not None:
2088
2389
  pulumi.set(__self__, "identity_type", identity_type)
2390
+ if source_restriction is not None:
2391
+ pulumi.set(__self__, "source_restriction", source_restriction)
2392
+ if sources is not None:
2393
+ pulumi.set(__self__, "sources", sources)
2089
2394
 
2090
2395
  @property
2091
2396
  @pulumi.getter
@@ -2116,6 +2421,55 @@ class ServicePerimeterSpecEgressPolicyEgressFromArgs:
2116
2421
  def identity_type(self, value: Optional[pulumi.Input[str]]):
2117
2422
  pulumi.set(self, "identity_type", value)
2118
2423
 
2424
+ @property
2425
+ @pulumi.getter(name="sourceRestriction")
2426
+ def source_restriction(self) -> Optional[pulumi.Input[str]]:
2427
+ """
2428
+ 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`.
2429
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
2430
+ """
2431
+ return pulumi.get(self, "source_restriction")
2432
+
2433
+ @source_restriction.setter
2434
+ def source_restriction(self, value: Optional[pulumi.Input[str]]):
2435
+ pulumi.set(self, "source_restriction", value)
2436
+
2437
+ @property
2438
+ @pulumi.getter
2439
+ def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterSpecEgressPolicyEgressFromSourceArgs']]]]:
2440
+ """
2441
+ Sources that this EgressPolicy authorizes access from.
2442
+ Structure is documented below.
2443
+ """
2444
+ return pulumi.get(self, "sources")
2445
+
2446
+ @sources.setter
2447
+ def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterSpecEgressPolicyEgressFromSourceArgs']]]]):
2448
+ pulumi.set(self, "sources", value)
2449
+
2450
+
2451
+ @pulumi.input_type
2452
+ class ServicePerimeterSpecEgressPolicyEgressFromSourceArgs:
2453
+ def __init__(__self__, *,
2454
+ access_level: Optional[pulumi.Input[str]] = None):
2455
+ """
2456
+ :param pulumi.Input[str] access_level: An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
2457
+ """
2458
+ if access_level is not None:
2459
+ pulumi.set(__self__, "access_level", access_level)
2460
+
2461
+ @property
2462
+ @pulumi.getter(name="accessLevel")
2463
+ def access_level(self) -> Optional[pulumi.Input[str]]:
2464
+ """
2465
+ An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
2466
+ """
2467
+ return pulumi.get(self, "access_level")
2468
+
2469
+ @access_level.setter
2470
+ def access_level(self, value: Optional[pulumi.Input[str]]):
2471
+ pulumi.set(self, "access_level", value)
2472
+
2119
2473
 
2120
2474
  @pulumi.input_type
2121
2475
  class ServicePerimeterSpecEgressPolicyEgressToArgs:
@@ -2404,14 +2758,7 @@ class ServicePerimeterSpecIngressPolicyIngressFromSourceArgs:
2404
2758
  access_level: Optional[pulumi.Input[str]] = None,
2405
2759
  resource: Optional[pulumi.Input[str]] = None):
2406
2760
  """
2407
- :param pulumi.Input[str] access_level: An `AccessLevel` resource name that allow resources within the
2408
- `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
2409
- must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
2410
- `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
2411
- resources within the perimeter can only be accessed via Google Cloud calls
2412
- with request origins within the perimeter.
2413
- Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
2414
- If * is specified, then all IngressSources will be allowed.
2761
+ :param pulumi.Input[str] access_level: An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
2415
2762
  :param pulumi.Input[str] resource: A Google Cloud resource that is allowed to ingress the perimeter.
2416
2763
  Requests from these resources will be allowed to access perimeter data.
2417
2764
  Currently only projects are allowed. Format `projects/{project_number}`
@@ -2428,14 +2775,7 @@ class ServicePerimeterSpecIngressPolicyIngressFromSourceArgs:
2428
2775
  @pulumi.getter(name="accessLevel")
2429
2776
  def access_level(self) -> Optional[pulumi.Input[str]]:
2430
2777
  """
2431
- An `AccessLevel` resource name that allow resources within the
2432
- `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
2433
- must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
2434
- `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
2435
- resources within the perimeter can only be accessed via Google Cloud calls
2436
- with request origins within the perimeter.
2437
- Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
2438
- If * is specified, then all IngressSources will be allowed.
2778
+ An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
2439
2779
  """
2440
2780
  return pulumi.get(self, "access_level")
2441
2781
 
@@ -2857,7 +3197,9 @@ class ServicePerimeterStatusEgressPolicyArgs:
2857
3197
  class ServicePerimeterStatusEgressPolicyEgressFromArgs:
2858
3198
  def __init__(__self__, *,
2859
3199
  identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2860
- identity_type: Optional[pulumi.Input[str]] = None):
3200
+ identity_type: Optional[pulumi.Input[str]] = None,
3201
+ source_restriction: Optional[pulumi.Input[str]] = None,
3202
+ sources: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterStatusEgressPolicyEgressFromSourceArgs']]]] = None):
2861
3203
  """
2862
3204
  :param pulumi.Input[Sequence[pulumi.Input[str]]] identities: A list of identities that are allowed access through this `EgressPolicy`.
2863
3205
  Should be in the format of email address. The email address should
@@ -2866,11 +3208,19 @@ class ServicePerimeterStatusEgressPolicyEgressFromArgs:
2866
3208
  perimeter. If left unspecified, then members of `identities` field will
2867
3209
  be allowed access.
2868
3210
  Possible values are: `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.
3211
+ :param pulumi.Input[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`.
3212
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
3213
+ :param pulumi.Input[Sequence[pulumi.Input['ServicePerimeterStatusEgressPolicyEgressFromSourceArgs']]] sources: Sources that this EgressPolicy authorizes access from.
3214
+ Structure is documented below.
2869
3215
  """
2870
3216
  if identities is not None:
2871
3217
  pulumi.set(__self__, "identities", identities)
2872
3218
  if identity_type is not None:
2873
3219
  pulumi.set(__self__, "identity_type", identity_type)
3220
+ if source_restriction is not None:
3221
+ pulumi.set(__self__, "source_restriction", source_restriction)
3222
+ if sources is not None:
3223
+ pulumi.set(__self__, "sources", sources)
2874
3224
 
2875
3225
  @property
2876
3226
  @pulumi.getter
@@ -2901,6 +3251,55 @@ class ServicePerimeterStatusEgressPolicyEgressFromArgs:
2901
3251
  def identity_type(self, value: Optional[pulumi.Input[str]]):
2902
3252
  pulumi.set(self, "identity_type", value)
2903
3253
 
3254
+ @property
3255
+ @pulumi.getter(name="sourceRestriction")
3256
+ def source_restriction(self) -> Optional[pulumi.Input[str]]:
3257
+ """
3258
+ 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`.
3259
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
3260
+ """
3261
+ return pulumi.get(self, "source_restriction")
3262
+
3263
+ @source_restriction.setter
3264
+ def source_restriction(self, value: Optional[pulumi.Input[str]]):
3265
+ pulumi.set(self, "source_restriction", value)
3266
+
3267
+ @property
3268
+ @pulumi.getter
3269
+ def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterStatusEgressPolicyEgressFromSourceArgs']]]]:
3270
+ """
3271
+ Sources that this EgressPolicy authorizes access from.
3272
+ Structure is documented below.
3273
+ """
3274
+ return pulumi.get(self, "sources")
3275
+
3276
+ @sources.setter
3277
+ def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterStatusEgressPolicyEgressFromSourceArgs']]]]):
3278
+ pulumi.set(self, "sources", value)
3279
+
3280
+
3281
+ @pulumi.input_type
3282
+ class ServicePerimeterStatusEgressPolicyEgressFromSourceArgs:
3283
+ def __init__(__self__, *,
3284
+ access_level: Optional[pulumi.Input[str]] = None):
3285
+ """
3286
+ :param pulumi.Input[str] access_level: An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
3287
+ """
3288
+ if access_level is not None:
3289
+ pulumi.set(__self__, "access_level", access_level)
3290
+
3291
+ @property
3292
+ @pulumi.getter(name="accessLevel")
3293
+ def access_level(self) -> Optional[pulumi.Input[str]]:
3294
+ """
3295
+ An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
3296
+ """
3297
+ return pulumi.get(self, "access_level")
3298
+
3299
+ @access_level.setter
3300
+ def access_level(self, value: Optional[pulumi.Input[str]]):
3301
+ pulumi.set(self, "access_level", value)
3302
+
2904
3303
 
2905
3304
  @pulumi.input_type
2906
3305
  class ServicePerimeterStatusEgressPolicyEgressToArgs:
@@ -3189,14 +3588,7 @@ class ServicePerimeterStatusIngressPolicyIngressFromSourceArgs:
3189
3588
  access_level: Optional[pulumi.Input[str]] = None,
3190
3589
  resource: Optional[pulumi.Input[str]] = None):
3191
3590
  """
3192
- :param pulumi.Input[str] access_level: An `AccessLevel` resource name that allow resources within the
3193
- `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
3194
- must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
3195
- `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
3196
- resources within the perimeter can only be accessed via Google Cloud calls
3197
- with request origins within the perimeter.
3198
- Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
3199
- If * is specified, then all IngressSources will be allowed.
3591
+ :param pulumi.Input[str] access_level: An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
3200
3592
  :param pulumi.Input[str] resource: A Google Cloud resource that is allowed to ingress the perimeter.
3201
3593
  Requests from these resources will be allowed to access perimeter data.
3202
3594
  Currently only projects are allowed. Format `projects/{project_number}`
@@ -3213,14 +3605,7 @@ class ServicePerimeterStatusIngressPolicyIngressFromSourceArgs:
3213
3605
  @pulumi.getter(name="accessLevel")
3214
3606
  def access_level(self) -> Optional[pulumi.Input[str]]:
3215
3607
  """
3216
- An `AccessLevel` resource name that allow resources within the
3217
- `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
3218
- must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
3219
- `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
3220
- resources within the perimeter can only be accessed via Google Cloud calls
3221
- with request origins within the perimeter.
3222
- Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
3223
- If * is specified, then all IngressSources will be allowed.
3608
+ An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
3224
3609
  """
3225
3610
  return pulumi.get(self, "access_level")
3226
3611
 
@@ -3861,7 +4246,9 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyArgs:
3861
4246
  class ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs:
3862
4247
  def __init__(__self__, *,
3863
4248
  identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3864
- identity_type: Optional[pulumi.Input[str]] = None):
4249
+ identity_type: Optional[pulumi.Input[str]] = None,
4250
+ source_restriction: Optional[pulumi.Input[str]] = None,
4251
+ sources: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArgs']]]] = None):
3865
4252
  """
3866
4253
  :param pulumi.Input[Sequence[pulumi.Input[str]]] identities: A list of identities that are allowed access through this `EgressPolicy`.
3867
4254
  Should be in the format of email address. The email address should
@@ -3870,11 +4257,19 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs:
3870
4257
  perimeter. If left unspecified, then members of `identities` field will
3871
4258
  be allowed access.
3872
4259
  Possible values are: `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.
4260
+ :param pulumi.Input[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`.
4261
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
4262
+ :param pulumi.Input[Sequence[pulumi.Input['ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArgs']]] sources: Sources that this EgressPolicy authorizes access from.
4263
+ Structure is documented below.
3873
4264
  """
3874
4265
  if identities is not None:
3875
4266
  pulumi.set(__self__, "identities", identities)
3876
4267
  if identity_type is not None:
3877
4268
  pulumi.set(__self__, "identity_type", identity_type)
4269
+ if source_restriction is not None:
4270
+ pulumi.set(__self__, "source_restriction", source_restriction)
4271
+ if sources is not None:
4272
+ pulumi.set(__self__, "sources", sources)
3878
4273
 
3879
4274
  @property
3880
4275
  @pulumi.getter
@@ -3905,6 +4300,55 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs:
3905
4300
  def identity_type(self, value: Optional[pulumi.Input[str]]):
3906
4301
  pulumi.set(self, "identity_type", value)
3907
4302
 
4303
+ @property
4304
+ @pulumi.getter(name="sourceRestriction")
4305
+ def source_restriction(self) -> Optional[pulumi.Input[str]]:
4306
+ """
4307
+ 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`.
4308
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
4309
+ """
4310
+ return pulumi.get(self, "source_restriction")
4311
+
4312
+ @source_restriction.setter
4313
+ def source_restriction(self, value: Optional[pulumi.Input[str]]):
4314
+ pulumi.set(self, "source_restriction", value)
4315
+
4316
+ @property
4317
+ @pulumi.getter
4318
+ def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArgs']]]]:
4319
+ """
4320
+ Sources that this EgressPolicy authorizes access from.
4321
+ Structure is documented below.
4322
+ """
4323
+ return pulumi.get(self, "sources")
4324
+
4325
+ @sources.setter
4326
+ def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArgs']]]]):
4327
+ pulumi.set(self, "sources", value)
4328
+
4329
+
4330
+ @pulumi.input_type
4331
+ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArgs:
4332
+ def __init__(__self__, *,
4333
+ access_level: Optional[pulumi.Input[str]] = None):
4334
+ """
4335
+ :param pulumi.Input[str] access_level: An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
4336
+ """
4337
+ if access_level is not None:
4338
+ pulumi.set(__self__, "access_level", access_level)
4339
+
4340
+ @property
4341
+ @pulumi.getter(name="accessLevel")
4342
+ def access_level(self) -> Optional[pulumi.Input[str]]:
4343
+ """
4344
+ An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
4345
+ """
4346
+ return pulumi.get(self, "access_level")
4347
+
4348
+ @access_level.setter
4349
+ def access_level(self, value: Optional[pulumi.Input[str]]):
4350
+ pulumi.set(self, "access_level", value)
4351
+
3908
4352
 
3909
4353
  @pulumi.input_type
3910
4354
  class ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs:
@@ -4193,14 +4637,7 @@ class ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs:
4193
4637
  access_level: Optional[pulumi.Input[str]] = None,
4194
4638
  resource: Optional[pulumi.Input[str]] = None):
4195
4639
  """
4196
- :param pulumi.Input[str] access_level: An `AccessLevel` resource name that allow resources within the
4197
- `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
4198
- must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
4199
- `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
4200
- resources within the perimeter can only be accessed via Google Cloud calls
4201
- with request origins within the perimeter.
4202
- Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
4203
- If * is specified, then all IngressSources will be allowed.
4640
+ :param pulumi.Input[str] access_level: An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
4204
4641
  :param pulumi.Input[str] resource: A Google Cloud resource that is allowed to ingress the perimeter.
4205
4642
  Requests from these resources will be allowed to access perimeter data.
4206
4643
  Currently only projects are allowed. Format `projects/{project_number}`
@@ -4217,14 +4654,7 @@ class ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs:
4217
4654
  @pulumi.getter(name="accessLevel")
4218
4655
  def access_level(self) -> Optional[pulumi.Input[str]]:
4219
4656
  """
4220
- An `AccessLevel` resource name that allow resources within the
4221
- `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
4222
- must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
4223
- `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
4224
- resources within the perimeter can only be accessed via Google Cloud calls
4225
- with request origins within the perimeter.
4226
- Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
4227
- If * is specified, then all IngressSources will be allowed.
4657
+ An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
4228
4658
  """
4229
4659
  return pulumi.get(self, "access_level")
4230
4660
 
@@ -4646,7 +5076,9 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyArgs:
4646
5076
  class ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs:
4647
5077
  def __init__(__self__, *,
4648
5078
  identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
4649
- identity_type: Optional[pulumi.Input[str]] = None):
5079
+ identity_type: Optional[pulumi.Input[str]] = None,
5080
+ source_restriction: Optional[pulumi.Input[str]] = None,
5081
+ sources: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArgs']]]] = None):
4650
5082
  """
4651
5083
  :param pulumi.Input[Sequence[pulumi.Input[str]]] identities: A list of identities that are allowed access through this `EgressPolicy`.
4652
5084
  Should be in the format of email address. The email address should
@@ -4655,11 +5087,19 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs:
4655
5087
  perimeter. If left unspecified, then members of `identities` field will
4656
5088
  be allowed access.
4657
5089
  Possible values are: `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.
5090
+ :param pulumi.Input[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`.
5091
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
5092
+ :param pulumi.Input[Sequence[pulumi.Input['ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArgs']]] sources: Sources that this EgressPolicy authorizes access from.
5093
+ Structure is documented below.
4658
5094
  """
4659
5095
  if identities is not None:
4660
5096
  pulumi.set(__self__, "identities", identities)
4661
5097
  if identity_type is not None:
4662
5098
  pulumi.set(__self__, "identity_type", identity_type)
5099
+ if source_restriction is not None:
5100
+ pulumi.set(__self__, "source_restriction", source_restriction)
5101
+ if sources is not None:
5102
+ pulumi.set(__self__, "sources", sources)
4663
5103
 
4664
5104
  @property
4665
5105
  @pulumi.getter
@@ -4690,6 +5130,55 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs:
4690
5130
  def identity_type(self, value: Optional[pulumi.Input[str]]):
4691
5131
  pulumi.set(self, "identity_type", value)
4692
5132
 
5133
+ @property
5134
+ @pulumi.getter(name="sourceRestriction")
5135
+ def source_restriction(self) -> Optional[pulumi.Input[str]]:
5136
+ """
5137
+ 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`.
5138
+ Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
5139
+ """
5140
+ return pulumi.get(self, "source_restriction")
5141
+
5142
+ @source_restriction.setter
5143
+ def source_restriction(self, value: Optional[pulumi.Input[str]]):
5144
+ pulumi.set(self, "source_restriction", value)
5145
+
5146
+ @property
5147
+ @pulumi.getter
5148
+ def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArgs']]]]:
5149
+ """
5150
+ Sources that this EgressPolicy authorizes access from.
5151
+ Structure is documented below.
5152
+ """
5153
+ return pulumi.get(self, "sources")
5154
+
5155
+ @sources.setter
5156
+ def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArgs']]]]):
5157
+ pulumi.set(self, "sources", value)
5158
+
5159
+
5160
+ @pulumi.input_type
5161
+ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArgs:
5162
+ def __init__(__self__, *,
5163
+ access_level: Optional[pulumi.Input[str]] = None):
5164
+ """
5165
+ :param pulumi.Input[str] access_level: An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
5166
+ """
5167
+ if access_level is not None:
5168
+ pulumi.set(__self__, "access_level", access_level)
5169
+
5170
+ @property
5171
+ @pulumi.getter(name="accessLevel")
5172
+ def access_level(self) -> Optional[pulumi.Input[str]]:
5173
+ """
5174
+ An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
5175
+ """
5176
+ return pulumi.get(self, "access_level")
5177
+
5178
+ @access_level.setter
5179
+ def access_level(self, value: Optional[pulumi.Input[str]]):
5180
+ pulumi.set(self, "access_level", value)
5181
+
4693
5182
 
4694
5183
  @pulumi.input_type
4695
5184
  class ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs:
@@ -4978,14 +5467,7 @@ class ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs:
4978
5467
  access_level: Optional[pulumi.Input[str]] = None,
4979
5468
  resource: Optional[pulumi.Input[str]] = None):
4980
5469
  """
4981
- :param pulumi.Input[str] access_level: An `AccessLevel` resource name that allow resources within the
4982
- `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
4983
- must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
4984
- `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
4985
- resources within the perimeter can only be accessed via Google Cloud calls
4986
- with request origins within the perimeter.
4987
- Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
4988
- If * is specified, then all IngressSources will be allowed.
5470
+ :param pulumi.Input[str] access_level: An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
4989
5471
  :param pulumi.Input[str] resource: A Google Cloud resource that is allowed to ingress the perimeter.
4990
5472
  Requests from these resources will be allowed to access perimeter data.
4991
5473
  Currently only projects are allowed. Format `projects/{project_number}`
@@ -5002,14 +5484,7 @@ class ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs:
5002
5484
  @pulumi.getter(name="accessLevel")
5003
5485
  def access_level(self) -> Optional[pulumi.Input[str]]:
5004
5486
  """
5005
- An `AccessLevel` resource name that allow resources within the
5006
- `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
5007
- must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
5008
- `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
5009
- resources within the perimeter can only be accessed via Google Cloud calls
5010
- with request origins within the perimeter.
5011
- Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
5012
- If * is specified, then all IngressSources will be allowed.
5487
+ An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
5013
5488
  """
5014
5489
  return pulumi.get(self, "access_level")
5015
5490