pulumi-gcp 8.21.0a1741070272__py3-none-any.whl → 8.21.0a1741103856__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 (50) hide show
  1. pulumi_gcp/__init__.py +16 -0
  2. pulumi_gcp/alloydb/__init__.py +1 -0
  3. pulumi_gcp/alloydb/get_cluster.py +491 -0
  4. pulumi_gcp/alloydb/outputs.py +808 -0
  5. pulumi_gcp/appengine/_inputs.py +3 -3
  6. pulumi_gcp/appengine/outputs.py +2 -2
  7. pulumi_gcp/backupdisasterrecovery/backup_plan.py +16 -0
  8. pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +16 -0
  9. pulumi_gcp/backupdisasterrecovery/management_server.py +16 -0
  10. pulumi_gcp/bigquery/_inputs.py +6 -8
  11. pulumi_gcp/bigquery/data_transfer_config.py +28 -0
  12. pulumi_gcp/bigquery/outputs.py +4 -5
  13. pulumi_gcp/chronicle/rule_deployment.py +21 -7
  14. pulumi_gcp/composer/get_environment.py +12 -0
  15. pulumi_gcp/composer/get_image_versions.py +12 -0
  16. pulumi_gcp/composer/get_user_workloads_config_map.py +12 -0
  17. pulumi_gcp/composer/get_user_workloads_secret.py +12 -0
  18. pulumi_gcp/compute/network_peering_routes_config.py +140 -6
  19. pulumi_gcp/datacatalog/entry_group.py +4 -0
  20. pulumi_gcp/datacatalog/tag_template.py +4 -0
  21. pulumi_gcp/developerconnect/_inputs.py +575 -0
  22. pulumi_gcp/developerconnect/connection.py +200 -0
  23. pulumi_gcp/developerconnect/git_repository_link.py +12 -0
  24. pulumi_gcp/developerconnect/outputs.py +461 -0
  25. pulumi_gcp/gemini/__init__.py +1 -0
  26. pulumi_gcp/gemini/data_sharing_with_google_setting.py +6 -0
  27. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +722 -0
  28. pulumi_gcp/gemini/logging_setting.py +4 -0
  29. pulumi_gcp/gemini/logging_setting_binding.py +12 -0
  30. pulumi_gcp/iam/organizations_policy_binding.py +10 -2
  31. pulumi_gcp/iam/projects_policy_binding.py +10 -2
  32. pulumi_gcp/iam/workforce_pool_provider.py +63 -11
  33. pulumi_gcp/parametermanager/get_parameter_version_render.py +3 -0
  34. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +3 -0
  35. pulumi_gcp/projects/__init__.py +1 -0
  36. pulumi_gcp/projects/get_ancestry.py +150 -0
  37. pulumi_gcp/projects/outputs.py +30 -0
  38. pulumi_gcp/pulumi-plugin.json +1 -1
  39. pulumi_gcp/redis/cluster.py +211 -94
  40. pulumi_gcp/secretmanager/secret_version.py +73 -23
  41. pulumi_gcp/spanner/__init__.py +1 -0
  42. pulumi_gcp/spanner/instance_partition.py +658 -0
  43. pulumi_gcp/sql/user.py +20 -14
  44. pulumi_gcp/tpu/_inputs.py +150 -1
  45. pulumi_gcp/tpu/outputs.py +114 -1
  46. pulumi_gcp/tpu/v2_queued_resource.py +74 -0
  47. {pulumi_gcp-8.21.0a1741070272.dist-info → pulumi_gcp-8.21.0a1741103856.dist-info}/METADATA +1 -1
  48. {pulumi_gcp-8.21.0a1741070272.dist-info → pulumi_gcp-8.21.0a1741103856.dist-info}/RECORD +50 -46
  49. {pulumi_gcp-8.21.0a1741070272.dist-info → pulumi_gcp-8.21.0a1741103856.dist-info}/WHEEL +0 -0
  50. {pulumi_gcp-8.21.0a1741070272.dist-info → pulumi_gcp-8.21.0a1741103856.dist-info}/top_level.txt +0 -0
@@ -343,6 +343,8 @@ class LoggingSetting(pulumi.CustomResource):
343
343
  project: Optional[pulumi.Input[str]] = None,
344
344
  __props__=None):
345
345
  """
346
+ The resource for managing Logging settings for Admin Control.
347
+
346
348
  ## Example Usage
347
349
 
348
350
  ### Gemini Logging Setting Basic
@@ -407,6 +409,8 @@ class LoggingSetting(pulumi.CustomResource):
407
409
  args: LoggingSettingArgs,
408
410
  opts: Optional[pulumi.ResourceOptions] = None):
409
411
  """
412
+ The resource for managing Logging settings for Admin Control.
413
+
410
414
  ## Example Usage
411
415
 
412
416
  ### Gemini Logging Setting Basic
@@ -379,6 +379,12 @@ class LoggingSettingBinding(pulumi.CustomResource):
379
379
  target: Optional[pulumi.Input[str]] = None,
380
380
  __props__=None):
