strongdm 12.2.0__zip → 12.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 (145) hide show
  1. {strongdm-12.2.0 → strongdm-12.5.0}/PKG-INFO +2 -2
  2. {strongdm-12.2.0 → strongdm-12.5.0}/setup.py +2 -2
  3. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/access_requests_pb2.py +7 -5
  4. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/client.py +1 -1
  5. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/constants.py +1 -0
  6. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/drivers_pb2.py +398 -184
  7. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/models.py +805 -43
  8. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/plumbing.py +309 -0
  9. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/svc.py +5 -0
  10. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm.egg-info/PKG-INFO +2 -2
  11. {strongdm-12.2.0 → strongdm-12.5.0}/LICENSE +0 -0
  12. {strongdm-12.2.0 → strongdm-12.5.0}/README.md +0 -0
  13. {strongdm-12.2.0 → strongdm-12.5.0}/setup.cfg +0 -0
  14. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/__init__.py +0 -0
  15. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/access_request_events_history_pb2.py +0 -0
  16. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/access_request_events_history_pb2_grpc.py +0 -0
  17. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/access_requests_history_pb2.py +0 -0
  18. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/access_requests_history_pb2_grpc.py +0 -0
  19. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/access_requests_pb2_grpc.py +0 -0
  20. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/account_attachments_history_pb2.py +0 -0
  21. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/account_attachments_history_pb2_grpc.py +0 -0
  22. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/account_attachments_pb2.py +0 -0
  23. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/account_attachments_pb2_grpc.py +0 -0
  24. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/account_grants_history_pb2.py +0 -0
  25. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/account_grants_history_pb2_grpc.py +0 -0
  26. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/account_grants_pb2.py +0 -0
  27. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/account_grants_pb2_grpc.py +0 -0
  28. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/account_permissions_pb2.py +0 -0
  29. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/account_permissions_pb2_grpc.py +0 -0
  30. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/account_resources_history_pb2.py +0 -0
  31. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/account_resources_history_pb2_grpc.py +0 -0
  32. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/account_resources_pb2.py +0 -0
  33. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/account_resources_pb2_grpc.py +0 -0
  34. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/accounts_history_pb2.py +0 -0
  35. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/accounts_history_pb2_grpc.py +0 -0
  36. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/accounts_pb2.py +0 -0
  37. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/accounts_pb2_grpc.py +0 -0
  38. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/activities_pb2.py +0 -0
  39. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/activities_pb2_grpc.py +0 -0
  40. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/approval_workflow_approvers_history_pb2.py +0 -0
  41. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/approval_workflow_approvers_history_pb2_grpc.py +0 -0
  42. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/approval_workflow_approvers_pb2.py +0 -0
  43. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/approval_workflow_approvers_pb2_grpc.py +0 -0
  44. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/approval_workflow_steps_history_pb2.py +0 -0
  45. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/approval_workflow_steps_history_pb2_grpc.py +0 -0
  46. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/approval_workflow_steps_pb2.py +0 -0
  47. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/approval_workflow_steps_pb2_grpc.py +0 -0
  48. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/approval_workflows_history_pb2.py +0 -0
  49. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/approval_workflows_history_pb2_grpc.py +0 -0
  50. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/approval_workflows_pb2.py +0 -0
  51. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/approval_workflows_pb2_grpc.py +0 -0
  52. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/control_panel_pb2.py +0 -0
  53. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/control_panel_pb2_grpc.py +0 -0
  54. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/drivers_pb2_grpc.py +0 -0
  55. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/errors.py +0 -0
  56. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/health_checks_pb2.py +0 -0
  57. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/health_checks_pb2_grpc.py +0 -0
  58. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/identity_aliases_history_pb2.py +0 -0
  59. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/identity_aliases_history_pb2_grpc.py +0 -0
  60. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/identity_aliases_pb2.py +0 -0
  61. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/identity_aliases_pb2_grpc.py +0 -0
  62. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/identity_sets_history_pb2.py +0 -0
  63. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/identity_sets_history_pb2_grpc.py +0 -0
  64. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/identity_sets_pb2.py +0 -0
  65. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/identity_sets_pb2_grpc.py +0 -0
  66. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/nodes_history_pb2.py +0 -0
  67. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/nodes_history_pb2_grpc.py +0 -0
  68. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/nodes_pb2.py +0 -0
  69. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/nodes_pb2_grpc.py +0 -0
  70. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/options_pb2.py +0 -0
  71. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/options_pb2_grpc.py +0 -0
  72. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/organization_history_pb2.py +0 -0
  73. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/organization_history_pb2_grpc.py +0 -0
  74. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/peering_group_nodes_pb2.py +0 -0
  75. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/peering_group_nodes_pb2_grpc.py +0 -0
  76. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/peering_group_peers_pb2.py +0 -0
  77. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/peering_group_peers_pb2_grpc.py +0 -0
  78. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/peering_group_resources_pb2.py +0 -0
  79. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/peering_group_resources_pb2_grpc.py +0 -0
  80. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/peering_groups_pb2.py +0 -0
  81. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/peering_groups_pb2_grpc.py +0 -0
  82. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/policies_history_pb2.py +0 -0
  83. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/policies_history_pb2_grpc.py +0 -0
  84. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/policies_pb2.py +0 -0
  85. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/policies_pb2_grpc.py +0 -0
  86. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/proxy_cluster_keys_pb2.py +0 -0
  87. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/proxy_cluster_keys_pb2_grpc.py +0 -0
  88. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/queries_pb2.py +0 -0
  89. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/queries_pb2_grpc.py +0 -0
  90. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/remote_identities_history_pb2.py +0 -0
  91. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/remote_identities_history_pb2_grpc.py +0 -0
  92. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/remote_identities_pb2.py +0 -0
  93. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/remote_identities_pb2_grpc.py +0 -0
  94. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/remote_identity_groups_history_pb2.py +0 -0
  95. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/remote_identity_groups_history_pb2_grpc.py +0 -0
  96. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/remote_identity_groups_pb2.py +0 -0
  97. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/remote_identity_groups_pb2_grpc.py +0 -0
  98. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/replays_pb2.py +0 -0
  99. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/replays_pb2_grpc.py +0 -0
  100. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/resources_history_pb2.py +0 -0
  101. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/resources_history_pb2_grpc.py +0 -0
  102. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/resources_pb2.py +0 -0
  103. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/resources_pb2_grpc.py +0 -0
  104. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/role_resources_history_pb2.py +0 -0
  105. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/role_resources_history_pb2_grpc.py +0 -0
  106. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/role_resources_pb2.py +0 -0
  107. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/role_resources_pb2_grpc.py +0 -0
  108. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/roles_history_pb2.py +0 -0
  109. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/roles_history_pb2_grpc.py +0 -0
  110. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/roles_pb2.py +0 -0
  111. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/roles_pb2_grpc.py +0 -0
  112. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/secret_engine_policy_pb2_grpc.py +0 -0
  113. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/secret_engine_types_pb2_grpc.py +0 -0
  114. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/secret_store_healths_pb2.py +0 -0
  115. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/secret_store_healths_pb2_grpc.py +0 -0
  116. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/secret_store_types_pb2.py +0 -0
  117. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/secret_store_types_pb2_grpc.py +0 -0
  118. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/secret_stores_history_pb2.py +0 -0
  119. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/secret_stores_history_pb2_grpc.py +0 -0
  120. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/secret_stores_pb2.py +0 -0
  121. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/secret_stores_pb2_grpc.py +0 -0
  122. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/spec_pb2.py +0 -0
  123. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/spec_pb2_grpc.py +0 -0
  124. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/tags_pb2.py +0 -0
  125. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/tags_pb2_grpc.py +0 -0
  126. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/workflow_approvers_history_pb2.py +0 -0
  127. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/workflow_approvers_history_pb2_grpc.py +0 -0
  128. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/workflow_approvers_pb2.py +0 -0
  129. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/workflow_approvers_pb2_grpc.py +0 -0
  130. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/workflow_assignments_history_pb2.py +0 -0
  131. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/workflow_assignments_history_pb2_grpc.py +0 -0
  132. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/workflow_assignments_pb2.py +0 -0
  133. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/workflow_assignments_pb2_grpc.py +0 -0
  134. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/workflow_roles_history_pb2.py +0 -0
  135. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/workflow_roles_history_pb2_grpc.py +0 -0
  136. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/workflow_roles_pb2.py +0 -0
  137. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/workflow_roles_pb2_grpc.py +0 -0
  138. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/workflows_history_pb2.py +0 -0
  139. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/workflows_history_pb2_grpc.py +0 -0
  140. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/workflows_pb2.py +0 -0
  141. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm/workflows_pb2_grpc.py +0 -0
  142. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm.egg-info/SOURCES.txt +0 -0
  143. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm.egg-info/dependency_links.txt +0 -0
  144. {strongdm-12.2.0 → strongdm-12.5.0}/strongdm.egg-info/requires.txt +0 -0
  145. {strongdm-12.2.0 → strongdm-12.5.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',
@@ -9234,95 +9705,244 @@ class DelineaStore:
9234
9705
  ):
