pulumi-gcp 8.25.0a1743489606__py3-none-any.whl → 8.25.0a1743706148__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. pulumi_gcp/__init__.py +104 -0
  2. pulumi_gcp/_inputs.py +48 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +324 -12
  4. pulumi_gcp/accesscontextmanager/outputs.py +204 -12
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
  6. pulumi_gcp/apigee/__init__.py +1 -0
  7. pulumi_gcp/apigee/_inputs.py +58 -0
  8. pulumi_gcp/apigee/dns_zone.py +491 -0
  9. pulumi_gcp/apigee/outputs.py +53 -0
  10. pulumi_gcp/bigquery/reservation_assignment.py +7 -7
  11. pulumi_gcp/bigtable/table.py +8 -8
  12. pulumi_gcp/chronicle/data_access_label.py +2 -2
  13. pulumi_gcp/chronicle/data_access_scope.py +16 -0
  14. pulumi_gcp/chronicle/reference_list.py +16 -0
  15. pulumi_gcp/chronicle/retrohunt.py +16 -0
  16. pulumi_gcp/chronicle/rule.py +16 -0
  17. pulumi_gcp/chronicle/rule_deployment.py +16 -0
  18. pulumi_gcp/chronicle/watchlist.py +16 -0
  19. pulumi_gcp/cloudfunctionsv2/_inputs.py +20 -0
  20. pulumi_gcp/cloudfunctionsv2/outputs.py +25 -0
  21. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  22. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  23. pulumi_gcp/compute/__init__.py +1 -0
  24. pulumi_gcp/compute/_inputs.py +2011 -43
  25. pulumi_gcp/compute/backend_service.py +121 -3
  26. pulumi_gcp/compute/get_backend_service.py +15 -4
  27. pulumi_gcp/compute/get_instance.py +12 -1
  28. pulumi_gcp/compute/get_region_backend_service.py +482 -0
  29. pulumi_gcp/compute/get_router.py +12 -1
  30. pulumi_gcp/compute/get_subnetwork.py +43 -1
  31. pulumi_gcp/compute/instance.py +47 -0
  32. pulumi_gcp/compute/instance_from_machine_image.py +94 -0
  33. pulumi_gcp/compute/instance_from_template.py +47 -0
  34. pulumi_gcp/compute/outputs.py +3578 -139
  35. pulumi_gcp/compute/public_delegated_prefix.py +69 -15
  36. pulumi_gcp/compute/router.py +54 -0
  37. pulumi_gcp/compute/subnetwork.py +35 -5
  38. pulumi_gcp/config/__init__.pyi +2 -0
  39. pulumi_gcp/config/outputs.py +27 -0
  40. pulumi_gcp/config/vars.py +4 -0
  41. pulumi_gcp/container/_inputs.py +12 -12
  42. pulumi_gcp/container/cluster.py +47 -0
  43. pulumi_gcp/container/get_cluster.py +12 -1
  44. pulumi_gcp/container/get_registry_image.py +4 -0
  45. pulumi_gcp/container/get_registry_repository.py +4 -0
  46. pulumi_gcp/container/outputs.py +8 -8
  47. pulumi_gcp/container/registry.py +4 -0
  48. pulumi_gcp/datafusion/instance.py +68 -0
  49. pulumi_gcp/dataproc/__init__.py +8 -0
  50. pulumi_gcp/dataproc/_inputs.py +196 -0
  51. pulumi_gcp/dataproc/get_metastore_database_iam_policy.py +193 -0
  52. pulumi_gcp/dataproc/get_metastore_table_iam_policy.py +210 -0
  53. pulumi_gcp/dataproc/metastore_database_iam_binding.py +848 -0
  54. pulumi_gcp/dataproc/metastore_database_iam_member.py +848 -0
  55. pulumi_gcp/dataproc/metastore_database_iam_policy.py +687 -0
  56. pulumi_gcp/dataproc/metastore_federation.py +38 -2
  57. pulumi_gcp/dataproc/metastore_table_iam_binding.py +895 -0
  58. pulumi_gcp/dataproc/metastore_table_iam_member.py +895 -0
  59. pulumi_gcp/dataproc/metastore_table_iam_policy.py +734 -0
  60. pulumi_gcp/dataproc/outputs.py +112 -0
  61. pulumi_gcp/datastream/_inputs.py +311 -94
  62. pulumi_gcp/datastream/connection_profile.py +40 -0
  63. pulumi_gcp/datastream/outputs.py +244 -51
  64. pulumi_gcp/datastream/stream.py +216 -0
  65. pulumi_gcp/discoveryengine/__init__.py +1 -0
  66. pulumi_gcp/discoveryengine/sitemap.py +504 -0
  67. pulumi_gcp/eventarc/__init__.py +1 -0
  68. pulumi_gcp/eventarc/enrollment.py +980 -0
  69. pulumi_gcp/firebase/__init__.py +1 -0
  70. pulumi_gcp/firebase/_inputs.py +484 -0
  71. pulumi_gcp/firebase/app_hosting_build.py +1232 -0
  72. pulumi_gcp/firebase/outputs.py +333 -0
  73. pulumi_gcp/identityplatform/_inputs.py +91 -0
  74. pulumi_gcp/identityplatform/outputs.py +73 -0
  75. pulumi_gcp/identityplatform/tenant.py +56 -0
  76. pulumi_gcp/managedkafka/cluster.py +2 -2
  77. pulumi_gcp/memorystore/__init__.py +1 -0
  78. pulumi_gcp/memorystore/_inputs.py +826 -0
  79. pulumi_gcp/memorystore/get_instance.py +23 -1
  80. pulumi_gcp/memorystore/instance.py +344 -23
  81. pulumi_gcp/memorystore/instance_desired_user_created_endpoints.py +843 -0
  82. pulumi_gcp/memorystore/outputs.py +889 -8
  83. pulumi_gcp/networksecurity/_inputs.py +473 -0
  84. pulumi_gcp/networksecurity/mirroring_deployment_group.py +44 -16
  85. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +94 -36
  86. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +53 -8
  87. pulumi_gcp/networksecurity/outputs.py +291 -1
  88. pulumi_gcp/networksecurity/security_profile.py +8 -0
  89. pulumi_gcp/organizations/__init__.py +1 -0
  90. pulumi_gcp/organizations/get_iam_custom_roles.py +164 -0
  91. pulumi_gcp/organizations/outputs.py +96 -0
  92. pulumi_gcp/parametermanager/get_parameter.py +16 -1
  93. pulumi_gcp/parametermanager/get_parameter_version.py +19 -1
  94. pulumi_gcp/parametermanager/get_parameter_version_render.py +4 -0
  95. pulumi_gcp/parametermanager/get_parameters.py +4 -0
  96. pulumi_gcp/parametermanager/get_regional_parameter.py +4 -0
  97. pulumi_gcp/parametermanager/get_regional_parameter_version.py +4 -0
  98. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +8 -0
  99. pulumi_gcp/parametermanager/get_regional_parameters.py +4 -0
  100. pulumi_gcp/parametermanager/outputs.py +11 -0
  101. pulumi_gcp/parametermanager/parameter.py +88 -0
  102. pulumi_gcp/parametermanager/parameter_version.py +74 -0
  103. pulumi_gcp/parametermanager/regional_parameter.py +12 -0
  104. pulumi_gcp/parametermanager/regional_parameter_version.py +12 -0
  105. pulumi_gcp/provider.py +15 -0
  106. pulumi_gcp/pulumi-plugin.json +1 -1
  107. pulumi_gcp/redis/_inputs.py +136 -0
  108. pulumi_gcp/redis/cluster.py +54 -0
  109. pulumi_gcp/redis/outputs.py +114 -0
  110. pulumi_gcp/secretmanager/regional_secret_version.py +0 -16
  111. pulumi_gcp/storage/__init__.py +4 -0
  112. pulumi_gcp/storage/_inputs.py +596 -0
  113. pulumi_gcp/storage/bucket.py +7 -7
  114. pulumi_gcp/storage/control_folder_intelligence_config.py +420 -0
  115. pulumi_gcp/storage/control_organization_intelligence_config.py +420 -0
  116. pulumi_gcp/storage/control_project_intelligence_config.py +49 -7
  117. pulumi_gcp/storage/get_bucket_object_content.py +16 -1
  118. pulumi_gcp/storage/get_control_folder_intelligence_config.py +160 -0
  119. pulumi_gcp/storage/get_control_organization_intelligence_config.py +160 -0
  120. pulumi_gcp/storage/get_control_project_intelligence_config.py +32 -2
  121. pulumi_gcp/storage/outputs.py +2132 -1312
  122. pulumi_gcp/workbench/instance.py +14 -2
  123. {pulumi_gcp-8.25.0a1743489606.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/METADATA +1 -1
  124. {pulumi_gcp-8.25.0a1743489606.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/RECORD +126 -107
  125. {pulumi_gcp-8.25.0a1743489606.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/WHEEL +0 -0
  126. {pulumi_gcp-8.25.0a1743489606.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/top_level.txt +0 -0
@@ -1827,7 +1827,8 @@ class ServicePerimeterDryRunEgressPolicyEgressTo(dict):
1827
1827
  def __init__(__self__, *,
1828
1828
  external_resources: Optional[Sequence[str]] = None,
1829
1829
  operations: Optional[Sequence['outputs.ServicePerimeterDryRunEgressPolicyEgressToOperation']] = None,
1830
- resources: Optional[Sequence[str]] = None):
1830
+ resources: Optional[Sequence[str]] = None,
1831
+ roles: Optional[Sequence[str]] = None):
1831
1832
  """
1832
1833
  :param Sequence[str] external_resources: A list of external resources that are allowed to be accessed. A request
1833
1834
  matches if it contains an external resource in this list (Example:
@@ -1840,6 +1841,9 @@ class ServicePerimeterDryRunEgressPolicyEgressTo(dict):
1840
1841
  if it contains a resource in this list. If * is specified for resources,
1841
1842
  then this `EgressTo` rule will authorize access to all resources outside
1842
1843
  the perimeter.
1844
+ :param Sequence[str] roles: A list of IAM roles that represent the set of operations that the sources
1845
+ specified in the corresponding `EgressFrom`
1846
+ are allowed to perform.
1843
1847
  """
1844
1848
  if external_resources is not None:
1845
1849
  pulumi.set(__self__, "external_resources", external_resources)
@@ -1847,6 +1851,8 @@ class ServicePerimeterDryRunEgressPolicyEgressTo(dict):
1847
1851
  pulumi.set(__self__, "operations", operations)
1848
1852
  if resources is not None:
1849
1853
  pulumi.set(__self__, "resources", resources)
1854
+ if roles is not None:
1855
+ pulumi.set(__self__, "roles", roles)
1850
1856
 
1851
1857
  @property
1852
1858
  @pulumi.getter(name="externalResources")
@@ -1880,6 +1886,16 @@ class ServicePerimeterDryRunEgressPolicyEgressTo(dict):
1880
1886
  """
1881
1887
  return pulumi.get(self, "resources")
1882
1888
 
1889
+ @property
1890
+ @pulumi.getter
1891
+ def roles(self) -> Optional[Sequence[str]]:
1892
+ """
1893
+ A list of IAM roles that represent the set of operations that the sources
1894
+ specified in the corresponding `EgressFrom`
1895
+ are allowed to perform.
1896
+ """
1897
+ return pulumi.get(self, "roles")
1898
+
1883
1899
 
1884
1900
  @pulumi.output_type
1885
1901
  class ServicePerimeterDryRunEgressPolicyEgressToOperation(dict):
@@ -2132,7 +2148,8 @@ class ServicePerimeterDryRunIngressPolicyIngressFromSource(dict):
2132
2148
  class ServicePerimeterDryRunIngressPolicyIngressTo(dict):
2133
2149
  def __init__(__self__, *,
2134
2150
  operations: Optional[Sequence['outputs.ServicePerimeterDryRunIngressPolicyIngressToOperation']] = None,
2135
- resources: Optional[Sequence[str]] = None):
2151
+ resources: Optional[Sequence[str]] = None,
2152
+ roles: Optional[Sequence[str]] = None):
2136
2153
  """
2137
2154
  :param Sequence['ServicePerimeterDryRunIngressPolicyIngressToOperationArgs'] operations: A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
2138
2155
  are allowed to perform in this `ServicePerimeter`.
@@ -2145,11 +2162,16 @@ class ServicePerimeterDryRunIngressPolicyIngressTo(dict):
2145
2162
  then this `IngressTo` rule will authorize access to all
2146
2163
  resources inside the perimeter, provided that the request
2147
2164
  also matches the `operations` field.
2165
+ :param Sequence[str] roles: A list of IAM roles that represent the set of operations that the sources
2166
+ specified in the corresponding `IngressFrom`
2167
+ are allowed to perform.
2148
2168
  """
2149
2169
  if operations is not None:
2150
2170
  pulumi.set(__self__, "operations", operations)
2151
2171
  if resources is not None:
2152
2172
  pulumi.set(__self__, "resources", resources)
2173
+ if roles is not None:
2174
+ pulumi.set(__self__, "roles", roles)
2153
2175
 
2154
2176
  @property
2155
2177
  @pulumi.getter
@@ -2176,6 +2198,16 @@ class ServicePerimeterDryRunIngressPolicyIngressTo(dict):
2176
2198
  """
2177
2199
  return pulumi.get(self, "resources")
2178
2200
 
2201
+ @property
2202
+ @pulumi.getter
2203
+ def roles(self) -> Optional[Sequence[str]]:
2204
+ """
2205
+ A list of IAM roles that represent the set of operations that the sources
2206
+ specified in the corresponding `IngressFrom`
2207
+ are allowed to perform.
2208
+ """
2209
+ return pulumi.get(self, "roles")
2210
+
2179
2211
 
2180
2212
  @pulumi.output_type
2181
2213
  class ServicePerimeterDryRunIngressPolicyIngressToOperation(dict):
@@ -2448,7 +2480,8 @@ class ServicePerimeterEgressPolicyEgressTo(dict):
2448
2480
  def __init__(__self__, *,
2449
2481
  external_resources: Optional[Sequence[str]] = None,
2450
2482
  operations: Optional[Sequence['outputs.ServicePerimeterEgressPolicyEgressToOperation']] = None,
2451
- resources: Optional[Sequence[str]] = None):
2483
+ resources: Optional[Sequence[str]] = None,
2484
+ roles: Optional[Sequence[str]] = None):
2452
2485
  """
2453
2486
  :param Sequence[str] external_resources: A list of external resources that are allowed to be accessed. A request
2454
2487
  matches if it contains an external resource in this list (Example:
@@ -2461,6 +2494,9 @@ class ServicePerimeterEgressPolicyEgressTo(dict):
2461
2494
  if it contains a resource in this list. If * is specified for resources,
2462
2495
  then this `EgressTo` rule will authorize access to all resources outside
2463
2496
  the perimeter.
2497
+ :param Sequence[str] roles: A list of IAM roles that represent the set of operations that the sources
2498
+ specified in the corresponding `EgressFrom`
2499
+ are allowed to perform.
2464
2500
  """
2465
2501
  if external_resources is not None:
2466
2502
  pulumi.set(__self__, "external_resources", external_resources)
@@ -2468,6 +2504,8 @@ class ServicePerimeterEgressPolicyEgressTo(dict):
2468
2504
  pulumi.set(__self__, "operations", operations)
2469
2505
  if resources is not None:
2470
2506
  pulumi.set(__self__, "resources", resources)
2507
+ if roles is not None:
2508
+ pulumi.set(__self__, "roles", roles)
2471
2509
 
2472
2510
  @property
2473
2511
  @pulumi.getter(name="externalResources")
@@ -2501,6 +2539,16 @@ class ServicePerimeterEgressPolicyEgressTo(dict):
2501
2539
  """
2502
2540
  return pulumi.get(self, "resources")
2503
2541
 
2542
+ @property
2543
+ @pulumi.getter
2544
+ def roles(self) -> Optional[Sequence[str]]:
2545
+ """
2546
+ A list of IAM roles that represent the set of operations that the sources
2547
+ specified in the corresponding `EgressFrom`
2548
+ are allowed to perform.
2549
+ """
2550
+ return pulumi.get(self, "roles")
2551
+
2504
2552
 
2505
2553
  @pulumi.output_type
2506
2554
  class ServicePerimeterEgressPolicyEgressToOperation(dict):
@@ -2759,7 +2807,8 @@ class ServicePerimeterIngressPolicyIngressFromSource(dict):
2759
2807
  class ServicePerimeterIngressPolicyIngressTo(dict):
2760
2808
  def __init__(__self__, *,
2761
2809
  operations: Optional[Sequence['outputs.ServicePerimeterIngressPolicyIngressToOperation']] = None,
2762
- resources: Optional[Sequence[str]] = None):
2810
+ resources: Optional[Sequence[str]] = None,
2811
+ roles: Optional[Sequence[str]] = None):
2763
2812
  """
2764
2813
  :param Sequence['ServicePerimeterIngressPolicyIngressToOperationArgs'] operations: A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
2765
2814
  are allowed to perform in this `ServicePerimeter`.
@@ -2772,11 +2821,16 @@ class ServicePerimeterIngressPolicyIngressTo(dict):
2772
2821
  then this `IngressTo` rule will authorize access to all
2773
2822
  resources inside the perimeter, provided that the request
2774
2823
  also matches the `operations` field.
2824
+ :param Sequence[str] roles: A list of IAM roles that represent the set of operations that the sources
2825
+ specified in the corresponding `IngressFrom`
2826
+ are allowed to perform.
2775
2827
  """
2776
2828
  if operations is not None:
2777
2829
  pulumi.set(__self__, "operations", operations)
2778
2830
  if resources is not None:
2779
2831
  pulumi.set(__self__, "resources", resources)
2832
+ if roles is not None:
2833
+ pulumi.set(__self__, "roles", roles)
2780
2834
 
2781
2835
  @property
2782
2836
  @pulumi.getter
@@ -2803,6 +2857,16 @@ class ServicePerimeterIngressPolicyIngressTo(dict):
2803
2857
  """
2804
2858
  return pulumi.get(self, "resources")
2805
2859
 
2860
+ @property
2861
+ @pulumi.getter
2862
+ def roles(self) -> Optional[Sequence[str]]:
2863
+ """
2864
+ A list of IAM roles that represent the set of operations that the sources
2865
+ specified in the corresponding `IngressFrom`
2866
+ are allowed to perform.
2867
+ """
2868
+ return pulumi.get(self, "roles")
2869
+
2806
2870
 
2807
2871
  @pulumi.output_type
2808
2872
  class ServicePerimeterIngressPolicyIngressToOperation(dict):
@@ -3291,7 +3355,8 @@ class ServicePerimeterSpecEgressPolicyEgressTo(dict):
3291
3355
  def __init__(__self__, *,
3292
3356
  external_resources: Optional[Sequence[str]] = None,
3293
3357
  operations: Optional[Sequence['outputs.ServicePerimeterSpecEgressPolicyEgressToOperation']] = None,
3294
- resources: Optional[Sequence[str]] = None):
3358
+ resources: Optional[Sequence[str]] = None,
3359
+ roles: Optional[Sequence[str]] = None):
3295
3360
  """
3296
3361
  :param Sequence[str] external_resources: A list of external resources that are allowed to be accessed. A request
3297
3362
  matches if it contains an external resource in this list (Example:
@@ -3304,6 +3369,9 @@ class ServicePerimeterSpecEgressPolicyEgressTo(dict):
3304
3369
  if it contains a resource in this list. If * is specified for resources,
3305
3370
  then this `EgressTo` rule will authorize access to all resources outside
3306
3371
  the perimeter.
3372
+ :param Sequence[str] roles: A list of IAM roles that represent the set of operations that the sources
3373
+ specified in the corresponding `EgressFrom`
3374
+ are allowed to perform.
3307
3375
  """
3308
3376
  if external_resources is not None:
3309
3377
  pulumi.set(__self__, "external_resources", external_resources)
@@ -3311,6 +3379,8 @@ class ServicePerimeterSpecEgressPolicyEgressTo(dict):
3311
3379
  pulumi.set(__self__, "operations", operations)
3312
3380
  if resources is not None:
3313
3381
  pulumi.set(__self__, "resources", resources)
3382
+ if roles is not None:
3383
+ pulumi.set(__self__, "roles", roles)
3314
3384
 
3315
3385
  @property
3316
3386
  @pulumi.getter(name="externalResources")
@@ -3344,6 +3414,16 @@ class ServicePerimeterSpecEgressPolicyEgressTo(dict):
3344
3414
  """
3345
3415
  return pulumi.get(self, "resources")
3346
3416
 
3417
+ @property
3418
+ @pulumi.getter
3419
+ def roles(self) -> Optional[Sequence[str]]:
3420
+ """
3421
+ A list of IAM roles that represent the set of operations that the sources
3422
+ specified in the corresponding `EgressFrom`
3423
+ are allowed to perform.
3424
+ """
3425
+ return pulumi.get(self, "roles")
3426
+
3347
3427
 
3348
3428
  @pulumi.output_type
3349
3429
  class ServicePerimeterSpecEgressPolicyEgressToOperation(dict):
@@ -3648,7 +3728,8 @@ class ServicePerimeterSpecIngressPolicyIngressFromSource(dict):
3648
3728
  class ServicePerimeterSpecIngressPolicyIngressTo(dict):
3649
3729
  def __init__(__self__, *,
3650
3730
  operations: Optional[Sequence['outputs.ServicePerimeterSpecIngressPolicyIngressToOperation']] = None,
3651
- resources: Optional[Sequence[str]] = None):
3731
+ resources: Optional[Sequence[str]] = None,
3732
+ roles: Optional[Sequence[str]] = None):
3652
3733
  """
3653
3734
  :param Sequence['ServicePerimeterSpecIngressPolicyIngressToOperationArgs'] operations: A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
3654
3735
  are allowed to perform in this `ServicePerimeter`.
@@ -3661,11 +3742,16 @@ class ServicePerimeterSpecIngressPolicyIngressTo(dict):
3661
3742
  then this `IngressTo` rule will authorize access to all
3662
3743
  resources inside the perimeter, provided that the request
3663
3744
  also matches the `operations` field.
3745
+ :param Sequence[str] roles: A list of IAM roles that represent the set of operations that the sources
3746
+ specified in the corresponding `IngressFrom`
3747
+ are allowed to perform.
3664
3748
  """
3665
3749
  if operations is not None:
3666
3750
  pulumi.set(__self__, "operations", operations)
3667
3751
  if resources is not None:
3668
3752
  pulumi.set(__self__, "resources", resources)
3753
+ if roles is not None:
3754
+ pulumi.set(__self__, "roles", roles)
3669
3755
 
3670
3756
  @property
3671
3757
  @pulumi.getter
@@ -3692,6 +3778,16 @@ class ServicePerimeterSpecIngressPolicyIngressTo(dict):
3692
3778
  """
3693
3779
  return pulumi.get(self, "resources")
3694
3780
 
3781
+ @property
3782
+ @pulumi.getter
3783
+ def roles(self) -> Optional[Sequence[str]]:
3784
+ """
3785
+ A list of IAM roles that represent the set of operations that the sources
3786
+ specified in the corresponding `IngressFrom`
3787
+ are allowed to perform.
3788
+ """
3789
+ return pulumi.get(self, "roles")
3790
+
3695
3791
 
3696
3792
  @pulumi.output_type
3697
3793
  class ServicePerimeterSpecIngressPolicyIngressToOperation(dict):
@@ -4234,7 +4330,8 @@ class ServicePerimeterStatusEgressPolicyEgressTo(dict):
4234
4330
  def __init__(__self__, *,
4235
4331
  external_resources: Optional[Sequence[str]] = None,
4236
4332
  operations: Optional[Sequence['outputs.ServicePerimeterStatusEgressPolicyEgressToOperation']] = None,
4237
- resources: Optional[Sequence[str]] = None):
4333
+ resources: Optional[Sequence[str]] = None,
4334
+ roles: Optional[Sequence[str]] = None):
4238
4335
  """
4239
4336
  :param Sequence[str] external_resources: A list of external resources that are allowed to be accessed. A request
4240
4337
  matches if it contains an external resource in this list (Example:
@@ -4247,6 +4344,9 @@ class ServicePerimeterStatusEgressPolicyEgressTo(dict):
4247
4344
  if it contains a resource in this list. If * is specified for resources,
4248
4345
  then this `EgressTo` rule will authorize access to all resources outside
4249
4346
  the perimeter.
4347
+ :param Sequence[str] roles: A list of IAM roles that represent the set of operations that the sources
4348
+ specified in the corresponding `EgressFrom`
4349
+ are allowed to perform.
4250
4350
  """