381
381
  """
382
+ The resource for managing Logging setting bindings for Admin Control.
383
+
384
+ To get more information about LoggingSettingBinding, see:
385
+ * How-to Guides
386
+ * [Gemini Cloud Assist overview](https://cloud.google.com/gemini/docs/cloud-assist/overview)
387
+
382
388
  ## Example Usage
383
389
 
384
390
  ### Gemini Logging Setting Binding Basic
@@ -449,6 +455,12 @@ class LoggingSettingBinding(pulumi.CustomResource):
449
455
  args: LoggingSettingBindingArgs,
450
456
  opts: Optional[pulumi.ResourceOptions] = None):
451
457
  """
458
+ The resource for managing Logging setting bindings for Admin Control.
459
+
460
+ To get more information about LoggingSettingBinding, see:
461
+ * How-to Guides
462
+ * [Gemini Cloud Assist overview](https://cloud.google.com/gemini/docs/cloud-assist/overview)
463
+
452
464
  ## Example Usage
453
465
 
454
466
  ### Gemini Logging Setting Binding Basic
@@ -512,12 +512,15 @@ class OrganizationsPolicyBinding(pulumi.CustomResource):
512
512
  ```python
513
513
  import pulumi
514
514
  import pulumi_gcp as gcp
515
+ import pulumi_time as time
515
516
 
516
517
  pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
517
518
  organization="123456789",
518
519
  location="global",
519
520
  display_name="test org binding",
520
521
  principal_access_boundary_policy_id="my-pab-policy")
522
+ wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
523
+ opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
521
524
  my_org_binding = gcp.iam.OrganizationsPolicyBinding("my-org-binding",
522
525
  organization="123456789",
523
526
  location="global",
@@ -527,7 +530,8 @@ class OrganizationsPolicyBinding(pulumi.CustomResource):
527
530
  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}"),
528
531
  target={
529
532
  "principal_set": "//cloudresourcemanager.googleapis.com/organizations/123456789",
530
- })
533
+ },
534
+ opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
531
535
  ```
532
536
 
533
537
  ## Import
@@ -596,12 +600,15 @@ class OrganizationsPolicyBinding(pulumi.CustomResource):
596
600
  ```python
597
601
  import pulumi
598
602
  import pulumi_gcp as gcp
603
+ import pulumi_time as time
599
604
 
600
605
  pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
601
606
  organization="123456789",
602
607
  location="global",
603
608
  display_name="test org binding",
604
609
  principal_access_boundary_policy_id="my-pab-policy")
610
+ wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
611
+ opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
605
612
  my_org_binding = gcp.iam.OrganizationsPolicyBinding("my-org-binding",
606
613
  organization="123456789",
607
614
  location="global",
@@ -611,7 +618,8 @@ class OrganizationsPolicyBinding(pulumi.CustomResource):
611
618
  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}"),
612
619
  target={
613
620
  "principal_set": "//cloudresourcemanager.googleapis.com/organizations/123456789",
614
- })
621
+ },
622
+ opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
615
623
  ```
616
624
 
617
625
  ## Import
@@ -505,6 +505,7 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
505
505
  ```python
506
506
  import pulumi
507
507
  import pulumi_gcp as gcp
508
+ import pulumi_time as time
508
509
 
509
510
  project = gcp.organizations.get_project()
510
511
  pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
@@ -512,6 +513,8 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
512
513
  location="global",
513
514
  display_name="test project binding",
514
515
  principal_access_boundary_policy_id="my-pab-policy")
516
+ wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
517
+ opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
515
518
  my_project_binding = gcp.iam.ProjectsPolicyBinding("my-project-binding",
516
519
  project=project.project_id,
517
520
  location="global",
@@ -521,7 +524,8 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
521
524
  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}"),
522
525
  target={
523
526
  "principal_set": f"//cloudresourcemanager.googleapis.com/projects/{project.project_id}",
524
- })
527
+ },
528
+ opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
525
529
  ```
526
530
 
527
531
  ## Import
@@ -595,6 +599,7 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
595
599
  ```python
596
600
  import pulumi
597
601
  import pulumi_gcp as gcp
602
+ import pulumi_time as time
598
603
 
599
604
  project = gcp.organizations.get_project()
600
605
  pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
@@ -602,6 +607,8 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
602
607
  location="global",
603
608
  display_name="test project binding",
604
609
  principal_access_boundary_policy_id="my-pab-policy")
610
+ wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
611
+ opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
605
612
  my_project_binding = gcp.iam.ProjectsPolicyBinding("my-project-binding",
606
613
  project=project.project_id,
607
614
  location="global",
@@ -611,7 +618,8 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
611
618
  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}"),
612
619
  target={
613
620
  "principal_set": f"//cloudresourcemanager.googleapis.com/projects/{project.project_id}",
614
- })
621
+ },
622
+ opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
615
623
  ```
616
624
 
617
625
  ## Import
@@ -99,7 +99,7 @@ class WorkforcePoolProviderArgs:
99
99
  :param pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientArgs'] extra_attributes_oauth2_client: The configuration for OAuth 2.0 client used to get the additional user
100
100
  attributes. This should be used when users can't get the desired claims
101
101
  in authentication credentials. Currently this configuration is only
102
- supported with OIDC protocol.
102
+ supported with SAML and OIDC protocol.
103
103
  Structure is documented below.
104
104
  :param pulumi.Input['WorkforcePoolProviderOidcArgs'] oidc: Represents an OpenId Connect 1.0 identity provider.
105
105
  Structure is documented below.
@@ -283,7 +283,7 @@ class WorkforcePoolProviderArgs:
283
283
  The configuration for OAuth 2.0 client used to get the additional user
284
284
  attributes. This should be used when users can't get the desired claims
285
285
  in authentication credentials. Currently this configuration is only
286
- supported with OIDC protocol.
286
+ supported with SAML and OIDC protocol.
287
287
  Structure is documented below.
288
288
  """
289
289
  return pulumi.get(self, "extra_attributes_oauth2_client")
@@ -391,7 +391,7 @@ class _WorkforcePoolProviderState:
391
391
  :param pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientArgs'] extra_attributes_oauth2_client: The configuration for OAuth 2.0 client used to get the additional user
392
392
  attributes. This should be used when users can't get the desired claims
393
393
  in authentication credentials. Currently this configuration is only
394
- supported with OIDC protocol.
394
+ supported with SAML and OIDC protocol.
395
395
  Structure is documented below.
396
396
  :param pulumi.Input[str] location: The location for the resource.
397
397
  :param pulumi.Input[str] name: Output only. The resource name of the provider.
@@ -557,7 +557,7 @@ class _WorkforcePoolProviderState:
557
557
  The configuration for OAuth 2.0 client used to get the additional user
558
558
  attributes. This should be used when users can't get the desired claims
559
559
  in authentication credentials. Currently this configuration is only
560
- supported with OIDC protocol.
560
+ supported with SAML and OIDC protocol.
561
561
  Structure is documented below.
562
562
  """
563
563
  return pulumi.get(self, "extra_attributes_oauth2_client")
@@ -737,7 +737,20 @@ class WorkforcePoolProvider(pulumi.CustomResource):
737
737
  "google.subject": "assertion.sub",
738
738
  },