9235
9706
  self.id = id if id is not None else ''
9236
9707
  '''
9237
- Unique identifier of the SecretStore.
9708
+ Unique identifier of the SecretStore.
9709
+ '''
9710
+ self.name = name if name is not None else ''
9711
+ '''
9712
+ Unique human-readable name of the SecretStore.
9713
+ '''
9714
+ self.server_url = server_url if server_url is not None else ''
9715
+ '''
9716
+ The URL of the Delinea instance
9717
+ '''
9718
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9719
+ '''
9720
+ Tags is a map of key, value pairs.
9721
+ '''
9722
+ self.tenant_name = tenant_name if tenant_name is not None else ''
9723
+ '''
9724
+ The tenant name to target
9725
+ '''
9726
+
9727
+ def __repr__(self):
9728
+ return '<sdm.DelineaStore ' + \
9729
+ 'id: ' + repr(self.id) + ' ' +\
9730
+ 'name: ' + repr(self.name) + ' ' +\
9731
+ 'server_url: ' + repr(self.server_url) + ' ' +\
9732
+ 'tags: ' + repr(self.tags) + ' ' +\
9733
+ 'tenant_name: ' + repr(self.tenant_name) + ' ' +\
9734
+ '>'
9735
+
9736
+ def to_dict(self):
9737
+ return {
9738
+ 'id': self.id,
9739
+ 'name': self.name,
9740
+ 'server_url': self.server_url,
9741
+ 'tags': self.tags,
9742
+ 'tenant_name': self.tenant_name,
9743
+ }
9744
+
9745
+ @classmethod
9746
+ def from_dict(cls, d):
9747
+ return cls(
9748
+ id=d.get('id'),
9749
+ name=d.get('name'),
9750
+ server_url=d.get('server_url'),
9751
+ tags=d.get('tags'),
9752
+ tenant_name=d.get('tenant_name'),
9753
+ )
9754
+
9755
+
9756
+ class DocumentDBHost:
9757
+ __slots__ = [
9758
+ 'auth_database',
9759
+ 'bind_interface',
9760
+ 'egress_filter',
9761
+ 'healthy',
9762
+ 'hostname',
9763
+ 'id',
9764
+ 'name',
9765
+ 'password',
9766
+ 'port',
9767
+ 'port_override',
9768
+ 'proxy_cluster_id',
9769
+ 'secret_store_id',
9770
+ 'subdomain',
9771
+ 'tags',
9772
+ 'username',
9773
+ ]
9774
+
9775
+ def __init__(
9776
+ self,
9777
+ auth_database=None,
9778
+ bind_interface=None,
9779
+ egress_filter=None,
9780
+ healthy=None,
9781
+ hostname=None,
9782
+ id=None,
9783
+ name=None,
9784
+ password=None,
9785
+ port=None,
9786
+ port_override=None,
9787
+ proxy_cluster_id=None,
9788
+ secret_store_id=None,
9789
+ subdomain=None,
9790
+ tags=None,
9791
+ username=None,
9792
+ ):
9793
+ self.auth_database = auth_database if auth_database is not None else ''
9794
+ '''
9795
+ The authentication database to use.
9796
+ '''
9797
+ self.bind_interface = bind_interface if bind_interface is not None else ''
9798
+ '''
9799
+ 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.
9800
+ '''
9801
+ self.egress_filter = egress_filter if egress_filter is not None else ''
9802
+ '''
9803
+ A filter applied to the routing logic to pin datasource to nodes.
9804
+ '''
9805
+ self.healthy = healthy if healthy is not None else False
9806
+ '''
9807
+ True if the datasource is reachable and the credentials are valid.
9808
+ '''
9809
+ self.hostname = hostname if hostname is not None else ''
9810
+ '''
9811
+ The host to dial to initiate a connection from the egress node to this resource.
9812
+ '''
9813
+ self.id = id if id is not None else ''
9814
+ '''
9815
+ Unique identifier of the Resource.
9816
+ '''
9817
+ self.name = name if name is not None else ''
9818
+ '''
9819
+ Unique human-readable name of the Resource.
9820
+ '''
9821
+ self.password = password if password is not None else ''
9822
+ '''
9823
+ The password to authenticate with.
9824
+ '''
9825
+ self.port = port if port is not None else 0
9238
9826
  '''
9239
- self.name = name if name is not None else ''
9827
+ The port to dial to initiate a connection from the egress node to this resource.
9240
9828
  '''
