pulumi-gcp 7.23.0a1715621482__py3-none-any.whl → 7.23.0a1715808346__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 (42) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/bigquery/table.py +47 -0
  3. pulumi_gcp/bigtable/__init__.py +1 -0
  4. pulumi_gcp/bigtable/_inputs.py +101 -0
  5. pulumi_gcp/bigtable/authorized_view.py +440 -0
  6. pulumi_gcp/bigtable/outputs.py +119 -0
  7. pulumi_gcp/certificateauthority/certificate_template.py +70 -0
  8. pulumi_gcp/cloudbuildv2/repository.py +2 -2
  9. pulumi_gcp/clouddeploy/_inputs.py +96 -0
  10. pulumi_gcp/clouddeploy/custom_target_type.py +46 -0
  11. pulumi_gcp/clouddeploy/delivery_pipeline.py +7 -7
  12. pulumi_gcp/clouddeploy/outputs.py +96 -1
  13. pulumi_gcp/clouddeploy/target.py +54 -7
  14. pulumi_gcp/compute/_inputs.py +689 -0
  15. pulumi_gcp/compute/firewall_policy_rule.py +125 -10
  16. pulumi_gcp/compute/network_firewall_policy_rule.py +125 -10
  17. pulumi_gcp/compute/outputs.py +684 -0
  18. pulumi_gcp/compute/region_network_firewall_policy_rule.py +125 -10
  19. pulumi_gcp/compute/region_security_policy_rule.py +230 -1
  20. pulumi_gcp/container/_inputs.py +67 -3
  21. pulumi_gcp/container/outputs.py +93 -4
  22. pulumi_gcp/dataflow/flex_template_job.py +7 -7
  23. pulumi_gcp/dataflow/job.py +7 -7
  24. pulumi_gcp/iam/_inputs.py +191 -2
  25. pulumi_gcp/iam/outputs.py +197 -2
  26. pulumi_gcp/iam/workforce_pool_provider.py +245 -0
  27. pulumi_gcp/integrationconnectors/__init__.py +1 -0
  28. pulumi_gcp/integrationconnectors/managed_zone.py +753 -0
  29. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  30. pulumi_gcp/networkconnectivity/regional_endpoint.py +946 -0
  31. pulumi_gcp/networksecurity/firewall_endpoint.py +34 -0
  32. pulumi_gcp/networksecurity/firewall_endpoint_association.py +24 -0
  33. pulumi_gcp/networksecurity/security_profile.py +16 -0
  34. pulumi_gcp/networksecurity/security_profile_group.py +18 -0
  35. pulumi_gcp/networksecurity/tls_inspection_policy.py +16 -0
  36. pulumi_gcp/orgpolicy/policy.py +2 -2
  37. pulumi_gcp/pubsub/subscription.py +4 -4
  38. pulumi_gcp/pulumi-plugin.json +2 -1
  39. {pulumi_gcp-7.23.0a1715621482.dist-info → pulumi_gcp-7.23.0a1715808346.dist-info}/METADATA +1 -1
  40. {pulumi_gcp-7.23.0a1715621482.dist-info → pulumi_gcp-7.23.0a1715808346.dist-info}/RECORD +42 -39
  41. {pulumi_gcp-7.23.0a1715621482.dist-info → pulumi_gcp-7.23.0a1715808346.dist-info}/WHEEL +0 -0
  42. {pulumi_gcp-7.23.0a1715621482.dist-info → pulumi_gcp-7.23.0a1715808346.dist-info}/top_level.txt +0 -0