739
739
  saml={
740
- "idp_metadata_xml": "<?xml version=\\"1.0\\"?><md:EntityDescriptor xmlns:md=\\"urn:oasis:names:tc:SAML:2.0:metadata\\" entityID=\\"https://test.com\\"><md:IDPSSODescriptor protocolSupportEnumeration=\\"urn:oasis:names:tc:SAML:2.0:protocol\\"> <md:KeyDescriptor use=\\"signing\\"><ds:KeyInfo xmlns:ds=\\"http://www.w3.org/2000/09/xmldsig#\\"><ds:X509Data><ds:X509Certificate>MIIDpDCCAoygAwIBAgIGAX7/5qPhMA0GCSqGSIb3DQEBCwUAMIGSMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEUMBIGA1UECwwLU1NPUHJvdmlkZXIxEzARBgNVBAMMCmRldi00NTg0MjExHDAaBgkqhkiG9w0BCQEWDWluZm9Ab2t0YS5jb20wHhcNMjIwMjE2MDAxOTEyWhcNMzIwMjE2MDAyMDEyWjCBkjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoMBE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRMwEQYDVQQDDApkZXYtNDU4NDIxMRwwGgYJKoZIhvcNAQkBFg1pbmZvQG9rdGEuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxrBl7GKz52cRpxF9xCsirnRuMxnhFBaUrsHqAQrLqWmdlpNYZTVg+T9iQ+aq/iE68L+BRZcZniKIvW58wqqS0ltXVvIkXuDSvnvnkkI5yMIVErR20K8jSOKQm1FmK+fgAJ4koshFiu9oLiqu0Ejc0DuL3/XRsb4RuxjktKTb1khgBBtb+7idEk0sFR0RPefAweXImJkDHDm7SxjDwGJUubbqpdTxasPr0W+AHI1VUzsUsTiHAoyb0XDkYqHfDzhj/ZdIEl4zHQ3bEZvlD984ztAnmX2SuFLLKfXeAAGHei8MMixJvwxYkkPeYZ/5h8WgBZPP4heS2CPjwYExt29L8QIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQARjJFz++a9Z5IQGFzsZMrX2EDR5ML4xxUiQkbhld1S1PljOLcYFARDmUC2YYHOueU4ee8Jid9nPGEUebV/4Jok+b+oQh+dWMgiWjSLI7h5q4OYZ3VJtdlVwgMFt2iz+/4yBKMUZ50g3Qgg36vE34us+eKitg759JgCNsibxn0qtJgSPm0sgP2L6yTaLnoEUbXBRxCwynTSkp9ZijZqEzbhN0e2dWv7Rx/nfpohpDP6vEiFImKFHpDSv3M/5de1ytQzPFrZBYt9WlzlYwE1aD9FHCxdd+rWgYMVVoRaRmndpV/Rq3QUuDuFJtaoX11bC7ExkOpg9KstZzA63i3VcfYv</ds:X509Certificate></ds:X509Data></ds:KeyInfo></md:KeyDescriptor><md:SingleSignOnService Binding=\\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\\" Location=\\"https://test.com/sso\\"/></md:IDPSSODescriptor></md:EntityDescriptor>",
740
+ "idp_metadata_xml": "<?xml version=\\"1.0\\"?><md:EntityDescriptor xmlns:md=\\"urn:oasis:names:tc:SAML:2.0:metadata\\" entityID=\\"https://sts.windows.net/826602fe-2101-470c-9d71-ee1343668989\\"><md:IDPSSODescriptor protocolSupportEnumeration=\\"urn:oasis:names:tc:SAML:2.0:protocol\\"> <md:KeyDescriptor use=\\"signing\\"><ds:KeyInfo xmlns:ds=\\"http://www.w3.org/2000/09/xmldsig#\\"><ds:X509Data><ds:X509Certificate>MIIDpDCCAoygAwIBAgIGAX7/5qPhMA0GCSqGSIb3DQEBCwUAMIGSMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEUMBIGA1UECwwLU1NPUHJvdmlkZXIxEzARBgNVBAMMCmRldi00NTg0MjExHDAaBgkqhkiG9w0BCQEWDWluZm9Ab2t0YS5jb20wHhcNMjIwMjE2MDAxOTEyWhcNMzIwMjE2MDAyMDEyWjCBkjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoMBE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRMwEQYDVQQDDApkZXYtNDU4NDIxMRwwGgYJKoZIhvcNAQkBFg1pbmZvQG9rdGEuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxrBl7GKz52cRpxF9xCsirnRuMxnhFBaUrsHqAQrLqWmdlpNYZTVg+T9iQ+aq/iE68L+BRZcZniKIvW58wqqS0ltXVvIkXuDSvnvnkkI5yMIVErR20K8jSOKQm1FmK+fgAJ4koshFiu9oLiqu0Ejc0DuL3/XRsb4RuxjktKTb1khgBBtb+7idEk0sFR0RPefAweXImJkDHDm7SxjDwGJUubbqpdTxasPr0W+AHI1VUzsUsTiHAoyb0XDkYqHfDzhj/ZdIEl4zHQ3bEZvlD984ztAnmX2SuFLLKfXeAAGHei8MMixJvwxYkkPeYZ/5h8WgBZPP4heS2CPjwYExt29L8QIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQARjJFz++a9Z5IQGFzsZMrX2EDR5ML4xxUiQkbhld1S1PljOLcYFARDmUC2YYHOueU4ee8Jid9nPGEUebV/4Jok+b+oQh+dWMgiWjSLI7h5q4OYZ3VJtdlVwgMFt2iz+/4yBKMUZ50g3Qgg36vE34us+eKitg759JgCNsibxn0qtJgSPm0sgP2L6yTaLnoEUbXBRxCwynTSkp9ZijZqEzbhN0e2dWv7Rx/nfpohpDP6vEiFImKFHpDSv3M/5de1ytQzPFrZBYt9WlzlYwE1aD9FHCxdd+rWgYMVVoRaRmndpV/Rq3QUuDuFJtaoX11bC7ExkOpg9KstZzA63i3VcfYv</ds:X509Certificate></ds:X509Data></ds:KeyInfo></md:KeyDescriptor><md:SingleSignOnService Binding=\\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\\" Location=\\"https://test.com/sso\\"/></md:IDPSSODescriptor></md:EntityDescriptor>",
741
+ },
742
+ extra_attributes_oauth2_client={
743
+ "issuer_uri": "https://login.microsoftonline.com/826602fe-2101-470c-9d71-ee1343668989/v2.0",
744
+ "client_id": "client-id",
745
+ "client_secret": {
746
+ "value": {
747
+ "plain_text": "client-secret",
748
+ },
749
+ },
750
+ "attributes_type": "AZURE_AD_GROUPS_MAIL",
751
+ "query_parameters": {
752
+ "filter": "mail:gcp",
753
+ },
741
754
  },