9241
- Unique human-readable name of the SecretStore.
9829
+ self.port_override = port_override if port_override is not None else 0
9242
9830
  '''
9243
- self.server_url = server_url if server_url is not None else ''
9831
+ The local port used by clients to connect to this resource.
9244
9832
  '''
9245
- The URL of the Delinea instance
9833
+ self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9834
+ '''
9835
+ ID of the proxy cluster for this resource, if any.
9836
+ '''
9837
+ self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9838
+ '''
9839
+ ID of the secret store containing credentials for this resource, if any.
9840
+ '''
9841
+ self.subdomain = subdomain if subdomain is not None else ''
9842
+ '''
9843
+ Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9246
9844
  '''
9247
9845
  self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9248
9846
  '''
9249
9847
  Tags is a map of key, value pairs.
9250
9848
  '''
9251
- self.tenant_name = tenant_name if tenant_name is not None else ''
9849
+ self.username = username if username is not None else ''
9252
9850
  '''
9253
- The tenant name to target
9851
+ The username to authenticate with.
9254
9852
  '''
9255
9853
 
9256
9854
  def __repr__(self):
9257
- return '<sdm.DelineaStore ' + \
9855
+ return '<sdm.DocumentDBHost ' + \
9856
+ 'auth_database: ' + repr(self.auth_database) + ' ' +\
9857
+ 'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9858
+ 'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9859
+ 'healthy: ' + repr(self.healthy) + ' ' +\
9860
+ 'hostname: ' + repr(self.hostname) + ' ' +\
9258
9861
  'id: ' + repr(self.id) + ' ' +\
