strongdm 14.25.0__zip → 15.0.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 (151) hide show
  1. {strongdm-14.25.0 → strongdm-15.0.0}/PKG-INFO +2 -2
  2. {strongdm-14.25.0 → strongdm-15.0.0}/setup.py +2 -2
  3. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/client.py +1 -25
  4. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/models.py +0 -172
  5. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/plumbing.py +0 -138
  6. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/svc.py +0 -122
  7. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm.egg-info/PKG-INFO +2 -2
  8. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm.egg-info/SOURCES.txt +0 -4
  9. strongdm-14.25.0/strongdm/workflow_assignments_history_pb2.py +0 -100
  10. strongdm-14.25.0/strongdm/workflow_assignments_history_pb2_grpc.py +0 -84
  11. strongdm-14.25.0/strongdm/workflow_assignments_pb2.py +0 -94
  12. strongdm-14.25.0/strongdm/workflow_assignments_pb2_grpc.py +0 -87
  13. {strongdm-14.25.0 → strongdm-15.0.0}/LICENSE +0 -0
  14. {strongdm-14.25.0 → strongdm-15.0.0}/README.md +0 -0
  15. {strongdm-14.25.0 → strongdm-15.0.0}/setup.cfg +0 -0
  16. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/__init__.py +0 -0
  17. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/access_request_events_history_pb2.py +0 -0
  18. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/access_request_events_history_pb2_grpc.py +0 -0
  19. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/access_requests_history_pb2.py +0 -0
  20. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/access_requests_history_pb2_grpc.py +0 -0
  21. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/access_requests_pb2.py +0 -0
  22. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/access_requests_pb2_grpc.py +0 -0
  23. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/account_attachments_history_pb2.py +0 -0
  24. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/account_attachments_history_pb2_grpc.py +0 -0
  25. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/account_attachments_pb2.py +0 -0
  26. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/account_attachments_pb2_grpc.py +0 -0
  27. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/account_grants_history_pb2.py +0 -0
  28. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/account_grants_history_pb2_grpc.py +0 -0
  29. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/account_grants_pb2.py +0 -0
  30. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/account_grants_pb2_grpc.py +0 -0
  31. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/account_permissions_pb2.py +0 -0
  32. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/account_permissions_pb2_grpc.py +0 -0
  33. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/account_resources_history_pb2.py +0 -0
  34. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/account_resources_history_pb2_grpc.py +0 -0
  35. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/account_resources_pb2.py +0 -0
  36. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/account_resources_pb2_grpc.py +0 -0
  37. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/accounts_history_pb2.py +0 -0
  38. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/accounts_history_pb2_grpc.py +0 -0
  39. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/accounts_pb2.py +0 -0
  40. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/accounts_pb2_grpc.py +0 -0
  41. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/activities_pb2.py +0 -0
  42. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/activities_pb2_grpc.py +0 -0
  43. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/approval_workflow_approvers_history_pb2.py +0 -0
  44. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/approval_workflow_approvers_history_pb2_grpc.py +0 -0
  45. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/approval_workflow_approvers_pb2.py +0 -0
  46. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/approval_workflow_approvers_pb2_grpc.py +0 -0
  47. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/approval_workflow_steps_history_pb2.py +0 -0
  48. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/approval_workflow_steps_history_pb2_grpc.py +0 -0
  49. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/approval_workflow_steps_pb2.py +0 -0
  50. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/approval_workflow_steps_pb2_grpc.py +0 -0
  51. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/approval_workflows_history_pb2.py +0 -0
  52. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/approval_workflows_history_pb2_grpc.py +0 -0
  53. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/approval_workflows_pb2.py +0 -0
  54. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/approval_workflows_pb2_grpc.py +0 -0
  55. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/constants.py +0 -0
  56. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/control_panel_pb2.py +0 -0
  57. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/control_panel_pb2_grpc.py +0 -0
  58. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/drivers_pb2.py +0 -0
  59. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/drivers_pb2_grpc.py +0 -0
  60. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/errors.py +0 -0
  61. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/health_checks_pb2.py +0 -0
  62. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/health_checks_pb2_grpc.py +0 -0
  63. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/identity_aliases_history_pb2.py +0 -0
  64. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/identity_aliases_history_pb2_grpc.py +0 -0
  65. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/identity_aliases_pb2.py +0 -0
  66. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/identity_aliases_pb2_grpc.py +0 -0
  67. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/identity_sets_history_pb2.py +0 -0
  68. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/identity_sets_history_pb2_grpc.py +0 -0
  69. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/identity_sets_pb2.py +0 -0
  70. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/identity_sets_pb2_grpc.py +0 -0
  71. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/managed_secrets_pb2.py +0 -0
  72. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/managed_secrets_pb2_grpc.py +0 -0
  73. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/nodes_history_pb2.py +0 -0
  74. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/nodes_history_pb2_grpc.py +0 -0
  75. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/nodes_pb2.py +0 -0
  76. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/nodes_pb2_grpc.py +0 -0
  77. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/options_pb2.py +0 -0
  78. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/options_pb2_grpc.py +0 -0
  79. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/organization_history_pb2.py +0 -0
  80. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/organization_history_pb2_grpc.py +0 -0
  81. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/peering_group_nodes_pb2.py +0 -0
  82. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/peering_group_nodes_pb2_grpc.py +0 -0
  83. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/peering_group_peers_pb2.py +0 -0
  84. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/peering_group_peers_pb2_grpc.py +0 -0
  85. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/peering_group_resources_pb2.py +0 -0
  86. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/peering_group_resources_pb2_grpc.py +0 -0
  87. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/peering_groups_pb2.py +0 -0
  88. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/peering_groups_pb2_grpc.py +0 -0
  89. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/policies_history_pb2.py +0 -0
  90. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/policies_history_pb2_grpc.py +0 -0
  91. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/policies_pb2.py +0 -0
  92. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/policies_pb2_grpc.py +0 -0
  93. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/proxy_cluster_keys_pb2.py +0 -0
  94. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/proxy_cluster_keys_pb2_grpc.py +0 -0
  95. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/queries_pb2.py +0 -0
  96. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/queries_pb2_grpc.py +0 -0
  97. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/remote_identities_history_pb2.py +0 -0
  98. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/remote_identities_history_pb2_grpc.py +0 -0
  99. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/remote_identities_pb2.py +0 -0
  100. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/remote_identities_pb2_grpc.py +0 -0
  101. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/remote_identity_groups_history_pb2.py +0 -0
  102. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/remote_identity_groups_history_pb2_grpc.py +0 -0
  103. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/remote_identity_groups_pb2.py +0 -0
  104. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/remote_identity_groups_pb2_grpc.py +0 -0
  105. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/replays_pb2.py +0 -0
  106. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/replays_pb2_grpc.py +0 -0
  107. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/resources_history_pb2.py +0 -0
  108. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/resources_history_pb2_grpc.py +0 -0
  109. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/resources_pb2.py +0 -0
  110. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/resources_pb2_grpc.py +0 -0
  111. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/role_resources_history_pb2.py +0 -0
  112. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/role_resources_history_pb2_grpc.py +0 -0
  113. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/role_resources_pb2.py +0 -0
  114. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/role_resources_pb2_grpc.py +0 -0
  115. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/roles_history_pb2.py +0 -0
  116. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/roles_history_pb2_grpc.py +0 -0
  117. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/roles_pb2.py +0 -0
  118. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/roles_pb2_grpc.py +0 -0
  119. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/secret_engine_policy_pb2.py +0 -0
  120. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/secret_engine_policy_pb2_grpc.py +0 -0
  121. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/secret_engine_types_pb2.py +0 -0
  122. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/secret_engine_types_pb2_grpc.py +0 -0
  123. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/secret_engines_pb2.py +0 -0
  124. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/secret_engines_pb2_grpc.py +0 -0
  125. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/secret_store_healths_pb2.py +0 -0
  126. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/secret_store_healths_pb2_grpc.py +0 -0
  127. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/secret_store_types_pb2.py +0 -0
  128. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/secret_store_types_pb2_grpc.py +0 -0
  129. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/secret_stores_history_pb2.py +0 -0
  130. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/secret_stores_history_pb2_grpc.py +0 -0
  131. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/secret_stores_pb2.py +0 -0
  132. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/secret_stores_pb2_grpc.py +0 -0
  133. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/spec_pb2.py +0 -0
  134. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/spec_pb2_grpc.py +0 -0
  135. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/tags_pb2.py +0 -0
  136. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/tags_pb2_grpc.py +0 -0
  137. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/workflow_approvers_history_pb2.py +0 -0
  138. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/workflow_approvers_history_pb2_grpc.py +0 -0
  139. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/workflow_approvers_pb2.py +0 -0
  140. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/workflow_approvers_pb2_grpc.py +0 -0
  141. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/workflow_roles_history_pb2.py +0 -0
  142. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/workflow_roles_history_pb2_grpc.py +0 -0
  143. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/workflow_roles_pb2.py +0 -0
  144. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/workflow_roles_pb2_grpc.py +0 -0
  145. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/workflows_history_pb2.py +0 -0
  146. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/workflows_history_pb2_grpc.py +0 -0
  147. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/workflows_pb2.py +0 -0
  148. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm/workflows_pb2_grpc.py +0 -0
  149. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm.egg-info/dependency_links.txt +0 -0
  150. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm.egg-info/requires.txt +0 -0
  151. {strongdm-14.25.0 → strongdm-15.0.0}/strongdm.egg-info/top_level.txt +0 -0
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strongdm
3
- Version: 14.25.0
3
+ Version: 15.0.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/v14.25.0.tar.gz
9
+ Download-URL: https://github.com/strongdm/strongdm-sdk-python/archive/v15.0.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
@@ -23,7 +23,7 @@ from setuptools import setup
23
23
  setup(
24
24
  name='strongdm',
25
25
  packages=['strongdm'],
26
- version='14.25.0',
26
+ version='15.0.0',
27
27
  license='apache-2.0',
28
28
  description='strongDM SDK for the Python programming language.',
29
29
  long_description=long_description,
@@ -32,7 +32,7 @@ setup(
32
32
  author_email='sdk-feedback@strongdm.com',
33
33
  url='https://github.com/strongdm/strongdm-sdk-python',
34
34
  download_url=
35
- 'https://github.com/strongdm/strongdm-sdk-python/archive/v14.25.0.tar.gz',
35
+ 'https://github.com/strongdm/strongdm-sdk-python/archive/v15.0.0.tar.gz',
36
36
  keywords=[
37
37
  'strongDM', 'sdm', 'api', 'automation', 'security', 'audit',
38
38
  'database', 'server', 'ssh', 'rdp'
@@ -34,7 +34,7 @@ DEFAULT_MAX_RETRY_DELAY = 120 # 120 seconds
34
34
  DEFAULT_RETRY_FACTOR = 1.6
35
35
  DEFAULT_RETRY_JITTER = 0.2
36
36
  API_VERSION = '2025-04-14'
37
- USER_AGENT = 'strongdm-sdk-python/14.25.0'
37
+ USER_AGENT = 'strongdm-sdk-python/15.0.0'
38
38
 
39
39
 
40
40
  class Client:
@@ -432,20 +432,6 @@ class Client:
432
432
 
433
433
  See `strongdm.svc.WorkflowApproversHistory`.
434
434
  '''
435
- self.workflow_assignments = svc.WorkflowAssignments(channel, self)
436
- '''
437
- WorkflowAssignments links a Resource to a Workflow. The assigned resources are those that a user can request
438
- access to via the workflow.
439
-
440
- See `strongdm.svc.WorkflowAssignments`.
441
- '''
442
- self.workflow_assignments_history = svc.WorkflowAssignmentsHistory(
443
- channel, self)
444
- '''
445
- WorkflowAssignmentsHistory provides records of all changes to the state of a WorkflowAssignment.
446
-
447
- See `strongdm.svc.WorkflowAssignmentsHistory`.
448
- '''
449
435
  self.workflow_roles = svc.WorkflowRoles(channel, self)
450
436
  '''
451
437
  WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
@@ -591,8 +577,6 @@ class Client:
591
577
  client.secret_stores = svc.SecretStores(client.channel, client)
592
578
  client.workflow_approvers = svc.WorkflowApprovers(
593
579
  client.channel, client)
594
- client.workflow_assignments = svc.WorkflowAssignments(
595
- client.channel, client)
596
580
  client.workflow_roles = svc.WorkflowRoles(client.channel, client)
597
581
  client.workflows = svc.Workflows(client.channel, client)
598
582
  return SnapshotClient(client)
@@ -757,14 +741,6 @@ class SnapshotClient:
757
741
 
758
742
  See `strongdm.svc.SnapshotWorkflowApprovers`.
759
743
  '''
760
- self.workflow_assignments = svc.SnapshotWorkflowAssignments(
761
- client.workflow_assignments)
762
- '''
763
- WorkflowAssignments links a Resource to a Workflow. The assigned resources are those that a user can request
764
- access to via the workflow.
765
-
766
- See `strongdm.svc.SnapshotWorkflowAssignments`.
767
- '''
768
744
  self.workflow_roles = svc.SnapshotWorkflowRoles(client.workflow_roles)
769
745
  '''
770
746
  WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
@@ -31516,178 +31516,6 @@ class WorkflowApproversListResponse:
31516
31516
  return cls(rate_limit=d.get('rate_limit'), )
31517
31517
 
31518
31518
 
31519
- class WorkflowAssignment:
31520
- '''
31521
- WorkflowAssignment links a Resource to a Workflow. The assigned resources are those that a user can request
31522
- access to via the workflow.
31523
- '''
31524
- __slots__ = [
31525
- 'resource_id',
31526
- 'workflow_id',
31527
- ]
31528
-
31529
- def __init__(
31530
- self,
31531
- resource_id=None,
31532
- workflow_id=None,
31533
- ):
31534
- self.resource_id = resource_id if resource_id is not None else ''
31535
- '''
31536
- The resource id.
31537
- '''
31538
- self.workflow_id = workflow_id if workflow_id is not None else ''
31539
- '''
31540
- The workflow id.
31541
- '''
31542
-
31543
- def __repr__(self):
31544
- return '<sdm.WorkflowAssignment ' + \
31545
- 'resource_id: ' + repr(self.resource_id) + ' ' +\
31546
- 'workflow_id: ' + repr(self.workflow_id) + ' ' +\
31547
- '>'
31548
-
31549
- def to_dict(self):
31550
- return {
31551
- 'resource_id': self.resource_id,
31552
- 'workflow_id': self.workflow_id,
31553
- }
31554
-
31555
- @classmethod
31556
- def from_dict(cls, d):
31557
- return cls(
31558
- resource_id=d.get('resource_id'),
31559
- workflow_id=d.get('workflow_id'),
31560
- )
31561
-
31562
-
31563
- class WorkflowAssignmentHistory:
31564
- '''
31565
- WorkflowAssignmentsHistory provides records of all changes to the state of a WorkflowAssignment.
31566
- '''
31567
- __slots__ = [
31568
- 'activity_id',
31569
- 'deleted_at',
31570
- 'timestamp',
31571
- 'workflow_assignment',
31572
- ]
31573
-
31574
- def __init__(
31575
- self,
31576
- activity_id=None,
31577
- deleted_at=None,
31578
- timestamp=None,
31579
- workflow_assignment=None,
31580
- ):
31581
- self.activity_id = activity_id if activity_id is not None else ''
31582
- '''
31583
- The unique identifier of the Activity that produced this change to the WorkflowAssignment.
31584
- May be empty for some system-initiated updates.
31585
- '''
31586
- self.deleted_at = deleted_at if deleted_at is not None else None
31587
- '''
31588
- If this WorkflowAssignment was deleted, the time it was deleted.
31589
- '''
31590
- self.timestamp = timestamp if timestamp is not None else None
31591
- '''
31592
- The time at which the WorkflowAssignment state was recorded.
31593
- '''
31594
- self.workflow_assignment = workflow_assignment if workflow_assignment is not None else None
31595
- '''
31596
- The complete WorkflowAssignment state at this time.
31597
- '''
31598
-
31599
- def __repr__(self):
31600
- return '<sdm.WorkflowAssignmentHistory ' + \
31601
- 'activity_id: ' + repr(self.activity_id) + ' ' +\
31602
- 'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31603
- 'timestamp: ' + repr(self.timestamp) + ' ' +\
31604
- 'workflow_assignment: ' + repr(self.workflow_assignment) + ' ' +\
31605
- '>'
31606
-
31607
- def to_dict(self):
31608
- return {
31609
- 'activity_id': self.activity_id,
31610
- 'deleted_at': self.deleted_at,
31611
- 'timestamp': self.timestamp,
31612
- 'workflow_assignment': self.workflow_assignment,
31613
- }
31614
-
31615
- @classmethod
31616
- def from_dict(cls, d):
31617
- return cls(
31618
- activity_id=d.get('activity_id'),
31619
- deleted_at=d.get('deleted_at'),
31620
- timestamp=d.get('timestamp'),
31621
- workflow_assignment=d.get('workflow_assignment'),
31622
- )
31623
-
31624
-
31625
- class WorkflowAssignmentsListRequest:
31626
- '''
31627
- WorkflowAssignmentsListRequest specifies criteria for retrieving a list of
31628
- WorkflowAssignment records
31629
- '''
31630
- __slots__ = [
31631
- 'filter',
31632
- ]
31633
-
31634
- def __init__(
31635
- self,
31636
- filter=None,
31637
- ):
31638
- self.filter = filter if filter is not None else ''
31639
- '''
31640
- A human-readable filter query string.
31641
- '''
31642
-
31643
- def __repr__(self):
31644
- return '<sdm.WorkflowAssignmentsListRequest ' + \
31645
- 'filter: ' + repr(self.filter) + ' ' +\
31646
- '>'
31647
-
31648
- def to_dict(self):
31649
- return {
31650
- 'filter': self.filter,
31651
- }
31652
-
31653
- @classmethod
31654
- def from_dict(cls, d):
31655
- return cls(filter=d.get('filter'), )
31656
-
31657
-
31658
- class WorkflowAssignmentsListResponse:
31659
- '''
31660
- WorkflowAssignmentsListResponse returns a list of WorkflowAssignment records that meet
31661
- the criteria of a WorkflowAssignmentsListRequest.
31662
- '''
31663
- __slots__ = [
31664
- 'rate_limit',
31665
- ]
31666
-
31667
- def __init__(
31668
- self,
31669
- rate_limit=None,
31670
- ):
31671
- self.rate_limit = rate_limit if rate_limit is not None else None
31672
- '''
31673
- Rate limit information.
31674
- '''
31675
-
31676
- def __repr__(self):
31677
- return '<sdm.WorkflowAssignmentsListResponse ' + \
31678
- 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31679
- '>'
31680
-
31681
- def to_dict(self):
31682
- return {
31683
- 'rate_limit': self.rate_limit,
31684
- }
31685
-
31686
- @classmethod
31687
- def from_dict(cls, d):
31688
- return cls(rate_limit=d.get('rate_limit'), )
31689
-
31690
-
31691
31519
  class WorkflowCreateResponse:
31692
31520
  '''
31693
31521
  WorkflowCreateResponse reports how the Workflow was created in the system.
@@ -85,8 +85,6 @@ from .secret_store_healths_pb2 import *
85
85
  from .secret_stores_history_pb2 import *
86
86
  from .workflow_approvers_pb2 import *
87
87
  from .workflow_approvers_history_pb2 import *
88
- from .workflow_assignments_pb2 import *
89
- from .workflow_assignments_history_pb2 import *
90
88
  from .workflow_roles_pb2 import *
91
89
  from .workflow_roles_history_pb2 import *
92
90
  from .workflows_pb2 import *
@@ -15980,142 +15978,6 @@ def convert_repeated_workflow_approvers_list_response_to_porcelain(plumbings):
15980
15978
  ]
15981
15979
 
15982
15980
 
15983
- def convert_workflow_assignment_to_porcelain(plumbing):
15984
- if plumbing is None:
15985
- return None
15986
- porcelain = models.WorkflowAssignment()
15987
- porcelain.resource_id = (plumbing.resource_id)
15988
- porcelain.workflow_id = (plumbing.workflow_id)
15989
- return porcelain
15990
-
15991
-
15992
- def convert_workflow_assignment_to_plumbing(porcelain):
15993
- plumbing = WorkflowAssignment()
15994
- if porcelain is None:
15995
- return plumbing
15996
- plumbing.resource_id = (porcelain.resource_id)
15997
- plumbing.workflow_id = (porcelain.workflow_id)
15998
- return plumbing
15999
-
16000
-
16001
- def convert_repeated_workflow_assignment_to_plumbing(porcelains):
16002
- return [
16003
- convert_workflow_assignment_to_plumbing(porcelain)
16004
- for porcelain in porcelains
16005
- ]
16006
-
16007
-
16008
- def convert_repeated_workflow_assignment_to_porcelain(plumbings):
16009
- return [
16010
- convert_workflow_assignment_to_porcelain(plumbing)
16011
- for plumbing in plumbings
16012
- ]
16013
-
16014
-
16015
- def convert_workflow_assignment_history_to_porcelain(plumbing):
16016
- if plumbing is None:
16017
- return None
16018
- porcelain = models.WorkflowAssignmentHistory()
16019
- porcelain.activity_id = (plumbing.activity_id)
16020
- porcelain.deleted_at = convert_timestamp_to_porcelain(plumbing.deleted_at)
16021
- porcelain.timestamp = convert_timestamp_to_porcelain(plumbing.timestamp)
16022
- porcelain.workflow_assignment = convert_workflow_assignment_to_porcelain(
16023
- plumbing.workflow_assignment)
16024
- return porcelain
16025
-
16026
-
16027
- def convert_workflow_assignment_history_to_plumbing(porcelain):
16028
- plumbing = WorkflowAssignmentHistory()
16029
- if porcelain is None:
16030
- return plumbing
16031
- plumbing.activity_id = (porcelain.activity_id)
16032
- plumbing.deleted_at.CopyFrom(
16033
- convert_timestamp_to_plumbing(porcelain.deleted_at))
16034
- plumbing.timestamp.CopyFrom(
16035
- convert_timestamp_to_plumbing(porcelain.timestamp))
16036
- plumbing.workflow_assignment.CopyFrom(
16037
- convert_workflow_assignment_to_plumbing(porcelain.workflow_assignment))
16038
- return plumbing
16039
-
16040
-
16041
- def convert_repeated_workflow_assignment_history_to_plumbing(porcelains):
16042
- return [
16043
- convert_workflow_assignment_history_to_plumbing(porcelain)
16044
- for porcelain in porcelains
16045
- ]
16046
-
16047
-
16048
- def convert_repeated_workflow_assignment_history_to_porcelain(plumbings):
16049
- return [
16050
- convert_workflow_assignment_history_to_porcelain(plumbing)
16051
- for plumbing in plumbings
16052
- ]
16053
-
16054
-
16055
- def convert_workflow_assignments_list_request_to_porcelain(plumbing):
16056
- if plumbing is None:
16057
- return None
16058
- porcelain = models.WorkflowAssignmentsListRequest()
16059
- porcelain.filter = (plumbing.filter)
16060
- return porcelain
16061
-
16062
-
16063
- def convert_workflow_assignments_list_request_to_plumbing(porcelain):
16064
- plumbing = WorkflowAssignmentsListRequest()
16065
- if porcelain is None:
16066
- return plumbing
16067
- plumbing.filter = (porcelain.filter)
16068
- return plumbing
16069
-
16070
-
16071
- def convert_repeated_workflow_assignments_list_request_to_plumbing(porcelains):
16072
- return [
16073
- convert_workflow_assignments_list_request_to_plumbing(porcelain)
16074
- for porcelain in porcelains
16075
- ]
16076
-
16077
-
16078
- def convert_repeated_workflow_assignments_list_request_to_porcelain(plumbings):
16079
- return [
16080
- convert_workflow_assignments_list_request_to_porcelain(plumbing)
16081
- for plumbing in plumbings
16082
- ]
16083
-
16084
-
16085
- def convert_workflow_assignments_list_response_to_porcelain(plumbing):
16086
- if plumbing is None:
16087
- return None
16088
- porcelain = models.WorkflowAssignmentsListResponse()
16089
- porcelain.rate_limit = convert_rate_limit_metadata_to_porcelain(
16090
- plumbing.rate_limit)
16091
- return porcelain
16092
-
16093
-
16094
- def convert_workflow_assignments_list_response_to_plumbing(porcelain):
16095
- plumbing = WorkflowAssignmentsListResponse()
16096
- if porcelain is None:
16097
- return plumbing
16098
- plumbing.rate_limit.CopyFrom(
16099
- convert_rate_limit_metadata_to_plumbing(porcelain.rate_limit))
16100
- return plumbing
16101
-
16102
-
16103
- def convert_repeated_workflow_assignments_list_response_to_plumbing(
16104
- porcelains):
16105
- return [
16106
- convert_workflow_assignments_list_response_to_plumbing(porcelain)
16107
- for porcelain in porcelains
16108
- ]
16109
-
16110
-
16111
- def convert_repeated_workflow_assignments_list_response_to_porcelain(
16112
- plumbings):
16113
- return [
16114
- convert_workflow_assignments_list_response_to_porcelain(plumbing)
16115
- for plumbing in plumbings
16116
- ]
16117
-
16118
-
16119
15981
  def convert_workflow_create_response_to_porcelain(plumbing):
16120
15982
  if plumbing is None:
16121
15983
  return None
@@ -140,10 +140,6 @@ from .workflow_approvers_pb2 import *
140
140
  from .workflow_approvers_pb2_grpc import *
141
141
  from .workflow_approvers_history_pb2 import *
142
142
  from .workflow_approvers_history_pb2_grpc import *
143
- from .workflow_assignments_pb2 import *
144
- from .workflow_assignments_pb2_grpc import *
145
- from .workflow_assignments_history_pb2 import *
146
- from .workflow_assignments_history_pb2_grpc import *
147
143
  from .workflow_roles_pb2 import *
148
144
  from .workflow_roles_pb2_grpc import *
149
145
  from .workflow_roles_history_pb2 import *
@@ -6841,124 +6837,6 @@ class WorkflowApproversHistory:
6841
6837
  return generator(self, req)
6842
6838
 
6843
6839
 
6844
- class WorkflowAssignments:
6845
- '''
6846
- WorkflowAssignments links a Resource to a Workflow. The assigned resources are those that a user can request
6847
- access to via the workflow.
6848
- See `strongdm.models.WorkflowAssignment`.
6849
- '''
6850
- def __init__(self, channel, client):
6851
- self.parent = client
6852
- self.stub = WorkflowAssignmentsStub(channel)
6853
-
6854
- def list(self, filter, *args, timeout=None):
6855
- '''
6856
- Lists existing workflow assignments.
6857
- '''
6858
- deadline = None if timeout is None else time.time() + timeout
6859
- req = WorkflowAssignmentsListRequest()
6860
- req.meta.CopyFrom(ListRequestMetadata())
6861
- if self.parent.page_limit > 0:
6862
- req.meta.limit = self.parent.page_limit
6863
- if self.parent.snapshot_datetime is not None:
6864
- req.meta.snapshot_at.FromDatetime(self.parent.snapshot_datetime)
6865
-
6866
- req.filter = plumbing.quote_filter_args(filter, *args)
6867
-
6868
- def generator(svc, req):
6869
- tries = 0
6870
- while True:
6871
- t = None if deadline is None else deadline - time.time()
6872
- try:
6873
- plumbing_response = svc.stub.List(
6874
- req,
6875
- metadata=svc.parent.get_metadata(
6876
- 'WorkflowAssignments.List', req),
6877
- timeout=t)
6878
- except Exception as e:
6879
- if self.parent.shouldRetry(tries, e, deadline):
6880
- tries += 1
6881
- time.sleep(
6882
- self.parent.exponentialBackoff(tries, deadline))
6883
- continue
6884
- raise plumbing.convert_error_to_porcelain(e) from e
6885
- tries = 0
6886
- for plumbing_item in plumbing_response.workflow_assignments:
6887
- yield plumbing.convert_workflow_assignment_to_porcelain(
6888
- plumbing_item)
6889
- if plumbing_response.meta.next_cursor == '':
6890
- break
6891
- req.meta.cursor = plumbing_response.meta.next_cursor
6892
-
6893
- return generator(self, req)
6894
-
6895
-
6896
- class SnapshotWorkflowAssignments:
6897
- '''
6898
- SnapshotWorkflowAssignments exposes the read only methods of the WorkflowAssignments
6899
- service for historical queries.
6900
- '''
6901
- def __init__(self, workflow_assignments):
6902
- self.workflow_assignments = workflow_assignments
6903
-
6904
- def list(self, filter, *args, timeout=None):
6905
- '''
6906
- Lists existing workflow assignments.
6907
- '''
6908
- return self.workflow_assignments.list(filter, *args, timeout=timeout)
6909
-
6910
-
6911
- class WorkflowAssignmentsHistory:
6912
- '''
6913
- WorkflowAssignmentsHistory provides records of all changes to the state of a WorkflowAssignment.
6914
- See `strongdm.models.WorkflowAssignmentHistory`.
6915
- '''
6916
- def __init__(self, channel, client):
6917
- self.parent = client
6918
- self.stub = WorkflowAssignmentsHistoryStub(channel)
6919
-
6920
- def list(self, filter, *args, timeout=None):
6921
- '''
6922
- List gets a list of WorkflowAssignmentsHistory records matching a given set of criteria.
6923
- '''
6924
- deadline = None if timeout is None else time.time() + timeout
6925
- req = WorkflowAssignmentsHistoryListRequest()
6926
- req.meta.CopyFrom(ListRequestMetadata())
6927
- if self.parent.page_limit > 0:
6928
- req.meta.limit = self.parent.page_limit
6929
- if self.parent.snapshot_datetime is not None:
6930
- req.meta.snapshot_at.FromDatetime(self.parent.snapshot_datetime)
6931
-
6932
- req.filter = plumbing.quote_filter_args(filter, *args)
6933
-
6934
- def generator(svc, req):
6935
- tries = 0
6936
- while True:
6937
- t = None if deadline is None else deadline - time.time()
6938
- try:
6939
- plumbing_response = svc.stub.List(
6940
- req,
6941
- metadata=svc.parent.get_metadata(
6942
- 'WorkflowAssignmentsHistory.List', req),
6943
- timeout=t)
6944
- except Exception as e:
6945
- if self.parent.shouldRetry(tries, e, deadline):
6946
- tries += 1
6947
- time.sleep(
6948
- self.parent.exponentialBackoff(tries, deadline))
6949
- continue
6950
- raise plumbing.convert_error_to_porcelain(e) from e
6951
- tries = 0
6952
- for plumbing_item in plumbing_response.history:
6953
- yield plumbing.convert_workflow_assignment_history_to_porcelain(
6954
- plumbing_item)
6955
- if plumbing_response.meta.next_cursor == '':
6956
- break
6957
- req.meta.cursor = plumbing_response.meta.next_cursor
6958
-
6959
- return generator(self, req)
6960
-
6961
-
6962
6840
  class WorkflowRoles:
6963
6841
  '''
6964
6842
  WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strongdm
3
- Version: 14.25.0
3
+ Version: 15.0.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/v14.25.0.tar.gz
9
+ Download-URL: https://github.com/strongdm/strongdm-sdk-python/archive/v15.0.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
@@ -130,10 +130,6 @@ strongdm/workflow_approvers_history_pb2.py
130
130
  strongdm/workflow_approvers_history_pb2_grpc.py
131
131
  strongdm/workflow_approvers_pb2.py
132
132
  strongdm/workflow_approvers_pb2_grpc.py
133
- strongdm/workflow_assignments_history_pb2.py
134
- strongdm/workflow_assignments_history_pb2_grpc.py
135
- strongdm/workflow_assignments_pb2.py
136
- strongdm/workflow_assignments_pb2_grpc.py
137
133
  strongdm/workflow_roles_history_pb2.py
138
134
  strongdm/workflow_roles_history_pb2_grpc.py
139
135
  strongdm/workflow_roles_pb2.py