742
755
  display_name="Display name",
743
756
  description="A sample SAML workforce pool provider.",
@@ -793,7 +806,7 @@ class WorkforcePoolProvider(pulumi.CustomResource):
793
806
  "google.subject": "assertion.sub",
794
807
  },
795
808
  oidc={
796
- "issuer_uri": "https://accounts.thirdparty.com",
809
+ "issuer_uri": "https://login.microsoftonline.com/826602fe-2101-470c-9d71-ee1343668989/v2.0",
797
810
  "client_id": "client-id",
798
811
  "client_secret": {
799
812
  "value": {
@@ -809,6 +822,19 @@ class WorkforcePoolProvider(pulumi.CustomResource):
809
822
  ],
810
823
  },
811
824
  },
825
+ extra_attributes_oauth2_client={
826
+ "issuer_uri": "https://login.microsoftonline.com/826602fe-2101-470c-9d71-ee1343668989/v2.0",
827
+ "client_id": "client-id",
828
+ "client_secret": {
829
+ "value": {
830
+ "plain_text": "client-secret",
831
+ },
832
+ },
833
+ "attributes_type": "AZURE_AD_GROUPS_MAIL",
834
+ "query_parameters": {
835
+ "filter": "mail:sales",
836
+ },
837
+ },
812
838
  display_name="Display name",
