strongdm 14.3.0__zip → 14.5.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.3.0 → strongdm-14.5.0}/PKG-INFO +2 -2
  2. {strongdm-14.3.0 → strongdm-14.5.0}/setup.py +2 -2
  3. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/accounts_pb2.py +10 -8
  4. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/approval_workflows_pb2.py +6 -4
  5. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/client.py +1 -1
  6. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/drivers_pb2.py +292 -208
  7. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/models.py +304 -0
  8. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/plumbing.py +120 -0
  9. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/svc.py +2 -0
  10. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm.egg-info/PKG-INFO +2 -2
  11. {strongdm-14.3.0 → strongdm-14.5.0}/LICENSE +0 -0
  12. {strongdm-14.3.0 → strongdm-14.5.0}/README.md +0 -0
  13. {strongdm-14.3.0 → strongdm-14.5.0}/setup.cfg +0 -0
  14. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/__init__.py +0 -0
  15. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/access_request_events_history_pb2.py +0 -0
  16. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/access_request_events_history_pb2_grpc.py +0 -0
  17. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/access_requests_history_pb2.py +0 -0
  18. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/access_requests_history_pb2_grpc.py +0 -0
  19. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/access_requests_pb2.py +0 -0
  20. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/access_requests_pb2_grpc.py +0 -0
  21. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/account_attachments_history_pb2.py +0 -0
  22. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/account_attachments_history_pb2_grpc.py +0 -0
  23. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/account_attachments_pb2.py +0 -0
  24. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/account_attachments_pb2_grpc.py +0 -0
  25. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/account_grants_history_pb2.py +0 -0
  26. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/account_grants_history_pb2_grpc.py +0 -0
  27. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/account_grants_pb2.py +0 -0
  28. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/account_grants_pb2_grpc.py +0 -0
  29. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/account_permissions_pb2.py +0 -0
  30. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/account_permissions_pb2_grpc.py +0 -0
  31. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/account_resources_history_pb2.py +0 -0
  32. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/account_resources_history_pb2_grpc.py +0 -0
  33. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/account_resources_pb2.py +0 -0
  34. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/account_resources_pb2_grpc.py +0 -0
  35. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/accounts_history_pb2.py +0 -0
  36. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/accounts_history_pb2_grpc.py +0 -0
  37. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/accounts_pb2_grpc.py +0 -0
  38. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/activities_pb2.py +0 -0
  39. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/activities_pb2_grpc.py +0 -0
  40. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/approval_workflow_approvers_history_pb2.py +0 -0
  41. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/approval_workflow_approvers_history_pb2_grpc.py +0 -0
  42. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/approval_workflow_approvers_pb2.py +0 -0
  43. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/approval_workflow_approvers_pb2_grpc.py +0 -0
  44. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/approval_workflow_steps_history_pb2.py +0 -0
  45. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/approval_workflow_steps_history_pb2_grpc.py +0 -0
  46. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/approval_workflow_steps_pb2.py +0 -0
  47. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/approval_workflow_steps_pb2_grpc.py +0 -0
  48. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/approval_workflows_history_pb2.py +0 -0
  49. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/approval_workflows_history_pb2_grpc.py +0 -0
  50. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/approval_workflows_pb2_grpc.py +0 -0
  51. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/constants.py +0 -0
  52. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/control_panel_pb2.py +0 -0
  53. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/control_panel_pb2_grpc.py +0 -0
  54. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/drivers_pb2_grpc.py +0 -0
  55. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/errors.py +0 -0
  56. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/health_checks_pb2.py +0 -0
  57. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/health_checks_pb2_grpc.py +0 -0
  58. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/identity_aliases_history_pb2.py +0 -0
  59. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/identity_aliases_history_pb2_grpc.py +0 -0
  60. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/identity_aliases_pb2.py +0 -0
  61. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/identity_aliases_pb2_grpc.py +0 -0
  62. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/identity_sets_history_pb2.py +0 -0
  63. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/identity_sets_history_pb2_grpc.py +0 -0
  64. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/identity_sets_pb2.py +0 -0
  65. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/identity_sets_pb2_grpc.py +0 -0
  66. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/managed_secrets_pb2.py +0 -0
  67. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/managed_secrets_pb2_grpc.py +0 -0
  68. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/nodes_history_pb2.py +0 -0
  69. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/nodes_history_pb2_grpc.py +0 -0
  70. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/nodes_pb2.py +0 -0
  71. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/nodes_pb2_grpc.py +0 -0
  72. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/options_pb2.py +0 -0
  73. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/options_pb2_grpc.py +0 -0
  74. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/organization_history_pb2.py +0 -0
  75. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/organization_history_pb2_grpc.py +0 -0
  76. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/peering_group_nodes_pb2.py +0 -0
  77. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/peering_group_nodes_pb2_grpc.py +0 -0
  78. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/peering_group_peers_pb2.py +0 -0
  79. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/peering_group_peers_pb2_grpc.py +0 -0
  80. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/peering_group_resources_pb2.py +0 -0
  81. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/peering_group_resources_pb2_grpc.py +0 -0
  82. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/peering_groups_pb2.py +0 -0
  83. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/peering_groups_pb2_grpc.py +0 -0
  84. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/policies_history_pb2.py +0 -0
  85. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/policies_history_pb2_grpc.py +0 -0
  86. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/policies_pb2.py +0 -0
  87. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/policies_pb2_grpc.py +0 -0
  88. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/proxy_cluster_keys_pb2.py +0 -0
  89. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/proxy_cluster_keys_pb2_grpc.py +0 -0
  90. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/queries_pb2.py +0 -0
  91. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/queries_pb2_grpc.py +0 -0
  92. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/remote_identities_history_pb2.py +0 -0
  93. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/remote_identities_history_pb2_grpc.py +0 -0
  94. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/remote_identities_pb2.py +0 -0
  95. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/remote_identities_pb2_grpc.py +0 -0
  96. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/remote_identity_groups_history_pb2.py +0 -0
  97. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/remote_identity_groups_history_pb2_grpc.py +0 -0
  98. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/remote_identity_groups_pb2.py +0 -0
  99. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/remote_identity_groups_pb2_grpc.py +0 -0
  100. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/replays_pb2.py +0 -0
  101. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/replays_pb2_grpc.py +0 -0
  102. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/resources_history_pb2.py +0 -0
  103. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/resources_history_pb2_grpc.py +0 -0
  104. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/resources_pb2.py +0 -0
  105. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/resources_pb2_grpc.py +0 -0
  106. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/role_resources_history_pb2.py +0 -0
  107. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/role_resources_history_pb2_grpc.py +0 -0
  108. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/role_resources_pb2.py +0 -0
  109. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/role_resources_pb2_grpc.py +0 -0
  110. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/roles_history_pb2.py +0 -0
  111. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/roles_history_pb2_grpc.py +0 -0
  112. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/roles_pb2.py +0 -0
  113. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/roles_pb2_grpc.py +0 -0
  114. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/secret_engine_policy_pb2.py +0 -0
  115. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/secret_engine_policy_pb2_grpc.py +0 -0
  116. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/secret_engine_types_pb2.py +0 -0
  117. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/secret_engine_types_pb2_grpc.py +0 -0
  118. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/secret_engines_pb2.py +0 -0
  119. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/secret_engines_pb2_grpc.py +0 -0
  120. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/secret_store_healths_pb2.py +0 -0
  121. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/secret_store_healths_pb2_grpc.py +0 -0
  122. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/secret_store_types_pb2.py +0 -0
  123. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/secret_store_types_pb2_grpc.py +0 -0
  124. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/secret_stores_history_pb2.py +0 -0
  125. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/secret_stores_history_pb2_grpc.py +0 -0
  126. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/secret_stores_pb2.py +0 -0
  127. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/secret_stores_pb2_grpc.py +0 -0
  128. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/spec_pb2.py +0 -0
  129. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/spec_pb2_grpc.py +0 -0
  130. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/tags_pb2.py +0 -0
  131. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/tags_pb2_grpc.py +0 -0
  132. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/workflow_approvers_history_pb2.py +0 -0
  133. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/workflow_approvers_history_pb2_grpc.py +0 -0
  134. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/workflow_approvers_pb2.py +0 -0
  135. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/workflow_approvers_pb2_grpc.py +0 -0
  136. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/workflow_assignments_history_pb2.py +0 -0
  137. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/workflow_assignments_history_pb2_grpc.py +0 -0
  138. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/workflow_assignments_pb2.py +0 -0
  139. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/workflow_assignments_pb2_grpc.py +0 -0
  140. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/workflow_roles_history_pb2.py +0 -0
  141. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/workflow_roles_history_pb2_grpc.py +0 -0
  142. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/workflow_roles_pb2.py +0 -0
  143. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/workflow_roles_pb2_grpc.py +0 -0
  144. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/workflows_history_pb2.py +0 -0
  145. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/workflows_history_pb2_grpc.py +0 -0
  146. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/workflows_pb2.py +0 -0
  147. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm/workflows_pb2_grpc.py +0 -0
  148. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm.egg-info/SOURCES.txt +0 -0
  149. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm.egg-info/dependency_links.txt +0 -0
  150. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm.egg-info/requires.txt +0 -0
  151. {strongdm-14.3.0 → strongdm-14.5.0}/strongdm.egg-info/top_level.txt +0 -0