9259
9862
  'name: ' + repr(self.name) + ' ' +\
9260
- 'server_url: ' + repr(self.server_url) + ' ' +\
9863
+ 'password: ' + repr(self.password) + ' ' +\
9864
+ 'port: ' + repr(self.port) + ' ' +\
9865
+ 'port_override: ' + repr(self.port_override) + ' ' +\
9866
+ 'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9867
+ 'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9868
+ 'subdomain: ' + repr(self.subdomain) + ' ' +\
9261
9869
  'tags: ' + repr(self.tags) + ' ' +\
9262
- 'tenant_name: ' + repr(self.tenant_name) + ' ' +\
9870
+ 'username: ' + repr(self.username) + ' ' +\
9263
9871
  '>'
9264
9872
 
9265
9873
  def to_dict(self):
9266
9874
  return {
9875
+ 'auth_database': self.auth_database,
9876
+ 'bind_interface': self.bind_interface,
9877
+ 'egress_filter': self.egress_filter,
9878
+ 'healthy': self.healthy,
9879
+ 'hostname': self.hostname,
9267
9880
  'id': self.id,
9268
9881
  'name': self.name,
9269
- 'server_url': self.server_url,
9882
+ 'password': self.password,
9883
+ 'port': self.port,
9884
+ 'port_override': self.port_override,
9885
+ 'proxy_cluster_id': self.proxy_cluster_id,
9886
+ 'secret_store_id': self.secret_store_id,
9887
+ 'subdomain': self.subdomain,
9270
9888
  'tags': self.tags,
9271
- 'tenant_name': self.tenant_name,
9889
+ 'username': self.username,
9272
9890
  }
9273
9891
 
9274
9892
  @classmethod
9275
9893
  def from_dict(cls, d):
