pulumi-vault 5.19.0a1705474292__py3-none-any.whl → 5.20.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 (48) hide show
  1. pulumi_vault/__init__.py +59 -0
  2. pulumi_vault/_inputs.py +380 -0
  3. pulumi_vault/_utilities.py +2 -2
  4. pulumi_vault/aws/secret_backend.py +188 -0
  5. pulumi_vault/aws/secret_backend_static_role.py +2 -2
  6. pulumi_vault/azure/backend.py +7 -21
  7. pulumi_vault/azure/backend_role.py +111 -0
  8. pulumi_vault/config/__init__.pyi +0 -3
  9. pulumi_vault/config/outputs.py +380 -0
  10. pulumi_vault/config/vars.py +0 -3
  11. pulumi_vault/consul/secret_backend.py +7 -35
  12. pulumi_vault/database/_inputs.py +536 -0
  13. pulumi_vault/database/outputs.py +483 -3
  14. pulumi_vault/gcp/_inputs.py +162 -4
  15. pulumi_vault/gcp/auth_backend.py +64 -3
  16. pulumi_vault/gcp/outputs.py +161 -4
  17. pulumi_vault/get_raft_autopilot_state.py +0 -12
  18. pulumi_vault/identity/group_alias.py +6 -6
  19. pulumi_vault/kubernetes/auth_backend_config.py +7 -7
  20. pulumi_vault/kubernetes/secret_backend_role.py +8 -4
  21. pulumi_vault/kv/_inputs.py +12 -0
  22. pulumi_vault/kv/outputs.py +12 -0
  23. pulumi_vault/ldap/secret_backend_dynamic_role.py +2 -2
  24. pulumi_vault/ldap/secret_backend_static_role.py +2 -2
  25. pulumi_vault/managed/_inputs.py +12 -0
  26. pulumi_vault/managed/keys.py +20 -0
  27. pulumi_vault/managed/outputs.py +12 -0
  28. pulumi_vault/mongodbatlas/secret_role.py +2 -2
  29. pulumi_vault/namespace.py +46 -14
  30. pulumi_vault/pkisecret/secret_backend_config_issuers.py +0 -6
  31. pulumi_vault/pkisecret/secret_backend_issuer.py +0 -10
  32. pulumi_vault/pkisecret/secret_backend_role.py +54 -7
  33. pulumi_vault/rabbitmq/_inputs.py +36 -0
  34. pulumi_vault/rabbitmq/outputs.py +36 -0
  35. pulumi_vault/saml/auth_backend_role.py +7 -14
  36. pulumi_vault/secrets/__init__.py +14 -0
  37. pulumi_vault/secrets/sync_association.py +464 -0
  38. pulumi_vault/secrets/sync_aws_destination.py +564 -0
  39. pulumi_vault/secrets/sync_azure_destination.py +674 -0
  40. pulumi_vault/secrets/sync_config.py +297 -0
  41. pulumi_vault/secrets/sync_gcp_destination.py +438 -0
  42. pulumi_vault/secrets/sync_gh_destination.py +511 -0
  43. pulumi_vault/secrets/sync_vercel_destination.py +541 -0
  44. pulumi_vault/ssh/secret_backend_role.py +7 -14
  45. {pulumi_vault-5.19.0a1705474292.dist-info → pulumi_vault-5.20.0.dist-info}/METADATA +2 -2
  46. {pulumi_vault-5.19.0a1705474292.dist-info → pulumi_vault-5.20.0.dist-info}/RECORD +48 -40
  47. {pulumi_vault-5.19.0a1705474292.dist-info → pulumi_vault-5.20.0.dist-info}/WHEEL +0 -0
  48. {pulumi_vault-5.19.0a1705474292.dist-info → pulumi_vault-5.20.0.dist-info}/top_level.txt +0 -0
@@ -1311,7 +1311,9 @@ class SecretBackendConnectionMysqlAurora(dict):
1311
1311
  @staticmethod
1312
1312
  def __key_warning(key: str):
1313
1313
  suggest = None
1314
- if key == "connectionUrl":
1314
+ if key == "authType":
1315
+ suggest = "auth_type"
1316
+ elif key == "connectionUrl":
1315
1317
  suggest = "connection_url"
1316
1318
  elif key == "maxConnectionLifetime":
1317
1319
  suggest = "max_connection_lifetime"
@@ -1319,6 +1321,12 @@ class SecretBackendConnectionMysqlAurora(dict):
1319
1321
  suggest = "max_idle_connections"
1320
1322
  elif key == "maxOpenConnections":
1321
1323
  suggest = "max_open_connections"
1324
+ elif key == "serviceAccountJson":
1325
+ suggest = "service_account_json"
1326
+ elif key == "tlsCa":
1327
+ suggest = "tls_ca"
1328
+ elif key == "tlsCertificateKey":
1329
+ suggest = "tls_certificate_key"
1322
1330
  elif key == "usernameTemplate":
1323
1331
  suggest = "username_template"
1324
1332
 
@@ -1334,14 +1342,19 @@ class SecretBackendConnectionMysqlAurora(dict):
1334
1342
  return super().get(key, default)
1335
1343
 
1336
1344
  def __init__(__self__, *,
1345
+ auth_type: Optional[str] = None,
1337
1346
  connection_url: Optional[str] = None,
1338
1347
  max_connection_lifetime: Optional[int] = None,
1339
1348
  max_idle_connections: Optional[int] = None,
1340
1349
  max_open_connections: Optional[int] = None,
1341
1350
  password: Optional[str] = None,
1351
+ service_account_json: Optional[str] = None,
1352
+ tls_ca: Optional[str] = None,
1353
+ tls_certificate_key: Optional[str] = None,
1342
1354
  username: Optional[str] = None,
1343
1355
  username_template: Optional[str] = None):
1344
1356
  """
1357
+ :param str auth_type: Enable IAM authentication to a Google Cloud instance when set to `gcp_iam`
1345
1358
  :param str connection_url: A URL containing connection information. See
1346
1359
  the [Vault
1347
1360
  docs](https://www.vaultproject.io/api-docs/secret/databases/mongodb.html#sample-payload)
@@ -1353,9 +1366,14 @@ class SecretBackendConnectionMysqlAurora(dict):
1353
1366
  :param int max_open_connections: The maximum number of open connections to
1354
1367
  use.
1355
1368
  :param str password: The password to authenticate with.
1369
+ :param str service_account_json: JSON encoding of an IAM access key. Requires `auth_type` to be `gcp_iam`.
1370
+ :param str tls_ca: x509 CA file for validating the certificate presented by the MySQL server. Must be PEM encoded.
1371
+ :param str tls_certificate_key: x509 certificate for connecting to the database. This must be a PEM encoded version of the private key and the certificate combined.
1356
1372
  :param str username: The username to authenticate with.
1357
1373
  :param str username_template: Template describing how dynamic usernames are generated.
1358
1374
  """
1375
+ if auth_type is not None:
1376
+ pulumi.set(__self__, "auth_type", auth_type)
1359
1377
  if connection_url is not None:
1360
1378
  pulumi.set(__self__, "connection_url", connection_url)
1361
1379
  if max_connection_lifetime is not None:
@@ -1366,11 +1384,25 @@ class SecretBackendConnectionMysqlAurora(dict):
1366
1384
  pulumi.set(__self__, "max_open_connections", max_open_connections)
1367
1385
  if password is not None:
1368
1386
  pulumi.set(__self__, "password", password)
1387
+ if service_account_json is not None:
1388
+ pulumi.set(__self__, "service_account_json", service_account_json)
1389
+ if tls_ca is not None:
1390
+ pulumi.set(__self__, "tls_ca", tls_ca)
1391
+ if tls_certificate_key is not None:
1392
+ pulumi.set(__self__, "tls_certificate_key", tls_certificate_key)
1369
1393
  if username is not None:
1370
1394
  pulumi.set(__self__, "username", username)
1371
1395
  if username_template is not None:
1372
1396
  pulumi.set(__self__, "username_template", username_template)
1373
1397
 
1398
+ @property
1399
+ @pulumi.getter(name="authType")
1400
+ def auth_type(self) -> Optional[str]:
1401
+ """
1402
+ Enable IAM authentication to a Google Cloud instance when set to `gcp_iam`
1403
+ """
1404
+ return pulumi.get(self, "auth_type")
1405
+
1374
1406
  @property
1375
1407
  @pulumi.getter(name="connectionUrl")
1376
1408
  def connection_url(self) -> Optional[str]:
@@ -1417,6 +1449,30 @@ class SecretBackendConnectionMysqlAurora(dict):
1417
1449
  """
1418
1450
  return pulumi.get(self, "password")
1419
1451
 
1452
+ @property
1453
+ @pulumi.getter(name="serviceAccountJson")
1454
+ def service_account_json(self) -> Optional[str]:
1455
+ """
1456
+ JSON encoding of an IAM access key. Requires `auth_type` to be `gcp_iam`.
1457
+ """
1458
+ return pulumi.get(self, "service_account_json")
1459
+
1460
+ @property
1461
+ @pulumi.getter(name="tlsCa")
1462
+ def tls_ca(self) -> Optional[str]:
1463
+ """
1464
+ x509 CA file for validating the certificate presented by the MySQL server. Must be PEM encoded.
1465
+ """
1466
+ return pulumi.get(self, "tls_ca")
1467
+
1468
+ @property
1469
+ @pulumi.getter(name="tlsCertificateKey")
1470
+ def tls_certificate_key(self) -> Optional[str]:
1471
+ """
1472
+ x509 certificate for connecting to the database. This must be a PEM encoded version of the private key and the certificate combined.
1473
+ """
1474
+ return pulumi.get(self, "tls_certificate_key")
1475
+
1420
1476
  @property
1421
1477
  @pulumi.getter
1422
1478
  def username(self) -> Optional[str]:
@@ -1439,7 +1495,9 @@ class SecretBackendConnectionMysqlLegacy(dict):
1439
1495
  @staticmethod
1440
1496
  def __key_warning(key: str):
1441
1497
  suggest = None
1442
- if key == "connectionUrl":
1498
+ if key == "authType":
1499
+ suggest = "auth_type"
1500
+ elif key == "connectionUrl":
1443
1501
  suggest = "connection_url"
1444
1502
  elif key == "maxConnectionLifetime":
1445
1503
  suggest = "max_connection_lifetime"
@@ -1447,6 +1505,12 @@ class SecretBackendConnectionMysqlLegacy(dict):
1447
1505
  suggest = "max_idle_connections"
1448
1506
  elif key == "maxOpenConnections":
1449
1507
  suggest = "max_open_connections"
1508
+ elif key == "serviceAccountJson":
1509
+ suggest = "service_account_json"
1510
+ elif key == "tlsCa":
1511
+ suggest = "tls_ca"
1512
+ elif key == "tlsCertificateKey":
1513
+ suggest = "tls_certificate_key"
1450
1514
  elif key == "usernameTemplate":
1451
1515
  suggest = "username_template"
1452
1516
 
@@ -1462,14 +1526,19 @@ class SecretBackendConnectionMysqlLegacy(dict):
1462
1526
  return super().get(key, default)
1463
1527
 
1464
1528
  def __init__(__self__, *,
1529
+ auth_type: Optional[str] = None,
1465
1530
  connection_url: Optional[str] = None,
1466
1531
  max_connection_lifetime: Optional[int] = None,
1467
1532
  max_idle_connections: Optional[int] = None,
1468
1533
  max_open_connections: Optional[int] = None,
1469
1534
  password: Optional[str] = None,
1535
+ service_account_json: Optional[str] = None,
1536
+ tls_ca: Optional[str] = None,
1537
+ tls_certificate_key: Optional[str] = None,
1470
1538
  username: Optional[str] = None,
1471
1539
  username_template: Optional[str] = None):
1472
1540
  """
1541
+ :param str auth_type: Enable IAM authentication to a Google Cloud instance when set to `gcp_iam`
1473
1542
  :param str connection_url: A URL containing connection information. See