@@ -10882,6 +10882,149 @@ class DocumentDBReplicaSet:
10882
10882
  )
10883
10883
 
10884
10884
 
10885
+ class DocumentDBReplicaSetIAM:
10886
+ '''
10887
+ DocumentDBReplicaSetIAM is currently unstable, and its API may change, or it may be removed,
10888
+ without a major version bump.
10889
+ '''
10890
+ __slots__ = [
10891
+ 'bind_interface',
10892
+ 'connect_to_replica',
10893
+ 'egress_filter',
10894
+ 'healthy',
10895
+ 'hostname',
10896
+ 'id',
10897
+ 'name',
10898
+ 'port_override',
10899
+ 'proxy_cluster_id',
10900
+ 'region',
10901
+ 'secret_store_id',
10902
+ 'subdomain',
10903
+ 'tags',
10904
+ ]
10905
+
10906
+ def __init__(
10907
+ self,
10908
+ bind_interface=None,
10909
+ connect_to_replica=None,
10910
+ egress_filter=None,
10911
+ healthy=None,
10912
+ hostname=None,
10913
+ id=None,
10914
+ name=None,
10915
+ port_override=None,
10916
+ proxy_cluster_id=None,
10917
+ region=None,
10918
+ secret_store_id=None,
10919
+ subdomain=None,
10920
+ tags=None,
10921
+ ):
10922
+ self.bind_interface = bind_interface if bind_interface is not None else ''
10923
+ '''
10924
+ 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.
10925
+ '''
10926
+ self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
10927
+ '''
10928
+ Set to connect to a replica instead of the primary node.
10929
+ '''
10930
+ self.egress_filter = egress_filter if egress_filter is not None else ''
10931
+ '''
10932
+ A filter applied to the routing logic to pin datasource to nodes.
10933
+ '''
10934
+ self.healthy = healthy if healthy is not None else False
10935
+ '''
10936
+ True if the datasource is reachable and the credentials are valid.
10937
+ '''
10938
+ self.hostname = hostname if hostname is not None else ''
10939
+ '''
10940
+ Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
10941
+ '''
10942
+ self.id = id if id is not None else ''
10943
+ '''
10944
+ Unique identifier of the Resource.
10945
+ '''
10946
+ self.name = name if name is not None else ''
10947
+ '''
10948
+ Unique human-readable name of the Resource.
10949
+ '''
10950
+ self.port_override = port_override if port_override is not None else 0
10951
+ '''
10952
+ The local port used by clients to connect to this resource.
10953
+ '''
10954
+ self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10955
+ '''
10956
+ ID of the proxy cluster for this resource, if any.
10957
+ '''
10958
+ self.region = region if region is not None else ''
10959
+ '''
10960
+ The region of the document db cluster
10961
+ '''
10962
+ self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10963
+ '''
10964
+ ID of the secret store containing credentials for this resource, if any.
10965
+ '''
10966
+ self.subdomain = subdomain if subdomain is not None else ''
10967
+ '''
10968
+ Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10969
+ '''
10970
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10971
+ '''
10972
+ Tags is a map of key, value pairs.
10973
+ '''
10974
+
10975
+ def __repr__(self):
10976
+ return '<sdm.DocumentDBReplicaSetIAM ' + \
10977
+ 'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10978
+ 'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
10979
+ 'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10980
+ 'healthy: ' + repr(self.healthy) + ' ' +\
10981
+ 'hostname: ' + repr(self.hostname) + ' ' +\
10982
+ 'id: ' + repr(self.id) + ' ' +\
10983
+ 'name: ' + repr(self.name) + ' ' +\
10984
+ 'port_override: ' + repr(self.port_override) + ' ' +\
10985
+ 'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10986
+ 'region: ' + repr(self.region) + ' ' +\
10987
+ 'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10988
+ 'subdomain: ' + repr(self.subdomain) + ' ' +\
10989
+ 'tags: ' + repr(self.tags) + ' ' +\
10990
+ '>'
10991
+
10992
+ def to_dict(self):
10993
+ return {
10994
+ 'bind_interface': self.bind_interface,
10995
+ 'connect_to_replica': self.connect_to_replica,
10996
+ 'egress_filter': self.egress_filter,
10997
+ 'healthy': self.healthy,
10998
+ 'hostname': self.hostname,
10999
+ 'id': self.id,
11000
+ 'name': self.name,
11001
+ 'port_override': self.port_override,
11002
+ 'proxy_cluster_id': self.proxy_cluster_id,
11003
+ 'region': self.region,
11004
+ 'secret_store_id': self.secret_store_id,
11005
+ 'subdomain': self.subdomain,
11006
+ 'tags': self.tags,
11007
+ }
11008
+
11009
+ @classmethod
11010
+ def from_dict(cls, d):
11011
+ return cls(
11012
+ bind_interface=d.get('bind_interface'),
11013
+ connect_to_replica=d.get('connect_to_replica'),
11014
+ egress_filter=d.get('egress_filter'),
11015
+ healthy=d.get('healthy'),
11016
+ hostname=d.get('hostname'),
11017
+ id=d.get('id'),
11018
+ name=d.get('name'),
11019
+ port_override=d.get('port_override'),
11020
+ proxy_cluster_id=d.get('proxy_cluster_id'),
11021
+ region=d.get('region'),
11022
+ secret_store_id=d.get('secret_store_id'),
11023
+ subdomain=d.get('subdomain'),
11024
+ tags=d.get('tags'),
11025
+ )
11026
+
11027
+
10885
11028
  class Druid:
