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
@@ -2435,6 +2435,12 @@ if not MYPY:
2435
2435
  then this `EgressTo` rule will authorize access to all resources outside
2436
2436
  the perimeter.
2437
2437
  """
2438
+ roles: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2439
+ """
2440
+ A list of IAM roles that represent the set of operations that the sources
2441
+ specified in the corresponding `EgressFrom`
2442
+ are allowed to perform.
2443
+ """
2438
2444
  elif False:
2439
2445
  ServicePerimeterDryRunEgressPolicyEgressToArgsDict: TypeAlias = Mapping[str, Any]
2440
2446
 
@@ -2443,7 +2449,8 @@ class ServicePerimeterDryRunEgressPolicyEgressToArgs:
2443
2449
  def __init__(__self__, *,
2444
2450
  external_resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2445
2451
  operations: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterDryRunEgressPolicyEgressToOperationArgs']]]] = None,
2446
- resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
2452
+ resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2453
+ roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
2447
2454
  """
2448
2455
  :param pulumi.Input[Sequence[pulumi.Input[str]]] external_resources: A list of external resources that are allowed to be accessed. A request
2449
2456
  matches if it contains an external resource in this list (Example:
@@ -2456,6 +2463,9 @@ class ServicePerimeterDryRunEgressPolicyEgressToArgs:
2456
2463
  if it contains a resource in this list. If * is specified for resources,
2457
2464
  then this `EgressTo` rule will authorize access to all resources outside
2458
2465
  the perimeter.
2466
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: A list of IAM roles that represent the set of operations that the sources
2467
+ specified in the corresponding `EgressFrom`
2468
+ are allowed to perform.
2459
2469
  """
2460
2470
  if external_resources is not None:
2461
2471
  pulumi.set(__self__, "external_resources", external_resources)
@@ -2463,6 +2473,8 @@ class ServicePerimeterDryRunEgressPolicyEgressToArgs:
2463
2473
  pulumi.set(__self__, "operations", operations)
2464
2474
  if resources is not None:
2465
2475
  pulumi.set(__self__, "resources", resources)
2476
+ if roles is not None:
2477
+ pulumi.set(__self__, "roles", roles)
2466
2478
 
2467
2479
  @property
2468
2480
  @pulumi.getter(name="externalResources")
@@ -2508,6 +2520,20 @@ class ServicePerimeterDryRunEgressPolicyEgressToArgs:
2508
2520
  def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2509
2521
  pulumi.set(self, "resources", value)
2510
2522
 
2523
+ @property
2524
+ @pulumi.getter
2525
+ def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2526
+ """
2527
+ A list of IAM roles that represent the set of operations that the sources
2528
+ specified in the corresponding `EgressFrom`
2529
+ are allowed to perform.
2530
+ """
2531
+ return pulumi.get(self, "roles")
2532
+
2533
+ @roles.setter
2534
+ def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2535
+ pulumi.set(self, "roles", value)
2536
+
2511
2537
 
2512
2538
  if not MYPY:
2513
2539
  class ServicePerimeterDryRunEgressPolicyEgressToOperationArgsDict(TypedDict):
@@ -2843,6 +2869,12 @@ if not MYPY:
2843
2869
  resources inside the perimeter, provided that the request
2844
2870
  also matches the `operations` field.
2845
2871
  """
2872
+ roles: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2873
+ """
2874
+ A list of IAM roles that represent the set of operations that the sources
2875
+ specified in the corresponding `IngressFrom`
2876
+ are allowed to perform.
2877
+ """
2846
2878
  elif False:
2847
2879
  ServicePerimeterDryRunIngressPolicyIngressToArgsDict: TypeAlias = Mapping[str, Any]
2848
2880
 
@@ -2850,7 +2882,8 @@ elif False:
2850
2882
  class ServicePerimeterDryRunIngressPolicyIngressToArgs:
2851
2883
  def __init__(__self__, *,
2852
2884
  operations: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterDryRunIngressPolicyIngressToOperationArgs']]]] = None,
2853
- resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
2885
+ resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2886
+ roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
2854
2887
  """
2855
2888
  :param pulumi.Input[Sequence[pulumi.Input['ServicePerimeterDryRunIngressPolicyIngressToOperationArgs']]] operations: A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
2856
2889
  are allowed to perform in this `ServicePerimeter`.
@@ -2863,11 +2896,16 @@ class ServicePerimeterDryRunIngressPolicyIngressToArgs:
2863
2896
  then this `IngressTo` rule will authorize access to all
2864
2897
  resources inside the perimeter, provided that the request
2865
2898
  also matches the `operations` field.
2899
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: A list of IAM roles that represent the set of operations that the sources
2900
+ specified in the corresponding `IngressFrom`
2901
+ are allowed to perform.
2866
2902
  """
2867
2903
  if operations is not None:
2868
2904
  pulumi.set(__self__, "operations", operations)
2869
2905
  if resources is not None:
2870
2906
  pulumi.set(__self__, "resources", resources)
2907
+ if roles is not None:
2908
+ pulumi.set(__self__, "roles", roles)
2871
2909
 
2872
2910
  @property
2873
2911
  @pulumi.getter
@@ -2902,6 +2940,20 @@ class ServicePerimeterDryRunIngressPolicyIngressToArgs:
2902
2940
  def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2903
2941
  pulumi.set(self, "resources", value)
2904
2942
 
2943
+ @property
2944
+ @pulumi.getter
2945
+ def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2946
+ """
2947
+ A list of IAM roles that represent the set of operations that the sources
2948
+ specified in the corresponding `IngressFrom`
2949
+ are allowed to perform.
2950
+ """
2951
+ return pulumi.get(self, "roles")
2952
+
2953
+ @roles.setter
2954
+ def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2955
+ pulumi.set(self, "roles", value)
2956
+
2905
2957
 
2906
2958
  if not MYPY:
2907
2959
  class ServicePerimeterDryRunIngressPolicyIngressToOperationArgsDict(TypedDict):
@@ -3242,6 +3294,12 @@ if not MYPY:
3242
3294
  then this `EgressTo` rule will authorize access to all resources outside
3243
3295
  the perimeter.
3244
3296
  """
3297
+ roles: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
3298
+ """
3299
+ A list of IAM roles that represent the set of operations that the sources
3300
+ specified in the corresponding `EgressFrom`
3301
+ are allowed to perform.
3302
+ """
3245
3303
  elif False:
3246
3304
  ServicePerimeterEgressPolicyEgressToArgsDict: TypeAlias = Mapping[str, Any]
3247
3305
 
@@ -3250,7 +3308,8 @@ class ServicePerimeterEgressPolicyEgressToArgs:
3250
3308
  def __init__(__self__, *,
3251
3309
  external_resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3252
3310
  operations: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterEgressPolicyEgressToOperationArgs']]]] = None,
3253
- resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
3311
+ resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3312
+ roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
3254
3313
  """
3255
3314
  :param pulumi.Input[Sequence[pulumi.Input[str]]] external_resources: A list of external resources that are allowed to be accessed. A request
3256
3315
  matches if it contains an external resource in this list (Example:
@@ -3263,6 +3322,9 @@ class ServicePerimeterEgressPolicyEgressToArgs:
3263
3322
  if it contains a resource in this list. If * is specified for resources,
3264
3323
  then this `EgressTo` rule will authorize access to all resources outside
3265
3324
  the perimeter.
3325
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: A list of IAM roles that represent the set of operations that the sources
3326
+ specified in the corresponding `EgressFrom`
3327
+ are allowed to perform.
3266
3328
  """
3267
3329
  if external_resources is not None:
3268
3330
  pulumi.set(__self__, "external_resources", external_resources)
@@ -3270,6 +3332,8 @@ class ServicePerimeterEgressPolicyEgressToArgs:
3270
3332
  pulumi.set(__self__, "operations", operations)
3271
3333
  if resources is not None:
3272
3334
  pulumi.set(__self__, "resources", resources)
3335
+ if roles is not None:
3336
+ pulumi.set(__self__, "roles", roles)
3273
3337
 
3274
3338
  @property
3275
3339
  @pulumi.getter(name="externalResources")
@@ -3315,6 +3379,20 @@ class ServicePerimeterEgressPolicyEgressToArgs:
3315
3379
  def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
3316
3380
  pulumi.set(self, "resources", value)
3317
3381
 
3382
+ @property
3383
+ @pulumi.getter
3384
+ def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
3385
+ """
3386
+ A list of IAM roles that represent the set of operations that the sources
3387
+ specified in the corresponding `EgressFrom`
3388
+ are allowed to perform.
3389
+ """
3390
+ return pulumi.get(self, "roles")
3391
+
3392
+ @roles.setter
3393
+ def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
3394
+ pulumi.set(self, "roles", value)
3395
+
3318
3396
 
3319
3397
  if not MYPY:
3320
3398
  class ServicePerimeterEgressPolicyEgressToOperationArgsDict(TypedDict):
@@ -3659,6 +3737,12 @@ if not MYPY:
3659
3737
  resources inside the perimeter, provided that the request
3660
3738
  also matches the `operations` field.
3661
3739
  """
3740
+ roles: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
3741
+ """
3742
+ A list of IAM roles that represent the set of operations that the sources
3743
+ specified in the corresponding `IngressFrom`
3744
+ are allowed to perform.
3745
+ """
3662
3746
  elif False:
3663
3747
  ServicePerimeterIngressPolicyIngressToArgsDict: TypeAlias = Mapping[str, Any]
3664
3748
 
@@ -3666,7 +3750,8 @@ elif False:
3666
3750
  class ServicePerimeterIngressPolicyIngressToArgs:
3667
3751
  def __init__(__self__, *,
3668
3752
  operations: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterIngressPolicyIngressToOperationArgs']]]] = None,
3669
- resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
3753
+ resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3754
+ roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
3670
3755
  """
3671
3756
  :param pulumi.Input[Sequence[pulumi.Input['ServicePerimeterIngressPolicyIngressToOperationArgs']]] operations: A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
3672
3757
  are allowed to perform in this `ServicePerimeter`.
@@ -3679,11 +3764,16 @@ class ServicePerimeterIngressPolicyIngressToArgs:
3679
3764
  then this `IngressTo` rule will authorize access to all
3680
3765
  resources inside the perimeter, provided that the request
3681
3766
  also matches the `operations` field.
3767
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: A list of IAM roles that represent the set of operations that the sources
3768
+ specified in the corresponding `IngressFrom`
3769
+ are allowed to perform.
3682
3770
  """
3683
3771
  if operations is not None:
3684
3772
  pulumi.set(__self__, "operations", operations)
3685
3773
  if resources is not None:
3686
3774
  pulumi.set(__self__, "resources", resources)
3775
+ if roles is not None:
3776
+ pulumi.set(__self__, "roles", roles)
3687
3777
 
3688
3778
  @property
3689
3779
  @pulumi.getter
@@ -3718,6 +3808,20 @@ class ServicePerimeterIngressPolicyIngressToArgs:
3718
3808
  def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
3719
3809
  pulumi.set(self, "resources", value)
3720
3810
 
3811
+ @property
3812
+ @pulumi.getter
3813
+ def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
3814
+ """
3815
+ A list of IAM roles that represent the set of operations that the sources
3816
+ specified in the corresponding `IngressFrom`
3817
+ are allowed to perform.
3818
+ """
3819
+ return pulumi.get(self, "roles")
3820
+
3821
+ @roles.setter
3822
+ def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
3823
+ pulumi.set(self, "roles", value)
3824
+
3721
3825
 
3722
3826
  if not MYPY:
3723
3827
  class ServicePerimeterIngressPolicyIngressToOperationArgsDict(TypedDict):
@@ -4337,6 +4441,12 @@ if not MYPY:
4337
4441
  then this `EgressTo` rule will authorize access to all resources outside
4338
4442
  the perimeter.
4339
4443
  """
4444
+ roles: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
4445
+ """
4446
+ A list of IAM roles that represent the set of operations that the sources
4447
+ specified in the corresponding `EgressFrom`
4448
+ are allowed to perform.
4449
+ """
4340
4450
  elif False:
4341
4451
  ServicePerimeterSpecEgressPolicyEgressToArgsDict: TypeAlias = Mapping[str, Any]
4342
4452
 
@@ -4345,7 +4455,8 @@ class ServicePerimeterSpecEgressPolicyEgressToArgs:
4345
4455
  def __init__(__self__, *,
4346
4456
  external_resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
4347
4457
  operations: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterSpecEgressPolicyEgressToOperationArgs']]]] = None,
4348
- resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
4458
+ resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
4459
+ roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
4349
4460
  """
4350
4461
  :param pulumi.Input[Sequence[pulumi.Input[str]]] external_resources: A list of external resources that are allowed to be accessed. A request
4351
4462
  matches if it contains an external resource in this list (Example:
@@ -4358,6 +4469,9 @@ class ServicePerimeterSpecEgressPolicyEgressToArgs:
4358
4469
  if it contains a resource in this list. If * is specified for resources,
4359
4470
  then this `EgressTo` rule will authorize access to all resources outside
4360
4471
  the perimeter.
4472
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: A list of IAM roles that represent the set of operations that the sources
4473
+ specified in the corresponding `EgressFrom`
4474
+ are allowed to perform.
4361
4475
  """
4362
4476
  if external_resources is not None:
4363
4477
  pulumi.set(__self__, "external_resources", external_resources)
@@ -4365,6 +4479,8 @@ class ServicePerimeterSpecEgressPolicyEgressToArgs:
4365
4479
  pulumi.set(__self__, "operations", operations)
4366
4480
  if resources is not None:
4367
4481
  pulumi.set(__self__, "resources", resources)
4482
+ if roles is not None:
4483
+ pulumi.set(__self__, "roles", roles)
4368
4484
 
4369
4485
  @property
4370
4486
  @pulumi.getter(name="externalResources")
@@ -4410,6 +4526,20 @@ class ServicePerimeterSpecEgressPolicyEgressToArgs:
4410
4526
  def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
4411
4527
  pulumi.set(self, "resources", value)
4412
4528
 
4529
+ @property
4530
+ @pulumi.getter
4531
+ def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
4532
+ """
4533
+ A list of IAM roles that represent the set of operations that the sources
4534
+ specified in the corresponding `EgressFrom`
4535
+ are allowed to perform.
4536
+ """
4537
+ return pulumi.get(self, "roles")
4538
+
4539
+ @roles.setter
4540
+ def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
4541
+ pulumi.set(self, "roles", value)
4542
+
4413
4543
 
4414
4544
  if not MYPY:
4415
4545
  class ServicePerimeterSpecEgressPolicyEgressToOperationArgsDict(TypedDict):
@@ -4802,6 +4932,12 @@ if not MYPY:
4802
4932
  resources inside the perimeter, provided that the request
4803
4933
  also matches the `operations` field.
4804
4934
  """
4935
+ roles: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
4936
+ """
4937
+ A list of IAM roles that represent the set of operations that the sources
4938
+ specified in the corresponding `IngressFrom`
4939
+ are allowed to perform.
4940
+ """
4805
4941
  elif False:
4806
4942
  ServicePerimeterSpecIngressPolicyIngressToArgsDict: TypeAlias = Mapping[str, Any]
4807
4943
 
@@ -4809,7 +4945,8 @@ elif False:
4809
4945
  class ServicePerimeterSpecIngressPolicyIngressToArgs:
4810
4946
  def __init__(__self__, *,
4811
4947
  operations: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterSpecIngressPolicyIngressToOperationArgs']]]] = None,
4812
- resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
4948
+ resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
4949
+ roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
4813
4950
  """
4814
4951
  :param pulumi.Input[Sequence[pulumi.Input['ServicePerimeterSpecIngressPolicyIngressToOperationArgs']]] operations: A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
4815
4952
  are allowed to perform in this `ServicePerimeter`.
@@ -4822,11 +4959,16 @@ class ServicePerimeterSpecIngressPolicyIngressToArgs:
4822
4959
  then this `IngressTo` rule will authorize access to all
4823
4960
  resources inside the perimeter, provided that the request
4824
4961
  also matches the `operations` field.
4962
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: A list of IAM roles that represent the set of operations that the sources
4963
+ specified in the corresponding `IngressFrom`
4964
+ are allowed to perform.
4825
4965
  """
4826
4966
  if operations is not None:
4827
4967
  pulumi.set(__self__, "operations", operations)
4828
4968
  if resources is not None:
4829
4969
  pulumi.set(__self__, "resources", resources)
4970
+ if roles is not None:
4971
+ pulumi.set(__self__, "roles", roles)
4830
4972
 
4831
4973
  @property
4832
4974
  @pulumi.getter
@@ -4861,6 +5003,20 @@ class ServicePerimeterSpecIngressPolicyIngressToArgs:
4861
5003
  def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
4862
5004
  pulumi.set(self, "resources", value)
4863
5005
 
5006
+ @property
5007
+ @pulumi.getter
5008
+ def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
5009
+ """
5010
+ A list of IAM roles that represent the set of operations that the sources
5011
+ specified in the corresponding `IngressFrom`
5012
+ are allowed to perform.
5013
+ """
5014
+ return pulumi.get(self, "roles")
5015
+
5016
+ @roles.setter
5017
+ def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
5018
+ pulumi.set(self, "roles", value)
5019
+
4864
5020
 
4865
5021
  if not MYPY:
4866
5022
  class ServicePerimeterSpecIngressPolicyIngressToOperationArgsDict(TypedDict):
@@ -5538,6 +5694,12 @@ if not MYPY:
5538
5694
  then this `EgressTo` rule will authorize access to all resources outside
5539
5695
  the perimeter.
5540
5696
  """
5697
+ roles: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
5698
+ """
5699
+ A list of IAM roles that represent the set of operations that the sources
5700
+ specified in the corresponding `EgressFrom`
5701
+ are allowed to perform.
5702
+ """
5541
5703
  elif False:
5542
5704
  ServicePerimeterStatusEgressPolicyEgressToArgsDict: TypeAlias = Mapping[str, Any]
5543
5705
 
@@ -5546,7 +5708,8 @@ class ServicePerimeterStatusEgressPolicyEgressToArgs:
5546
5708
  def __init__(__self__, *,
5547
5709
  external_resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
5548
5710
  operations: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterStatusEgressPolicyEgressToOperationArgs']]]] = None,
5549
- resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
5711
+ resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
5712
+ roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
5550
5713
  """
5551
5714
  :param pulumi.Input[Sequence[pulumi.Input[str]]] external_resources: A list of external resources that are allowed to be accessed. A request
5552
5715
  matches if it contains an external resource in this list (Example:
@@ -5559,6 +5722,9 @@ class ServicePerimeterStatusEgressPolicyEgressToArgs:
5559
5722
  if it contains a resource in this list. If * is specified for resources,
5560
5723
  then this `EgressTo` rule will authorize access to all resources outside
5561
5724
  the perimeter.
5725
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: A list of IAM roles that represent the set of operations that the sources
5726
+ specified in the corresponding `EgressFrom`
5727
+ are allowed to perform.
5562
5728
  """
5563
5729
  if external_resources is not None:
5564
5730
  pulumi.set(__self__, "external_resources", external_resources)
@@ -5566,6 +5732,8 @@ class ServicePerimeterStatusEgressPolicyEgressToArgs:
5566
5732
  pulumi.set(__self__, "operations", operations)
5567
5733
  if resources is not None:
5568
5734
  pulumi.set(__self__, "resources", resources)
5735
+ if roles is not None:
5736
+ pulumi.set(__self__, "roles", roles)
5569
5737
 
5570
5738
  @property
5571
5739
  @pulumi.getter(name="externalResources")
@@ -5611,6 +5779,20 @@ class ServicePerimeterStatusEgressPolicyEgressToArgs:
5611
5779
  def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
5612
5780
  pulumi.set(self, "resources", value)
5613
5781
 
5782
+ @property
5783
+ @pulumi.getter
5784
+ def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
5785
+ """
5786
+ A list of IAM roles that represent the set of operations that the sources
5787
+ specified in the corresponding `EgressFrom`
5788
+ are allowed to perform.
5789
+ """
5790
+ return pulumi.get(self, "roles")
5791
+
5792
+ @roles.setter
5793
+ def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
5794
+ pulumi.set(self, "roles", value)
5795
+
5614
5796
 
5615
5797
  if not MYPY:
5616
5798
  class ServicePerimeterStatusEgressPolicyEgressToOperationArgsDict(TypedDict):
@@ -6003,6 +6185,12 @@ if not MYPY:
6003
6185
  resources inside the perimeter, provided that the request
6004
6186
  also matches the `operations` field.
6005
6187
  """
6188
+ roles: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
6189
+ """
6190
+ A list of IAM roles that represent the set of operations that the sources
6191
+ specified in the corresponding `IngressFrom`
6192
+ are allowed to perform.
6193
+ """
6006
6194
  elif False:
6007
6195
  ServicePerimeterStatusIngressPolicyIngressToArgsDict: TypeAlias = Mapping[str, Any]
6008
6196
 
@@ -6010,7 +6198,8 @@ elif False:
6010
6198
  class ServicePerimeterStatusIngressPolicyIngressToArgs:
6011
6199
  def __init__(__self__, *,
6012
6200
  operations: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimeterStatusIngressPolicyIngressToOperationArgs']]]] = None,
6013
- resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
6201
+ resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
6202
+ roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
6014
6203
  """
6015
6204
  :param pulumi.Input[Sequence[pulumi.Input['ServicePerimeterStatusIngressPolicyIngressToOperationArgs']]] operations: A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
6016
6205
  are allowed to perform in this `ServicePerimeter`.
@@ -6023,11 +6212,16 @@ class ServicePerimeterStatusIngressPolicyIngressToArgs:
6023
6212
  then this `IngressTo` rule will authorize access to all
6024
6213
  resources inside the perimeter, provided that the request
6025
6214
  also matches the `operations` field.
6215
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: A list of IAM roles that represent the set of operations that the sources
6216
+ specified in the corresponding `IngressFrom`
6217
+ are allowed to perform.
6026
6218
  """
6027
6219
  if operations is not None:
6028
6220
  pulumi.set(__self__, "operations", operations)
6029
6221
  if resources is not None:
6030
6222
  pulumi.set(__self__, "resources", resources)
6223
+ if roles is not None:
6224
+ pulumi.set(__self__, "roles", roles)
6031
6225
 
6032
6226
  @property
6033
6227
  @pulumi.getter
@@ -6062,6 +6256,20 @@ class ServicePerimeterStatusIngressPolicyIngressToArgs:
6062
6256
  def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
6063
6257
  pulumi.set(self, "resources", value)
6064
6258
 
6259
+ @property
6260
+ @pulumi.getter
6261
+ def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
6262
+ """
6263
+ A list of IAM roles that represent the set of operations that the sources
6264
+ specified in the corresponding `IngressFrom`
6265
+ are allowed to perform.
6266
+ """
6267
+ return pulumi.get(self, "roles")
6268
+
6269
+ @roles.setter
6270
+ def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
6271
+ pulumi.set(self, "roles", value)
6272
+
6065
6273
 
6066
6274
  if not MYPY:
6067
6275
  class ServicePerimeterStatusIngressPolicyIngressToOperationArgsDict(TypedDict):
@@ -7040,6 +7248,12 @@ if not MYPY:
7040
7248
  then this `EgressTo` rule will authorize access to all resources outside
7041
7249
  the perimeter.
7042
7250
  """
7251
+ roles: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
7252
+ """
7253
+ A list of IAM roles that represent the set of operations that the sources
7254
+ specified in the corresponding `EgressFrom`
7255
+ are allowed to perform.
7256
+ """
7043
7257
  elif False:
7044
7258
  ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgsDict: TypeAlias = Mapping[str, Any]
7045
7259
 
@@ -7048,7 +7262,8 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs:
7048
7262
  def __init__(__self__, *,
7049
7263
  external_resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
7050
7264
  operations: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs']]]] = None,
7051
- resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
7265
+ resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
7266
+ roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
7052
7267
  """
7053
7268
  :param pulumi.Input[Sequence[pulumi.Input[str]]] external_resources: A list of external resources that are allowed to be accessed. A request
7054
7269
  matches if it contains an external resource in this list (Example:
@@ -7061,6 +7276,9 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs:
7061
7276
  if it contains a resource in this list. If * is specified for resources,
7062
7277
  then this `EgressTo` rule will authorize access to all resources outside
7063
7278
  the perimeter.
7279
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: A list of IAM roles that represent the set of operations that the sources
7280
+ specified in the corresponding `EgressFrom`
7281
+ are allowed to perform.
7064
7282
  """
7065
7283
  if external_resources is not None:
7066
7284
  pulumi.set(__self__, "external_resources", external_resources)
@@ -7068,6 +7286,8 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs:
7068
7286
  pulumi.set(__self__, "operations", operations)
7069
7287
  if resources is not None:
7070
7288
  pulumi.set(__self__, "resources", resources)
7289
+ if roles is not None:
7290
+ pulumi.set(__self__, "roles", roles)
7071
7291
 
7072
7292
  @property
7073
7293
  @pulumi.getter(name="externalResources")
@@ -7113,6 +7333,20 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs:
7113
7333
  def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
7114
7334
  pulumi.set(self, "resources", value)
7115
7335
 
7336
+ @property
7337
+ @pulumi.getter
7338
+ def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
7339
+ """
7340
+ A list of IAM roles that represent the set of operations that the sources
7341
+ specified in the corresponding `EgressFrom`
7342
+ are allowed to perform.
7343
+ """
7344
+ return pulumi.get(self, "roles")
7345
+
7346
+ @roles.setter
7347
+ def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
7348
+ pulumi.set(self, "roles", value)
7349
+
7116
7350
 
7117
7351
  if not MYPY:
7118
7352
  class ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgsDict(TypedDict):
@@ -7505,6 +7739,12 @@ if not MYPY:
7505
7739
  resources inside the perimeter, provided that the request
7506
7740
  also matches the `operations` field.
7507
7741
  """
7742
+ roles: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
7743
+ """
7744
+ A list of IAM roles that represent the set of operations that the sources
7745
+ specified in the corresponding `IngressFrom`
7746
+ are allowed to perform.
7747
+ """
7508
7748
  elif False:
7509
7749
  ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgsDict: TypeAlias = Mapping[str, Any]
7510
7750
 
@@ -7512,7 +7752,8 @@ elif False:
7512
7752
  class ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs:
7513
7753
  def __init__(__self__, *,
7514
7754
  operations: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs']]]] = None,
7515
- resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
7755
+ resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
7756
+ roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
7516
7757
  """
7517
7758
  :param pulumi.Input[Sequence[pulumi.Input['ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs']]] operations: A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
7518
7759
  are allowed to perform in this `ServicePerimeter`.
@@ -7525,11 +7766,16 @@ class ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs:
7525
7766
  then this `IngressTo` rule will authorize access to all
7526
7767
  resources inside the perimeter, provided that the request
7527
7768
  also matches the `operations` field.
7769
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: A list of IAM roles that represent the set of operations that the sources
7770
+ specified in the corresponding `IngressFrom`
7771
+ are allowed to perform.
7528
7772
  """
7529
7773
  if operations is not None:
7530
7774
  pulumi.set(__self__, "operations", operations)
7531
7775
  if resources is not None:
7532
7776
  pulumi.set(__self__, "resources", resources)
7777
+ if roles is not None:
7778
+ pulumi.set(__self__, "roles", roles)
7533
7779
 
7534
7780
  @property
7535
7781
  @pulumi.getter
@@ -7564,6 +7810,20 @@ class ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs:
7564
7810
  def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
7565
7811
  pulumi.set(self, "resources", value)
7566
7812
 
7813
+ @property
7814
+ @pulumi.getter
7815
+ def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
7816
+ """
7817
+ A list of IAM roles that represent the set of operations that the sources
7818
+ specified in the corresponding `IngressFrom`
7819
+ are allowed to perform.
7820
+ """
7821
+ return pulumi.get(self, "roles")
7822
+
7823
+ @roles.setter
7824
+ def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
7825
+ pulumi.set(self, "roles", value)
7826
+
7567
7827
 
7568
7828
  if not MYPY:
7569
7829
  class ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgsDict(TypedDict):
@@ -8247,6 +8507,12 @@ if not MYPY:
8247
8507
  then this `EgressTo` rule will authorize access to all resources outside
8248
8508
  the perimeter.
8249
8509
  """
8510
+ roles: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
8511
+ """
8512
+ A list of IAM roles that represent the set of operations that the sources
8513
+ specified in the corresponding `EgressFrom`
8514
+ are allowed to perform.
8515
+ """
8250
8516
  elif False:
8251
8517
  ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgsDict: TypeAlias = Mapping[str, Any]
8252
8518
 
@@ -8255,7 +8521,8 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs:
8255
8521
  def __init__(__self__, *,
8256
8522
  external_resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
8257
8523
  operations: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs']]]] = None,
8258
- resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
8524
+ resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
8525
+ roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
8259
8526
  """
8260
8527
  :param pulumi.Input[Sequence[pulumi.Input[str]]] external_resources: A list of external resources that are allowed to be accessed. A request
8261
8528
  matches if it contains an external resource in this list (Example:
@@ -8268,6 +8535,9 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs:
8268
8535
  if it contains a resource in this list. If * is specified for resources,
8269
8536
  then this `EgressTo` rule will authorize access to all resources outside
8270
8537
  the perimeter.
8538
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: A list of IAM roles that represent the set of operations that the sources
8539
+ specified in the corresponding `EgressFrom`
8540
+ are allowed to perform.
8271
8541
  """
8272
8542
  if external_resources is not None:
8273
8543
  pulumi.set(__self__, "external_resources", external_resources)
@@ -8275,6 +8545,8 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs:
8275
8545
  pulumi.set(__self__, "operations", operations)
8276
8546
  if resources is not None:
8277
8547
  pulumi.set(__self__, "resources", resources)
8548
+ if roles is not None:
8549
+ pulumi.set(__self__, "roles", roles)
8278
8550
 
8279
8551
  @property
8280
8552
  @pulumi.getter(name="externalResources")
@@ -8320,6 +8592,20 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs:
8320
8592
  def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
8321
8593
  pulumi.set(self, "resources", value)
8322
8594
 
8595
+ @property
8596
+ @pulumi.getter
8597
+ def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
8598
+ """
8599
+ A list of IAM roles that represent the set of operations that the sources
8600
+ specified in the corresponding `EgressFrom`
8601
+ are allowed to perform.
8602
+ """
8603
+ return pulumi.get(self, "roles")
8604
+
8605
+ @roles.setter
8606
+ def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
8607
+ pulumi.set(self, "roles", value)
8608
+
8323
8609
 
8324
8610
  if not MYPY:
8325
8611
  class ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgsDict(TypedDict):
@@ -8712,6 +8998,12 @@ if not MYPY:
8712
8998
  resources inside the perimeter, provided that the request
8713
8999
  also matches the `operations` field.
8714
9000
  """
9001
+ roles: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
9002
+ """
9003
+ A list of IAM roles that represent the set of operations that the sources
9004
+ specified in the corresponding `IngressFrom`
9005
+ are allowed to perform.
9006
+ """
8715
9007
  elif False:
8716
9008
  ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgsDict: TypeAlias = Mapping[str, Any]
8717
9009
 
@@ -8719,7 +9011,8 @@ elif False:
8719
9011
  class ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs:
8720
9012
  def __init__(__self__, *,
8721
9013
  operations: Optional[pulumi.Input[Sequence[pulumi.Input['ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs']]]] = None,
8722
- resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
9014
+ resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
9015
+ roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
8723
9016
  """
8724
9017
  :param pulumi.Input[Sequence[pulumi.Input['ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs']]] operations: A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
8725
9018
  are allowed to perform in this `ServicePerimeter`.
@@ -8732,11 +9025,16 @@ class ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs:
8732
9025
  then this `IngressTo` rule will authorize access to all
8733
9026
  resources inside the perimeter, provided that the request
8734
9027
  also matches the `operations` field.
9028
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: A list of IAM roles that represent the set of operations that the sources
9029
+ specified in the corresponding `IngressFrom`
9030
+ are allowed to perform.
8735
9031
  """
8736
9032
  if operations is not None:
8737
9033
  pulumi.set(__self__, "operations", operations)
8738
9034
  if resources is not None:
8739
9035
  pulumi.set(__self__, "resources", resources)
9036
+ if roles is not None:
9037
+ pulumi.set(__self__, "roles", roles)
8740
9038
 
8741
9039
  @property
8742
9040
  @pulumi.getter
@@ -8771,6 +9069,20 @@ class ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs:
8771
9069
  def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
8772
9070
  pulumi.set(self, "resources", value)
8773
9071
 
9072
+ @property
9073
+ @pulumi.getter
9074
+ def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
9075
+ """
9076
+ A list of IAM roles that represent the set of operations that the sources
9077
+ specified in the corresponding `IngressFrom`
9078
+ are allowed to perform.
9079
+ """
9080
+ return pulumi.get(self, "roles")
9081
+
9082
+ @roles.setter
9083
+ def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
9084
+ pulumi.set(self, "roles", value)
9085
+
8774
9086
 
8775
9087
  if not MYPY:
8776
9088
  class ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgsDict(TypedDict):