pulumi-gcp 8.0.0a1726253601__py3-none-any.whl → 8.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/alloydb/_inputs.py +94 -0
  3. pulumi_gcp/alloydb/cluster.py +94 -1
  4. pulumi_gcp/alloydb/outputs.py +79 -0
  5. pulumi_gcp/assuredworkloads/workload.py +135 -16
  6. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  7. pulumi_gcp/backupdisasterrecovery/backup_vault.py +1203 -0
  8. pulumi_gcp/bigquery/_inputs.py +33 -0
  9. pulumi_gcp/bigquery/data_transfer_config.py +134 -6
  10. pulumi_gcp/bigquery/outputs.py +36 -0
  11. pulumi_gcp/bigqueryanalyticshub/_inputs.py +169 -7
  12. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +96 -3
  13. pulumi_gcp/bigqueryanalyticshub/listing.py +114 -0
  14. pulumi_gcp/bigqueryanalyticshub/outputs.py +138 -5
  15. pulumi_gcp/bigtable/_inputs.py +21 -1
  16. pulumi_gcp/bigtable/outputs.py +13 -1
  17. pulumi_gcp/bigtable/table.py +34 -0
  18. pulumi_gcp/certificateauthority/authority.py +14 -7
  19. pulumi_gcp/certificatemanager/__init__.py +1 -0
  20. pulumi_gcp/certificatemanager/certificate.py +28 -0
  21. pulumi_gcp/certificatemanager/get_certificates.py +150 -0
  22. pulumi_gcp/certificatemanager/outputs.py +322 -0
  23. pulumi_gcp/cloudbuild/_inputs.py +6 -6
  24. pulumi_gcp/cloudbuild/outputs.py +4 -4
  25. pulumi_gcp/cloudrun/_inputs.py +6 -12
  26. pulumi_gcp/cloudrun/outputs.py +8 -16
  27. pulumi_gcp/cloudrunv2/_inputs.py +72 -15
  28. pulumi_gcp/cloudrunv2/outputs.py +82 -16
  29. pulumi_gcp/cloudrunv2/service.py +50 -4
  30. pulumi_gcp/cloudtasks/_inputs.py +630 -0
  31. pulumi_gcp/cloudtasks/outputs.py +479 -0
  32. pulumi_gcp/cloudtasks/queue.py +238 -0
  33. pulumi_gcp/compute/_inputs.py +129 -9
  34. pulumi_gcp/compute/get_instance.py +1 -1
  35. pulumi_gcp/compute/health_check.py +114 -0
  36. pulumi_gcp/compute/instance.py +86 -4
  37. pulumi_gcp/compute/instance_template.py +66 -0
  38. pulumi_gcp/compute/interconnect.py +28 -21
  39. pulumi_gcp/compute/node_template.py +93 -0
  40. pulumi_gcp/compute/outputs.py +108 -6
  41. pulumi_gcp/compute/target_https_proxy.py +28 -0
  42. pulumi_gcp/container/_inputs.py +140 -3
  43. pulumi_gcp/container/attached_cluster.py +7 -7
  44. pulumi_gcp/container/outputs.py +174 -2
  45. pulumi_gcp/databasemigrationservice/_inputs.py +176 -148
  46. pulumi_gcp/databasemigrationservice/connection_profile.py +206 -0
  47. pulumi_gcp/databasemigrationservice/outputs.py +109 -87
  48. pulumi_gcp/dataloss/_inputs.py +353 -1
  49. pulumi_gcp/dataloss/outputs.py +274 -3
  50. pulumi_gcp/dataproc/_inputs.py +27 -27
  51. pulumi_gcp/dataproc/outputs.py +18 -18
  52. pulumi_gcp/datastream/_inputs.py +69 -1
  53. pulumi_gcp/datastream/outputs.py +44 -2
  54. pulumi_gcp/datastream/stream.py +194 -7
  55. pulumi_gcp/discoveryengine/_inputs.py +188 -0
  56. pulumi_gcp/discoveryengine/data_store.py +14 -14
  57. pulumi_gcp/discoveryengine/outputs.py +153 -1
  58. pulumi_gcp/firebase/database_instance.py +7 -7
  59. pulumi_gcp/gkehub/_inputs.py +25 -1
  60. pulumi_gcp/gkehub/feature_membership.py +12 -6
  61. pulumi_gcp/gkehub/outputs.py +17 -1
  62. pulumi_gcp/iam/_inputs.py +196 -0
  63. pulumi_gcp/iam/get_workload_identity_pool_provider.py +13 -3
  64. pulumi_gcp/iam/outputs.py +295 -0
  65. pulumi_gcp/iam/workload_identity_pool_provider.py +164 -3
  66. pulumi_gcp/kms/__init__.py +2 -0
  67. pulumi_gcp/kms/autokey_config.py +10 -2
  68. pulumi_gcp/kms/get_crypto_key_latest_version.py +222 -0
  69. pulumi_gcp/kms/get_crypto_key_versions.py +175 -0
  70. pulumi_gcp/kms/outputs.py +164 -0
  71. pulumi_gcp/netapp/active_directory.py +6 -6
  72. pulumi_gcp/netapp/backup.py +6 -6
  73. pulumi_gcp/netapp/backup_policy.py +6 -6
  74. pulumi_gcp/netapp/backup_vault.py +6 -6
  75. pulumi_gcp/netapp/storage_pool.py +4 -4
  76. pulumi_gcp/netapp/volume.py +7 -0
  77. pulumi_gcp/networkconnectivity/_inputs.py +21 -1
  78. pulumi_gcp/networkconnectivity/outputs.py +15 -1
  79. pulumi_gcp/networkconnectivity/spoke.py +8 -0
  80. pulumi_gcp/networksecurity/client_tls_policy.py +24 -22
  81. pulumi_gcp/networksecurity/server_tls_policy.py +20 -32
  82. pulumi_gcp/organizations/get_project.py +13 -3
  83. pulumi_gcp/organizations/project.py +88 -3
  84. pulumi_gcp/parallelstore/instance.py +121 -121
  85. pulumi_gcp/projects/iam_member_remove.py +26 -0
  86. pulumi_gcp/projects/usage_export_bucket.py +38 -0
  87. pulumi_gcp/pubsub/_inputs.py +40 -0
  88. pulumi_gcp/pubsub/outputs.py +51 -1
  89. pulumi_gcp/pubsub/subscription.py +6 -0
  90. pulumi_gcp/pulumi-plugin.json +1 -1
  91. pulumi_gcp/redis/_inputs.py +419 -0
  92. pulumi_gcp/redis/cluster.py +123 -0
  93. pulumi_gcp/redis/outputs.py +315 -0
  94. pulumi_gcp/securitycenter/__init__.py +2 -0
  95. pulumi_gcp/securitycenter/v2_folder_scc_big_query_export.py +857 -0
  96. pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +4 -4
  97. pulumi_gcp/securitycenter/v2_project_scc_big_query_export.py +796 -0
  98. {pulumi_gcp-8.0.0a1726253601.dist-info → pulumi_gcp-8.1.0.dist-info}/METADATA +1 -1
  99. {pulumi_gcp-8.0.0a1726253601.dist-info → pulumi_gcp-8.1.0.dist-info}/RECORD +101 -95
  100. {pulumi_gcp-8.0.0a1726253601.dist-info → pulumi_gcp-8.1.0.dist-info}/WHEEL +1 -1
  101. {pulumi_gcp-8.0.0a1726253601.dist-info → pulumi_gcp-8.1.0.dist-info}/top_level.txt +0 -0