10886
11029
  __slots__ = [
10887
11030
  'bind_interface',
@@ -19592,6 +19735,167 @@ class Oracle:
19592
19735
  )
19593
19736
 
19594
19737
 
19738
+ class OracleNNE:
19739
+ '''
19740
+ OracleNNE is currently unstable, and its API may change, or it may be removed,
19741
+ without a major version bump.
19742
+ '''
19743
+ __slots__ = [
19744
+ 'bind_interface',
19745
+ 'database',
19746
+ 'egress_filter',
19747
+ 'healthy',
19748
+ 'hostname',
19749
+ 'id',
19750
+ 'name',
19751
+ 'password',
19752
+ 'port',
19753
+ 'port_override',
19754
+ 'proxy_cluster_id',
19755
+ 'secret_store_id',
19756
+ 'subdomain',
19757
+ 'tags',
19758
+ 'username',
19759
+ ]
19760
+
19761
+ def __init__(
19762
+ self,
19763
+ bind_interface=None,
19764
+ database=None,
19765
+ egress_filter=None,
19766
+ healthy=None,
19767
+ hostname=None,
19768
+ id=None,
19769
+ name=None,
19770
+ password=None,
19771
+ port=None,
19772
+ port_override=None,
19773
+ proxy_cluster_id=None,
19774
+ secret_store_id=None,
19775
+ subdomain=None,
19776
+ tags=None,
19777
+ username=None,
19778
+ ):
19779
+ self.bind_interface = bind_interface if bind_interface is not None else ''
19780
+ '''
19781
+ 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.
19782
+ '''
19783
+ self.database = database if database is not None else ''
19784
+ '''
19785
+ The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
19786
+ '''
19787
+ self.egress_filter = egress_filter if egress_filter is not None else ''
19788
+ '''
19789
+ A filter applied to the routing logic to pin datasource to nodes.
19790
+ '''
19791
+ self.healthy = healthy if healthy is not None else False
19792
+ '''
19793
+ True if the datasource is reachable and the credentials are valid.
19794
+ '''
19795
+ self.hostname = hostname if hostname is not None else ''
19796
+ '''
19797
+ The host to dial to initiate a connection from the egress node to this resource.
19798
+ '''
19799
+ self.id = id if id is not None else ''
19800
+ '''
19801
+ Unique identifier of the Resource.
19802
+ '''
19803
+ self.name = name if name is not None else ''
19804
+ '''
19805
+ Unique human-readable name of the Resource.
19806
+ '''
19807
+ self.password = password if password is not None else ''
19808
+ '''
19809
+ The password to authenticate with.
19810
+ '''
19811
+ self.port = port if port is not None else 0
19812
+ '''
19813
+ The port to dial to initiate a connection from the egress node to this resource.
19814
+ '''
19815
+ self.port_override = port_override if port_override is not None else 0
19816
+ '''
19817
+ The local port used by clients to connect to this resource.
19818
+ '''
19819
+ self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19820
+ '''
19821
+ ID of the proxy cluster for this resource, if any.
19822
+ '''
19823
+ self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19824
+ '''
19825
+ ID of the secret store containing credentials for this resource, if any.
19826
+ '''
19827
+ self.subdomain = subdomain if subdomain is not None else ''
19828
+ '''
19829
+ Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19830
+ '''
19831
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19832
+ '''
19833
+ Tags is a map of key, value pairs.
19834
+ '''
19835
+ self.username = username if username is not None else ''
19836
+ '''
19837
+ The username to authenticate with.
19838
+ '''
19839
+
19840
+ def __repr__(self):
19841
+ return '<sdm.OracleNNE ' + \
19842
+ 'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19843
+ 'database: ' + repr(self.database) + ' ' +\
19844
+ 'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19845
+ 'healthy: ' + repr(self.healthy) + ' ' +\
19846
+ 'hostname: ' + repr(self.hostname) + ' ' +\
19847
+ 'id: ' + repr(self.id) + ' ' +\
19848
+ 'name: ' + repr(self.name) + ' ' +\
19849
+ 'password: ' + repr(self.password) + ' ' +\
19850
+ 'port: ' + repr(self.port) + ' ' +\
19851
+ 'port_override: ' + repr(self.port_override) + ' ' +\
19852
+ 'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19853
+ 'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19854
+ 'subdomain: ' + repr(self.subdomain) + ' ' +\
19855
+ 'tags: ' + repr(self.tags) + ' ' +\
19856
+ 'username: ' + repr(self.username) + ' ' +\
19857
+ '>'
19858
+
19859
+ def to_dict(self):
19860
+ return {
19861
+ 'bind_interface': self.bind_interface,
19862
+ 'database': self.database,
19863
+ 'egress_filter': self.egress_filter,
19864
+ 'healthy': self.healthy,
19865
+ 'hostname': self.hostname,
19866
+ 'id': self.id,
19867
+ 'name': self.name,
19868
+ 'password': self.password,
19869
+ 'port': self.port,
19870
+ 'port_override': self.port_override,
19871
+ 'proxy_cluster_id': self.proxy_cluster_id,
19872
+ 'secret_store_id': self.secret_store_id,
19873
+ 'subdomain': self.subdomain,
19874
+ 'tags': self.tags,
19875
+ 'username': self.username,
19876
+ }
19877
+
19878
+ @classmethod
19879
+ def from_dict(cls, d):
19880
+ return cls(
19881
+ bind_interface=d.get('bind_interface'),
19882
+ database=d.get('database'),
19883
+ egress_filter=d.get('egress_filter'),
19884
+ healthy=d.get('healthy'),
19885
+ hostname=d.get('hostname'),
19886
+ id=d.get('id'),
19887
+ name=d.get('name'),
19888
+ password=d.get('password'),
19889
+ port=d.get('port'),
19890
+ port_override=d.get('port_override'),
19891
+ proxy_cluster_id=d.get('proxy_cluster_id'),
19892
+ secret_store_id=d.get('secret_store_id'),
19893
+ subdomain=d.get('subdomain'),
19894
+ tags=d.get('tags'),
19895
+ username=d.get('username'),
19896
+ )
19897
+
19898
+
19595
19899
  class Organization:
