strongdm 11.18.0__zip → 11.22.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.
Files changed (145) hide show
  1. {strongdm-11.18.0 → strongdm-11.22.0}/PKG-INFO +2 -2
  2. {strongdm-11.18.0 → strongdm-11.22.0}/setup.py +2 -2
  3. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/access_requests_pb2.py +41 -16
  4. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/client.py +1 -1
  5. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/constants.py +3 -0
  6. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/drivers_pb2.py +102 -98
  7. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/models.py +46 -0
  8. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/plumbing.py +14 -0
  9. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/replays_pb2.py +8 -6
  10. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm.egg-info/PKG-INFO +2 -2
  11. {strongdm-11.18.0 → strongdm-11.22.0}/LICENSE +0 -0
  12. {strongdm-11.18.0 → strongdm-11.22.0}/README.md +0 -0
  13. {strongdm-11.18.0 → strongdm-11.22.0}/setup.cfg +0 -0
  14. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/__init__.py +0 -0
  15. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/access_request_events_history_pb2.py +0 -0
  16. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/access_request_events_history_pb2_grpc.py +0 -0
  17. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/access_requests_history_pb2.py +0 -0
  18. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/access_requests_history_pb2_grpc.py +0 -0
  19. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/access_requests_pb2_grpc.py +0 -0
  20. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/account_attachments_history_pb2.py +0 -0
  21. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/account_attachments_history_pb2_grpc.py +0 -0
  22. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/account_attachments_pb2.py +0 -0
  23. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/account_attachments_pb2_grpc.py +0 -0
  24. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/account_grants_history_pb2.py +0 -0
  25. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/account_grants_history_pb2_grpc.py +0 -0
  26. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/account_grants_pb2.py +0 -0
  27. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/account_grants_pb2_grpc.py +0 -0
  28. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/account_permissions_pb2.py +0 -0
  29. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/account_permissions_pb2_grpc.py +0 -0
  30. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/account_resources_history_pb2.py +0 -0
  31. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/account_resources_history_pb2_grpc.py +0 -0
  32. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/account_resources_pb2.py +0 -0
  33. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/account_resources_pb2_grpc.py +0 -0
  34. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/accounts_history_pb2.py +0 -0
  35. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/accounts_history_pb2_grpc.py +0 -0
  36. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/accounts_pb2.py +0 -0
  37. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/accounts_pb2_grpc.py +0 -0
  38. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/activities_pb2.py +0 -0
  39. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/activities_pb2_grpc.py +0 -0
  40. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/approval_workflow_approvers_history_pb2.py +0 -0
  41. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/approval_workflow_approvers_history_pb2_grpc.py +0 -0
  42. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/approval_workflow_approvers_pb2.py +0 -0
  43. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/approval_workflow_approvers_pb2_grpc.py +0 -0
  44. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/approval_workflow_steps_history_pb2.py +0 -0
  45. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/approval_workflow_steps_history_pb2_grpc.py +0 -0
  46. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/approval_workflow_steps_pb2.py +0 -0
  47. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/approval_workflow_steps_pb2_grpc.py +0 -0
  48. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/approval_workflows_history_pb2.py +0 -0
  49. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/approval_workflows_history_pb2_grpc.py +0 -0
  50. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/approval_workflows_pb2.py +0 -0
  51. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/approval_workflows_pb2_grpc.py +0 -0
  52. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/control_panel_pb2.py +0 -0
  53. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/control_panel_pb2_grpc.py +0 -0
  54. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/drivers_pb2_grpc.py +0 -0
  55. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/errors.py +0 -0
  56. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/health_checks_pb2.py +0 -0
  57. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/health_checks_pb2_grpc.py +0 -0
  58. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/identity_aliases_history_pb2.py +0 -0
  59. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/identity_aliases_history_pb2_grpc.py +0 -0
  60. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/identity_aliases_pb2.py +0 -0
  61. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/identity_aliases_pb2_grpc.py +0 -0
  62. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/identity_sets_history_pb2.py +0 -0
  63. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/identity_sets_history_pb2_grpc.py +0 -0
  64. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/identity_sets_pb2.py +0 -0
  65. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/identity_sets_pb2_grpc.py +0 -0
  66. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/nodes_history_pb2.py +0 -0
  67. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/nodes_history_pb2_grpc.py +0 -0
  68. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/nodes_pb2.py +0 -0
  69. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/nodes_pb2_grpc.py +0 -0
  70. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/options_pb2.py +0 -0
  71. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/options_pb2_grpc.py +0 -0
  72. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/organization_history_pb2.py +0 -0
  73. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/organization_history_pb2_grpc.py +0 -0
  74. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/peering_group_nodes_pb2.py +0 -0
  75. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/peering_group_nodes_pb2_grpc.py +0 -0
  76. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/peering_group_peers_pb2.py +0 -0
  77. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/peering_group_peers_pb2_grpc.py +0 -0
  78. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/peering_group_resources_pb2.py +0 -0
  79. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/peering_group_resources_pb2_grpc.py +0 -0
  80. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/peering_groups_pb2.py +0 -0
  81. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/peering_groups_pb2_grpc.py +0 -0
  82. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/policies_history_pb2.py +0 -0
  83. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/policies_history_pb2_grpc.py +0 -0
  84. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/policies_pb2.py +0 -0
  85. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/policies_pb2_grpc.py +0 -0
  86. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/proxy_cluster_keys_pb2.py +0 -0
  87. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/proxy_cluster_keys_pb2_grpc.py +0 -0
  88. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/queries_pb2.py +0 -0
  89. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/queries_pb2_grpc.py +0 -0
  90. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/remote_identities_history_pb2.py +0 -0
  91. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/remote_identities_history_pb2_grpc.py +0 -0
  92. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/remote_identities_pb2.py +0 -0
  93. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/remote_identities_pb2_grpc.py +0 -0
  94. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/remote_identity_groups_history_pb2.py +0 -0
  95. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/remote_identity_groups_history_pb2_grpc.py +0 -0
  96. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/remote_identity_groups_pb2.py +0 -0
  97. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/remote_identity_groups_pb2_grpc.py +0 -0
  98. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/replays_pb2_grpc.py +0 -0
  99. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/resources_history_pb2.py +0 -0
  100. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/resources_history_pb2_grpc.py +0 -0
  101. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/resources_pb2.py +0 -0
  102. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/resources_pb2_grpc.py +0 -0
  103. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/role_resources_history_pb2.py +0 -0
  104. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/role_resources_history_pb2_grpc.py +0 -0
  105. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/role_resources_pb2.py +0 -0
  106. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/role_resources_pb2_grpc.py +0 -0
  107. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/roles_history_pb2.py +0 -0
  108. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/roles_history_pb2_grpc.py +0 -0
  109. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/roles_pb2.py +0 -0
  110. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/roles_pb2_grpc.py +0 -0
  111. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/secret_engine_policy_pb2_grpc.py +0 -0
  112. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/secret_engine_types_pb2_grpc.py +0 -0
  113. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/secret_store_healths_pb2.py +0 -0
  114. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/secret_store_healths_pb2_grpc.py +0 -0
  115. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/secret_store_types_pb2.py +0 -0
  116. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/secret_store_types_pb2_grpc.py +0 -0
  117. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/secret_stores_history_pb2.py +0 -0
  118. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/secret_stores_history_pb2_grpc.py +0 -0
  119. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/secret_stores_pb2.py +0 -0
  120. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/secret_stores_pb2_grpc.py +0 -0
  121. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/spec_pb2.py +0 -0
  122. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/spec_pb2_grpc.py +0 -0
  123. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/svc.py +0 -0
  124. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/tags_pb2.py +0 -0
  125. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/tags_pb2_grpc.py +0 -0
  126. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/workflow_approvers_history_pb2.py +0 -0
  127. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/workflow_approvers_history_pb2_grpc.py +0 -0
  128. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/workflow_approvers_pb2.py +0 -0
  129. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/workflow_approvers_pb2_grpc.py +0 -0
  130. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/workflow_assignments_history_pb2.py +0 -0
  131. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/workflow_assignments_history_pb2_grpc.py +0 -0
  132. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/workflow_assignments_pb2.py +0 -0
  133. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/workflow_assignments_pb2_grpc.py +0 -0
  134. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/workflow_roles_history_pb2.py +0 -0
  135. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/workflow_roles_history_pb2_grpc.py +0 -0
  136. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/workflow_roles_pb2.py +0 -0
  137. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/workflow_roles_pb2_grpc.py +0 -0
  138. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/workflows_history_pb2.py +0 -0
  139. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/workflows_history_pb2_grpc.py +0 -0
  140. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/workflows_pb2.py +0 -0
  141. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm/workflows_pb2_grpc.py +0 -0
  142. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm.egg-info/SOURCES.txt +0 -0
  143. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm.egg-info/dependency_links.txt +0 -0
  144. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm.egg-info/requires.txt +0 -0
  145. {strongdm-11.18.0 → strongdm-11.22.0}/strongdm.egg-info/top_level.txt +0 -0