9276
9894
  return cls(
9895
+ auth_database=d.get('auth_database'),
9896
+ bind_interface=d.get('bind_interface'),
9897
+ egress_filter=d.get('egress_filter'),
9898
+ healthy=d.get('healthy'),
9899
+ hostname=d.get('hostname'),
9277
9900
  id=d.get('id'),
9278
9901
  name=d.get('name'),
9279
- server_url=d.get('server_url'),
9902
+ password=d.get('password'),
9903
+ port=d.get('port'),
9904
+ port_override=d.get('port_override'),
9905
+ proxy_cluster_id=d.get('proxy_cluster_id'),
9906
+ secret_store_id=d.get('secret_store_id'),
9907
+ subdomain=d.get('subdomain'),
9280
9908
  tags=d.get('tags'),
9281
- tenant_name=d.get('tenant_name'),
9909
+ username=d.get('username'),
9282
9910
  )
9283
9911
 
9284
9912
 
9285
- class DocumentDBHost:
9913
+ class DocumentDBHostIAM:
9286
9914
  __slots__ = [
9287
- 'auth_database',
9288
9915
  'bind_interface',
9289
9916
  'egress_filter',
9290
9917
  'healthy',
9291
9918
  'hostname',
9292
9919
  'id',
9293
9920
  'name',
9294
- 'password',
9295
9921
  'port',
9296
9922
  'port_override',
9297
9923
  'proxy_cluster_id',
9924
+ 'region',
9298
9925
  'secret_store_id',
9299
9926
  'subdomain',
9300
9927
  'tags',
9301
- 'username',
9302
9928
  ]
9303
9929
 
9304
9930
  def __init__(
9305
9931
  self,
9306
- auth_database=None,
9307
9932
  bind_interface=None,
9308
9933
  egress_filter=None,
9309
9934
  healthy=None,
9310
9935
  hostname=None,
9311
9936
  id=None,
9312
9937
  name=None,
9313
- password=None,
9314
9938
  port=None,
9315
9939
  port_override=None,
9316
9940
  proxy_cluster_id=None,
9941
+ region=None,
9317
9942
  secret_store_id=None,
9318
9943
  subdomain=None,
9319
9944
  tags=None,
9320
- username=None,
9321
9945
  ):
9322
- self.auth_database = auth_database if auth_database is not None else ''
9323
- '''
9324
- The authentication database to use.
9325
- '''
9326
9946
  self.bind_interface = bind_interface if bind_interface is not None else ''
9327
9947
  '''
9328
9948
  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.
@@ -9347,10 +9967,6 @@ class DocumentDBHost:
9347
9967
  '''
9348
9968
  Unique human-readable name of the Resource.
9349
9969
  '''
9350
- self.password = password if password is not None else ''
9351
- '''
9352
- The password to authenticate with.
9353
- '''
9354
9970
  self.port = port if port is not None else 0
9355
9971
  '''
9356
9972
  The port to dial to initiate a connection from the egress node to this resource.
@@ -9363,6 +9979,10 @@ class DocumentDBHost:
9363
9979
  '''
9364
9980
  ID of the proxy cluster for this resource, if any.
9365
9981
  '''
9982
+ self.region = region if region is not None else ''
9983
+ '''
9984
+ The AWS region to connect to.
9985
+ '''
9366
9986
  self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9367
9987
  '''
9368
9988
  ID of the secret store containing credentials for this resource, if any.
@@ -9375,67 +9995,57 @@ class DocumentDBHost:
9375
9995
  '''
9376
9996
  Tags is a map of key, value pairs.
