strongdm 12.1.0__zip → 12.4.0__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. {strongdm-12.1.0 → strongdm-12.4.0}/PKG-INFO +2 -2
  2. {strongdm-12.1.0 → strongdm-12.4.0}/setup.py +2 -2
  3. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/access_requests_pb2.py +7 -5
  4. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/client.py +1 -1
  5. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/constants.py +1 -0
  6. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/drivers_pb2.py +360 -186
  7. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/models.py +623 -8
  8. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/plumbing.py +249 -0
  9. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/svc.py +4 -0
  10. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm.egg-info/PKG-INFO +2 -2
  11. {strongdm-12.1.0 → strongdm-12.4.0}/LICENSE +0 -0
  12. {strongdm-12.1.0 → strongdm-12.4.0}/README.md +0 -0
  13. {strongdm-12.1.0 → strongdm-12.4.0}/setup.cfg +0 -0
  14. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/__init__.py +0 -0
  15. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/access_request_events_history_pb2.py +0 -0
  16. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/access_request_events_history_pb2_grpc.py +0 -0
  17. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/access_requests_history_pb2.py +0 -0
  18. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/access_requests_history_pb2_grpc.py +0 -0
  19. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/access_requests_pb2_grpc.py +0 -0
  20. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/account_attachments_history_pb2.py +0 -0
  21. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/account_attachments_history_pb2_grpc.py +0 -0
  22. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/account_attachments_pb2.py +0 -0
  23. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/account_attachments_pb2_grpc.py +0 -0
  24. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/account_grants_history_pb2.py +0 -0
  25. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/account_grants_history_pb2_grpc.py +0 -0
  26. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/account_grants_pb2.py +0 -0
  27. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/account_grants_pb2_grpc.py +0 -0
  28. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/account_permissions_pb2.py +0 -0
  29. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/account_permissions_pb2_grpc.py +0 -0
  30. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/account_resources_history_pb2.py +0 -0
  31. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/account_resources_history_pb2_grpc.py +0 -0
  32. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/account_resources_pb2.py +0 -0
  33. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/account_resources_pb2_grpc.py +0 -0
  34. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/accounts_history_pb2.py +0 -0
  35. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/accounts_history_pb2_grpc.py +0 -0
  36. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/accounts_pb2.py +0 -0
  37. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/accounts_pb2_grpc.py +0 -0
  38. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/activities_pb2.py +0 -0
  39. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/activities_pb2_grpc.py +0 -0
  40. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/approval_workflow_approvers_history_pb2.py +0 -0
  41. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/approval_workflow_approvers_history_pb2_grpc.py +0 -0
  42. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/approval_workflow_approvers_pb2.py +0 -0
  43. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/approval_workflow_approvers_pb2_grpc.py +0 -0
  44. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/approval_workflow_steps_history_pb2.py +0 -0
  45. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/approval_workflow_steps_history_pb2_grpc.py +0 -0
  46. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/approval_workflow_steps_pb2.py +0 -0
  47. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/approval_workflow_steps_pb2_grpc.py +0 -0
  48. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/approval_workflows_history_pb2.py +0 -0
  49. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/approval_workflows_history_pb2_grpc.py +0 -0
  50. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/approval_workflows_pb2.py +0 -0
  51. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/approval_workflows_pb2_grpc.py +0 -0
  52. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/control_panel_pb2.py +0 -0
  53. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/control_panel_pb2_grpc.py +0 -0
  54. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/drivers_pb2_grpc.py +0 -0
  55. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/errors.py +0 -0
  56. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/health_checks_pb2.py +0 -0
  57. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/health_checks_pb2_grpc.py +0 -0
  58. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/identity_aliases_history_pb2.py +0 -0
  59. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/identity_aliases_history_pb2_grpc.py +0 -0
  60. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/identity_aliases_pb2.py +0 -0
  61. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/identity_aliases_pb2_grpc.py +0 -0
  62. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/identity_sets_history_pb2.py +0 -0
  63. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/identity_sets_history_pb2_grpc.py +0 -0
  64. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/identity_sets_pb2.py +0 -0
  65. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/identity_sets_pb2_grpc.py +0 -0
  66. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/nodes_history_pb2.py +0 -0
  67. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/nodes_history_pb2_grpc.py +0 -0
  68. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/nodes_pb2.py +0 -0
  69. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/nodes_pb2_grpc.py +0 -0
  70. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/options_pb2.py +0 -0
  71. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/options_pb2_grpc.py +0 -0
  72. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/organization_history_pb2.py +0 -0
  73. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/organization_history_pb2_grpc.py +0 -0
  74. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/peering_group_nodes_pb2.py +0 -0
  75. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/peering_group_nodes_pb2_grpc.py +0 -0
  76. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/peering_group_peers_pb2.py +0 -0
  77. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/peering_group_peers_pb2_grpc.py +0 -0
  78. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/peering_group_resources_pb2.py +0 -0
  79. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/peering_group_resources_pb2_grpc.py +0 -0
  80. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/peering_groups_pb2.py +0 -0
  81. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/peering_groups_pb2_grpc.py +0 -0
  82. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/policies_history_pb2.py +0 -0
  83. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/policies_history_pb2_grpc.py +0 -0
  84. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/policies_pb2.py +0 -0
  85. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/policies_pb2_grpc.py +0 -0
  86. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/proxy_cluster_keys_pb2.py +0 -0
  87. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/proxy_cluster_keys_pb2_grpc.py +0 -0
  88. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/queries_pb2.py +0 -0
  89. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/queries_pb2_grpc.py +0 -0
  90. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/remote_identities_history_pb2.py +0 -0
  91. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/remote_identities_history_pb2_grpc.py +0 -0
  92. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/remote_identities_pb2.py +0 -0
  93. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/remote_identities_pb2_grpc.py +0 -0
  94. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/remote_identity_groups_history_pb2.py +0 -0
  95. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/remote_identity_groups_history_pb2_grpc.py +0 -0
  96. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/remote_identity_groups_pb2.py +0 -0
  97. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/remote_identity_groups_pb2_grpc.py +0 -0
  98. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/replays_pb2.py +0 -0
  99. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/replays_pb2_grpc.py +0 -0
  100. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/resources_history_pb2.py +0 -0
  101. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/resources_history_pb2_grpc.py +0 -0
  102. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/resources_pb2.py +0 -0
  103. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/resources_pb2_grpc.py +0 -0
  104. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/role_resources_history_pb2.py +0 -0
  105. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/role_resources_history_pb2_grpc.py +0 -0
  106. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/role_resources_pb2.py +0 -0
  107. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/role_resources_pb2_grpc.py +0 -0
  108. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/roles_history_pb2.py +0 -0
  109. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/roles_history_pb2_grpc.py +0 -0
  110. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/roles_pb2.py +0 -0
  111. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/roles_pb2_grpc.py +0 -0
  112. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/secret_engine_policy_pb2_grpc.py +0 -0
  113. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/secret_engine_types_pb2_grpc.py +0 -0
  114. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/secret_store_healths_pb2.py +0 -0
  115. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/secret_store_healths_pb2_grpc.py +0 -0
  116. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/secret_store_types_pb2.py +0 -0
  117. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/secret_store_types_pb2_grpc.py +0 -0
  118. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/secret_stores_history_pb2.py +0 -0
  119. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/secret_stores_history_pb2_grpc.py +0 -0
  120. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/secret_stores_pb2.py +0 -0
  121. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/secret_stores_pb2_grpc.py +0 -0
  122. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/spec_pb2.py +0 -0
  123. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/spec_pb2_grpc.py +0 -0
  124. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/tags_pb2.py +0 -0
  125. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/tags_pb2_grpc.py +0 -0
  126. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/workflow_approvers_history_pb2.py +0 -0
  127. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/workflow_approvers_history_pb2_grpc.py +0 -0
  128. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/workflow_approvers_pb2.py +0 -0
  129. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/workflow_approvers_pb2_grpc.py +0 -0
  130. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/workflow_assignments_history_pb2.py +0 -0
  131. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/workflow_assignments_history_pb2_grpc.py +0 -0
  132. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/workflow_assignments_pb2.py +0 -0
  133. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/workflow_assignments_pb2_grpc.py +0 -0
  134. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/workflow_roles_history_pb2.py +0 -0
  135. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/workflow_roles_history_pb2_grpc.py +0 -0
  136. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/workflow_roles_pb2.py +0 -0
  137. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/workflow_roles_pb2_grpc.py +0 -0
  138. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/workflows_history_pb2.py +0 -0
  139. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/workflows_history_pb2_grpc.py +0 -0
  140. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/workflows_pb2.py +0 -0
  141. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm/workflows_pb2_grpc.py +0 -0
  142. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm.egg-info/SOURCES.txt +0 -0
  143. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm.egg-info/dependency_links.txt +0 -0
  144. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm.egg-info/requires.txt +0 -0
  145. {strongdm-12.1.0 → strongdm-12.4.0}/strongdm.egg-info/top_level.txt +0 -0