@@ -1246,11 +1246,19 @@ class FeatureMembershipConfigmanagement(dict):
1246
1246
  policy_controller: Optional['outputs.FeatureMembershipConfigmanagementPolicyController'] = None,
1247
1247
  version: Optional[str] = None):
1248
1248
  """
1249
- :param 'FeatureMembershipConfigmanagementBinauthzArgs' binauthz: Binauthz configuration for the cluster. Structure is documented below.
1249
+ :param 'FeatureMembershipConfigmanagementBinauthzArgs' binauthz: (Optional, Deprecated)
1250
+ Binauthz configuration for the cluster. Structure is documented below.
1251
+ This field will be ignored and should not be set.
1250
1252
  :param 'FeatureMembershipConfigmanagementConfigSyncArgs' config_sync: Config Sync configuration for the cluster. Structure is documented below.
1251
1253
  :param 'FeatureMembershipConfigmanagementHierarchyControllerArgs' hierarchy_controller: Hierarchy Controller configuration for the cluster. Structure is documented below.
1254
+ Configuring Hierarchy Controller through the configmanagement feature is no longer recommended.
1255
+ Use open source Kubernetes [Hierarchical Namespace Controller (HNC)](https://github.com/kubernetes-sigs/hierarchical-namespaces) instead.
1256
+ Follow the [instructions](https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/migrate-hierarchy-controller)
1257
+ to migrate from Hierarchy Controller to HNC.
1252
1258
  :param str management: Set this field to MANAGEMENT_AUTOMATIC to enable Config Sync auto-upgrades, and set this field to MANAGEMENT_MANUAL or MANAGEMENT_UNSPECIFIED to disable Config Sync auto-upgrades.
1253
1259
  :param 'FeatureMembershipConfigmanagementPolicyControllerArgs' policy_controller: Policy Controller configuration for the cluster. Structure is documented below.
1260
+ Configuring Policy Controller through the configmanagement feature is no longer recommended.
1261
+ Use the policycontroller feature instead.
1254
1262
  :param str version: Version of ACM installed.
1255
1263
  """
1256
1264
  if binauthz is not None:
@@ -1270,7 +1278,9 @@ class FeatureMembershipConfigmanagement(dict):
1270
1278
  @pulumi.getter
1271
1279
  def binauthz(self) -> Optional['outputs.FeatureMembershipConfigmanagementBinauthz']:
1272
1280
  """
1281
+ (Optional, Deprecated)
1273
1282
  Binauthz configuration for the cluster. Structure is documented below.
1283
+ This field will be ignored and should not be set.
1274
1284
  """
1275
1285
  return pulumi.get(self, "binauthz")
1276
1286
 
@@ -1287,6 +1297,10 @@ class FeatureMembershipConfigmanagement(dict):
1287
1297
  def hierarchy_controller(self) -> Optional['outputs.FeatureMembershipConfigmanagementHierarchyController']:
1288
1298
  """
1289
1299
  Hierarchy Controller configuration for the cluster. Structure is documented below.
1300
+ Configuring Hierarchy Controller through the configmanagement feature is no longer recommended.
1301
+ Use open source Kubernetes [Hierarchical Namespace Controller (HNC)](https://github.com/kubernetes-sigs/hierarchical-namespaces) instead.
1302
+ Follow the [instructions](https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/migrate-hierarchy-controller)
1303
+ to migrate from Hierarchy Controller to HNC.
1290
1304
  """
1291
1305
  return pulumi.get(self, "hierarchy_controller")
1292
1306
 
@@ -1303,6 +1317,8 @@ class FeatureMembershipConfigmanagement(dict):
1303
1317
  def policy_controller(self) -> Optional['outputs.FeatureMembershipConfigmanagementPolicyController']:
1304
1318
  """
1305
1319
  Policy Controller configuration for the cluster. Structure is documented below.
1320
+ Configuring Policy Controller through the configmanagement feature is no longer recommended.
1321
+ Use the policycontroller feature instead.
1306
1322
  """