1474
1543
  the [Vault
1475
1544
  docs](https://www.vaultproject.io/api-docs/secret/databases/mongodb.html#sample-payload)
@@ -1481,9 +1550,14 @@ class SecretBackendConnectionMysqlLegacy(dict):
1481
1550
  :param int max_open_connections: The maximum number of open connections to
1482
1551
  use.
1483
1552
  :param str password: The password to authenticate with.
1553
+ :param str service_account_json: JSON encoding of an IAM access key. Requires `auth_type` to be `gcp_iam`.
1554
+ :param str tls_ca: x509 CA file for validating the certificate presented by the MySQL server. Must be PEM encoded.
1555
+ :param str tls_certificate_key: x509 certificate for connecting to the database. This must be a PEM encoded version of the private key and the certificate combined.
1484
1556
  :param str username: The username to authenticate with.
1485
1557
  :param str username_template: Template describing how dynamic usernames are generated.
1486
1558
  """
1559
+ if auth_type is not None:
1560
+ pulumi.set(__self__, "auth_type", auth_type)
1487
1561
  if connection_url is not None:
1488
1562
  pulumi.set(__self__, "connection_url", connection_url)
1489
1563
  if max_connection_lifetime is not None:
@@ -1494,11 +1568,25 @@ class SecretBackendConnectionMysqlLegacy(dict):
1494
1568
  pulumi.set(__self__, "max_open_connections", max_open_connections)
1495
1569
  if password is not None:
1496
1570
  pulumi.set(__self__, "password", password)
1571
+ if service_account_json is not None:
1572
+ pulumi.set(__self__, "service_account_json", service_account_json)
1573
+ if tls_ca is not None:
1574
+ pulumi.set(__self__, "tls_ca", tls_ca)
1575
+ if tls_certificate_key is not None:
1576
+ pulumi.set(__self__, "tls_certificate_key", tls_certificate_key)
1497
1577
  if username is not None:
1498
1578
  pulumi.set(__self__, "username", username)
1499
1579
  if username_template is not None:
1500
1580
  pulumi.set(__self__, "username_template", username_template)
1501
1581
 
1582
+ @property
1583
+ @pulumi.getter(name="authType")
1584
+ def auth_type(self) -> Optional[str]:
1585
+ """
1586
+ Enable IAM authentication to a Google Cloud instance when set to `gcp_iam`
1587
+ """
1588
+ return pulumi.get(self, "auth_type")
1589
+
1502
1590
  @property
1503
1591
  @pulumi.getter(name="connectionUrl")
1504
1592
  def connection_url(self) -> Optional[str]:
@@ -1545,6 +1633,30 @@ class SecretBackendConnectionMysqlLegacy(dict):
1545
1633
  """
1546
1634
  return pulumi.get(self, "password")
1547
1635
 
1636
+ @property
1637
+ @pulumi.getter(name="serviceAccountJson")
1638
+ def service_account_json(self) -> Optional[str]:
1639
+ """
1640
+ JSON encoding of an IAM access key. Requires `auth_type` to be `gcp_iam`.
1641
+ """
1642
+ return pulumi.get(self, "service_account_json")
1643
+
1644
+ @property
1645
+ @pulumi.getter(name="tlsCa")
1646
+ def tls_ca(self) -> Optional[str]:
1647
+ """
1648
+ x509 CA file for validating the certificate presented by the MySQL server. Must be PEM encoded.
1649
+ """
1650
+ return pulumi.get(self, "tls_ca")
1651
+
1652
+ @property
1653
+ @pulumi.getter(name="tlsCertificateKey")
1654
+ def tls_certificate_key(self) -> Optional[str]:
1655
+ """
1656
+ x509 certificate for connecting to the database. This must be a PEM encoded version of the private key and the certificate combined.
1657
+ """
1658
+ return pulumi.get(self, "tls_certificate_key")
1659
+
1548
1660
  @property
1549
1661
  @pulumi.getter
1550
1662
  def username(self) -> Optional[str]:
@@ -1567,7 +1679,9 @@ class SecretBackendConnectionMysqlRds(dict):
1567
1679
  @staticmethod
1568
1680
  def __key_warning(key: str):
1569
1681
  suggest = None
1570
- if key == "connectionUrl":
1682
+ if key == "authType":
1683
+ suggest = "auth_type"
1684
+ elif key == "connectionUrl":
1571
1685
  suggest = "connection_url"
1572
1686
  elif key == "maxConnectionLifetime":
1573
1687
  suggest = "max_connection_lifetime"
@@ -1575,6 +1689,12 @@ class SecretBackendConnectionMysqlRds(dict):
1575
1689
  suggest = "max_idle_connections"
1576
1690
  elif key == "maxOpenConnections":
1577
1691
  suggest = "max_open_connections"
1692
+ elif key == "serviceAccountJson":
1693
+ suggest = "service_account_json"
1694
+ elif key == "tlsCa":
1695
+ suggest = "tls_ca"
1696
+ elif key == "tlsCertificateKey":
1697
+ suggest = "tls_certificate_key"
1578
1698
  elif key == "usernameTemplate":
1579
1699
  suggest = "username_template"
1580
1700
 
@@ -1590,14 +1710,19 @@ class SecretBackendConnectionMysqlRds(dict):
1590
1710
  return super().get(key, default)
1591
1711
 
1592
1712
  def __init__(__self__, *,
1713
+ auth_type: Optional[str] = None,
1593
1714
  connection_url: Optional[str] = None,
1594
1715
  max_connection_lifetime: Optional[int] = None,
1595
1716
  max_idle_connections: Optional[int] = None,
1596
1717
  max_open_connections: Optional[int] = None,
1597
1718
  password: Optional[str] = None,
1719
+ service_account_json: Optional[str] = None,
1720
+ tls_ca: Optional[str] = None,
1721
+ tls_certificate_key: Optional[str] = None,
1598
1722
  username: Optional[str] = None,
1599
1723
  username_template: Optional[str] = None):
1600
1724
  """
1725
+ :param str auth_type: Enable IAM authentication to a Google Cloud instance when set to `gcp_iam`
1601
1726
  :param str connection_url: A URL containing connection information. See
1602
1727
  the [Vault
1603
1728
  docs](https://www.vaultproject.io/api-docs/secret/databases/mongodb.html#sample-payload)
@@ -1609,9 +1734,14 @@ class SecretBackendConnectionMysqlRds(dict):
1609
1734
  :param int max_open_connections: The maximum number of open connections to
1610
1735
  use.
1611
1736
  :param str password: The password to authenticate with.
1737
+ :param str service_account_json: JSON encoding of an IAM access key. Requires `auth_type` to be `gcp_iam`.
1738
+ :param str tls_ca: x509 CA file for validating the certificate presented by the MySQL server. Must be PEM encoded.
1739
+ :param str tls_certificate_key: x509 certificate for connecting to the database. This must be a PEM encoded version of the private key and the certificate combined.
1612
1740
  :param str username: The username to authenticate with.
1613
1741
  :param str username_template: Template describing how dynamic usernames are generated.
1614
1742
  """
1743
+ if auth_type is not None:
1744
+ pulumi.set(__self__, "auth_type", auth_type)
1615
1745
  if connection_url is not None:
1616
1746
  pulumi.set(__self__, "connection_url", connection_url)
1617
1747
  if max_connection_lifetime is not None:
@@ -1622,11 +1752,25 @@ class SecretBackendConnectionMysqlRds(dict):
1622
1752
  pulumi.set(__self__, "max_open_connections", max_open_connections)
1623
1753
  if password is not None:
1624
1754
  pulumi.set(__self__, "password", password)
1755
+ if service_account_json is not None:
1756
+ pulumi.set(__self__, "service_account_json", service_account_json)
1757
+ if tls_ca is not None:
1758
+ pulumi.set(__self__, "tls_ca", tls_ca)
1759
+ if tls_certificate_key is not None:
1760
+ pulumi.set(__self__, "tls_certificate_key", tls_certificate_key)
1625
1761
  if username is not None:
1626
1762
  pulumi.set(__self__, "username", username)
1627
1763
  if username_template is not None:
1628
1764
  pulumi.set(__self__, "username_template", username_template)
1629
1765
 
1766
+ @property
1767
+ @pulumi.getter(name="authType")
1768
+ def auth_type(self) -> Optional[str]:
1769
+ """
1770
+ Enable IAM authentication to a Google Cloud instance when set to `gcp_iam`
1771
+ """
1772
+ return pulumi.get(self, "auth_type")
1773
+
1630
1774
  @property
1631
1775
  @pulumi.getter(name="connectionUrl")
1632
1776
  def connection_url(self) -> Optional[str]:
@@ -1673,6 +1817,30 @@ class SecretBackendConnectionMysqlRds(dict):
1673
1817
  """
1674
1818
  return pulumi.get(self, "password")
1675
1819
 
1820
+ @property
1821
+ @pulumi.getter(name="serviceAccountJson")
1822
+ def service_account_json(self) -> Optional[str]:
1823
+ """
1824
+ JSON encoding of an IAM access key. Requires `auth_type` to be `gcp_iam`.
1825
+ """
1826
+ return pulumi.get(self, "service_account_json")
1827
+
1828
+ @property
1829
+ @pulumi.getter(name="tlsCa")
1830
+ def tls_ca(self) -> Optional[str]:
1831
+ """
1832
+ x509 CA file for validating the certificate presented by the MySQL server. Must be PEM encoded.
1833
+ """
1834
+ return pulumi.get(self, "tls_ca")
1835
+
1836
+ @property
1837
+ @pulumi.getter(name="tlsCertificateKey")
1838
+ def tls_certificate_key(self) -> Optional[str]:
1839
+ """
1840
+ x509 certificate for connecting to the database. This must be a PEM encoded version of the private key and the certificate combined.
1841
+ """
1842
+ return pulumi.get(self, "tls_certificate_key")
1843
+
1676
1844
  @property
1677
1845
  @pulumi.getter
1678
1846
  def username(self) -> Optional[str]:
@@ -1697,12 +1865,16 @@ class SecretBackendConnectionOracle(dict):
1697
1865
  suggest = None
1698
1866
  if key == "connectionUrl":
1699
1867
  suggest = "connection_url"
1868
+ elif key == "disconnectSessions":
1869
+ suggest = "disconnect_sessions"
1700
1870
  elif key == "maxConnectionLifetime":
1701
1871
  suggest = "max_connection_lifetime"
1702
1872
  elif key == "maxIdleConnections":
1703
1873
  suggest = "max_idle_connections"
1704
1874
  elif key == "maxOpenConnections":
1705
1875
  suggest = "max_open_connections"
1876
+ elif key == "splitStatements":
1877
+ suggest = "split_statements"
1706
1878
  elif key == "usernameTemplate":
1707
1879
  suggest = "username_template"
1708
1880
 
@@ -1719,10 +1891,12 @@ class SecretBackendConnectionOracle(dict):
1719
1891
 
1720
1892
  def __init__(__self__, *,
1721
1893
  connection_url: Optional[str] = None,
1894
+ disconnect_sessions: Optional[bool] = None,
1722
1895
  max_connection_lifetime: Optional[int] = None,
1723
1896
  max_idle_connections: Optional[int] = None,
1724
1897
  max_open_connections: Optional[int] = None,
1725
1898
  password: Optional[str] = None,
1899
+ split_statements: Optional[bool] = None,
1726
1900
  username: Optional[str] = None,
1727
1901
  username_template: Optional[str] = None):
1728
1902
  """
@@ -1730,6 +1904,7 @@ class SecretBackendConnectionOracle(dict):
1730
1904
  the [Vault
1731
1905
  docs](https://www.vaultproject.io/api-docs/secret/databases/mongodb.html#sample-payload)
1732
1906
  for an example.
1907
+ :param bool disconnect_sessions: Enable the built-in session disconnect mechanism.
1733
1908
  :param int max_connection_lifetime: The maximum number of seconds to keep
1734
1909
  a connection alive for.
1735
1910
  :param int max_idle_connections: The maximum number of idle connections to
@@ -1737,11 +1912,14 @@ class SecretBackendConnectionOracle(dict):
1737
1912
  :param int max_open_connections: The maximum number of open connections to
1738
1913
  use.
1739
1914
  :param str password: The password to authenticate with.
1915
+ :param bool split_statements: Enable spliting statements after semi-colons.
1740
1916
  :param str username: The username to authenticate with.
1741
1917
  :param str username_template: Template describing how dynamic usernames are generated.
1742
1918
  """
1743
1919
  if connection_url is not None:
1744
1920
  pulumi.set(__self__, "connection_url", connection_url)
1921
+ if disconnect_sessions is not None:
1922
+ pulumi.set(__self__, "disconnect_sessions", disconnect_sessions)
1745
1923
  if max_connection_lifetime is not None:
1746
1924
  pulumi.set(__self__, "max_connection_lifetime", max_connection_lifetime)
1747
1925
  if max_idle_connections is not None:
@@ -1750,6 +1928,8 @@ class SecretBackendConnectionOracle(dict):
1750
1928
  pulumi.set(__self__, "max_open_connections", max_open_connections)
1751
1929
  if password is not None:
1752
1930
  pulumi.set(__self__, "password", password)
1931
+ if split_statements is not None:
1932
+ pulumi.set(__self__, "split_statements", split_statements)
1753
1933
  if username is not None:
1754
1934
  pulumi.set(__self__, "username", username)
1755
1935
  if username_template is not None:
@@ -1766,6 +1946,14 @@ class SecretBackendConnectionOracle(dict):
1766
1946
  """
1767
1947
  return pulumi.get(self, "connection_url")
1768
1948
 
1949
+ @property
1950
+ @pulumi.getter(name="disconnectSessions")
1951
+ def disconnect_sessions(self) -> Optional[bool]:
1952
+ """
1953
+ Enable the built-in session disconnect mechanism.
1954
+ """
1955
+ return pulumi.get(self, "disconnect_sessions")
1956
+
1769
1957
  @property
1770
1958
  @pulumi.getter(name="maxConnectionLifetime")
1771
1959
  def max_connection_lifetime(self) -> Optional[int]:
@@ -1801,6 +1989,14 @@ class SecretBackendConnectionOracle(dict):
1801
1989
  """
1802
1990
  return pulumi.get(self, "password")
1803
1991
 
1992
+ @property
1993
+ @pulumi.getter(name="splitStatements")
1994
+ def split_statements(self) -> Optional[bool]:
1995
+ """
1996
+ Enable spliting statements after semi-colons.
1997
+ """
1998
+ return pulumi.get(self, "split_statements")
1999
+
1804
2000
  @property
1805
2001
  @pulumi.getter
1806
2002
  def username(self) -> Optional[str]:
@@ -2478,6 +2674,7 @@ class SecretsMountCassandra(dict):
2478
2674
  username: Optional[str] = None,
2479
2675
  verify_connection: Optional[bool] = None):
2480
2676
  """
2677
+ :param str name: Name of the database connection.
2481
2678
  :param Sequence[str] allowed_roles: A list of roles that are allowed to use this
2482
2679
  connection.
2483
2680
  :param int connect_timeout: The number of seconds to use as a connection
@@ -2537,6 +2734,9 @@ class SecretsMountCassandra(dict):
2537
2734
  @property
2538
2735
  @pulumi.getter
2539
2736
  def name(self) -> str:
2737
+ """
2738
+ Name of the database connection.
2739
+ """
2540
2740
  return pulumi.get(self, "name")
2541
2741
 
2542
2742
  @property
@@ -2718,6 +2918,7 @@ class SecretsMountCouchbase(dict):
2718
2918
  verify_connection: Optional[bool] = None):
2719
2919
  """
2720
2920
  :param Sequence[str] hosts: The hosts to connect to.
2921
+ :param str name: Name of the database connection.
2721
2922
  :param str password: The root credential password used in the connection URL.
2722
2923
  :param str username: The root credential username used in the connection URL.
2723
2924
  :param Sequence[str] allowed_roles: A list of roles that are allowed to use this
@@ -2772,6 +2973,9 @@ class SecretsMountCouchbase(dict):
2772
2973
  @property
2773
2974
  @pulumi.getter
2774
2975
  def name(self) -> str:
2976
+ """
2977
+ Name of the database connection.
2978
+ """
2775
2979
  return pulumi.get(self, "name")
2776
2980
 
2777
2981
  @property
@@ -2931,6 +3135,7 @@ class SecretsMountElasticsearch(dict):
2931
3135
  username_template: Optional[str] = None,
2932
3136
  verify_connection: Optional[bool] = None):
2933
3137
  """
3138
+ :param str name: Name of the database connection.
2934
3139
  :param str password: The root credential password used in the connection URL.
2935
3140
  :param str url: The URL for Elasticsearch's API. https requires certificate
2936
3141
  by trusted CA if used.
@@ -2984,6 +3189,9 @@ class SecretsMountElasticsearch(dict):
2984
3189
  @property
2985
3190
  @pulumi.getter
2986
3191
  def name(self) -> str:
3192
+ """
3193
+ Name of the database connection.
3194
+ """
2987
3195
  return pulumi.get(self, "name")
2988
3196
 
2989
3197
  @property
@@ -3162,6 +3370,7 @@ class SecretsMountHana(dict):
3162
3370
  username: Optional[str] = None,
3163
3371
  verify_connection: Optional[bool] = None):