@@ -1735,7 +1735,9 @@ class AccessRequest:
1735
1735
  'grant_id',
1736
1736
  'id',
1737
1737
  'reason',
1738
+ 'requestedduration',
1738
1739
  'resource_id',
1740
+ 'resultduration',
1739
1741
  'start_from',
1740
1742
  'status',
1741
1743
  'status_at',
@@ -1750,7 +1752,9 @@ class AccessRequest:
1750
1752
  grant_id=None,
1751
1753
  id=None,
1752
1754
  reason=None,
1755
+ requestedduration=None,
1753
1756
  resource_id=None,
1757
+ resultduration=None,
1754
1758
  start_from=None,
1755
1759
  status=None,
1756
1760
  status_at=None,
@@ -1764,6 +1768,7 @@ class AccessRequest:
1764
1768
  self.duration = duration if duration is not None else 0
1765
1769
  '''
1766
1770
  Duration of the access request.
1771
+ Deprecated: use requested/result duration instead
1767
1772
  '''
1768
1773
  self.grant_id = grant_id if grant_id is not None else ''
1769
1774
  '''
@@ -1777,10 +1782,18 @@ class AccessRequest:
1777
1782
  '''
1778
1783
  The reason the access was requested.
1779
1784
  '''
1785
+ self.requestedduration = requestedduration if requestedduration is not None else None
1786
+ '''
1787
+ The duration that access was requested for, if any.
1788
+ '''
1780
1789
  self.resource_id = resource_id if resource_id is not None else ''
1781
1790
  '''