19596
19900
  __slots__ = [
19597
19901
  'auth_provider',
@@ -5178,6 +5178,60 @@ def convert_repeated_document_db_replica_set_to_porcelain(plumbings):
5178
5178
  ]
5179
5179
 
5180
5180
 
5181
+ def convert_document_db_replica_set_iam_to_porcelain(plumbing):
5182
+ if plumbing is None:
5183
+ return None
5184
+ porcelain = models.DocumentDBReplicaSetIAM()
5185
+ porcelain.bind_interface = (plumbing.bind_interface)
5186
+ porcelain.connect_to_replica = (plumbing.connect_to_replica)
5187
+ porcelain.egress_filter = (plumbing.egress_filter)
5188
+ porcelain.healthy = (plumbing.healthy)
5189
+ porcelain.hostname = (plumbing.hostname)
5190
+ porcelain.id = (plumbing.id)
5191
+ porcelain.name = (plumbing.name)
5192
+ porcelain.port_override = (plumbing.port_override)
5193
+ porcelain.proxy_cluster_id = (plumbing.proxy_cluster_id)
5194
+ porcelain.region = (plumbing.region)
5195
+ porcelain.secret_store_id = (plumbing.secret_store_id)
5196
+ porcelain.subdomain = (plumbing.subdomain)
5197
+ porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
5198
+ return porcelain
5199
+
5200
+
5201
+ def convert_document_db_replica_set_iam_to_plumbing(porcelain):
5202
+ plumbing = DocumentDBReplicaSetIAM()
5203
+ if porcelain is None:
5204
+ return plumbing
5205
+ plumbing.bind_interface = (porcelain.bind_interface)
5206
+ plumbing.connect_to_replica = (porcelain.connect_to_replica)
5207
+ plumbing.egress_filter = (porcelain.egress_filter)
5208
+ plumbing.healthy = (porcelain.healthy)
5209
+ plumbing.hostname = (porcelain.hostname)
5210
+ plumbing.id = (porcelain.id)
5211
+ plumbing.name = (porcelain.name)
5212
+ plumbing.port_override = (porcelain.port_override)
5213
+ plumbing.proxy_cluster_id = (porcelain.proxy_cluster_id)
5214
+ plumbing.region = (porcelain.region)
5215
+ plumbing.secret_store_id = (porcelain.secret_store_id)
5216
+ plumbing.subdomain = (porcelain.subdomain)
5217
+ plumbing.tags.CopyFrom(convert_tags_to_plumbing(porcelain.tags))
5218
+ return plumbing
5219
+
5220
+
5221
+ def convert_repeated_document_db_replica_set_iam_to_plumbing(porcelains):
5222
+ return [
5223
+ convert_document_db_replica_set_iam_to_plumbing(porcelain)
5224
+ for porcelain in porcelains
5225
+ ]
5226
+
5227
+
5228
+ def convert_repeated_document_db_replica_set_iam_to_porcelain(plumbings):
5229
+ return [
5230
+ convert_document_db_replica_set_iam_to_porcelain(plumbing)
5231
+ for plumbing in plumbings
5232
+ ]
5233
+
5234
+
5181
5235
  def convert_druid_to_porcelain(plumbing):