813
839
  description="A sample OIDC workforce pool provider.",
814
840
  disabled=False,
@@ -974,7 +1000,7 @@ class WorkforcePoolProvider(pulumi.CustomResource):
974
1000
  :param pulumi.Input[Union['WorkforcePoolProviderExtraAttributesOauth2ClientArgs', 'WorkforcePoolProviderExtraAttributesOauth2ClientArgsDict']] extra_attributes_oauth2_client: The configuration for OAuth 2.0 client used to get the additional user
975
1001
  attributes. This should be used when users can't get the desired claims
976
1002
  in authentication credentials. Currently this configuration is only
977
- supported with OIDC protocol.
1003
+ supported with SAML and OIDC protocol.
978
1004
  Structure is documented below.
979
1005
  :param pulumi.Input[str] location: The location for the resource.
980
1006
  :param pulumi.Input[Union['WorkforcePoolProviderOidcArgs', 'WorkforcePoolProviderOidcArgsDict']] oidc: Represents an OpenId Connect 1.0 identity provider.
@@ -1051,7 +1077,20 @@ class WorkforcePoolProvider(pulumi.CustomResource):
1051
1077
  "google.subject": "assertion.sub",
1052
1078
  },
1053
1079
  saml={
1054
- "idp_metadata_xml": "<?xml version=\\"1.0\\"?><md:EntityDescriptor xmlns:md=\\"urn:oasis:names:tc:SAML:2.0:metadata\\" entityID=\\"https://test.com\\"><md:IDPSSODescriptor protocolSupportEnumeration=\\"urn:oasis:names:tc:SAML:2.0:protocol\\"> <md:KeyDescriptor use=\\"signing\\"><ds:KeyInfo xmlns:ds=\\"http://www.w3.org/2000/09/xmldsig#\\"><ds:X509Data><ds:X509Certificate>MIIDpDCCAoygAwIBAgIGAX7/5qPhMA0GCSqGSIb3DQEBCwUAMIGSMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEUMBIGA1UECwwLU1NPUHJvdmlkZXIxEzARBgNVBAMMCmRldi00NTg0MjExHDAaBgkqhkiG9w0BCQEWDWluZm9Ab2t0YS5jb20wHhcNMjIwMjE2MDAxOTEyWhcNMzIwMjE2MDAyMDEyWjCBkjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoMBE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRMwEQYDVQQDDApkZXYtNDU4NDIxMRwwGgYJKoZIhvcNAQkBFg1pbmZvQG9rdGEuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxrBl7GKz52cRpxF9xCsirnRuMxnhFBaUrsHqAQrLqWmdlpNYZTVg+T9iQ+aq/iE68L+BRZcZniKIvW58wqqS0ltXVvIkXuDSvnvnkkI5yMIVErR20K8jSOKQm1FmK+fgAJ4koshFiu9oLiqu0Ejc0DuL3/XRsb4RuxjktKTb1khgBBtb+7idEk0sFR0RPefAweXImJkDHDm7SxjDwGJUubbqpdTxasPr0W+AHI1VUzsUsTiHAoyb0XDkYqHfDzhj/ZdIEl4zHQ3bEZvlD984ztAnmX2SuFLLKfXeAAGHei8MMixJvwxYkkPeYZ/5h8WgBZPP4heS2CPjwYExt29L8QIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQARjJFz++a9Z5IQGFzsZMrX2EDR5ML4xxUiQkbhld1S1PljOLcYFARDmUC2YYHOueU4ee8Jid9nPGEUebV/4Jok+b+oQh+dWMgiWjSLI7h5q4OYZ3VJtdlVwgMFt2iz+/4yBKMUZ50g3Qgg36vE34us+eKitg759JgCNsibxn0qtJgSPm0sgP2L6yTaLnoEUbXBRxCwynTSkp9ZijZqEzbhN0e2dWv7Rx/nfpohpDP6vEiFImKFHpDSv3M/5de1ytQzPFrZBYt9WlzlYwE1aD9FHCxdd+rWgYMVVoRaRmndpV/Rq3QUuDuFJtaoX11bC7ExkOpg9KstZzA63i3VcfYv</ds:X509Certificate></ds:X509Data></ds:KeyInfo></md:KeyDescriptor><md:SingleSignOnService Binding=\\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\\" Location=\\"https://test.com/sso\\"/></md:IDPSSODescriptor></md:EntityDescriptor>",
1080
+ "idp_metadata_xml": "<?xml version=\\"1.0\\"?><md:EntityDescriptor xmlns:md=\\"urn:oasis:names:tc:SAML:2.0:metadata\\" entityID=\\"https://sts.windows.net/826602fe-2101-470c-9d71-ee1343668989\\"><md:IDPSSODescriptor protocolSupportEnumeration=\\"urn:oasis:names:tc:SAML:2.0:protocol\\"> <md:KeyDescriptor use=\\"signing\\"><ds:KeyInfo xmlns:ds=\\"http://www.w3.org/2000/09/xmldsig#\\"><ds:X509Data><ds:X509Certificate>MIIDpDCCAoygAwIBAgIGAX7/5qPhMA0GCSqGSIb3DQEBCwUAMIGSMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEUMBIGA1UECwwLU1NPUHJvdmlkZXIxEzARBgNVBAMMCmRldi00NTg0MjExHDAaBgkqhkiG9w0BCQEWDWluZm9Ab2t0YS5jb20wHhcNMjIwMjE2MDAxOTEyWhcNMzIwMjE2MDAyMDEyWjCBkjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoMBE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRMwEQYDVQQDDApkZXYtNDU4NDIxMRwwGgYJKoZIhvcNAQkBFg1pbmZvQG9rdGEuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxrBl7GKz52cRpxF9xCsirnRuMxnhFBaUrsHqAQrLqWmdlpNYZTVg+T9iQ+aq/iE68L+BRZcZniKIvW58wqqS0ltXVvIkXuDSvnvnkkI5yMIVErR20K8jSOKQm1FmK+fgAJ4koshFiu9oLiqu0Ejc0DuL3/XRsb4RuxjktKTb1khgBBtb+7idEk0sFR0RPefAweXImJkDHDm7SxjDwGJUubbqpdTxasPr0W+AHI1VUzsUsTiHAoyb0XDkYqHfDzhj/ZdIEl4zHQ3bEZvlD984ztAnmX2SuFLLKfXeAAGHei8MMixJvwxYkkPeYZ/5h8WgBZPP4heS2CPjwYExt29L8QIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQARjJFz++a9Z5IQGFzsZMrX2EDR5ML4xxUiQkbhld1S1PljOLcYFARDmUC2YYHOueU4ee8Jid9nPGEUebV/4Jok+b+oQh+dWMgiWjSLI7h5q4OYZ3VJtdlVwgMFt2iz+/4yBKMUZ50g3Qgg36vE34us+eKitg759JgCNsibxn0qtJgSPm0sgP2L6yTaLnoEUbXBRxCwynTSkp9ZijZqEzbhN0e2dWv7Rx/nfpohpDP6vEiFImKFHpDSv3M/5de1ytQzPFrZBYt9WlzlYwE1aD9FHCxdd+rWgYMVVoRaRmndpV/Rq3QUuDuFJtaoX11bC7ExkOpg9KstZzA63i3VcfYv</ds:X509Certificate></ds:X509Data></ds:KeyInfo></md:KeyDescriptor><md:SingleSignOnService Binding=\\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\\" Location=\\"https://test.com/sso\\"/></md:IDPSSODescriptor></md:EntityDescriptor>",
1081
+ },
1082
+ extra_attributes_oauth2_client={
1083
+ "issuer_uri": "https://login.microsoftonline.com/826602fe-2101-470c-9d71-ee1343668989/v2.0",
1084
+ "client_id": "client-id",
1085
+ "client_secret": {
1086
+ "value": {
1087
+ "plain_text": "client-secret",
1088
+ },
1089
+ },
1090
+ "attributes_type": "AZURE_AD_GROUPS_MAIL",
1091
+ "query_parameters": {
1092
+ "filter": "mail:gcp",
1093
+ },
1055
1094
  },