3164
3372
  """
3373
+ :param str name: Name of the database connection.
3165
3374
  :param Sequence[str] allowed_roles: A list of roles that are allowed to use this
3166
3375
  connection.
3167
3376
  :param str connection_url: Specifies the Redshift DSN.
@@ -3211,6 +3420,9 @@ class SecretsMountHana(dict):
3211
3420
  @property
3212
3421
  @pulumi.getter
3213
3422
  def name(self) -> str:
3423
+ """
3424
+ Name of the database connection.
3425
+ """
3214
3426
  return pulumi.get(self, "name")
3215
3427
 
3216
3428
  @property
@@ -3371,6 +3583,7 @@ class SecretsMountInfluxdb(dict):
3371
3583
  verify_connection: Optional[bool] = None):
3372
3584
  """
3373
3585
  :param str host: The host to connect to.
3586
+ :param str name: Name of the database connection.
3374
3587
  :param str password: The root credential password used in the connection URL.
3375
3588
  :param str username: The root credential username used in the connection URL.
3376
3589
  :param Sequence[str] allowed_roles: A list of roles that are allowed to use this
@@ -3434,6 +3647,9 @@ class SecretsMountInfluxdb(dict):
3434
3647
  @property
3435
3648
  @pulumi.getter
3436
3649
  def name(self) -> str:
3650
+ """
3651
+ Name of the database connection.
3652
+ """
3437
3653
  return pulumi.get(self, "name")
3438
3654
 
3439
3655
  @property
@@ -3607,6 +3823,7 @@ class SecretsMountMongodb(dict):
3607
3823
  username_template: Optional[str] = None,
3608
3824
  verify_connection: Optional[bool] = None):
3609
3825
  """
3826
+ :param str name: Name of the database connection.
3610
3827
  :param Sequence[str] allowed_roles: A list of roles that are allowed to use this
3611
3828
  connection.
3612
3829
  :param str connection_url: Specifies the Redshift DSN.
@@ -3656,6 +3873,9 @@ class SecretsMountMongodb(dict):
3656
3873
  @property
3657
3874
  @pulumi.getter
3658
3875
  def name(self) -> str:
3876
+ """
3877
+ Name of the database connection.
3878
+ """
3659
3879
  return pulumi.get(self, "name")
3660
3880
 
3661
3881
  @property
@@ -3804,6 +4024,7 @@ class SecretsMountMongodbatla(dict):
3804
4024
  root_rotation_statements: Optional[Sequence[str]] = None,
3805
4025
  verify_connection: Optional[bool] = None):
3806
4026
  """
4027
+ :param str name: Name of the database connection.
3807
4028
  :param str private_key: The Private Programmatic API Key used to connect with MongoDB Atlas API.
3808
4029
  :param str project_id: The Project ID the Database User should be created within.
3809
4030
  :param str public_key: The Public Programmatic API Key used to authenticate with the MongoDB Atlas API.
@@ -3835,6 +4056,9 @@ class SecretsMountMongodbatla(dict):
3835
4056
  @property
3836
4057
  @pulumi.getter
3837
4058
  def name(self) -> str:
4059
+ """
4060
+ Name of the database connection.
4061
+ """
3838
4062
  return pulumi.get(self, "name")
3839
4063
 
3840
4064
  @property
@@ -3962,6 +4186,7 @@ class SecretsMountMssql(dict):
3962
4186
  username_template: Optional[str] = None,
3963
4187
  verify_connection: Optional[bool] = None):
3964
4188
  """
4189
+ :param str name: Name of the database connection.
3965
4190
  :param Sequence[str] allowed_roles: A list of roles that are allowed to use this
3966
4191
  connection.
3967
4192
  :param str connection_url: Specifies the Redshift DSN.
@@ -4019,6 +4244,9 @@ class SecretsMountMssql(dict):
4019
4244
  @property
4020
4245
  @pulumi.getter
4021
4246
  def name(self) -> str:
4247
+ """
4248
+ Name of the database connection.
4249
+ """
4022
4250
  return pulumi.get(self, "name")
4023
4251
 
4024
4252
  @property
@@ -4205,8 +4433,10 @@ class SecretsMountMysql(dict):
4205
4433
  username_template: Optional[str] = None,
4206
4434
  verify_connection: Optional[bool] = None):
4207
4435
  """
4436
+ :param str name: Name of the database connection.
4208
4437
  :param Sequence[str] allowed_roles: A list of roles that are allowed to use this
4209
4438
  connection.
4439
+ :param str auth_type: Specify alternative authorization type. (Only 'gcp_iam' is valid currently)
4210
4440
  :param str connection_url: Specifies the Redshift DSN.