1307
1323
  return pulumi.get(self, "policy_controller")
1308
1324
 
pulumi_gcp/iam/_inputs.py CHANGED
@@ -55,6 +55,14 @@ __all__ = [
55
55
  'WorkloadIdentityPoolProviderOidcArgsDict',
56
56
  'WorkloadIdentityPoolProviderSamlArgs',
57
57
  'WorkloadIdentityPoolProviderSamlArgsDict',
58
+ 'WorkloadIdentityPoolProviderX509Args',
59
+ 'WorkloadIdentityPoolProviderX509ArgsDict',
60
+ 'WorkloadIdentityPoolProviderX509TrustStoreArgs',
61
+ 'WorkloadIdentityPoolProviderX509TrustStoreArgsDict',
62
+ 'WorkloadIdentityPoolProviderX509TrustStoreIntermediateCaArgs',
63
+ 'WorkloadIdentityPoolProviderX509TrustStoreIntermediateCaArgsDict',
64
+ 'WorkloadIdentityPoolProviderX509TrustStoreTrustAnchorArgs',
65
+ 'WorkloadIdentityPoolProviderX509TrustStoreTrustAnchorArgsDict',
58
66
  ]
59
67
 
60
68
  MYPY = False
@@ -1567,6 +1575,8 @@ if not MYPY:
1567
1575
  idp_metadata_xml: pulumi.Input[str]
1568
1576
  """
1569
1577
  SAML Identity provider configuration metadata xml doc.
1578
+
1579
+ <a name="nested_x509"></a>The `x509` block supports:
1570
1580
  """
1571
1581
  elif False:
1572
1582
  WorkloadIdentityPoolProviderSamlArgsDict: TypeAlias = Mapping[str, Any]
@@ -1577,6 +1587,8 @@ class WorkloadIdentityPoolProviderSamlArgs:
1577
1587
  idp_metadata_xml: pulumi.Input[str]):
1578
1588
  """
1579
1589
  :param pulumi.Input[str] idp_metadata_xml: SAML Identity provider configuration metadata xml doc.
1590
+
1591
+ <a name="nested_x509"></a>The `x509` block supports:
1580
1592
  """
1581
1593
  pulumi.set(__self__, "idp_metadata_xml", idp_metadata_xml)
1582
1594
 
@@ -1585,6 +1597,8 @@ class WorkloadIdentityPoolProviderSamlArgs:
1585
1597
  def idp_metadata_xml(self) -> pulumi.Input[str]:
1586
1598
  """
1587
1599
  SAML Identity provider configuration metadata xml doc.
1600
+
1601
+ <a name="nested_x509"></a>The `x509` block supports:
1588
1602
  """
1589
1603
  return pulumi.get(self, "idp_metadata_xml")
1590
1604
 
@@ -1593,3 +1607,185 @@ class WorkloadIdentityPoolProviderSamlArgs:
1593
1607
  pulumi.set(self, "idp_metadata_xml", value)
1594
1608
 
1595
1609
 