1782
1791
  The resource id.
1783
1792
  '''
1793
+ self.resultduration = resultduration if resultduration is not None else None
1794
+ '''
1795
+ The duration that results from an approved request.
1796
+ '''
1784
1797
  self.start_from = start_from if start_from is not None else None
1785
1798
  '''
1786
1799
  The timestamp when the requested access will be granted.
@@ -1810,7 +1823,9 @@ class AccessRequest:
1810
1823
  'grant_id: ' + repr(self.grant_id) + ' ' +\
1811
1824
  'id: ' + repr(self.id) + ' ' +\
1812
1825
  'reason: ' + repr(self.reason) + ' ' +\
1826
+ 'requestedduration: ' + repr(self.requestedduration) + ' ' +\
1813
1827
  'resource_id: ' + repr(self.resource_id) + ' ' +\
1828
+ 'resultduration: ' + repr(self.resultduration) + ' ' +\
1814
1829
  'start_from: ' + repr(self.start_from) + ' ' +\
1815
1830
  'status: ' + repr(self.status) + ' ' +\
1816
1831
  'status_at: ' + repr(self.status_at) + ' ' +\
@@ -1825,7 +1840,9 @@ class AccessRequest:
1825
1840
  'grant_id': self.grant_id,
1826
1841
  'id': self.id,
1827
1842
  'reason': self.reason,
1843
+ 'requestedduration': self.requestedduration,
1828
1844
  'resource_id': self.resource_id,
1845
+ 'resultduration': self.resultduration,
1829
1846
  'start_from': self.start_from,
1830
1847
  'status': self.status,
1831
1848
  'status_at': self.status_at,
@@ -1841,7 +1858,9 @@ class AccessRequest:
1841
1858
  grant_id=d.get('grant_id'),
1842
1859
  id=d.get('id'),
1843
1860
  reason=d.get('reason'),
1861
+ requestedduration=d.get('requestedduration'),
1844
1862
  resource_id=d.get('resource_id'),
1863
+ resultduration=d.get('resultduration'),
1845
1864
  start_from=d.get('start_from'),