pulumi_gcp/iam/outputs.py CHANGED
@@ -19,6 +19,10 @@ __all__ = [
19
19
  'DenyPolicyRuleDenyRuleDenialCondition',
20
20
  'WorkforcePoolAccessRestrictions',
21
21
  'WorkforcePoolAccessRestrictionsAllowedService',
22
+ 'WorkforcePoolProviderExtraAttributesOauth2Client',
23
+ 'WorkforcePoolProviderExtraAttributesOauth2ClientClientSecret',
24
+ 'WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretValue',
25
+ 'WorkforcePoolProviderExtraAttributesOauth2ClientQueryParameters',
22
26
  'WorkforcePoolProviderOidc',
23
27
  'WorkforcePoolProviderOidcClientSecret',
24
28
  'WorkforcePoolProviderOidcClientSecretValue',
@@ -506,6 +510,195 @@ class WorkforcePoolAccessRestrictionsAllowedService(dict):
506
510
  return pulumi.get(self, "domain")
507
511
 
508
512
 
513
+ @pulumi.output_type
514
+ class WorkforcePoolProviderExtraAttributesOauth2Client(dict):
515
+ @staticmethod
516
+ def __key_warning(key: str):
517
+ suggest = None
518
+ if key == "attributesType":
519
+ suggest = "attributes_type"
520
+ elif key == "clientId":
521
+ suggest = "client_id"
522
+ elif key == "clientSecret":
523
+ suggest = "client_secret"
524
+ elif key == "issuerUri":
525
+ suggest = "issuer_uri"
526
+ elif key == "queryParameters":
527
+ suggest = "query_parameters"
528
+
529
+ if suggest:
530
+ pulumi.log.warn(f"Key '{key}' not found in WorkforcePoolProviderExtraAttributesOauth2Client. Access the value via the '{suggest}' property getter instead.")
531
+
532
+ def __getitem__(self, key: str) -> Any:
533
+ WorkforcePoolProviderExtraAttributesOauth2Client.__key_warning(key)
534
+ return super().__getitem__(key)
535
+
536
+ def get(self, key: str, default = None) -> Any:
537
+ WorkforcePoolProviderExtraAttributesOauth2Client.__key_warning(key)
538
+ return super().get(key, default)
539
+
540
+ def __init__(__self__, *,
541
+ attributes_type: str,
542
+ client_id: str,
543
+ client_secret: 'outputs.WorkforcePoolProviderExtraAttributesOauth2ClientClientSecret',
544
+ issuer_uri: str,
545
+ query_parameters: Optional['outputs.WorkforcePoolProviderExtraAttributesOauth2ClientQueryParameters'] = None):
546
+ """
547
+ :param str attributes_type: Represents the IdP and type of claims that should be fetched.
548
+ * AZURE_AD_GROUPS_MAIL: Used to get the user's group claims from the Azure AD identity provider using configuration provided
549
+ in ExtraAttributesOAuth2Client and 'mail' property of the 'microsoft.graph.group' object is used for claim mapping.
550
+ See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on
551
+ 'microsoft.graph.group' properties. The attributes obtained from idntity provider are mapped to 'assertion.groups'. Possible values: ["AZURE_AD_GROUPS_MAIL"]
552
+ :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.
553
+ :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.
554
+ :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.
555
+ :param 'WorkforcePoolProviderExtraAttributesOauth2ClientQueryParametersArgs' query_parameters: Represents the parameters to control which claims are fetched from an IdP.
556
+ """
557
+ pulumi.set(__self__, "attributes_type", attributes_type)
558
+ pulumi.set(__self__, "client_id", client_id)
559
+ pulumi.set(__self__, "client_secret", client_secret)
560
+ pulumi.set(__self__, "issuer_uri", issuer_uri)
561
+ if query_parameters is not None:
562
+ pulumi.set(__self__, "query_parameters", query_parameters)
563
+
564
+ @property
565
+ @pulumi.getter(name="attributesType")
566
+ def attributes_type(self) -> str:
567
+ """
568
+ Represents the IdP and type of claims that should be fetched.
569
+ * AZURE_AD_GROUPS_MAIL: Used to get the user's group claims from the Azure AD identity provider using configuration provided
570
+ in ExtraAttributesOAuth2Client and 'mail' property of the 'microsoft.graph.group' object is used for claim mapping.
571
+ See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on
572
+ 'microsoft.graph.group' properties. The attributes obtained from idntity provider are mapped to 'assertion.groups'. Possible values: ["AZURE_AD_GROUPS_MAIL"]
573
+ """
574
+ return pulumi.get(self, "attributes_type")
575
+
576
+ @property
577
+ @pulumi.getter(name="clientId")
578
+ def client_id(self) -> str:
579
+ """
580
+ 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.
581
+ """
582
+ return pulumi.get(self, "client_id")
583
+
584
+ @property
585
+ @pulumi.getter(name="clientSecret")
586
+ def client_secret(self) -> 'outputs.WorkforcePoolProviderExtraAttributesOauth2ClientClientSecret':
587
+ """
588
+ 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.
589
+ """
590
+ return pulumi.get(self, "client_secret")
591
+
592
+ @property
593
+ @pulumi.getter(name="issuerUri")
594
+ def issuer_uri(self) -> str:
595
+ """
596
+ The OIDC identity provider's issuer URI. Must be a valid URI using the 'https' scheme. Required to get the OIDC discovery document.
597
+ """
598
+ return pulumi.get(self, "issuer_uri")
599
+
600
+ @property
601
+ @pulumi.getter(name="queryParameters")
602
+ def query_parameters(self) -> Optional['outputs.WorkforcePoolProviderExtraAttributesOauth2ClientQueryParameters']:
603
+ """
604
+ Represents the parameters to control which claims are fetched from an IdP.
605
+ """
606
+ return pulumi.get(self, "query_parameters")
607
+
608
+
609
+ @pulumi.output_type
610
+ class WorkforcePoolProviderExtraAttributesOauth2ClientClientSecret(dict):
611
+ def __init__(__self__, *,
612
+ value: Optional['outputs.WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretValue'] = None):
613
+ """
614
+ :param 'WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretValueArgs' value: The value of the client secret.
615
+ Structure is documented below.
616
+ """
617
+ if value is not None:
618
+ pulumi.set(__self__, "value", value)
619
+
620
+ @property
621
+ @pulumi.getter
622
+ def value(self) -> Optional['outputs.WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretValue']:
623
+ """
624
+ The value of the client secret.
625
+ Structure is documented below.
626
+ """
627
+ return pulumi.get(self, "value")
628
+
629
+
630
+ @pulumi.output_type
631
+ class WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretValue(dict):
632
+ @staticmethod
633
+ def __key_warning(key: str):
634
+ suggest = None
635
+ if key == "plainText":
636
+ suggest = "plain_text"
637
+
638
+ if suggest:
639
+ pulumi.log.warn(f"Key '{key}' not found in WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretValue. Access the value via the '{suggest}' property getter instead.")
640
+
641
+ def __getitem__(self, key: str) -> Any:
642
+ WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretValue.__key_warning(key)
643
+ return super().__getitem__(key)
644
+
645
+ def get(self, key: str, default = None) -> Any:
646
+ WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretValue.__key_warning(key)
647
+ return super().get(key, default)
648
+
649
+ def __init__(__self__, *,
650
+ plain_text: str,
651
+ thumbprint: Optional[str] = None):
652
+ """
653
+ :param str plain_text: The plain text of the client secret value.
654
+ :param str thumbprint: (Output)
655
+ A thumbprint to represent the current client secret value.
656
+ """
657
+ pulumi.set(__self__, "plain_text", plain_text)
658
+ if thumbprint is not None:
659
+ pulumi.set(__self__, "thumbprint", thumbprint)
660
+
661
+ @property
662
+ @pulumi.getter(name="plainText")
663
+ def plain_text(self) -> str:
664
+ """
665
+ The plain text of the client secret value.
666
+ """
667
+ return pulumi.get(self, "plain_text")
668
+
669
+ @property
670
+ @pulumi.getter
671
+ def thumbprint(self) -> Optional[str]:
672
+ """
673
+ (Output)
674
+ A thumbprint to represent the current client secret value.
675
+ """
676
+ return pulumi.get(self, "thumbprint")
677
+
678
+
679
+ @pulumi.output_type
680
+ class WorkforcePoolProviderExtraAttributesOauth2ClientQueryParameters(dict):
681
+ def __init__(__self__, *,
682
+ filter: Optional[str] = None):
683
+ """
684
+ :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
685
+ filter used to request specific groups for users from IdP. By default, all of the groups associated with the user are fetched. The
686
+ groups should be mail enabled and security enabled. See https://learn.microsoft.com/en-us/graph/search-query-parameter for more details.
687
+ """
688
+ if filter is not None:
689
+ pulumi.set(__self__, "filter", filter)
690
+
691
+ @property
692
+ @pulumi.getter
693
+ def filter(self) -> Optional[str]:
694
+ """
695
+ The filter used to request specific records from IdP. In case of attributes type as AZURE_AD_GROUPS_MAIL, it represents the
696
+ filter used to request specific groups for users from IdP. By default, all of the groups associated with the user are fetched. The
697
+ groups should be mail enabled and security enabled. See https://learn.microsoft.com/en-us/graph/search-query-parameter for more details.
698
+ """
699
+ return pulumi.get(self, "filter")
700
+
701
+
509
702
  @pulumi.output_type
510
703
  class WorkforcePoolProviderOidc(dict):
511
704
  @staticmethod
@@ -689,7 +882,6 @@ class WorkforcePoolProviderOidcClientSecretValue(dict):
689
882
  thumbprint: Optional[str] = None):