@@ -7873,6 +7873,477 @@ class Citus:
7873
7873
  )
7874
7874
 
7875
7875
 
7876
+ class ClickHouseHTTP:
7877
+ __slots__ = [
7878
+ 'bind_interface',
7879
+ 'database',
7880
+ 'egress_filter',
7881
+ 'healthy',
7882
+ 'id',
7883
+ 'name',
7884
+ 'password',
7885
+ 'port_override',
7886
+ 'proxy_cluster_id',
7887
+ 'secret_store_id',
7888
+ 'tags',
7889
+ 'url',
7890
+ 'username',
7891
+ ]
7892
+
7893
+ def __init__(
7894
+ self,
7895
+ bind_interface=None,
7896
+ database=None,
7897
+ egress_filter=None,
7898
+ healthy=None,
7899
+ id=None,
7900
+ name=None,
7901
+ password=None,
7902
+ port_override=None,
7903
+ proxy_cluster_id=None,
7904
+ secret_store_id=None,
7905
+ tags=None,
7906
+ url=None,
7907
+ username=None,
7908
+ ):
7909
+ self.bind_interface = bind_interface if bind_interface is not None else ''
7910
+ '''
7911
+ 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.
7912
+ '''
7913
+ self.database = database if database is not None else ''
7914
+ '''
7915
+ The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7916
+ '''
7917
+ self.egress_filter = egress_filter if egress_filter is not None else ''
7918
+ '''
7919
+ A filter applied to the routing logic to pin datasource to nodes.
7920
+ '''
7921
+ self.healthy = healthy if healthy is not None else False
7922
+ '''
7923
+ True if the datasource is reachable and the credentials are valid.
7924
+ '''
7925
+ self.id = id if id is not None else ''
7926
+ '''
7927
+ Unique identifier of the Resource.
7928
+ '''
7929
+ self.name = name if name is not None else ''
7930
+ '''
7931
+ Unique human-readable name of the Resource.
7932
+ '''
7933
+ self.password = password if password is not None else ''
7934
+ '''
7935
+ The password to authenticate with.
7936
+ '''
7937
+ self.port_override = port_override if port_override is not None else 0
7938
+ '''
7939
+ The local port used by clients to connect to this resource.
7940
+ '''
7941
+ self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7942
+ '''
7943
+ ID of the proxy cluster for this resource, if any.
7944
+ '''
7945
+ self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7946
+ '''
7947
+ ID of the secret store containing credentials for this resource, if any.
7948
+ '''
7949
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7950
+ '''
7951
+ Tags is a map of key, value pairs.
7952
+ '''
7953
+ self.url = url if url is not None else ''
7954
+ '''
7955
+ The URL to dial to initiate a connection from the egress node to this resource.
7956
+ '''
7957
+ self.username = username if username is not None else ''
7958
+ '''
7959
+ The username to authenticate with.
7960
+ '''
7961
+
7962
+ def __repr__(self):
7963
+ return '<sdm.ClickHouseHTTP ' + \
7964
+ 'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7965
+ 'database: ' + repr(self.database) + ' ' +\
7966
+ 'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7967
+ 'healthy: ' + repr(self.healthy) + ' ' +\
7968
+ 'id: ' + repr(self.id) + ' ' +\
7969
+ 'name: ' + repr(self.name) + ' ' +\
7970
+ 'password: ' + repr(self.password) + ' ' +\
7971
+ 'port_override: ' + repr(self.port_override) + ' ' +\
7972
+ 'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7973
+ 'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7974
+ 'tags: ' + repr(self.tags) + ' ' +\
7975
+ 'url: ' + repr(self.url) + ' ' +\
7976
+ 'username: ' + repr(self.username) + ' ' +\
7977
+ '>'
7978
+
7979
+ def to_dict(self):
7980
+ return {
7981
+ 'bind_interface': self.bind_interface,
7982
+ 'database': self.database,
7983
+ 'egress_filter': self.egress_filter,
7984
+ 'healthy': self.healthy,
7985
+ 'id': self.id,
7986
+ 'name': self.name,
7987
+ 'password': self.password,
7988
+ 'port_override': self.port_override,
7989
+ 'proxy_cluster_id': self.proxy_cluster_id,
7990
+ 'secret_store_id': self.secret_store_id,
7991
+ 'tags': self.tags,
7992
+ 'url': self.url,
7993
+ 'username': self.username,
7994
+ }
7995
+
7996
+ @classmethod
7997
+ def from_dict(cls, d):
7998
+ return cls(
7999
+ bind_interface=d.get('bind_interface'),
8000
+ database=d.get('database'),
8001
+ egress_filter=d.get('egress_filter'),
8002
+ healthy=d.get('healthy'),
8003
+ id=d.get('id'),
8004
+ name=d.get('name'),
8005
+ password=d.get('password'),
8006
+ port_override=d.get('port_override'),
8007
+ proxy_cluster_id=d.get('proxy_cluster_id'),
8008
+ secret_store_id=d.get('secret_store_id'),
8009
+ tags=d.get('tags'),
8010
+ url=d.get('url'),
8011
+ username=d.get('username'),
8012
+ )
8013
+
8014
+
8015
+ class ClickHouseMySQL:
8016
+ __slots__ = [
8017
+ 'bind_interface',
8018
+ 'database',
8019
+ 'egress_filter',
8020
+ 'healthy',
8021
+ 'hostname',
8022
+ 'id',
8023
+ 'name',
8024
+ 'password',
8025
+ 'port',
8026
+ 'port_override',
8027
+ 'proxy_cluster_id',
8028
+ 'require_native_auth',
8029
+ 'secret_store_id',
8030
+ 'subdomain',
8031
+ 'tags',
8032
+ 'username',
8033
+ ]
8034
+
8035
+ def __init__(
8036
+ self,
8037
+ bind_interface=None,
8038
+ database=None,
8039
+ egress_filter=None,
8040
+ healthy=None,
8041
+ hostname=None,
8042
+ id=None,
8043
+ name=None,
8044
+ password=None,
8045
+ port=None,
8046
+ port_override=None,
8047
+ proxy_cluster_id=None,
8048
+ require_native_auth=None,
8049
+ secret_store_id=None,
8050
+ subdomain=None,
8051
+ tags=None,
8052
+ username=None,
8053
+ ):
8054
+ self.bind_interface = bind_interface if bind_interface is not None else ''
8055
+ '''
8056
+ 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.
8057
+ '''
8058
+ self.database = database if database is not None else ''
8059
+ '''
8060
+ The database for healthchecks. Does not affect client requests.
8061
+ '''
8062
+ self.egress_filter = egress_filter if egress_filter is not None else ''
8063
+ '''
8064
+ A filter applied to the routing logic to pin datasource to nodes.
8065
+ '''
8066
+ self.healthy = healthy if healthy is not None else False
8067
+ '''
8068
+ True if the datasource is reachable and the credentials are valid.
8069
+ '''
8070
+ self.hostname = hostname if hostname is not None else ''
8071
+ '''
8072
+ The host to dial to initiate a connection from the egress node to this resource.
8073
+ '''
8074
+ self.id = id if id is not None else ''
8075
+ '''
8076
+ Unique identifier of the Resource.
8077
+ '''
8078
+ self.name = name if name is not None else ''
8079
+ '''
8080
+ Unique human-readable name of the Resource.
8081
+ '''
8082
+ self.password = password if password is not None else ''
8083
+ '''
8084
+ The password to authenticate with.
8085
+ '''
8086
+ self.port = port if port is not None else 0
8087
+ '''
8088
+ The port to dial to initiate a connection from the egress node to this resource.
8089
+ '''
8090
+ self.port_override = port_override if port_override is not None else 0
8091
+ '''
8092
+ The local port used by clients to connect to this resource.
8093
+ '''
8094
+ self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8095
+ '''
8096
+ ID of the proxy cluster for this resource, if any.
8097
+ '''
8098
+ self.require_native_auth = require_native_auth if require_native_auth is not None else False
8099
+ '''
8100
+ Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
8101
+ '''
8102
+ self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8103
+ '''
8104
+ ID of the secret store containing credentials for this resource, if any.
8105
+ '''
8106
+ self.subdomain = subdomain if subdomain is not None else ''
8107
+ '''
8108
+ Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8109
+ '''
8110
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8111
+ '''
8112
+ Tags is a map of key, value pairs.
8113
+ '''
8114
+ self.username = username if username is not None else ''
8115
+ '''
8116
+ The username to authenticate with.
8117
+ '''
8118
+
8119
+ def __repr__(self):
8120
+ return '<sdm.ClickHouseMySQL ' + \
8121
+ 'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8122
+ 'database: ' + repr(self.database) + ' ' +\
8123
+ 'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8124
+ 'healthy: ' + repr(self.healthy) + ' ' +\
8125
+ 'hostname: ' + repr(self.hostname) + ' ' +\
8126
+ 'id: ' + repr(self.id) + ' ' +\
8127
+ 'name: ' + repr(self.name) + ' ' +\
8128
+ 'password: ' + repr(self.password) + ' ' +\
8129
+ 'port: ' + repr(self.port) + ' ' +\
8130
+ 'port_override: ' + repr(self.port_override) + ' ' +\
8131
+ 'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8132
+ 'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
8133
+ 'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8134
+ 'subdomain: ' + repr(self.subdomain) + ' ' +\
8135
+ 'tags: ' + repr(self.tags) + ' ' +\
8136
+ 'username: ' + repr(self.username) + ' ' +\
8137
+ '>'
8138
+
8139
+ def to_dict(self):
8140
+ return {
8141
+ 'bind_interface': self.bind_interface,
8142
+ 'database': self.database,
8143
+ 'egress_filter': self.egress_filter,
8144
+ 'healthy': self.healthy,
8145
+ 'hostname': self.hostname,
8146
+ 'id': self.id,
8147
+ 'name': self.name,
8148
+ 'password': self.password,
8149
+ 'port': self.port,
8150
+ 'port_override': self.port_override,
8151
+ 'proxy_cluster_id': self.proxy_cluster_id,
8152
+ 'require_native_auth': self.require_native_auth,
8153
+ 'secret_store_id': self.secret_store_id,
8154
+ 'subdomain': self.subdomain,
8155
+ 'tags': self.tags,
8156
+ 'username': self.username,
8157
+ }
8158
+
8159
+ @classmethod
8160
+ def from_dict(cls, d):
8161
+ return cls(
8162
+ bind_interface=d.get('bind_interface'),
8163
+ database=d.get('database'),
8164
+ egress_filter=d.get('egress_filter'),
8165
+ healthy=d.get('healthy'),
8166
+ hostname=d.get('hostname'),
8167
+ id=d.get('id'),
8168
+ name=d.get('name'),
8169
+ password=d.get('password'),
8170
+ port=d.get('port'),
8171
+ port_override=d.get('port_override'),
8172
+ proxy_cluster_id=d.get('proxy_cluster_id'),
8173
+ require_native_auth=d.get('require_native_auth'),
8174
+ secret_store_id=d.get('secret_store_id'),
8175
+ subdomain=d.get('subdomain'),
8176
+ tags=d.get('tags'),
8177
+ username=d.get('username'),
8178
+ )
8179
+
8180
+
8181
+ class ClickHouseTCP:
8182
+ __slots__ = [
8183
+ 'bind_interface',
8184
+ 'database',
8185
+ 'egress_filter',
8186
+ 'healthy',
8187
+ 'hostname',
8188
+ 'id',
8189
+ 'name',
8190
+ 'password',
8191
+ 'port',
8192
+ 'port_override',
8193
+ 'proxy_cluster_id',
8194
+ 'secret_store_id',
8195
+ 'subdomain',
8196
+ 'tags',
8197
+ 'tls_required',
8198
+ 'username',
8199
+ ]
8200
+
8201
+ def __init__(
8202
+ self,
8203
+ bind_interface=None,
8204
+ database=None,
8205
+ egress_filter=None,
8206
+ healthy=None,
8207
+ hostname=None,
8208
+ id=None,
8209
+ name=None,
8210
+ password=None,
8211
+ port=None,
8212
+ port_override=None,
8213
+ proxy_cluster_id=None,
8214
+ secret_store_id=None,
8215
+ subdomain=None,
8216
+ tags=None,
8217
+ tls_required=None,
8218
+ username=None,
8219
+ ):
8220
+ self.bind_interface = bind_interface if bind_interface is not None else ''
8221
+ '''
8222
+ 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.
8223
+ '''
8224
+ self.database = database if database is not None else ''
8225
+ '''
8226
+ The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8227
+ '''
8228
+ self.egress_filter = egress_filter if egress_filter is not None else ''
8229
+ '''
8230
+ A filter applied to the routing logic to pin datasource to nodes.
8231
+ '''
8232
+ self.healthy = healthy if healthy is not None else False
8233
+ '''
8234
+ True if the datasource is reachable and the credentials are valid.
8235
+ '''
8236
+ self.hostname = hostname if hostname is not None else ''
8237
+ '''
8238
+ The host to dial to initiate a connection from the egress node to this resource.
8239
+ '''
8240
+ self.id = id if id is not None else ''
8241
+ '''
8242
+ Unique identifier of the Resource.
8243
+ '''
8244
+ self.name = name if name is not None else ''
8245
+ '''
8246
+ Unique human-readable name of the Resource.
8247
+ '''
8248
+ self.password = password if password is not None else ''
8249
+ '''
8250
+ The password to authenticate with.
8251
+ '''
8252
+ self.port = port if port is not None else 0
8253
+ '''
8254
+ The port to dial to initiate a connection from the egress node to this resource.
8255
+ '''
8256
+ self.port_override = port_override if port_override is not None else 0
8257
+ '''
8258
+ The local port used by clients to connect to this resource.
8259
+ '''
8260
+ self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8261
+ '''
8262
+ ID of the proxy cluster for this resource, if any.
8263
+ '''
8264
+ self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8265
+ '''
8266
+ ID of the secret store containing credentials for this resource, if any.
8267
+ '''
8268
+ self.subdomain = subdomain if subdomain is not None else ''
8269
+ '''
8270
+ Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8271
+ '''
8272
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8273
+ '''
8274
+ Tags is a map of key, value pairs.
8275
+ '''
8276
+ self.tls_required = tls_required if tls_required is not None else False
8277
+ '''
8278
+ If set, TLS must be used to connect to this resource.
8279
+ '''
8280
+ self.username = username if username is not None else ''
8281
+ '''
8282
+ The username to authenticate with.
8283
+ '''
8284
+
8285
+ def __repr__(self):
8286
+ return '<sdm.ClickHouseTCP ' + \
8287
+ 'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8288
+ 'database: ' + repr(self.database) + ' ' +\
8289
+ 'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8290
+ 'healthy: ' + repr(self.healthy) + ' ' +\
8291
+ 'hostname: ' + repr(self.hostname) + ' ' +\
8292
+ 'id: ' + repr(self.id) + ' ' +\
8293
+ 'name: ' + repr(self.name) + ' ' +\
8294
+ 'password: ' + repr(self.password) + ' ' +\
8295
+ 'port: ' + repr(self.port) + ' ' +\
8296
+ 'port_override: ' + repr(self.port_override) + ' ' +\
8297
+ 'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8298
+ 'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8299
+ 'subdomain: ' + repr(self.subdomain) + ' ' +\
8300
+ 'tags: ' + repr(self.tags) + ' ' +\
8301
+ 'tls_required: ' + repr(self.tls_required) + ' ' +\
8302
+ 'username: ' + repr(self.username) + ' ' +\
8303
+ '>'
8304
+
8305
+ def to_dict(self):
8306
+ return {
8307
+ 'bind_interface': self.bind_interface,
8308
+ 'database': self.database,
8309
+ 'egress_filter': self.egress_filter,
8310
+ 'healthy': self.healthy,
8311
+ 'hostname': self.hostname,
8312
+ 'id': self.id,
8313
+ 'name': self.name,
8314
+ 'password': self.password,
8315
+ 'port': self.port,
8316
+ 'port_override': self.port_override,
8317
+ 'proxy_cluster_id': self.proxy_cluster_id,
8318
+ 'secret_store_id': self.secret_store_id,
8319
+ 'subdomain': self.subdomain,
8320
+ 'tags': self.tags,
8321
+ 'tls_required': self.tls_required,
8322
+ 'username': self.username,
8323
+ }
8324
+
8325
+ @classmethod
8326
+ def from_dict(cls, d):
8327
+ return cls(
8328
+ bind_interface=d.get('bind_interface'),
8329
+ database=d.get('database'),
8330
+ egress_filter=d.get('egress_filter'),
8331
+ healthy=d.get('healthy'),
8332
+ hostname=d.get('hostname'),
8333
+ id=d.get('id'),
8334
+ name=d.get('name'),
8335
+ password=d.get('password'),
8336
+ port=d.get('port'),
8337
+ port_override=d.get('port_override'),
8338
+ proxy_cluster_id=d.get('proxy_cluster_id'),
8339
+ secret_store_id=d.get('secret_store_id'),
8340
+ subdomain=d.get('subdomain'),
8341
+ tags=d.get('tags'),
8342
+ tls_required=d.get('tls_required'),
8343
+ username=d.get('username'),
8344
+ )
8345
+
8346
+
7876
8347
  class Clustrix:
7877
8348
  __slots__ = [
7878
8349
  'bind_interface',
@@ -9919,6 +10390,158 @@ class DynamoDB:
9919
10390
  )
9920
10391
 
9921
10392
 
10393
+ class DynamoDBIAM:
10394
+ '''
10395
+ DynamoDBIAM is currently unstable, and its API may change, or it may be removed,
10396
+ without a major version bump.
10397
+ '''
10398
+ __slots__ = [
10399
+ 'bind_interface',
10400
+ 'egress_filter',
10401
+ 'endpoint',
10402
+ 'healthy',
10403
+ 'id',
10404
+ 'name',
10405
+ 'port_override',
10406
+ 'proxy_cluster_id',
10407
+ 'region',
10408
+ 'role_arn',
10409
+ 'role_external_id',
10410
+ 'secret_store_id',
10411
+ 'subdomain',
10412
+ 'tags',
10413
+ ]
10414
+
10415
+ def __init__(
10416
+ self,
10417
+ bind_interface=None,
10418
+ egress_filter=None,
10419
+ endpoint=None,
10420
+ healthy=None,
10421
+ id=None,
10422
+ name=None,
10423
+ port_override=None,
10424
+ proxy_cluster_id=None,
10425
+ region=None,
10426
+ role_arn=None,
10427
+ role_external_id=None,
10428
+ secret_store_id=None,
10429
+ subdomain=None,
10430
+ tags=None,
10431
+ ):
10432
+ self.bind_interface = bind_interface if bind_interface is not None else ''
10433
+ '''
10434
+ 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.
10435
+ '''
10436
+ self.egress_filter = egress_filter if egress_filter is not None else ''
10437
+ '''
10438
+ A filter applied to the routing logic to pin datasource to nodes.
10439
+ '''
10440
+ self.endpoint = endpoint if endpoint is not None else ''
10441
+ '''
10442
+ The endpoint to dial e.g. dynamodb.region.amazonaws.com
10443
+ '''
10444
+ self.healthy = healthy if healthy is not None else False
10445
+ '''
10446
+ True if the datasource is reachable and the credentials are valid.
10447
+ '''
10448
+ self.id = id if id is not None else ''
10449
+ '''
10450
+ Unique identifier of the Resource.
10451
+ '''
10452
+ self.name = name if name is not None else ''
10453
+ '''
10454
+ Unique human-readable name of the Resource.
10455
+ '''
10456
+ self.port_override = port_override if port_override is not None else 0
10457
+ '''
10458
+ The local port used by clients to connect to this resource.
10459
+ '''
10460
+ self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10461
+ '''
10462
+ ID of the proxy cluster for this resource, if any.
10463
+ '''
10464
+ self.region = region if region is not None else ''
10465
+ '''
10466
+ The region to authenticate requests against e.g. us-east-1
10467
+ '''
10468
+ self.role_arn = role_arn if role_arn is not None else ''
10469
+ '''
10470
+ The role to assume after logging in.
10471
+ '''
10472
+ self.role_external_id = role_external_id if role_external_id is not None else ''
10473
+ '''
10474
+ The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
10475
+ '''
10476
+ self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10477
+ '''
10478
+ ID of the secret store containing credentials for this resource, if any.
10479
+ '''
10480
+ self.subdomain = subdomain if subdomain is not None else ''
10481
+ '''
10482
+ Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10483
+ '''
10484
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10485
+ '''
10486
+ Tags is a map of key, value pairs.
10487
+ '''
10488
+
10489
+ def __repr__(self):
10490
+ return '<sdm.DynamoDBIAM ' + \
10491
+ 'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10492
+ 'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10493
+ 'endpoint: ' + repr(self.endpoint) + ' ' +\
10494
+ 'healthy: ' + repr(self.healthy) + ' ' +\
10495
+ 'id: ' + repr(self.id) + ' ' +\
10496
+ 'name: ' + repr(self.name) + ' ' +\
10497
+ 'port_override: ' + repr(self.port_override) + ' ' +\
10498
+ 'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10499
+ 'region: ' + repr(self.region) + ' ' +\
10500
+ 'role_arn: ' + repr(self.role_arn) + ' ' +\
10501
+ 'role_external_id: ' + repr(self.role_external_id) + ' ' +\
10502
+ 'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10503
+ 'subdomain: ' + repr(self.subdomain) + ' ' +\
10504
+ 'tags: ' + repr(self.tags) + ' ' +\
10505
+ '>'
10506
+
10507
+ def to_dict(self):
10508
+ return {
10509
+ 'bind_interface': self.bind_interface,
10510
+ 'egress_filter': self.egress_filter,
10511
+ 'endpoint': self.endpoint,
10512
+ 'healthy': self.healthy,
10513
+ 'id': self.id,
10514
+ 'name': self.name,
10515
+ 'port_override': self.port_override,
10516
+ 'proxy_cluster_id': self.proxy_cluster_id,
10517
+ 'region': self.region,
10518
+ 'role_arn': self.role_arn,
10519
+ 'role_external_id': self.role_external_id,
10520
+ 'secret_store_id': self.secret_store_id,
10521
+ 'subdomain': self.subdomain,
10522
+ 'tags': self.tags,
10523
+ }
10524
+
10525
+ @classmethod
10526
+ def from_dict(cls, d):
10527
+ return cls(
10528
+ bind_interface=d.get('bind_interface'),
10529
+ egress_filter=d.get('egress_filter'),
10530
+ endpoint=d.get('endpoint'),
10531
+ healthy=d.get('healthy'),
10532
+ id=d.get('id'),
10533
+ name=d.get('name'),
10534
+ port_override=d.get('port_override'),
10535
+ proxy_cluster_id=d.get('proxy_cluster_id'),
10536
+ region=d.get('region'),
10537
+ role_arn=d.get('role_arn'),
10538
+ role_external_id=d.get('role_external_id'),
10539
+ secret_store_id=d.get('secret_store_id'),
10540
+ subdomain=d.get('subdomain'),
10541
+ tags=d.get('tags'),
10542
+ )
10543
+
10544
+
9922
10545
  class Elastic:
9923
10546
  __slots__ = [
9924
10547
  'bind_interface',
@@ -10458,10 +11081,6 @@ class GCPCertX509Store:
10458
11081
 
10459
11082
 
10460
11083
  class GCPConsole:
10461
- '''
10462
- GCPConsole is currently unstable, and its API may change, or it may be removed,
10463
- without a major version bump.
10464
- '''
10465
11084
  __slots__ = [
10466
11085
  'bind_interface',
10467
11086
  'egress_filter',
@@ -10679,10 +11298,6 @@ class GCPStore:
10679
11298
 
10680
11299
 
10681
11300
  class GCPWIF:
10682
- '''
10683
- GCPWIF is currently unstable, and its API may change, or it may be removed,
10684
- without a major version bump.
10685
- '''
10686
11301
  __slots__ = [
10687
11302
  'bind_interface',
10688
11303
  'egress_filter',