1610
+ if not MYPY:
1611
+ class WorkloadIdentityPoolProviderX509ArgsDict(TypedDict):
1612
+ trust_store: pulumi.Input['WorkloadIdentityPoolProviderX509TrustStoreArgsDict']
1613
+ """
1614
+ A Trust store, use this trust store as a wrapper to config the trust
1615
+ anchor and optional intermediate cas to help build the trust chain for
1616
+ the incoming end entity certificate. Follow the x509 guidelines to
1617
+ define those PEM encoded certs. Only 1 trust store is currently
1618
+ supported.
1619
+ """
1620
+ elif False:
1621
+ WorkloadIdentityPoolProviderX509ArgsDict: TypeAlias = Mapping[str, Any]
1622
+
1623
+ @pulumi.input_type
1624
+ class WorkloadIdentityPoolProviderX509Args:
1625
+ def __init__(__self__, *,
1626
+ trust_store: pulumi.Input['WorkloadIdentityPoolProviderX509TrustStoreArgs']):
1627
+ """
1628
+ :param pulumi.Input['WorkloadIdentityPoolProviderX509TrustStoreArgs'] trust_store: A Trust store, use this trust store as a wrapper to config the trust
1629
+ anchor and optional intermediate cas to help build the trust chain for
1630
+ the incoming end entity certificate. Follow the x509 guidelines to
1631
+ define those PEM encoded certs. Only 1 trust store is currently
1632
+ supported.
1633
+ """
1634
+ pulumi.set(__self__, "trust_store", trust_store)
1635
+
1636
+ @property
1637
+ @pulumi.getter(name="trustStore")
1638
+ def trust_store(self) -> pulumi.Input['WorkloadIdentityPoolProviderX509TrustStoreArgs']:
1639
+ """
1640
+ A Trust store, use this trust store as a wrapper to config the trust
1641
+ anchor and optional intermediate cas to help build the trust chain for
1642
+ the incoming end entity certificate. Follow the x509 guidelines to
1643
+ define those PEM encoded certs. Only 1 trust store is currently
1644
+ supported.
1645
+ """
1646
+ return pulumi.get(self, "trust_store")
1647
+
1648
+ @trust_store.setter
1649
+ def trust_store(self, value: pulumi.Input['WorkloadIdentityPoolProviderX509TrustStoreArgs']):
1650
+ pulumi.set(self, "trust_store", value)
1651
+
1652
+
1653
+ if not MYPY:
1654
+ class WorkloadIdentityPoolProviderX509TrustStoreArgsDict(TypedDict):
1655
+ trust_anchors: pulumi.Input[Sequence[pulumi.Input['WorkloadIdentityPoolProviderX509TrustStoreTrustAnchorArgsDict']]]
1656
+ """
1657
+ List of Trust Anchors to be used while performing validation
1658
+ against a given TrustStore. The incoming end entity's certificate
1659
+ must be chained up to one of the trust anchors here.
1660
+ Structure is documented below.
1661
+ """
1662
+ intermediate_cas: NotRequired[pulumi.Input[Sequence[pulumi.Input['WorkloadIdentityPoolProviderX509TrustStoreIntermediateCaArgsDict']]]]
1663
+ """
1664
+ Set of intermediate CA certificates used for building the trust chain to
1665
+ trust anchor.
1666
+ IMPORTANT: Intermediate CAs are only supported when configuring x509 federation.
1667
+ Structure is documented below.
1668
+ """
1669
+ elif False:
1670
+ WorkloadIdentityPoolProviderX509TrustStoreArgsDict: TypeAlias = Mapping[str, Any]
1671
+
1672
+ @pulumi.input_type
1673
+ class WorkloadIdentityPoolProviderX509TrustStoreArgs:
1674
+ def __init__(__self__, *,
1675
+ trust_anchors: pulumi.Input[Sequence[pulumi.Input['WorkloadIdentityPoolProviderX509TrustStoreTrustAnchorArgs']]],
1676
+ intermediate_cas: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadIdentityPoolProviderX509TrustStoreIntermediateCaArgs']]]] = None):
1677
+ """
1678
+ :param pulumi.Input[Sequence[pulumi.Input['WorkloadIdentityPoolProviderX509TrustStoreTrustAnchorArgs']]] trust_anchors: List of Trust Anchors to be used while performing validation
1679
+ against a given TrustStore. The incoming end entity's certificate
1680
+ must be chained up to one of the trust anchors here.
1681
+ Structure is documented below.
1682
+ :param pulumi.Input[Sequence[pulumi.Input['WorkloadIdentityPoolProviderX509TrustStoreIntermediateCaArgs']]] intermediate_cas: Set of intermediate CA certificates used for building the trust chain to
1683
+ trust anchor.
1684
+ IMPORTANT: Intermediate CAs are only supported when configuring x509 federation.
1685
+ Structure is documented below.
1686
+ """
1687
+ pulumi.set(__self__, "trust_anchors", trust_anchors)
1688
+ if intermediate_cas is not None:
1689
+ pulumi.set(__self__, "intermediate_cas", intermediate_cas)
1690
+
1691
+ @property
1692
+ @pulumi.getter(name="trustAnchors")
1693
+ def trust_anchors(self) -> pulumi.Input[Sequence[pulumi.Input['WorkloadIdentityPoolProviderX509TrustStoreTrustAnchorArgs']]]:
1694
+ """
1695
+ List of Trust Anchors to be used while performing validation
1696
+ against a given TrustStore. The incoming end entity's certificate
1697
+ must be chained up to one of the trust anchors here.
1698
+ Structure is documented below.
1699
+ """
1700
+ return pulumi.get(self, "trust_anchors")
1701
+
1702
+ @trust_anchors.setter
1703
+ def trust_anchors(self, value: pulumi.Input[Sequence[pulumi.Input['WorkloadIdentityPoolProviderX509TrustStoreTrustAnchorArgs']]]):
1704
+ pulumi.set(self, "trust_anchors", value)
1705
+
1706
+ @property
1707
+ @pulumi.getter(name="intermediateCas")
1708
+ def intermediate_cas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadIdentityPoolProviderX509TrustStoreIntermediateCaArgs']]]]:
1709
+ """
1710
+ Set of intermediate CA certificates used for building the trust chain to
1711
+ trust anchor.
1712
+ IMPORTANT: Intermediate CAs are only supported when configuring x509 federation.
1713
+ Structure is documented below.
1714
+ """
1715
+ return pulumi.get(self, "intermediate_cas")
1716
+
1717
+ @intermediate_cas.setter
1718
+ def intermediate_cas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadIdentityPoolProviderX509TrustStoreIntermediateCaArgs']]]]):
1719
+ pulumi.set(self, "intermediate_cas", value)
1720
+
1721
+
1722
+ if not MYPY:
1723
+ class WorkloadIdentityPoolProviderX509TrustStoreIntermediateCaArgsDict(TypedDict):
1724
+ pem_certificate: NotRequired[pulumi.Input[str]]
1725
+ """
1726
+ PEM certificate of the PKI used for validation. Must only contain one
1727
+ ca certificate(either root or intermediate cert).
1728
+ """
1729
+ elif False:
1730
+ WorkloadIdentityPoolProviderX509TrustStoreIntermediateCaArgsDict: TypeAlias = Mapping[str, Any]
1731
+
1732
+ @pulumi.input_type
1733
+ class WorkloadIdentityPoolProviderX509TrustStoreIntermediateCaArgs:
1734
+ def __init__(__self__, *,
1735
+ pem_certificate: Optional[pulumi.Input[str]] = None):
1736
+ """
1737
+ :param pulumi.Input[str] pem_certificate: PEM certificate of the PKI used for validation. Must only contain one
1738
+ ca certificate(either root or intermediate cert).
1739
+ """
1740
+ if pem_certificate is not None:
1741
+ pulumi.set(__self__, "pem_certificate", pem_certificate)
1742
+
1743
+ @property
1744
+ @pulumi.getter(name="pemCertificate")
1745
+ def pem_certificate(self) -> Optional[pulumi.Input[str]]:
1746
+ """
1747
+ PEM certificate of the PKI used for validation. Must only contain one
1748
+ ca certificate(either root or intermediate cert).
1749
+ """
1750
+ return pulumi.get(self, "pem_certificate")
1751
+
1752
+ @pem_certificate.setter
1753
+ def pem_certificate(self, value: Optional[pulumi.Input[str]]):
1754
+ pulumi.set(self, "pem_certificate", value)
1755
+
1756
+
1757
+ if not MYPY:
1758
+ class WorkloadIdentityPoolProviderX509TrustStoreTrustAnchorArgsDict(TypedDict):
1759
+ pem_certificate: NotRequired[pulumi.Input[str]]
1760
+ """
1761
+ PEM certificate of the PKI used for validation. Must only contain one
1762
+ ca certificate(either root or intermediate cert).
1763
+ """
1764
+ elif False:
1765
+ WorkloadIdentityPoolProviderX509TrustStoreTrustAnchorArgsDict: TypeAlias = Mapping[str, Any]
1766
+
1767
+ @pulumi.input_type
1768
+ class WorkloadIdentityPoolProviderX509TrustStoreTrustAnchorArgs:
1769
+ def __init__(__self__, *,
1770
+ pem_certificate: Optional[pulumi.Input[str]] = None):
1771
+ """
1772
+ :param pulumi.Input[str] pem_certificate: PEM certificate of the PKI used for validation. Must only contain one
1773
+ ca certificate(either root or intermediate cert).
1774
+ """
1775
+ if pem_certificate is not None:
1776
+ pulumi.set(__self__, "pem_certificate", pem_certificate)
1777
+
1778
+ @property
1779
+ @pulumi.getter(name="pemCertificate")
1780
+ def pem_certificate(self) -> Optional[pulumi.Input[str]]:
1781
+ """
1782
+ PEM certificate of the PKI used for validation. Must only contain one
1783
+ ca certificate(either root or intermediate cert).
1784
+ """
1785
+ return pulumi.get(self, "pem_certificate")
1786
+
1787
+ @pem_certificate.setter
1788
+ def pem_certificate(self, value: Optional[pulumi.Input[str]]):
1789
+ pulumi.set(self, "pem_certificate", value)
1790
+
1791
+
@@ -27,7 +27,7 @@ class GetWorkloadIdentityPoolProviderResult:
27
27
  """
28
28
  A collection of values returned by getWorkloadIdentityPoolProvider.
29
29
  """
30
- def __init__(__self__, attribute_condition=None, attribute_mapping=None, aws=None, description=None, disabled=None, display_name=None, id=None, name=None, oidcs=None, project=None, samls=None, state=None, workload_identity_pool_id=None, workload_identity_pool_provider_id=None):
30
+ def __init__(__self__, attribute_condition=None, attribute_mapping=None, aws=None, description=None, disabled=None, display_name=None, id=None, name=None, oidcs=None, project=None, samls=None, state=None, workload_identity_pool_id=None, workload_identity_pool_provider_id=None, x509s=None):
31
31
  if attribute_condition and not isinstance(attribute_condition, str):
32
32
  raise TypeError("Expected argument 'attribute_condition' to be a str")
33
33
  pulumi.set(__self__, "attribute_condition", attribute_condition)
@@ -70,6 +70,9 @@ class GetWorkloadIdentityPoolProviderResult:
70
70
  if workload_identity_pool_provider_id and not isinstance(workload_identity_pool_provider_id, str):
71
71
  raise TypeError("Expected argument 'workload_identity_pool_provider_id' to be a str")
72
72
  pulumi.set(__self__, "workload_identity_pool_provider_id", workload_identity_pool_provider_id)
73
+ if x509s and not isinstance(x509s, list):
74
+ raise TypeError("Expected argument 'x509s' to be a list")
75
+ pulumi.set(__self__, "x509s", x509s)
73
76
 
74
77
  @property
75
78
  @pulumi.getter(name="attributeCondition")
@@ -144,6 +147,11 @@ class GetWorkloadIdentityPoolProviderResult:
144
147
  def workload_identity_pool_provider_id(self) -> str:
145
148
  return pulumi.get(self, "workload_identity_pool_provider_id")
146
149
 
150
+ @property
151
+ @pulumi.getter
152
+ def x509s(self) -> Sequence['outputs.GetWorkloadIdentityPoolProviderX509Result']:
153
+ return pulumi.get(self, "x509s")
154
+
147
155
 
148
156
  class AwaitableGetWorkloadIdentityPoolProviderResult(GetWorkloadIdentityPoolProviderResult):
149
157
  # pylint: disable=using-constant-test
@@ -164,7 +172,8 @@ class AwaitableGetWorkloadIdentityPoolProviderResult(GetWorkloadIdentityPoolProv
164
172
  samls=self.samls,
165
173
  state=self.state,
166
174
  workload_identity_pool_id=self.workload_identity_pool_id,
167
- workload_identity_pool_provider_id=self.workload_identity_pool_provider_id)
175
+ workload_identity_pool_provider_id=self.workload_identity_pool_provider_id,
176
+ x509s=self.x509s)
168
177
 