5182
5236
  if plumbing is None:
5183
5237
  return None
@@ -9258,6 +9312,62 @@ def convert_repeated_oracle_to_porcelain(plumbings):
9258
9312
  return [convert_oracle_to_porcelain(plumbing) for plumbing in plumbings]
9259
9313
 
9260
9314
 
9315
+ def convert_oracle_nne_to_porcelain(plumbing):
9316
+ if plumbing is None:
9317
+ return None
9318
+ porcelain = models.OracleNNE()
9319
+ porcelain.bind_interface = (plumbing.bind_interface)
9320
+ porcelain.database = (plumbing.database)
9321
+ porcelain.egress_filter = (plumbing.egress_filter)
9322
+ porcelain.healthy = (plumbing.healthy)
9323
+ porcelain.hostname = (plumbing.hostname)
9324
+ porcelain.id = (plumbing.id)
9325
+ porcelain.name = (plumbing.name)
9326
+ porcelain.password = (plumbing.password)
9327
+ porcelain.port = (plumbing.port)
9328
+ porcelain.port_override = (plumbing.port_override)
9329
+ porcelain.proxy_cluster_id = (plumbing.proxy_cluster_id)
9330
+ porcelain.secret_store_id = (plumbing.secret_store_id)
9331
+ porcelain.subdomain = (plumbing.subdomain)
9332
+ porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
9333
+ porcelain.username = (plumbing.username)
9334
+ return porcelain
9335
+
9336
+
9337
+ def convert_oracle_nne_to_plumbing(porcelain):
9338
+ plumbing = OracleNNE()
9339
+ if porcelain is None:
9340
+ return plumbing
9341
+ plumbing.bind_interface = (porcelain.bind_interface)
9342
+ plumbing.database = (porcelain.database)
9343
+ plumbing.egress_filter = (porcelain.egress_filter)
9344
+ plumbing.healthy = (porcelain.healthy)
9345
+ plumbing.hostname = (porcelain.hostname)
9346
+ plumbing.id = (porcelain.id)
9347
+ plumbing.name = (porcelain.name)
9348
+ plumbing.password = (porcelain.password)
9349
+ plumbing.port = (porcelain.port)
9350
+ plumbing.port_override = (porcelain.port_override)
9351
+ plumbing.proxy_cluster_id = (porcelain.proxy_cluster_id)
9352
+ plumbing.secret_store_id = (porcelain.secret_store_id)
9353
+ plumbing.subdomain = (porcelain.subdomain)
9354
+ plumbing.tags.CopyFrom(convert_tags_to_plumbing(porcelain.tags))
9355
+ plumbing.username = (porcelain.username)
9356
+ return plumbing
9357
+
9358
+
9359
+ def convert_repeated_oracle_nne_to_plumbing(porcelains):
9360
+ return [
9361
+ convert_oracle_nne_to_plumbing(porcelain) for porcelain in porcelains
9362
+ ]
9363
+
9364
+
9365
+ def convert_repeated_oracle_nne_to_porcelain(plumbings):
9366
+ return [
9367
+ convert_oracle_nne_to_porcelain(plumbing) for plumbing in plumbings
9368
+ ]
9369
+
9370
+
9261
9371
  def convert_organization_to_porcelain(plumbing):