1846
1865
  status=d.get('status'),
1847
1866
  status_at=d.get('status_at'),
@@ -10503,6 +10522,7 @@ class GCPWIF:
10503
10522
  'identity_set_id',
10504
10523
  'name',
10505
10524
  'port_override',
10525
+ 'project_id',
10506
10526
  'proxy_cluster_id',
10507
10527
  'scopes',
10508
10528
  'secret_store_id',
@@ -10523,6 +10543,7 @@ class GCPWIF:
10523
10543
  identity_set_id=None,
10524
10544
  name=None,
10525
10545
  port_override=None,
10546
+ project_id=None,
10526
10547
  proxy_cluster_id=None,
10527
10548
  scopes=None,
10528
10549
  secret_store_id=None,
@@ -10564,6 +10585,10 @@ class GCPWIF:
10564
10585
  '''
10565
10586
  The local port used by clients to connect to this resource.
10566
10587
  '''
10588
+ self.project_id = project_id if project_id is not None else ''
10589
+ '''
10590
+ When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
10591
+ '''
10567
10592
  self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10568
10593
  '''
10569
10594
  ID of the proxy cluster for this resource, if any.
@@ -10607,6 +10632,7 @@ class GCPWIF:
10607
10632
  'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
10608
10633
  'name: ' + repr(self.name) + ' ' +\
10609
10634
  'port_override: ' + repr(self.port_override) + ' ' +\
10635
+ 'project_id: ' + repr(self.project_id) + ' ' +\
10610
10636
  'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10611
10637
  'scopes: ' + repr(self.scopes) + ' ' +\
10612
10638
  'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
@@ -10628,6 +10654,7 @@ class GCPWIF:
10628
10654
  'identity_set_id': self.identity_set_id,
10629
10655
  'name': self.name,
10630
10656
  'port_override': self.port_override,
10657
+ 'project_id': self.project_id,
10631
10658
  'proxy_cluster_id': self.proxy_cluster_id,
10632
10659
  'scopes': self.scopes,
10633
10660
  'secret_store_id': self.secret_store_id,
@@ -10650,6 +10677,7 @@ class GCPWIF:
10650
10677
  identity_set_id=d.get('identity_set_id'),
10651
10678
  name=d.get('name'),
10652
10679
  port_override=d.get('port_override'),
10680
+ project_id=d.get('project_id'),
10653
10681
  proxy_cluster_id=d.get('proxy_cluster_id'),
10654
10682
  scopes=d.get('scopes'),
10655
10683
  secret_store_id=d.get('secret_store_id'),
@@ -19217,6 +19245,7 @@ class RDPCert:
19217
19245
  'id',
19218
19246
  'identity_alias_healthcheck_username',
19219
19247
  'identity_set_id',
19248
+ 'lock_required',
19220
19249
  'name',
19221
19250
  'port',
19222
19251
  'port_override',
@@ -19236,6 +19265,7 @@ class RDPCert:
19236
19265
  id=None,
19237
19266
  identity_alias_healthcheck_username=None,
19238
19267
  identity_set_id=None,
19268
+ lock_required=None,
19239
19269
  name=None,
19240
19270
  port=None,
19241
19271
  port_override=None,
@@ -19273,6 +19303,10 @@ class RDPCert:
19273
19303
  '''
19274
19304
  The ID of the identity set to use for identity connections.
19275
19305
  '''
19306
+ self.lock_required = lock_required if lock_required is not None else False
19307
+ '''
19308
+ When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
19309
+ '''
19276
19310
  self.name = name if name is not None else ''
19277
19311
  '''
19278
19312
  Unique human-readable name of the Resource.
@@ -19315,6 +19349,7 @@ class RDPCert:
19315
19349
  'id: ' + repr(self.id) + ' ' +\
19316
19350
  'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
19317
19351
  'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
19352
+ 'lock_required: ' + repr(self.lock_required) + ' ' +\
19318
19353
  'name: ' + repr(self.name) + ' ' +\
19319
19354
  'port: ' + repr(self.port) + ' ' +\
19320
19355
  'port_override: ' + repr(self.port_override) + ' ' +\
@@ -19335,6 +19370,7 @@ class RDPCert:
19335
19370
  'identity_alias_healthcheck_username':
