strongdm 14.21.0__zip → 14.23.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.21.0 → strongdm-14.23.0}/PKG-INFO +2 -2
  2. {strongdm-14.21.0 → strongdm-14.23.0}/setup.py +2 -2
  3. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/access_requests_pb2.py +27 -11
  4. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/client.py +1 -1
  5. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/constants.py +1 -0
  6. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/drivers_pb2.py +265 -215
  7. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/models.py +189 -1
  8. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/plumbing.py +68 -0
  9. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/svc.py +1 -0
  10. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm.egg-info/PKG-INFO +2 -2
  11. {strongdm-14.21.0 → strongdm-14.23.0}/LICENSE +0 -0
  12. {strongdm-14.21.0 → strongdm-14.23.0}/README.md +0 -0
  13. {strongdm-14.21.0 → strongdm-14.23.0}/setup.cfg +0 -0
  14. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/__init__.py +0 -0
  15. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/access_request_events_history_pb2.py +0 -0
  16. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/access_request_events_history_pb2_grpc.py +0 -0
  17. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/access_requests_history_pb2.py +0 -0
  18. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/access_requests_history_pb2_grpc.py +0 -0
  19. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/access_requests_pb2_grpc.py +0 -0
  20. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/account_attachments_history_pb2.py +0 -0
  21. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/account_attachments_history_pb2_grpc.py +0 -0
  22. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/account_attachments_pb2.py +0 -0
  23. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/account_attachments_pb2_grpc.py +0 -0
  24. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/account_grants_history_pb2.py +0 -0
  25. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/account_grants_history_pb2_grpc.py +0 -0
  26. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/account_grants_pb2.py +0 -0
  27. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/account_grants_pb2_grpc.py +0 -0
  28. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/account_permissions_pb2.py +0 -0
  29. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/account_permissions_pb2_grpc.py +0 -0
  30. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/account_resources_history_pb2.py +0 -0
  31. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/account_resources_history_pb2_grpc.py +0 -0
  32. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/account_resources_pb2.py +0 -0
  33. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/account_resources_pb2_grpc.py +0 -0
  34. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/accounts_history_pb2.py +0 -0
  35. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/accounts_history_pb2_grpc.py +0 -0
  36. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/accounts_pb2.py +0 -0
  37. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/accounts_pb2_grpc.py +0 -0
  38. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/activities_pb2.py +0 -0
  39. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/activities_pb2_grpc.py +0 -0
  40. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/approval_workflow_approvers_history_pb2.py +0 -0
  41. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/approval_workflow_approvers_history_pb2_grpc.py +0 -0
  42. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/approval_workflow_approvers_pb2.py +0 -0
  43. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/approval_workflow_approvers_pb2_grpc.py +0 -0
  44. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/approval_workflow_steps_history_pb2.py +0 -0
  45. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/approval_workflow_steps_history_pb2_grpc.py +0 -0
  46. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/approval_workflow_steps_pb2.py +0 -0
  47. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/approval_workflow_steps_pb2_grpc.py +0 -0
  48. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/approval_workflows_history_pb2.py +0 -0
  49. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/approval_workflows_history_pb2_grpc.py +0 -0
  50. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/approval_workflows_pb2.py +0 -0
  51. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/approval_workflows_pb2_grpc.py +0 -0
  52. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/control_panel_pb2.py +0 -0
  53. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/control_panel_pb2_grpc.py +0 -0
  54. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/drivers_pb2_grpc.py +0 -0
  55. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/errors.py +0 -0
  56. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/health_checks_pb2.py +0 -0
  57. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/health_checks_pb2_grpc.py +0 -0
  58. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/identity_aliases_history_pb2.py +0 -0
  59. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/identity_aliases_history_pb2_grpc.py +0 -0
  60. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/identity_aliases_pb2.py +0 -0
  61. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/identity_aliases_pb2_grpc.py +0 -0
  62. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/identity_sets_history_pb2.py +0 -0
  63. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/identity_sets_history_pb2_grpc.py +0 -0
  64. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/identity_sets_pb2.py +0 -0
  65. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/identity_sets_pb2_grpc.py +0 -0
  66. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/managed_secrets_pb2.py +0 -0
  67. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/managed_secrets_pb2_grpc.py +0 -0
  68. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/nodes_history_pb2.py +0 -0
  69. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/nodes_history_pb2_grpc.py +0 -0
  70. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/nodes_pb2.py +0 -0
  71. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/nodes_pb2_grpc.py +0 -0
  72. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/options_pb2.py +0 -0
  73. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/options_pb2_grpc.py +0 -0
  74. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/organization_history_pb2.py +0 -0
  75. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/organization_history_pb2_grpc.py +0 -0
  76. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/peering_group_nodes_pb2.py +0 -0
  77. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/peering_group_nodes_pb2_grpc.py +0 -0
  78. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/peering_group_peers_pb2.py +0 -0
  79. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/peering_group_peers_pb2_grpc.py +0 -0
  80. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/peering_group_resources_pb2.py +0 -0
  81. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/peering_group_resources_pb2_grpc.py +0 -0
  82. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/peering_groups_pb2.py +0 -0
  83. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/peering_groups_pb2_grpc.py +0 -0
  84. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/policies_history_pb2.py +0 -0
  85. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/policies_history_pb2_grpc.py +0 -0
  86. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/policies_pb2.py +0 -0
  87. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/policies_pb2_grpc.py +0 -0
  88. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/proxy_cluster_keys_pb2.py +0 -0
  89. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/proxy_cluster_keys_pb2_grpc.py +0 -0
  90. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/queries_pb2.py +0 -0
  91. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/queries_pb2_grpc.py +0 -0
  92. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/remote_identities_history_pb2.py +0 -0
  93. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/remote_identities_history_pb2_grpc.py +0 -0
  94. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/remote_identities_pb2.py +0 -0
  95. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/remote_identities_pb2_grpc.py +0 -0
  96. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/remote_identity_groups_history_pb2.py +0 -0
  97. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/remote_identity_groups_history_pb2_grpc.py +0 -0
  98. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/remote_identity_groups_pb2.py +0 -0
  99. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/remote_identity_groups_pb2_grpc.py +0 -0
  100. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/replays_pb2.py +0 -0
  101. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/replays_pb2_grpc.py +0 -0
  102. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/resources_history_pb2.py +0 -0
  103. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/resources_history_pb2_grpc.py +0 -0
  104. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/resources_pb2.py +0 -0
  105. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/resources_pb2_grpc.py +0 -0
  106. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/role_resources_history_pb2.py +0 -0
  107. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/role_resources_history_pb2_grpc.py +0 -0
  108. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/role_resources_pb2.py +0 -0
  109. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/role_resources_pb2_grpc.py +0 -0
  110. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/roles_history_pb2.py +0 -0
  111. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/roles_history_pb2_grpc.py +0 -0
  112. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/roles_pb2.py +0 -0
  113. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/roles_pb2_grpc.py +0 -0
  114. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/secret_engine_policy_pb2.py +0 -0
  115. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/secret_engine_policy_pb2_grpc.py +0 -0
  116. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/secret_engine_types_pb2.py +0 -0
  117. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/secret_engine_types_pb2_grpc.py +0 -0
  118. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/secret_engines_pb2.py +0 -0
  119. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/secret_engines_pb2_grpc.py +0 -0
  120. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/secret_store_healths_pb2.py +0 -0
  121. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/secret_store_healths_pb2_grpc.py +0 -0
  122. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/secret_store_types_pb2.py +0 -0
  123. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/secret_store_types_pb2_grpc.py +0 -0
  124. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/secret_stores_history_pb2.py +0 -0
  125. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/secret_stores_history_pb2_grpc.py +0 -0
  126. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/secret_stores_pb2.py +0 -0
  127. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/secret_stores_pb2_grpc.py +0 -0
  128. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/spec_pb2.py +0 -0
  129. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/spec_pb2_grpc.py +0 -0
  130. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/tags_pb2.py +0 -0
  131. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/tags_pb2_grpc.py +0 -0
  132. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/workflow_approvers_history_pb2.py +0 -0
  133. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/workflow_approvers_history_pb2_grpc.py +0 -0
  134. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/workflow_approvers_pb2.py +0 -0
  135. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/workflow_approvers_pb2_grpc.py +0 -0
  136. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/workflow_assignments_history_pb2.py +0 -0
  137. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/workflow_assignments_history_pb2_grpc.py +0 -0
  138. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/workflow_assignments_pb2.py +0 -0
  139. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/workflow_assignments_pb2_grpc.py +0 -0
  140. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/workflow_roles_history_pb2.py +0 -0
  141. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/workflow_roles_history_pb2_grpc.py +0 -0
  142. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/workflow_roles_pb2.py +0 -0
  143. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/workflow_roles_pb2_grpc.py +0 -0
  144. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/workflows_history_pb2.py +0 -0
  145. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/workflows_history_pb2_grpc.py +0 -0
  146. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/workflows_pb2.py +0 -0
  147. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm/workflows_pb2_grpc.py +0 -0
  148. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm.egg-info/SOURCES.txt +0 -0
  149. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm.egg-info/dependency_links.txt +0 -0
  150. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm.egg-info/requires.txt +0 -0
  151. {strongdm-14.21.0 → strongdm-14.23.0}/strongdm.egg-info/top_level.txt +0 -0