9262
9372
  if plumbing is None:
9263
9373
  return None
@@ -11906,6 +12016,9 @@ def convert_resource_to_plumbing(porcelain):
11906
12016
  if isinstance(porcelain, models.DocumentDBReplicaSet):
11907
12017
  plumbing.document_db_replica_set.CopyFrom(
11908
12018
  convert_document_db_replica_set_to_plumbing(porcelain))
12019
+ if isinstance(porcelain, models.DocumentDBReplicaSetIAM):
12020
+ plumbing.document_db_replica_set_iam.CopyFrom(
12021
+ convert_document_db_replica_set_iam_to_plumbing(porcelain))
11909
12022
  if isinstance(porcelain, models.Druid):
11910
12023
  plumbing.druid.CopyFrom(convert_druid_to_plumbing(porcelain))
11911
12024
  if isinstance(porcelain, models.DynamoDB):
@@ -11992,6 +12105,8 @@ def convert_resource_to_plumbing(porcelain):
11992
12105
  convert_neptune_iam_to_plumbing(porcelain))
11993
12106
  if isinstance(porcelain, models.Oracle):
11994
12107
  plumbing.oracle.CopyFrom(convert_oracle_to_plumbing(porcelain))
12108
+ if isinstance(porcelain, models.OracleNNE):
12109
+ plumbing.oracle_nne.CopyFrom(convert_oracle_nne_to_plumbing(porcelain))
11995
12110
  if isinstance(porcelain, models.Postgres):