19336
19371
  self.identity_alias_healthcheck_username,
19337
19372
  'identity_set_id': self.identity_set_id,
19373
+ 'lock_required': self.lock_required,
19338
19374
  'name': self.name,
19339
19375
  'port': self.port,
19340
19376
  'port_override': self.port_override,
@@ -19356,6 +19392,7 @@ class RDPCert:
19356
19392
  identity_alias_healthcheck_username=d.get(
19357
19393
  'identity_alias_healthcheck_username'),
19358
19394
  identity_set_id=d.get('identity_set_id'),
19395
+ lock_required=d.get('lock_required'),
19359
19396
  name=d.get('name'),
19360
19397
  port=d.get('port'),
19361
19398
  port_override=d.get('port_override'),
@@ -20829,12 +20866,14 @@ class ReplayChunk:
20829
20866
  __slots__ = [
20830
20867
  'data',
20831
20868
  'events',
20869
+ 'symmetric_key',
20832
20870
  ]
20833
20871
 
20834
20872
  def __init__(
20835
20873
  self,
20836
20874
  data=None,
20837
20875
  events=None,
20876
+ symmetric_key=None,
20838
20877
  ):
20839
20878
  self.data = data if data is not None else b''
20840
20879
  '''
@@ -20845,17 +20884,23 @@ class ReplayChunk:
20845
20884
  The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
20846
20885
  and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
20847
20886
  '''
20887
+ self.symmetric_key = symmetric_key if symmetric_key is not None else ''
20888
+ '''
20889
+ If the data is encrypted, this contains the encrypted symmetric key
20890
+ '''
20848
20891
 
20849
20892
  def __repr__(self):
20850
20893
  return '<sdm.ReplayChunk ' + \
20851
20894
  'data: ' + repr(self.data) + ' ' +\
20852
20895
  'events: ' + repr(self.events) + ' ' +\
20896
+ 'symmetric_key: ' + repr(self.symmetric_key) + ' ' +\
20853
20897
  '>'
20854
20898
 
20855
20899
  def to_dict(self):
20856
20900
  return {
20857
20901
  'data': self.data,
20858
20902
  'events': self.events,
20903
+ 'symmetric_key': self.symmetric_key,
20859
20904
  }
20860
20905
 
20861
20906
  @classmethod
@@ -20863,6 +20908,7 @@ class ReplayChunk:
20863
20908
  return cls(
20864
20909
  data=d.get('data'),
20865
20910
  events=d.get('events'),
20911
+ symmetric_key=d.get('symmetric_key'),
20866
20912
  )
20867
20913
 
20868
20914
 
@@ -794,7 +794,11 @@ def convert_access_request_to_porcelain(plumbing):
794
794
  porcelain.grant_id = (plumbing.grant_id)
795
795
  porcelain.id = (plumbing.id)
796
796
  porcelain.reason = (plumbing.reason)
797
+ porcelain.requestedduration = convert_duration_to_porcelain(
798
+ plumbing.requestedDuration)
797
799
  porcelain.resource_id = (plumbing.resource_id)
800
+ porcelain.resultduration = convert_duration_to_porcelain(
801
+ plumbing.resultDuration)
798
802
  porcelain.start_from = convert_timestamp_to_porcelain(plumbing.start_from)
799
803
  porcelain.status = (plumbing.status)
800
804
  porcelain.status_at = convert_timestamp_to_porcelain(plumbing.status_at)
@@ -813,7 +817,11 @@ def convert_access_request_to_plumbing(porcelain):
813
817
  plumbing.grant_id = (porcelain.grant_id)
814
818
  plumbing.id = (porcelain.id)
815
819
  plumbing.reason = (porcelain.reason)
820
+ plumbing.requestedDuration.CopyFrom(
821
+ convert_duration_to_plumbing(porcelain.requestedduration))
816
822
  plumbing.resource_id = (porcelain.resource_id)
823
+ plumbing.resultDuration.CopyFrom(
824
+ convert_duration_to_plumbing(porcelain.resultduration))
817
825
  plumbing.start_from.CopyFrom(
818
826
  convert_timestamp_to_plumbing(porcelain.start_from))
819
827
  plumbing.status = (porcelain.status)