4211
4441
  See [Vault docs](https://www.vaultproject.io/api-docs/secret/databases/redshift#sample-payload)
4212
4442
  :param Mapping[str, Any] data: A map of sensitive data to pass to the endpoint. Useful for templated connection strings.
@@ -4220,6 +4450,7 @@ class SecretsMountMysql(dict):
4220
4450
  :param str password: The root credential password used in the connection URL.
4221
4451
  :param str plugin_name: Specifies the name of the plugin to use.
4222
4452
  :param Sequence[str] root_rotation_statements: A list of database statements to be executed to rotate the root user's credentials.
4453
+ :param str service_account_json: A JSON encoded credential for use with IAM authorization
4223
4454
  :param str tls_ca: x509 CA file for validating the certificate presented by the MySQL server. Must be PEM encoded.
4224
4455
  :param str tls_certificate_key: x509 certificate for connecting to the database. This must be a PEM encoded version of the private key and the certificate combined.
4225
4456
  :param str username: The root credential username used in the connection URL.
@@ -4264,6 +4495,9 @@ class SecretsMountMysql(dict):
4264
4495
  @property
4265
4496
  @pulumi.getter
4266
4497
  def name(self) -> str:
4498
+ """
4499
+ Name of the database connection.
4500
+ """
4267
4501
  return pulumi.get(self, "name")
4268
4502
 
4269
4503
  @property
@@ -4278,6 +4512,9 @@ class SecretsMountMysql(dict):
4278
4512
  @property
4279
4513
  @pulumi.getter(name="authType")
4280
4514
  def auth_type(self) -> Optional[str]:
4515
+ """
4516
+ Specify alternative authorization type. (Only 'gcp_iam' is valid currently)
4517
+ """
4281
4518
  return pulumi.get(self, "auth_type")
4282
4519
 
4283
4520
  @property
@@ -4352,6 +4589,9 @@ class SecretsMountMysql(dict):
4352
4589
  @property
4353
4590
  @pulumi.getter(name="serviceAccountJson")
4354
4591
  def service_account_json(self) -> Optional[str]:
4592
+ """
4593
+ A JSON encoded credential for use with IAM authorization
4594
+ """
4355
4595
  return pulumi.get(self, "service_account_json")
4356
4596
 
4357
4597
  @property
@@ -4403,6 +4643,8 @@ class SecretsMountMysqlAurora(dict):
4403
4643
  suggest = None
4404
4644
  if key == "allowedRoles":
4405
4645
  suggest = "allowed_roles"
4646
+ elif key == "authType":
4647
+ suggest = "auth_type"
4406
4648
  elif key == "connectionUrl":
4407
4649
  suggest = "connection_url"
4408
4650
  elif key == "maxConnectionLifetime":
@@ -4415,6 +4657,12 @@ class SecretsMountMysqlAurora(dict):
4415
4657
  suggest = "plugin_name"
4416
4658
  elif key == "rootRotationStatements":
4417
4659
  suggest = "root_rotation_statements"
4660
+ elif key == "serviceAccountJson":
4661
+ suggest = "service_account_json"
4662
+ elif key == "tlsCa":
4663
+ suggest = "tls_ca"
4664
+ elif key == "tlsCertificateKey":
4665
+ suggest = "tls_certificate_key"
4418
4666
  elif key == "usernameTemplate":
4419
4667
  suggest = "username_template"
4420
4668
  elif key == "verifyConnection":
@@ -4434,6 +4682,7 @@ class SecretsMountMysqlAurora(dict):
4434
4682
  def __init__(__self__, *,
4435
4683
  name: str,
4436
4684
  allowed_roles: Optional[Sequence[str]] = None,
4685
+ auth_type: Optional[str] = None,
4437
4686
  connection_url: Optional[str] = None,
4438
4687
  data: Optional[Mapping[str, Any]] = None,
4439
4688
  max_connection_lifetime: Optional[int] = None,
@@ -4442,12 +4691,17 @@ class SecretsMountMysqlAurora(dict):
4442
4691
  password: Optional[str] = None,
4443
4692
  plugin_name: Optional[str] = None,
4444
4693
  root_rotation_statements: Optional[Sequence[str]] = None,
4694
+ service_account_json: Optional[str] = None,
4695
+ tls_ca: Optional[str] = None,
4696
+ tls_certificate_key: Optional[str] = None,
4445
4697
  username: Optional[str] = None,
4446
4698
  username_template: Optional[str] = None,
4447
4699
  verify_connection: Optional[bool] = None):
4448
4700
  """
4701
+ :param str name: Name of the database connection.
4449
4702
  :param Sequence[str] allowed_roles: A list of roles that are allowed to use this
4450
4703
  connection.
4704
+ :param str auth_type: Specify alternative authorization type. (Only 'gcp_iam' is valid currently)
4451
4705
  :param str connection_url: Specifies the Redshift DSN.
4452
4706
  See [Vault docs](https://www.vaultproject.io/api-docs/secret/databases/redshift#sample-payload)
4453
4707
  :param Mapping[str, Any] data: A map of sensitive data to pass to the endpoint. Useful for templated connection strings.
@@ -4461,6 +4715,9 @@ class SecretsMountMysqlAurora(dict):
4461
4715
  :param str password: The root credential password used in the connection URL.
4462
4716
  :param str plugin_name: Specifies the name of the plugin to use.
4463
4717
  :param Sequence[str] root_rotation_statements: A list of database statements to be executed to rotate the root user's credentials.
4718
+ :param str service_account_json: A JSON encoded credential for use with IAM authorization
4719
+ :param str tls_ca: x509 CA file for validating the certificate presented by the MySQL server. Must be PEM encoded.
4720
+ :param str tls_certificate_key: x509 certificate for connecting to the database. This must be a PEM encoded version of the private key and the certificate combined.
4464
4721
  :param str username: The root credential username used in the connection URL.
4465
4722
  :param str username_template: [Template](https://www.vaultproject.io/docs/concepts/username-templating) describing how dynamic usernames are generated.
4466
4723
  :param bool verify_connection: Whether the connection should be verified on
@@ -4469,6 +4726,8 @@ class SecretsMountMysqlAurora(dict):
4469
4726
  pulumi.set(__self__, "name", name)
4470
4727
  if allowed_roles is not None:
4471
4728
  pulumi.set(__self__, "allowed_roles", allowed_roles)
4729
+ if auth_type is not None:
4730
+ pulumi.set(__self__, "auth_type", auth_type)
4472
4731
  if connection_url is not None:
4473
4732
  pulumi.set(__self__, "connection_url", connection_url)
4474
4733
  if data is not None:
@@ -4485,6 +4744,12 @@ class SecretsMountMysqlAurora(dict):
4485
4744
  pulumi.set(__self__, "plugin_name", plugin_name)
4486
4745
  if root_rotation_statements is not None:
4487
4746
  pulumi.set(__self__, "root_rotation_statements", root_rotation_statements)
4747
+ if service_account_json is not None:
4748
+ pulumi.set(__self__, "service_account_json", service_account_json)
4749
+ if tls_ca is not None:
4750
+ pulumi.set(__self__, "tls_ca", tls_ca)
4751
+ if tls_certificate_key is not None:
4752
+ pulumi.set(__self__, "tls_certificate_key", tls_certificate_key)
4488
4753
  if username is not None:
4489
4754
  pulumi.set(__self__, "username", username)
4490
4755
  if username_template is not None:
@@ -4495,6 +4760,9 @@ class SecretsMountMysqlAurora(dict):
4495
4760
  @property
4496
4761
  @pulumi.getter
4497
4762
  def name(self) -> str:
4763
+ """
4764
+ Name of the database connection.
4765
+ """
4498
4766
  return pulumi.get(self, "name")
4499
4767
 
4500
4768
  @property
@@ -4506,6 +4774,14 @@ class SecretsMountMysqlAurora(dict):
4506
4774
  """
4507
4775
  return pulumi.get(self, "allowed_roles")
4508
4776
 
4777
+ @property
4778
+ @pulumi.getter(name="authType")
4779
+ def auth_type(self) -> Optional[str]:
4780
+ """
4781
+ Specify alternative authorization type. (Only 'gcp_iam' is valid currently)
4782
+ """
4783
+ return pulumi.get(self, "auth_type")
4784
+
4509
4785
  @property
4510
4786
  @pulumi.getter(name="connectionUrl")
4511
4787
  def connection_url(self) -> Optional[str]:
@@ -4575,6 +4851,30 @@ class SecretsMountMysqlAurora(dict):
4575
4851
  """
4576
4852
  return pulumi.get(self, "root_rotation_statements")
4577
4853
 
4854
+ @property
4855
+ @pulumi.getter(name="serviceAccountJson")
4856
+ def service_account_json(self) -> Optional[str]:
4857
+ """
4858
+ A JSON encoded credential for use with IAM authorization
4859
+ """
4860
+ return pulumi.get(self, "service_account_json")
4861
+
4862
+ @property
4863
+ @pulumi.getter(name="tlsCa")
4864
+ def tls_ca(self) -> Optional[str]:
4865
+ """
4866
+ x509 CA file for validating the certificate presented by the MySQL server. Must be PEM encoded.
4867
+ """
4868
+ return pulumi.get(self, "tls_ca")
4869
+
4870
+ @property
4871
+ @pulumi.getter(name="tlsCertificateKey")
4872
+ def tls_certificate_key(self) -> Optional[str]:
4873
+ """
4874
+ x509 certificate for connecting to the database. This must be a PEM encoded version of the private key and the certificate combined.
4875
+ """
4876
+ return pulumi.get(self, "tls_certificate_key")
4877
+
4578
4878
  @property
4579
4879
  @pulumi.getter
4580
4880
  def username(self) -> Optional[str]:
@@ -4608,6 +4908,8 @@ class SecretsMountMysqlLegacy(dict):
4608
4908
  suggest = None
4609
4909
  if key == "allowedRoles":
4610
4910
  suggest = "allowed_roles"
4911
+ elif key == "authType":
4912
+ suggest = "auth_type"
4611
4913
  elif key == "connectionUrl":
4612
4914
  suggest = "connection_url"
4613
4915
  elif key == "maxConnectionLifetime":
@@ -4620,6 +4922,12 @@ class SecretsMountMysqlLegacy(dict):
4620
4922
  suggest = "plugin_name"
4621
4923
  elif key == "rootRotationStatements":
4622
4924
  suggest = "root_rotation_statements"
4925
+ elif key == "serviceAccountJson":
4926
+ suggest = "service_account_json"
4927
+ elif key == "tlsCa":
4928
+ suggest = "tls_ca"
4929
+ elif key == "tlsCertificateKey":
4930
+ suggest = "tls_certificate_key"
4623
4931
  elif key == "usernameTemplate":
4624
4932
  suggest = "username_template"
4625
4933
  elif key == "verifyConnection":
@@ -4639,6 +4947,7 @@ class SecretsMountMysqlLegacy(dict):
4639
4947
  def __init__(__self__, *,
4640
4948
  name: str,
4641
4949
  allowed_roles: Optional[Sequence[str]] = None,
4950
+ auth_type: Optional[str] = None,
4642
4951
  connection_url: Optional[str] = None,
4643
4952
  data: Optional[Mapping[str, Any]] = None,
4644
4953
  max_connection_lifetime: Optional[int] = None,
@@ -4647,12 +4956,17 @@ class SecretsMountMysqlLegacy(dict):
4647
4956
  password: Optional[str] = None,
4648
4957
  plugin_name: Optional[str] = None,
4649
4958
  root_rotation_statements: Optional[Sequence[str]] = None,
4959
+ service_account_json: Optional[str] = None,
4960
+ tls_ca: Optional[str] = None,
4961
+ tls_certificate_key: Optional[str] = None,
4650
4962
  username: Optional[str] = None,
4651
4963
  username_template: Optional[str] = None,
4652
4964
  verify_connection: Optional[bool] = None):
4653
4965
  """
4966
+ :param str name: Name of the database connection.
4654
4967
  :param Sequence[str] allowed_roles: A list of roles that are allowed to use this
4655
4968
  connection.
4969
+ :param str auth_type: Specify alternative authorization type. (Only 'gcp_iam' is valid currently)
4656
4970
  :param str connection_url: Specifies the Redshift DSN.
4657
4971
  See [Vault docs](https://www.vaultproject.io/api-docs/secret/databases/redshift#sample-payload)
4658
4972
  :param Mapping[str, Any] data: A map of sensitive data to pass to the endpoint. Useful for templated connection strings.
@@ -4666,6 +4980,9 @@ class SecretsMountMysqlLegacy(dict):
4666
4980
  :param str password: The root credential password used in the connection URL.
4667
4981
  :param str plugin_name: Specifies the name of the plugin to use.
4668
4982
  :param Sequence[str] root_rotation_statements: A list of database statements to be executed to rotate the root user's credentials.
4983
+ :param str service_account_json: A JSON encoded credential for use with IAM authorization
4984
+ :param str tls_ca: x509 CA file for validating the certificate presented by the MySQL server. Must be PEM encoded.
4985
+ :param str tls_certificate_key: x509 certificate for connecting to the database. This must be a PEM encoded version of the private key and the certificate combined.
4669
4986
  :param str username: The root credential username used in the connection URL.
4670
4987
  :param str username_template: [Template](https://www.vaultproject.io/docs/concepts/username-templating) describing how dynamic usernames are generated.
4671
4988
  :param bool verify_connection: Whether the connection should be verified on
@@ -4674,6 +4991,8 @@ class SecretsMountMysqlLegacy(dict):
4674
4991
  pulumi.set(__self__, "name", name)
4675
4992
  if allowed_roles is not None:
4676
4993
  pulumi.set(__self__, "allowed_roles", allowed_roles)
4994
+ if auth_type is not None:
4995
+ pulumi.set(__self__, "auth_type", auth_type)
4677
4996
  if connection_url is not None:
4678
4997
  pulumi.set(__self__, "connection_url", connection_url)
4679
4998
  if data is not None:
@@ -4690,6 +5009,12 @@ class SecretsMountMysqlLegacy(dict):
4690
5009
  pulumi.set(__self__, "plugin_name", plugin_name)
4691
5010
  if root_rotation_statements is not None:
4692
5011
  pulumi.set(__self__, "root_rotation_statements", root_rotation_statements)
5012
+ if service_account_json is not None:
5013
+ pulumi.set(__self__, "service_account_json", service_account_json)
5014
+ if tls_ca is not None:
5015
+ pulumi.set(__self__, "tls_ca", tls_ca)
5016
+ if tls_certificate_key is not None:
5017
+ pulumi.set(__self__, "tls_certificate_key", tls_certificate_key)
4693
5018
  if username is not None:
4694
5019
  pulumi.set(__self__, "username", username)
4695
5020
  if username_template is not None:
@@ -4700,6 +5025,9 @@ class SecretsMountMysqlLegacy(dict):
4700
5025
  @property
4701
5026
  @pulumi.getter
4702
5027
  def name(self) -> str:
5028
+ """
5029
+ Name of the database connection.
5030
+ """
4703
5031
  return pulumi.get(self, "name")
4704
5032
 
4705
5033
  @property
@@ -4711,6 +5039,14 @@ class SecretsMountMysqlLegacy(dict):
4711
5039
  """
4712
5040
  return pulumi.get(self, "allowed_roles")
4713
5041
 
5042
+ @property
5043
+ @pulumi.getter(name="authType")
5044
+ def auth_type(self) -> Optional[str]:
5045
+ """
5046
+ Specify alternative authorization type. (Only 'gcp_iam' is valid currently)
5047
+ """
5048
+ return pulumi.get(self, "auth_type")
5049
+
4714
5050
  @property
4715
5051
  @pulumi.getter(name="connectionUrl")
4716
5052
  def connection_url(self) -> Optional[str]:
@@ -4780,6 +5116,30 @@ class SecretsMountMysqlLegacy(dict):
4780
5116
  """
4781
5117
  return pulumi.get(self, "root_rotation_statements")
4782
5118
 
5119
+ @property
5120
+ @pulumi.getter(name="serviceAccountJson")
5121
+ def service_account_json(self) -> Optional[str]:
5122
+ """
5123
+ A JSON encoded credential for use with IAM authorization
5124
+ """
5125
+ return pulumi.get(self, "service_account_json")
5126
+
5127
+ @property
5128
+ @pulumi.getter(name="tlsCa")
5129
+ def tls_ca(self) -> Optional[str]:
5130
+ """
5131
+ x509 CA file for validating the certificate presented by the MySQL server. Must be PEM encoded.
5132
+ """
5133
+ return pulumi.get(self, "tls_ca")
5134
+
5135
+ @property
5136
+ @pulumi.getter(name="tlsCertificateKey")
5137
+ def tls_certificate_key(self) -> Optional[str]:
5138
+ """
5139
+ x509 certificate for connecting to the database. This must be a PEM encoded version of the private key and the certificate combined.
5140
+ """
5141
+ return pulumi.get(self, "tls_certificate_key")
5142
+
4783
5143
  @property
4784
5144
  @pulumi.getter
4785
5145
  def username(self) -> Optional[str]:
@@ -4813,6 +5173,8 @@ class SecretsMountMysqlRd(dict):
4813
5173
  suggest = None
4814
5174
  if key == "allowedRoles":
4815
5175
  suggest = "allowed_roles"
5176
+ elif key == "authType":
5177
+ suggest = "auth_type"
4816
5178
  elif key == "connectionUrl":
4817
5179
  suggest = "connection_url"
4818
5180
  elif key == "maxConnectionLifetime":
@@ -4825,6 +5187,12 @@ class SecretsMountMysqlRd(dict):
4825
5187
  suggest = "plugin_name"
4826
5188
  elif key == "rootRotationStatements":
4827
5189
  suggest = "root_rotation_statements"
5190
+ elif key == "serviceAccountJson":
5191
+ suggest = "service_account_json"
5192
+ elif key == "tlsCa":
5193
+ suggest = "tls_ca"
5194
+ elif key == "tlsCertificateKey":
5195
+ suggest = "tls_certificate_key"
4828
5196
  elif key == "usernameTemplate":
4829
5197
  suggest = "username_template"
4830
5198
  elif key == "verifyConnection":
@@ -4844,6 +5212,7 @@ class SecretsMountMysqlRd(dict):
4844
5212
  def __init__(__self__, *,
4845
5213
  name: str,
4846
5214
  allowed_roles: Optional[Sequence[str]] = None,
5215
+ auth_type: Optional[str] = None,
4847
5216
  connection_url: Optional[str] = None,
4848
5217
  data: Optional[Mapping[str, Any]] = None,
4849
5218
  max_connection_lifetime: Optional[int] = None,
@@ -4852,12 +5221,17 @@ class SecretsMountMysqlRd(dict):
4852
5221
  password: Optional[str] = None,
4853
5222
  plugin_name: Optional[str] = None,
4854
5223
  root_rotation_statements: Optional[Sequence[str]] = None,
5224
+ service_account_json: Optional[str] = None,
5225
+ tls_ca: Optional[str] = None,
5226
+ tls_certificate_key: Optional[str] = None,
4855
5227
  username: Optional[str] = None,
4856
5228
  username_template: Optional[str] = None,
4857
5229
  verify_connection: Optional[bool] = None):
4858
5230
  """
5231
+ :param str name: Name of the database connection.
4859
5232
  :param Sequence[str] allowed_roles: A list of roles that are allowed to use this
4860
5233
  connection.
5234
+ :param str auth_type: Specify alternative authorization type. (Only 'gcp_iam' is valid currently)
4861
5235
  :param str connection_url: Specifies the Redshift DSN.
4862
5236
  See [Vault docs](https://www.vaultproject.io/api-docs/secret/databases/redshift#sample-payload)
4863
5237
  :param Mapping[str, Any] data: A map of sensitive data to pass to the endpoint. Useful for templated connection strings.
@@ -4871,6 +5245,9 @@ class SecretsMountMysqlRd(dict):
4871
5245
  :param str password: The root credential password used in the connection URL.
4872
5246
  :param str plugin_name: Specifies the name of the plugin to use.
4873
5247
  :param Sequence[str] root_rotation_statements: A list of database statements to be executed to rotate the root user's credentials.
5248
+ :param str service_account_json: A JSON encoded credential for use with IAM authorization
5249
+ :param str tls_ca: x509 CA file for validating the certificate presented by the MySQL server. Must be PEM encoded.
5250
+ :param str tls_certificate_key: x509 certificate for connecting to the database. This must be a PEM encoded version of the private key and the certificate combined.
4874
5251
  :param str username: The root credential username used in the connection URL.
4875
5252
  :param str username_template: [Template](https://www.vaultproject.io/docs/concepts/username-templating) describing how dynamic usernames are generated.
4876
5253
  :param bool verify_connection: Whether the connection should be verified on
@@ -4879,6 +5256,8 @@ class SecretsMountMysqlRd(dict):
4879
5256
  pulumi.set(__self__, "name", name)
4880
5257
  if allowed_roles is not None:
4881
5258
  pulumi.set(__self__, "allowed_roles", allowed_roles)
5259
+ if auth_type is not None:
5260
+ pulumi.set(__self__, "auth_type", auth_type)
4882
5261
  if connection_url is not None:
4883
5262
  pulumi.set(__self__, "connection_url", connection_url)
4884
5263
  if data is not None:
@@ -4895,6 +5274,12 @@ class SecretsMountMysqlRd(dict):
4895
5274
  pulumi.set(__self__, "plugin_name", plugin_name)
4896
5275
  if root_rotation_statements is not None:
4897
5276
  pulumi.set(__self__, "root_rotation_statements", root_rotation_statements)
5277
+ if service_account_json is not None:
5278
+ pulumi.set(__self__, "service_account_json", service_account_json)
5279
+ if tls_ca is not None:
5280
+ pulumi.set(__self__, "tls_ca", tls_ca)
5281
+ if tls_certificate_key is not None:
5282
+ pulumi.set(__self__, "tls_certificate_key", tls_certificate_key)
4898
5283
  if username is not None:
4899
5284
  pulumi.set(__self__, "username", username)
4900
5285
  if username_template is not None:
@@ -4905,6 +5290,9 @@ class SecretsMountMysqlRd(dict):
4905
5290
  @property
4906
5291
  @pulumi.getter
4907
5292
  def name(self) -> str:
5293
+ """
5294
+ Name of the database connection.
5295
+ """
4908
5296
  return pulumi.get(self, "name")
4909
5297
 
4910
5298
  @property
@@ -4916,6 +5304,14 @@ class SecretsMountMysqlRd(dict):
4916
5304
  """
4917
5305
  return pulumi.get(self, "allowed_roles")
4918
5306
 
5307
+ @property
5308
+ @pulumi.getter(name="authType")
5309
+ def auth_type(self) -> Optional[str]:
5310
+ """
5311
+ Specify alternative authorization type. (Only 'gcp_iam' is valid currently)
5312
+ """
5313
+ return pulumi.get(self, "auth_type")
5314
+
4919
5315
  @property
4920
5316
  @pulumi.getter(name="connectionUrl")
4921
5317
  def connection_url(self) -> Optional[str]:
@@ -4985,6 +5381,30 @@ class SecretsMountMysqlRd(dict):
4985
5381
  """
4986
5382
  return pulumi.get(self, "root_rotation_statements")
4987
5383
 
5384
+ @property
5385
+ @pulumi.getter(name="serviceAccountJson")
5386
+ def service_account_json(self) -> Optional[str]:
5387
+ """
5388
+ A JSON encoded credential for use with IAM authorization
5389
+ """
5390
+ return pulumi.get(self, "service_account_json")
5391
+
5392
+ @property
5393
+ @pulumi.getter(name="tlsCa")
5394
+ def tls_ca(self) -> Optional[str]:
5395
+ """
5396
+ x509 CA file for validating the certificate presented by the MySQL server. Must be PEM encoded.
5397
+ """
5398
+ return pulumi.get(self, "tls_ca")
5399
+
5400
+ @property
5401
+ @pulumi.getter(name="tlsCertificateKey")
5402
+ def tls_certificate_key(self) -> Optional[str]:
5403
+ """
5404
+ x509 certificate for connecting to the database. This must be a PEM encoded version of the private key and the certificate combined.
5405
+ """
5406
+ return pulumi.get(self, "tls_certificate_key")
5407
+
4988
5408
  @property
4989
5409
  @pulumi.getter
4990
5410
  def username(self) -> Optional[str]:
@@ -5020,6 +5440,8 @@ class SecretsMountOracle(dict):
5020
5440
  suggest = "allowed_roles"
5021
5441
  elif key == "connectionUrl":
5022
5442
  suggest = "connection_url"
5443
+ elif key == "disconnectSessions":
5444
+ suggest = "disconnect_sessions"
5023
5445
  elif key == "maxConnectionLifetime":
5024
5446
  suggest = "max_connection_lifetime"
5025
5447
  elif key == "maxIdleConnections":
@@ -5030,6 +5452,8 @@ class SecretsMountOracle(dict):
5030
5452
  suggest = "plugin_name"
5031
5453
  elif key == "rootRotationStatements":
5032
5454
  suggest = "root_rotation_statements"
5455
+ elif key == "splitStatements":
5456
+ suggest = "split_statements"
5033
5457
  elif key == "usernameTemplate":
5034
5458
  suggest = "username_template"
5035
5459
  elif key == "verifyConnection":
@@ -5051,16 +5475,19 @@ class SecretsMountOracle(dict):
5051
5475
  allowed_roles: Optional[Sequence[str]] = None,
5052
5476
  connection_url: Optional[str] = None,
5053
5477
  data: Optional[Mapping[str, Any]] = None,
5478
+ disconnect_sessions: Optional[bool] = None,
5054
5479
  max_connection_lifetime: Optional[int] = None,
5055
5480
  max_idle_connections: Optional[int] = None,
5056
5481
  max_open_connections: Optional[int] = None,
5057
5482
  password: Optional[str] = None,
5058
5483
  plugin_name: Optional[str] = None,
5059
5484
  root_rotation_statements: Optional[Sequence[str]] = None,
5485
+ split_statements: Optional[bool] = None,
5060
5486
  username: Optional[str] = None,
5061
5487
  username_template: Optional[str] = None,
5062
5488
  verify_connection: Optional[bool] = None):
5063
5489
  """
5490
+ :param str name: Name of the database connection.
5064
5491
  :param Sequence[str] allowed_roles: A list of roles that are allowed to use this
5065
5492
  connection.
5066
5493
  :param str connection_url: Specifies the Redshift DSN.
@@ -5068,6 +5495,7 @@ class SecretsMountOracle(dict):
5068
5495
  :param Mapping[str, Any] data: A map of sensitive data to pass to the endpoint. Useful for templated connection strings.
5069
5496
 
5070
5497
  Supported list of database secrets engines that can be configured:
5498
+ :param bool disconnect_sessions: Set to true to disconnect any open sessions prior to running the revocation statements.
5071
5499
  :param int max_connection_lifetime: The maximum amount of time a connection may be reused.
5072
5500
  :param int max_idle_connections: The maximum number of idle connections to
5073
5501
  the database.
@@ -5076,6 +5504,7 @@ class SecretsMountOracle(dict):
5076
5504
  :param str password: The root credential password used in the connection URL.
5077
5505
  :param str plugin_name: Specifies the name of the plugin to use.
5078
5506
  :param Sequence[str] root_rotation_statements: A list of database statements to be executed to rotate the root user's credentials.
5507
+ :param bool split_statements: Set to true in order to split statements after semi-colons.
5079
5508
  :param str username: The root credential username used in the connection URL.
5080
5509
  :param str username_template: [Template](https://www.vaultproject.io/docs/concepts/username-templating) describing how dynamic usernames are generated.
5081
5510
  :param bool verify_connection: Whether the connection should be verified on
@@ -5088,6 +5517,8 @@ class SecretsMountOracle(dict):
5088
5517
  pulumi.set(__self__, "connection_url", connection_url)
5089
5518
  if data is not None:
5090
5519
  pulumi.set(__self__, "data", data)
5520
+ if disconnect_sessions is not None:
5521
+ pulumi.set(__self__, "disconnect_sessions", disconnect_sessions)
5091
5522
  if max_connection_lifetime is not None:
5092
5523
  pulumi.set(__self__, "max_connection_lifetime", max_connection_lifetime)
5093
5524
  if max_idle_connections is not None:
@@ -5100,6 +5531,8 @@ class SecretsMountOracle(dict):
5100
5531
  pulumi.set(__self__, "plugin_name", plugin_name)
5101
5532
  if root_rotation_statements is not None:
5102
5533
  pulumi.set(__self__, "root_rotation_statements", root_rotation_statements)
5534
+ if split_statements is not None:
5535
+ pulumi.set(__self__, "split_statements", split_statements)
5103
5536
  if username is not None:
5104
5537
  pulumi.set(__self__, "username", username)
5105
5538
  if username_template is not None:
@@ -5110,6 +5543,9 @@ class SecretsMountOracle(dict):
5110
5543
  @property
5111
5544
  @pulumi.getter
5112
5545
  def name(self) -> str:
5546
+ """
5547
+ Name of the database connection.
5548
+ """
5113
5549
  return pulumi.get(self, "name")
5114
5550
 
5115
5551
  @property
@@ -5140,6 +5576,14 @@ class SecretsMountOracle(dict):
5140
5576
  """
5141
5577
  return pulumi.get(self, "data")
5142
5578
 
5579
+ @property
5580
+ @pulumi.getter(name="disconnectSessions")
5581
+ def disconnect_sessions(self) -> Optional[bool]:
5582
+ """
5583
+ Set to true to disconnect any open sessions prior to running the revocation statements.
5584
+ """
5585
+ return pulumi.get(self, "disconnect_sessions")
5586
+
5143
5587
  @property
5144
5588
  @pulumi.getter(name="maxConnectionLifetime")
5145
5589
  def max_connection_lifetime(self) -> Optional[int]:
@@ -5190,6 +5634,14 @@ class SecretsMountOracle(dict):
5190
5634
  """
5191
5635
  return pulumi.get(self, "root_rotation_statements")
5192
5636
 
5637
+ @property
5638
+ @pulumi.getter(name="splitStatements")
5639
+ def split_statements(self) -> Optional[bool]:
5640
+ """
5641
+ Set to true in order to split statements after semi-colons.
5642
+ """
5643
+ return pulumi.get(self, "split_statements")
5644
+
5193
5645
  @property
5194
5646
  @pulumi.getter
5195
5647
  def username(self) -> Optional[str]:
@@ -5275,8 +5727,10 @@ class SecretsMountPostgresql(dict):
5275
5727
  username_template: Optional[str] = None,
5276
5728
  verify_connection: Optional[bool] = None):
5277
5729
  """
5730
+ :param str name: Name of the database connection.
5278
5731
  :param Sequence[str] allowed_roles: A list of roles that are allowed to use this
5279
5732
  connection.
5733
+ :param str auth_type: Specify alternative authorization type. (Only 'gcp_iam' is valid currently)
5280
5734
  :param str connection_url: Specifies the Redshift DSN.
5281
5735
  See [Vault docs](https://www.vaultproject.io/api-docs/secret/databases/redshift#sample-payload)
5282
5736
  :param Mapping[str, Any] data: A map of sensitive data to pass to the endpoint. Useful for templated connection strings.
@@ -5291,6 +5745,7 @@ class SecretsMountPostgresql(dict):
5291
5745
  :param str password: The root credential password used in the connection URL.
5292
5746
  :param str plugin_name: Specifies the name of the plugin to use.
5293
5747
  :param Sequence[str] root_rotation_statements: A list of database statements to be executed to rotate the root user's credentials.
5748
+ :param str service_account_json: A JSON encoded credential for use with IAM authorization
5294
5749
  :param str username: The root credential username used in the connection URL.
5295
5750
  :param str username_template: [Template](https://www.vaultproject.io/docs/concepts/username-templating) describing how dynamic usernames are generated.
5296
5751
  :param bool verify_connection: Whether the connection should be verified on
@@ -5331,6 +5786,9 @@ class SecretsMountPostgresql(dict):
5331
5786
  @property
5332
5787
  @pulumi.getter
5333
5788
  def name(self) -> str:
5789
+ """
5790
+ Name of the database connection.
5791
+ """
5334
5792
  return pulumi.get(self, "name")
5335
5793
 
5336
5794
  @property
@@ -5345,6 +5803,9 @@ class SecretsMountPostgresql(dict):
5345
5803
  @property
5346
5804
  @pulumi.getter(name="authType")
5347
5805
  def auth_type(self) -> Optional[str]:
5806
+ """
5807
+ Specify alternative authorization type. (Only 'gcp_iam' is valid currently)
5808
+ """
5348
5809
  return pulumi.get(self, "auth_type")
5349
5810
 
5350
5811
  @property
@@ -5427,6 +5888,9 @@ class SecretsMountPostgresql(dict):
5427
5888
  @property
5428
5889
  @pulumi.getter(name="serviceAccountJson")
5429
5890
  def service_account_json(self) -> Optional[str]:
5891
+ """
5892
+ A JSON encoded credential for use with IAM authorization
5893
+ """
5430
5894
  return pulumi.get(self, "service_account_json")
5431
5895
 
5432
5896
  @property
@@ -5500,6 +5964,7 @@ class SecretsMountRedi(dict):
5500
5964
  verify_connection: Optional[bool] = None):
5501
5965
  """
5502
5966
  :param str host: The host to connect to.
5967
+ :param str name: Name of the database connection.
5503
5968
  :param str password: The root credential password used in the connection URL.
5504
5969
  :param str username: The root credential username used in the connection URL.
5505
5970
  :param Sequence[str] allowed_roles: A list of roles that are allowed to use this
@@ -5552,6 +6017,9 @@ class SecretsMountRedi(dict):
5552
6017
  @property
5553
6018
  @pulumi.getter
5554
6019
  def name(self) -> str:
6020
+ """
6021
+ Name of the database connection.
6022
+ """
5555
6023
  return pulumi.get(self, "name")
5556
6024
 
5557
6025
  @property
@@ -5686,6 +6154,7 @@ class SecretsMountRedisElasticach(dict):
5686
6154
  username: Optional[str] = None,
5687
6155
  verify_connection: Optional[bool] = None):
5688
6156
  """
6157
+ :param str name: Name of the database connection.
5689
6158
  :param str url: The URL for Elasticsearch's API. https requires certificate
5690
6159
  by trusted CA if used.
5691
6160
  :param Sequence[str] allowed_roles: A list of roles that are allowed to use this
@@ -5724,6 +6193,9 @@ class SecretsMountRedisElasticach(dict):
5724
6193
  @property
5725
6194
  @pulumi.getter
5726
6195
  def name(self) -> str:
6196
+ """
6197
+ Name of the database connection.
6198
+ """
5727
6199
  return pulumi.get(self, "name")
5728
6200
 
5729
6201
  @property
@@ -5858,6 +6330,7 @@ class SecretsMountRedshift(dict):
5858
6330
  username_template: Optional[str] = None,
5859
6331
  verify_connection: Optional[bool] = None):
5860
6332
  """
6333
+ :param str name: Name of the database connection.
5861
6334
  :param Sequence[str] allowed_roles: A list of roles that are allowed to use this
5862
6335
  connection.
5863
6336
  :param str connection_url: Specifies the Redshift DSN.
@@ -5910,6 +6383,9 @@ class SecretsMountRedshift(dict):
5910
6383
  @property
5911
6384
  @pulumi.getter
5912
6385
  def name(self) -> str:
6386
+ """
6387
+ Name of the database connection.
6388
+ """
5913
6389
  return pulumi.get(self, "name")
5914
6390
 
5915
6391
  @property
@@ -6074,6 +6550,7 @@ class SecretsMountSnowflake(dict):
6074
6550
  username_template: Optional[str] = None,
6075
6551
  verify_connection: Optional[bool] = None):
6076
6552
  """
6553
+ :param str name: Name of the database connection.
6077
6554
  :param Sequence[str] allowed_roles: A list of roles that are allowed to use this
6078
6555
  connection.
6079
6556
  :param str connection_url: Specifies the Redshift DSN.
@@ -6123,6 +6600,9 @@ class SecretsMountSnowflake(dict):
6123
6600
  @property
6124
6601
  @pulumi.getter
6125
6602
  def name(self) -> str:
6603
+ """
6604
+ Name of the database connection.
6605
+ """
6126
6606
  return pulumi.get(self, "name")
6127
6607
 
6128
6608
  @property