690
883
  """
691
884
  :param str plain_text: The plain text of the client secret value.
692
- **Note**: This property is sensitive and will not be displayed in the plan.
693
885
  :param str thumbprint: (Output)
694
886
  A thumbprint to represent the current client secret value.
695
887
  """
@@ -702,7 +894,6 @@ class WorkforcePoolProviderOidcClientSecretValue(dict):
702
894
  def plain_text(self) -> str:
703
895
  """
704
896
  The plain text of the client secret value.
705
- **Note**: This property is sensitive and will not be displayed in the plan.
706
897
  """
707
898
  return pulumi.get(self, "plain_text")
708
899
 
@@ -755,6 +946,8 @@ class WorkforcePoolProviderOidcWebSsoConfig(dict):
755
946
  Possible values are: `CODE`, `ID_TOKEN`.
756
947
  :param Sequence[str] additional_scopes: Additional scopes to request for in the OIDC authentication request on top of scopes requested by default. By default, the `openid`, `profile` and `email` scopes that are supported by the identity provider are requested.
757
948
  Each additional scope may be at most 256 characters. A maximum of 10 additional scopes may be configured.
949
+
950
+ <a name="nested_extra_attributes_oauth2_client"></a>The `extra_attributes_oauth2_client` block supports:
758
951
  """
759
952
  pulumi.set(__self__, "assertion_claims_behavior", assertion_claims_behavior)
760
953
  pulumi.set(__self__, "response_type", response_type)
@@ -790,6 +983,8 @@ class WorkforcePoolProviderOidcWebSsoConfig(dict):
790
983
  """
