pulumi-gcp 8.21.0a1741156431__py3-none-any.whl → 8.22.0__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 (110) hide show
  1. pulumi_gcp/__init__.py +96 -0
  2. pulumi_gcp/alloydb/_inputs.py +66 -0
  3. pulumi_gcp/alloydb/cluster.py +148 -0
  4. pulumi_gcp/alloydb/instance.py +28 -28
  5. pulumi_gcp/alloydb/outputs.py +95 -0
  6. pulumi_gcp/apihub/__init__.py +1 -0
  7. pulumi_gcp/apihub/host_project_registration.py +535 -0
  8. pulumi_gcp/backupdisasterrecovery/_inputs.py +3 -3
  9. pulumi_gcp/backupdisasterrecovery/outputs.py +4 -4
  10. pulumi_gcp/bigquery/table.py +1 -1
  11. pulumi_gcp/certificatemanager/certificate.py +53 -7
  12. pulumi_gcp/certificatemanager/outputs.py +8 -2
  13. pulumi_gcp/compute/__init__.py +6 -0
  14. pulumi_gcp/compute/_inputs.py +1370 -17
  15. pulumi_gcp/compute/backend_service.py +209 -14
  16. pulumi_gcp/compute/ca_external_account_key.py +48 -3
  17. pulumi_gcp/compute/disk.py +403 -0
  18. pulumi_gcp/compute/firewall_policy_association.py +28 -2
  19. pulumi_gcp/compute/get_backend_service.py +12 -1
  20. pulumi_gcp/compute/get_disk.py +78 -1
  21. pulumi_gcp/compute/get_instant_snapshot_iam_policy.py +182 -0
  22. pulumi_gcp/compute/get_region_disk.py +23 -1
  23. pulumi_gcp/compute/get_region_ssl_policy.py +203 -0
  24. pulumi_gcp/compute/instant_snapshot.py +796 -0
  25. pulumi_gcp/compute/instant_snapshot_iam_binding.py +1087 -0
  26. pulumi_gcp/compute/instant_snapshot_iam_member.py +1087 -0
  27. pulumi_gcp/compute/instant_snapshot_iam_policy.py +906 -0
  28. pulumi_gcp/compute/outputs.py +1952 -29
  29. pulumi_gcp/compute/region_backend_service.py +207 -14
  30. pulumi_gcp/compute/region_disk.py +114 -0
  31. pulumi_gcp/compute/route.py +228 -2
  32. pulumi_gcp/compute/shared_vpc_service_project.py +0 -4
  33. pulumi_gcp/compute/subnetwork.py +147 -0
  34. pulumi_gcp/compute/url_map.py +8 -0
  35. pulumi_gcp/container/_inputs.py +6 -6
  36. pulumi_gcp/container/outputs.py +8 -8
  37. pulumi_gcp/datacatalog/entry.py +4 -0
  38. pulumi_gcp/datacatalog/tag.py +4 -0
  39. pulumi_gcp/dataproc/_inputs.py +12 -15
  40. pulumi_gcp/dataproc/outputs.py +8 -10
  41. pulumi_gcp/datastream/_inputs.py +273 -0
  42. pulumi_gcp/datastream/connection_profile.py +54 -2
  43. pulumi_gcp/datastream/outputs.py +224 -0
  44. pulumi_gcp/discoveryengine/target_site.py +4 -4
  45. pulumi_gcp/eventarc/__init__.py +2 -0
  46. pulumi_gcp/eventarc/_inputs.py +80 -0
  47. pulumi_gcp/eventarc/channel.py +85 -93
  48. pulumi_gcp/eventarc/google_api_source.py +997 -0
  49. pulumi_gcp/eventarc/message_bus.py +927 -0
  50. pulumi_gcp/eventarc/outputs.py +82 -0
  51. pulumi_gcp/firebase/data_connect_service.py +40 -2
  52. pulumi_gcp/gemini/__init__.py +1 -0
  53. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +20 -8
  54. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +6 -0
  55. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +734 -0
  56. pulumi_gcp/gemini/logging_setting_binding.py +7 -7
  57. pulumi_gcp/iam/__init__.py +2 -0
  58. pulumi_gcp/iam/_inputs.py +84 -27
  59. pulumi_gcp/iam/folders_policy_binding.py +10 -26
  60. pulumi_gcp/iam/oauth_client.py +979 -0
  61. pulumi_gcp/iam/oauth_client_credential.py +641 -0
  62. pulumi_gcp/iam/organizations_policy_binding.py +8 -24
  63. pulumi_gcp/iam/outputs.py +56 -18
  64. pulumi_gcp/iam/principal_access_boundary_policy.py +58 -22
  65. pulumi_gcp/iam/projects_policy_binding.py +8 -24
  66. pulumi_gcp/iam/workforce_pool_provider.py +2 -2
  67. pulumi_gcp/kms/crypto_key_version.py +14 -7
  68. pulumi_gcp/memorystore/__init__.py +1 -0
  69. pulumi_gcp/memorystore/get_instance.py +425 -0
  70. pulumi_gcp/memorystore/outputs.py +582 -0
  71. pulumi_gcp/monitoring/_inputs.py +15 -18
  72. pulumi_gcp/monitoring/alert_policy.py +46 -0
  73. pulumi_gcp/monitoring/outputs.py +10 -12
  74. pulumi_gcp/networkconnectivity/hub.py +84 -0
  75. pulumi_gcp/networksecurity/__init__.py +1 -0
  76. pulumi_gcp/networksecurity/_inputs.py +30 -18
  77. pulumi_gcp/networksecurity/backend_authentication_config.py +847 -0
  78. pulumi_gcp/networksecurity/intercept_deployment.py +178 -94
  79. pulumi_gcp/networksecurity/intercept_deployment_group.py +161 -77
  80. pulumi_gcp/networksecurity/intercept_endpoint_group.py +161 -66
  81. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +137 -80
  82. pulumi_gcp/networksecurity/mirroring_deployment.py +178 -94
  83. pulumi_gcp/networksecurity/mirroring_deployment_group.py +161 -77
  84. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +161 -80
  85. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +137 -105
  86. pulumi_gcp/networksecurity/outputs.py +20 -12
  87. pulumi_gcp/networkservices/endpoint_policy.py +12 -0
  88. pulumi_gcp/networkservices/grpc_route.py +128 -12
  89. pulumi_gcp/networkservices/http_route.py +16 -0
  90. pulumi_gcp/networkservices/mesh.py +16 -0
  91. pulumi_gcp/networkservices/service_binding.py +14 -0
  92. pulumi_gcp/networkservices/tcp_route.py +16 -0
  93. pulumi_gcp/networkservices/tls_route.py +12 -0
  94. pulumi_gcp/notebooks/location.py +4 -0
  95. pulumi_gcp/pulumi-plugin.json +1 -1
  96. pulumi_gcp/storage/__init__.py +1 -0
  97. pulumi_gcp/storage/_inputs.py +74 -0
  98. pulumi_gcp/storage/anywhere_cache.py +552 -0
  99. pulumi_gcp/storage/outputs.py +65 -0
  100. pulumi_gcp/storage/transfer_job.py +67 -0
  101. pulumi_gcp/tpu/_inputs.py +21 -1
  102. pulumi_gcp/tpu/outputs.py +13 -1
  103. pulumi_gcp/tpu/v2_vm.py +2 -0
  104. pulumi_gcp/vmwareengine/_inputs.py +6 -0
  105. pulumi_gcp/vmwareengine/outputs.py +8 -0
  106. pulumi_gcp/workstations/workstation_cluster.py +137 -1
  107. {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.22.0.dist-info}/METADATA +1 -1
  108. {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.22.0.dist-info}/RECORD +110 -95
  109. {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.22.0.dist-info}/WHEEL +1 -1
  110. {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.22.0.dist-info}/top_level.txt +0 -0