1056
1095
  display_name="Display name",
1057
1096
  description="A sample SAML workforce pool provider.",
@@ -1107,7 +1146,7 @@ class WorkforcePoolProvider(pulumi.CustomResource):
1107
1146
  "google.subject": "assertion.sub",
1108
1147
  },
1109
1148
  oidc={
1110
- "issuer_uri": "https://accounts.thirdparty.com",
1149
+ "issuer_uri": "https://login.microsoftonline.com/826602fe-2101-470c-9d71-ee1343668989/v2.0",
1111
1150
  "client_id": "client-id",
1112
1151
  "client_secret": {
1113
1152
  "value": {
@@ -1123,6 +1162,19 @@ class WorkforcePoolProvider(pulumi.CustomResource):
1123
1162
  ],
1124
1163
  },
1125
1164
  },
1165
+ extra_attributes_oauth2_client={
1166
+ "issuer_uri": "https://login.microsoftonline.com/826602fe-2101-470c-9d71-ee1343668989/v2.0",
1167
+ "client_id": "client-id",
1168
+ "client_secret": {
1169
+ "value": {
1170
+ "plain_text": "client-secret",
1171
+ },
1172
+ },
1173
+ "attributes_type": "AZURE_AD_GROUPS_MAIL",
1174
+ "query_parameters": {
1175
+ "filter": "mail:sales",
1176
+ },
1177
+ },
1126
1178
  display_name="Display name",
1127
1179
  description="A sample OIDC workforce pool provider.",
1128
1180
  disabled=False,
@@ -1370,7 +1422,7 @@ class WorkforcePoolProvider(pulumi.CustomResource):
1370
1422
  :param pulumi.Input[Union['WorkforcePoolProviderExtraAttributesOauth2ClientArgs', 'WorkforcePoolProviderExtraAttributesOauth2ClientArgsDict']] extra_attributes_oauth2_client: The configuration for OAuth 2.0 client used to get the additional user