169
178
 
170
179
  def get_workload_identity_pool_provider(project: Optional[str] = None,
@@ -215,7 +224,8 @@ def get_workload_identity_pool_provider(project: Optional[str] = None,
215
224
  samls=pulumi.get(__ret__, 'samls'),
216
225
  state=pulumi.get(__ret__, 'state'),
217
226
  workload_identity_pool_id=pulumi.get(__ret__, 'workload_identity_pool_id'),
218
- workload_identity_pool_provider_id=pulumi.get(__ret__, 'workload_identity_pool_provider_id'))
227
+ workload_identity_pool_provider_id=pulumi.get(__ret__, 'workload_identity_pool_provider_id'),
228
+ x509s=pulumi.get(__ret__, 'x509s'))
219
229
 
220
230
 
221
231
  @_utilities.lift_output_func(get_workload_identity_pool_provider)
pulumi_gcp/iam/outputs.py CHANGED
@@ -36,10 +36,18 @@ __all__ = [
36
36
  'WorkloadIdentityPoolProviderAws',
37
37
  'WorkloadIdentityPoolProviderOidc',
38
38
  'WorkloadIdentityPoolProviderSaml',
39
+ 'WorkloadIdentityPoolProviderX509',
40
+ 'WorkloadIdentityPoolProviderX509TrustStore',
41
+ 'WorkloadIdentityPoolProviderX509TrustStoreIntermediateCa',
42
+ 'WorkloadIdentityPoolProviderX509TrustStoreTrustAnchor',
39
43
  'GetTestablePermissionsPermissionResult',
40
44
  'GetWorkloadIdentityPoolProviderAwResult',
41
45
  'GetWorkloadIdentityPoolProviderOidcResult',
42
46
  'GetWorkloadIdentityPoolProviderSamlResult',
47
+ 'GetWorkloadIdentityPoolProviderX509Result',
48
+ 'GetWorkloadIdentityPoolProviderX509TrustStoreResult',
49
+ 'GetWorkloadIdentityPoolProviderX509TrustStoreIntermediateCaResult',
50
+ 'GetWorkloadIdentityPoolProviderX509TrustStoreTrustAnchorResult',
43
51
  ]