4251
4351
  if external_resources is not None:
4252
4352
  pulumi.set(__self__, "external_resources", external_resources)
@@ -4254,6 +4354,8 @@ class ServicePerimeterStatusEgressPolicyEgressTo(dict):
4254
4354
  pulumi.set(__self__, "operations", operations)
4255
4355
  if resources is not None:
4256
4356
  pulumi.set(__self__, "resources", resources)
4357
+ if roles is not None:
4358
+ pulumi.set(__self__, "roles", roles)
4257
4359
 
4258
4360
  @property
4259
4361
  @pulumi.getter(name="externalResources")
@@ -4287,6 +4389,16 @@ class ServicePerimeterStatusEgressPolicyEgressTo(dict):
4287
4389
  """
4288
4390
  return pulumi.get(self, "resources")
4289
4391
 
4392
+ @property
4393
+ @pulumi.getter
4394
+ def roles(self) -> Optional[Sequence[str]]:
4395
+ """
4396
+ A list of IAM roles that represent the set of operations that the sources
4397
+ specified in the corresponding `EgressFrom`
4398
+ are allowed to perform.
4399
+ """
4400
+ return pulumi.get(self, "roles")
4401
+
4290
4402
 
4291
4403
  @pulumi.output_type
4292
4404
  class ServicePerimeterStatusEgressPolicyEgressToOperation(dict):
@@ -4591,7 +4703,8 @@ class ServicePerimeterStatusIngressPolicyIngressFromSource(dict):
4591
4703
  class ServicePerimeterStatusIngressPolicyIngressTo(dict):
4592
4704
  def __init__(__self__, *,
4593
4705
  operations: Optional[Sequence['outputs.ServicePerimeterStatusIngressPolicyIngressToOperation']] = None,
4594
- resources: Optional[Sequence[str]] = None):
4706
+ resources: Optional[Sequence[str]] = None,
4707
+ roles: Optional[Sequence[str]] = None):
4595
4708
  """