791
984
  Additional scopes to request for in the OIDC authentication request on top of scopes requested by default. By default, the `openid`, `profile` and `email` scopes that are supported by the identity provider are requested.
792
985
  Each additional scope may be at most 256 characters. A maximum of 10 additional scopes may be configured.
986
+
987
+ <a name="nested_extra_attributes_oauth2_client"></a>The `extra_attributes_oauth2_client` block supports:
793
988
  """
794
989
  return pulumi.get(self, "additional_scopes")
795
990
 
@@ -24,6 +24,7 @@ class WorkforcePoolProviderArgs:
24
24
  description: Optional[pulumi.Input[str]] = None,
25
25
  disabled: Optional[pulumi.Input[bool]] = None,
26
26
  display_name: Optional[pulumi.Input[str]] = None,
27
+ extra_attributes_oauth2_client: Optional[pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientArgs']] = None,
27
28
  oidc: Optional[pulumi.Input['WorkforcePoolProviderOidcArgs']] = None,
28
29
  saml: Optional[pulumi.Input['WorkforcePoolProviderSamlArgs']] = None):
29
30
  """
@@ -90,6 +91,11 @@ class WorkforcePoolProviderArgs:
90
91
  :param pulumi.Input[bool] disabled: Whether the provider is disabled. You cannot use a disabled provider to exchange tokens.
91
92
  However, existing tokens still grant access.
92
93
  :param pulumi.Input[str] display_name: A user-specified display name for the provider. Cannot exceed 32 characters.
94
+ :param pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientArgs'] extra_attributes_oauth2_client: The configuration for OAuth 2.0 client used to get the additional user
95
+ attributes. This should be used when users can't get the desired claims
96
+ in authentication credentials. Currently this configuration is only
97
+ supported with OIDC protocol.
98
+ Structure is documented below.
93
99
  :param pulumi.Input['WorkforcePoolProviderOidcArgs'] oidc: Represents an OpenId Connect 1.0 identity provider.
94
100
  Structure is documented below.
95
101
  :param pulumi.Input['WorkforcePoolProviderSamlArgs'] saml: Represents a SAML identity provider.
@@ -108,6 +114,8 @@ class WorkforcePoolProviderArgs:
108
114
  pulumi.set(__self__, "disabled", disabled)
109
115
  if display_name is not None:
110
116
  pulumi.set(__self__, "display_name", display_name)
117
+ if extra_attributes_oauth2_client is not None:
118
+ pulumi.set(__self__, "extra_attributes_oauth2_client", extra_attributes_oauth2_client)
111
119
  if oidc is not None:
112
120
  pulumi.set(__self__, "oidc", oidc)
113
121
  if saml is not None:
@@ -263,6 +271,22 @@ class WorkforcePoolProviderArgs:
263
271
  def display_name(self, value: Optional[pulumi.Input[str]]):
264
272
  pulumi.set(self, "display_name", value)
265
273
 