@@ -4997,6 +5005,7 @@ def convert_gcpwif_to_porcelain(plumbing):
4997
5005
  porcelain.identity_set_id = (plumbing.identity_set_id)
4998
5006
  porcelain.name = (plumbing.name)
4999
5007
  porcelain.port_override = (plumbing.port_override)
5008
+ porcelain.project_id = (plumbing.project_id)
5000
5009
  porcelain.proxy_cluster_id = (plumbing.proxy_cluster_id)
5001
5010
  porcelain.scopes = (plumbing.scopes)
5002
5011
  porcelain.secret_store_id = (plumbing.secret_store_id)
@@ -5021,6 +5030,7 @@ def convert_gcpwif_to_plumbing(porcelain):
5021
5030
  plumbing.identity_set_id = (porcelain.identity_set_id)
5022
5031
  plumbing.name = (porcelain.name)
5023
5032
  plumbing.port_override = (porcelain.port_override)
5033
+ plumbing.project_id = (porcelain.project_id)
5024
5034
  plumbing.proxy_cluster_id = (porcelain.proxy_cluster_id)
5025
5035
  plumbing.scopes = (porcelain.scopes)
5026
5036
  plumbing.secret_store_id = (porcelain.secret_store_id)
@@ -9030,6 +9040,7 @@ def convert_rdp_cert_to_porcelain(plumbing):
9030
9040
  porcelain.identity_alias_healthcheck_username = (
9031
9041
  plumbing.identity_alias_healthcheck_username)
9032
9042
  porcelain.identity_set_id = (plumbing.identity_set_id)
9043
+ porcelain.lock_required = (plumbing.lock_required)
9033
9044
  porcelain.name = (plumbing.name)
9034
9045
  porcelain.port = (plumbing.port)
9035
9046
  porcelain.port_override = (plumbing.port_override)
@@ -9053,6 +9064,7 @@ def convert_rdp_cert_to_plumbing(porcelain):
9053
9064
  plumbing.identity_alias_healthcheck_username = (
9054
9065
  porcelain.identity_alias_healthcheck_username)
9055
9066
  plumbing.identity_set_id = (porcelain.identity_set_id)
9067
+ plumbing.lock_required = (porcelain.lock_required)
9056
9068
  plumbing.name = (porcelain.name)
9057
9069
  plumbing.port = (porcelain.port)
9058
9070
  plumbing.port_override = (porcelain.port_override)
@@ -9782,6 +9794,7 @@ def convert_replay_chunk_to_porcelain(plumbing):
9782
9794
  porcelain.data = (plumbing.data)
9783
9795
  porcelain.events = convert_repeated_replay_chunk_event_to_porcelain(
9784
9796
  plumbing.events)
9797
+ porcelain.symmetric_key = (plumbing.symmetric_key)
9785
9798
  return porcelain
9786
9799
 
9787
9800
 
@@ -9793,6 +9806,7 @@ def convert_replay_chunk_to_plumbing(porcelain):
9793
9806
  del plumbing.events[:]
9794
9807
  plumbing.events.extend(
9795
9808
  convert_repeated_replay_chunk_event_to_plumbing(porcelain.events))
9809
+ plumbing.symmetric_key = (porcelain.symmetric_key)
9796
9810
  return plumbing
9797
9811
 
9798
9812
 
@@ -31,7 +31,7 @@ from . import options_pb2 as options__pb2
31
31
  from . import spec_pb2 as spec__pb2
32
32
 
33
33
 