4596
4709
  :param Sequence['ServicePerimeterStatusIngressPolicyIngressToOperationArgs'] operations: A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
4597
4710
  are allowed to perform in this `ServicePerimeter`.
@@ -4604,11 +4717,16 @@ class ServicePerimeterStatusIngressPolicyIngressTo(dict):
4604
4717
  then this `IngressTo` rule will authorize access to all
4605
4718
  resources inside the perimeter, provided that the request
4606
4719
  also matches the `operations` field.
4720
+ :param Sequence[str] roles: A list of IAM roles that represent the set of operations that the sources
4721
+ specified in the corresponding `IngressFrom`
4722
+ are allowed to perform.
4607
4723
  """
4608
4724
  if operations is not None:
4609
4725
  pulumi.set(__self__, "operations", operations)
4610
4726
  if resources is not None:
4611
4727
  pulumi.set(__self__, "resources", resources)
4728
+ if roles is not None:
4729
+ pulumi.set(__self__, "roles", roles)
4612
4730
 
4613
4731
  @property
4614
4732
  @pulumi.getter
@@ -4635,6 +4753,16 @@ class ServicePerimeterStatusIngressPolicyIngressTo(dict):
4635
4753
  """
4636
4754
  return pulumi.get(self, "resources")
4637
4755
 