44
52
 
45
53
  @pulumi.output_type
@@ -1238,6 +1246,8 @@ class WorkloadIdentityPoolProviderSaml(dict):
1238
1246
  idp_metadata_xml: str):
1239
1247
  """
1240
1248
  :param str idp_metadata_xml: SAML Identity provider configuration metadata xml doc.
1249
+
1250
+ <a name="nested_x509"></a>The `x509` block supports:
1241
1251
  """
1242
1252
  pulumi.set(__self__, "idp_metadata_xml", idp_metadata_xml)
1243
1253
 
@@ -1246,10 +1256,192 @@ class WorkloadIdentityPoolProviderSaml(dict):
1246
1256
  def idp_metadata_xml(self) -> str:
1247
1257
  """
1248
1258
  SAML Identity provider configuration metadata xml doc.
1259
+
1260
+ <a name="nested_x509"></a>The `x509` block supports:
1249
1261
  """
1250
1262
  return pulumi.get(self, "idp_metadata_xml")
1251
1263
 
1252
1264
 
1265
+ @pulumi.output_type
1266
+ class WorkloadIdentityPoolProviderX509(dict):
1267
+ @staticmethod
1268
+ def __key_warning(key: str):
1269
+ suggest = None
1270
+ if key == "trustStore":
1271
+ suggest = "trust_store"
1272
+
1273
+ if suggest:
1274
+ pulumi.log.warn(f"Key '{key}' not found in WorkloadIdentityPoolProviderX509. Access the value via the '{suggest}' property getter instead.")
1275
+
1276
+ def __getitem__(self, key: str) -> Any:
1277
+ WorkloadIdentityPoolProviderX509.__key_warning(key)
1278
+ return super().__getitem__(key)
1279
+
1280
+ def get(self, key: str, default = None) -> Any:
1281
+ WorkloadIdentityPoolProviderX509.__key_warning(key)
1282
+ return super().get(key, default)
1283
+
1284
+ def __init__(__self__, *,
1285
+ trust_store: 'outputs.WorkloadIdentityPoolProviderX509TrustStore'):
1286
+ """
1287
+ :param 'WorkloadIdentityPoolProviderX509TrustStoreArgs' trust_store: A Trust store, use this trust store as a wrapper to config the trust
1288
+ anchor and optional intermediate cas to help build the trust chain for
1289
+ the incoming end entity certificate. Follow the x509 guidelines to
1290
+ define those PEM encoded certs. Only 1 trust store is currently
1291
+ supported.
1292
+ """
1293
+ pulumi.set(__self__, "trust_store", trust_store)
1294
+
1295
+ @property
1296
+ @pulumi.getter(name="trustStore")
1297
+ def trust_store(self) -> 'outputs.WorkloadIdentityPoolProviderX509TrustStore':
1298
+ """
1299
+ A Trust store, use this trust store as a wrapper to config the trust
1300
+ anchor and optional intermediate cas to help build the trust chain for
1301
+ the incoming end entity certificate. Follow the x509 guidelines to
1302
+ define those PEM encoded certs. Only 1 trust store is currently
1303
+ supported.
1304
+ """
1305
+ return pulumi.get(self, "trust_store")
1306
+
1307
+
1308
+ @pulumi.output_type
1309
+ class WorkloadIdentityPoolProviderX509TrustStore(dict):
1310
+ @staticmethod
1311
+ def __key_warning(key: str):
1312
+ suggest = None
1313
+ if key == "trustAnchors":
1314
+ suggest = "trust_anchors"
1315
+ elif key == "intermediateCas":
1316
+ suggest = "intermediate_cas"
1317
+
1318
+ if suggest:
1319
+ pulumi.log.warn(f"Key '{key}' not found in WorkloadIdentityPoolProviderX509TrustStore. Access the value via the '{suggest}' property getter instead.")
1320
+
1321
+ def __getitem__(self, key: str) -> Any:
1322
+ WorkloadIdentityPoolProviderX509TrustStore.__key_warning(key)
1323
+ return super().__getitem__(key)
1324
+
1325
+ def get(self, key: str, default = None) -> Any:
1326
+ WorkloadIdentityPoolProviderX509TrustStore.__key_warning(key)
1327
+ return super().get(key, default)
1328
+
1329
+ def __init__(__self__, *,
1330
+ trust_anchors: Sequence['outputs.WorkloadIdentityPoolProviderX509TrustStoreTrustAnchor'],
1331
+ intermediate_cas: Optional[Sequence['outputs.WorkloadIdentityPoolProviderX509TrustStoreIntermediateCa']] = None):
1332
+ """
1333
+ :param Sequence['WorkloadIdentityPoolProviderX509TrustStoreTrustAnchorArgs'] trust_anchors: List of Trust Anchors to be used while performing validation
1334
+ against a given TrustStore. The incoming end entity's certificate
1335
+ must be chained up to one of the trust anchors here.
1336
+ Structure is documented below.
1337
+ :param Sequence['WorkloadIdentityPoolProviderX509TrustStoreIntermediateCaArgs'] intermediate_cas: Set of intermediate CA certificates used for building the trust chain to
1338
+ trust anchor.
1339
+ IMPORTANT: Intermediate CAs are only supported when configuring x509 federation.
1340
+ Structure is documented below.
1341
+ """
1342
+ pulumi.set(__self__, "trust_anchors", trust_anchors)
1343
+ if intermediate_cas is not None:
1344
+ pulumi.set(__self__, "intermediate_cas", intermediate_cas)
1345
+
1346
+ @property
1347
+ @pulumi.getter(name="trustAnchors")
1348
+ def trust_anchors(self) -> Sequence['outputs.WorkloadIdentityPoolProviderX509TrustStoreTrustAnchor']:
1349
+ """
1350
+ List of Trust Anchors to be used while performing validation
1351
+ against a given TrustStore. The incoming end entity's certificate
1352
+ must be chained up to one of the trust anchors here.
1353
+ Structure is documented below.
1354
+ """
1355
+ return pulumi.get(self, "trust_anchors")
1356
+
1357
+ @property
1358
+ @pulumi.getter(name="intermediateCas")
1359
+ def intermediate_cas(self) -> Optional[Sequence['outputs.WorkloadIdentityPoolProviderX509TrustStoreIntermediateCa']]:
1360
+ """
1361
+ Set of intermediate CA certificates used for building the trust chain to
1362
+ trust anchor.
1363
+ IMPORTANT: Intermediate CAs are only supported when configuring x509 federation.
1364
+ Structure is documented below.
1365
+ """
1366
+ return pulumi.get(self, "intermediate_cas")
1367
+
1368
+
1369
+ @pulumi.output_type
1370
+ class WorkloadIdentityPoolProviderX509TrustStoreIntermediateCa(dict):
1371
+ @staticmethod
1372
+ def __key_warning(key: str):
1373
+ suggest = None
1374
+ if key == "pemCertificate":
1375
+ suggest = "pem_certificate"
1376
+
1377
+ if suggest:
1378
+ pulumi.log.warn(f"Key '{key}' not found in WorkloadIdentityPoolProviderX509TrustStoreIntermediateCa. Access the value via the '{suggest}' property getter instead.")
1379
+
1380
+ def __getitem__(self, key: str) -> Any:
1381
+ WorkloadIdentityPoolProviderX509TrustStoreIntermediateCa.__key_warning(key)
1382
+ return super().__getitem__(key)
1383
+
1384
+ def get(self, key: str, default = None) -> Any:
1385
+ WorkloadIdentityPoolProviderX509TrustStoreIntermediateCa.__key_warning(key)
1386
+ return super().get(key, default)
1387
+
1388
+ def __init__(__self__, *,
1389
+ pem_certificate: Optional[str] = None):
1390
+ """
1391
+ :param str pem_certificate: PEM certificate of the PKI used for validation. Must only contain one
1392
+ ca certificate(either root or intermediate cert).
1393
+ """
1394
+ if pem_certificate is not None:
1395
+ pulumi.set(__self__, "pem_certificate", pem_certificate)
1396
+
1397
+ @property
1398
+ @pulumi.getter(name="pemCertificate")
1399
+ def pem_certificate(self) -> Optional[str]:
1400
+ """
1401
+ PEM certificate of the PKI used for validation. Must only contain one
1402
+ ca certificate(either root or intermediate cert).
1403
+ """
1404
+ return pulumi.get(self, "pem_certificate")
1405
+
1406
+
1407
+ @pulumi.output_type
1408
+ class WorkloadIdentityPoolProviderX509TrustStoreTrustAnchor(dict):
1409
+ @staticmethod
1410
+ def __key_warning(key: str):
1411
+ suggest = None
1412
+ if key == "pemCertificate":
1413
+ suggest = "pem_certificate"
1414
+
1415
+ if suggest:
1416
+ pulumi.log.warn(f"Key '{key}' not found in WorkloadIdentityPoolProviderX509TrustStoreTrustAnchor. Access the value via the '{suggest}' property getter instead.")
1417
+
1418
+ def __getitem__(self, key: str) -> Any:
1419
+ WorkloadIdentityPoolProviderX509TrustStoreTrustAnchor.__key_warning(key)
1420
+ return super().__getitem__(key)
1421
+
1422
+ def get(self, key: str, default = None) -> Any:
1423
+ WorkloadIdentityPoolProviderX509TrustStoreTrustAnchor.__key_warning(key)
1424
+ return super().get(key, default)
1425
+
1426
+ def __init__(__self__, *,
1427
+ pem_certificate: Optional[str] = None):
1428
+ """
1429
+ :param str pem_certificate: PEM certificate of the PKI used for validation. Must only contain one
1430
+ ca certificate(either root or intermediate cert).
1431
+ """
1432
+ if pem_certificate is not None:
1433
+ pulumi.set(__self__, "pem_certificate", pem_certificate)
1434
+
1435
+ @property
1436
+ @pulumi.getter(name="pemCertificate")
1437
+ def pem_certificate(self) -> Optional[str]:
1438
+ """
1439
+ PEM certificate of the PKI used for validation. Must only contain one
1440
+ ca certificate(either root or intermediate cert).
1441
+ """
1442
+ return pulumi.get(self, "pem_certificate")
1443
+
1444
+
1253
1445
  @pulumi.output_type