@@ -497,14 +497,6 @@ class OrganizationsPolicyBinding(pulumi.CustomResource):
497
497
  target: Optional[pulumi.Input[Union['OrganizationsPolicyBindingTargetArgs', 'OrganizationsPolicyBindingTargetArgsDict']]] = None,
498
498
  __props__=None):
499
499
  """
500
- A policy binding to an organizations
501
-
502
- To get more information about OrganizationsPolicyBinding, see:
503
-
504
- * [API documentation](https://cloud.google.com/iam/docs/reference/rest/v3/organizations.locations.policyBindings)
505
- * How-to Guides
506
- * [Apply a policy binding](https://cloud.google.com/iam/docs/principal-access-boundary-policies-create#create_binding)
507
-
508
500
  ## Example Usage
509
501
 
510
502
  ### Iam Organizations Policy Binding
@@ -517,16 +509,16 @@ class OrganizationsPolicyBinding(pulumi.CustomResource):
517
509
  pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
518
510
  organization="123456789",
519
511
  location="global",
520
- display_name="test org binding",
512
+ display_name="binding for all principals in the Organization",
521
513
  principal_access_boundary_policy_id="my-pab-policy")
522
514
  wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
523
515
  opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
524
- my_org_binding = gcp.iam.OrganizationsPolicyBinding("my-org-binding",
516
+ binding_for_all_org_principals = gcp.iam.OrganizationsPolicyBinding("binding-for-all-org-principals",
525
517
  organization="123456789",
526
518
  location="global",
527
- display_name="test org binding",
519
+ display_name="binding for all principals in the Organization",
528
520
  policy_kind="PRINCIPAL_ACCESS_BOUNDARY",
529
- policy_binding_id="test-org-binding",
521
+ policy_binding_id="binding-for-all-org-principals",
530
522
  policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
531
523
  target={
532
524
  "principal_set": "//cloudresourcemanager.googleapis.com/organizations/123456789",
@@ -585,14 +577,6 @@ class OrganizationsPolicyBinding(pulumi.CustomResource):
585
577
  args: OrganizationsPolicyBindingArgs,
586
578
  opts: Optional[pulumi.ResourceOptions] = None):
587
579
  """