4756
+ @property
4757
+ @pulumi.getter
4758
+ def roles(self) -> Optional[Sequence[str]]:
4759
+ """
4760
+ A list of IAM roles that represent the set of operations that the sources
4761
+ specified in the corresponding `IngressFrom`
4762
+ are allowed to perform.
4763
+ """
4764
+ return pulumi.get(self, "roles")
4765
+
4638
4766
 
4639
4767
  @pulumi.output_type
4640
4768
  class ServicePerimeterStatusIngressPolicyIngressToOperation(dict):
@@ -5387,7 +5515,8 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressTo(dict):
5387
5515
  def __init__(__self__, *,
5388
5516
  external_resources: Optional[Sequence[str]] = None,
5389
5517
  operations: Optional[Sequence['outputs.ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperation']] = None,
5390
- resources: Optional[Sequence[str]] = None):
5518
+ resources: Optional[Sequence[str]] = None,
5519
+ roles: Optional[Sequence[str]] = None):
5391
5520
  """
5392
5521
  :param Sequence[str] external_resources: A list of external resources that are allowed to be accessed. A request
5393
5522
  matches if it contains an external resource in this list (Example:
@@ -5400,6 +5529,9 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressTo(dict):
5400
5529
  if it contains a resource in this list. If * is specified for resources,
5401
5530
  then this `EgressTo` rule will authorize access to all resources outside
5402
5531
  the perimeter.
5532
+ :param Sequence[str] roles: A list of IAM roles that represent the set of operations that the sources
5533
+ specified in the corresponding `EgressFrom`
5534
+ are allowed to perform.
5403
5535
  """
