pulumi-gcp 8.9.0a1731366299__py3-none-any.whl → 8.9.0a1731432418__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 (114) hide show
  1. pulumi_gcp/__init__.py +64 -0
  2. pulumi_gcp/activedirectory/domain.py +24 -0
  3. pulumi_gcp/apigee/__init__.py +1 -0
  4. pulumi_gcp/apigee/_inputs.py +74 -0
  5. pulumi_gcp/apigee/api.py +456 -0
  6. pulumi_gcp/apigee/outputs.py +65 -0
  7. pulumi_gcp/applicationintegration/auth_config.py +24 -0
  8. pulumi_gcp/backupdisasterrecovery/__init__.py +4 -0
  9. pulumi_gcp/backupdisasterrecovery/_inputs.py +533 -0
  10. pulumi_gcp/backupdisasterrecovery/backup_plan.py +653 -0
  11. pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +766 -0
  12. pulumi_gcp/backupdisasterrecovery/backup_vault.py +146 -6
  13. pulumi_gcp/backupdisasterrecovery/get_backup_plan.py +204 -0
  14. pulumi_gcp/backupdisasterrecovery/get_backup_plan_association.py +243 -0
  15. pulumi_gcp/backupdisasterrecovery/outputs.py +702 -0
  16. pulumi_gcp/bigquery/data_transfer_config.py +24 -0
  17. pulumi_gcp/cloudrunv2/_inputs.py +46 -0
  18. pulumi_gcp/cloudrunv2/job.py +0 -2
  19. pulumi_gcp/cloudrunv2/outputs.py +60 -2
  20. pulumi_gcp/cloudrunv2/service.py +0 -2
  21. pulumi_gcp/compute/__init__.py +1 -0
  22. pulumi_gcp/compute/_inputs.py +2163 -256
  23. pulumi_gcp/compute/disk.py +7 -7
  24. pulumi_gcp/compute/firewall_policy_rule.py +108 -54
  25. pulumi_gcp/compute/get_region_instance_group_manager.py +12 -1
  26. pulumi_gcp/compute/health_check.py +42 -42
  27. pulumi_gcp/compute/network_firewall_policy_rule.py +4 -4
  28. pulumi_gcp/compute/network_firewall_policy_with_rules.py +10 -10
  29. pulumi_gcp/compute/node_template.py +95 -0
  30. pulumi_gcp/compute/outputs.py +1639 -213
  31. pulumi_gcp/compute/region_disk.py +7 -7
  32. pulumi_gcp/compute/region_health_check.py +42 -42
  33. pulumi_gcp/compute/region_instance_group_manager.py +54 -14
  34. pulumi_gcp/compute/region_network_firewall_policy_rule.py +4 -4
  35. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +10 -10
  36. pulumi_gcp/compute/region_resize_request.py +772 -0
  37. pulumi_gcp/compute/region_security_policy.py +120 -0
  38. pulumi_gcp/compute/region_security_policy_rule.py +6 -6
  39. pulumi_gcp/compute/router_peer.py +56 -35
  40. pulumi_gcp/compute/security_scan_config.py +8 -8
  41. pulumi_gcp/config/__init__.pyi +4 -0
  42. pulumi_gcp/config/vars.py +8 -0
  43. pulumi_gcp/container/_inputs.py +345 -10
  44. pulumi_gcp/container/cluster.py +101 -0
  45. pulumi_gcp/container/get_cluster.py +23 -1
  46. pulumi_gcp/container/outputs.py +456 -8
  47. pulumi_gcp/dataloss/prevention_discovery_config.py +7 -7
  48. pulumi_gcp/dataproc/__init__.py +2 -0
  49. pulumi_gcp/dataproc/_inputs.py +101 -0
  50. pulumi_gcp/dataproc/gdc_application_environment.py +931 -0
  51. pulumi_gcp/dataproc/gdc_service_instance.py +1022 -0
  52. pulumi_gcp/dataproc/outputs.py +94 -0
  53. pulumi_gcp/edgecontainer/vpn_connection.py +4 -4
  54. pulumi_gcp/firebase/android_app.py +2 -2
  55. pulumi_gcp/firebase/apple_app.py +2 -2
  56. pulumi_gcp/firebase/web_app.py +2 -2
  57. pulumi_gcp/firestore/index.py +44 -0
  58. pulumi_gcp/gkeonprem/_inputs.py +15 -15
  59. pulumi_gcp/gkeonprem/outputs.py +10 -10
  60. pulumi_gcp/healthcare/dataset.py +7 -7
  61. pulumi_gcp/healthcare/dicom_store.py +7 -7
  62. pulumi_gcp/healthcare/fhir_store.py +7 -7
  63. pulumi_gcp/healthcare/hl7_store.py +14 -14
  64. pulumi_gcp/iam/__init__.py +1 -0
  65. pulumi_gcp/iam/_inputs.py +161 -0
  66. pulumi_gcp/iam/outputs.py +114 -0
  67. pulumi_gcp/iam/principal_access_boundary_policy.py +679 -0
  68. pulumi_gcp/logging/metric.py +2 -2
  69. pulumi_gcp/looker/_inputs.py +6 -0
  70. pulumi_gcp/looker/instance.py +169 -321
  71. pulumi_gcp/looker/outputs.py +4 -0
  72. pulumi_gcp/memorystore/instance.py +4 -0
  73. pulumi_gcp/monitoring/alert_policy.py +24 -0
  74. pulumi_gcp/monitoring/custom_service.py +24 -0
  75. pulumi_gcp/monitoring/group.py +24 -0
  76. pulumi_gcp/monitoring/metric_descriptor.py +24 -0
  77. pulumi_gcp/monitoring/slo.py +24 -0
  78. pulumi_gcp/monitoring/uptime_check_config.py +24 -0
  79. pulumi_gcp/networkmanagement/__init__.py +1 -0
  80. pulumi_gcp/networkmanagement/vpc_flow_logs_config.py +1358 -0
  81. pulumi_gcp/osconfig/patch_deployment.py +8 -8
  82. pulumi_gcp/provider.py +40 -0
  83. pulumi_gcp/pulumi-plugin.json +1 -1
  84. pulumi_gcp/redis/_inputs.py +3 -3
  85. pulumi_gcp/redis/outputs.py +2 -2
  86. pulumi_gcp/securitycenter/notification_config.py +4 -16
  87. pulumi_gcp/securitycenter/project_notification_config.py +0 -24
  88. pulumi_gcp/securitycenter/v2_organization_notification_config.py +4 -16
  89. pulumi_gcp/spanner/__init__.py +1 -0
  90. pulumi_gcp/spanner/_inputs.py +9 -9
  91. pulumi_gcp/spanner/get_database.py +229 -0
  92. pulumi_gcp/spanner/get_instance.py +12 -1
  93. pulumi_gcp/spanner/instance.py +70 -0
  94. pulumi_gcp/spanner/outputs.py +46 -12
  95. pulumi_gcp/sql/_inputs.py +26 -0
  96. pulumi_gcp/sql/database_instance.py +124 -11
  97. pulumi_gcp/sql/get_database_instance.py +12 -1
  98. pulumi_gcp/sql/outputs.py +51 -0
  99. pulumi_gcp/storage/_inputs.py +3 -3
  100. pulumi_gcp/storage/outputs.py +2 -2
  101. pulumi_gcp/tags/tag_binding.py +4 -4
  102. pulumi_gcp/tags/tag_value.py +2 -2
  103. pulumi_gcp/transcoder/job.py +24 -0
  104. pulumi_gcp/vertex/_inputs.py +184 -0
  105. pulumi_gcp/vertex/ai_endpoint.py +394 -8
  106. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  107. pulumi_gcp/vertex/outputs.py +166 -0
  108. pulumi_gcp/workbench/instance.py +21 -7
  109. pulumi_gcp/workflows/workflow.py +36 -0
  110. pulumi_gcp/workstations/workstation_config.py +8 -8
  111. {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/METADATA +1 -1
  112. {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/RECORD +114 -103
  113. {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/WHEEL +0 -0
  114. {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731432418.dist-info}/top_level.txt +0 -0
@@ -49,7 +49,7 @@ class Hl7StoreArgs:
49
49
  :param pulumi.Input[str] name: The resource name for the Hl7V2Store.
50
50
  ** Changing this property may recreate the Hl7v2 store (removing all data) **
51
51
  :param pulumi.Input['Hl7StoreNotificationConfigArgs'] notification_config: (Optional, Deprecated)
52
- A nested object resource
52
+ A nested object resource.
53
53
  Structure is documented below.
54
54
 
55
55
  > **Warning:** `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.
@@ -57,7 +57,7 @@ class Hl7StoreArgs:
57
57
  message (both Ingest & Create) on the corresponding notification destination. Only the message name
58
58
  is sent as part of the notification. Supplied by the client.
59
59
  Structure is documented below.
60
- :param pulumi.Input['Hl7StoreParserConfigArgs'] parser_config: A nested object resource
60
+ :param pulumi.Input['Hl7StoreParserConfigArgs'] parser_config: A nested object resource.
61
61
  Structure is documented below.
62
62
  :param pulumi.Input[bool] reject_duplicate_message: Determines whether duplicate messages are allowed.
63
63
  """
@@ -135,7 +135,7 @@ class Hl7StoreArgs:
135
135
  def notification_config(self) -> Optional[pulumi.Input['Hl7StoreNotificationConfigArgs']]:
136
136
  """
137
137
  (Optional, Deprecated)
138
- A nested object resource
138
+ A nested object resource.
139
139
  Structure is documented below.
140
140
 
141
141
  > **Warning:** `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.
@@ -165,7 +165,7 @@ class Hl7StoreArgs:
165
165
  @pulumi.getter(name="parserConfig")
166
166
  def parser_config(self) -> Optional[pulumi.Input['Hl7StoreParserConfigArgs']]:
167
167
  """
168
- A nested object resource
168
+ A nested object resource.
169
169
  Structure is documented below.
170
170
  """
171
171
  return pulumi.get(self, "parser_config")
@@ -222,7 +222,7 @@ class _Hl7StoreState:
222
222
  :param pulumi.Input[str] name: The resource name for the Hl7V2Store.
223
223
  ** Changing this property may recreate the Hl7v2 store (removing all data) **
224
224
  :param pulumi.Input['Hl7StoreNotificationConfigArgs'] notification_config: (Optional, Deprecated)
225
- A nested object resource
225
+ A nested object resource.
226
226
  Structure is documented below.
227
227
 
228
228
  > **Warning:** `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.
@@ -230,7 +230,7 @@ class _Hl7StoreState:
230
230
  message (both Ingest & Create) on the corresponding notification destination. Only the message name
231
231
  is sent as part of the notification. Supplied by the client.
232
232
  Structure is documented below.
233
- :param pulumi.Input['Hl7StoreParserConfigArgs'] parser_config: A nested object resource
233
+ :param pulumi.Input['Hl7StoreParserConfigArgs'] parser_config: A nested object resource.
234
234
  Structure is documented below.
235
235
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
236
236
  and default labels configured on the provider.
@@ -330,7 +330,7 @@ class _Hl7StoreState:
330
330
  def notification_config(self) -> Optional[pulumi.Input['Hl7StoreNotificationConfigArgs']]:
331
331
  """
332
332
  (Optional, Deprecated)
333
- A nested object resource
333
+ A nested object resource.
334
334
  Structure is documented below.
335
335
 
336
336
  > **Warning:** `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.
@@ -360,7 +360,7 @@ class _Hl7StoreState:
360
360
  @pulumi.getter(name="parserConfig")
361
361
  def parser_config(self) -> Optional[pulumi.Input['Hl7StoreParserConfigArgs']]:
362
362
  """
363
- A nested object resource
363
+ A nested object resource.
364
364
  Structure is documented below.
365
365
  """
366
366
  return pulumi.get(self, "parser_config")
@@ -607,7 +607,7 @@ class Hl7Store(pulumi.CustomResource):
607
607
  :param pulumi.Input[str] name: The resource name for the Hl7V2Store.
608
608
  ** Changing this property may recreate the Hl7v2 store (removing all data) **
609
609
  :param pulumi.Input[Union['Hl7StoreNotificationConfigArgs', 'Hl7StoreNotificationConfigArgsDict']] notification_config: (Optional, Deprecated)
610
- A nested object resource
610
+ A nested object resource.
611
611
  Structure is documented below.
612
612
 
613
613
  > **Warning:** `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.
@@ -615,7 +615,7 @@ class Hl7Store(pulumi.CustomResource):
615
615
  message (both Ingest & Create) on the corresponding notification destination. Only the message name
616
616
  is sent as part of the notification. Supplied by the client.
617
617
  Structure is documented below.
618
- :param pulumi.Input[Union['Hl7StoreParserConfigArgs', 'Hl7StoreParserConfigArgsDict']] parser_config: A nested object resource
618
+ :param pulumi.Input[Union['Hl7StoreParserConfigArgs', 'Hl7StoreParserConfigArgsDict']] parser_config: A nested object resource.
619
619
  Structure is documented below.
620
620
  :param pulumi.Input[bool] reject_duplicate_message: Determines whether duplicate messages are allowed.
621
621
  """
@@ -883,7 +883,7 @@ class Hl7Store(pulumi.CustomResource):
883
883
  :param pulumi.Input[str] name: The resource name for the Hl7V2Store.
884
884
  ** Changing this property may recreate the Hl7v2 store (removing all data) **
885
885
  :param pulumi.Input[Union['Hl7StoreNotificationConfigArgs', 'Hl7StoreNotificationConfigArgsDict']] notification_config: (Optional, Deprecated)
886
- A nested object resource
886
+ A nested object resource.
887
887
  Structure is documented below.
888
888
 
889
889
  > **Warning:** `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.
@@ -891,7 +891,7 @@ class Hl7Store(pulumi.CustomResource):
891
891
  message (both Ingest & Create) on the corresponding notification destination. Only the message name
892
892
  is sent as part of the notification. Supplied by the client.
893
893
  Structure is documented below.
894
- :param pulumi.Input[Union['Hl7StoreParserConfigArgs', 'Hl7StoreParserConfigArgsDict']] parser_config: A nested object resource
894
+ :param pulumi.Input[Union['Hl7StoreParserConfigArgs', 'Hl7StoreParserConfigArgsDict']] parser_config: A nested object resource.
895
895
  Structure is documented below.
896
896
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
897
897
  and default labels configured on the provider.
@@ -967,7 +967,7 @@ class Hl7Store(pulumi.CustomResource):
967
967
  def notification_config(self) -> pulumi.Output[Optional['outputs.Hl7StoreNotificationConfig']]:
968
968
  """
969
969
  (Optional, Deprecated)
970
- A nested object resource
970
+ A nested object resource.
971
971
  Structure is documented below.
972
972
 
973
973
  > **Warning:** `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.
@@ -989,7 +989,7 @@ class Hl7Store(pulumi.CustomResource):
989
989
  @pulumi.getter(name="parserConfig")
990
990
  def parser_config(self) -> pulumi.Output['outputs.Hl7StoreParserConfig']:
991
991
  """
992
- A nested object resource
992
+ A nested object resource.
993
993
  Structure is documented below.
994
994
  """
995
995
  return pulumi.get(self, "parser_config")
@@ -11,6 +11,7 @@ from .get_rule import *
11
11
  from .get_testable_permissions import *
12
12
  from .get_workload_identity_pool import *
13
13
  from .get_workload_identity_pool_provider import *
14
+ from .principal_access_boundary_policy import *
14
15
  from .workforce_pool import *
15
16
  from .workforce_pool_provider import *
16
17
  from .workload_identity_pool import *
pulumi_gcp/iam/_inputs.py CHANGED
@@ -27,6 +27,10 @@ __all__ = [
27
27
  'DenyPolicyRuleDenyRuleArgsDict',
28
28
  'DenyPolicyRuleDenyRuleDenialConditionArgs',
29
29
  'DenyPolicyRuleDenyRuleDenialConditionArgsDict',
30
+ 'PrincipalAccessBoundaryPolicyDetailsArgs',
31
+ 'PrincipalAccessBoundaryPolicyDetailsArgsDict',
32
+ 'PrincipalAccessBoundaryPolicyDetailsRuleArgs',
33
+ 'PrincipalAccessBoundaryPolicyDetailsRuleArgsDict',
30
34
  'WorkforcePoolAccessRestrictionsArgs',
31
35
  'WorkforcePoolAccessRestrictionsArgsDict',
32
36
  'WorkforcePoolAccessRestrictionsAllowedServiceArgs',
@@ -591,6 +595,163 @@ class DenyPolicyRuleDenyRuleDenialConditionArgs:
591
595
  pulumi.set(self, "title", value)
592
596
 
593
597
 
598
+ if not MYPY:
599
+ class PrincipalAccessBoundaryPolicyDetailsArgsDict(TypedDict):
600
+ rules: pulumi.Input[Sequence[pulumi.Input['PrincipalAccessBoundaryPolicyDetailsRuleArgsDict']]]
601
+ """
602
+ A list of principal access boundary policy rules. The number of rules in a policy is limited to 500.
603
+ Structure is documented below.
604
+ """
605
+ enforcement_version: NotRequired[pulumi.Input[str]]
606
+ """
607
+ The version number that indicates which Google Cloud services
608
+ are included in the enforcement (e.g. \\"latest\\", \\"1\\", ...). If empty, the
609
+ PAB policy version will be set to the current latest version, and this version
610
+ won't get updated when new versions are released.
611
+ """
612
+ elif False:
613
+ PrincipalAccessBoundaryPolicyDetailsArgsDict: TypeAlias = Mapping[str, Any]
614
+
615
+ @pulumi.input_type
616
+ class PrincipalAccessBoundaryPolicyDetailsArgs:
617
+ def __init__(__self__, *,
618
+ rules: pulumi.Input[Sequence[pulumi.Input['PrincipalAccessBoundaryPolicyDetailsRuleArgs']]],
619
+ enforcement_version: Optional[pulumi.Input[str]] = None):
620
+ """
621
+ :param pulumi.Input[Sequence[pulumi.Input['PrincipalAccessBoundaryPolicyDetailsRuleArgs']]] rules: A list of principal access boundary policy rules. The number of rules in a policy is limited to 500.
622
+ Structure is documented below.
623
+ :param pulumi.Input[str] enforcement_version: The version number that indicates which Google Cloud services
624
+ are included in the enforcement (e.g. \\"latest\\", \\"1\\", ...). If empty, the
625
+ PAB policy version will be set to the current latest version, and this version
626
+ won't get updated when new versions are released.
627
+ """
628
+ pulumi.set(__self__, "rules", rules)
629
+ if enforcement_version is not None:
630
+ pulumi.set(__self__, "enforcement_version", enforcement_version)
631
+
632
+ @property
633
+ @pulumi.getter
634
+ def rules(self) -> pulumi.Input[Sequence[pulumi.Input['PrincipalAccessBoundaryPolicyDetailsRuleArgs']]]:
635
+ """
636
+ A list of principal access boundary policy rules. The number of rules in a policy is limited to 500.
637
+ Structure is documented below.
638
+ """
639
+ return pulumi.get(self, "rules")
640
+
641
+ @rules.setter
642
+ def rules(self, value: pulumi.Input[Sequence[pulumi.Input['PrincipalAccessBoundaryPolicyDetailsRuleArgs']]]):
643
+ pulumi.set(self, "rules", value)
644
+
645
+ @property
646
+ @pulumi.getter(name="enforcementVersion")
647
+ def enforcement_version(self) -> Optional[pulumi.Input[str]]:
648
+ """
649
+ The version number that indicates which Google Cloud services
650
+ are included in the enforcement (e.g. \\"latest\\", \\"1\\", ...). If empty, the
651
+ PAB policy version will be set to the current latest version, and this version
652
+ won't get updated when new versions are released.
653
+ """
654
+ return pulumi.get(self, "enforcement_version")
655
+
656
+ @enforcement_version.setter
657
+ def enforcement_version(self, value: Optional[pulumi.Input[str]]):
658
+ pulumi.set(self, "enforcement_version", value)
659
+
660
+
661
+ if not MYPY:
662
+ class PrincipalAccessBoundaryPolicyDetailsRuleArgsDict(TypedDict):
663
+ effect: pulumi.Input[str]
664
+ """
665
+ The access relationship of principals to the resources in this rule.
666
+ Possible values: ALLOW
667
+ """
668
+ resources: pulumi.Input[Sequence[pulumi.Input[str]]]
669
+ """
670
+ A list of Cloud Resource Manager resources. The resource
671
+ and all the descendants are included. The number of resources in a policy
672
+ is limited to 500 across all rules.
673
+ The following resource types are supported:
674
+ * Organizations, such as `//cloudresourcemanager.googleapis.com/organizations/123`.
675
+ * Folders, such as `//cloudresourcemanager.googleapis.com/folders/123`.
676
+ * Projects, such as `//cloudresourcemanager.googleapis.com/projects/123`
677
+ or `//cloudresourcemanager.googleapis.com/projects/my-project-id`.
678
+ """
679
+ description: NotRequired[pulumi.Input[str]]
680
+ """
681
+ The description of the principal access boundary policy rule. Must be less than or equal to 256 characters.
682
+ """
683
+ elif False:
684
+ PrincipalAccessBoundaryPolicyDetailsRuleArgsDict: TypeAlias = Mapping[str, Any]
685
+
686
+ @pulumi.input_type
687
+ class PrincipalAccessBoundaryPolicyDetailsRuleArgs:
688
+ def __init__(__self__, *,
689
+ effect: pulumi.Input[str],
690
+ resources: pulumi.Input[Sequence[pulumi.Input[str]]],
691
+ description: Optional[pulumi.Input[str]] = None):
692
+ """
693
+ :param pulumi.Input[str] effect: The access relationship of principals to the resources in this rule.
694
+ Possible values: ALLOW
695
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] resources: A list of Cloud Resource Manager resources. The resource
696
+ and all the descendants are included. The number of resources in a policy
697
+ is limited to 500 across all rules.
698
+ The following resource types are supported:
699
+ * Organizations, such as `//cloudresourcemanager.googleapis.com/organizations/123`.
700
+ * Folders, such as `//cloudresourcemanager.googleapis.com/folders/123`.
701
+ * Projects, such as `//cloudresourcemanager.googleapis.com/projects/123`
702
+ or `//cloudresourcemanager.googleapis.com/projects/my-project-id`.
703
+ :param pulumi.Input[str] description: The description of the principal access boundary policy rule. Must be less than or equal to 256 characters.
704
+ """
705
+ pulumi.set(__self__, "effect", effect)
706
+ pulumi.set(__self__, "resources", resources)
707
+ if description is not None:
708
+ pulumi.set(__self__, "description", description)
709
+
710
+ @property
711
+ @pulumi.getter
712
+ def effect(self) -> pulumi.Input[str]:
713
+ """
714
+ The access relationship of principals to the resources in this rule.
715
+ Possible values: ALLOW
716
+ """
717
+ return pulumi.get(self, "effect")
718
+
719
+ @effect.setter
720
+ def effect(self, value: pulumi.Input[str]):
721
+ pulumi.set(self, "effect", value)
722
+
723
+ @property
724
+ @pulumi.getter
725
+ def resources(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
726
+ """
727
+ A list of Cloud Resource Manager resources. The resource
728
+ and all the descendants are included. The number of resources in a policy
729
+ is limited to 500 across all rules.
730
+ The following resource types are supported:
731
+ * Organizations, such as `//cloudresourcemanager.googleapis.com/organizations/123`.
732
+ * Folders, such as `//cloudresourcemanager.googleapis.com/folders/123`.
733
+ * Projects, such as `//cloudresourcemanager.googleapis.com/projects/123`
734
+ or `//cloudresourcemanager.googleapis.com/projects/my-project-id`.
735
+ """
736
+ return pulumi.get(self, "resources")
737
+
738
+ @resources.setter
739
+ def resources(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
740
+ pulumi.set(self, "resources", value)
741
+
742
+ @property
743
+ @pulumi.getter
744
+ def description(self) -> Optional[pulumi.Input[str]]:
745
+ """
746
+ The description of the principal access boundary policy rule. Must be less than or equal to 256 characters.
747
+ """
748
+ return pulumi.get(self, "description")
749
+
750
+ @description.setter
751
+ def description(self, value: Optional[pulumi.Input[str]]):
752
+ pulumi.set(self, "description", value)
753
+
754
+
594
755
  if not MYPY:
595
756
  class WorkforcePoolAccessRestrictionsArgsDict(TypedDict):
596
757
  allowed_services: NotRequired[pulumi.Input[Sequence[pulumi.Input['WorkforcePoolAccessRestrictionsAllowedServiceArgsDict']]]]
pulumi_gcp/iam/outputs.py CHANGED
@@ -22,6 +22,8 @@ __all__ = [
22
22
  'DenyPolicyRule',
23
23
  'DenyPolicyRuleDenyRule',
24
24
  'DenyPolicyRuleDenyRuleDenialCondition',
25
+ 'PrincipalAccessBoundaryPolicyDetails',
26
+ 'PrincipalAccessBoundaryPolicyDetailsRule',
25
27
  'WorkforcePoolAccessRestrictions',
26
28
  'WorkforcePoolAccessRestrictionsAllowedService',
27
29
  'WorkforcePoolProviderExtraAttributesOauth2Client',
@@ -446,6 +448,118 @@ class DenyPolicyRuleDenyRuleDenialCondition(dict):
446
448
  return pulumi.get(self, "title")
447
449
 
448
450
 
451
+ @pulumi.output_type
452
+ class PrincipalAccessBoundaryPolicyDetails(dict):
453
+ @staticmethod
454
+ def __key_warning(key: str):
455
+ suggest = None
456
+ if key == "enforcementVersion":
457
+ suggest = "enforcement_version"
458
+
459
+ if suggest:
460
+ pulumi.log.warn(f"Key '{key}' not found in PrincipalAccessBoundaryPolicyDetails. Access the value via the '{suggest}' property getter instead.")
461
+
462
+ def __getitem__(self, key: str) -> Any:
463
+ PrincipalAccessBoundaryPolicyDetails.__key_warning(key)
464
+ return super().__getitem__(key)
465
+
466
+ def get(self, key: str, default = None) -> Any:
467
+ PrincipalAccessBoundaryPolicyDetails.__key_warning(key)
468
+ return super().get(key, default)
469
+
470
+ def __init__(__self__, *,
471
+ rules: Sequence['outputs.PrincipalAccessBoundaryPolicyDetailsRule'],
472
+ enforcement_version: Optional[str] = None):
473
+ """
474
+ :param Sequence['PrincipalAccessBoundaryPolicyDetailsRuleArgs'] rules: A list of principal access boundary policy rules. The number of rules in a policy is limited to 500.
475
+ Structure is documented below.
476
+ :param str enforcement_version: The version number that indicates which Google Cloud services
477
+ are included in the enforcement (e.g. \\"latest\\", \\"1\\", ...). If empty, the
478
+ PAB policy version will be set to the current latest version, and this version
479
+ won't get updated when new versions are released.
480
+ """
481
+ pulumi.set(__self__, "rules", rules)
482
+ if enforcement_version is not None:
483
+ pulumi.set(__self__, "enforcement_version", enforcement_version)
484
+
485
+ @property
486
+ @pulumi.getter
487
+ def rules(self) -> Sequence['outputs.PrincipalAccessBoundaryPolicyDetailsRule']:
488
+ """
489
+ A list of principal access boundary policy rules. The number of rules in a policy is limited to 500.
490
+ Structure is documented below.
491
+ """
492
+ return pulumi.get(self, "rules")
493
+
494
+ @property
495
+ @pulumi.getter(name="enforcementVersion")
496
+ def enforcement_version(self) -> Optional[str]:
497
+ """
498
+ The version number that indicates which Google Cloud services
499
+ are included in the enforcement (e.g. \\"latest\\", \\"1\\", ...). If empty, the
500
+ PAB policy version will be set to the current latest version, and this version
501
+ won't get updated when new versions are released.
502
+ """
503
+ return pulumi.get(self, "enforcement_version")
504
+
505
+
506
+ @pulumi.output_type
507
+ class PrincipalAccessBoundaryPolicyDetailsRule(dict):
508
+ def __init__(__self__, *,
509
+ effect: str,
510
+ resources: Sequence[str],
511
+ description: Optional[str] = None):
512
+ """
513
+ :param str effect: The access relationship of principals to the resources in this rule.
514
+ Possible values: ALLOW
515
+ :param Sequence[str] resources: A list of Cloud Resource Manager resources. The resource
516
+ and all the descendants are included. The number of resources in a policy
517
+ is limited to 500 across all rules.
518
+ The following resource types are supported:
519
+ * Organizations, such as `//cloudresourcemanager.googleapis.com/organizations/123`.
520
+ * Folders, such as `//cloudresourcemanager.googleapis.com/folders/123`.
521
+ * Projects, such as `//cloudresourcemanager.googleapis.com/projects/123`
522
+ or `//cloudresourcemanager.googleapis.com/projects/my-project-id`.
523
+ :param str description: The description of the principal access boundary policy rule. Must be less than or equal to 256 characters.
524
+ """
525
+ pulumi.set(__self__, "effect", effect)
526
+ pulumi.set(__self__, "resources", resources)
527
+ if description is not None:
528
+ pulumi.set(__self__, "description", description)
529
+
530
+ @property
531
+ @pulumi.getter
532
+ def effect(self) -> str:
533
+ """
534
+ The access relationship of principals to the resources in this rule.
535
+ Possible values: ALLOW
536
+ """
537
+ return pulumi.get(self, "effect")
538
+
539
+ @property
540
+ @pulumi.getter
541
+ def resources(self) -> Sequence[str]:
542
+ """
543
+ A list of Cloud Resource Manager resources. The resource
544
+ and all the descendants are included. The number of resources in a policy
545
+ is limited to 500 across all rules.
546
+ The following resource types are supported:
547
+ * Organizations, such as `//cloudresourcemanager.googleapis.com/organizations/123`.
548
+ * Folders, such as `//cloudresourcemanager.googleapis.com/folders/123`.
549
+ * Projects, such as `//cloudresourcemanager.googleapis.com/projects/123`
550
+ or `//cloudresourcemanager.googleapis.com/projects/my-project-id`.
551
+ """
552
+ return pulumi.get(self, "resources")
553
+
554
+ @property
555
+ @pulumi.getter
556
+ def description(self) -> Optional[str]:
557
+ """
558
+ The description of the principal access boundary policy rule. Must be less than or equal to 256 characters.
559
+ """
560
+ return pulumi.get(self, "description")
561
+
562
+
449
563
  @pulumi.output_type
450
564
  class WorkforcePoolAccessRestrictions(dict):
451
565
  @staticmethod