1371
1423
  attributes. This should be used when users can't get the desired claims
1372
1424
  in authentication credentials. Currently this configuration is only
1373
- supported with OIDC protocol.
1425
+ supported with SAML and OIDC protocol.
1374
1426
  Structure is documented below.
1375
1427
  :param pulumi.Input[str] location: The location for the resource.
1376
1428
  :param pulumi.Input[str] name: Output only. The resource name of the provider.
@@ -1508,7 +1560,7 @@ class WorkforcePoolProvider(pulumi.CustomResource):
1508
1560
  The configuration for OAuth 2.0 client used to get the additional user
1509
1561
  attributes. This should be used when users can't get the desired claims
1510
1562
  in authentication credentials. Currently this configuration is only
1511
- supported with OIDC protocol.
1563
+ supported with SAML and OIDC protocol.
1512
1564
  Structure is documented below.
1513
1565
  """
1514
1566
  return pulumi.get(self, "extra_attributes_oauth2_client")
@@ -103,6 +103,9 @@ class GetParameterVersionRenderResult:
103
103
  @property
104
104
  @pulumi.getter(name="renderedParameterData")
105
105
  def rendered_parameter_data(self) -> str:
106
+ """
107
+ The Rendered Parameter Data specifies that if you use `__REF__()` to reference a secret and the format is JSON or YAML, the placeholder `__REF__()` will be replaced with the actual secret value. However, if the format is UNFORMATTED, it will stay the same as the original `parameter_data`.
108
+ """
106
109
  return pulumi.get(self, "rendered_parameter_data")
107
110
 
108
111
 
@@ -111,6 +111,9 @@ class GetRegionalParameterVersionRenderResult:
111
111
  @property
112
112
  @pulumi.getter(name="renderedParameterData")
113
113
  def rendered_parameter_data(self) -> str:
114
+ """
115
+ The Rendered Parameter Data specifies that if you use `__REF__()` to reference a secret and the format is JSON or YAML, the placeholder `__REF__()` will be replaced with the actual secret value. However, if the format is UNFORMATTED, it will stay the same as the original `parameter_data`.
116
+ """
114
117
  return pulumi.get(self, "rendered_parameter_data")
115
118
 
116
119
 
@@ -8,6 +8,7 @@ import typing
8
8
  from .access_approval_settings import *
9
9
  from .api_key import *
10
10
  from .default_service_accounts import *
11
+ from .get_ancestry import *
11
12
  from .get_iam_policy import *
12
13
  from .get_organization_policy import *
13
14
  from .get_project import *
@@ -0,0 +1,150 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetAncestryResult',
20
+ 'AwaitableGetAncestryResult',
21
+ 'get_ancestry',
22
+ 'get_ancestry_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetAncestryResult:
27
+ """
28
+ A collection of values returned by getAncestry.
29
+ """
30
+ def __init__(__self__, ancestors=None, id=None, org_id=None, parent_id=None, parent_type=None, project=None):
31
+ if ancestors and not isinstance(ancestors, list):
32
+ raise TypeError("Expected argument 'ancestors' to be a list")
33
+ pulumi.set(__self__, "ancestors", ancestors)
34
+ if id and not isinstance(id, str):
35
+ raise TypeError("Expected argument 'id' to be a str")
36
+ pulumi.set(__self__, "id", id)
37
+ if org_id and not isinstance(org_id, str):
38
+ raise TypeError("Expected argument 'org_id' to be a str")
39
+ pulumi.set(__self__, "org_id", org_id)
40
+ if parent_id and not isinstance(parent_id, str):
41
+ raise TypeError("Expected argument 'parent_id' to be a str")
42
+ pulumi.set(__self__, "parent_id", parent_id)
43
+ if parent_type and not isinstance(parent_type, str):
44
+ raise TypeError("Expected argument 'parent_type' to be a str")
45
+ pulumi.set(__self__, "parent_type", parent_type)
46
+ if project and not isinstance(project, str):
47
+ raise TypeError("Expected argument 'project' to be a str")
48
+ pulumi.set(__self__, "project", project)
49
+
50
+ @property
51
+ @pulumi.getter
52
+ def ancestors(self) -> Sequence['outputs.GetAncestryAncestorResult']:
53
+ """
54
+ A list of the project's ancestors. Structure is defined below.
55
+ """
56
+ return pulumi.get(self, "ancestors")
57
+
58
+ @property
59
+ @pulumi.getter
60
+ def id(self) -> str:
61
+ """
62
+ The provider-assigned unique ID for this managed resource.
63
+ """
64
+ return pulumi.get(self, "id")
65
+
66
+ @property
67
+ @pulumi.getter(name="orgId")
68
+ def org_id(self) -> str:
69
+ """
70
+ The optional user-assigned display name of the project.
71
+ """
72
+ return pulumi.get(self, "org_id")
73
+
74
+ @property
75
+ @pulumi.getter(name="parentId")
76
+ def parent_id(self) -> str:
77
+ """
78
+ The parent's id.
79
+ """
80
+ return pulumi.get(self, "parent_id")
81
+
82
+ @property
83
+ @pulumi.getter(name="parentType")
84
+ def parent_type(self) -> str:
85
+ """
86
+ One of `"folder"` or `"organization"`.
87
+ """
88
+ return pulumi.get(self, "parent_type")
89
+
90
+ @property
91
+ @pulumi.getter
92
+ def project(self) -> Optional[str]:
93
+ return pulumi.get(self, "project")
94
+
95
+
96
+ class AwaitableGetAncestryResult(GetAncestryResult):
97
+ # pylint: disable=using-constant-test
98
+ def __await__(self):
99
+ if False:
100
+ yield self
101
+ return GetAncestryResult(
102
+ ancestors=self.ancestors,
103
+ id=self.id,
104
+ org_id=self.org_id,
105
+ parent_id=self.parent_id,
106
+ parent_type=self.parent_type,
107
+ project=self.project)
108
+
109
+
110
+ def get_ancestry(project: Optional[str] = None,
111
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAncestryResult:
112
+ """
113
+ Retrieve the ancestors for a project.
114
+ See the [REST API](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getAncestry) for more details.
115
+
116
+
117
+ :param str project: The ID of the project. If it is not provided, the provider project is used.
118
+ """
119
+ __args__ = dict()
120
+ __args__['project'] = project
121
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
122
+ __ret__ = pulumi.runtime.invoke('gcp:projects/getAncestry:getAncestry', __args__, opts=opts, typ=GetAncestryResult).value
123
+
124
+ return AwaitableGetAncestryResult(
125
+ ancestors=pulumi.get(__ret__, 'ancestors'),
126
+ id=pulumi.get(__ret__, 'id'),
127
+ org_id=pulumi.get(__ret__, 'org_id'),
128
+ parent_id=pulumi.get(__ret__, 'parent_id'),
129
+ parent_type=pulumi.get(__ret__, 'parent_type'),
130
+ project=pulumi.get(__ret__, 'project'))
131
+ def get_ancestry_output(project: Optional[pulumi.Input[Optional[str]]] = None,
132
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAncestryResult]:
133
+ """
134
+ Retrieve the ancestors for a project.
135
+ See the [REST API](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getAncestry) for more details.
136
+
137
+
138
+ :param str project: The ID of the project. If it is not provided, the provider project is used.
139
+ """
140
+ __args__ = dict()
141
+ __args__['project'] = project
142
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
143
+ __ret__ = pulumi.runtime.invoke_output('gcp:projects/getAncestry:getAncestry', __args__, opts=opts, typ=GetAncestryResult)
144
+ return __ret__.apply(lambda __response__: GetAncestryResult(
145
+ ancestors=pulumi.get(__response__, 'ancestors'),
146
+ id=pulumi.get(__response__, 'id'),
147
+ org_id=pulumi.get(__response__, 'org_id'),
148
+ parent_id=pulumi.get(__response__, 'parent_id'),
149
+ parent_type=pulumi.get(__response__, 'parent_type'),
150
+ project=pulumi.get(__response__, 'project')))
@@ -32,6 +32,7 @@ __all__ = [
32
32
  'OrganizationPolicyListPolicyAllow',
33
33
  'OrganizationPolicyListPolicyDeny',
34
34
  'OrganizationPolicyRestorePolicy',
35
+ 'GetAncestryAncestorResult',
35
36
  'GetOrganizationPolicyBooleanPolicyResult',
36
37
  'GetOrganizationPolicyListPolicyResult',
37
38
  'GetOrganizationPolicyListPolicyAllowResult',
@@ -756,6 +757,35 @@ class OrganizationPolicyRestorePolicy(dict):
756
757
  return pulumi.get(self, "default")
757
758
 
758
759
 
760
+ @pulumi.output_type
761
+ class GetAncestryAncestorResult(dict):
762
+ def __init__(__self__, *,
763
+ id: str,
764
+ type: str):
765
+ """
766
+ :param str id: If it's a project, the `project_id` is exported, else the numeric folder id or organization id.
767
+ :param str type: One of `"project"`, `"folder"` or `"organization"`.
768
+ """
769
+ pulumi.set(__self__, "id", id)
770
+ pulumi.set(__self__, "type", type)
771
+
772
+ @property
773
+ @pulumi.getter
774
+ def id(self) -> str:
775
+ """
776
+ If it's a project, the `project_id` is exported, else the numeric folder id or organization id.
777
+ """
778
+ return pulumi.get(self, "id")
779
+
780
+ @property
781
+ @pulumi.getter
782
+ def type(self) -> str:
783
+ """
784
+ One of `"project"`, `"folder"` or `"organization"`.
785
+ """
786
+ return pulumi.get(self, "type")
787
+
788
+
759
789
  @pulumi.output_type
760
790
  class GetOrganizationPolicyBooleanPolicyResult(dict):
761
791
  def __init__(__self__, *,
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "gcp",
4
- "version": "8.21.0-alpha.1741070272"
4
+ "version": "8.21.0-alpha.1741103856"
5
5
  }