5404
5536
  if external_resources is not None:
5405
5537
  pulumi.set(__self__, "external_resources", external_resources)
@@ -5407,6 +5539,8 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressTo(dict):
5407
5539
  pulumi.set(__self__, "operations", operations)
5408
5540
  if resources is not None:
5409
5541
  pulumi.set(__self__, "resources", resources)
5542
+ if roles is not None:
5543
+ pulumi.set(__self__, "roles", roles)
5410
5544
 
5411
5545
  @property
5412
5546
  @pulumi.getter(name="externalResources")
@@ -5440,6 +5574,16 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressTo(dict):
5440
5574
  """
5441
5575
  return pulumi.get(self, "resources")
5442
5576
 
5577
+ @property
5578
+ @pulumi.getter
5579
+ def roles(self) -> Optional[Sequence[str]]:
5580
+ """
5581
+ A list of IAM roles that represent the set of operations that the sources
5582
+ specified in the corresponding `EgressFrom`
5583
+ are allowed to perform.
5584
+ """
5585
+ return pulumi.get(self, "roles")
5586
+
5443
5587
 
5444
5588
  @pulumi.output_type
5445
5589
  class ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperation(dict):
@@ -5744,7 +5888,8 @@ class ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSource(dict):
5744
5888
  class ServicePerimetersServicePerimeterSpecIngressPolicyIngressTo(dict):
5745
5889
  def __init__(__self__, *,
5746
5890
  operations: Optional[Sequence['outputs.ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperation']] = None,
5747
- resources: Optional[Sequence[str]] = None):
5891
+ resources: Optional[Sequence[str]] = None,
5892
+ roles: Optional[Sequence[str]] = None):
5748
5893
  """