9377
9997
  '''
9378
- self.username = username if username is not None else ''
9379
- '''
9380
- The username to authenticate with.
9381
- '''
9382
9998
 
9383
9999
  def __repr__(self):
9384
- return '<sdm.DocumentDBHost ' + \
9385
- 'auth_database: ' + repr(self.auth_database) + ' ' +\
10000
+ return '<sdm.DocumentDBHostIAM ' + \
9386
10001
  'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9387
10002
  'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9388
10003
  'healthy: ' + repr(self.healthy) + ' ' +\
9389
10004
  'hostname: ' + repr(self.hostname) + ' ' +\
9390
10005
  'id: ' + repr(self.id) + ' ' +\
9391
10006
  'name: ' + repr(self.name) + ' ' +\
9392
- 'password: ' + repr(self.password) + ' ' +\
9393
10007
  'port: ' + repr(self.port) + ' ' +\
9394
10008
  'port_override: ' + repr(self.port_override) + ' ' +\
9395
10009
  'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10010
+ 'region: ' + repr(self.region) + ' ' +\
9396
10011
  'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9397
10012
  'subdomain: ' + repr(self.subdomain) + ' ' +\
9398
10013
  'tags: ' + repr(self.tags) + ' ' +\
9399
- 'username: ' + repr(self.username) + ' ' +\
9400
10014
  '>'
9401
10015
 
9402
10016
  def to_dict(self):
9403
10017
  return {
9404
- 'auth_database': self.auth_database,
9405
10018
  'bind_interface': self.bind_interface,
9406
10019
  'egress_filter': self.egress_filter,
9407
10020
  'healthy': self.healthy,
9408
10021
  'hostname': self.hostname,
9409
10022
  'id': self.id,
9410
10023
  'name': self.name,
9411
- 'password': self.password,
9412
10024
  'port': self.port,
9413
10025
  'port_override': self.port_override,
9414
10026
  'proxy_cluster_id': self.proxy_cluster_id,
10027
+ 'region': self.region,
9415
10028
  'secret_store_id': self.secret_store_id,
9416
10029
  'subdomain': self.subdomain,
9417
10030
  'tags': self.tags,
9418
- 'username': self.username,
9419
10031
  }
9420
10032
 
9421
10033
  @classmethod
9422
10034
  def from_dict(cls, d):
9423
10035
  return cls(
9424
- auth_database=d.get('auth_database'),
9425
10036
  bind_interface=d.get('bind_interface'),
9426
10037
  egress_filter=d.get('egress_filter'),
9427
10038
  healthy=d.get('healthy'),
9428
10039
  hostname=d.get('hostname'),
9429
10040
  id=d.get('id'),
9430
10041
  name=d.get('name'),
9431
- password=d.get('password'),
9432
10042
  port=d.get('port'),
9433
10043
  port_override=d.get('port_override'),
9434
10044
  proxy_cluster_id=d.get('proxy_cluster_id'),
10045
+ region=d.get('region'),
9435
10046
  secret_store_id=d.get('secret_store_id'),
9436
10047
  subdomain=d.get('subdomain'),
9437
10048
  tags=d.get('tags'),
9438
- username=d.get('username'),
9439
10049
  )
9440
10050
 
9441
10051
 
@@ -9919,6 +10529,158 @@ class DynamoDB:
9919
10529
  )
9920
10530
 
9921
10531
 
10532
+ class DynamoDBIAM:
10533
+ '''
10534
+ DynamoDBIAM is currently unstable, and its API may change, or it may be removed,
10535
+ without a major version bump.
10536
+ '''
10537
+ __slots__ = [
10538
+ 'bind_interface',
10539
+ 'egress_filter',
10540
+ 'endpoint',
10541
+ 'healthy',
10542
+ 'id',
10543
+ 'name',
10544
+ 'port_override',
10545
+ 'proxy_cluster_id',
10546
+ 'region',
10547
+ 'role_arn',
10548
+ 'role_external_id',
10549
+ 'secret_store_id',
10550
+ 'subdomain',
10551
+ 'tags',
10552
+ ]
10553
+
10554
+ def __init__(
10555
+ self,
10556
+ bind_interface=None,
10557
+ egress_filter=None,
10558
+ endpoint=None,
10559
+ healthy=None,
10560
+ id=None,
10561
+ name=None,
10562
+ port_override=None,
10563
+ proxy_cluster_id=None,
10564
+ region=None,
10565
+ role_arn=None,
10566
+ role_external_id=None,
10567
+ secret_store_id=None,
10568
+ subdomain=None,
10569
+ tags=None,
10570
+ ):
10571
+ self.bind_interface = bind_interface if bind_interface is not None else ''
10572
+ '''
10573
+ 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.
10574
+ '''
10575
+ self.egress_filter = egress_filter if egress_filter is not None else ''
10576
+ '''
10577
+ A filter applied to the routing logic to pin datasource to nodes.
10578
+ '''
10579
+ self.endpoint = endpoint if endpoint is not None else ''
10580
+ '''
10581
+ The endpoint to dial e.g. dynamodb.region.amazonaws.com
10582
+ '''
10583
+ self.healthy = healthy if healthy is not None else False
10584
+ '''
10585
+ True if the datasource is reachable and the credentials are valid.
10586
+ '''
10587
+ self.id = id if id is not None else ''
10588
+ '''
10589
+ Unique identifier of the Resource.
10590
+ '''
10591
+ self.name = name if name is not None else ''
10592
+ '''
10593
+ Unique human-readable name of the Resource.
10594
+ '''
10595
+ self.port_override = port_override if port_override is not None else 0
10596
+ '''
10597
+ The local port used by clients to connect to this resource.
10598
+ '''
10599
+ self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10600
+ '''
10601
+ ID of the proxy cluster for this resource, if any.
10602
+ '''
10603
+ self.region = region if region is not None else ''
10604
+ '''
10605
+ The region to authenticate requests against e.g. us-east-1
10606
+ '''
10607
+ self.role_arn = role_arn if role_arn is not None else ''
10608
+ '''
10609
+ The role to assume after logging in.
10610
+ '''
10611
+ self.role_external_id = role_external_id if role_external_id is not None else ''
10612
+ '''
10613
+ The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
10614
+ '''
10615
+ self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10616
+ '''
10617
+ ID of the secret store containing credentials for this resource, if any.
10618
+ '''
10619
+ self.subdomain = subdomain if subdomain is not None else ''
10620
+ '''
10621
+ Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10622
+ '''
10623
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10624
+ '''
10625
+ Tags is a map of key, value pairs.
10626
+ '''
10627
+
10628
+ def __repr__(self):
10629
+ return '<sdm.DynamoDBIAM ' + \
10630
+ 'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10631
+ 'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10632
+ 'endpoint: ' + repr(self.endpoint) + ' ' +\
10633
+ 'healthy: ' + repr(self.healthy) + ' ' +\
10634
+ 'id: ' + repr(self.id) + ' ' +\
10635
+ 'name: ' + repr(self.name) + ' ' +\
10636
+ 'port_override: ' + repr(self.port_override) + ' ' +\
10637
+ 'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10638
+ 'region: ' + repr(self.region) + ' ' +\
10639
+ 'role_arn: ' + repr(self.role_arn) + ' ' +\
10640
+ 'role_external_id: ' + repr(self.role_external_id) + ' ' +\
10641
+ 'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10642
+ 'subdomain: ' + repr(self.subdomain) + ' ' +\
10643
+ 'tags: ' + repr(self.tags) + ' ' +\
10644
+ '>'
10645
+
10646
+ def to_dict(self):
10647
+ return {
10648
+ 'bind_interface': self.bind_interface,
10649
+ 'egress_filter': self.egress_filter,
10650
+ 'endpoint': self.endpoint,
10651
+ 'healthy': self.healthy,
10652
+ 'id': self.id,
10653
+ 'name': self.name,
10654
+ 'port_override': self.port_override,
10655
+ 'proxy_cluster_id': self.proxy_cluster_id,
10656
+ 'region': self.region,
10657
+ 'role_arn': self.role_arn,
10658
+ 'role_external_id': self.role_external_id,
10659
+ 'secret_store_id': self.secret_store_id,
10660
+ 'subdomain': self.subdomain,
10661
+ 'tags': self.tags,
10662
+ }
10663
+
10664
+ @classmethod
10665
+ def from_dict(cls, d):
10666
+ return cls(
10667
+ bind_interface=d.get('bind_interface'),
10668
+ egress_filter=d.get('egress_filter'),
10669
+ endpoint=d.get('endpoint'),
10670
+ healthy=d.get('healthy'),
10671
+ id=d.get('id'),
10672
+ name=d.get('name'),
10673
+ port_override=d.get('port_override'),
10674
+ proxy_cluster_id=d.get('proxy_cluster_id'),
10675
+ region=d.get('region'),
10676
+ role_arn=d.get('role_arn'),
10677
+ role_external_id=d.get('role_external_id'),
10678
+ secret_store_id=d.get('secret_store_id'),
10679
+ subdomain=d.get('subdomain'),
10680
+ tags=d.get('tags'),
10681
+ )
10682
+
10683
+
9922
10684
  class Elastic:
9923
10685
  __slots__ = [
9924
10686
  'bind_interface',