strongdm 3.6.1__zip → 3.7.0__zip
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.
- {strongdm-3.6.1 → strongdm-3.7.0}/PKG-INFO +2 -2
- {strongdm-3.6.1 → strongdm-3.7.0}/setup.py +2 -2
- strongdm-3.7.0/strongdm/account_attachments_history_pb2.py +96 -0
- strongdm-3.7.0/strongdm/account_attachments_history_pb2_grpc.py +84 -0
- strongdm-3.7.0/strongdm/account_grants_history_pb2.py +96 -0
- strongdm-3.7.0/strongdm/account_grants_history_pb2_grpc.py +84 -0
- strongdm-3.7.0/strongdm/account_permissions_pb2.py +97 -0
- strongdm-3.7.0/strongdm/account_permissions_pb2_grpc.py +87 -0
- strongdm-3.7.0/strongdm/account_resources_pb2.py +99 -0
- strongdm-3.7.0/strongdm/account_resources_pb2_grpc.py +87 -0
- strongdm-3.7.0/strongdm/accounts_history_pb2.py +96 -0
- strongdm-3.7.0/strongdm/accounts_history_pb2_grpc.py +84 -0
- strongdm-3.7.0/strongdm/activities_pb2.py +177 -0
- strongdm-3.7.0/strongdm/activities_pb2_grpc.py +124 -0
- strongdm-3.7.0/strongdm/client.py +432 -0
- strongdm-3.7.0/strongdm/constants.py +377 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/drivers_pb2.py +6 -6
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/models.py +1872 -132
- strongdm-3.7.0/strongdm/nodes_history_pb2.py +96 -0
- strongdm-3.7.0/strongdm/nodes_history_pb2_grpc.py +84 -0
- strongdm-3.7.0/strongdm/organization_history_pb2.py +154 -0
- strongdm-3.7.0/strongdm/organization_history_pb2_grpc.py +84 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/plumbing.py +935 -0
- strongdm-3.7.0/strongdm/queries_pb2.py +133 -0
- strongdm-3.7.0/strongdm/queries_pb2_grpc.py +90 -0
- strongdm-3.7.0/strongdm/remote_identities_history_pb2.py +96 -0
- strongdm-3.7.0/strongdm/remote_identities_history_pb2_grpc.py +84 -0
- strongdm-3.7.0/strongdm/remote_identity_groups_history_pb2.py +96 -0
- strongdm-3.7.0/strongdm/remote_identity_groups_history_pb2_grpc.py +84 -0
- strongdm-3.7.0/strongdm/replays_pb2.py +107 -0
- strongdm-3.7.0/strongdm/replays_pb2_grpc.py +87 -0
- strongdm-3.7.0/strongdm/resources_history_pb2.py +96 -0
- strongdm-3.7.0/strongdm/resources_history_pb2_grpc.py +84 -0
- strongdm-3.7.0/strongdm/role_resources_history_pb2.py +96 -0
- strongdm-3.7.0/strongdm/role_resources_history_pb2_grpc.py +84 -0
- strongdm-3.7.0/strongdm/role_resources_pb2.py +93 -0
- strongdm-3.7.0/strongdm/role_resources_pb2_grpc.py +87 -0
- strongdm-3.7.0/strongdm/roles_history_pb2.py +96 -0
- strongdm-3.7.0/strongdm/roles_history_pb2_grpc.py +84 -0
- strongdm-3.7.0/strongdm/secret_stores_history_pb2.py +96 -0
- strongdm-3.7.0/strongdm/secret_stores_history_pb2_grpc.py +84 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/svc.py +1199 -12
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm.egg-info/PKG-INFO +2 -2
- strongdm-3.7.0/strongdm.egg-info/SOURCES.txt +78 -0
- strongdm-3.6.1/strongdm/client.py +0 -199
- strongdm-3.6.1/strongdm/constants.py +0 -66
- strongdm-3.6.1/strongdm.egg-info/SOURCES.txt +0 -44
- {strongdm-3.6.1 → strongdm-3.7.0}/README.md +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/setup.cfg +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/__init__.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/account_attachments_pb2.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/account_attachments_pb2_grpc.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/account_grants_pb2.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/account_grants_pb2_grpc.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/accounts_pb2.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/accounts_pb2_grpc.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/control_panel_pb2.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/control_panel_pb2_grpc.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/drivers_pb2_grpc.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/errors.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/nodes_pb2.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/nodes_pb2_grpc.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/options_pb2.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/options_pb2_grpc.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/remote_identities_pb2.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/remote_identities_pb2_grpc.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/remote_identity_groups_pb2.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/remote_identity_groups_pb2_grpc.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/resources_pb2.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/resources_pb2_grpc.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/roles_pb2.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/roles_pb2_grpc.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/secret_store_types_pb2.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/secret_store_types_pb2_grpc.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/secret_stores_pb2.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/secret_stores_pb2_grpc.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/spec_pb2.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/spec_pb2_grpc.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/tags_pb2.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm/tags_pb2_grpc.py +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm.egg-info/dependency_links.txt +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm.egg-info/requires.txt +0 -0
- {strongdm-3.6.1 → strongdm-3.7.0}/strongdm.egg-info/top_level.txt +0 -0
@@ -1331,6 +1331,70 @@ class AccountAttachmentGetResponse:
|
|
1331
1331
|
)
|
1332
1332
|
|
1333
1333
|
|
1334
|
+
class AccountAttachmentHistory:
|
1335
|
+
'''
|
1336
|
+
AccountAttachmentHistory records the state of an AccountAttachment at a given point in time,
|
1337
|
+
where every change (create or delete) to an AccountAttachment produces an
|
1338
|
+
AccountAttachmentHistory record.
|
1339
|
+
'''
|
1340
|
+
__slots__ = [
|
1341
|
+
'account_attachment',
|
1342
|
+
'activity_id',
|
1343
|
+
'deleted_at',
|
1344
|
+
'timestamp',
|
1345
|
+
]
|
1346
|
+
|
1347
|
+
def __init__(
|
1348
|
+
self,
|
1349
|
+
account_attachment=None,
|
1350
|
+
activity_id=None,
|
1351
|
+
deleted_at=None,
|
1352
|
+
timestamp=None,
|
1353
|
+
):
|
1354
|
+
self.account_attachment = account_attachment if account_attachment is not None else None
|
1355
|
+
'''
|
1356
|
+
The complete AccountAttachment state at this time.
|
1357
|
+
'''
|
1358
|
+
self.activity_id = activity_id if activity_id is not None else ''
|
1359
|
+
'''
|
1360
|
+
The unique identifier of the Activity that produced this change to the AccountAttachment.
|
1361
|
+
May be empty for some system-initiated updates.
|
1362
|
+
'''
|
1363
|
+
self.deleted_at = deleted_at if deleted_at is not None else None
|
1364
|
+
'''
|
1365
|
+
If this AccountAttachment was deleted, the time it was deleted.
|
1366
|
+
'''
|
1367
|
+
self.timestamp = timestamp if timestamp is not None else None
|
1368
|
+
'''
|
1369
|
+
The time at which the AccountAttachment state was recorded.
|
1370
|
+
'''
|
1371
|
+
|
1372
|
+
def __repr__(self):
|
1373
|
+
return '<sdm.AccountAttachmentHistory ' + \
|
1374
|
+
'account_attachment: ' + repr(self.account_attachment) + ' ' +\
|
1375
|
+
'activity_id: ' + repr(self.activity_id) + ' ' +\
|
1376
|
+
'deleted_at: ' + repr(self.deleted_at) + ' ' +\
|
1377
|
+
'timestamp: ' + repr(self.timestamp) + ' ' +\
|
1378
|
+
'>'
|
1379
|
+
|
1380
|
+
def to_dict(self):
|
1381
|
+
return {
|
1382
|
+
'account_attachment': self.account_attachment,
|
1383
|
+
'activity_id': self.activity_id,
|
1384
|
+
'deleted_at': self.deleted_at,
|
1385
|
+
'timestamp': self.timestamp,
|
1386
|
+
}
|
1387
|
+
|
1388
|
+
@classmethod
|
1389
|
+
def from_dict(cls, d):
|
1390
|
+
return cls(
|
1391
|
+
account_attachment=d.get('account_attachment'),
|
1392
|
+
activity_id=d.get('activity_id'),
|
1393
|
+
deleted_at=d.get('deleted_at'),
|
1394
|
+
timestamp=d.get('timestamp'),
|
1395
|
+
)
|
1396
|
+
|
1397
|
+
|
1334
1398
|
class AccountCreateResponse:
|
1335
1399
|
'''
|
1336
1400
|
AccountCreateResponse reports how the Accounts were created in the system.
|
@@ -1630,101 +1694,667 @@ class AccountGrantDeleteResponse:
|
|
1630
1694
|
'''
|
1631
1695
|
self.rate_limit = rate_limit if rate_limit is not None else None
|
1632
1696
|
'''
|
1633
|
-
Rate limit information.
|
1697
|
+
Rate limit information.
|
1698
|
+
'''
|
1699
|
+
|
1700
|
+
def __repr__(self):
|
1701
|
+
return '<sdm.AccountGrantDeleteResponse ' + \
|
1702
|
+
'meta: ' + repr(self.meta) + ' ' +\
|
1703
|
+
'rate_limit: ' + repr(self.rate_limit) + ' ' +\
|
1704
|
+
'>'
|
1705
|
+
|
1706
|
+
def to_dict(self):
|
1707
|
+
return {
|
1708
|
+
'meta': self.meta,
|
1709
|
+
'rate_limit': self.rate_limit,
|
1710
|
+
}
|
1711
|
+
|
1712
|
+
@classmethod
|
1713
|
+
def from_dict(cls, d):
|
1714
|
+
return cls(
|
1715
|
+
meta=d.get('meta'),
|
1716
|
+
rate_limit=d.get('rate_limit'),
|
1717
|
+
)
|
1718
|
+
|
1719
|
+
|
1720
|
+
class AccountGrantGetResponse:
|
1721
|
+
'''
|
1722
|
+
AccountGrantGetResponse returns a requested AccountGrant.
|
1723
|
+
'''
|
1724
|
+
__slots__ = [
|
1725
|
+
'account_grant',
|
1726
|
+
'meta',
|
1727
|
+
'rate_limit',
|
1728
|
+
]
|
1729
|
+
|
1730
|
+
def __init__(
|
1731
|
+
self,
|
1732
|
+
account_grant=None,
|
1733
|
+
meta=None,
|
1734
|
+
rate_limit=None,
|
1735
|
+
):
|
1736
|
+
self.account_grant = account_grant if account_grant is not None else None
|
1737
|
+
'''
|
1738
|
+
The requested AccountGrant.
|
1739
|
+
'''
|
1740
|
+
self.meta = meta if meta is not None else None
|
1741
|
+
'''
|
1742
|
+
Reserved for future use.
|
1743
|
+
'''
|
1744
|
+
self.rate_limit = rate_limit if rate_limit is not None else None
|
1745
|
+
'''
|
1746
|
+
Rate limit information.
|
1747
|
+
'''
|
1748
|
+
|
1749
|
+
def __repr__(self):
|
1750
|
+
return '<sdm.AccountGrantGetResponse ' + \
|
1751
|
+
'account_grant: ' + repr(self.account_grant) + ' ' +\
|
1752
|
+
'meta: ' + repr(self.meta) + ' ' +\
|
1753
|
+
'rate_limit: ' + repr(self.rate_limit) + ' ' +\
|
1754
|
+
'>'
|
1755
|
+
|
1756
|
+
def to_dict(self):
|
1757
|
+
return {
|
1758
|
+
'account_grant': self.account_grant,
|
1759
|
+
'meta': self.meta,
|
1760
|
+
'rate_limit': self.rate_limit,
|
1761
|
+
}
|
1762
|
+
|
1763
|
+
@classmethod
|
1764
|
+
def from_dict(cls, d):
|
1765
|
+
return cls(
|
1766
|
+
account_grant=d.get('account_grant'),
|
1767
|
+
meta=d.get('meta'),
|
1768
|
+
rate_limit=d.get('rate_limit'),
|
1769
|
+
)
|
1770
|
+
|
1771
|
+
|
1772
|
+
class AccountGrantHistory:
|
1773
|
+
'''
|
1774
|
+
AccountGrantHistory records the state of an AccountGrant at a given point in time,
|
1775
|
+
where every change (create or delete) to an AccountGrant produces an
|
1776
|
+
AccountGrantHistory record.
|
1777
|
+
'''
|
1778
|
+
__slots__ = [
|
1779
|
+
'account_grant',
|
1780
|
+
'activity_id',
|
1781
|
+
'deleted_at',
|
1782
|
+
'timestamp',
|
1783
|
+
]
|
1784
|
+
|
1785
|
+
def __init__(
|
1786
|
+
self,
|
1787
|
+
account_grant=None,
|
1788
|
+
activity_id=None,
|
1789
|
+
deleted_at=None,
|
1790
|
+
timestamp=None,
|
1791
|
+
):
|
1792
|
+
self.account_grant = account_grant if account_grant is not None else None
|
1793
|
+
'''
|
1794
|
+
The complete AccountGrant state at this time.
|
1795
|
+
'''
|
1796
|
+
self.activity_id = activity_id if activity_id is not None else ''
|
1797
|
+
'''
|
1798
|
+
The unique identifier of the Activity that produced this change to the AccountGrant.
|
1799
|
+
May be empty for some system-initiated updates.
|
1800
|
+
'''
|
1801
|
+
self.deleted_at = deleted_at if deleted_at is not None else None
|
1802
|
+
'''
|
1803
|
+
If this AccountGrant was deleted, the time it was deleted.
|
1804
|
+
'''
|
1805
|
+
self.timestamp = timestamp if timestamp is not None else None
|
1806
|
+
'''
|
1807
|
+
The time at which the AccountGrant state was recorded.
|
1808
|
+
'''
|
1809
|
+
|
1810
|
+
def __repr__(self):
|
1811
|
+
return '<sdm.AccountGrantHistory ' + \
|
1812
|
+
'account_grant: ' + repr(self.account_grant) + ' ' +\
|
1813
|
+
'activity_id: ' + repr(self.activity_id) + ' ' +\
|
1814
|
+
'deleted_at: ' + repr(self.deleted_at) + ' ' +\
|
1815
|
+
'timestamp: ' + repr(self.timestamp) + ' ' +\
|
1816
|
+
'>'
|
1817
|
+
|
1818
|
+
def to_dict(self):
|
1819
|
+
return {
|
1820
|
+
'account_grant': self.account_grant,
|
1821
|
+
'activity_id': self.activity_id,
|
1822
|
+
'deleted_at': self.deleted_at,
|
1823
|
+
'timestamp': self.timestamp,
|
1824
|
+
}
|
1825
|
+
|
1826
|
+
@classmethod
|
1827
|
+
def from_dict(cls, d):
|
1828
|
+
return cls(
|
1829
|
+
account_grant=d.get('account_grant'),
|
1830
|
+
activity_id=d.get('activity_id'),
|
1831
|
+
deleted_at=d.get('deleted_at'),
|
1832
|
+
timestamp=d.get('timestamp'),
|
1833
|
+
)
|
1834
|
+
|
1835
|
+
|
1836
|
+
class AccountHistory:
|
1837
|
+
'''
|
1838
|
+
AccountHistory records the state of an Account at a given point in time,
|
1839
|
+
where every change (create, update and delete) to an Account produces an
|
1840
|
+
AccountHistory record.
|
1841
|
+
'''
|
1842
|
+
__slots__ = [
|
1843
|
+
'account',
|
1844
|
+
'activity_id',
|
1845
|
+
'deleted_at',
|
1846
|
+
'timestamp',
|
1847
|
+
]
|
1848
|
+
|
1849
|
+
def __init__(
|
1850
|
+
self,
|
1851
|
+
account=None,
|
1852
|
+
activity_id=None,
|
1853
|
+
deleted_at=None,
|
1854
|
+
timestamp=None,
|
1855
|
+
):
|
1856
|
+
self.account = account if account is not None else None
|
1857
|
+
'''
|
1858
|
+
The complete Account state at this time.
|
1859
|
+
'''
|
1860
|
+
self.activity_id = activity_id if activity_id is not None else ''
|
1861
|
+
'''
|
1862
|
+
The unique identifier of the Activity that produced this change to the Account.
|
1863
|
+
May be empty for some system-initiated updates.
|
1864
|
+
'''
|
1865
|
+
self.deleted_at = deleted_at if deleted_at is not None else None
|
1866
|
+
'''
|
1867
|
+
If this Account was deleted, the time it was deleted.
|
1868
|
+
'''
|
1869
|
+
self.timestamp = timestamp if timestamp is not None else None
|
1870
|
+
'''
|
1871
|
+
The time at which the Account state was recorded.
|
1872
|
+
'''
|
1873
|
+
|
1874
|
+
def __repr__(self):
|
1875
|
+
return '<sdm.AccountHistory ' + \
|
1876
|
+
'account: ' + repr(self.account) + ' ' +\
|
1877
|
+
'activity_id: ' + repr(self.activity_id) + ' ' +\
|
1878
|
+
'deleted_at: ' + repr(self.deleted_at) + ' ' +\
|
1879
|
+
'timestamp: ' + repr(self.timestamp) + ' ' +\
|
1880
|
+
'>'
|
1881
|
+
|
1882
|
+
def to_dict(self):
|
1883
|
+
return {
|
1884
|
+
'account': self.account,
|
1885
|
+
'activity_id': self.activity_id,
|
1886
|
+
'deleted_at': self.deleted_at,
|
1887
|
+
'timestamp': self.timestamp,
|
1888
|
+
}
|
1889
|
+
|
1890
|
+
@classmethod
|
1891
|
+
def from_dict(cls, d):
|
1892
|
+
return cls(
|
1893
|
+
account=d.get('account'),
|
1894
|
+
activity_id=d.get('activity_id'),
|
1895
|
+
deleted_at=d.get('deleted_at'),
|
1896
|
+
timestamp=d.get('timestamp'),
|
1897
|
+
)
|
1898
|
+
|
1899
|
+
|
1900
|
+
class AccountPermission:
|
1901
|
+
'''
|
1902
|
+
AccountPermission represents an individual API action available to an account.
|
1903
|
+
'''
|
1904
|
+
__slots__ = [
|
1905
|
+
'account_id',
|
1906
|
+
'granted_at',
|
1907
|
+
'permission',
|
1908
|
+
'scope',
|
1909
|
+
'scoped_id',
|
1910
|
+
]
|
1911
|
+
|
1912
|
+
def __init__(
|
1913
|
+
self,
|
1914
|
+
account_id=None,
|
1915
|
+
granted_at=None,
|
1916
|
+
permission=None,
|
1917
|
+
scope=None,
|
1918
|
+
scoped_id=None,
|
1919
|
+
):
|
1920
|
+
self.account_id = account_id if account_id is not None else ''
|
1921
|
+
'''
|
1922
|
+
The unique identifier of the Account this permission belongs to.
|
1923
|
+
'''
|
1924
|
+
self.granted_at = granted_at if granted_at is not None else None
|
1925
|
+
'''
|
1926
|
+
The most recent time at which the permission was granted. If a permission was
|
1927
|
+
granted, revoked, and granted again, this will reflect the later time.
|
1928
|
+
'''
|
1929
|
+
self.permission = permission if permission is not None else ''
|
1930
|
+
'''
|
1931
|
+
The value of this permission, split into vertical and action e.g.
|
1932
|
+
'secretstore:List', 'role:update'
|
1933
|
+
'''
|
1934
|
+
self.scope = scope if scope is not None else ''
|
1935
|
+
'''
|
1936
|
+
The scope of this permission. A global scope means this action can be taken
|
1937
|
+
on any entity; otherwise the action can only be taken on or in the scope of
|
1938
|
+
the scoped id.
|
1939
|
+
'''
|
1940
|
+
self.scoped_id = scoped_id if scoped_id is not None else ''
|
1941
|
+
'''
|
1942
|
+
The ID to which or in whose context this operation is permitted. e.g. The ID of a
|
1943
|
+
role that a team leader has the abillity to remove and add accounts to, or the
|
1944
|
+
ID of a resource that a user has the permission to connect to. If Scope is global,
|
1945
|
+
scoped id is not populated.
|
1946
|
+
'''
|
1947
|
+
|
1948
|
+
def __repr__(self):
|
1949
|
+
return '<sdm.AccountPermission ' + \
|
1950
|
+
'account_id: ' + repr(self.account_id) + ' ' +\
|
1951
|
+
'granted_at: ' + repr(self.granted_at) + ' ' +\
|
1952
|
+
'permission: ' + repr(self.permission) + ' ' +\
|
1953
|
+
'scope: ' + repr(self.scope) + ' ' +\
|
1954
|
+
'scoped_id: ' + repr(self.scoped_id) + ' ' +\
|
1955
|
+
'>'
|
1956
|
+
|
1957
|
+
def to_dict(self):
|
1958
|
+
return {
|
1959
|
+
'account_id': self.account_id,
|
1960
|
+
'granted_at': self.granted_at,
|
1961
|
+
'permission': self.permission,
|
1962
|
+
'scope': self.scope,
|
1963
|
+
'scoped_id': self.scoped_id,
|
1964
|
+
}
|
1965
|
+
|
1966
|
+
@classmethod
|
1967
|
+
def from_dict(cls, d):
|
1968
|
+
return cls(
|
1969
|
+
account_id=d.get('account_id'),
|
1970
|
+
granted_at=d.get('granted_at'),
|
1971
|
+
permission=d.get('permission'),
|
1972
|
+
scope=d.get('scope'),
|
1973
|
+
scoped_id=d.get('scoped_id'),
|
1974
|
+
)
|
1975
|
+
|
1976
|
+
|
1977
|
+
class AccountResource:
|
1978
|
+
'''
|
1979
|
+
AccountResource represents an individual access grant of a Account to a Resource.
|
1980
|
+
'''
|
1981
|
+
__slots__ = [
|
1982
|
+
'account_grant_id',
|
1983
|
+
'account_id',
|
1984
|
+
'expires_at',
|
1985
|
+
'granted_at',
|
1986
|
+
'resource_id',
|
1987
|
+
'role_id',
|
1988
|
+
]
|
1989
|
+
|
1990
|
+
def __init__(
|
1991
|
+
self,
|
1992
|
+
account_grant_id=None,
|
1993
|
+
account_id=None,
|
1994
|
+
expires_at=None,
|
1995
|
+
granted_at=None,
|
1996
|
+
resource_id=None,
|
1997
|
+
role_id=None,
|
1998
|
+
):
|
1999
|
+
self.account_grant_id = account_grant_id if account_grant_id is not None else ''
|
2000
|
+
'''
|
2001
|
+
The unique identifier of the AccountGrant through which the Account was granted access to the Resource.
|
2002
|
+
If empty, access was not granted through an AccountGrant.
|
2003
|
+
'''
|
2004
|
+
self.account_id = account_id if account_id is not None else ''
|
2005
|
+
'''
|
2006
|
+
The unique identifier of the Account to which access is granted.
|
2007
|
+
'''
|
2008
|
+
self.expires_at = expires_at if expires_at is not None else None
|
2009
|
+
'''
|
2010
|
+
The time at which access will expire. If empty, this access has no expiration.
|
2011
|
+
'''
|
2012
|
+
self.granted_at = granted_at if granted_at is not None else None
|
2013
|
+
'''
|
2014
|
+
The most recent time at which access was granted. If access was granted,
|
2015
|
+
revoked, and granted again, this will reflect the later time.
|
2016
|
+
'''
|
2017
|
+
self.resource_id = resource_id if resource_id is not None else ''
|
2018
|
+
'''
|
2019
|
+
The unique identifier of the Resource to which access is granted.
|
2020
|
+
'''
|
2021
|
+
self.role_id = role_id if role_id is not None else ''
|
2022
|
+
'''
|
2023
|
+
The unique identifier of the Role through which the Account was granted access to the Resource.
|
2024
|
+
If empty, access was not granted through an AccountAttachment to a Role.
|
2025
|
+
'''
|
2026
|
+
|
2027
|
+
def __repr__(self):
|
2028
|
+
return '<sdm.AccountResource ' + \
|
2029
|
+
'account_grant_id: ' + repr(self.account_grant_id) + ' ' +\
|
2030
|
+
'account_id: ' + repr(self.account_id) + ' ' +\
|
2031
|
+
'expires_at: ' + repr(self.expires_at) + ' ' +\
|
2032
|
+
'granted_at: ' + repr(self.granted_at) + ' ' +\
|
2033
|
+
'resource_id: ' + repr(self.resource_id) + ' ' +\
|
2034
|
+
'role_id: ' + repr(self.role_id) + ' ' +\
|
2035
|
+
'>'
|
2036
|
+
|
2037
|
+
def to_dict(self):
|
2038
|
+
return {
|
2039
|
+
'account_grant_id': self.account_grant_id,
|
2040
|
+
'account_id': self.account_id,
|
2041
|
+
'expires_at': self.expires_at,
|
2042
|
+
'granted_at': self.granted_at,
|
2043
|
+
'resource_id': self.resource_id,
|
2044
|
+
'role_id': self.role_id,
|
2045
|
+
}
|
2046
|
+
|
2047
|
+
@classmethod
|
2048
|
+
def from_dict(cls, d):
|
2049
|
+
return cls(
|
2050
|
+
account_grant_id=d.get('account_grant_id'),
|
2051
|
+
account_id=d.get('account_id'),
|
2052
|
+
expires_at=d.get('expires_at'),
|
2053
|
+
granted_at=d.get('granted_at'),
|
2054
|
+
resource_id=d.get('resource_id'),
|
2055
|
+
role_id=d.get('role_id'),
|
2056
|
+
)
|
2057
|
+
|
2058
|
+
|
2059
|
+
class AccountUpdateResponse:
|
2060
|
+
'''
|
2061
|
+
AccountUpdateResponse returns the fields of a Account after it has been updated by
|
2062
|
+
a AccountUpdateRequest.
|
2063
|
+
'''
|
2064
|
+
__slots__ = [
|
2065
|
+
'account',
|
2066
|
+
'meta',
|
2067
|
+
'rate_limit',
|
2068
|
+
]
|
2069
|
+
|
2070
|
+
def __init__(
|
2071
|
+
self,
|
2072
|
+
account=None,
|
2073
|
+
meta=None,
|
2074
|
+
rate_limit=None,
|
2075
|
+
):
|
2076
|
+
self.account = account if account is not None else None
|
2077
|
+
'''
|
2078
|
+
The updated Account.
|
2079
|
+
'''
|
2080
|
+
self.meta = meta if meta is not None else None
|
2081
|
+
'''
|
2082
|
+
Reserved for future use.
|
2083
|
+
'''
|
2084
|
+
self.rate_limit = rate_limit if rate_limit is not None else None
|
2085
|
+
'''
|
2086
|
+
Rate limit information.
|
2087
|
+
'''
|
2088
|
+
|
2089
|
+
def __repr__(self):
|
2090
|
+
return '<sdm.AccountUpdateResponse ' + \
|
2091
|
+
'account: ' + repr(self.account) + ' ' +\
|
2092
|
+
'meta: ' + repr(self.meta) + ' ' +\
|
2093
|
+
'rate_limit: ' + repr(self.rate_limit) + ' ' +\
|
2094
|
+
'>'
|
2095
|
+
|
2096
|
+
def to_dict(self):
|
2097
|
+
return {
|
2098
|
+
'account': self.account,
|
2099
|
+
'meta': self.meta,
|
2100
|
+
'rate_limit': self.rate_limit,
|
2101
|
+
}
|
2102
|
+
|
2103
|
+
@classmethod
|
2104
|
+
def from_dict(cls, d):
|
2105
|
+
return cls(
|
2106
|
+
account=d.get('account'),
|
2107
|
+
meta=d.get('meta'),
|
2108
|
+
rate_limit=d.get('rate_limit'),
|
2109
|
+
)
|
2110
|
+
|
2111
|
+
|
2112
|
+
class Activity:
|
2113
|
+
'''
|
2114
|
+
An Activity is a record of an action taken against a strongDM deployment, e.g.
|
2115
|
+
a user creation, resource deletion, sso configuration change, etc.
|
2116
|
+
'''
|
2117
|
+
__slots__ = [
|
2118
|
+
'actor',
|
2119
|
+
'completed_at',
|
2120
|
+
'description',
|
2121
|
+
'entities',
|
2122
|
+
'id',
|
2123
|
+
'ip_address',
|
2124
|
+
'verb',
|
2125
|
+
]
|
2126
|
+
|
2127
|
+
def __init__(
|
2128
|
+
self,
|
2129
|
+
actor=None,
|
2130
|
+
completed_at=None,
|
2131
|
+
description=None,
|
2132
|
+
entities=None,
|
2133
|
+
id=None,
|
2134
|
+
ip_address=None,
|
2135
|
+
verb=None,
|
2136
|
+
):
|
2137
|
+
self.actor = actor if actor is not None else None
|
2138
|
+
'''
|
2139
|
+
The account who executed this activity. If the actor later has a name or email change,
|
2140
|
+
that change is not reflected here. Actor is a snapshot of the executing account at
|
2141
|
+
the time an activity took place.
|
2142
|
+
'''
|
2143
|
+
self.completed_at = completed_at if completed_at is not None else None
|
2144
|
+
'''
|
2145
|
+
The time this activity took effect.
|
2146
|
+
'''
|
2147
|
+
self.description = description if description is not None else ''
|
2148
|
+
'''
|
2149
|
+
A humanized description of the activity.
|
2150
|
+
'''
|
2151
|
+
self.entities = entities if entities is not None else []
|
2152
|
+
'''
|
2153
|
+
The entities involved in this activity. These entities can be any first class
|
2154
|
+
entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
|
2155
|
+
every activity affects explicit entities.
|
2156
|
+
'''
|
2157
|
+
self.id = id if id is not None else ''
|
2158
|
+
'''
|
2159
|
+
Unique identifier of the Activity.
|
2160
|
+
'''
|
2161
|
+
self.ip_address = ip_address if ip_address is not None else ''
|
2162
|
+
'''
|
2163
|
+
The IP from which this action was taken.
|
2164
|
+
'''
|
2165
|
+
self.verb = verb if verb is not None else ''
|
2166
|
+
'''
|
2167
|
+
The kind of activity which has taken place.
|
2168
|
+
'''
|
2169
|
+
|
2170
|
+
def __repr__(self):
|
2171
|
+
return '<sdm.Activity ' + \
|
2172
|
+
'actor: ' + repr(self.actor) + ' ' +\
|
2173
|
+
'completed_at: ' + repr(self.completed_at) + ' ' +\
|
2174
|
+
'description: ' + repr(self.description) + ' ' +\
|
2175
|
+
'entities: ' + repr(self.entities) + ' ' +\
|
2176
|
+
'id: ' + repr(self.id) + ' ' +\
|
2177
|
+
'ip_address: ' + repr(self.ip_address) + ' ' +\
|
2178
|
+
'verb: ' + repr(self.verb) + ' ' +\
|
2179
|
+
'>'
|
2180
|
+
|
2181
|
+
def to_dict(self):
|
2182
|
+
return {
|
2183
|
+
'actor': self.actor,
|
2184
|
+
'completed_at': self.completed_at,
|
2185
|
+
'description': self.description,
|
2186
|
+
'entities': self.entities,
|
2187
|
+
'id': self.id,
|
2188
|
+
'ip_address': self.ip_address,
|
2189
|
+
'verb': self.verb,
|
2190
|
+
}
|
2191
|
+
|
2192
|
+
@classmethod
|
2193
|
+
def from_dict(cls, d):
|
2194
|
+
return cls(
|
2195
|
+
actor=d.get('actor'),
|
2196
|
+
completed_at=d.get('completed_at'),
|
2197
|
+
description=d.get('description'),
|
2198
|
+
entities=d.get('entities'),
|
2199
|
+
id=d.get('id'),
|
2200
|
+
ip_address=d.get('ip_address'),
|
2201
|
+
verb=d.get('verb'),
|
2202
|
+
)
|
2203
|
+
|
2204
|
+
|
2205
|
+
class ActivityActor:
|
2206
|
+
__slots__ = [
|
2207
|
+
'activity_external_id',
|
2208
|
+
'email',
|
2209
|
+
'first_name',
|
2210
|
+
'id',
|
2211
|
+
'last_name',
|
2212
|
+
]
|
2213
|
+
|
2214
|
+
def __init__(
|
2215
|
+
self,
|
2216
|
+
activity_external_id=None,
|
2217
|
+
email=None,
|
2218
|
+
first_name=None,
|
2219
|
+
id=None,
|
2220
|
+
last_name=None,
|
2221
|
+
):
|
2222
|
+
self.activity_external_id = activity_external_id if activity_external_id is not None else ''
|
2223
|
+
'''
|
2224
|
+
The external ID of the actor at the time this activity occurred.
|
2225
|
+
'''
|
2226
|
+
self.email = email if email is not None else ''
|
2227
|
+
'''
|
2228
|
+
The email of the actor at the time this activity occurred.
|
2229
|
+
'''
|
2230
|
+
self.first_name = first_name if first_name is not None else ''
|
2231
|
+
'''
|
2232
|
+
The first name of the actor at the time this activity occurred.
|
2233
|
+
'''
|
2234
|
+
self.id = id if id is not None else ''
|
2235
|
+
'''
|
2236
|
+
Unique identifier of the actor. Immutable.
|
2237
|
+
'''
|
2238
|
+
self.last_name = last_name if last_name is not None else ''
|
2239
|
+
'''
|
2240
|
+
The last name of the actor at the time this activity occurred.
|
1634
2241
|
'''
|
1635
2242
|
|
1636
2243
|
def __repr__(self):
|
1637
|
-
return '<sdm.
|
1638
|
-
'
|
1639
|
-
'
|
2244
|
+
return '<sdm.ActivityActor ' + \
|
2245
|
+
'activity_external_id: ' + repr(self.activity_external_id) + ' ' +\
|
2246
|
+
'email: ' + repr(self.email) + ' ' +\
|
2247
|
+
'first_name: ' + repr(self.first_name) + ' ' +\
|
2248
|
+
'id: ' + repr(self.id) + ' ' +\
|
2249
|
+
'last_name: ' + repr(self.last_name) + ' ' +\
|
1640
2250
|
'>'
|
1641
2251
|
|
1642
2252
|
def to_dict(self):
|
1643
2253
|
return {
|
1644
|
-
'
|
1645
|
-
'
|
2254
|
+
'activity_external_id': self.activity_external_id,
|
2255
|
+
'email': self.email,
|
2256
|
+
'first_name': self.first_name,
|
2257
|
+
'id': self.id,
|
2258
|
+
'last_name': self.last_name,
|
1646
2259
|
}
|
1647
2260
|
|
1648
2261
|
@classmethod
|
1649
2262
|
def from_dict(cls, d):
|
1650
2263
|
return cls(
|
1651
|
-
|
1652
|
-
|
2264
|
+
activity_external_id=d.get('activity_external_id'),
|
2265
|
+
email=d.get('email'),
|
2266
|
+
first_name=d.get('first_name'),
|
2267
|
+
id=d.get('id'),
|
2268
|
+
last_name=d.get('last_name'),
|
1653
2269
|
)
|
1654
2270
|
|
1655
2271
|
|
1656
|
-
class
|
1657
|
-
'''
|
1658
|
-
AccountGrantGetResponse returns a requested AccountGrant.
|
1659
|
-
'''
|
2272
|
+
class ActivityEntity:
|
1660
2273
|
__slots__ = [
|
1661
|
-
'
|
1662
|
-
'
|
1663
|
-
'
|
2274
|
+
'email',
|
2275
|
+
'external_id',
|
2276
|
+
'id',
|
2277
|
+
'name',
|
2278
|
+
'type',
|
1664
2279
|
]
|
1665
2280
|
|
1666
2281
|
def __init__(
|
1667
2282
|
self,
|
1668
|
-
|
1669
|
-
|
1670
|
-
|
2283
|
+
email=None,
|
2284
|
+
external_id=None,
|
2285
|
+
id=None,
|
2286
|
+
name=None,
|
2287
|
+
type=None,
|
1671
2288
|
):
|
1672
|
-
self.
|
2289
|
+
self.email = email if email is not None else ''
|
1673
2290
|
'''
|
1674
|
-
The
|
2291
|
+
The email of the affected entity, if it has one (for example, if it is an account).
|
1675
2292
|
'''
|
1676
|
-
self.
|
2293
|
+
self.external_id = external_id if external_id is not None else ''
|
1677
2294
|
'''
|
1678
|
-
|
2295
|
+
The external ID of the affected entity, if it has one (for example, if it is an account).
|
1679
2296
|
'''
|
1680
|
-
self.
|
2297
|
+
self.id = id if id is not None else ''
|
1681
2298
|
'''
|
1682
|
-
|
2299
|
+
The unique identifier of the entity this activity affected.
|
2300
|
+
'''
|
2301
|
+
self.name = name if name is not None else ''
|
2302
|
+
'''
|
2303
|
+
A display name representing the affected entity.
|
2304
|
+
'''
|
2305
|
+
self.type = type if type is not None else ''
|
2306
|
+
'''
|
2307
|
+
The type of entity affected, one of the Activity Entities constants.
|
1683
2308
|
'''
|
1684
2309
|
|
1685
2310
|
def __repr__(self):
|
1686
|
-
return '<sdm.
|
1687
|
-
'
|
1688
|
-
'
|
1689
|
-
'
|
2311
|
+
return '<sdm.ActivityEntity ' + \
|
2312
|
+
'email: ' + repr(self.email) + ' ' +\
|
2313
|
+
'external_id: ' + repr(self.external_id) + ' ' +\
|
2314
|
+
'id: ' + repr(self.id) + ' ' +\
|
2315
|
+
'name: ' + repr(self.name) + ' ' +\
|
2316
|
+
'type: ' + repr(self.type) + ' ' +\
|
1690
2317
|
'>'
|
1691
2318
|
|
1692
2319
|
def to_dict(self):
|
1693
2320
|
return {
|
1694
|
-
'
|
1695
|
-
'
|
1696
|
-
'
|
2321
|
+
'email': self.email,
|
2322
|
+
'external_id': self.external_id,
|
2323
|
+
'id': self.id,
|
2324
|
+
'name': self.name,
|
2325
|
+
'type': self.type,
|
1697
2326
|
}
|
1698
2327
|
|
1699
2328
|
@classmethod
|
1700
2329
|
def from_dict(cls, d):
|
1701
2330
|
return cls(
|
1702
|
-
|
1703
|
-
|
1704
|
-
|
2331
|
+
email=d.get('email'),
|
2332
|
+
external_id=d.get('external_id'),
|
2333
|
+
id=d.get('id'),
|
2334
|
+
name=d.get('name'),
|
2335
|
+
type=d.get('type'),
|
1705
2336
|
)
|
1706
2337
|
|
1707
2338
|
|
1708
|
-
class
|
2339
|
+
class ActivityGetResponse:
|
1709
2340
|
'''
|
1710
|
-
|
1711
|
-
a AccountUpdateRequest.
|
2341
|
+
ActivityGetResponse returns a requested Activity.
|
1712
2342
|
'''
|
1713
2343
|
__slots__ = [
|
1714
|
-
'
|
2344
|
+
'activity',
|
1715
2345
|
'meta',
|
1716
2346
|
'rate_limit',
|
1717
2347
|
]
|
1718
2348
|
|
1719
2349
|
def __init__(
|
1720
2350
|
self,
|
1721
|
-
|
2351
|
+
activity=None,
|
1722
2352
|
meta=None,
|
1723
2353
|
rate_limit=None,
|
1724
2354
|
):
|
1725
|
-
self.
|
2355
|
+
self.activity = activity if activity is not None else None
|
1726
2356
|
'''
|
1727
|
-
The
|
2357
|
+
The requested Activity.
|
1728
2358
|
'''
|
1729
2359
|
self.meta = meta if meta is not None else None
|
1730
2360
|
'''
|
@@ -1736,15 +2366,15 @@ class AccountUpdateResponse:
|
|
1736
2366
|
'''
|
1737
2367
|
|
1738
2368
|
def __repr__(self):
|
1739
|
-
return '<sdm.
|
1740
|
-
'
|
2369
|
+
return '<sdm.ActivityGetResponse ' + \
|
2370
|
+
'activity: ' + repr(self.activity) + ' ' +\
|
1741
2371
|
'meta: ' + repr(self.meta) + ' ' +\
|
1742
2372
|
'rate_limit: ' + repr(self.rate_limit) + ' ' +\
|
1743
2373
|
'>'
|
1744
2374
|
|
1745
2375
|
def to_dict(self):
|
1746
2376
|
return {
|
1747
|
-
'
|
2377
|
+
'activity': self.activity,
|
1748
2378
|
'meta': self.meta,
|
1749
2379
|
'rate_limit': self.rate_limit,
|
1750
2380
|
}
|
@@ -1752,7 +2382,7 @@ class AccountUpdateResponse:
|
|
1752
2382
|
@classmethod
|
1753
2383
|
def from_dict(cls, d):
|
1754
2384
|
return cls(
|
1755
|
-
|
2385
|
+
activity=d.get('activity'),
|
1756
2386
|
meta=d.get('meta'),
|
1757
2387
|
rate_limit=d.get('rate_limit'),
|
1758
2388
|
)
|
@@ -8820,6 +9450,70 @@ class NodeGetResponse:
|
|
8820
9450
|
)
|
8821
9451
|
|
8822
9452
|
|
9453
|
+
class NodeHistory:
|
9454
|
+
'''
|
9455
|
+
NodeHistory records the state of a Node at a given point in time,
|
9456
|
+
where every change (create, update and delete) to a Node produces an
|
9457
|
+
NodeHistory record.
|
9458
|
+
'''
|
9459
|
+
__slots__ = [
|
9460
|
+
'activity_id',
|
9461
|
+
'deleted_at',
|
9462
|
+
'node',
|
9463
|
+
'timestamp',
|
9464
|
+
]
|
9465
|
+
|
9466
|
+
def __init__(
|
9467
|
+
self,
|
9468
|
+
activity_id=None,
|
9469
|
+
deleted_at=None,
|
9470
|
+
node=None,
|
9471
|
+
timestamp=None,
|
9472
|
+
):
|
9473
|
+
self.activity_id = activity_id if activity_id is not None else ''
|
9474
|
+
'''
|
9475
|
+
The unique identifier of the Activity that produced this change to the Node.
|
9476
|
+
May be empty for some system-initiated updates.
|
9477
|
+
'''
|
9478
|
+
self.deleted_at = deleted_at if deleted_at is not None else None
|
9479
|
+
'''
|
9480
|
+
If this Node was deleted, the time it was deleted.
|
9481
|
+
'''
|
9482
|
+
self.node = node if node is not None else None
|
9483
|
+
'''
|
9484
|
+
The complete Node state at this time.
|
9485
|
+
'''
|
9486
|
+
self.timestamp = timestamp if timestamp is not None else None
|
9487
|
+
'''
|
9488
|
+
The time at which the Node state was recorded.
|
9489
|
+
'''
|
9490
|
+
|
9491
|
+
def __repr__(self):
|
9492
|
+
return '<sdm.NodeHistory ' + \
|
9493
|
+
'activity_id: ' + repr(self.activity_id) + ' ' +\
|
9494
|
+
'deleted_at: ' + repr(self.deleted_at) + ' ' +\
|
9495
|
+
'node: ' + repr(self.node) + ' ' +\
|
9496
|
+
'timestamp: ' + repr(self.timestamp) + ' ' +\
|
9497
|
+
'>'
|
9498
|
+
|
9499
|
+
def to_dict(self):
|
9500
|
+
return {
|
9501
|
+
'activity_id': self.activity_id,
|
9502
|
+
'deleted_at': self.deleted_at,
|
9503
|
+
'node': self.node,
|
9504
|
+
'timestamp': self.timestamp,
|
9505
|
+
}
|
9506
|
+
|
9507
|
+
@classmethod
|
9508
|
+
def from_dict(cls, d):
|
9509
|
+
return cls(
|
9510
|
+
activity_id=d.get('activity_id'),
|
9511
|
+
deleted_at=d.get('deleted_at'),
|
9512
|
+
node=d.get('node'),
|
9513
|
+
timestamp=d.get('timestamp'),
|
9514
|
+
)
|
9515
|
+
|
9516
|
+
|
8823
9517
|
class NodeUpdateResponse:
|
8824
9518
|
'''
|
8825
9519
|
NodeUpdateResponse returns the fields of a Node after it has been updated by
|
@@ -8935,68 +9629,364 @@ class Oracle:
|
|
8935
9629
|
self.port_override = port_override if port_override is not None else 0
|
8936
9630
|
self.secret_store_id = secret_store_id if secret_store_id is not None else ''
|
8937
9631
|
'''
|
8938
|
-
ID of the secret store containing credentials for this resource, if any.
|
9632
|
+
ID of the secret store containing credentials for this resource, if any.
|
9633
|
+
'''
|
9634
|
+
self.tags = tags if tags is not None else _porcelain_zero_value_tags()
|
9635
|
+
'''
|
9636
|
+
Tags is a map of key, value pairs.
|
9637
|
+
'''
|
9638
|
+
self.tls_required = tls_required if tls_required is not None else False
|
9639
|
+
self.username = username if username is not None else ''
|
9640
|
+
|
9641
|
+
def __repr__(self):
|
9642
|
+
return '<sdm.Oracle ' + \
|
9643
|
+
'bind_interface: ' + repr(self.bind_interface) + ' ' +\
|
9644
|
+
'database: ' + repr(self.database) + ' ' +\
|
9645
|
+
'egress_filter: ' + repr(self.egress_filter) + ' ' +\
|
9646
|
+
'healthy: ' + repr(self.healthy) + ' ' +\
|
9647
|
+
'hostname: ' + repr(self.hostname) + ' ' +\
|
9648
|
+
'id: ' + repr(self.id) + ' ' +\
|
9649
|
+
'name: ' + repr(self.name) + ' ' +\
|
9650
|
+
'password: ' + repr(self.password) + ' ' +\
|
9651
|
+
'port: ' + repr(self.port) + ' ' +\
|
9652
|
+
'port_override: ' + repr(self.port_override) + ' ' +\
|
9653
|
+
'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
|
9654
|
+
'tags: ' + repr(self.tags) + ' ' +\
|
9655
|
+
'tls_required: ' + repr(self.tls_required) + ' ' +\
|
9656
|
+
'username: ' + repr(self.username) + ' ' +\
|
9657
|
+
'>'
|
9658
|
+
|
9659
|
+
def to_dict(self):
|
9660
|
+
return {
|
9661
|
+
'bind_interface': self.bind_interface,
|
9662
|
+
'database': self.database,
|
9663
|
+
'egress_filter': self.egress_filter,
|
9664
|
+
'healthy': self.healthy,
|
9665
|
+
'hostname': self.hostname,
|
9666
|
+
'id': self.id,
|
9667
|
+
'name': self.name,
|
9668
|
+
'password': self.password,
|
9669
|
+
'port': self.port,
|
9670
|
+
'port_override': self.port_override,
|
9671
|
+
'secret_store_id': self.secret_store_id,
|
9672
|
+
'tags': self.tags,
|
9673
|
+
'tls_required': self.tls_required,
|
9674
|
+
'username': self.username,
|
9675
|
+
}
|
9676
|
+
|
9677
|
+
@classmethod
|
9678
|
+
def from_dict(cls, d):
|
9679
|
+
return cls(
|
9680
|
+
bind_interface=d.get('bind_interface'),
|
9681
|
+
database=d.get('database'),
|
9682
|
+
egress_filter=d.get('egress_filter'),
|
9683
|
+
healthy=d.get('healthy'),
|
9684
|
+
hostname=d.get('hostname'),
|
9685
|
+
id=d.get('id'),
|
9686
|
+
name=d.get('name'),
|
9687
|
+
password=d.get('password'),
|
9688
|
+
port=d.get('port'),
|
9689
|
+
port_override=d.get('port_override'),
|
9690
|
+
secret_store_id=d.get('secret_store_id'),
|
9691
|
+
tags=d.get('tags'),
|
9692
|
+
tls_required=d.get('tls_required'),
|
9693
|
+
username=d.get('username'),
|
9694
|
+
)
|
9695
|
+
|
9696
|
+
|
9697
|
+
class Organization:
|
9698
|
+
__slots__ = [
|
9699
|
+
'auth_provider',
|
9700
|
+
'created_at',
|
9701
|
+
'idle_timeout',
|
9702
|
+
'idle_timeout_enabled',
|
9703
|
+
'kind',
|
9704
|
+
'log_local_encoder',
|
9705
|
+
'log_local_format',
|
9706
|
+
'log_local_storage',
|
9707
|
+
'log_remote_encoder',
|
9708
|
+
'log_socket_path',
|
9709
|
+
'log_tcp_address',
|
9710
|
+
'mfa_enabled',
|
9711
|
+
'mfa_provider',
|
9712
|
+
'name',
|
9713
|
+
'require_secret_store',
|
9714
|
+
'saml_metadata_url',
|
9715
|
+
'scim_provider',
|
9716
|
+
'sensitive_label',
|
9717
|
+
'session_timeout',
|
9718
|
+
'session_timeout_enabled',
|
9719
|
+
'ssh_certificate_authority_public_key',
|
9720
|
+
'ssh_certificate_authority_updated_at',
|
9721
|
+
'updated_at',
|
9722
|
+
'websites_subdomain',
|
9723
|
+
]
|
9724
|
+
|
9725
|
+
def __init__(
|
9726
|
+
self,
|
9727
|
+
auth_provider=None,
|
9728
|
+
created_at=None,
|
9729
|
+
idle_timeout=None,
|
9730
|
+
idle_timeout_enabled=None,
|
9731
|
+
kind=None,
|
9732
|
+
log_local_encoder=None,
|
9733
|
+
log_local_format=None,
|
9734
|
+
log_local_storage=None,
|
9735
|
+
log_remote_encoder=None,
|
9736
|
+
log_socket_path=None,
|
9737
|
+
log_tcp_address=None,
|
9738
|
+
mfa_enabled=None,
|
9739
|
+
mfa_provider=None,
|
9740
|
+
name=None,
|
9741
|
+
require_secret_store=None,
|
9742
|
+
saml_metadata_url=None,
|
9743
|
+
scim_provider=None,
|
9744
|
+
sensitive_label=None,
|
9745
|
+
session_timeout=None,
|
9746
|
+
session_timeout_enabled=None,
|
9747
|
+
ssh_certificate_authority_public_key=None,
|
9748
|
+
ssh_certificate_authority_updated_at=None,
|
9749
|
+
updated_at=None,
|
9750
|
+
websites_subdomain=None,
|
9751
|
+
):
|
9752
|
+
self.auth_provider = auth_provider if auth_provider is not None else ''
|
9753
|
+
'''
|
9754
|
+
The Organization's authentication provider.
|
9755
|
+
'''
|
9756
|
+
self.created_at = created_at if created_at is not None else None
|
9757
|
+
'''
|
9758
|
+
The time at which the Organization was created.
|
9759
|
+
'''
|
9760
|
+
self.idle_timeout = idle_timeout if idle_timeout is not None else None
|
9761
|
+
'''
|
9762
|
+
The Organization's idle timeout, if enabled.
|
9763
|
+
'''
|
9764
|
+
self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
|
9765
|
+
'''
|
9766
|
+
Indicates if the Organization has idle timeouts enabled.
|
9767
|
+
'''
|
9768
|
+
self.kind = kind if kind is not None else ''
|
9769
|
+
'''
|
9770
|
+
The Organization's type.
|
9771
|
+
'''
|
9772
|
+
self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
|
9773
|
+
'''
|
9774
|
+
The Organization's local log encryption encoder.
|
9775
|
+
'''
|
9776
|
+
self.log_local_format = log_local_format if log_local_format is not None else ''
|
9777
|
+
'''
|
9778
|
+
The Organization's local log format.
|
9779
|
+
'''
|
9780
|
+
self.log_local_storage = log_local_storage if log_local_storage is not None else ''
|
9781
|
+
'''
|
9782
|
+
The Organization's local log storage.
|
9783
|
+
'''
|
9784
|
+
self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
|
9785
|
+
'''
|
9786
|
+
The Organization's remote log encryption encoder.
|
9787
|
+
'''
|
9788
|
+
self.log_socket_path = log_socket_path if log_socket_path is not None else ''
|
9789
|
+
'''
|
9790
|
+
The Organization's socket path for Socket local log storage.
|
9791
|
+
'''
|
9792
|
+
self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
|
9793
|
+
'''
|
9794
|
+
The Organization's TCP address for TCP or Syslog local log storage.
|
9795
|
+
'''
|
9796
|
+
self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
|
9797
|
+
'''
|
9798
|
+
Indicates if the Organization has multi-factor authentication enabled.
|
9799
|
+
'''
|
9800
|
+
self.mfa_provider = mfa_provider if mfa_provider is not None else ''
|
9801
|
+
'''
|
9802
|
+
The Organization's multi-factor authentication provider, if enabled.
|
9803
|
+
'''
|
9804
|
+
self.name = name if name is not None else ''
|
9805
|
+
'''
|
9806
|
+
The Organization's name.
|
9807
|
+
'''
|
9808
|
+
self.require_secret_store = require_secret_store if require_secret_store is not None else False
|
9809
|
+
'''
|
9810
|
+
Indicates if the Organization requires secret stores.
|
9811
|
+
'''
|
9812
|
+
self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
|
9813
|
+
'''
|
9814
|
+
The Organization's URL for SAML metadata.
|
9815
|
+
'''
|
9816
|
+
self.scim_provider = scim_provider if scim_provider is not None else ''
|
9817
|
+
'''
|
9818
|
+
The Organization's SCIM provider.
|
9819
|
+
'''
|
9820
|
+
self.sensitive_label = sensitive_label if sensitive_label is not None else ''
|
9821
|
+
'''
|
9822
|
+
The Organization's label for sensitive resources.
|
9823
|
+
'''
|
9824
|
+
self.session_timeout = session_timeout if session_timeout is not None else None
|
9825
|
+
'''
|
9826
|
+
The Organization's session timeout, if enabled.
|
9827
|
+
'''
|
9828
|
+
self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
|
9829
|
+
'''
|
9830
|
+
Indicates if the Organization has session timeouts enabled.
|
9831
|
+
'''
|
9832
|
+
self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
|
9833
|
+
'''
|
9834
|
+
The Organization's SSH certificate authority public key.
|
9835
|
+
'''
|
9836
|
+
self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
|
9837
|
+
'''
|
9838
|
+
The time at which the Organization's SSH certificate authority was last updated.
|
9839
|
+
'''
|
9840
|
+
self.updated_at = updated_at if updated_at is not None else None
|
9841
|
+
'''
|
9842
|
+
The time at which the Organization was last updated.
|
9843
|
+
'''
|
9844
|
+
self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
|
9845
|
+
'''
|
9846
|
+
The Organization's web site domain.
|
9847
|
+
'''
|
9848
|
+
|
9849
|
+
def __repr__(self):
|
9850
|
+
return '<sdm.Organization ' + \
|
9851
|
+
'auth_provider: ' + repr(self.auth_provider) + ' ' +\
|
9852
|
+
'created_at: ' + repr(self.created_at) + ' ' +\
|
9853
|
+
'idle_timeout: ' + repr(self.idle_timeout) + ' ' +\
|
9854
|
+
'idle_timeout_enabled: ' + repr(self.idle_timeout_enabled) + ' ' +\
|
9855
|
+
'kind: ' + repr(self.kind) + ' ' +\
|
9856
|
+
'log_local_encoder: ' + repr(self.log_local_encoder) + ' ' +\
|
9857
|
+
'log_local_format: ' + repr(self.log_local_format) + ' ' +\
|
9858
|
+
'log_local_storage: ' + repr(self.log_local_storage) + ' ' +\
|
9859
|
+
'log_remote_encoder: ' + repr(self.log_remote_encoder) + ' ' +\
|
9860
|
+
'log_socket_path: ' + repr(self.log_socket_path) + ' ' +\
|
9861
|
+
'log_tcp_address: ' + repr(self.log_tcp_address) + ' ' +\
|
9862
|
+
'mfa_enabled: ' + repr(self.mfa_enabled) + ' ' +\
|
9863
|
+
'mfa_provider: ' + repr(self.mfa_provider) + ' ' +\
|
9864
|
+
'name: ' + repr(self.name) + ' ' +\
|
9865
|
+
'require_secret_store: ' + repr(self.require_secret_store) + ' ' +\
|
9866
|
+
'saml_metadata_url: ' + repr(self.saml_metadata_url) + ' ' +\
|
9867
|
+
'scim_provider: ' + repr(self.scim_provider) + ' ' +\
|
9868
|
+
'sensitive_label: ' + repr(self.sensitive_label) + ' ' +\
|
9869
|
+
'session_timeout: ' + repr(self.session_timeout) + ' ' +\
|
9870
|
+
'session_timeout_enabled: ' + repr(self.session_timeout_enabled) + ' ' +\
|
9871
|
+
'ssh_certificate_authority_public_key: ' + repr(self.ssh_certificate_authority_public_key) + ' ' +\
|
9872
|
+
'ssh_certificate_authority_updated_at: ' + repr(self.ssh_certificate_authority_updated_at) + ' ' +\
|
9873
|
+
'updated_at: ' + repr(self.updated_at) + ' ' +\
|
9874
|
+
'websites_subdomain: ' + repr(self.websites_subdomain) + ' ' +\
|
9875
|
+
'>'
|
9876
|
+
|
9877
|
+
def to_dict(self):
|
9878
|
+
return {
|
9879
|
+
'auth_provider': self.auth_provider,
|
9880
|
+
'created_at': self.created_at,
|
9881
|
+
'idle_timeout': self.idle_timeout,
|
9882
|
+
'idle_timeout_enabled': self.idle_timeout_enabled,
|
9883
|
+
'kind': self.kind,
|
9884
|
+
'log_local_encoder': self.log_local_encoder,
|
9885
|
+
'log_local_format': self.log_local_format,
|
9886
|
+
'log_local_storage': self.log_local_storage,
|
9887
|
+
'log_remote_encoder': self.log_remote_encoder,
|
9888
|
+
'log_socket_path': self.log_socket_path,
|
9889
|
+
'log_tcp_address': self.log_tcp_address,
|
9890
|
+
'mfa_enabled': self.mfa_enabled,
|
9891
|
+
'mfa_provider': self.mfa_provider,
|
9892
|
+
'name': self.name,
|
9893
|
+
'require_secret_store': self.require_secret_store,
|
9894
|
+
'saml_metadata_url': self.saml_metadata_url,
|
9895
|
+
'scim_provider': self.scim_provider,
|
9896
|
+
'sensitive_label': self.sensitive_label,
|
9897
|
+
'session_timeout': self.session_timeout,
|
9898
|
+
'session_timeout_enabled': self.session_timeout_enabled,
|
9899
|
+
'ssh_certificate_authority_public_key':
|
9900
|
+
self.ssh_certificate_authority_public_key,
|
9901
|
+
'ssh_certificate_authority_updated_at':
|
9902
|
+
self.ssh_certificate_authority_updated_at,
|
9903
|
+
'updated_at': self.updated_at,
|
9904
|
+
'websites_subdomain': self.websites_subdomain,
|
9905
|
+
}
|
9906
|
+
|
9907
|
+
@classmethod
|
9908
|
+
def from_dict(cls, d):
|
9909
|
+
return cls(
|
9910
|
+
auth_provider=d.get('auth_provider'),
|
9911
|
+
created_at=d.get('created_at'),
|
9912
|
+
idle_timeout=d.get('idle_timeout'),
|
9913
|
+
idle_timeout_enabled=d.get('idle_timeout_enabled'),
|
9914
|
+
kind=d.get('kind'),
|
9915
|
+
log_local_encoder=d.get('log_local_encoder'),
|
9916
|
+
log_local_format=d.get('log_local_format'),
|
9917
|
+
log_local_storage=d.get('log_local_storage'),
|
9918
|
+
log_remote_encoder=d.get('log_remote_encoder'),
|
9919
|
+
log_socket_path=d.get('log_socket_path'),
|
9920
|
+
log_tcp_address=d.get('log_tcp_address'),
|
9921
|
+
mfa_enabled=d.get('mfa_enabled'),
|
9922
|
+
mfa_provider=d.get('mfa_provider'),
|
9923
|
+
name=d.get('name'),
|
9924
|
+
require_secret_store=d.get('require_secret_store'),
|
9925
|
+
saml_metadata_url=d.get('saml_metadata_url'),
|
9926
|
+
scim_provider=d.get('scim_provider'),
|
9927
|
+
sensitive_label=d.get('sensitive_label'),
|
9928
|
+
session_timeout=d.get('session_timeout'),
|
9929
|
+
session_timeout_enabled=d.get('session_timeout_enabled'),
|
9930
|
+
ssh_certificate_authority_public_key=d.get(
|
9931
|
+
'ssh_certificate_authority_public_key'),
|
9932
|
+
ssh_certificate_authority_updated_at=d.get(
|
9933
|
+
'ssh_certificate_authority_updated_at'),
|
9934
|
+
updated_at=d.get('updated_at'),
|
9935
|
+
websites_subdomain=d.get('websites_subdomain'),
|
9936
|
+
)
|
9937
|
+
|
9938
|
+
|
9939
|
+
class OrganizationHistoryRecord:
|
9940
|
+
'''
|
9941
|
+
OrganizationHistoryRecord records the state of an Organization at a given point in time,
|
9942
|
+
where every change to an Organization produces an OrganizationHistoryRecord.
|
9943
|
+
'''
|
9944
|
+
__slots__ = [
|
9945
|
+
'activity_id',
|
9946
|
+
'organization',
|
9947
|
+
'timestamp',
|
9948
|
+
]
|
9949
|
+
|
9950
|
+
def __init__(
|
9951
|
+
self,
|
9952
|
+
activity_id=None,
|
9953
|
+
organization=None,
|
9954
|
+
timestamp=None,
|
9955
|
+
):
|
9956
|
+
self.activity_id = activity_id if activity_id is not None else ''
|
9957
|
+
'''
|
9958
|
+
The unique identifier of the Activity that produced this change to the Organization.
|
9959
|
+
May be empty for some system-initiated organization updates.
|
9960
|
+
'''
|
9961
|
+
self.organization = organization if organization is not None else None
|
9962
|
+
'''
|
9963
|
+
The complete Organization state at this time.
|
8939
9964
|
'''
|
8940
|
-
self.
|
9965
|
+
self.timestamp = timestamp if timestamp is not None else None
|
8941
9966
|
'''
|
8942
|
-
|
9967
|
+
The time at which the Organization state was recorded.
|
8943
9968
|
'''
|
8944
|
-
self.tls_required = tls_required if tls_required is not None else False
|
8945
|
-
self.username = username if username is not None else ''
|
8946
9969
|
|
8947
9970
|
def __repr__(self):
|
8948
|
-
return '<sdm.
|
8949
|
-
'
|
8950
|
-
'
|
8951
|
-
'
|
8952
|
-
'healthy: ' + repr(self.healthy) + ' ' +\
|
8953
|
-
'hostname: ' + repr(self.hostname) + ' ' +\
|
8954
|
-
'id: ' + repr(self.id) + ' ' +\
|
8955
|
-
'name: ' + repr(self.name) + ' ' +\
|
8956
|
-
'password: ' + repr(self.password) + ' ' +\
|
8957
|
-
'port: ' + repr(self.port) + ' ' +\
|
8958
|
-
'port_override: ' + repr(self.port_override) + ' ' +\
|
8959
|
-
'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
|
8960
|
-
'tags: ' + repr(self.tags) + ' ' +\
|
8961
|
-
'tls_required: ' + repr(self.tls_required) + ' ' +\
|
8962
|
-
'username: ' + repr(self.username) + ' ' +\
|
9971
|
+
return '<sdm.OrganizationHistoryRecord ' + \
|
9972
|
+
'activity_id: ' + repr(self.activity_id) + ' ' +\
|
9973
|
+
'organization: ' + repr(self.organization) + ' ' +\
|
9974
|
+
'timestamp: ' + repr(self.timestamp) + ' ' +\
|
8963
9975
|
'>'
|
8964
9976
|
|
8965
9977
|
def to_dict(self):
|
8966
9978
|
return {
|
8967
|
-
'
|
8968
|
-
'
|
8969
|
-
'
|
8970
|
-
'healthy': self.healthy,
|
8971
|
-
'hostname': self.hostname,
|
8972
|
-
'id': self.id,
|
8973
|
-
'name': self.name,
|
8974
|
-
'password': self.password,
|
8975
|
-
'port': self.port,
|
8976
|
-
'port_override': self.port_override,
|
8977
|
-
'secret_store_id': self.secret_store_id,
|
8978
|
-
'tags': self.tags,
|
8979
|
-
'tls_required': self.tls_required,
|
8980
|
-
'username': self.username,
|
9979
|
+
'activity_id': self.activity_id,
|
9980
|
+
'organization': self.organization,
|
9981
|
+
'timestamp': self.timestamp,
|
8981
9982
|
}
|
8982
9983
|
|
8983
9984
|
@classmethod
|
8984
9985
|
def from_dict(cls, d):
|
8985
9986
|
return cls(
|
8986
|
-
|
8987
|
-
|
8988
|
-
|
8989
|
-
healthy=d.get('healthy'),
|
8990
|
-
hostname=d.get('hostname'),
|
8991
|
-
id=d.get('id'),
|
8992
|
-
name=d.get('name'),
|
8993
|
-
password=d.get('password'),
|
8994
|
-
port=d.get('port'),
|
8995
|
-
port_override=d.get('port_override'),
|
8996
|
-
secret_store_id=d.get('secret_store_id'),
|
8997
|
-
tags=d.get('tags'),
|
8998
|
-
tls_required=d.get('tls_required'),
|
8999
|
-
username=d.get('username'),
|
9987
|
+
activity_id=d.get('activity_id'),
|
9988
|
+
organization=d.get('organization'),
|
9989
|
+
timestamp=d.get('timestamp'),
|
9000
9990
|
)
|
9001
9991
|
|
9002
9992
|
|
@@ -9254,6 +10244,231 @@ class Presto:
|
|
9254
10244
|
)
|
9255
10245
|
|
9256
10246
|
|
10247
|
+
class Query:
|
10248
|
+
'''
|
10249
|
+
A Query is a record of a single client request to a resource, such as an SQL query.
|
10250
|
+
'''
|
10251
|
+
__slots__ = [
|
10252
|
+
'account_email',
|
10253
|
+
'account_first_name',
|
10254
|
+
'account_id',
|
10255
|
+
'account_last_name',
|
10256
|
+
'account_tags',
|
10257
|
+
'duration',
|
10258
|
+
'egress_node_id',
|
10259
|
+
'encrypted',
|
10260
|
+
'id',
|
10261
|
+
'query_body',
|
10262
|
+
'query_category',
|
10263
|
+
'query_hash',
|
10264
|
+
'query_key',
|
10265
|
+
'record_count',
|
10266
|
+
'remote_identity_username',
|
10267
|
+
'replayable',
|
10268
|
+
'resource_id',
|
10269
|
+
'resource_name',
|
10270
|
+
'resource_tags',
|
10271
|
+
'resource_type',
|
10272
|
+
'timestamp',
|
10273
|
+
]
|
10274
|
+
|
10275
|
+
def __init__(
|
10276
|
+
self,
|
10277
|
+
account_email=None,
|
10278
|
+
account_first_name=None,
|
10279
|
+
account_id=None,
|
10280
|
+
account_last_name=None,
|
10281
|
+
account_tags=None,
|
10282
|
+
duration=None,
|
10283
|
+
egress_node_id=None,
|
10284
|
+
encrypted=None,
|
10285
|
+
id=None,
|
10286
|
+
query_body=None,
|
10287
|
+
query_category=None,
|
10288
|
+
query_hash=None,
|
10289
|
+
query_key=None,
|
10290
|
+
record_count=None,
|
10291
|
+
remote_identity_username=None,
|
10292
|
+
replayable=None,
|
10293
|
+
resource_id=None,
|
10294
|
+
resource_name=None,
|
10295
|
+
resource_tags=None,
|
10296
|
+
resource_type=None,
|
10297
|
+
timestamp=None,
|
10298
|
+
):
|
10299
|
+
self.account_email = account_email if account_email is not None else ''
|
10300
|
+
'''
|
10301
|
+
The email of the account performing this query, at the time the query was executed.
|
10302
|
+
If the account email is later changed, that change will not be reflected via this field.
|
10303
|
+
'''
|
10304
|
+
self.account_first_name = account_first_name if account_first_name is not None else ''
|
10305
|
+
'''
|
10306
|
+
The given name of the account performing this query, at the time the query was executed.
|
10307
|
+
If the account is later renamed, that change will not be reflected via this field.
|
10308
|
+
'''
|
10309
|
+
self.account_id = account_id if account_id is not None else ''
|
10310
|
+
'''
|
10311
|
+
Unique identifier of the Account that performed the Query.
|
10312
|
+
'''
|
10313
|
+
self.account_last_name = account_last_name if account_last_name is not None else ''
|
10314
|
+
'''
|
10315
|
+
The family name of the account performing this query, at the time the query was executed.
|
10316
|
+
If the account is later renamed, that change will not be reflected via this field.
|
10317
|
+
'''
|
10318
|
+
self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
|
10319
|
+
)
|
10320
|
+
'''
|
10321
|
+
The tags of the account accessed, at the time the query was executed. If the account
|
10322
|
+
tags are later changed, that change will not be reflected via this field.
|
10323
|
+
'''
|
10324
|
+
self.duration = duration if duration is not None else None
|
10325
|
+
'''
|
10326
|
+
The duration of the Query.
|
10327
|
+
'''
|
10328
|
+
self.egress_node_id = egress_node_id if egress_node_id is not None else ''
|
10329
|
+
'''
|
10330
|
+
The unique ID of the node through which the Resource was accessed.
|
10331
|
+
'''
|
10332
|
+
self.encrypted = encrypted if encrypted is not None else False
|
10333
|
+
'''
|
10334
|
+
Indicates that the body of the Query is encrypted.
|
10335
|
+
'''
|
10336
|
+
self.id = id if id is not None else ''
|
10337
|
+
'''
|
10338
|
+
Unique identifier of the Query.
|
10339
|
+
'''
|
10340
|
+
self.query_body = query_body if query_body is not None else ''
|
10341
|
+
'''
|
10342
|
+
The captured content of the Query.
|
10343
|
+
'''
|
10344
|
+
self.query_category = query_category if query_category is not None else ''
|
10345
|
+
'''
|
10346
|
+
The general category of Resource against which Query was performed, e.g. "web" or "cloud".
|
10347
|
+
'''
|
10348
|
+
self.query_hash = query_hash if query_hash is not None else ''
|
10349
|
+
'''
|
10350
|
+
The hash of the body of the Query.
|
10351
|
+
'''
|
10352
|
+
self.query_key = query_key if query_key is not None else ''
|
10353
|
+
'''
|
10354
|
+
The symmetric key used to encrypt the body of this Query and its replay if replayable.
|
10355
|
+
If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
|
10356
|
+
This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
|
10357
|
+
If the Query is not encrypted, this field is empty.
|
10358
|
+
'''
|
10359
|
+
self.record_count = record_count if record_count is not None else 0
|
10360
|
+
'''
|
10361
|
+
The number of records returned by the Query, for a database Resource.
|
10362
|
+
'''
|
10363
|
+
self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
|
10364
|
+
'''
|
10365
|
+
The username of the RemoteIdentity used to access the Resource.
|
10366
|
+
'''
|
10367
|
+
self.replayable = replayable if replayable is not None else False
|
10368
|
+
'''
|
10369
|
+
Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
|
10370
|
+
'''
|
10371
|
+
self.resource_id = resource_id if resource_id is not None else ''
|
10372
|
+
'''
|
10373
|
+
Unique identifier of the Resource against which the Query was performed.
|
10374
|
+
'''
|
10375
|
+
self.resource_name = resource_name if resource_name is not None else ''
|
10376
|
+
'''
|
10377
|
+
The name of the resource accessed, at the time the query was executed. If the resource
|
10378
|
+
is later renamed, that change will not be reflected via this field.
|
10379
|
+
'''
|
10380
|
+
self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
|
10381
|
+
)
|
10382
|
+
'''
|
10383
|
+
The tags of the resource accessed, at the time the query was executed. If the resource
|
10384
|
+
tags are later changed, that change will not be reflected via this field.
|
10385
|
+
'''
|
10386
|
+
self.resource_type = resource_type if resource_type is not None else ''
|
10387
|
+
'''
|
10388
|
+
The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
|
10389
|
+
'''
|
10390
|
+
self.timestamp = timestamp if timestamp is not None else None
|
10391
|
+
'''
|
10392
|
+
The time at which the Query was performed.
|
10393
|
+
'''
|
10394
|
+
|
10395
|
+
def __repr__(self):
|
10396
|
+
return '<sdm.Query ' + \
|
10397
|
+
'account_email: ' + repr(self.account_email) + ' ' +\
|
10398
|
+
'account_first_name: ' + repr(self.account_first_name) + ' ' +\
|
10399
|
+
'account_id: ' + repr(self.account_id) + ' ' +\
|
10400
|
+
'account_last_name: ' + repr(self.account_last_name) + ' ' +\
|
10401
|
+
'account_tags: ' + repr(self.account_tags) + ' ' +\
|
10402
|
+
'duration: ' + repr(self.duration) + ' ' +\
|
10403
|
+
'egress_node_id: ' + repr(self.egress_node_id) + ' ' +\
|
10404
|
+
'encrypted: ' + repr(self.encrypted) + ' ' +\
|
10405
|
+
'id: ' + repr(self.id) + ' ' +\
|
10406
|
+
'query_body: ' + repr(self.query_body) + ' ' +\
|
10407
|
+
'query_category: ' + repr(self.query_category) + ' ' +\
|
10408
|
+
'query_hash: ' + repr(self.query_hash) + ' ' +\
|
10409
|
+
'query_key: ' + repr(self.query_key) + ' ' +\
|
10410
|
+
'record_count: ' + repr(self.record_count) + ' ' +\
|
10411
|
+
'remote_identity_username: ' + repr(self.remote_identity_username) + ' ' +\
|
10412
|
+
'replayable: ' + repr(self.replayable) + ' ' +\
|
10413
|
+
'resource_id: ' + repr(self.resource_id) + ' ' +\
|
10414
|
+
'resource_name: ' + repr(self.resource_name) + ' ' +\
|
10415
|
+
'resource_tags: ' + repr(self.resource_tags) + ' ' +\
|
10416
|
+
'resource_type: ' + repr(self.resource_type) + ' ' +\
|
10417
|
+
'timestamp: ' + repr(self.timestamp) + ' ' +\
|
10418
|
+
'>'
|
10419
|
+
|
10420
|
+
def to_dict(self):
|
10421
|
+
return {
|
10422
|
+
'account_email': self.account_email,
|
10423
|
+
'account_first_name': self.account_first_name,
|
10424
|
+
'account_id': self.account_id,
|
10425
|
+
'account_last_name': self.account_last_name,
|
10426
|
+
'account_tags': self.account_tags,
|
10427
|
+
'duration': self.duration,
|
10428
|
+
'egress_node_id': self.egress_node_id,
|
10429
|
+
'encrypted': self.encrypted,
|
10430
|
+
'id': self.id,
|
10431
|
+
'query_body': self.query_body,
|
10432
|
+
'query_category': self.query_category,
|
10433
|
+
'query_hash': self.query_hash,
|
10434
|
+
'query_key': self.query_key,
|
10435
|
+
'record_count': self.record_count,
|
10436
|
+
'remote_identity_username': self.remote_identity_username,
|
10437
|
+
'replayable': self.replayable,
|
10438
|
+
'resource_id': self.resource_id,
|
10439
|
+
'resource_name': self.resource_name,
|
10440
|
+
'resource_tags': self.resource_tags,
|
10441
|
+
'resource_type': self.resource_type,
|
10442
|
+
'timestamp': self.timestamp,
|
10443
|
+
}
|
10444
|
+
|
10445
|
+
@classmethod
|
10446
|
+
def from_dict(cls, d):
|
10447
|
+
return cls(
|
10448
|
+
account_email=d.get('account_email'),
|
10449
|
+
account_first_name=d.get('account_first_name'),
|
10450
|
+
account_id=d.get('account_id'),
|
10451
|
+
account_last_name=d.get('account_last_name'),
|
10452
|
+
account_tags=d.get('account_tags'),
|
10453
|
+
duration=d.get('duration'),
|
10454
|
+
egress_node_id=d.get('egress_node_id'),
|
10455
|
+
encrypted=d.get('encrypted'),
|
10456
|
+
id=d.get('id'),
|
10457
|
+
query_body=d.get('query_body'),
|
10458
|
+
query_category=d.get('query_category'),
|
10459
|
+
query_hash=d.get('query_hash'),
|
10460
|
+
query_key=d.get('query_key'),
|
10461
|
+
record_count=d.get('record_count'),
|
10462
|
+
remote_identity_username=d.get('remote_identity_username'),
|
10463
|
+
replayable=d.get('replayable'),
|
10464
|
+
resource_id=d.get('resource_id'),
|
10465
|
+
resource_name=d.get('resource_name'),
|
10466
|
+
resource_tags=d.get('resource_tags'),
|
10467
|
+
resource_type=d.get('resource_type'),
|
10468
|
+
timestamp=d.get('timestamp'),
|
10469
|
+
)
|
10470
|
+
|
10471
|
+
|
9257
10472
|
class RDP:
|
9258
10473
|
__slots__ = [
|
9259
10474
|
'bind_interface',
|
@@ -10254,33 +11469,214 @@ class RemoteIdentityGroup:
|
|
10254
11469
|
|
10255
11470
|
def to_dict(self):
|
10256
11471
|
return {
|
10257
|
-
'id': self.id,
|
10258
|
-
'name': self.name,
|
11472
|
+
'id': self.id,
|
11473
|
+
'name': self.name,
|
11474
|
+
}
|
11475
|
+
|
11476
|
+
@classmethod
|
11477
|
+
def from_dict(cls, d):
|
11478
|
+
return cls(
|
11479
|
+
id=d.get('id'),
|
11480
|
+
name=d.get('name'),
|
11481
|
+
)
|
11482
|
+
|
11483
|
+
|
11484
|
+
class RemoteIdentityGroupGetResponse:
|
11485
|
+
'''
|
11486
|
+
RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.
|
11487
|
+
'''
|
11488
|
+
__slots__ = [
|
11489
|
+
'meta',
|
11490
|
+
'rate_limit',
|
11491
|
+
'remote_identity_group',
|
11492
|
+
]
|
11493
|
+
|
11494
|
+
def __init__(
|
11495
|
+
self,
|
11496
|
+
meta=None,
|
11497
|
+
rate_limit=None,
|
11498
|
+
remote_identity_group=None,
|
11499
|
+
):
|
11500
|
+
self.meta = meta if meta is not None else None
|
11501
|
+
'''
|
11502
|
+
Reserved for future use.
|
11503
|
+
'''
|
11504
|
+
self.rate_limit = rate_limit if rate_limit is not None else None
|
11505
|
+
'''
|
11506
|
+
Rate limit information.
|
11507
|
+
'''
|
11508
|
+
self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
|
11509
|
+
'''
|
11510
|
+
The requested RemoteIdentityGroup.
|
11511
|
+
'''
|
11512
|
+
|
11513
|
+
def __repr__(self):
|
11514
|
+
return '<sdm.RemoteIdentityGroupGetResponse ' + \
|
11515
|
+
'meta: ' + repr(self.meta) + ' ' +\
|
11516
|
+
'rate_limit: ' + repr(self.rate_limit) + ' ' +\
|
11517
|
+
'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
|
11518
|
+
'>'
|
11519
|
+
|
11520
|
+
def to_dict(self):
|
11521
|
+
return {
|
11522
|
+
'meta': self.meta,
|
11523
|
+
'rate_limit': self.rate_limit,
|
11524
|
+
'remote_identity_group': self.remote_identity_group,
|
11525
|
+
}
|
11526
|
+
|
11527
|
+
@classmethod
|
11528
|
+
def from_dict(cls, d):
|
11529
|
+
return cls(
|
11530
|
+
meta=d.get('meta'),
|
11531
|
+
rate_limit=d.get('rate_limit'),
|
11532
|
+
remote_identity_group=d.get('remote_identity_group'),
|
11533
|
+
)
|
11534
|
+
|
11535
|
+
|
11536
|
+
class RemoteIdentityGroupHistory:
|
11537
|
+
'''
|
11538
|
+
RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time,
|
11539
|
+
where every change (create, update and delete) to a RemoteIdentityGroup produces an
|
11540
|
+
RemoteIdentityGroupHistory record.
|
11541
|
+
'''
|
11542
|
+
__slots__ = [
|
11543
|
+
'activity_id',
|
11544
|
+
'deleted_at',
|
11545
|
+
'remote_identity_group',
|
11546
|
+
'timestamp',
|
11547
|
+
]
|
11548
|
+
|
11549
|
+
def __init__(
|
11550
|
+
self,
|
11551
|
+
activity_id=None,
|
11552
|
+
deleted_at=None,
|
11553
|
+
remote_identity_group=None,
|
11554
|
+
timestamp=None,
|
11555
|
+
):
|
11556
|
+
self.activity_id = activity_id if activity_id is not None else ''
|
11557
|
+
'''
|
11558
|
+
The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
|
11559
|
+
May be empty for some system-initiated updates.
|
11560
|
+
'''
|
11561
|
+
self.deleted_at = deleted_at if deleted_at is not None else None
|
11562
|
+
'''
|
11563
|
+
If this RemoteIdentityGroup was deleted, the time it was deleted.
|
11564
|
+
'''
|
11565
|
+
self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
|
11566
|
+
'''
|
11567
|
+
The complete RemoteIdentityGroup state at this time.
|
11568
|
+
'''
|
11569
|
+
self.timestamp = timestamp if timestamp is not None else None
|
11570
|
+
'''
|
11571
|
+
The time at which the RemoteIdentityGroup state was recorded.
|
11572
|
+
'''
|
11573
|
+
|
11574
|
+
def __repr__(self):
|
11575
|
+
return '<sdm.RemoteIdentityGroupHistory ' + \
|
11576
|
+
'activity_id: ' + repr(self.activity_id) + ' ' +\
|
11577
|
+
'deleted_at: ' + repr(self.deleted_at) + ' ' +\
|
11578
|
+
'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
|
11579
|
+
'timestamp: ' + repr(self.timestamp) + ' ' +\
|
11580
|
+
'>'
|
11581
|
+
|
11582
|
+
def to_dict(self):
|
11583
|
+
return {
|
11584
|
+
'activity_id': self.activity_id,
|
11585
|
+
'deleted_at': self.deleted_at,
|
11586
|
+
'remote_identity_group': self.remote_identity_group,
|
11587
|
+
'timestamp': self.timestamp,
|
11588
|
+
}
|
11589
|
+
|
11590
|
+
@classmethod
|
11591
|
+
def from_dict(cls, d):
|
11592
|
+
return cls(
|
11593
|
+
activity_id=d.get('activity_id'),
|
11594
|
+
deleted_at=d.get('deleted_at'),
|
11595
|
+
remote_identity_group=d.get('remote_identity_group'),
|
11596
|
+
timestamp=d.get('timestamp'),
|
11597
|
+
)
|
11598
|
+
|
11599
|
+
|
11600
|
+
class RemoteIdentityHistory:
|
11601
|
+
'''
|
11602
|
+
RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time,
|
11603
|
+
where every change (create, update and delete) to a RemoteIdentity produces an
|
11604
|
+
RemoteIdentityHistory record.
|
11605
|
+
'''
|
11606
|
+
__slots__ = [
|
11607
|
+
'activity_id',
|
11608
|
+
'deleted_at',
|
11609
|
+
'remote_identity',
|
11610
|
+
'timestamp',
|
11611
|
+
]
|
11612
|
+
|
11613
|
+
def __init__(
|
11614
|
+
self,
|
11615
|
+
activity_id=None,
|
11616
|
+
deleted_at=None,
|
11617
|
+
remote_identity=None,
|
11618
|
+
timestamp=None,
|
11619
|
+
):
|
11620
|
+
self.activity_id = activity_id if activity_id is not None else ''
|
11621
|
+
'''
|
11622
|
+
The unique identifier of the Activity that produced this change to the RemoteIdentity.
|
11623
|
+
May be empty for some system-initiated updates.
|
11624
|
+
'''
|
11625
|
+
self.deleted_at = deleted_at if deleted_at is not None else None
|
11626
|
+
'''
|
11627
|
+
If this RemoteIdentity was deleted, the time it was deleted.
|
11628
|
+
'''
|
11629
|
+
self.remote_identity = remote_identity if remote_identity is not None else None
|
11630
|
+
'''
|
11631
|
+
The complete RemoteIdentity state at this time.
|
11632
|
+
'''
|
11633
|
+
self.timestamp = timestamp if timestamp is not None else None
|
11634
|
+
'''
|
11635
|
+
The time at which the RemoteIdentity state was recorded.
|
11636
|
+
'''
|
11637
|
+
|
11638
|
+
def __repr__(self):
|
11639
|
+
return '<sdm.RemoteIdentityHistory ' + \
|
11640
|
+
'activity_id: ' + repr(self.activity_id) + ' ' +\
|
11641
|
+
'deleted_at: ' + repr(self.deleted_at) + ' ' +\
|
11642
|
+
'remote_identity: ' + repr(self.remote_identity) + ' ' +\
|
11643
|
+
'timestamp: ' + repr(self.timestamp) + ' ' +\
|
11644
|
+
'>'
|
11645
|
+
|
11646
|
+
def to_dict(self):
|
11647
|
+
return {
|
11648
|
+
'activity_id': self.activity_id,
|
11649
|
+
'deleted_at': self.deleted_at,
|
11650
|
+
'remote_identity': self.remote_identity,
|
11651
|
+
'timestamp': self.timestamp,
|
10259
11652
|
}
|
10260
11653
|
|
10261
11654
|
@classmethod
|
10262
11655
|
def from_dict(cls, d):
|
10263
11656
|
return cls(
|
10264
|
-
|
10265
|
-
|
11657
|
+
activity_id=d.get('activity_id'),
|
11658
|
+
deleted_at=d.get('deleted_at'),
|
11659
|
+
remote_identity=d.get('remote_identity'),
|
11660
|
+
timestamp=d.get('timestamp'),
|
10266
11661
|
)
|
10267
11662
|
|
10268
11663
|
|
10269
|
-
class
|
11664
|
+
class RemoteIdentityUpdateResponse:
|
10270
11665
|
'''
|
10271
|
-
|
11666
|
+
RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by
|
11667
|
+
a RemoteIdentityUpdateRequest.
|
10272
11668
|
'''
|
10273
11669
|
__slots__ = [
|
10274
11670
|
'meta',
|
10275
11671
|
'rate_limit',
|
10276
|
-
'
|
11672
|
+
'remote_identity',
|
10277
11673
|
]
|
10278
11674
|
|
10279
11675
|
def __init__(
|
10280
11676
|
self,
|
10281
11677
|
meta=None,
|
10282
11678
|
rate_limit=None,
|
10283
|
-
|
11679
|
+
remote_identity=None,
|
10284
11680
|
):
|
10285
11681
|
self.meta = meta if meta is not None else None
|
10286
11682
|
'''
|
@@ -10290,23 +11686,23 @@ class RemoteIdentityGroupGetResponse:
|
|
10290
11686
|
'''
|
10291
11687
|
Rate limit information.
|
10292
11688
|
'''
|
10293
|
-
self.
|
11689
|
+
self.remote_identity = remote_identity if remote_identity is not None else None
|
10294
11690
|
'''
|
10295
|
-
The
|
11691
|
+
The updated RemoteIdentity.
|
10296
11692
|
'''
|
10297
11693
|
|
10298
11694
|
def __repr__(self):
|
10299
|
-
return '<sdm.
|
11695
|
+
return '<sdm.RemoteIdentityUpdateResponse ' + \
|
10300
11696
|
'meta: ' + repr(self.meta) + ' ' +\
|
10301
11697
|
'rate_limit: ' + repr(self.rate_limit) + ' ' +\
|
10302
|
-
'
|
11698
|
+
'remote_identity: ' + repr(self.remote_identity) + ' ' +\
|
10303
11699
|
'>'
|
10304
11700
|
|
10305
11701
|
def to_dict(self):
|
10306
11702
|
return {
|
10307
11703
|
'meta': self.meta,
|
10308
11704
|
'rate_limit': self.rate_limit,
|
10309
|
-
'
|
11705
|
+
'remote_identity': self.remote_identity,
|
10310
11706
|
}
|
10311
11707
|
|
10312
11708
|
@classmethod
|
@@ -10314,60 +11710,95 @@ class RemoteIdentityGroupGetResponse:
|
|
10314
11710
|
return cls(
|
10315
11711
|
meta=d.get('meta'),
|
10316
11712
|
rate_limit=d.get('rate_limit'),
|
10317
|
-
|
11713
|
+
remote_identity=d.get('remote_identity'),
|
10318
11714
|
)
|
10319
11715
|
|
10320
11716
|
|
10321
|
-
class
|
11717
|
+
class ReplayChunk:
|
10322
11718
|
'''
|
10323
|
-
|
10324
|
-
a RemoteIdentityUpdateRequest.
|
11719
|
+
A ReplayChunk represents a single "chunk" of data from the query replay.
|
10325
11720
|
'''
|
10326
11721
|
__slots__ = [
|
10327
|
-
'
|
10328
|
-
'
|
10329
|
-
'remote_identity',
|
11722
|
+
'data',
|
11723
|
+
'events',
|
10330
11724
|
]
|
10331
11725
|
|
10332
11726
|
def __init__(
|
10333
11727
|
self,
|
10334
|
-
|
10335
|
-
|
10336
|
-
remote_identity=None,
|
11728
|
+
data=None,
|
11729
|
+
events=None,
|
10337
11730
|
):
|
10338
|
-
self.
|
11731
|
+
self.data = data if data is not None else b''
|
10339
11732
|
'''
|
10340
|
-
|
11733
|
+
The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
|
10341
11734
|
'''
|
10342
|
-
self.
|
11735
|
+
self.events = events if events is not None else []
|
10343
11736
|
'''
|
10344
|
-
|
11737
|
+
The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
|
11738
|
+
and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
|
10345
11739
|
'''
|
10346
|
-
|
11740
|
+
|
11741
|
+
def __repr__(self):
|
11742
|
+
return '<sdm.ReplayChunk ' + \
|
11743
|
+
'data: ' + repr(self.data) + ' ' +\
|
11744
|
+
'events: ' + repr(self.events) + ' ' +\
|
11745
|
+
'>'
|
11746
|
+
|
11747
|
+
def to_dict(self):
|
11748
|
+
return {
|
11749
|
+
'data': self.data,
|
11750
|
+
'events': self.events,
|
11751
|
+
}
|
11752
|
+
|
11753
|
+
@classmethod
|
11754
|
+
def from_dict(cls, d):
|
11755
|
+
return cls(
|
11756
|
+
data=d.get('data'),
|
11757
|
+
events=d.get('events'),
|
11758
|
+
)
|
11759
|
+
|
11760
|
+
|
11761
|
+
class ReplayChunkEvent:
|
11762
|
+
'''
|
11763
|
+
A ReplayChunkEvent represents a single event within a query replay.
|
11764
|
+
The timing information included in each ReplayChunkEvent may be used to replay a session in real time.
|
11765
|
+
'''
|
11766
|
+
__slots__ = [
|
11767
|
+
'data',
|
11768
|
+
'duration',
|
11769
|
+
]
|
11770
|
+
|
11771
|
+
def __init__(
|
11772
|
+
self,
|
11773
|
+
data=None,
|
11774
|
+
duration=None,
|
11775
|
+
):
|
11776
|
+
self.data = data if data is not None else b''
|
10347
11777
|
'''
|
10348
|
-
The
|
11778
|
+
The raw data of the ReplayChunkEvent.
|
11779
|
+
'''
|
11780
|
+
self.duration = duration if duration is not None else None
|
11781
|
+
'''
|
11782
|
+
The time duration over which the data in this ReplayChunkEvent was transferred.
|
10349
11783
|
'''
|
10350
11784
|
|
10351
11785
|
def __repr__(self):
|
10352
|
-
return '<sdm.
|
10353
|
-
'
|
10354
|
-
'
|
10355
|
-
'remote_identity: ' + repr(self.remote_identity) + ' ' +\
|
11786
|
+
return '<sdm.ReplayChunkEvent ' + \
|
11787
|
+
'data: ' + repr(self.data) + ' ' +\
|
11788
|
+
'duration: ' + repr(self.duration) + ' ' +\
|
10356
11789
|
'>'
|
10357
11790
|
|
10358
11791
|
def to_dict(self):
|
10359
11792
|
return {
|
10360
|
-
'
|
10361
|
-
'
|
10362
|
-
'remote_identity': self.remote_identity,
|
11793
|
+
'data': self.data,
|
11794
|
+
'duration': self.duration,
|
10363
11795
|
}
|
10364
11796
|
|
10365
11797
|
@classmethod
|
10366
11798
|
def from_dict(cls, d):
|
10367
11799
|
return cls(
|
10368
|
-
|
10369
|
-
|
10370
|
-
remote_identity=d.get('remote_identity'),
|
11800
|
+
data=d.get('data'),
|
11801
|
+
duration=d.get('duration'),
|
10371
11802
|
)
|
10372
11803
|
|
10373
11804
|
|
@@ -10518,6 +11949,70 @@ class ResourceGetResponse:
|
|
10518
11949
|
)
|
10519
11950
|
|
10520
11951
|
|
11952
|
+
class ResourceHistory:
|
11953
|
+
'''
|
11954
|
+
ResourceHistory records the state of a Resource at a given point in time,
|
11955
|
+
where every change (create, update and delete) to a Resource produces an
|
11956
|
+
ResourceHistory record.
|
11957
|
+
'''
|
11958
|
+
__slots__ = [
|
11959
|
+
'activity_id',
|
11960
|
+
'deleted_at',
|
11961
|
+
'resource',
|
11962
|
+
'timestamp',
|
11963
|
+
]
|
11964
|
+
|
11965
|
+
def __init__(
|
11966
|
+
self,
|
11967
|
+
activity_id=None,
|
11968
|
+
deleted_at=None,
|
11969
|
+
resource=None,
|
11970
|
+
timestamp=None,
|
11971
|
+
):
|
11972
|
+
self.activity_id = activity_id if activity_id is not None else ''
|
11973
|
+
'''
|
11974
|
+
The unique identifier of the Activity that produced this change to the Resource.
|
11975
|
+
May be empty for some system-initiated updates.
|
11976
|
+
'''
|
11977
|
+
self.deleted_at = deleted_at if deleted_at is not None else None
|
11978
|
+
'''
|
11979
|
+
If this Resource was deleted, the time it was deleted.
|
11980
|
+
'''
|
11981
|
+
self.resource = resource if resource is not None else None
|
11982
|
+
'''
|
11983
|
+
The complete Resource state at this time.
|
11984
|
+
'''
|
11985
|
+
self.timestamp = timestamp if timestamp is not None else None
|
11986
|
+
'''
|
11987
|
+
The time at which the Resource state was recorded.
|
11988
|
+
'''
|
11989
|
+
|
11990
|
+
def __repr__(self):
|
11991
|
+
return '<sdm.ResourceHistory ' + \
|
11992
|
+
'activity_id: ' + repr(self.activity_id) + ' ' +\
|
11993
|
+
'deleted_at: ' + repr(self.deleted_at) + ' ' +\
|
11994
|
+
'resource: ' + repr(self.resource) + ' ' +\
|
11995
|
+
'timestamp: ' + repr(self.timestamp) + ' ' +\
|
11996
|
+
'>'
|
11997
|
+
|
11998
|
+
def to_dict(self):
|
11999
|
+
return {
|
12000
|
+
'activity_id': self.activity_id,
|
12001
|
+
'deleted_at': self.deleted_at,
|
12002
|
+
'resource': self.resource,
|
12003
|
+
'timestamp': self.timestamp,
|
12004
|
+
}
|
12005
|
+
|
12006
|
+
@classmethod
|
12007
|
+
def from_dict(cls, d):
|
12008
|
+
return cls(
|
12009
|
+
activity_id=d.get('activity_id'),
|
12010
|
+
deleted_at=d.get('deleted_at'),
|
12011
|
+
resource=d.get('resource'),
|
12012
|
+
timestamp=d.get('timestamp'),
|
12013
|
+
)
|
12014
|
+
|
12015
|
+
|
10521
12016
|
class ResourceUpdateResponse:
|
10522
12017
|
'''
|
10523
12018
|
ResourceUpdateResponse returns the fields of a Resource after it has been updated by
|
@@ -10792,6 +12287,187 @@ class RoleGetResponse:
|
|
10792
12287
|
)
|
10793
12288
|
|
10794
12289
|
|
12290
|
+
class RoleHistory:
|
12291
|
+
'''
|
12292
|
+
RoleHistory records the state of a Role at a given point in time,
|
12293
|
+
where every change (create, update and delete) to a Role produces an
|
12294
|
+
RoleHistory record.
|
12295
|
+
'''
|
12296
|
+
__slots__ = [
|
12297
|
+
'activity_id',
|
12298
|
+
'deleted_at',
|
12299
|
+
'role',
|
12300
|
+
'timestamp',
|
12301
|
+
]
|
12302
|
+
|
12303
|
+
def __init__(
|
12304
|
+
self,
|
12305
|
+
activity_id=None,
|
12306
|
+
deleted_at=None,
|
12307
|
+
role=None,
|
12308
|
+
timestamp=None,
|
12309
|
+
):
|
12310
|
+
self.activity_id = activity_id if activity_id is not None else ''
|
12311
|
+
'''
|
12312
|
+
The unique identifier of the Activity that produced this change to the Role.
|
12313
|
+
May be empty for some system-initiated updates.
|
12314
|
+
'''
|
12315
|
+
self.deleted_at = deleted_at if deleted_at is not None else None
|
12316
|
+
'''
|
12317
|
+
If this Role was deleted, the time it was deleted.
|
12318
|
+
'''
|
12319
|
+
self.role = role if role is not None else None
|
12320
|
+
'''
|
12321
|
+
The complete Role state at this time.
|
12322
|
+
'''
|
12323
|
+
self.timestamp = timestamp if timestamp is not None else None
|
12324
|
+
'''
|
12325
|
+
The time at which the Role state was recorded.
|
12326
|
+
'''
|
12327
|
+
|
12328
|
+
def __repr__(self):
|
12329
|
+
return '<sdm.RoleHistory ' + \
|
12330
|
+
'activity_id: ' + repr(self.activity_id) + ' ' +\
|
12331
|
+
'deleted_at: ' + repr(self.deleted_at) + ' ' +\
|
12332
|
+
'role: ' + repr(self.role) + ' ' +\
|
12333
|
+
'timestamp: ' + repr(self.timestamp) + ' ' +\
|
12334
|
+
'>'
|
12335
|
+
|
12336
|
+
def to_dict(self):
|
12337
|
+
return {
|
12338
|
+
'activity_id': self.activity_id,
|
12339
|
+
'deleted_at': self.deleted_at,
|
12340
|
+
'role': self.role,
|
12341
|
+
'timestamp': self.timestamp,
|
12342
|
+
}
|
12343
|
+
|
12344
|
+
@classmethod
|
12345
|
+
def from_dict(cls, d):
|
12346
|
+
return cls(
|
12347
|
+
activity_id=d.get('activity_id'),
|
12348
|
+
deleted_at=d.get('deleted_at'),
|
12349
|
+
role=d.get('role'),
|
12350
|
+
timestamp=d.get('timestamp'),
|
12351
|
+
)
|
12352
|
+
|
12353
|
+
|
12354
|
+
class RoleResource:
|
12355
|
+
'''
|
12356
|
+
RoleResource represents an individual access grant of a Role to a Resource.
|
12357
|
+
'''
|
12358
|
+
__slots__ = [
|
12359
|
+
'granted_at',
|
12360
|
+
'resource_id',
|
12361
|
+
'role_id',
|
12362
|
+
]
|
12363
|
+
|
12364
|
+
def __init__(
|
12365
|
+
self,
|
12366
|
+
granted_at=None,
|
12367
|
+
resource_id=None,
|
12368
|
+
role_id=None,
|
12369
|
+
):
|
12370
|
+
self.granted_at = granted_at if granted_at is not None else None
|
12371
|
+
'''
|
12372
|
+
The most recent time at which access was granted. If access was granted,
|
12373
|
+
revoked, and granted again, this will reflect the later time.
|
12374
|
+
'''
|
12375
|
+
self.resource_id = resource_id if resource_id is not None else ''
|
12376
|
+
'''
|
12377
|
+
The unique identifier of the Resource to which access is granted.
|
12378
|
+
'''
|
12379
|
+
self.role_id = role_id if role_id is not None else ''
|
12380
|
+
'''
|
12381
|
+
The unique identifier of the Role to which access is granted.
|
12382
|
+
'''
|
12383
|
+
|
12384
|
+
def __repr__(self):
|
12385
|
+
return '<sdm.RoleResource ' + \
|
12386
|
+
'granted_at: ' + repr(self.granted_at) + ' ' +\
|
12387
|
+
'resource_id: ' + repr(self.resource_id) + ' ' +\
|
12388
|
+
'role_id: ' + repr(self.role_id) + ' ' +\
|
12389
|
+
'>'
|
12390
|
+
|
12391
|
+
def to_dict(self):
|
12392
|
+
return {
|
12393
|
+
'granted_at': self.granted_at,
|
12394
|
+
'resource_id': self.resource_id,
|
12395
|
+
'role_id': self.role_id,
|
12396
|
+
}
|
12397
|
+
|
12398
|
+
@classmethod
|
12399
|
+
def from_dict(cls, d):
|
12400
|
+
return cls(
|
12401
|
+
granted_at=d.get('granted_at'),
|
12402
|
+
resource_id=d.get('resource_id'),
|
12403
|
+
role_id=d.get('role_id'),
|
12404
|
+
)
|
12405
|
+
|
12406
|
+
|
12407
|
+
class RoleResourceHistory:
|
12408
|
+
'''
|
12409
|
+
RoleResourceHistory records the state of a RoleResource at a given point in time,
|
12410
|
+
where every change (create or delete) to a RoleResource produces an
|
12411
|
+
RoleResourceHistory record.
|
12412
|
+
'''
|
12413
|
+
__slots__ = [
|
12414
|
+
'activity_id',
|
12415
|
+
'deleted_at',
|
12416
|
+
'role_resource',
|
12417
|
+
'timestamp',
|
12418
|
+
]
|
12419
|
+
|
12420
|
+
def __init__(
|
12421
|
+
self,
|
12422
|
+
activity_id=None,
|
12423
|
+
deleted_at=None,
|
12424
|
+
role_resource=None,
|
12425
|
+
timestamp=None,
|
12426
|
+
):
|
12427
|
+
self.activity_id = activity_id if activity_id is not None else ''
|
12428
|
+
'''
|
12429
|
+
The unique identifier of the Activity that produced this change to the RoleResource.
|
12430
|
+
May be empty for some system-initiated updates.
|
12431
|
+
'''
|
12432
|
+
self.deleted_at = deleted_at if deleted_at is not None else None
|
12433
|
+
'''
|
12434
|
+
If this RoleResource was deleted, the time it was deleted.
|
12435
|
+
'''
|
12436
|
+
self.role_resource = role_resource if role_resource is not None else None
|
12437
|
+
'''
|
12438
|
+
The complete RoleResource state at this time.
|
12439
|
+
'''
|
12440
|
+
self.timestamp = timestamp if timestamp is not None else None
|
12441
|
+
'''
|
12442
|
+
The time at which the RoleResource state was recorded.
|
12443
|
+
'''
|
12444
|
+
|
12445
|
+
def __repr__(self):
|
12446
|
+
return '<sdm.RoleResourceHistory ' + \
|
12447
|
+
'activity_id: ' + repr(self.activity_id) + ' ' +\
|
12448
|
+
'deleted_at: ' + repr(self.deleted_at) + ' ' +\
|
12449
|
+
'role_resource: ' + repr(self.role_resource) + ' ' +\
|
12450
|
+
'timestamp: ' + repr(self.timestamp) + ' ' +\
|
12451
|
+
'>'
|
12452
|
+
|
12453
|
+
def to_dict(self):
|
12454
|
+
return {
|
12455
|
+
'activity_id': self.activity_id,
|
12456
|
+
'deleted_at': self.deleted_at,
|
12457
|
+
'role_resource': self.role_resource,
|
12458
|
+
'timestamp': self.timestamp,
|
12459
|
+
}
|
12460
|
+
|
12461
|
+
@classmethod
|
12462
|
+
def from_dict(cls, d):
|
12463
|
+
return cls(
|
12464
|
+
activity_id=d.get('activity_id'),
|
12465
|
+
deleted_at=d.get('deleted_at'),
|
12466
|
+
role_resource=d.get('role_resource'),
|
12467
|
+
timestamp=d.get('timestamp'),
|
12468
|
+
)
|
12469
|
+
|
12470
|
+
|
10795
12471
|
class RoleUpdateResponse:
|
10796
12472
|
'''
|
10797
12473
|
RoleUpdateResponse returns the fields of a Role after it has been updated by
|
@@ -11532,6 +13208,70 @@ class SecretStoreGetResponse:
|
|
11532
13208
|
)
|
11533
13209
|
|
11534
13210
|
|
13211
|
+
class SecretStoreHistory:
|
13212
|
+
'''
|
13213
|
+
SecretStoreHistory records the state of a SecretStore at a given point in time,
|
13214
|
+
where every change (create, update and delete) to a SecretStore produces an
|
13215
|
+
SecretStoreHistory record.
|
13216
|
+
'''
|
13217
|
+
__slots__ = [
|
13218
|
+
'activity_id',
|
13219
|
+
'deleted_at',
|
13220
|
+
'secret_store',
|
13221
|
+
'timestamp',
|
13222
|
+
]
|
13223
|
+
|
13224
|
+
def __init__(
|
13225
|
+
self,
|
13226
|
+
activity_id=None,
|
13227
|
+
deleted_at=None,
|
13228
|
+
secret_store=None,
|
13229
|
+
timestamp=None,
|
13230
|
+
):
|
13231
|
+
self.activity_id = activity_id if activity_id is not None else ''
|
13232
|
+
'''
|
13233
|
+
The unique identifier of the Activity that produced this change to the SecretStore.
|
13234
|
+
May be empty for some system-initiated updates.
|
13235
|
+
'''
|
13236
|
+
self.deleted_at = deleted_at if deleted_at is not None else None
|
13237
|
+
'''
|
13238
|
+
If this SecretStore was deleted, the time it was deleted.
|
13239
|
+
'''
|
13240
|
+
self.secret_store = secret_store if secret_store is not None else None
|
13241
|
+
'''
|
13242
|
+
The complete SecretStore state at this time.
|
13243
|
+
'''
|
13244
|
+
self.timestamp = timestamp if timestamp is not None else None
|
13245
|
+
'''
|
13246
|
+
The time at which the SecretStore state was recorded.
|
13247
|
+
'''
|
13248
|
+
|
13249
|
+
def __repr__(self):
|
13250
|
+
return '<sdm.SecretStoreHistory ' + \
|
13251
|
+
'activity_id: ' + repr(self.activity_id) + ' ' +\
|
13252
|
+
'deleted_at: ' + repr(self.deleted_at) + ' ' +\
|
13253
|
+
'secret_store: ' + repr(self.secret_store) + ' ' +\
|
13254
|
+
'timestamp: ' + repr(self.timestamp) + ' ' +\
|
13255
|
+
'>'
|
13256
|
+
|
13257
|
+
def to_dict(self):
|
13258
|
+
return {
|
13259
|
+
'activity_id': self.activity_id,
|
13260
|
+
'deleted_at': self.deleted_at,
|
13261
|
+
'secret_store': self.secret_store,
|
13262
|
+
'timestamp': self.timestamp,
|
13263
|
+
}
|
13264
|
+
|
13265
|
+
@classmethod
|
13266
|
+
def from_dict(cls, d):
|
13267
|
+
return cls(
|
13268
|
+
activity_id=d.get('activity_id'),
|
13269
|
+
deleted_at=d.get('deleted_at'),
|
13270
|
+
secret_store=d.get('secret_store'),
|
13271
|
+
timestamp=d.get('timestamp'),
|
13272
|
+
)
|
13273
|
+
|
13274
|
+
|
11535
13275
|
class SecretStoreUpdateResponse:
|
11536
13276
|
'''
|
11537
13277
|
SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by
|