5749
5894
  :param Sequence['ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs'] operations: A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
5750
5895
  are allowed to perform in this `ServicePerimeter`.
@@ -5757,11 +5902,16 @@ class ServicePerimetersServicePerimeterSpecIngressPolicyIngressTo(dict):
5757
5902
  then this `IngressTo` rule will authorize access to all
5758
5903
  resources inside the perimeter, provided that the request
5759
5904
  also matches the `operations` field.
5905
+ :param Sequence[str] roles: A list of IAM roles that represent the set of operations that the sources
5906
+ specified in the corresponding `IngressFrom`
5907
+ are allowed to perform.
5760
5908
  """
5761
5909
  if operations is not None:
5762
5910
  pulumi.set(__self__, "operations", operations)
5763
5911
  if resources is not None:
5764
5912
  pulumi.set(__self__, "resources", resources)
5913
+ if roles is not None:
5914
+ pulumi.set(__self__, "roles", roles)
5765
5915
 
5766
5916
  @property
5767
5917
  @pulumi.getter
@@ -5788,6 +5938,16 @@ class ServicePerimetersServicePerimeterSpecIngressPolicyIngressTo(dict):
5788
5938
  """
5789
5939
  return pulumi.get(self, "resources")
5790
5940
 
5941
+ @property
5942
+ @pulumi.getter
5943
+ def roles(self) -> Optional[Sequence[str]]:
5944
+ """
5945
+ A list of IAM roles that represent the set of operations that the sources
5946
+ specified in the corresponding `IngressFrom`
5947
+ are allowed to perform.
5948
+ """
5949
+ return pulumi.get(self, "roles")
5950
+
5791
5951
 