11996
12111
  plumbing.postgres.CopyFrom(convert_postgres_to_plumbing(porcelain))
11997
12112
  if isinstance(porcelain, models.Presto):
@@ -12162,6 +12277,9 @@ def convert_resource_to_porcelain(plumbing):
12162
12277
  if plumbing.HasField('document_db_replica_set'):
12163
12278
  return convert_document_db_replica_set_to_porcelain(
12164
12279
  plumbing.document_db_replica_set)
12280
+ if plumbing.HasField('document_db_replica_set_iam'):
12281
+ return convert_document_db_replica_set_iam_to_porcelain(
12282
+ plumbing.document_db_replica_set_iam)
12165
12283
  if plumbing.HasField('druid'):
12166
12284
  return convert_druid_to_porcelain(plumbing.druid)
12167
12285
  if plumbing.HasField('dynamo_db'):
@@ -12241,6 +12359,8 @@ def convert_resource_to_porcelain(plumbing):
12241
12359
  return convert_neptune_iam_to_porcelain(plumbing.neptune_iam)
12242
12360
  if plumbing.HasField('oracle'):
12243
12361
  return convert_oracle_to_porcelain(plumbing.oracle)
12362
+ if plumbing.HasField('oracle_nne'):
12363
+ return convert_oracle_nne_to_porcelain(plumbing.oracle_nne)
12244
12364
  if plumbing.HasField('postgres'):