588
- A policy binding to an organizations
589
-
590
- To get more information about OrganizationsPolicyBinding, see:
591
-
592
- * [API documentation](https://cloud.google.com/iam/docs/reference/rest/v3/organizations.locations.policyBindings)
593
- * How-to Guides
594
- * [Apply a policy binding](https://cloud.google.com/iam/docs/principal-access-boundary-policies-create#create_binding)
595
-
596
580
  ## Example Usage
597
581
 
598
582
  ### Iam Organizations Policy Binding
@@ -605,16 +589,16 @@ class OrganizationsPolicyBinding(pulumi.CustomResource):
605
589
  pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
606
590
  organization="123456789",
607
591
  location="global",
608
- display_name="test org binding",
592
+ display_name="binding for all principals in the Organization",
609
593
  principal_access_boundary_policy_id="my-pab-policy")
610
594
  wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
611
595
  opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
612
- my_org_binding = gcp.iam.OrganizationsPolicyBinding("my-org-binding",
596
+ binding_for_all_org_principals = gcp.iam.OrganizationsPolicyBinding("binding-for-all-org-principals",
613
597
  organization="123456789",
614
598
  location="global",
615
- display_name="test org binding",
599
+ display_name="binding for all principals in the Organization",
616
600
  policy_kind="PRINCIPAL_ACCESS_BOUNDARY",
617
- policy_binding_id="test-org-binding",
601
+ policy_binding_id="binding-for-all-org-principals",
618
602
  policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
619
603
  target={
620
604
  "principal_set": "//cloudresourcemanager.googleapis.com/organizations/123456789",
pulumi_gcp/iam/outputs.py CHANGED
@@ -531,8 +531,10 @@ class FoldersPolicyBindingTarget(dict):
531
531
  def __init__(__self__, *,
532
532
  principal_set: Optional[str] = None):
533
533
  """
534
- :param str principal_set: Required. Immutable. The resource name of the policy to be bound.
535
- The binding parent and policy must belong to the same Organization (or Project).
534
+ :param str principal_set: Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
535
+ Examples for each one of the following supported principal set types:
536
+ * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
537
+ It must be parent by the policy binding's parent (the folder).
536
538
 
537
539
  - - -
538
540
  """
@@ -543,8 +545,10 @@ class FoldersPolicyBindingTarget(dict):
543
545
  @pulumi.getter(name="principalSet")
544
546
  def principal_set(self) -> Optional[str]:
545
547
  """
546
- Required. Immutable. The resource name of the policy to be bound.
547
- The binding parent and policy must belong to the same Organization (or Project).
548
+ Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
549
+ Examples for each one of the following supported principal set types:
550
+ * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
551
+ It must be parent by the policy binding's parent (the folder).
548
552
 
549
553
  - - -
550
554
  """
@@ -628,8 +632,12 @@ class OrganizationsPolicyBindingTarget(dict):
628
632
  def __init__(__self__, *,
629
633
  principal_set: Optional[str] = None):
630
634
  """
631
- :param str principal_set: Required. Immutable. The resource name of the policy to be bound.
632
- The binding parent and policy must belong to the same Organization (or Project).
635
+ :param str principal_set: Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
636
+ Examples for each one of the following supported principal set types:
637
+ * Organization `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
638
+ * Workforce Identity: `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
639
+ * Workspace Identity: `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
640
+ It must be parent by the policy binding's parent (the organization).
633
641
 
634
642
  - - -
635
643
  """
@@ -640,8 +648,12 @@ class OrganizationsPolicyBindingTarget(dict):
640
648
  @pulumi.getter(name="principalSet")
641
649
  def principal_set(self) -> Optional[str]:
642
650
  """
643
- Required. Immutable. The resource name of the policy to be bound.
644
- The binding parent and policy must belong to the same Organization (or Project).
651
+ Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
652
+ Examples for each one of the following supported principal set types:
653
+ * Organization `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
654
+ * Workforce Identity: `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
655
+ * Workspace Identity: `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
656
+ It must be parent by the policy binding's parent (the organization).
645
657
 
646
658
  - - -
647
659
  """
@@ -837,8 +849,13 @@ class ProjectsPolicyBindingTarget(dict):
837
849
  def __init__(__self__, *,
838
850
  principal_set: Optional[str] = None):
839
851
  """
840
- :param str principal_set: Required. Immutable. The resource name of the policy to be bound.
841
- The binding parent and policy must belong to the same Organization (or Project).
852
+ :param str principal_set: Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
853
+ Examples for each one of the following supported principal set types:
854
+ * Project:
855
+ * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
856
+ * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
857
+ * Workload Identity Pool: `//iam.googleapis.com/projects/PROJECT_NUMBER/locations/LOCATION/workloadIdentityPools/WORKLOAD_POOL_ID`
858
+ It must be parent by the policy binding's parent (the project).
842
859
 
843
860
  - - -
844
861
  """
@@ -849,8 +866,13 @@ class ProjectsPolicyBindingTarget(dict):
849
866
  @pulumi.getter(name="principalSet")
850
867
  def principal_set(self) -> Optional[str]:
851
868
  """
852
- Required. Immutable. The resource name of the policy to be bound.
853
- The binding parent and policy must belong to the same Organization (or Project).
869
+ Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
870
+ Examples for each one of the following supported principal set types:
871
+ * Project:
872
+ * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
873
+ * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
874
+ * Workload Identity Pool: `//iam.googleapis.com/projects/PROJECT_NUMBER/locations/LOCATION/workloadIdentityPools/WORKLOAD_POOL_ID`
875
+ It must be parent by the policy binding's parent (the project).
854
876
 
855
877
  - - -
856
878
  """
@@ -972,7 +994,15 @@ class WorkforcePoolProviderExtraAttributesOauth2Client(dict):
972
994
  * AZURE_AD_GROUPS_MAIL: Used to get the user's group claims from the Azure AD identity provider using configuration provided
973
995
  in ExtraAttributesOAuth2Client and 'mail' property of the 'microsoft.graph.group' object is used for claim mapping.
974
996
  See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on
975
- 'microsoft.graph.group' properties. The attributes obtained from idntity provider are mapped to 'assertion.groups'. Possible values: ["AZURE_AD_GROUPS_MAIL"]
997
+ 'microsoft.graph.group' properties. The attributes obtained from idntity provider are mapped to 'assertion.groups'.
998
+ * AZURE_AD_GROUPS_ID: Used to get the user's group claims from the Azure AD identity provider
999
+ using configuration provided in ExtraAttributesOAuth2Client and 'id'
1000
+ property of the 'microsoft.graph.group' object is used for claim mapping. See
1001
+ https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties
1002
+ for more details on 'microsoft.graph.group' properties. The
1003
+ group IDs obtained from Azure AD are present in 'assertion.groups' for
1004
+ OIDC providers and 'assertion.attributes.groups' for SAML providers for
1005
+ attribute mapping. Possible values: ["AZURE_AD_GROUPS_MAIL", "AZURE_AD_GROUPS_ID"]
976
1006
  :param str client_id: The OAuth 2.0 client ID for retrieving extra attributes from the identity provider. Required to get the Access Token using client credentials grant flow.
977
1007
  :param 'WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretArgs' client_secret: The OAuth 2.0 client secret for retrieving extra attributes from the identity provider. Required to get the Access Token using client credentials grant flow.
978
1008
  :param str issuer_uri: The OIDC identity provider's issuer URI. Must be a valid URI using the 'https' scheme. Required to get the OIDC discovery document.
@@ -993,7 +1023,15 @@ class WorkforcePoolProviderExtraAttributesOauth2Client(dict):
993
1023
  * AZURE_AD_GROUPS_MAIL: Used to get the user's group claims from the Azure AD identity provider using configuration provided
994
1024
  in ExtraAttributesOAuth2Client and 'mail' property of the 'microsoft.graph.group' object is used for claim mapping.
995
1025
  See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on
996
- 'microsoft.graph.group' properties. The attributes obtained from idntity provider are mapped to 'assertion.groups'. Possible values: ["AZURE_AD_GROUPS_MAIL"]
1026
+ 'microsoft.graph.group' properties. The attributes obtained from idntity provider are mapped to 'assertion.groups'.
1027
+ * AZURE_AD_GROUPS_ID: Used to get the user's group claims from the Azure AD identity provider
1028
+ using configuration provided in ExtraAttributesOAuth2Client and 'id'
1029
+ property of the 'microsoft.graph.group' object is used for claim mapping. See
1030
+ https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties
1031
+ for more details on 'microsoft.graph.group' properties. The
1032
+ group IDs obtained from Azure AD are present in 'assertion.groups' for
1033
+ OIDC providers and 'assertion.attributes.groups' for SAML providers for
1034
+ attribute mapping. Possible values: ["AZURE_AD_GROUPS_MAIL", "AZURE_AD_GROUPS_ID"]
997
1035
  """
998
1036
  return pulumi.get(self, "attributes_type")
999
1037
 
@@ -1105,9 +1143,9 @@ class WorkforcePoolProviderExtraAttributesOauth2ClientQueryParameters(dict):
1105
1143
  def __init__(__self__, *,
1106
1144
  filter: Optional[str] = None):
1107
1145
  """
1108
- :param str filter: The filter used to request specific records from IdP. In case of attributes type as AZURE_AD_GROUPS_MAIL, it represents the
1146
+ :param str filter: The filter used to request specific records from IdP. In case of attributes type as AZURE_AD_GROUPS_MAIL and AZURE_AD_GROUPS_ID, it represents the
1109
1147
  filter used to request specific groups for users from IdP. By default, all of the groups associated with the user are fetched. The
1110
- groups should be mail enabled and security enabled. See https://learn.microsoft.com/en-us/graph/search-query-parameter for more details.
1148
+ groups should be security enabled. See https://learn.microsoft.com/en-us/graph/search-query-parameter for more details.
1111
1149
  """
1112
1150
  if filter is not None:
1113
1151
  pulumi.set(__self__, "filter", filter)
@@ -1116,9 +1154,9 @@ class WorkforcePoolProviderExtraAttributesOauth2ClientQueryParameters(dict):
1116
1154
  @pulumi.getter
1117
1155
  def filter(self) -> Optional[str]:
1118
1156
  """
1119
- The filter used to request specific records from IdP. In case of attributes type as AZURE_AD_GROUPS_MAIL, it represents the
1157
+ The filter used to request specific records from IdP. In case of attributes type as AZURE_AD_GROUPS_MAIL and AZURE_AD_GROUPS_ID, it represents the
1120
1158
  filter used to request specific groups for users from IdP. By default, all of the groups associated with the user are fetched. The
1121
- groups should be mail enabled and security enabled. See https://learn.microsoft.com/en-us/graph/search-query-parameter for more details.
1159
+ groups should be security enabled. See https://learn.microsoft.com/en-us/graph/search-query-parameter for more details.
1122
1160
  """
1123
1161
  return pulumi.get(self, "filter")
1124
1162
 
@@ -366,14 +366,6 @@ class PrincipalAccessBoundaryPolicy(pulumi.CustomResource):
366
366
  principal_access_boundary_policy_id: Optional[pulumi.Input[str]] = None,
367
367
  __props__=None):
368
368
  """
369
- An IAM Principal Access Boundary Policy resource
370
-
371
- To get more information about PrincipalAccessBoundaryPolicy, see:
372
-
373
- * [API documentation](https://cloud.google.com/iam/docs/reference/rest/v3/organizations.locations.principalAccessBoundaryPolicies)
374
- * How-to Guides
375
- * [Create and apply Principal Access Boundaries](https://cloud.google.com/iam/docs/principal-access-boundary-policies-create)
376
-
377
369
  ## Example Usage
378
370
 
379
371
  ### Iam Principal Access Boundary Policy
@@ -382,11 +374,37 @@ class PrincipalAccessBoundaryPolicy(pulumi.CustomResource):
382
374
  import pulumi
383
375
  import pulumi_gcp as gcp
384
376
 
385
- my_pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("my-pab-policy",
377
+ pab_policy_for_org = gcp.iam.PrincipalAccessBoundaryPolicy("pab-policy-for-org",
378
+ organization="123456789",
379
+ location="global",
380
+ display_name="PAB policy for Organization",
381
+ principal_access_boundary_policy_id="pab-policy-for-org")
382
+ ```
383
+ ### Iam Organizations Policy Binding
384
+
385
+ ```python
386
+ import pulumi
387
+ import pulumi_gcp as gcp
388
+ import pulumi_time as time
389
+
390
+ pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
391
+ organization="123456789",
392
+ location="global",
393
+ display_name="Binding for all principals in the Organization",
394
+ principal_access_boundary_policy_id="my-pab-policy")
395
+ wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
396
+ opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
397
+ my_pab_policy = gcp.iam.OrganizationsPolicyBinding("my-pab-policy",
386
398
  organization="123456789",
387
399
  location="global",
388
- display_name="test pab policy",
389
- principal_access_boundary_policy_id="test-pab-policy")
400
+ display_name="Binding for all principals in the Organization",
401
+ policy_kind="PRINCIPAL_ACCESS_BOUNDARY",
402
+ policy_binding_id="binding-for-all-org-principals",
403
+ policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
404
+ target={
405
+ "principal_set": "//cloudresourcemanager.googleapis.com/organizations/123456789",
406
+ },
407
+ opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
390
408
  ```
391
409
 
392
410
  ## Import
@@ -432,14 +450,6 @@ class PrincipalAccessBoundaryPolicy(pulumi.CustomResource):
432
450
  args: PrincipalAccessBoundaryPolicyArgs,
433
451
  opts: Optional[pulumi.ResourceOptions] = None):
434
452
  """
435
- An IAM Principal Access Boundary Policy resource
436
-
437
- To get more information about PrincipalAccessBoundaryPolicy, see:
438
-
439
- * [API documentation](https://cloud.google.com/iam/docs/reference/rest/v3/organizations.locations.principalAccessBoundaryPolicies)
440
- * How-to Guides
441
- * [Create and apply Principal Access Boundaries](https://cloud.google.com/iam/docs/principal-access-boundary-policies-create)
442
-
443
453
  ## Example Usage
444
454
 
445
455
  ### Iam Principal Access Boundary Policy
@@ -448,11 +458,37 @@ class PrincipalAccessBoundaryPolicy(pulumi.CustomResource):
448
458
  import pulumi
449
459
  import pulumi_gcp as gcp
450
460
 
451
- my_pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("my-pab-policy",
461
+ pab_policy_for_org = gcp.iam.PrincipalAccessBoundaryPolicy("pab-policy-for-org",
462
+ organization="123456789",
463
+ location="global",
464
+ display_name="PAB policy for Organization",
465
+ principal_access_boundary_policy_id="pab-policy-for-org")
466
+ ```
467
+ ### Iam Organizations Policy Binding
468
+
469
+ ```python
470
+ import pulumi
471
+ import pulumi_gcp as gcp
472
+ import pulumi_time as time
473
+
474
+ pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
475
+ organization="123456789",
476
+ location="global",
477
+ display_name="Binding for all principals in the Organization",
478
+ principal_access_boundary_policy_id="my-pab-policy")
479
+ wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
480
+ opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
481
+ my_pab_policy = gcp.iam.OrganizationsPolicyBinding("my-pab-policy",
452
482
  organization="123456789",
453
483
  location="global",
454
- display_name="test pab policy",
455
- principal_access_boundary_policy_id="test-pab-policy")
484
+ display_name="Binding for all principals in the Organization",
485
+ policy_kind="PRINCIPAL_ACCESS_BOUNDARY",
486
+ policy_binding_id="binding-for-all-org-principals",
487
+ policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
488
+ target={
489
+ "principal_set": "//cloudresourcemanager.googleapis.com/organizations/123456789",
490
+ },
491
+ opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
456
492
  ```
457
493
 
458
494
  ## Import
@@ -490,14 +490,6 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
490
490
  target: Optional[pulumi.Input[Union['ProjectsPolicyBindingTargetArgs', 'ProjectsPolicyBindingTargetArgsDict']]] = None,
491
491
  __props__=None):
492
492
  """
493
- A policy binding to a Project
494
-
495
- To get more information about ProjectsPolicyBinding, see:
496
-
497
- * [API documentation](https://cloud.google.com/iam/docs/reference/rest/v3/projects.locations.policyBindings)
498
- * How-to Guides
499
- * [Apply a policy binding](https://cloud.google.com/iam/docs/principal-access-boundary-policies-create#create_binding)
500
-
501
493
  ## Example Usage
502
494
 
503
495
  ### Iam Projects Policy Binding
@@ -511,16 +503,16 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
511
503
  pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
512
504
  organization="123456789",
513
505
  location="global",
514
- display_name="test project binding",
506
+ display_name="binding for all principals in the project",
515
507
  principal_access_boundary_policy_id="my-pab-policy")
516
508
  wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
517
509
  opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
518
- my_project_binding = gcp.iam.ProjectsPolicyBinding("my-project-binding",
510
+ binding_for_all_project_principals = gcp.iam.ProjectsPolicyBinding("binding-for-all-project-principals",
519
511
  project=project.project_id,
520
512
  location="global",
521
- display_name="test project binding",
513
+ display_name="binding for all principals in the project",
522
514
  policy_kind="PRINCIPAL_ACCESS_BOUNDARY",
523
- policy_binding_id="test-project-binding",
515
+ policy_binding_id="binding-for-all-project-principals",
524
516
  policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
525
517
  target={
526
518
  "principal_set": f"//cloudresourcemanager.googleapis.com/projects/{project.project_id}",
@@ -584,14 +576,6 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
584
576
  args: ProjectsPolicyBindingArgs,
585
577
  opts: Optional[pulumi.ResourceOptions] = None):
586
578
  """
587
- A policy binding to a Project
588
-
589
- To get more information about ProjectsPolicyBinding, see:
590
-
591
- * [API documentation](https://cloud.google.com/iam/docs/reference/rest/v3/projects.locations.policyBindings)
592
- * How-to Guides
593
- * [Apply a policy binding](https://cloud.google.com/iam/docs/principal-access-boundary-policies-create#create_binding)
594
-
595
579
  ## Example Usage
596
580
 
597
581
  ### Iam Projects Policy Binding
@@ -605,16 +589,16 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
605
589
  pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
606
590
  organization="123456789",
607
591
  location="global",
608
- display_name="test project binding",
592
+ display_name="binding for all principals in the project",
609
593
  principal_access_boundary_policy_id="my-pab-policy")
610
594
  wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
611
595
  opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
612
- my_project_binding = gcp.iam.ProjectsPolicyBinding("my-project-binding",
596
+ binding_for_all_project_principals = gcp.iam.ProjectsPolicyBinding("binding-for-all-project-principals",
613
597
  project=project.project_id,
614
598
  location="global",
615
- display_name="test project binding",
599
+ display_name="binding for all principals in the project",
616
600
  policy_kind="PRINCIPAL_ACCESS_BOUNDARY",
617
- policy_binding_id="test-project-binding",
601
+ policy_binding_id="binding-for-all-project-principals",
618
602
  policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
619
603
  target={
620
604
  "principal_set": f"//cloudresourcemanager.googleapis.com/projects/{project.project_id}",
@@ -747,7 +747,7 @@ class WorkforcePoolProvider(pulumi.CustomResource):
747
747
  "plain_text": "client-secret",
748
748
  },
749
749
  },
750
- "attributes_type": "AZURE_AD_GROUPS_MAIL",
750
+ "attributes_type": "AZURE_AD_GROUPS_ID",
751
751
  "query_parameters": {
752
752
  "filter": "mail:gcp",
753
753
  },
@@ -1087,7 +1087,7 @@ class WorkforcePoolProvider(pulumi.CustomResource):
1087
1087
  "plain_text": "client-secret",
1088
1088
  },
1089
1089
  },
1090
- "attributes_type": "AZURE_AD_GROUPS_MAIL",
1090
+ "attributes_type": "AZURE_AD_GROUPS_ID",
1091
1091
  "query_parameters": {
1092
1092
  "filter": "mail:gcp",
1093
1093
  },
@@ -33,7 +33,8 @@ class CryptoKeyVersionArgs:
33
33
  - - -
34
34
  :param pulumi.Input['CryptoKeyVersionExternalProtectionLevelOptionsArgs'] external_protection_level_options: ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level and EXTERNAL_VPC protection levels.
35
35
  Structure is documented below.
36
- :param pulumi.Input[str] state: The current state of the CryptoKeyVersion.
36
+ :param pulumi.Input[str] state: The current state of the CryptoKeyVersion. Note: you can only specify this field to manually `ENABLE` or `DISABLE` the CryptoKeyVersion,
37
+ otherwise the value of this field is always retrieved automatically.
37
38
  Possible values are: `PENDING_GENERATION`, `ENABLED`, `DISABLED`, `DESTROYED`, `DESTROY_SCHEDULED`, `PENDING_IMPORT`, `IMPORT_FAILED`.
38
39
  """
39
40
  pulumi.set(__self__, "crypto_key", crypto_key)
@@ -75,7 +76,8 @@ class CryptoKeyVersionArgs:
75
76
  @pulumi.getter
76
77
  def state(self) -> Optional[pulumi.Input[str]]:
77
78
  """
78
- The current state of the CryptoKeyVersion.
79
+ The current state of the CryptoKeyVersion. Note: you can only specify this field to manually `ENABLE` or `DISABLE` the CryptoKeyVersion,
80
+ otherwise the value of this field is always retrieved automatically.
79
81
  Possible values are: `PENDING_GENERATION`, `ENABLED`, `DISABLED`, `DESTROYED`, `DESTROY_SCHEDULED`, `PENDING_IMPORT`, `IMPORT_FAILED`.
80
82
  """
81
83
  return pulumi.get(self, "state")
@@ -112,7 +114,8 @@ class _CryptoKeyVersionState:
112
114
  :param pulumi.Input[str] generate_time: The time this CryptoKeyVersion key material was generated
113
115
  :param pulumi.Input[str] name: The resource name for this CryptoKeyVersion.
114
116
  :param pulumi.Input[str] protection_level: The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion.
115
- :param pulumi.Input[str] state: The current state of the CryptoKeyVersion.
117
+ :param pulumi.Input[str] state: The current state of the CryptoKeyVersion. Note: you can only specify this field to manually `ENABLE` or `DISABLE` the CryptoKeyVersion,
118
+ otherwise the value of this field is always retrieved automatically.
116
119
  Possible values are: `PENDING_GENERATION`, `ENABLED`, `DISABLED`, `DESTROYED`, `DESTROY_SCHEDULED`, `PENDING_IMPORT`, `IMPORT_FAILED`.
117
120
  """
118
121
  if algorithm is not None:
@@ -227,7 +230,8 @@ class _CryptoKeyVersionState:
227
230
  @pulumi.getter
228
231
  def state(self) -> Optional[pulumi.Input[str]]:
229
232
  """
230
- The current state of the CryptoKeyVersion.
233
+ The current state of the CryptoKeyVersion. Note: you can only specify this field to manually `ENABLE` or `DISABLE` the CryptoKeyVersion,
234
+ otherwise the value of this field is always retrieved automatically.
231
235
  Possible values are: `PENDING_GENERATION`, `ENABLED`, `DISABLED`, `DESTROYED`, `DESTROY_SCHEDULED`, `PENDING_IMPORT`, `IMPORT_FAILED`.
232
236
  """
233
237
  return pulumi.get(self, "state")
@@ -296,7 +300,8 @@ class CryptoKeyVersion(pulumi.CustomResource):
296
300
  - - -
297
301
  :param pulumi.Input[Union['CryptoKeyVersionExternalProtectionLevelOptionsArgs', 'CryptoKeyVersionExternalProtectionLevelOptionsArgsDict']] external_protection_level_options: ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level and EXTERNAL_VPC protection levels.
298
302
  Structure is documented below.
299
- :param pulumi.Input[str] state: The current state of the CryptoKeyVersion.
303
+ :param pulumi.Input[str] state: The current state of the CryptoKeyVersion. Note: you can only specify this field to manually `ENABLE` or `DISABLE` the CryptoKeyVersion,
304
+ otherwise the value of this field is always retrieved automatically.
300
305
  Possible values are: `PENDING_GENERATION`, `ENABLED`, `DISABLED`, `DESTROYED`, `DESTROY_SCHEDULED`, `PENDING_IMPORT`, `IMPORT_FAILED`.
301
306
  """
302
307
  ...
@@ -422,7 +427,8 @@ class CryptoKeyVersion(pulumi.CustomResource):
422
427
  :param pulumi.Input[str] generate_time: The time this CryptoKeyVersion key material was generated
423
428
  :param pulumi.Input[str] name: The resource name for this CryptoKeyVersion.
424
429
  :param pulumi.Input[str] protection_level: The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion.
425
- :param pulumi.Input[str] state: The current state of the CryptoKeyVersion.
430
+ :param pulumi.Input[str] state: The current state of the CryptoKeyVersion. Note: you can only specify this field to manually `ENABLE` or `DISABLE` the CryptoKeyVersion,
431
+ otherwise the value of this field is always retrieved automatically.
426
432
  Possible values are: `PENDING_GENERATION`, `ENABLED`, `DISABLED`, `DESTROYED`, `DESTROY_SCHEDULED`, `PENDING_IMPORT`, `IMPORT_FAILED`.
427
433
  """
428
434
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -506,7 +512,8 @@ class CryptoKeyVersion(pulumi.CustomResource):
506
512
  @pulumi.getter
507
513
  def state(self) -> pulumi.Output[str]:
508
514
  """
509
- The current state of the CryptoKeyVersion.
515
+ The current state of the CryptoKeyVersion. Note: you can only specify this field to manually `ENABLE` or `DISABLE` the CryptoKeyVersion,
516
+ otherwise the value of this field is always retrieved automatically.
510
517
  Possible values are: `PENDING_GENERATION`, `ENABLED`, `DISABLED`, `DESTROYED`, `DESTROY_SCHEDULED`, `PENDING_IMPORT`, `IMPORT_FAILED`.
511
518
  """
512
519
  return pulumi.get(self, "state")
@@ -5,6 +5,7 @@
5
5
  from .. import _utilities
6
6
  import typing
7
7
  # Export this package's modules as members:
8
+ from .get_instance import *
8
9
  from .instance import *
9
10
  from ._inputs import *
10
11
  from . import outputs