5792
5952
  @pulumi.output_type
5793
5953
  class ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperation(dict):
@@ -6334,7 +6494,8 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressTo(dict):
6334
6494
  def __init__(__self__, *,
6335
6495
  external_resources: Optional[Sequence[str]] = None,
6336
6496
  operations: Optional[Sequence['outputs.ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperation']] = None,
6337
- resources: Optional[Sequence[str]] = None):
6497
+ resources: Optional[Sequence[str]] = None,
6498
+ roles: Optional[Sequence[str]] = None):
6338
6499
  """
6339
6500
  :param Sequence[str] external_resources: A list of external resources that are allowed to be accessed. A request
6340
6501
  matches if it contains an external resource in this list (Example:
@@ -6347,6 +6508,9 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressTo(dict):
6347
6508
  if it contains a resource in this list. If * is specified for resources,
6348
6509
  then this `EgressTo` rule will authorize access to all resources outside
6349
6510
  the perimeter.
6511
+ :param Sequence[str] roles: A list of IAM roles that represent the set of operations that the sources
6512
+ specified in the corresponding `EgressFrom`
6513
+ are allowed to perform.
6350
6514
  """
6351
6515
  if external_resources is not None:
6352
6516
  pulumi.set(__self__, "external_resources", external_resources)
@@ -6354,6 +6518,8 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressTo(dict):
6354
6518
  pulumi.set(__self__, "operations", operations)
6355
6519
  if resources is not None:
6356
6520
  pulumi.set(__self__, "resources", resources)
6521
+ if roles is not None:
6522
+ pulumi.set(__self__, "roles", roles)
6357
6523
 
6358
6524
  @property
6359
6525
  @pulumi.getter(name="externalResources")
@@ -6387,6 +6553,16 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressTo(dict):
6387
6553
  """
6388
6554
  return pulumi.get(self, "resources")
6389
6555
 
6556
+ @property
6557
+ @pulumi.getter
6558
+ def roles(self) -> Optional[Sequence[str]]:
6559
+ """
6560
+ A list of IAM roles that represent the set of operations that the sources
6561
+ specified in the corresponding `EgressFrom`
6562
+ are allowed to perform.
6563
+ """
6564
+ return pulumi.get(self, "roles")
6565
+
6390
6566
 
6391
6567
  @pulumi.output_type
6392
6568
  class ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperation(dict):
@@ -6691,7 +6867,8 @@ class ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSource(dict
6691
6867
  class ServicePerimetersServicePerimeterStatusIngressPolicyIngressTo(dict):
6692
6868
  def __init__(__self__, *,
6693
6869
  operations: Optional[Sequence['outputs.ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperation']] = None,
6694
- resources: Optional[Sequence[str]] = None):
6870
+ resources: Optional[Sequence[str]] = None,
6871
+ roles: Optional[Sequence[str]] = None):
6695
6872
  """
6696
6873
  :param Sequence['ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs'] operations: A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
6697
6874
  are allowed to perform in this `ServicePerimeter`.
@@ -6704,11 +6881,16 @@ class ServicePerimetersServicePerimeterStatusIngressPolicyIngressTo(dict):
6704
6881
  then this `IngressTo` rule will authorize access to all
6705
6882
  resources inside the perimeter, provided that the request