1254
1446
  class GetTestablePermissionsPermissionResult(dict):
1255
1447
  def __init__(__self__, *,
@@ -1454,3 +1646,106 @@ class GetWorkloadIdentityPoolProviderSamlResult(dict):
1454
1646
  return pulumi.get(self, "idp_metadata_xml")
1455
1647
 
1456
1648
 
1649
+ @pulumi.output_type
1650
+ class GetWorkloadIdentityPoolProviderX509Result(dict):
1651
+ def __init__(__self__, *,
1652
+ trust_stores: Sequence['outputs.GetWorkloadIdentityPoolProviderX509TrustStoreResult']):
1653
+ """
1654
+ :param Sequence['GetWorkloadIdentityPoolProviderX509TrustStoreArgs'] trust_stores: A Trust store, use this trust store as a wrapper to config the trust
1655
+ anchor and optional intermediate cas to help build the trust chain for
1656
+ the incoming end entity certificate. Follow the x509 guidelines to
1657
+ define those PEM encoded certs. Only 1 trust store is currently
1658
+ supported.
1659
+ """
1660
+ pulumi.set(__self__, "trust_stores", trust_stores)
1661
+
1662
+ @property
1663
+ @pulumi.getter(name="trustStores")
1664
+ def trust_stores(self) -> Sequence['outputs.GetWorkloadIdentityPoolProviderX509TrustStoreResult']:
1665
+ """
1666
+ A Trust store, use this trust store as a wrapper to config the trust
1667
+ anchor and optional intermediate cas to help build the trust chain for
1668
+ the incoming end entity certificate. Follow the x509 guidelines to
1669
+ define those PEM encoded certs. Only 1 trust store is currently
1670
+ supported.
1671
+ """
1672
+ return pulumi.get(self, "trust_stores")
1673
+
1674
+
1675
+ @pulumi.output_type
1676
+ class GetWorkloadIdentityPoolProviderX509TrustStoreResult(dict):
1677
+ def __init__(__self__, *,
1678
+ intermediate_cas: Sequence['outputs.GetWorkloadIdentityPoolProviderX509TrustStoreIntermediateCaResult'],
1679
+ trust_anchors: Sequence['outputs.GetWorkloadIdentityPoolProviderX509TrustStoreTrustAnchorResult']):
1680
+ """
1681
+ :param Sequence['GetWorkloadIdentityPoolProviderX509TrustStoreIntermediateCaArgs'] intermediate_cas: Set of intermediate CA certificates used for building the trust chain to
1682
+ trust anchor.
1683
+ IMPORTANT: Intermediate CAs are only supported when configuring x509 federation.
1684
+ :param Sequence['GetWorkloadIdentityPoolProviderX509TrustStoreTrustAnchorArgs'] trust_anchors: List of Trust Anchors to be used while performing validation
1685
+ against a given TrustStore. The incoming end entity's certificate
1686
+ must be chained up to one of the trust anchors here.
1687
+ """
1688
+ pulumi.set(__self__, "intermediate_cas", intermediate_cas)
1689
+ pulumi.set(__self__, "trust_anchors", trust_anchors)
1690
+
1691
+ @property
1692
+ @pulumi.getter(name="intermediateCas")
1693
+ def intermediate_cas(self) -> Sequence['outputs.GetWorkloadIdentityPoolProviderX509TrustStoreIntermediateCaResult']:
1694
+ """
1695
+ Set of intermediate CA certificates used for building the trust chain to
1696
+ trust anchor.
1697
+ IMPORTANT: Intermediate CAs are only supported when configuring x509 federation.
1698
+ """
1699
+ return pulumi.get(self, "intermediate_cas")
1700
+
1701
+ @property
1702
+ @pulumi.getter(name="trustAnchors")
1703
+ def trust_anchors(self) -> Sequence['outputs.GetWorkloadIdentityPoolProviderX509TrustStoreTrustAnchorResult']:
1704
+ """
1705
+ List of Trust Anchors to be used while performing validation
1706
+ against a given TrustStore. The incoming end entity's certificate
1707
+ must be chained up to one of the trust anchors here.
1708
+ """
1709
+ return pulumi.get(self, "trust_anchors")
1710
+
1711
+
1712
+ @pulumi.output_type
1713
+ class GetWorkloadIdentityPoolProviderX509TrustStoreIntermediateCaResult(dict):
1714
+ def __init__(__self__, *,
1715
+ pem_certificate: str):
1716
+ """
1717
+ :param str pem_certificate: PEM certificate of the PKI used for validation. Must only contain one
1718
+ ca certificate(either root or intermediate cert).
1719
+ """
1720
+ pulumi.set(__self__, "pem_certificate", pem_certificate)
1721
+
1722
+ @property
1723
+ @pulumi.getter(name="pemCertificate")
1724
+ def pem_certificate(self) -> str:
1725
+ """
1726
+ PEM certificate of the PKI used for validation. Must only contain one
1727
+ ca certificate(either root or intermediate cert).
1728
+ """
1729
+ return pulumi.get(self, "pem_certificate")
1730
+
1731
+
1732
+ @pulumi.output_type
1733
+ class GetWorkloadIdentityPoolProviderX509TrustStoreTrustAnchorResult(dict):
1734
+ def __init__(__self__, *,
1735
+ pem_certificate: str):
1736
+ """
1737
+ :param str pem_certificate: PEM certificate of the PKI used for validation. Must only contain one
1738
+ ca certificate(either root or intermediate cert).
1739
+ """
1740
+ pulumi.set(__self__, "pem_certificate", pem_certificate)
1741
+
1742
+ @property
1743
+ @pulumi.getter(name="pemCertificate")
1744
+ def pem_certificate(self) -> str:
1745
+ """
1746
+ PEM certificate of the PKI used for validation. Must only contain one
1747
+ ca certificate(either root or intermediate cert).
1748
+ """
1749
+ return pulumi.get(self, "pem_certificate")
1750
+
1751
+