12245
12365
  return convert_postgres_to_porcelain(plumbing.postgres)
12246
12366
  if plumbing.HasField('presto'):
@@ -4865,6 +4865,7 @@ class Resources:
4865
4865
  `strongdm.models.DocumentDBHost`
4866
4866
  `strongdm.models.DocumentDBHostIAM`
4867
4867
  `strongdm.models.DocumentDBReplicaSet`
4868
+ `strongdm.models.DocumentDBReplicaSetIAM`
4868
4869
  `strongdm.models.Druid`
4869
4870
  `strongdm.models.DynamoDB`
4870
4871
  `strongdm.models.DynamoDBIAM`
@@ -4899,6 +4900,7 @@ class Resources:
4899
4900
  `strongdm.models.Neptune`
4900
4901
  `strongdm.models.NeptuneIAM`
4901
4902
  `strongdm.models.Oracle`
4903
+ `strongdm.models.OracleNNE`
4902
4904
  `strongdm.models.Postgres`
4903
4905
  `strongdm.models.Presto`
4904
4906
  `strongdm.models.RabbitMQAMQP091`
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strongdm
3
- Version: 14.3.0
3
+ Version: 14.5.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.3.0.tar.gz
9
+ Download-URL: https://github.com/strongdm/strongdm-sdk-python/archive/v14.5.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
File without changes