6706
6883
  also matches the `operations` field.
6884
+ :param Sequence[str] roles: A list of IAM roles that represent the set of operations that the sources
6885
+ specified in the corresponding `IngressFrom`
6886
+ are allowed to perform.
6707
6887
  """
6708
6888
  if operations is not None:
6709
6889
  pulumi.set(__self__, "operations", operations)
6710
6890
  if resources is not None:
6711
6891
  pulumi.set(__self__, "resources", resources)
6892
+ if roles is not None:
6893
+ pulumi.set(__self__, "roles", roles)
6712
6894
 
6713
6895
  @property
6714
6896
  @pulumi.getter
@@ -6735,6 +6917,16 @@ class ServicePerimetersServicePerimeterStatusIngressPolicyIngressTo(dict):
6735
6917
  """
6736
6918
  return pulumi.get(self, "resources")
6737
6919
 
6920
+ @property
6921
+ @pulumi.getter
6922
+ def roles(self) -> Optional[Sequence[str]]:
6923
+ """
6924
+ A list of IAM roles that represent the set of operations that the sources
6925
+ specified in the corresponding `IngressFrom`
6926
+ are allowed to perform.
6927
+ """
6928
+ return pulumi.get(self, "roles")
6929
+
6738
6930
 
6739
6931
  @pulumi.output_type
6740
6932
  class ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperation(dict):
@@ -673,7 +673,6 @@ class ServicePerimeter(pulumi.CustomResource):
673
673
  },
674
674
  use_explicit_dry_run_spec=True)
675
675
  ```
676
-
677
676
  ## Import
678
677
 
679
678
  ServicePerimeter can be imported using any of these accepted formats:
@@ -931,7 +930,6 @@ class ServicePerimeter(pulumi.CustomResource):
931
930
  },
932
931
  use_explicit_dry_run_spec=True)
933
932
  ```
934
-
935
933
  ## Import
936
934
 
937
935
  ServicePerimeter can be imported using any of these accepted formats:
@@ -9,6 +9,7 @@ from .addons_config import *
9
9
  from .api import *
10
10
  from .app_group import *
11
11
  from .developer import *
12
+ from .dns_zone import *
12
13
  from .endpoint_attachment import *
13
14
  from .env_group import *
14
15
  from .env_group_attachment import *
@@ -33,6 +33,8 @@ __all__ = [
33
33
  'AppGroupAttributeArgsDict',
34
34
  'DeveloperAttributeArgs',
35
35
  'DeveloperAttributeArgsDict',
36
+ 'DnsZonePeeringConfigArgs',
37
+ 'DnsZonePeeringConfigArgsDict',
36
38
  'EnvironmentIamBindingConditionArgs',
37
39
  'EnvironmentIamBindingConditionArgsDict',
38
40
  'EnvironmentIamMemberConditionArgs',
@@ -582,6 +584,62 @@ class DeveloperAttributeArgs:
582
584
  pulumi.set(self, "value", value)
583
585
 
584
586
 
587
+ if not MYPY:
588
+ class DnsZonePeeringConfigArgsDict(TypedDict):
589
+ target_network_id: pulumi.Input[str]
590
+ """
591
+ The name of the producer VPC network.
592
+
593
+ - - -
594
+ """
595
+ target_project_id: pulumi.Input[str]
596
+ """
597
+ The ID of the project that contains the producer VPC network.
598
+ """
599
+ elif False:
600
+ DnsZonePeeringConfigArgsDict: TypeAlias = Mapping[str, Any]
601
+
602
+ @pulumi.input_type
603
+ class DnsZonePeeringConfigArgs:
604
+ def __init__(__self__, *,
605
+ target_network_id: pulumi.Input[str],
606
+ target_project_id: pulumi.Input[str]):
607
+ """
608
+ :param pulumi.Input[str] target_network_id: The name of the producer VPC network.
609
+
610
+ - - -
611
+ :param pulumi.Input[str] target_project_id: The ID of the project that contains the producer VPC network.
612
+ """
613
+ pulumi.set(__self__, "target_network_id", target_network_id)
614
+ pulumi.set(__self__, "target_project_id", target_project_id)
615
+
616
+ @property
617
+ @pulumi.getter(name="targetNetworkId")
618
+ def target_network_id(self) -> pulumi.Input[str]:
619
+ """
620
+ The name of the producer VPC network.
621
+
622
+ - - -
623
+ """
624
+ return pulumi.get(self, "target_network_id")
625
+
626
+ @target_network_id.setter
627
+ def target_network_id(self, value: pulumi.Input[str]):
628
+ pulumi.set(self, "target_network_id", value)
629
+
630
+ @property
631
+ @pulumi.getter(name="targetProjectId")
632
+ def target_project_id(self) -> pulumi.Input[str]:
633
+ """
634
+ The ID of the project that contains the producer VPC network.
635
+ """
636
+ return pulumi.get(self, "target_project_id")
637
+
638
+ @target_project_id.setter
639
+ def target_project_id(self, value: pulumi.Input[str]):
640
+ pulumi.set(self, "target_project_id", value)
641
+
642
+
585
643
  if not MYPY:
586
644
  class EnvironmentIamBindingConditionArgsDict(TypedDict):
587
645
  expression: pulumi.Input[str]