34
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rreplays.proto\x12\x02v1\x1a\x1egoogle/protobuf/duration.proto\x1a\roptions.proto\x1a\nspec.proto\"\x80\x01\n\x11ReplayListRequest\x12%\n\x04meta\x18\x01 \x01(\x0b\x32\x17.v1.ListRequestMetadata\x12\x1a\n\x06\x66ilter\x18\x02 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:(\xfa\xf8\xb3\x07\x06\xd2\xf3\xb3\x07\x01*\xfa\xf8\xb3\x07\x18\xd2\xf3\xb3\x07\x13!terraform-provider\"\xec\x01\n\x12ReplayListResponse\x12&\n\x04meta\x18\x01 \x01(\x0b\x32\x18.v1.ListResponseMetadata\x12+\n\x06\x63hunks\x18\x02 \x03(\x0b\x32\x0f.v1.ReplayChunkB\n\xf2\xf8\xb3\x07\x05\xb8\xf3\xb3\x07\x01\x12W\n\nrate_limit\x18\x03 \x01(\x0b\x32\x15.v1.RateLimitMetadataB,\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\xf2\xf8\xb3\x07\x06\xb2\xf4\xb3\x07\x01*\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway:(\xfa\xf8\xb3\x07\x06\xd2\xf3\xb3\x07\x01*\xfa\xf8\xb3\x07\x18\xd2\xf3\xb3\x07\x13!terraform-provider\"\x8d\x01\n\x0bReplayChunk\x12\x18\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x42\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x30\n\x06\x65vents\x18\x02 \x03(\x0b\x32\x14.v1.ReplayChunkEventB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:2\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\xfa\xf8\xb3\x07\x06\xd2\xf3\xb3\x07\x01*\xfa\xf8\xb3\x07\x18\xd2\xf3\xb3\x07\x13!terraform-provider\"\x99\x01\n\x10ReplayChunkEvent\x12\x18\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x42\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x37\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:2\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\xfa\xf8\xb3\x07\x06\xd2\xf3\xb3\x07\x01*\xfa\xf8\xb3\x07\x18\xd2\xf3\xb3\x07\x13!terraform-provider2\xad\x01\n\x07Replays\x12Y\n\x04List\x12\x15.v1.ReplayListRequest\x1a\x16.v1.ReplayListResponse\"\"\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x10\xaa\xf3\xb3\x07\x0b/v1/replays\x1aG\xca\xf9\xb3\x07\x10\xc2\xf9\xb3\x07\x0bReplayChunk\xca\xf9\xb3\x07\x05\xd8\xf9\xb3\x07\x01\xca\xf9\xb3\x07\x06\xca\xf9\xb3\x07\x01*\xca\xf9\xb3\x07\x18\xca\xf9\xb3\x07\x13!terraform-providerB\x8b\x01\n\x19\x63om.strongdm.api.plumbingB\x0fReplaysPlumbingZ5github.com/strongdm/strongdm-sdk-go/v3/internal/v1;v1\xc2\x92\xb4\x07\x06\xa2\x8c\xb4\x07\x01*\xc2\x92\xb4\x07\x18\xa2\x8c\xb4\x07\x13!terraform-providerb\x06proto3')
34
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rreplays.proto\x12\x02v1\x1a\x1egoogle/protobuf/duration.proto\x1a\roptions.proto\x1a\nspec.proto\"\x80\x01\n\x11ReplayListRequest\x12%\n\x04meta\x18\x01 \x01(\x0b\x32\x17.v1.ListRequestMetadata\x12\x1a\n\x06\x66ilter\x18\x02 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:(\xfa\xf8\xb3\x07\x06\xd2\xf3\xb3\x07\x01*\xfa\xf8\xb3\x07\x18\xd2\xf3\xb3\x07\x13!terraform-provider\"\xec\x01\n\x12ReplayListResponse\x12&\n\x04meta\x18\x01 \x01(\x0b\x32\x18.v1.ListResponseMetadata\x12+\n\x06\x63hunks\x18\x02 \x03(\x0b\x32\x0f.v1.ReplayChunkB\n\xf2\xf8\xb3\x07\x05\xb8\xf3\xb3\x07\x01\x12W\n\nrate_limit\x18\x03 \x01(\x0b\x32\x15.v1.RateLimitMetadataB,\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\xf2\xf8\xb3\x07\x06\xb2\xf4\xb3\x07\x01*\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway:(\xfa\xf8\xb3\x07\x06\xd2\xf3\xb3\x07\x01*\xfa\xf8\xb3\x07\x18\xd2\xf3\xb3\x07\x13!terraform-provider\"\xb0\x01\n\x0bReplayChunk\x12\x18\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x42\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x30\n\x06\x65vents\x18\x02 \x03(\x0b\x32\x14.v1.ReplayChunkEventB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12!\n\rsymmetric_key\x18\x03 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:2\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\xfa\xf8\xb3\x07\x06\xd2\xf3\xb3\x07\x01*\xfa\xf8\xb3\x07\x18\xd2\xf3\xb3\x07\x13!terraform-provider\"\x99\x01\n\x10ReplayChunkEvent\x12\x18\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x42\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x37\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:2\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\xfa\xf8\xb3\x07\x06\xd2\xf3\xb3\x07\x01*\xfa\xf8\xb3\x07\x18\xd2\xf3\xb3\x07\x13!terraform-provider2\xad\x01\n\x07Replays\x12Y\n\x04List\x12\x15.v1.ReplayListRequest\x1a\x16.v1.ReplayListResponse\"\"\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x10\xaa\xf3\xb3\x07\x0b/v1/replays\x1aG\xca\xf9\xb3\x07\x10\xc2\xf9\xb3\x07\x0bReplayChunk\xca\xf9\xb3\x07\x05\xd8\xf9\xb3\x07\x01\xca\xf9\xb3\x07\x06\xca\xf9\xb3\x07\x01*\xca\xf9\xb3\x07\x18\xca\xf9\xb3\x07\x13!terraform-providerB\x8b\x01\n\x19\x63om.strongdm.api.plumbingB\x0fReplaysPlumbingZ5github.com/strongdm/strongdm-sdk-go/v3/internal/v1;v1\xc2\x92\xb4\x07\x06\xa2\x8c\xb4\x07\x01*\xc2\x92\xb4\x07\x18\xa2\x8c\xb4\x07\x13!terraform-providerb\x06proto3')
35
35
 
