pulumi-gcp 8.1.0a1726293903__py3-none-any.whl → 8.2.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 (128) hide show
  1. pulumi_gcp/__init__.py +62 -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/__init__.py +1 -0
  9. pulumi_gcp/bigquery/_inputs.py +33 -0
  10. pulumi_gcp/bigquery/data_transfer_config.py +134 -6
  11. pulumi_gcp/bigquery/get_tables.py +143 -0
  12. pulumi_gcp/bigquery/outputs.py +66 -0
  13. pulumi_gcp/bigqueryanalyticshub/_inputs.py +169 -7
  14. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +96 -3
  15. pulumi_gcp/bigqueryanalyticshub/listing.py +114 -0
  16. pulumi_gcp/bigqueryanalyticshub/outputs.py +138 -5
  17. pulumi_gcp/bigtable/_inputs.py +21 -1
  18. pulumi_gcp/bigtable/outputs.py +13 -1
  19. pulumi_gcp/bigtable/table.py +34 -0
  20. pulumi_gcp/certificateauthority/authority.py +14 -7
  21. pulumi_gcp/certificatemanager/__init__.py +1 -0
  22. pulumi_gcp/certificatemanager/certificate.py +28 -0
  23. pulumi_gcp/certificatemanager/get_certificates.py +150 -0
  24. pulumi_gcp/certificatemanager/outputs.py +322 -0
  25. pulumi_gcp/cloudbuild/_inputs.py +6 -6
  26. pulumi_gcp/cloudbuild/outputs.py +4 -4
  27. pulumi_gcp/cloudrun/_inputs.py +6 -12
  28. pulumi_gcp/cloudrun/outputs.py +8 -16
  29. pulumi_gcp/cloudrunv2/_inputs.py +72 -15
  30. pulumi_gcp/cloudrunv2/outputs.py +82 -16
  31. pulumi_gcp/cloudrunv2/service.py +50 -4
  32. pulumi_gcp/cloudtasks/_inputs.py +630 -0
  33. pulumi_gcp/cloudtasks/outputs.py +479 -0
  34. pulumi_gcp/cloudtasks/queue.py +238 -0
  35. pulumi_gcp/compute/__init__.py +1 -0
  36. pulumi_gcp/compute/_inputs.py +2300 -257
  37. pulumi_gcp/compute/get_instance.py +4 -1
  38. pulumi_gcp/compute/health_check.py +114 -0
  39. pulumi_gcp/compute/instance.py +86 -4
  40. pulumi_gcp/compute/instance_template.py +66 -0
  41. pulumi_gcp/compute/interconnect.py +28 -21
  42. pulumi_gcp/compute/network_firewall_policy_with_rules.py +826 -0
  43. pulumi_gcp/compute/node_template.py +93 -0
  44. pulumi_gcp/compute/outputs.py +1491 -6
  45. pulumi_gcp/compute/region_target_http_proxy.py +159 -0
  46. pulumi_gcp/compute/region_target_https_proxy.py +175 -0
  47. pulumi_gcp/compute/service_attachment.py +75 -0
  48. pulumi_gcp/compute/target_http_proxy.py +49 -28
  49. pulumi_gcp/compute/target_https_proxy.py +77 -28
  50. pulumi_gcp/config/__init__.pyi +4 -0
  51. pulumi_gcp/config/vars.py +8 -0
  52. pulumi_gcp/container/_inputs.py +236 -3
  53. pulumi_gcp/container/attached_cluster.py +61 -8
  54. pulumi_gcp/container/outputs.py +276 -2
  55. pulumi_gcp/databasemigrationservice/_inputs.py +176 -148
  56. pulumi_gcp/databasemigrationservice/connection_profile.py +206 -0
  57. pulumi_gcp/databasemigrationservice/outputs.py +109 -87
  58. pulumi_gcp/dataloss/_inputs.py +353 -1
  59. pulumi_gcp/dataloss/outputs.py +274 -3
  60. pulumi_gcp/dataproc/_inputs.py +27 -27
  61. pulumi_gcp/dataproc/metastore_federation.py +8 -8
  62. pulumi_gcp/dataproc/metastore_service.py +2 -0
  63. pulumi_gcp/dataproc/outputs.py +18 -18
  64. pulumi_gcp/datastream/_inputs.py +69 -1
  65. pulumi_gcp/datastream/outputs.py +44 -2
  66. pulumi_gcp/datastream/stream.py +201 -7
  67. pulumi_gcp/developerconnect/__init__.py +11 -0
  68. pulumi_gcp/developerconnect/_inputs.py +301 -0
  69. pulumi_gcp/developerconnect/connection.py +1034 -0
  70. pulumi_gcp/developerconnect/git_repository_link.py +873 -0
  71. pulumi_gcp/developerconnect/outputs.py +247 -0
  72. pulumi_gcp/discoveryengine/_inputs.py +188 -0
  73. pulumi_gcp/discoveryengine/data_store.py +14 -14
  74. pulumi_gcp/discoveryengine/outputs.py +153 -1
  75. pulumi_gcp/firebase/database_instance.py +7 -7
  76. pulumi_gcp/gkehub/_inputs.py +25 -1
  77. pulumi_gcp/gkehub/feature_membership.py +12 -6
  78. pulumi_gcp/gkehub/outputs.py +17 -1
  79. pulumi_gcp/gkeonprem/_inputs.py +3 -3
  80. pulumi_gcp/gkeonprem/outputs.py +2 -2
  81. pulumi_gcp/iam/_inputs.py +196 -0
  82. pulumi_gcp/iam/get_workload_identity_pool_provider.py +13 -3
  83. pulumi_gcp/iam/outputs.py +295 -0
  84. pulumi_gcp/iam/workload_identity_pool_provider.py +164 -3
  85. pulumi_gcp/kms/__init__.py +2 -0
  86. pulumi_gcp/kms/autokey_config.py +10 -2
  87. pulumi_gcp/kms/get_crypto_key_latest_version.py +222 -0
  88. pulumi_gcp/kms/get_crypto_key_versions.py +175 -0
  89. pulumi_gcp/kms/outputs.py +164 -0
  90. pulumi_gcp/memorystore/__init__.py +10 -0
  91. pulumi_gcp/memorystore/_inputs.py +731 -0
  92. pulumi_gcp/memorystore/instance.py +1663 -0
  93. pulumi_gcp/memorystore/outputs.py +598 -0
  94. pulumi_gcp/netapp/active_directory.py +6 -6
  95. pulumi_gcp/netapp/backup.py +6 -6
  96. pulumi_gcp/netapp/backup_policy.py +6 -6
  97. pulumi_gcp/netapp/backup_vault.py +6 -6
  98. pulumi_gcp/netapp/storage_pool.py +4 -4
  99. pulumi_gcp/netapp/volume.py +108 -0
  100. pulumi_gcp/networkconnectivity/_inputs.py +21 -1
  101. pulumi_gcp/networkconnectivity/outputs.py +15 -1
  102. pulumi_gcp/networkconnectivity/spoke.py +8 -0
  103. pulumi_gcp/networksecurity/client_tls_policy.py +24 -22
  104. pulumi_gcp/networksecurity/server_tls_policy.py +20 -32
  105. pulumi_gcp/organizations/folder.py +52 -33
  106. pulumi_gcp/organizations/get_project.py +13 -3
  107. pulumi_gcp/organizations/project.py +88 -3
  108. pulumi_gcp/parallelstore/instance.py +121 -121
  109. pulumi_gcp/projects/iam_member_remove.py +26 -0
  110. pulumi_gcp/projects/usage_export_bucket.py +38 -0
  111. pulumi_gcp/provider.py +40 -0
  112. pulumi_gcp/pubsub/_inputs.py +40 -0
  113. pulumi_gcp/pubsub/outputs.py +51 -1
  114. pulumi_gcp/pubsub/subscription.py +6 -0
  115. pulumi_gcp/pulumi-plugin.json +1 -1
  116. pulumi_gcp/redis/_inputs.py +419 -0
  117. pulumi_gcp/redis/cluster.py +123 -0
  118. pulumi_gcp/redis/outputs.py +315 -0
  119. pulumi_gcp/securitycenter/__init__.py +2 -0
  120. pulumi_gcp/securitycenter/v2_folder_scc_big_query_export.py +857 -0
  121. pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +4 -4
  122. pulumi_gcp/securitycenter/v2_project_mute_config.py +2 -2
  123. pulumi_gcp/securitycenter/v2_project_scc_big_query_export.py +796 -0
  124. pulumi_gcp/vpcaccess/connector.py +21 -28
  125. {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/METADATA +1 -1
  126. {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/RECORD +128 -111
  127. {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/WHEEL +1 -1
  128. {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.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
 
@@ -7980,7 +7980,7 @@ if not MYPY:
7980
7980
  image_type: pulumi.Input[str]
7981
7981
  """
7982
7982
  The OS image to be used for each node in a node pool.
7983
- Currently `cos`, `ubuntu`, `ubuntu_containerd` and `windows` are supported.
7983
+ Currently `cos`, `cos_cgv2`, `ubuntu`, `ubuntu_cgv2`, `ubuntu_containerd` and `windows` are supported.
7984
7984
  """
7985
7985
  boot_disk_size_gb: NotRequired[pulumi.Input[int]]
7986
7986
  """
@@ -8044,7 +8044,7 @@ class VMwareNodePoolConfigArgs:
8044
8044
  vsphere_config: Optional[pulumi.Input['VMwareNodePoolConfigVsphereConfigArgs']] = None):
8045
8045
  """
8046
8046
  :param pulumi.Input[str] image_type: The OS image to be used for each node in a node pool.
8047
- Currently `cos`, `ubuntu`, `ubuntu_containerd` and `windows` are supported.
8047
+ Currently `cos`, `cos_cgv2`, `ubuntu`, `ubuntu_cgv2`, `ubuntu_containerd` and `windows` are supported.
8048
8048
  :param pulumi.Input[int] boot_disk_size_gb: VMware disk size to be used during creation.
8049
8049
  :param pulumi.Input[int] cpus: The number of CPUs for each node in the node pool.
8050
8050
  :param pulumi.Input[bool] enable_load_balancer: Allow node pool traffic to be load balanced. Only works for clusters with
@@ -8088,7 +8088,7 @@ class VMwareNodePoolConfigArgs:
8088
8088
  def image_type(self) -> pulumi.Input[str]:
8089
8089
  """
8090
8090
  The OS image to be used for each node in a node pool.
8091
- Currently `cos`, `ubuntu`, `ubuntu_containerd` and `windows` are supported.
8091
+ Currently `cos`, `cos_cgv2`, `ubuntu`, `ubuntu_cgv2`, `ubuntu_containerd` and `windows` are supported.
8092
8092
  """
8093
8093
  return pulumi.get(self, "image_type")
8094
8094
 
@@ -6294,7 +6294,7 @@ class VMwareNodePoolConfig(dict):
6294
6294
  vsphere_config: Optional['outputs.VMwareNodePoolConfigVsphereConfig'] = None):
6295
6295
  """
6296
6296
  :param str image_type: The OS image to be used for each node in a node pool.
6297
- Currently `cos`, `ubuntu`, `ubuntu_containerd` and `windows` are supported.
6297
+ Currently `cos`, `cos_cgv2`, `ubuntu`, `ubuntu_cgv2`, `ubuntu_containerd` and `windows` are supported.
6298
6298
  :param int boot_disk_size_gb: VMware disk size to be used during creation.
6299
6299
  :param int cpus: The number of CPUs for each node in the node pool.
6300
6300
  :param bool enable_load_balancer: Allow node pool traffic to be load balanced. Only works for clusters with
@@ -6338,7 +6338,7 @@ class VMwareNodePoolConfig(dict):
6338
6338
  def image_type(self) -> str:
6339
6339
  """
6340
6340
  The OS image to be used for each node in a node pool.
6341
- Currently `cos`, `ubuntu`, `ubuntu_containerd` and `windows` are supported.
6341
+ Currently `cos`, `cos_cgv2`, `ubuntu`, `ubuntu_cgv2`, `ubuntu_containerd` and `windows` are supported.
6342
6342
  """
6343
6343
  return pulumi.get(self, "image_type")
6344
6344
 
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)