@@ -7673,6 +7673,158 @@ class AzureCertificate:
7673
7673
  )
7674
7674
 
7675
7675
 
7676
+ class AzureConsole:
7677
+ '''
7678
+ AzureConsole is currently unstable, and its API may change, or it may be removed,
7679
+ without a major version bump.
7680
+ '''
7681
+ __slots__ = [
7682
+ 'bind_interface',
7683
+ 'connector_id',
7684
+ 'egress_filter',
7685
+ 'healthy',
7686
+ 'id',
7687
+ 'identity_set_id',
7688
+ 'management_group_id',
7689
+ 'name',
7690
+ 'privilege_levels',
7691
+ 'proxy_cluster_id',
7692
+ 'secret_store_id',
7693
+ 'subdomain',
7694
+ 'subscription_id',
7695
+ 'tags',
7696
+ ]
7697
+
7698
+ def __init__(
7699
+ self,
7700
+ bind_interface=None,
7701
+ connector_id=None,
7702
+ egress_filter=None,
7703
+ healthy=None,
7704
+ id=None,
7705
+ identity_set_id=None,
7706
+ management_group_id=None,
7707
+ name=None,
7708
+ privilege_levels=None,
7709
+ proxy_cluster_id=None,
7710
+ secret_store_id=None,
7711
+ subdomain=None,
7712
+ subscription_id=None,
7713
+ tags=None,
7714
+ ):
7715
+ self.bind_interface = bind_interface if bind_interface is not None else ''
7716
+ '''
7717
+ The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7718
+ '''
7719
+ self.connector_id = connector_id if connector_id is not None else ''
7720
+ '''
7721
+ The connector ID to authenticate through.
7722
+ '''
7723
+ self.egress_filter = egress_filter if egress_filter is not None else ''
7724
+ '''
7725
+ A filter applied to the routing logic to pin datasource to nodes.
7726
+ '''
7727
+ self.healthy = healthy if healthy is not None else False
7728
+ '''
7729
+ True if the datasource is reachable and the credentials are valid.
7730
+ '''
7731
+ self.id = id if id is not None else ''
7732
+ '''
7733
+ Unique identifier of the Resource.
7734
+ '''
7735
+ self.identity_set_id = identity_set_id if identity_set_id is not None else ''
7736
+ '''
7737
+ The ID of the identity set to use for identity connections.
7738
+ '''
7739
+ self.management_group_id = management_group_id if management_group_id is not None else ''
7740
+ '''
7741
+ The management group ID to authenticate scope Privileges to.
7742
+ '''
7743
+ self.name = name if name is not None else ''
7744
+ '''
7745
+ Unique human-readable name of the Resource.
7746
+ '''
7747
+ self.privilege_levels = privilege_levels if privilege_levels is not None else ''
7748
+ '''
7749
+ The privilege levels specify which Groups are managed externally
7750
+ '''
7751
+ self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7752
+ '''
7753
+ ID of the proxy cluster for this resource, if any.
7754
+ '''
7755
+ self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7756
+ '''
7757
+ ID of the secret store containing credentials for this resource, if any.
7758
+ '''
7759
+ self.subdomain = subdomain if subdomain is not None else ''
7760
+ '''
7761
+ Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7762
+ '''
7763
+ self.subscription_id = subscription_id if subscription_id is not None else ''
7764
+ '''
7765
+ The subscription ID to authenticate scope Privileges to.
7766
+ '''
7767
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7768
+ '''
7769
+ Tags is a map of key, value pairs.
7770
+ '''
7771
+
7772
+ def __repr__(self):
7773
+ return '<sdm.AzureConsole ' + \
7774
+ 'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7775
+ 'connector_id: ' + repr(self.connector_id) + ' ' +\
7776
+ 'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7777
+ 'healthy: ' + repr(self.healthy) + ' ' +\
7778
+ 'id: ' + repr(self.id) + ' ' +\
7779
+ 'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
7780
+ 'management_group_id: ' + repr(self.management_group_id) + ' ' +\
7781
+ 'name: ' + repr(self.name) + ' ' +\
7782
+ 'privilege_levels: ' + repr(self.privilege_levels) + ' ' +\
7783
+ 'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7784
+ 'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7785
+ 'subdomain: ' + repr(self.subdomain) + ' ' +\
7786
+ 'subscription_id: ' + repr(self.subscription_id) + ' ' +\
7787
+ 'tags: ' + repr(self.tags) + ' ' +\
7788
+ '>'
7789
+
7790
+ def to_dict(self):
7791
+ return {
7792
+ 'bind_interface': self.bind_interface,
7793
+ 'connector_id': self.connector_id,
7794
+ 'egress_filter': self.egress_filter,
7795
+ 'healthy': self.healthy,
7796
+ 'id': self.id,
7797
+ 'identity_set_id': self.identity_set_id,
7798
+ 'management_group_id': self.management_group_id,
7799
+ 'name': self.name,
7800
+ 'privilege_levels': self.privilege_levels,
7801
+ 'proxy_cluster_id': self.proxy_cluster_id,
7802
+ 'secret_store_id': self.secret_store_id,
7803
+ 'subdomain': self.subdomain,
7804
+ 'subscription_id': self.subscription_id,
7805
+ 'tags': self.tags,
7806
+ }
7807
+
7808
+ @classmethod
7809
+ def from_dict(cls, d):
7810
+ return cls(
7811
+ bind_interface=d.get('bind_interface'),
7812
+ connector_id=d.get('connector_id'),
7813
+ egress_filter=d.get('egress_filter'),
7814
+ healthy=d.get('healthy'),
7815
+ id=d.get('id'),
7816
+ identity_set_id=d.get('identity_set_id'),
7817
+ management_group_id=d.get('management_group_id'),
7818
+ name=d.get('name'),
7819
+ privilege_levels=d.get('privilege_levels'),
7820
+ proxy_cluster_id=d.get('proxy_cluster_id'),
7821
+ secret_store_id=d.get('secret_store_id'),
7822
+ subdomain=d.get('subdomain'),
7823
+ subscription_id=d.get('subscription_id'),
7824
+ tags=d.get('tags'),
7825
+ )
7826
+
7827
+
7676
7828
  class AzureMysql:
7677
7829
  __slots__ = [
7678
7830
  'bind_interface',
@@ -13366,6 +13518,7 @@ class HTTPAuth:
13366
13518
  'host_override',
13367
13519
  'id',
13368
13520
  'name',
13521
+ 'port_override',
13369
13522
  'proxy_cluster_id',
13370
13523
  'secret_store_id',
13371
13524
  'subdomain',
@@ -13385,6 +13538,7 @@ class HTTPAuth:
13385
13538
  host_override=None,
13386
13539
  id=None,
13387
13540
  name=None,
13541
+ port_override=None,
13388
13542
  proxy_cluster_id=None,
13389
13543
  secret_store_id=None,
13390
13544
  subdomain=None,
@@ -13431,6 +13585,10 @@ class HTTPAuth:
13431
13585
  '''
13432
13586
  Unique human-readable name of the Resource.
13433
13587
  '''
13588
+ self.port_override = port_override if port_override is not None else 0
13589
+ '''
13590
+ The local port used by clients to connect to this resource.
13591
+ '''
13434
13592
  self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13435
13593
  '''
13436
13594
  ID of the proxy cluster for this resource, if any.
@@ -13464,6 +13622,7 @@ class HTTPAuth:
13464
13622
  'host_override: ' + repr(self.host_override) + ' ' +\
13465
13623
  'id: ' + repr(self.id) + ' ' +\
13466
13624
  'name: ' + repr(self.name) + ' ' +\
13625
+ 'port_override: ' + repr(self.port_override) + ' ' +\
13467
13626
  'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13468
13627
  'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13469
13628
  'subdomain: ' + repr(self.subdomain) + ' ' +\
@@ -13483,6 +13642,7 @@ class HTTPAuth:
13483
13642
  'host_override': self.host_override,
13484
13643
  'id': self.id,
13485
13644
  'name': self.name,
13645
+ 'port_override': self.port_override,
13486
13646
  'proxy_cluster_id': self.proxy_cluster_id,
13487
13647
  'secret_store_id': self.secret_store_id,
13488
13648
  'subdomain': self.subdomain,
@@ -13503,6 +13663,7 @@ class HTTPAuth:
13503
13663
  host_override=d.get('host_override'),
13504
13664
  id=d.get('id'),
13505
13665
  name=d.get('name'),
13666
+ port_override=d.get('port_override'),
13506
13667
  proxy_cluster_id=d.get('proxy_cluster_id'),
13507
13668
  secret_store_id=d.get('secret_store_id'),
13508
13669
  subdomain=d.get('subdomain'),
@@ -13523,6 +13684,7 @@ class HTTPBasicAuth:
13523
13684
  'id',
13524
13685
  'name',
13525
13686
  'password',
13687
+ 'port_override',
13526
13688
  'proxy_cluster_id',
13527
13689
  'secret_store_id',
13528
13690
  'subdomain',
@@ -13543,6 +13705,7 @@ class HTTPBasicAuth:
13543
13705
  id=None,
13544
13706
  name=None,
13545
13707
  password=None,
13708
+ port_override=None,
13546
13709
  proxy_cluster_id=None,
13547
13710
  secret_store_id=None,
13548
13711
  subdomain=None,
@@ -13590,6 +13753,10 @@ class HTTPBasicAuth:
13590
13753
  '''
13591
13754
  The password to authenticate with.
13592
13755
  '''
13756
+ self.port_override = port_override if port_override is not None else 0
13757
+ '''
13758
+ The local port used by clients to connect to this resource.
13759
+ '''
13593
13760
  self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13594
13761
  '''
13595
13762
  ID of the proxy cluster for this resource, if any.
@@ -13627,6 +13794,7 @@ class HTTPBasicAuth:
13627
13794
  'id: ' + repr(self.id) + ' ' +\
13628
13795
  'name: ' + repr(self.name) + ' ' +\
13629
13796
  'password: ' + repr(self.password) + ' ' +\
13797
+ 'port_override: ' + repr(self.port_override) + ' ' +\
13630
13798
  'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13631
13799
  'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13632
13800
  'subdomain: ' + repr(self.subdomain) + ' ' +\
@@ -13647,6 +13815,7 @@ class HTTPBasicAuth:
13647
13815
  'id': self.id,
13648
13816
  'name': self.name,
13649
13817
  'password': self.password,
13818
+ 'port_override': self.port_override,
13650
13819
  'proxy_cluster_id': self.proxy_cluster_id,
13651
13820
  'secret_store_id': self.secret_store_id,
13652
13821
  'subdomain': self.subdomain,
@@ -13668,6 +13837,7 @@ class HTTPBasicAuth:
13668
13837
  id=d.get('id'),
13669
13838
  name=d.get('name'),
13670
13839
  password=d.get('password'),
13840
+ port_override=d.get('port_override'),
13671
13841
  proxy_cluster_id=d.get('proxy_cluster_id'),
13672
13842
  secret_store_id=d.get('secret_store_id'),
13673
13843
  subdomain=d.get('subdomain'),
@@ -13688,6 +13858,7 @@ class HTTPNoAuth:
13688
13858
  'host_override',
13689
13859
  'id',
13690
13860
  'name',
13861
+ 'port_override',
13691
13862
  'proxy_cluster_id',
13692
13863
  'secret_store_id',
13693
13864
  'subdomain',
@@ -13706,6 +13877,7 @@ class HTTPNoAuth:
13706
13877
  host_override=None,
13707
13878
  id=None,
13708
13879
  name=None,
13880
+ port_override=None,
13709
13881
  proxy_cluster_id=None,
13710
13882
  secret_store_id=None,
13711
13883
  subdomain=None,
@@ -13748,6 +13920,10 @@ class HTTPNoAuth:
13748
13920
  '''
13749
13921
  Unique human-readable name of the Resource.
13750
13922
  '''
13923
+ self.port_override = port_override if port_override is not None else 0
13924
+ '''
13925
+ The local port used by clients to connect to this resource.
13926
+ '''
13751
13927
  self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13752
13928
  '''
13753
13929
  ID of the proxy cluster for this resource, if any.
@@ -13780,6 +13956,7 @@ class HTTPNoAuth:
13780
13956
  'host_override: ' + repr(self.host_override) + ' ' +\
13781
13957
  'id: ' + repr(self.id) + ' ' +\
13782
13958
  'name: ' + repr(self.name) + ' ' +\
13959
+ 'port_override: ' + repr(self.port_override) + ' ' +\
13783
13960
  'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13784
13961
  'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13785
13962
  'subdomain: ' + repr(self.subdomain) + ' ' +\
@@ -13798,6 +13975,7 @@ class HTTPNoAuth:
13798
13975
  'host_override': self.host_override,
13799
13976
  'id': self.id,
13800
13977
  'name': self.name,
13978
+ 'port_override': self.port_override,
13801
13979
  'proxy_cluster_id': self.proxy_cluster_id,
13802
13980
  'secret_store_id': self.secret_store_id,
13803
13981
  'subdomain': self.subdomain,
@@ -13817,6 +13995,7 @@ class HTTPNoAuth:
13817
13995
  host_override=d.get('host_override'),
13818
13996
  id=d.get('id'),
13819
13997
  name=d.get('name'),
13998
+ port_override=d.get('port_override'),
13820
13999
  proxy_cluster_id=d.get('proxy_cluster_id'),
13821
14000
  secret_store_id=d.get('secret_store_id'),
13822
14001
  subdomain=d.get('subdomain'),
@@ -28484,6 +28663,7 @@ class Snowflake:
28484
28663
  'name',
28485
28664
  'password',
28486
28665
  'port_override',
28666
+ 'private_key',
28487
28667
  'proxy_cluster_id',
28488
28668
  'schema',
28489
28669
  'secret_store_id',
@@ -28503,6 +28683,7 @@ class Snowflake:
28503
28683
  name=None,
28504
28684
  password=None,
28505
28685
  port_override=None,
28686
+ private_key=None,
28506
28687
  proxy_cluster_id=None,
28507
28688
  schema=None,
28508
28689
  secret_store_id=None,
@@ -28540,12 +28721,16 @@ class Snowflake:
28540
28721
  '''
28541
28722
  self.password = password if password is not None else ''
28542
28723
  '''
28543
- The password to authenticate with.
28724
+ Deprecated: https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/
28544
28725
  '''
28545
28726
  self.port_override = port_override if port_override is not None else 0
28546
28727
  '''
28547
28728
  The local port used by clients to connect to this resource.
28548
28729
  '''
28730
+ self.private_key = private_key if private_key is not None else ''
28731
+ '''
28732
+ RSA Private Key for authentication
28733
+ '''
28549
28734
  self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28550
28735
  '''
28551
28736
  ID of the proxy cluster for this resource, if any.
@@ -28582,6 +28767,7 @@ class Snowflake:
28582
28767
  'name: ' + repr(self.name) + ' ' +\
28583
28768
  'password: ' + repr(self.password) + ' ' +\
28584
28769
  'port_override: ' + repr(self.port_override) + ' ' +\
28770
+ 'private_key: ' + repr(self.private_key) + ' ' +\
28585
28771
  'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28586
28772
  'schema: ' + repr(self.schema) + ' ' +\
28587
28773
  'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
@@ -28601,6 +28787,7 @@ class Snowflake:
28601
28787
  'name': self.name,
28602
28788
  'password': self.password,
28603
28789
  'port_override': self.port_override,
28790
+ 'private_key': self.private_key,
28604
28791
  'proxy_cluster_id': self.proxy_cluster_id,
28605
28792
  'schema': self.schema,
28606
28793
  'secret_store_id': self.secret_store_id,
@@ -28621,6 +28808,7 @@ class Snowflake:
28621
28808
  name=d.get('name'),
28622
28809
  password=d.get('password'),
28623
28810
  port_override=d.get('port_override'),
28811
+ private_key=d.get('private_key'),
28624
28812
  proxy_cluster_id=d.get('proxy_cluster_id'),
28625
28813
  schema=d.get('schema'),
28626
28814
  secret_store_id=d.get('secret_store_id'),
@@ -3859,6 +3859,61 @@ def convert_repeated_azure_certificate_to_porcelain(plumbings):
3859
3859
  ]
3860
3860
 
3861
3861
 
3862
+ def convert_azure_console_to_porcelain(plumbing):
3863
+ if plumbing is None:
3864
+ return None
3865
+ porcelain = models.AzureConsole()
3866
+ porcelain.bind_interface = (plumbing.bind_interface)
3867
+ porcelain.connector_id = (plumbing.connector_id)
3868
+ porcelain.egress_filter = (plumbing.egress_filter)
3869
+ porcelain.healthy = (plumbing.healthy)
3870
+ porcelain.id = (plumbing.id)
3871
+ porcelain.identity_set_id = (plumbing.identity_set_id)
3872
+ porcelain.management_group_id = (plumbing.management_group_id)
3873
+ porcelain.name = (plumbing.name)
3874
+ porcelain.privilege_levels = (plumbing.privilege_levels)
3875
+ porcelain.proxy_cluster_id = (plumbing.proxy_cluster_id)
3876
+ porcelain.secret_store_id = (plumbing.secret_store_id)
3877
+ porcelain.subdomain = (plumbing.subdomain)
3878
+ porcelain.subscription_id = (plumbing.subscription_id)
3879
+ porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
3880
+ return porcelain
3881
+
3882
+
3883
+ def convert_azure_console_to_plumbing(porcelain):
3884
+ plumbing = AzureConsole()
3885
+ if porcelain is None:
3886
+ return plumbing
3887
+ plumbing.bind_interface = (porcelain.bind_interface)
3888
+ plumbing.connector_id = (porcelain.connector_id)
3889
+ plumbing.egress_filter = (porcelain.egress_filter)
3890
+ plumbing.healthy = (porcelain.healthy)
3891
+ plumbing.id = (porcelain.id)
3892
+ plumbing.identity_set_id = (porcelain.identity_set_id)
3893
+ plumbing.management_group_id = (porcelain.management_group_id)
3894
+ plumbing.name = (porcelain.name)
3895
+ plumbing.privilege_levels = (porcelain.privilege_levels)
3896
+ plumbing.proxy_cluster_id = (porcelain.proxy_cluster_id)
3897
+ plumbing.secret_store_id = (porcelain.secret_store_id)
3898
+ plumbing.subdomain = (porcelain.subdomain)
3899
+ plumbing.subscription_id = (porcelain.subscription_id)
3900
+ plumbing.tags.CopyFrom(convert_tags_to_plumbing(porcelain.tags))
3901
+ return plumbing
3902
+
3903
+
3904
+ def convert_repeated_azure_console_to_plumbing(porcelains):
3905
+ return [
3906
+ convert_azure_console_to_plumbing(porcelain)
3907
+ for porcelain in porcelains
3908
+ ]
3909
+
3910
+
3911
+ def convert_repeated_azure_console_to_porcelain(plumbings):
3912
+ return [
3913
+ convert_azure_console_to_porcelain(plumbing) for plumbing in plumbings
3914
+ ]
3915
+
3916
+
3862
3917
  def convert_azure_mysql_to_porcelain(plumbing):
3863
3918
  if plumbing is None:
3864
3919
  return None
@@ -6158,6 +6213,7 @@ def convert_http_auth_to_porcelain(plumbing):
6158
6213
  porcelain.host_override = (plumbing.host_override)
6159
6214
  porcelain.id = (plumbing.id)
6160
6215
  porcelain.name = (plumbing.name)
6216
+ porcelain.port_override = (plumbing.port_override)
6161
6217
  porcelain.proxy_cluster_id = (plumbing.proxy_cluster_id)
6162
6218
  porcelain.secret_store_id = (plumbing.secret_store_id)
6163
6219
  porcelain.subdomain = (plumbing.subdomain)
@@ -6180,6 +6236,7 @@ def convert_http_auth_to_plumbing(porcelain):
6180
6236
  plumbing.host_override = (porcelain.host_override)
6181
6237
  plumbing.id = (porcelain.id)
6182
6238
  plumbing.name = (porcelain.name)
6239
+ plumbing.port_override = (porcelain.port_override)
6183
6240
  plumbing.proxy_cluster_id = (porcelain.proxy_cluster_id)
6184
6241
  plumbing.secret_store_id = (porcelain.secret_store_id)
6185
6242
  plumbing.subdomain = (porcelain.subdomain)
@@ -6212,6 +6269,7 @@ def convert_http_basic_auth_to_porcelain(plumbing):
6212
6269
  porcelain.id = (plumbing.id)
6213
6270
  porcelain.name = (plumbing.name)
6214
6271
  porcelain.password = (plumbing.password)
6272
+ porcelain.port_override = (plumbing.port_override)
6215
6273
  porcelain.proxy_cluster_id = (plumbing.proxy_cluster_id)
6216
6274
  porcelain.secret_store_id = (plumbing.secret_store_id)
6217
6275
  porcelain.subdomain = (plumbing.subdomain)
@@ -6235,6 +6293,7 @@ def convert_http_basic_auth_to_plumbing(porcelain):
6235
6293
  plumbing.id = (porcelain.id)
6236
6294
  plumbing.name = (porcelain.name)
6237
6295
  plumbing.password = (porcelain.password)
6296
+ plumbing.port_override = (porcelain.port_override)
6238
6297
  plumbing.proxy_cluster_id = (porcelain.proxy_cluster_id)
6239
6298
  plumbing.secret_store_id = (porcelain.secret_store_id)
6240
6299
  plumbing.subdomain = (porcelain.subdomain)
@@ -6271,6 +6330,7 @@ def convert_http_no_auth_to_porcelain(plumbing):
6271
6330
  porcelain.host_override = (plumbing.host_override)
6272
6331
  porcelain.id = (plumbing.id)
6273
6332
  porcelain.name = (plumbing.name)
6333
+ porcelain.port_override = (plumbing.port_override)
6274
6334
  porcelain.proxy_cluster_id = (plumbing.proxy_cluster_id)
6275
6335
  porcelain.secret_store_id = (plumbing.secret_store_id)
6276
6336
  porcelain.subdomain = (plumbing.subdomain)
@@ -6292,6 +6352,7 @@ def convert_http_no_auth_to_plumbing(porcelain):
6292
6352
  plumbing.host_override = (porcelain.host_override)
6293
6353
  plumbing.id = (porcelain.id)
6294
6354
  plumbing.name = (porcelain.name)
6355
+ plumbing.port_override = (porcelain.port_override)
6295
6356
  plumbing.proxy_cluster_id = (porcelain.proxy_cluster_id)
6296
6357
  plumbing.secret_store_id = (porcelain.secret_store_id)
6297
6358
  plumbing.subdomain = (porcelain.subdomain)
@@ -12039,6 +12100,9 @@ def convert_resource_to_plumbing(porcelain):
12039
12100
  if isinstance(porcelain, models.AzureCertificate):
12040
12101
  plumbing.azure_certificate.CopyFrom(
12041
12102
  convert_azure_certificate_to_plumbing(porcelain))
12103
+ if isinstance(porcelain, models.AzureConsole):
12104
+ plumbing.azure_console.CopyFrom(
12105
+ convert_azure_console_to_plumbing(porcelain))
12042
12106
  if isinstance(porcelain, models.AzureMysql):
12043
12107
  plumbing.azure_mysql.CopyFrom(
12044
12108
  convert_azure_mysql_to_plumbing(porcelain))
@@ -12308,6 +12372,8 @@ def convert_resource_to_porcelain(plumbing):
12308
12372
  if plumbing.HasField('azure_certificate'):
12309
12373
  return convert_azure_certificate_to_porcelain(
12310
12374
  plumbing.azure_certificate)
12375
+ if plumbing.HasField('azure_console'):
12376
+ return convert_azure_console_to_porcelain(plumbing.azure_console)
12311
12377
  if plumbing.HasField('azure_mysql'):
12312
12378
  return convert_azure_mysql_to_porcelain(plumbing.azure_mysql)
12313
12379
  if plumbing.HasField('azure_postgres'):
@@ -14585,6 +14651,7 @@ def convert_snowflake_to_porcelain(plumbing):
14585
14651
  porcelain.name = (plumbing.name)
14586
14652
  porcelain.password = (plumbing.password)
14587
14653
  porcelain.port_override = (plumbing.port_override)
14654
+ porcelain.private_key = (plumbing.private_key)
14588
14655
  porcelain.proxy_cluster_id = (plumbing.proxy_cluster_id)
14589
14656
  porcelain.schema = (plumbing.schema)
14590
14657
  porcelain.secret_store_id = (plumbing.secret_store_id)
@@ -14607,6 +14674,7 @@ def convert_snowflake_to_plumbing(porcelain):
14607
14674
  plumbing.name = (porcelain.name)
14608
14675
  plumbing.password = (porcelain.password)
14609
14676
  plumbing.port_override = (porcelain.port_override)
14677
+ plumbing.private_key = (porcelain.private_key)
14610
14678
  plumbing.proxy_cluster_id = (porcelain.proxy_cluster_id)
14611
14679
  plumbing.schema = (porcelain.schema)
14612
14680
  plumbing.secret_store_id = (porcelain.secret_store_id)
@@ -5112,6 +5112,7 @@ class Resources:
5112
5112
  `strongdm.models.AWSInstanceProfile`
5113
5113
  `strongdm.models.Azure`
5114
5114
  `strongdm.models.AzureCertificate`
5115
+ `strongdm.models.AzureConsole`
5115
5116
  `strongdm.models.AzureMysql`
5116
5117
  `strongdm.models.AzurePostgres`
5117
5118
  `strongdm.models.AzurePostgresManagedIdentity`
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strongdm
3
- Version: 14.21.0
3
+ Version: 14.23.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.21.0.tar.gz
9
+ Download-URL: https://github.com/strongdm/strongdm-sdk-python/archive/v14.23.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