36
36
 
37
37
 
@@ -86,6 +86,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
86
86
  _REPLAYCHUNK.fields_by_name['data']._serialized_options = b'\362\370\263\007\005\260\363\263\007\001'
87
87
  _REPLAYCHUNK.fields_by_name['events']._options = None
88
88
  _REPLAYCHUNK.fields_by_name['events']._serialized_options = b'\362\370\263\007\005\260\363\263\007\001'
89
+ _REPLAYCHUNK.fields_by_name['symmetric_key']._options = None
90
+ _REPLAYCHUNK.fields_by_name['symmetric_key']._serialized_options = b'\362\370\263\007\005\260\363\263\007\001'
89
91
  _REPLAYCHUNK._options = None
90
92
  _REPLAYCHUNK._serialized_options = b'\372\370\263\007\005\250\363\263\007\001\372\370\263\007\006\322\363\263\007\001*\372\370\263\007\030\322\363\263\007\023!terraform-provider'
91
93
  _REPLAYCHUNKEVENT.fields_by_name['data']._options = None
@@ -103,9 +105,9 @@ if _descriptor._USE_C_DESCRIPTORS == False:
103
105
  _REPLAYLISTRESPONSE._serialized_start=212
104
106
  _REPLAYLISTRESPONSE._serialized_end=448
105
107
  _REPLAYCHUNK._serialized_start=451
106
- _REPLAYCHUNK._serialized_end=592
107
- _REPLAYCHUNKEVENT._serialized_start=595
108
- _REPLAYCHUNKEVENT._serialized_end=748
109
- _REPLAYS._serialized_start=751
110
- _REPLAYS._serialized_end=924
108
+ _REPLAYCHUNK._serialized_end=627
109
+ _REPLAYCHUNKEVENT._serialized_start=630
110
+ _REPLAYCHUNKEVENT._serialized_end=783
111
+ _REPLAYS._serialized_start=786
112
+ _REPLAYS._serialized_end=959
111
113
  # @@protoc_insertion_point(module_scope)
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strongdm
3
- Version: 11.18.0
3
+ Version: 11.22.0
4
4
  Summary: strongDM SDK for the Python programming language.
5
5
  Home-page: https://github.com/strongdm/strongdm-sdk-python
6
6
  Author: strongDM Team
7
7
  Author-email: sdk-feedback@strongdm.com
8
8
  License: apache-2.0
9
- Download-URL: https://github.com/strongdm/strongdm-sdk-python/archive/v11.18.0.tar.gz
9
+ Download-URL: https://github.com/strongdm/strongdm-sdk-python/archive/v11.22.0.tar.gz
10
10
  Keywords: strongDM,sdm,api,automation,security,audit,database,server,ssh,rdp
11
11
  Platform: UNKNOWN
12
12
  Classifier: Development Status :: 4 - Beta
File without changes
File without changes
File without changes