274
+ @property
275
+ @pulumi.getter(name="extraAttributesOauth2Client")
276
+ def extra_attributes_oauth2_client(self) -> Optional[pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientArgs']]:
277
+ """
278
+ The configuration for OAuth 2.0 client used to get the additional user
279
+ attributes. This should be used when users can't get the desired claims
280
+ in authentication credentials. Currently this configuration is only
281
+ supported with OIDC protocol.
282
+ Structure is documented below.
283
+ """
284
+ return pulumi.get(self, "extra_attributes_oauth2_client")
285
+
286
+ @extra_attributes_oauth2_client.setter
287
+ def extra_attributes_oauth2_client(self, value: Optional[pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientArgs']]):
288
+ pulumi.set(self, "extra_attributes_oauth2_client", value)
289
+
266
290
  @property
267
291
  @pulumi.getter
268
292
  def oidc(self) -> Optional[pulumi.Input['WorkforcePoolProviderOidcArgs']]:
@@ -298,6 +322,7 @@ class _WorkforcePoolProviderState:
298
322
  description: Optional[pulumi.Input[str]] = None,
299
323
  disabled: Optional[pulumi.Input[bool]] = None,
300
324
  display_name: Optional[pulumi.Input[str]] = None,
325
+ extra_attributes_oauth2_client: Optional[pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientArgs']] = None,
301
326
  location: Optional[pulumi.Input[str]] = None,
302
327
  name: Optional[pulumi.Input[str]] = None,
303
328
  oidc: Optional[pulumi.Input['WorkforcePoolProviderOidcArgs']] = None,
@@ -358,6 +383,11 @@ class _WorkforcePoolProviderState:
358
383
  :param pulumi.Input[bool] disabled: Whether the provider is disabled. You cannot use a disabled provider to exchange tokens.
359
384
  However, existing tokens still grant access.
360
385
  :param pulumi.Input[str] display_name: A user-specified display name for the provider. Cannot exceed 32 characters.
386
+ :param pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientArgs'] extra_attributes_oauth2_client: The configuration for OAuth 2.0 client used to get the additional user
387
+ attributes. This should be used when users can't get the desired claims
388
+ in authentication credentials. Currently this configuration is only
389
+ supported with OIDC protocol.
390
+ Structure is documented below.
361
391
  :param pulumi.Input[str] location: The location for the resource.
362
392
  :param pulumi.Input[str] name: Output only. The resource name of the provider.
363
393
  Format: `locations/{location}/workforcePools/{workforcePoolId}/providers/{providerId}`
@@ -392,6 +422,8 @@ class _WorkforcePoolProviderState:
392
422
  pulumi.set(__self__, "disabled", disabled)
393
423
  if display_name is not None:
394
424
  pulumi.set(__self__, "display_name", display_name)
425
+ if extra_attributes_oauth2_client is not None:
426
+ pulumi.set(__self__, "extra_attributes_oauth2_client", extra_attributes_oauth2_client)
395
427
  if location is not None:
396
428
  pulumi.set(__self__, "location", location)
397
429
  if name is not None:
@@ -513,6 +545,22 @@ class _WorkforcePoolProviderState:
513
545
  def display_name(self, value: Optional[pulumi.Input[str]]):
514
546
  pulumi.set(self, "display_name", value)
515
547
 
548
+ @property
549
+ @pulumi.getter(name="extraAttributesOauth2Client")
550
+ def extra_attributes_oauth2_client(self) -> Optional[pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientArgs']]:
551
+ """
552
+ The configuration for OAuth 2.0 client used to get the additional user
553
+ attributes. This should be used when users can't get the desired claims
554
+ in authentication credentials. Currently this configuration is only
555
+ supported with OIDC protocol.
556
+ Structure is documented below.
557
+ """
558
+ return pulumi.get(self, "extra_attributes_oauth2_client")
559
+
560
+ @extra_attributes_oauth2_client.setter
561
+ def extra_attributes_oauth2_client(self, value: Optional[pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientArgs']]):
562
+ pulumi.set(self, "extra_attributes_oauth2_client", value)
563
+
516
564
  @property
517
565
  @pulumi.getter
518
566
  def location(self) -> Optional[pulumi.Input[str]]:
@@ -624,6 +672,7 @@ class WorkforcePoolProvider(pulumi.CustomResource):
624
672
  description: Optional[pulumi.Input[str]] = None,
625
673
  disabled: Optional[pulumi.Input[bool]] = None,
626
674
  display_name: Optional[pulumi.Input[str]] = None,
675
+ extra_attributes_oauth2_client: Optional[pulumi.Input[pulumi.InputType['WorkforcePoolProviderExtraAttributesOauth2ClientArgs']]] = None,
627
676
  location: Optional[pulumi.Input[str]] = None,
628
677
  oidc: Optional[pulumi.Input[pulumi.InputType['WorkforcePoolProviderOidcArgs']]] = None,
629
678
  provider_id: Optional[pulumi.Input[str]] = None,
@@ -760,6 +809,91 @@ class WorkforcePoolProvider(pulumi.CustomResource):
760
809
  disabled=False,
761
810
  attribute_condition="true")
762
811
  ```
812
+ ### Iam Workforce Pool Provider Extra Attributes Oauth2 Config Client Basic
813
+
814
+ ```python
815
+ import pulumi
816
+ import pulumi_gcp as gcp
817
+
818
+ pool = gcp.iam.WorkforcePool("pool",
819
+ workforce_pool_id="example-pool",
820
+ parent="organizations/123456789",
821
+ location="global")
822
+ example = gcp.iam.WorkforcePoolProvider("example",
823
+ workforce_pool_id=pool.workforce_pool_id,
824
+ location=pool.location,
825
+ provider_id="example-prvdr",
826
+ attribute_mapping={
827
+ "google.subject": "assertion.sub",
828
+ },
829
+ oidc=gcp.iam.WorkforcePoolProviderOidcArgs(
830
+ issuer_uri="https://sts.windows.net/826602fe-2101-470c-9d71-ee1343668989/",
831
+ client_id="https://analysis.windows.net/powerbi/connector/GoogleBigQuery",
832
+ web_sso_config=gcp.iam.WorkforcePoolProviderOidcWebSsoConfigArgs(
833
+ response_type="CODE",
834
+ assertion_claims_behavior="MERGE_USER_INFO_OVER_ID_TOKEN_CLAIMS",
835
+ ),
836
+ client_secret=gcp.iam.WorkforcePoolProviderOidcClientSecretArgs(
837
+ value=gcp.iam.WorkforcePoolProviderOidcClientSecretValueArgs(
838
+ plain_text="client-secret",
839
+ ),
840
+ ),
841
+ ),
842
+ extra_attributes_oauth2_client=gcp.iam.WorkforcePoolProviderExtraAttributesOauth2ClientArgs(
843
+ issuer_uri="https://login.microsoftonline.com/826602fe-2101-470c-9d71-ee1343668989/v2.0",
844
+ client_id="client-id",
845
+ client_secret=gcp.iam.WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretArgs(
846
+ value=gcp.iam.WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretValueArgs(
847
+ plain_text="client-secret",
848
+ ),
849
+ ),
850
+ attributes_type="AZURE_AD_GROUPS_MAIL",
851
+ ))
852
+ ```
853
+ ### Iam Workforce Pool Provider Extra Attributes Oauth2 Config Client Full
854
+
855
+ ```python
856
+ import pulumi
857
+ import pulumi_gcp as gcp
858
+
859
+ pool = gcp.iam.WorkforcePool("pool",
860
+ workforce_pool_id="example-pool",
861
+ parent="organizations/123456789",
862
+ location="global")
863
+ example = gcp.iam.WorkforcePoolProvider("example",
864
+ workforce_pool_id=pool.workforce_pool_id,
865
+ location=pool.location,
866
+ provider_id="example-prvdr",
867
+ attribute_mapping={
868
+ "google.subject": "assertion.sub",
869
+ },
870
+ oidc=gcp.iam.WorkforcePoolProviderOidcArgs(
871
+ issuer_uri="https://sts.windows.net/826602fe-2101-470c-9d71-ee1343668989/",
872
+ client_id="https://analysis.windows.net/powerbi/connector/GoogleBigQuery",
873
+ client_secret=gcp.iam.WorkforcePoolProviderOidcClientSecretArgs(
874
+ value=gcp.iam.WorkforcePoolProviderOidcClientSecretValueArgs(
875
+ plain_text="client-secret",
876
+ ),
877
+ ),
878
+ web_sso_config=gcp.iam.WorkforcePoolProviderOidcWebSsoConfigArgs(
879
+ response_type="CODE",
880
+ assertion_claims_behavior="MERGE_USER_INFO_OVER_ID_TOKEN_CLAIMS",
881
+ ),
882
+ ),
883
+ extra_attributes_oauth2_client=gcp.iam.WorkforcePoolProviderExtraAttributesOauth2ClientArgs(
884
+ issuer_uri="https://login.microsoftonline.com/826602fe-2101-470c-9d71-ee1343668989/v2.0",
885
+ client_id="client-id",
886
+ client_secret=gcp.iam.WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretArgs(
887
+ value=gcp.iam.WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretValueArgs(
888
+ plain_text="client-secret",
889
+ ),
890
+ ),
891
+ attributes_type="AZURE_AD_GROUPS_MAIL",
892
+ query_parameters=gcp.iam.WorkforcePoolProviderExtraAttributesOauth2ClientQueryParametersArgs(
893
+ filter="mail:gcp",
894
+ ),
895
+ ))
896
+ ```
763
897
 
764
898
  ## Import
765
899
 
@@ -832,6 +966,11 @@ class WorkforcePoolProvider(pulumi.CustomResource):
832
966
  :param pulumi.Input[bool] disabled: Whether the provider is disabled. You cannot use a disabled provider to exchange tokens.
833
967
  However, existing tokens still grant access.
834
968
  :param pulumi.Input[str] display_name: A user-specified display name for the provider. Cannot exceed 32 characters.
969
+ :param pulumi.Input[pulumi.InputType['WorkforcePoolProviderExtraAttributesOauth2ClientArgs']] extra_attributes_oauth2_client: The configuration for OAuth 2.0 client used to get the additional user
970
+ attributes. This should be used when users can't get the desired claims
971
+ in authentication credentials. Currently this configuration is only
972
+ supported with OIDC protocol.
973
+ Structure is documented below.
835
974
  :param pulumi.Input[str] location: The location for the resource.
836
975
  :param pulumi.Input[pulumi.InputType['WorkforcePoolProviderOidcArgs']] oidc: Represents an OpenId Connect 1.0 identity provider.
837
976
  Structure is documented below.
@@ -984,6 +1123,91 @@ class WorkforcePoolProvider(pulumi.CustomResource):
984
1123
  disabled=False,
985
1124
  attribute_condition="true")
986
1125
  ```
1126
+ ### Iam Workforce Pool Provider Extra Attributes Oauth2 Config Client Basic
1127
+
1128
+ ```python
1129
+ import pulumi
1130
+ import pulumi_gcp as gcp
1131
+
1132
+ pool = gcp.iam.WorkforcePool("pool",
1133
+ workforce_pool_id="example-pool",
1134
+ parent="organizations/123456789",
1135
+ location="global")
1136
+ example = gcp.iam.WorkforcePoolProvider("example",
1137
+ workforce_pool_id=pool.workforce_pool_id,
1138
+ location=pool.location,
1139
+ provider_id="example-prvdr",
1140
+ attribute_mapping={
1141
+ "google.subject": "assertion.sub",
1142
+ },
1143
+ oidc=gcp.iam.WorkforcePoolProviderOidcArgs(
1144
+ issuer_uri="https://sts.windows.net/826602fe-2101-470c-9d71-ee1343668989/",
1145
+ client_id="https://analysis.windows.net/powerbi/connector/GoogleBigQuery",
1146
+ web_sso_config=gcp.iam.WorkforcePoolProviderOidcWebSsoConfigArgs(
1147
+ response_type="CODE",
1148
+ assertion_claims_behavior="MERGE_USER_INFO_OVER_ID_TOKEN_CLAIMS",
1149
+ ),
1150
+ client_secret=gcp.iam.WorkforcePoolProviderOidcClientSecretArgs(
1151
+ value=gcp.iam.WorkforcePoolProviderOidcClientSecretValueArgs(
1152
+ plain_text="client-secret",
1153
+ ),
1154
+ ),
1155
+ ),
1156
+ extra_attributes_oauth2_client=gcp.iam.WorkforcePoolProviderExtraAttributesOauth2ClientArgs(
1157
+ issuer_uri="https://login.microsoftonline.com/826602fe-2101-470c-9d71-ee1343668989/v2.0",
1158
+ client_id="client-id",
1159
+ client_secret=gcp.iam.WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretArgs(
1160
+ value=gcp.iam.WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretValueArgs(
1161
+ plain_text="client-secret",
1162
+ ),
1163
+ ),
1164
+ attributes_type="AZURE_AD_GROUPS_MAIL",
1165
+ ))
1166
+ ```
1167
+ ### Iam Workforce Pool Provider Extra Attributes Oauth2 Config Client Full
1168
+
1169
+ ```python
1170
+ import pulumi
1171
+ import pulumi_gcp as gcp
1172
+
1173
+ pool = gcp.iam.WorkforcePool("pool",
1174
+ workforce_pool_id="example-pool",
1175
+ parent="organizations/123456789",
1176
+ location="global")
1177
+ example = gcp.iam.WorkforcePoolProvider("example",
1178
+ workforce_pool_id=pool.workforce_pool_id,
1179
+ location=pool.location,
1180
+ provider_id="example-prvdr",
1181
+ attribute_mapping={
1182
+ "google.subject": "assertion.sub",
1183
+ },
1184
+ oidc=gcp.iam.WorkforcePoolProviderOidcArgs(
1185
+ issuer_uri="https://sts.windows.net/826602fe-2101-470c-9d71-ee1343668989/",
1186
+ client_id="https://analysis.windows.net/powerbi/connector/GoogleBigQuery",
1187
+ client_secret=gcp.iam.WorkforcePoolProviderOidcClientSecretArgs(
1188
+ value=gcp.iam.WorkforcePoolProviderOidcClientSecretValueArgs(
1189
+ plain_text="client-secret",
1190
+ ),
1191
+ ),
1192
+ web_sso_config=gcp.iam.WorkforcePoolProviderOidcWebSsoConfigArgs(
1193
+ response_type="CODE",
1194
+ assertion_claims_behavior="MERGE_USER_INFO_OVER_ID_TOKEN_CLAIMS",
1195
+ ),
1196
+ ),
1197
+ extra_attributes_oauth2_client=gcp.iam.WorkforcePoolProviderExtraAttributesOauth2ClientArgs(
1198
+ issuer_uri="https://login.microsoftonline.com/826602fe-2101-470c-9d71-ee1343668989/v2.0",
1199
+ client_id="client-id",
1200
+ client_secret=gcp.iam.WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretArgs(
1201
+ value=gcp.iam.WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretValueArgs(
1202
+ plain_text="client-secret",
1203
+ ),
1204
+ ),
1205
+ attributes_type="AZURE_AD_GROUPS_MAIL",
1206
+ query_parameters=gcp.iam.WorkforcePoolProviderExtraAttributesOauth2ClientQueryParametersArgs(
1207
+ filter="mail:gcp",
1208
+ ),
1209
+ ))
1210
+ ```
987
1211
 
988
1212
  ## Import
989
1213
 
@@ -1023,6 +1247,7 @@ class WorkforcePoolProvider(pulumi.CustomResource):
1023
1247
  description: Optional[pulumi.Input[str]] = None,
1024
1248
  disabled: Optional[pulumi.Input[bool]] = None,
1025
1249
  display_name: Optional[pulumi.Input[str]] = None,
1250
+ extra_attributes_oauth2_client: Optional[pulumi.Input[pulumi.InputType['WorkforcePoolProviderExtraAttributesOauth2ClientArgs']]] = None,
1026
1251
  location: Optional[pulumi.Input[str]] = None,
1027
1252
  oidc: Optional[pulumi.Input[pulumi.InputType['WorkforcePoolProviderOidcArgs']]] = None,
1028
1253
  provider_id: Optional[pulumi.Input[str]] = None,
@@ -1042,6 +1267,7 @@ class WorkforcePoolProvider(pulumi.CustomResource):
1042
1267
  __props__.__dict__["description"] = description
1043
1268
  __props__.__dict__["disabled"] = disabled
1044
1269
  __props__.__dict__["display_name"] = display_name
1270
+ __props__.__dict__["extra_attributes_oauth2_client"] = extra_attributes_oauth2_client
1045
1271
  if location is None and not opts.urn:
1046
1272
  raise TypeError("Missing required property 'location'")
1047
1273
  __props__.__dict__["location"] = location
@@ -1070,6 +1296,7 @@ class WorkforcePoolProvider(pulumi.CustomResource):
1070
1296
  description: Optional[pulumi.Input[str]] = None,
1071
1297
  disabled: Optional[pulumi.Input[bool]] = None,
1072
1298
  display_name: Optional[pulumi.Input[str]] = None,
1299
+ extra_attributes_oauth2_client: Optional[pulumi.Input[pulumi.InputType['WorkforcePoolProviderExtraAttributesOauth2ClientArgs']]] = None,
1073
1300
  location: Optional[pulumi.Input[str]] = None,
1074
1301
  name: Optional[pulumi.Input[str]] = None,
1075
1302
  oidc: Optional[pulumi.Input[pulumi.InputType['WorkforcePoolProviderOidcArgs']]] = None,
@@ -1135,6 +1362,11 @@ class WorkforcePoolProvider(pulumi.CustomResource):
1135
1362
  :param pulumi.Input[bool] disabled: Whether the provider is disabled. You cannot use a disabled provider to exchange tokens.
1136
1363
  However, existing tokens still grant access.
1137
1364
  :param pulumi.Input[str] display_name: A user-specified display name for the provider. Cannot exceed 32 characters.
1365
+ :param pulumi.Input[pulumi.InputType['WorkforcePoolProviderExtraAttributesOauth2ClientArgs']] extra_attributes_oauth2_client: The configuration for OAuth 2.0 client used to get the additional user
1366
+ attributes. This should be used when users can't get the desired claims
1367
+ in authentication credentials. Currently this configuration is only
1368
+ supported with OIDC protocol.
1369
+ Structure is documented below.
1138
1370
  :param pulumi.Input[str] location: The location for the resource.
1139
1371
  :param pulumi.Input[str] name: Output only. The resource name of the provider.
1140
1372
  Format: `locations/{location}/workforcePools/{workforcePoolId}/providers/{providerId}`
@@ -1168,6 +1400,7 @@ class WorkforcePoolProvider(pulumi.CustomResource):
1168
1400
  __props__.__dict__["description"] = description
1169
1401
  __props__.__dict__["disabled"] = disabled
1170
1402
  __props__.__dict__["display_name"] = display_name
1403
+ __props__.__dict__["extra_attributes_oauth2_client"] = extra_attributes_oauth2_client
1171
1404
  __props__.__dict__["location"] = location
1172
1405
  __props__.__dict__["name"] = name
1173
1406
  __props__.__dict__["oidc"] = oidc
@@ -1263,6 +1496,18 @@ class WorkforcePoolProvider(pulumi.CustomResource):
1263
1496
  """
1264
1497
  return pulumi.get(self, "display_name")
1265
1498
 
1499
+ @property
1500
+ @pulumi.getter(name="extraAttributesOauth2Client")
1501
+ def extra_attributes_oauth2_client(self) -> pulumi.Output[Optional['outputs.WorkforcePoolProviderExtraAttributesOauth2Client']]:
1502
+ """
1503
+ The configuration for OAuth 2.0 client used to get the additional user
1504
+ attributes. This should be used when users can't get the desired claims
1505
+ in authentication credentials. Currently this configuration is only
1506
+ supported with OIDC protocol.
1507
+ Structure is documented below.
1508
+ """
1509
+ return pulumi.get(self, "extra_attributes_oauth2_client")
1510
+
1266
1511
  @property
1267
1512
  @pulumi.getter
1268
1513
  def location(self) -> pulumi.Output[str]:
@@ -7,5 +7,6 @@ import typing
7
7
  # Export this package's modules as members:
8
8
  from .connection import *
9
9
  from .endpoint_attachment import *
10
+ from .managed_zone import *
10
11
  from ._inputs import *
11
12
  from . import outputs