pulumi-gcp 8.21.0a1741070272__py3-none-any.whl → 8.21.0a1741156431__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.
- pulumi_gcp/__init__.py +16 -0
- pulumi_gcp/alloydb/__init__.py +1 -0
- pulumi_gcp/alloydb/get_cluster.py +491 -0
- pulumi_gcp/alloydb/outputs.py +808 -0
- pulumi_gcp/appengine/_inputs.py +3 -3
- pulumi_gcp/appengine/outputs.py +2 -2
- pulumi_gcp/backupdisasterrecovery/backup_plan.py +16 -0
- pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +16 -0
- pulumi_gcp/backupdisasterrecovery/management_server.py +16 -0
- pulumi_gcp/bigquery/_inputs.py +6 -8
- pulumi_gcp/bigquery/data_transfer_config.py +28 -0
- pulumi_gcp/bigquery/outputs.py +4 -5
- pulumi_gcp/chronicle/rule_deployment.py +21 -7
- pulumi_gcp/composer/get_environment.py +12 -0
- pulumi_gcp/composer/get_image_versions.py +12 -0
- pulumi_gcp/composer/get_user_workloads_config_map.py +12 -0
- pulumi_gcp/composer/get_user_workloads_secret.py +12 -0
- pulumi_gcp/compute/network_peering_routes_config.py +140 -6
- pulumi_gcp/datacatalog/entry_group.py +4 -0
- pulumi_gcp/datacatalog/tag_template.py +4 -0
- pulumi_gcp/developerconnect/_inputs.py +575 -0
- pulumi_gcp/developerconnect/connection.py +200 -0
- pulumi_gcp/developerconnect/git_repository_link.py +12 -0
- pulumi_gcp/developerconnect/outputs.py +461 -0
- pulumi_gcp/gemini/__init__.py +1 -0
- pulumi_gcp/gemini/data_sharing_with_google_setting.py +6 -0
- pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +722 -0
- pulumi_gcp/gemini/logging_setting.py +4 -0
- pulumi_gcp/gemini/logging_setting_binding.py +12 -0
- pulumi_gcp/iam/organizations_policy_binding.py +10 -2
- pulumi_gcp/iam/projects_policy_binding.py +10 -2
- pulumi_gcp/iam/workforce_pool_provider.py +63 -11
- pulumi_gcp/parametermanager/get_parameter_version_render.py +3 -0
- pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +3 -0
- pulumi_gcp/projects/__init__.py +1 -0
- pulumi_gcp/projects/get_ancestry.py +150 -0
- pulumi_gcp/projects/outputs.py +30 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/cluster.py +211 -94
- pulumi_gcp/secretmanager/secret_version.py +73 -23
- pulumi_gcp/spanner/__init__.py +1 -0
- pulumi_gcp/spanner/instance_partition.py +658 -0
- pulumi_gcp/sql/user.py +20 -14
- pulumi_gcp/tpu/_inputs.py +150 -1
- pulumi_gcp/tpu/outputs.py +114 -1
- pulumi_gcp/tpu/v2_queued_resource.py +74 -0
- {pulumi_gcp-8.21.0a1741070272.dist-info → pulumi_gcp-8.21.0a1741156431.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.21.0a1741070272.dist-info → pulumi_gcp-8.21.0a1741156431.dist-info}/RECORD +50 -46
- {pulumi_gcp-8.21.0a1741070272.dist-info → pulumi_gcp-8.21.0a1741156431.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.21.0a1741070272.dist-info → pulumi_gcp-8.21.0a1741156431.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://
|
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://
|
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://
|
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://
|
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
|
|
pulumi_gcp/projects/__init__.py
CHANGED
@@ -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')))
|
pulumi_gcp/projects/outputs.py
CHANGED
@@ -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__, *,
|
pulumi_gcp/pulumi-plugin.json
CHANGED