strongdm 11.10.1__zip → 11.11.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 (143) hide show
  1. {strongdm-11.10.1 → strongdm-11.11.0}/PKG-INFO +2 -2
  2. {strongdm-11.10.1 → strongdm-11.11.0}/setup.py +2 -2
  3. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/client.py +20 -1
  4. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/models.py +304 -0
  5. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/nodes_pb2.py +18 -18
  6. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/plumbing.py +203 -0
  7. strongdm-11.11.0/strongdm/proxy_cluster_keys_pb2.py +191 -0
  8. strongdm-11.11.0/strongdm/proxy_cluster_keys_pb2_grpc.py +192 -0
  9. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/svc.py +178 -0
  10. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm.egg-info/PKG-INFO +2 -2
  11. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm.egg-info/SOURCES.txt +2 -0
  12. {strongdm-11.10.1 → strongdm-11.11.0}/LICENSE +0 -0
  13. {strongdm-11.10.1 → strongdm-11.11.0}/README.md +0 -0
  14. {strongdm-11.10.1 → strongdm-11.11.0}/setup.cfg +0 -0
  15. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/__init__.py +0 -0
  16. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/access_request_events_history_pb2.py +0 -0
  17. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/access_request_events_history_pb2_grpc.py +0 -0
  18. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/access_requests_history_pb2.py +0 -0
  19. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/access_requests_history_pb2_grpc.py +0 -0
  20. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/access_requests_pb2.py +0 -0
  21. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/access_requests_pb2_grpc.py +0 -0
  22. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/account_attachments_history_pb2.py +0 -0
  23. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/account_attachments_history_pb2_grpc.py +0 -0
  24. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/account_attachments_pb2.py +0 -0
  25. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/account_attachments_pb2_grpc.py +0 -0
  26. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/account_grants_history_pb2.py +0 -0
  27. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/account_grants_history_pb2_grpc.py +0 -0
  28. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/account_grants_pb2.py +0 -0
  29. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/account_grants_pb2_grpc.py +0 -0
  30. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/account_permissions_pb2.py +0 -0
  31. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/account_permissions_pb2_grpc.py +0 -0
  32. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/account_resources_history_pb2.py +0 -0
  33. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/account_resources_history_pb2_grpc.py +0 -0
  34. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/account_resources_pb2.py +0 -0
  35. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/account_resources_pb2_grpc.py +0 -0
  36. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/accounts_history_pb2.py +0 -0
  37. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/accounts_history_pb2_grpc.py +0 -0
  38. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/accounts_pb2.py +0 -0
  39. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/accounts_pb2_grpc.py +0 -0
  40. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/activities_pb2.py +0 -0
  41. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/activities_pb2_grpc.py +0 -0
  42. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/approval_workflow_approvers_history_pb2.py +0 -0
  43. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/approval_workflow_approvers_history_pb2_grpc.py +0 -0
  44. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/approval_workflow_approvers_pb2.py +0 -0
  45. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/approval_workflow_approvers_pb2_grpc.py +0 -0
  46. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/approval_workflow_steps_history_pb2.py +0 -0
  47. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/approval_workflow_steps_history_pb2_grpc.py +0 -0
  48. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/approval_workflow_steps_pb2.py +0 -0
  49. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/approval_workflow_steps_pb2_grpc.py +0 -0
  50. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/approval_workflows_history_pb2.py +0 -0
  51. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/approval_workflows_history_pb2_grpc.py +0 -0
  52. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/approval_workflows_pb2.py +0 -0
  53. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/approval_workflows_pb2_grpc.py +0 -0
  54. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/constants.py +0 -0
  55. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/control_panel_pb2.py +0 -0
  56. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/control_panel_pb2_grpc.py +0 -0
  57. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/drivers_pb2.py +0 -0
  58. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/drivers_pb2_grpc.py +0 -0
  59. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/errors.py +0 -0
  60. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/identity_aliases_history_pb2.py +0 -0
  61. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/identity_aliases_history_pb2_grpc.py +0 -0
  62. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/identity_aliases_pb2.py +0 -0
  63. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/identity_aliases_pb2_grpc.py +0 -0
  64. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/identity_sets_history_pb2.py +0 -0
  65. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/identity_sets_history_pb2_grpc.py +0 -0
  66. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/identity_sets_pb2.py +0 -0
  67. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/identity_sets_pb2_grpc.py +0 -0
  68. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/nodes_history_pb2.py +0 -0
  69. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/nodes_history_pb2_grpc.py +0 -0
  70. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/nodes_pb2_grpc.py +0 -0
  71. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/options_pb2.py +0 -0
  72. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/options_pb2_grpc.py +0 -0
  73. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/organization_history_pb2.py +0 -0
  74. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/organization_history_pb2_grpc.py +0 -0
  75. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/peering_group_nodes_pb2.py +0 -0
  76. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/peering_group_nodes_pb2_grpc.py +0 -0
  77. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/peering_group_peers_pb2.py +0 -0
  78. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/peering_group_peers_pb2_grpc.py +0 -0
  79. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/peering_group_resources_pb2.py +0 -0
  80. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/peering_group_resources_pb2_grpc.py +0 -0
  81. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/peering_groups_pb2.py +0 -0
  82. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/peering_groups_pb2_grpc.py +0 -0
  83. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/policies_history_pb2.py +0 -0
  84. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/policies_history_pb2_grpc.py +0 -0
  85. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/policies_pb2.py +0 -0
  86. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/policies_pb2_grpc.py +0 -0
  87. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/queries_pb2.py +0 -0
  88. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/queries_pb2_grpc.py +0 -0
  89. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/remote_identities_history_pb2.py +0 -0
  90. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/remote_identities_history_pb2_grpc.py +0 -0
  91. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/remote_identities_pb2.py +0 -0
  92. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/remote_identities_pb2_grpc.py +0 -0
  93. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/remote_identity_groups_history_pb2.py +0 -0
  94. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/remote_identity_groups_history_pb2_grpc.py +0 -0
  95. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/remote_identity_groups_pb2.py +0 -0
  96. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/remote_identity_groups_pb2_grpc.py +0 -0
  97. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/replays_pb2.py +0 -0
  98. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/replays_pb2_grpc.py +0 -0
  99. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/resources_history_pb2.py +0 -0
  100. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/resources_history_pb2_grpc.py +0 -0
  101. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/resources_pb2.py +0 -0
  102. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/resources_pb2_grpc.py +0 -0
  103. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/role_resources_history_pb2.py +0 -0
  104. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/role_resources_history_pb2_grpc.py +0 -0
  105. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/role_resources_pb2.py +0 -0
  106. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/role_resources_pb2_grpc.py +0 -0
  107. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/roles_history_pb2.py +0 -0
  108. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/roles_history_pb2_grpc.py +0 -0
  109. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/roles_pb2.py +0 -0
  110. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/roles_pb2_grpc.py +0 -0
  111. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/secret_engine_policy_pb2_grpc.py +0 -0
  112. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/secret_engine_types_pb2_grpc.py +0 -0
  113. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/secret_store_healths_pb2.py +0 -0
  114. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/secret_store_healths_pb2_grpc.py +0 -0
  115. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/secret_store_types_pb2.py +0 -0
  116. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/secret_store_types_pb2_grpc.py +0 -0
  117. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/secret_stores_history_pb2.py +0 -0
  118. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/secret_stores_history_pb2_grpc.py +0 -0
  119. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/secret_stores_pb2.py +0 -0
  120. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/secret_stores_pb2_grpc.py +0 -0
  121. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/spec_pb2.py +0 -0
  122. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/spec_pb2_grpc.py +0 -0
  123. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/tags_pb2.py +0 -0
  124. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/tags_pb2_grpc.py +0 -0
  125. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/workflow_approvers_history_pb2.py +0 -0
  126. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/workflow_approvers_history_pb2_grpc.py +0 -0
  127. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/workflow_approvers_pb2.py +0 -0
  128. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/workflow_approvers_pb2_grpc.py +0 -0
  129. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/workflow_assignments_history_pb2.py +0 -0
  130. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/workflow_assignments_history_pb2_grpc.py +0 -0
  131. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/workflow_assignments_pb2.py +0 -0
  132. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/workflow_assignments_pb2_grpc.py +0 -0
  133. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/workflow_roles_history_pb2.py +0 -0
  134. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/workflow_roles_history_pb2_grpc.py +0 -0
  135. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/workflow_roles_pb2.py +0 -0
  136. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/workflow_roles_pb2_grpc.py +0 -0
  137. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/workflows_history_pb2.py +0 -0
  138. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/workflows_history_pb2_grpc.py +0 -0
  139. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/workflows_pb2.py +0 -0
  140. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm/workflows_pb2_grpc.py +0 -0
  141. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm.egg-info/dependency_links.txt +0 -0
  142. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm.egg-info/requires.txt +0 -0
  143. {strongdm-11.10.1 → strongdm-11.11.0}/strongdm.egg-info/top_level.txt +0 -0
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strongdm
3
- Version: 11.10.1
3
+ Version: 11.11.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/v11.10.1.tar.gz
9
+ Download-URL: https://github.com/strongdm/strongdm-sdk-python/archive/v11.11.0.tar.gz
10
10
  Keywords: strongDM,sdm,api,automation,security,audit,database,server,ssh,rdp
11
11
  Platform: UNKNOWN
12
12
  Classifier: Development Status :: 4 - Beta
@@ -23,7 +23,7 @@ from setuptools import setup
23
23
  setup(
24
24
  name='strongdm',
25
25
  packages=['strongdm'],
26
- version='11.10.1',
26
+ version='11.11.0',
27
27
  license='apache-2.0',
28
28
  description='strongDM SDK for the Python programming language.',
29
29
  long_description=long_description,
@@ -32,7 +32,7 @@ setup(
32
32
  author_email='sdk-feedback@strongdm.com',
33
33
  url='https://github.com/strongdm/strongdm-sdk-python',
34
34
  download_url=
35
- 'https://github.com/strongdm/strongdm-sdk-python/archive/v11.10.1.tar.gz',
35
+ 'https://github.com/strongdm/strongdm-sdk-python/archive/v11.11.0.tar.gz',
36
36
  keywords=[
37
37
  'strongDM', 'sdm', 'api', 'automation', 'security', 'audit',
38
38
  'database', 'server', 'ssh', 'rdp'
@@ -33,7 +33,7 @@ DEFAULT_MAX_RETRIES = 3
33
33
  DEFAULT_BASE_RETRY_DELAY = 0.0030 # 30 ms
34
34
  DEFAULT_MAX_RETRY_DELAY = 300 # 300 seconds
35
35
  API_VERSION = '2024-03-28'
36
- USER_AGENT = 'strongdm-sdk-python/11.10.1'
36
+ USER_AGENT = 'strongdm-sdk-python/11.11.0'
37
37
 
38
38
 
39
39
  class Client:
@@ -288,6 +288,14 @@ class Client:
288
288
 
289
289
  See `strongdm.svc.PoliciesHistory`.
290
290
  '''
291
+ self.proxy_cluster_keys = svc.ProxyClusterKeys(channel, self)
292
+ '''
293
+ Proxy Cluster Keys are authentication keys for all proxies within a cluster.
294
+ The proxies within a cluster share the same key. One cluster can have
295
+ multiple keys in order to facilitate key rotation.
296
+
297
+ See `strongdm.svc.ProxyClusterKeys`.
298
+ '''
291
299
  self.queries = svc.Queries(channel, self)
292
300
  '''
293
301
  A Query is a record of a single client request to a resource, such as a SQL query.
@@ -534,6 +542,8 @@ class Client:
534
542
  client.identity_sets = svc.IdentitySets(client.channel, client)
535
543
  client.nodes = svc.Nodes(client.channel, client)
536
544
  client.policies = svc.Policies(client.channel, client)
545
+ client.proxy_cluster_keys = svc.ProxyClusterKeys(
546
+ client.channel, client)
537
547
  client.remote_identities = svc.RemoteIdentities(client.channel, client)
538
548
  client.remote_identity_groups = svc.RemoteIdentityGroups(
539
549
  client.channel, client)
@@ -650,6 +660,15 @@ class SnapshotClient:
650
660
 
651
661
  See `strongdm.svc.SnapshotPolicies`.
652
662
  '''
663
+ self.proxy_cluster_keys = svc.SnapshotProxyClusterKeys(
664
+ client.proxy_cluster_keys)
665
+ '''
666
+ Proxy Cluster Keys are authentication keys for all proxies within a cluster.
667
+ The proxies within a cluster share the same key. One cluster can have
668
+ multiple keys in order to facilitate key rotation.
669
+
670
+ See `strongdm.svc.SnapshotProxyClusterKeys`.
671
+ '''
653
672
  self.remote_identities = svc.SnapshotRemoteIdentities(
654
673
  client.remote_identities)
655
674
  '''
@@ -17076,6 +17076,310 @@ class Presto:
17076
17076
  )
17077
17077
 
17078
17078
 
17079
+ class ProxyCluster:
17080
+ '''
17081
+ ProxyCluster represents a cluster of StrongDM proxies.
17082
+ '''
17083
+ __slots__ = [
17084
+ 'address',
17085
+ 'id',
17086
+ 'maintenance_windows',
17087
+ 'name',
17088
+ 'tags',
17089
+ ]
17090
+
17091
+ def __init__(
17092
+ self,
17093
+ address=None,
17094
+ id=None,
17095
+ maintenance_windows=None,
17096
+ name=None,
17097
+ tags=None,
17098
+ ):
17099
+ self.address = address if address is not None else ''
17100
+ '''
17101
+ The public hostname/port tuple at which the proxy cluster will be
17102
+ accessible to clients.
17103
+ '''
17104
+ self.id = id if id is not None else ''
17105
+ '''
17106
+ Unique identifier of the Proxy Cluster.
17107
+ '''
17108
+ self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
17109
+ '''
17110
+ Maintenance Windows define when this node is allowed to restart. If a node
17111
+ is requested to restart, it will check each window to determine if any of
17112
+ them permit it to restart, and if any do, it will. This check is repeated
17113
+ per window until the restart is successfully completed.
17114
+
17115
+ If not set here, may be set on the command line or via an environment variable
17116
+ on the process itself; any server setting will take precedence over local
17117
+ settings. This setting is ineffective for nodes below version 38.44.0.
17118
+
17119
+ If this setting is not applied via this remote configuration or via local
17120
+ configuration, the default setting is used: always allow restarts if serving
17121
+ no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
17122
+ '''
17123
+ self.name = name if name is not None else ''
17124
+ '''
17125
+ Unique human-readable name of the proxy cluster. Names must
17126
+ include only letters, numbers, and hyphens (no spaces, underscores, or
17127
+ other special characters). Generated if not provided on create.
17128
+ '''
17129
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17130
+ '''
17131
+ Tags is a map of key, value pairs.
17132
+ '''
17133
+
17134
+ def __repr__(self):
17135
+ return '<sdm.ProxyCluster ' + \
17136
+ 'address: ' + repr(self.address) + ' ' +\
17137
+ 'id: ' + repr(self.id) + ' ' +\
17138
+ 'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
17139
+ 'name: ' + repr(self.name) + ' ' +\
17140
+ 'tags: ' + repr(self.tags) + ' ' +\
17141
+ '>'
17142
+
17143
+ def to_dict(self):
17144
+ return {
17145
+ 'address': self.address,
17146
+ 'id': self.id,
17147
+ 'maintenance_windows': self.maintenance_windows,
17148
+ 'name': self.name,
17149
+ 'tags': self.tags,
17150
+ }
17151
+
17152
+ @classmethod
17153
+ def from_dict(cls, d):
17154
+ return cls(
17155
+ address=d.get('address'),
17156
+ id=d.get('id'),
17157
+ maintenance_windows=d.get('maintenance_windows'),
17158
+ name=d.get('name'),
17159
+ tags=d.get('tags'),
17160
+ )
17161
+
17162
+
17163
+ class ProxyClusterKey:
17164
+ '''
17165
+ Proxy Cluster Keys are authentication keys for all proxies within a cluster.
17166
+ The proxies within a cluster share the same key. One cluster can have
17167
+ multiple keys in order to facilitate key rotation.
17168
+ '''
17169
+ __slots__ = [
17170
+ 'created_at',
17171
+ 'id',
17172
+ 'last_used_at',
17173
+ 'proxy_cluster_id',
17174
+ ]
17175
+
17176
+ def __init__(
17177
+ self,
17178
+ created_at=None,
17179
+ id=None,
17180
+ last_used_at=None,
17181
+ proxy_cluster_id=None,
17182
+ ):
17183
+ self.created_at = created_at if created_at is not None else None
17184
+ '''
17185
+ The timestamp when this key was created.
17186
+ '''
17187
+ self.id = id if id is not None else ''
17188
+ '''
17189
+ Unique identifier of the Relay.
17190
+ '''
17191
+ self.last_used_at = last_used_at if last_used_at is not None else None
17192
+ '''
17193
+ The timestamp when this key was last used, if at all.
17194
+ '''
17195
+ self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17196
+ '''
17197
+ The ID of the proxy cluster which this key authenticates to.
17198
+ '''
17199
+
17200
+ def __repr__(self):
17201
+ return '<sdm.ProxyClusterKey ' + \
17202
+ 'created_at: ' + repr(self.created_at) + ' ' +\
17203
+ 'id: ' + repr(self.id) + ' ' +\
17204
+ 'last_used_at: ' + repr(self.last_used_at) + ' ' +\
17205
+ 'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17206
+ '>'
17207
+
17208
+ def to_dict(self):
17209
+ return {
17210
+ 'created_at': self.created_at,
17211
+ 'id': self.id,
17212
+ 'last_used_at': self.last_used_at,
17213
+ 'proxy_cluster_id': self.proxy_cluster_id,
17214
+ }
17215
+
17216
+ @classmethod
17217
+ def from_dict(cls, d):
17218
+ return cls(
17219
+ created_at=d.get('created_at'),
17220
+ id=d.get('id'),
17221
+ last_used_at=d.get('last_used_at'),
17222
+ proxy_cluster_id=d.get('proxy_cluster_id'),
17223
+ )
17224
+
17225
+
17226
+ class ProxyClusterKeyCreateResponse:
17227
+ '''
17228
+ ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.
17229
+ '''
17230
+ __slots__ = [
17231
+ 'meta',
17232
+ 'proxy_cluster_key',
17233
+ 'rate_limit',
17234
+ 'secret_key',
17235
+ ]
17236
+
17237
+ def __init__(
17238
+ self,
17239
+ meta=None,
17240
+ proxy_cluster_key=None,
17241
+ rate_limit=None,
17242
+ secret_key=None,
17243
+ ):
17244
+ self.meta = meta if meta is not None else None
17245
+ '''
17246
+ Reserved for future use.
17247
+ '''
17248
+ self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
17249
+ '''
17250
+ The created ProxyClusterKey.
17251
+ '''
17252
+ self.rate_limit = rate_limit if rate_limit is not None else None
17253
+ '''
17254
+ Rate limit information.
17255
+ '''
17256
+ self.secret_key = secret_key if secret_key is not None else ''
17257
+ '''
17258
+ The secret key component of this key. It must be saved upon creation
17259
+ because it will not be available for retrieval later.
17260
+ '''
17261
+
17262
+ def __repr__(self):
17263
+ return '<sdm.ProxyClusterKeyCreateResponse ' + \
17264
+ 'meta: ' + repr(self.meta) + ' ' +\
17265
+ 'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
17266
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17267
+ 'secret_key: ' + repr(self.secret_key) + ' ' +\
17268
+ '>'
17269
+
17270
+ def to_dict(self):
17271
+ return {
17272
+ 'meta': self.meta,
17273
+ 'proxy_cluster_key': self.proxy_cluster_key,
17274
+ 'rate_limit': self.rate_limit,
17275
+ 'secret_key': self.secret_key,
17276
+ }
17277
+
17278
+ @classmethod
17279
+ def from_dict(cls, d):
17280
+ return cls(
17281
+ meta=d.get('meta'),
17282
+ proxy_cluster_key=d.get('proxy_cluster_key'),
17283
+ rate_limit=d.get('rate_limit'),
17284
+ secret_key=d.get('secret_key'),
17285
+ )
17286
+
17287
+
17288
+ class ProxyClusterKeyDeleteResponse:
17289
+ '''
17290
+ ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.
17291
+ '''
17292
+ __slots__ = [
17293
+ 'meta',
17294
+ 'rate_limit',
17295
+ ]
17296
+
17297
+ def __init__(
17298
+ self,
17299
+ meta=None,
17300
+ rate_limit=None,
17301
+ ):
17302
+ self.meta = meta if meta is not None else None
17303
+ '''
17304
+ Reserved for future use.
17305
+ '''
17306
+ self.rate_limit = rate_limit if rate_limit is not None else None
17307
+ '''
17308
+ Rate limit information.
17309
+ '''
17310
+
17311
+ def __repr__(self):
17312
+ return '<sdm.ProxyClusterKeyDeleteResponse ' + \
17313
+ 'meta: ' + repr(self.meta) + ' ' +\
17314
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17315
+ '>'
17316
+
17317
+ def to_dict(self):
17318
+ return {
17319
+ 'meta': self.meta,
17320
+ 'rate_limit': self.rate_limit,
17321
+ }
17322
+
17323
+ @classmethod
17324
+ def from_dict(cls, d):
17325
+ return cls(
17326
+ meta=d.get('meta'),
17327
+ rate_limit=d.get('rate_limit'),
17328
+ )
17329
+
17330
+
17331
+ class ProxyClusterKeyGetResponse:
17332
+ '''
17333
+ ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.
17334
+ '''
17335
+ __slots__ = [
17336
+ 'meta',
17337
+ 'proxy_cluster_key',
17338
+ 'rate_limit',
17339
+ ]
17340
+
17341
+ def __init__(
17342
+ self,
17343
+ meta=None,
17344
+ proxy_cluster_key=None,
17345
+ rate_limit=None,
17346
+ ):
17347
+ self.meta = meta if meta is not None else None
17348
+ '''
17349
+ Reserved for future use.
17350
+ '''
17351
+ self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
17352
+ '''
17353
+ The requested ProxyClusterKey.
17354
+ '''
17355
+ self.rate_limit = rate_limit if rate_limit is not None else None
17356
+ '''
17357
+ Rate limit information.
17358
+ '''
17359
+
17360
+ def __repr__(self):
17361
+ return '<sdm.ProxyClusterKeyGetResponse ' + \
17362
+ 'meta: ' + repr(self.meta) + ' ' +\
17363
+ 'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
17364
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17365
+ '>'
17366
+
17367
+ def to_dict(self):
17368
+ return {
17369
+ 'meta': self.meta,
17370
+ 'proxy_cluster_key': self.proxy_cluster_key,
17371
+ 'rate_limit': self.rate_limit,
17372
+ }
17373
+
17374
+ @classmethod
17375
+ def from_dict(cls, d):
17376
+ return cls(
17377
+ meta=d.get('meta'),
17378
+ proxy_cluster_key=d.get('proxy_cluster_key'),
17379
+ rate_limit=d.get('rate_limit'),
17380
+ )
17381
+
17382
+
17079
17383
  class Query:
17080
17384
  '''
17081
17385
  A Query is a record of a single client request to a resource, such as a SQL query.
@@ -32,7 +32,7 @@ from . import spec_pb2 as spec__pb2
32
32
  from . import tags_pb2 as tags__pb2
33
33
 
34
34
 
35
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bnodes.proto\x12\x02v1\x1a\x1egoogle/protobuf/duration.proto\x1a\roptions.proto\x1a\nspec.proto\x1a\ntags.proto\"`\n\x11NodeCreateRequest\x12\'\n\x04meta\x18\x01 \x01(\x0b\x32\x19.v1.CreateRequestMetadata\x12\"\n\x04node\x18\x02 \x01(\x0b\x32\x08.v1.NodeB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\"\xf3\x01\n\x12NodeCreateResponse\x12\x34\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.CreateResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\"\n\x04node\x18\x02 \x01(\x0b\x32\x08.v1.NodeB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1e\n\x05token\x18\x03 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xf0\xf3\xb3\x07\x01\x12W\n\nrate_limit\x18\x04 \x01(\x0b\x32\x15.v1.RateLimitMetadataB,\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\xf2\xf8\xb3\x07\x06\xb2\xf4\xb3\x07\x01*\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"N\n\x0eNodeGetRequest\x12$\n\x04meta\x18\x01 \x01(\x0b\x32\x16.v1.GetRequestMetadata\x12\x16\n\x02id\x18\x02 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\"\xcd\x01\n\x0fNodeGetResponse\x12\x31\n\x04meta\x18\x01 \x01(\x0b\x32\x17.v1.GetResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\"\n\x04node\x18\x02 \x01(\x0b\x32\x08.v1.NodeB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12W\n\nrate_limit\x18\x03 \x01(\x0b\x32\x15.v1.RateLimitMetadataB,\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\xf2\xf8\xb3\x07\x06\xb2\xf4\xb3\x07\x01*\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"l\n\x11NodeUpdateRequest\x12\'\n\x04meta\x18\x01 \x01(\x0b\x32\x19.v1.UpdateRequestMetadata\x12\n\n\x02id\x18\x02 \x01(\t\x12\"\n\x04node\x18\x03 \x01(\x0b\x32\x08.v1.NodeB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\"\xd3\x01\n\x12NodeUpdateResponse\x12\x34\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.UpdateResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\"\n\x04node\x18\x02 \x01(\x0b\x32\x08.v1.NodeB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12W\n\nrate_limit\x18\x03 \x01(\x0b\x32\x15.v1.RateLimitMetadataB,\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\xf2\xf8\xb3\x07\x06\xb2\xf4\xb3\x07\x01*\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"T\n\x11NodeDeleteRequest\x12\'\n\x04meta\x18\x01 \x01(\x0b\x32\x19.v1.DeleteRequestMetadata\x12\x16\n\x02id\x18\x02 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\"\xaf\x01\n\x12NodeDeleteResponse\x12\x34\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.DeleteResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12W\n\nrate_limit\x18\x02 \x01(\x0b\x32\x15.v1.RateLimitMetadataB,\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\xf2\xf8\xb3\x07\x06\xb2\xf4\xb3\x07\x01*\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"T\n\x0fNodeListRequest\x12%\n\x04meta\x18\x01 \x01(\x0b\x32\x17.v1.ListRequestMetadata\x12\x1a\n\x06\x66ilter\x18\x02 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\"\xb8\x01\n\x10NodeListResponse\x12&\n\x04meta\x18\x01 \x01(\x0b\x32\x18.v1.ListResponseMetadata\x12#\n\x05nodes\x18\x02 \x03(\x0b\x32\x08.v1.NodeB\n\xf2\xf8\xb3\x07\x05\xb8\xf3\xb3\x07\x01\x12W\n\nrate_limit\x18\x03 \x01(\x0b\x32\x15.v1.RateLimitMetadataB,\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\xf2\xf8\xb3\x07\x06\xb2\xf4\xb3\x07\x01*\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway\"\xb4\x02\n\x04Node\x12&\n\x05relay\x18\x01 \x01(\x0b\x32\t.v1.RelayB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01H\x00\x12*\n\x07gateway\x18\x02 \x01(\x0b\x32\x0b.v1.GatewayB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01H\x00\x12U\n\rproxy_cluster\x18\x03 \x01(\x0b\x32\x10.v1.ProxyClusterB*\xf2\xf8\xb3\x07%\xb0\xf3\xb3\x07\x01\xb2\xf4\xb3\x07\ngo_private\xb2\xf4\xb3\x07\x0cjson_gatewayH\x00:[\xfa\xf8\xb3\x07L\xc2\xf3\xb3\x07G\xa2\xf3\xb3\x07\x1dtf_examples/node_resource.txt\xaa\xf3\xb3\x07 tf_examples/node_data_source.txt\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\x42$\n\x04node\x12\x1c\xaa\xf8\xb3\x07\t\xaa\xf8\xb3\x07\x04tags\xaa\xf8\xb3\x07\t\xaa\xf8\xb3\x07\x04name\"\xa8\x04\n\x05Relay\x12\x16\n\x02id\x18\x01 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1d\n\x04name\x18\x02 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xd0\xf4\xb3\x07\x01\x12<\n\x05state\x18\x03 \x01(\tB-\xf2\xf8\xb3\x07(\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\xb2\xf4\xb3\x07\x01*\xb2\xf4\xb3\x07\x13!terraform-provider\x12\"\n\x04tags\x18\x04 \x01(\x0b\x32\x08.v1.TagsB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\"\n\x0egateway_filter\x18\x05 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1f\n\x06\x64\x65vice\x18\x06 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12!\n\x08location\x18\x07 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12 \n\x07version\x18\x08 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12,\n\x04uuid\x18\t \x01(\tB\x1e\xf2\xf8\xb3\x07\x19\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\xb2\xf4\xb3\x07\ngo_private\x12t\n\x13maintenance_windows\x18\x0b \x03(\x0b\x32\x19.v1.NodeMaintenanceWindowB<\xf2\xf8\xb3\x07\x37\xb0\xf3\xb3\x07\x01\xca\xf3\xb3\x07-\xc2\xf4\xb3\x07(\n\x12terraform-provider\x12\x12maintenance_window\x12L\n\x10\x64iscovery_config\x18\x0c \x01(\x0b\x32\x17.v1.NodeDiscoveryConfigB\x19\xf2\xf8\xb3\x07\x14\xb0\xf3\xb3\x07\x01\xb2\xf4\xb3\x07\ngo_private:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\x84\x05\n\x07Gateway\x12\x16\n\x02id\x18\x01 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1d\n\x04name\x18\x02 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xd0\xf4\xb3\x07\x01\x12<\n\x05state\x18\x03 \x01(\tB-\xf2\xf8\xb3\x07(\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\xb2\xf4\xb3\x07\x01*\xb2\xf4\xb3\x07\x13!terraform-provider\x12,\n\x0elisten_address\x18\x04 \x01(\tB\x14\xf2\xf8\xb3\x07\x0f\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\xe0\xf3\xb3\x07\x01\x12*\n\x0c\x62ind_address\x18\x05 \x01(\tB\x14\xf2\xf8\xb3\x07\x0f\xb0\xf3\xb3\x07\x01\xe0\xf3\xb3\x07\x01\xd0\xf4\xb3\x07\x01\x12\"\n\x04tags\x18\x06 \x01(\x0b\x32\x08.v1.TagsB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\"\n\x0egateway_filter\x18\x07 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1f\n\x06\x64\x65vice\x18\x08 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12!\n\x08location\x18\t \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12 \n\x07version\x18\n \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12,\n\x04uuid\x18\x0b \x01(\tB\x1e\xf2\xf8\xb3\x07\x19\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\xb2\xf4\xb3\x07\ngo_private\x12t\n\x13maintenance_windows\x18\r \x03(\x0b\x32\x19.v1.NodeMaintenanceWindowB<\xf2\xf8\xb3\x07\x37\xb0\xf3\xb3\x07\x01\xca\xf3\xb3\x07-\xc2\xf4\xb3\x07(\n\x12terraform-provider\x12\x12maintenance_window\x12L\n\x10\x64iscovery_config\x18\x0e \x01(\x0b\x32\x17.v1.NodeDiscoveryConfigB\x19\xf2\xf8\xb3\x07\x14\xb0\xf3\xb3\x07\x01\xb2\xf4\xb3\x07\ngo_private:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\x80\x03\n\x0cProxyCluster\x12\x16\n\x02id\x18\x01 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1d\n\x04name\x18\x02 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xd0\xf4\xb3\x07\x01\x12%\n\x07\x61\x64\x64ress\x18\x03 \x01(\tB\x14\xf2\xf8\xb3\x07\x0f\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\xe0\xf3\xb3\x07\x01\x12\"\n\x04tags\x18\x04 \x01(\x0b\x32\x08.v1.TagsB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12t\n\x13maintenance_windows\x18\x05 \x03(\x0b\x32\x19.v1.NodeMaintenanceWindowB<\xf2\xf8\xb3\x07\x37\xb0\xf3\xb3\x07\x01\xca\xf3\xb3\x07-\xc2\xf4\xb3\x07(\n\x12terraform-provider\x12\x12maintenance_window\x12L\n\x10\x64iscovery_config\x18\x06 \x01(\x0b\x32\x17.v1.NodeDiscoveryConfigB\x19\xf2\xf8\xb3\x07\x14\xb0\xf3\xb3\x07\x01\xb2\xf4\xb3\x07\ngo_private:*\xfa\xf8\xb3\x07%\xa8\xf3\xb3\x07\x01\xd2\xf3\xb3\x07\ngo_private\xd2\xf3\xb3\x07\x0cjson_gateway\"\xb6\x01\n\x15NodeMaintenanceWindow\x12!\n\rcron_schedule\x18\x01 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12$\n\x10require_idleness\x18\x02 \x01(\x08\x42\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:T\xfa\xf8\xb3\x07O\xa8\xf3\xb3\x07\x01\xca\xf3\xb3\x07\x45\xf2\xf3\xb3\x07\x1e\n\x12terraform-provider\x12\x08TypeList\xfa\xf3\xb3\x07\x1dnodeMaintenanceWindowElemType\"\xc3\x01\n\x13NodeDiscoveryConfig\x12\x1b\n\x07\x65nabled\x18\x01 \x01(\x08\x42\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x35\n\x06period\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12=\n\x0c\x65nabledTypes\x18\x03 \x03(\x0b\x32\x1b.v1.NodeDiscoveryTypeConfigB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\x19\xfa\xf8\xb3\x07\x14\xa8\xf3\xb3\x07\x01\xd2\xf3\xb3\x07\ngo_private\"N\n\x17NodeDiscoveryTypeConfig\x12\x18\n\x04type\x18\x01 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\x19\xfa\xf8\xb3\x07\x14\xa8\xf3\xb3\x07\x01\xd2\xf3\xb3\x07\ngo_private2\x87\x04\n\x05Nodes\x12Z\n\x06\x43reate\x12\x15.v1.NodeCreateRequest\x1a\x16.v1.NodeCreateResponse\"!\x82\xf9\xb3\x07\t\xa2\xf3\xb3\x07\x04post\x82\xf9\xb3\x07\x0e\xaa\xf3\xb3\x07\t/v1/nodes\x12U\n\x03Get\x12\x12.v1.NodeGetRequest\x1a\x13.v1.NodeGetResponse\"%\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x13\xaa\xf3\xb3\x07\x0e/v1/nodes/{id}\x12^\n\x06Update\x12\x15.v1.NodeUpdateRequest\x1a\x16.v1.NodeUpdateResponse\"%\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03put\x82\xf9\xb3\x07\x13\xaa\xf3\xb3\x07\x0e/v1/nodes/{id}\x12\x61\n\x06\x44\x65lete\x12\x15.v1.NodeDeleteRequest\x1a\x16.v1.NodeDeleteResponse\"(\x82\xf9\xb3\x07\x0b\xa2\xf3\xb3\x07\x06\x64\x65lete\x82\xf9\xb3\x07\x13\xaa\xf3\xb3\x07\x0e/v1/nodes/{id}\x12S\n\x04List\x12\x13.v1.NodeListRequest\x1a\x14.v1.NodeListResponse\" \x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x0e\xaa\xf3\xb3\x07\t/v1/nodes\x1a\x33\xca\xf9\xb3\x07\t\xc2\xf9\xb3\x07\x04Node\xca\xf9\xb3\x07\x07\xd2\xf9\xb3\x07\x02n-\xca\xf9\xb3\x07\x06\xca\xf9\xb3\x07\x01*\xca\xf9\xb3\x07\t\xca\xf9\xb3\x07\x04!cliBa\n\x19\x63om.strongdm.api.plumbingB\rNodesPlumbingZ5github.com/strongdm/strongdm-sdk-go/v3/internal/v1;v1b\x06proto3')
35
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bnodes.proto\x12\x02v1\x1a\x1egoogle/protobuf/duration.proto\x1a\roptions.proto\x1a\nspec.proto\x1a\ntags.proto\"`\n\x11NodeCreateRequest\x12\'\n\x04meta\x18\x01 \x01(\x0b\x32\x19.v1.CreateRequestMetadata\x12\"\n\x04node\x18\x02 \x01(\x0b\x32\x08.v1.NodeB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\"\xf3\x01\n\x12NodeCreateResponse\x12\x34\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.CreateResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\"\n\x04node\x18\x02 \x01(\x0b\x32\x08.v1.NodeB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1e\n\x05token\x18\x03 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xf0\xf3\xb3\x07\x01\x12W\n\nrate_limit\x18\x04 \x01(\x0b\x32\x15.v1.RateLimitMetadataB,\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\xf2\xf8\xb3\x07\x06\xb2\xf4\xb3\x07\x01*\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"N\n\x0eNodeGetRequest\x12$\n\x04meta\x18\x01 \x01(\x0b\x32\x16.v1.GetRequestMetadata\x12\x16\n\x02id\x18\x02 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\"\xcd\x01\n\x0fNodeGetResponse\x12\x31\n\x04meta\x18\x01 \x01(\x0b\x32\x17.v1.GetResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\"\n\x04node\x18\x02 \x01(\x0b\x32\x08.v1.NodeB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12W\n\nrate_limit\x18\x03 \x01(\x0b\x32\x15.v1.RateLimitMetadataB,\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\xf2\xf8\xb3\x07\x06\xb2\xf4\xb3\x07\x01*\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"l\n\x11NodeUpdateRequest\x12\'\n\x04meta\x18\x01 \x01(\x0b\x32\x19.v1.UpdateRequestMetadata\x12\n\n\x02id\x18\x02 \x01(\t\x12\"\n\x04node\x18\x03 \x01(\x0b\x32\x08.v1.NodeB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\"\xd3\x01\n\x12NodeUpdateResponse\x12\x34\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.UpdateResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\"\n\x04node\x18\x02 \x01(\x0b\x32\x08.v1.NodeB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12W\n\nrate_limit\x18\x03 \x01(\x0b\x32\x15.v1.RateLimitMetadataB,\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\xf2\xf8\xb3\x07\x06\xb2\xf4\xb3\x07\x01*\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"T\n\x11NodeDeleteRequest\x12\'\n\x04meta\x18\x01 \x01(\x0b\x32\x19.v1.DeleteRequestMetadata\x12\x16\n\x02id\x18\x02 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\"\xaf\x01\n\x12NodeDeleteResponse\x12\x34\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.DeleteResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12W\n\nrate_limit\x18\x02 \x01(\x0b\x32\x15.v1.RateLimitMetadataB,\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\xf2\xf8\xb3\x07\x06\xb2\xf4\xb3\x07\x01*\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"T\n\x0fNodeListRequest\x12%\n\x04meta\x18\x01 \x01(\x0b\x32\x17.v1.ListRequestMetadata\x12\x1a\n\x06\x66ilter\x18\x02 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\"\xb8\x01\n\x10NodeListResponse\x12&\n\x04meta\x18\x01 \x01(\x0b\x32\x18.v1.ListResponseMetadata\x12#\n\x05nodes\x18\x02 \x03(\x0b\x32\x08.v1.NodeB\n\xf2\xf8\xb3\x07\x05\xb8\xf3\xb3\x07\x01\x12W\n\nrate_limit\x18\x03 \x01(\x0b\x32\x15.v1.RateLimitMetadataB,\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\xf2\xf8\xb3\x07\x06\xb2\xf4\xb3\x07\x01*\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway\"\x94\x02\n\x04Node\x12&\n\x05relay\x18\x01 \x01(\x0b\x32\t.v1.RelayB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01H\x00\x12*\n\x07gateway\x18\x02 \x01(\x0b\x32\x0b.v1.GatewayB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01H\x00\x12\x35\n\rproxy_cluster\x18\x03 \x01(\x0b\x32\x10.v1.ProxyClusterB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01H\x00:[\xfa\xf8\xb3\x07L\xc2\xf3\xb3\x07G\xa2\xf3\xb3\x07\x1dtf_examples/node_resource.txt\xaa\xf3\xb3\x07 tf_examples/node_data_source.txt\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\x42$\n\x04node\x12\x1c\xaa\xf8\xb3\x07\t\xaa\xf8\xb3\x07\x04tags\xaa\xf8\xb3\x07\t\xaa\xf8\xb3\x07\x04name\"\xa8\x04\n\x05Relay\x12\x16\n\x02id\x18\x01 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1d\n\x04name\x18\x02 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xd0\xf4\xb3\x07\x01\x12<\n\x05state\x18\x03 \x01(\tB-\xf2\xf8\xb3\x07(\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\xb2\xf4\xb3\x07\x01*\xb2\xf4\xb3\x07\x13!terraform-provider\x12\"\n\x04tags\x18\x04 \x01(\x0b\x32\x08.v1.TagsB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\"\n\x0egateway_filter\x18\x05 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1f\n\x06\x64\x65vice\x18\x06 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12!\n\x08location\x18\x07 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12 \n\x07version\x18\x08 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12,\n\x04uuid\x18\t \x01(\tB\x1e\xf2\xf8\xb3\x07\x19\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\xb2\xf4\xb3\x07\ngo_private\x12t\n\x13maintenance_windows\x18\x0b \x03(\x0b\x32\x19.v1.NodeMaintenanceWindowB<\xf2\xf8\xb3\x07\x37\xb0\xf3\xb3\x07\x01\xca\xf3\xb3\x07-\xc2\xf4\xb3\x07(\n\x12terraform-provider\x12\x12maintenance_window\x12L\n\x10\x64iscovery_config\x18\x0c \x01(\x0b\x32\x17.v1.NodeDiscoveryConfigB\x19\xf2\xf8\xb3\x07\x14\xb0\xf3\xb3\x07\x01\xb2\xf4\xb3\x07\ngo_private:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\x84\x05\n\x07Gateway\x12\x16\n\x02id\x18\x01 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1d\n\x04name\x18\x02 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xd0\xf4\xb3\x07\x01\x12<\n\x05state\x18\x03 \x01(\tB-\xf2\xf8\xb3\x07(\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\xb2\xf4\xb3\x07\x01*\xb2\xf4\xb3\x07\x13!terraform-provider\x12,\n\x0elisten_address\x18\x04 \x01(\tB\x14\xf2\xf8\xb3\x07\x0f\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\xe0\xf3\xb3\x07\x01\x12*\n\x0c\x62ind_address\x18\x05 \x01(\tB\x14\xf2\xf8\xb3\x07\x0f\xb0\xf3\xb3\x07\x01\xe0\xf3\xb3\x07\x01\xd0\xf4\xb3\x07\x01\x12\"\n\x04tags\x18\x06 \x01(\x0b\x32\x08.v1.TagsB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\"\n\x0egateway_filter\x18\x07 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1f\n\x06\x64\x65vice\x18\x08 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12!\n\x08location\x18\t \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12 \n\x07version\x18\n \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12,\n\x04uuid\x18\x0b \x01(\tB\x1e\xf2\xf8\xb3\x07\x19\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\xb2\xf4\xb3\x07\ngo_private\x12t\n\x13maintenance_windows\x18\r \x03(\x0b\x32\x19.v1.NodeMaintenanceWindowB<\xf2\xf8\xb3\x07\x37\xb0\xf3\xb3\x07\x01\xca\xf3\xb3\x07-\xc2\xf4\xb3\x07(\n\x12terraform-provider\x12\x12maintenance_window\x12L\n\x10\x64iscovery_config\x18\x0e \x01(\x0b\x32\x17.v1.NodeDiscoveryConfigB\x19\xf2\xf8\xb3\x07\x14\xb0\xf3\xb3\x07\x01\xb2\xf4\xb3\x07\ngo_private:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xe0\x02\n\x0cProxyCluster\x12\x16\n\x02id\x18\x01 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1d\n\x04name\x18\x02 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xd0\xf4\xb3\x07\x01\x12%\n\x07\x61\x64\x64ress\x18\x03 \x01(\tB\x14\xf2\xf8\xb3\x07\x0f\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\xe0\xf3\xb3\x07\x01\x12\"\n\x04tags\x18\x04 \x01(\x0b\x32\x08.v1.TagsB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12t\n\x13maintenance_windows\x18\x05 \x03(\x0b\x32\x19.v1.NodeMaintenanceWindowB<\xf2\xf8\xb3\x07\x37\xb0\xf3\xb3\x07\x01\xca\xf3\xb3\x07-\xc2\xf4\xb3\x07(\n\x12terraform-provider\x12\x12maintenance_window\x12L\n\x10\x64iscovery_config\x18\x06 \x01(\x0b\x32\x17.v1.NodeDiscoveryConfigB\x19\xf2\xf8\xb3\x07\x14\xb0\xf3\xb3\x07\x01\xb2\xf4\xb3\x07\ngo_private:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xb6\x01\n\x15NodeMaintenanceWindow\x12!\n\rcron_schedule\x18\x01 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12$\n\x10require_idleness\x18\x02 \x01(\x08\x42\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:T\xfa\xf8\xb3\x07O\xa8\xf3\xb3\x07\x01\xca\xf3\xb3\x07\x45\xf2\xf3\xb3\x07\x1e\n\x12terraform-provider\x12\x08TypeList\xfa\xf3\xb3\x07\x1dnodeMaintenanceWindowElemType\"\xc3\x01\n\x13NodeDiscoveryConfig\x12\x1b\n\x07\x65nabled\x18\x01 \x01(\x08\x42\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x35\n\x06period\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12=\n\x0c\x65nabledTypes\x18\x03 \x03(\x0b\x32\x1b.v1.NodeDiscoveryTypeConfigB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\x19\xfa\xf8\xb3\x07\x14\xa8\xf3\xb3\x07\x01\xd2\xf3\xb3\x07\ngo_private\"N\n\x17NodeDiscoveryTypeConfig\x12\x18\n\x04type\x18\x01 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\x19\xfa\xf8\xb3\x07\x14\xa8\xf3\xb3\x07\x01\xd2\xf3\xb3\x07\ngo_private2\x87\x04\n\x05Nodes\x12Z\n\x06\x43reate\x12\x15.v1.NodeCreateRequest\x1a\x16.v1.NodeCreateResponse\"!\x82\xf9\xb3\x07\t\xa2\xf3\xb3\x07\x04post\x82\xf9\xb3\x07\x0e\xaa\xf3\xb3\x07\t/v1/nodes\x12U\n\x03Get\x12\x12.v1.NodeGetRequest\x1a\x13.v1.NodeGetResponse\"%\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x13\xaa\xf3\xb3\x07\x0e/v1/nodes/{id}\x12^\n\x06Update\x12\x15.v1.NodeUpdateRequest\x1a\x16.v1.NodeUpdateResponse\"%\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03put\x82\xf9\xb3\x07\x13\xaa\xf3\xb3\x07\x0e/v1/nodes/{id}\x12\x61\n\x06\x44\x65lete\x12\x15.v1.NodeDeleteRequest\x1a\x16.v1.NodeDeleteResponse\"(\x82\xf9\xb3\x07\x0b\xa2\xf3\xb3\x07\x06\x64\x65lete\x82\xf9\xb3\x07\x13\xaa\xf3\xb3\x07\x0e/v1/nodes/{id}\x12S\n\x04List\x12\x13.v1.NodeListRequest\x1a\x14.v1.NodeListResponse\" \x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x0e\xaa\xf3\xb3\x07\t/v1/nodes\x1a\x33\xca\xf9\xb3\x07\t\xc2\xf9\xb3\x07\x04Node\xca\xf9\xb3\x07\x07\xd2\xf9\xb3\x07\x02n-\xca\xf9\xb3\x07\x06\xca\xf9\xb3\x07\x01*\xca\xf9\xb3\x07\t\xca\xf9\xb3\x07\x04!cliBa\n\x19\x63om.strongdm.api.plumbingB\rNodesPlumbingZ5github.com/strongdm/strongdm-sdk-go/v3/internal/v1;v1b\x06proto3')
36
36
 
37
37
 
38
38
 
@@ -230,7 +230,7 @@ if _descriptor._USE_C_DESCRIPTORS == False:
230
230
  _NODE.fields_by_name['gateway']._options = None
231
231
  _NODE.fields_by_name['gateway']._serialized_options = b'\362\370\263\007\005\260\363\263\007\001'
232
232
  _NODE.fields_by_name['proxy_cluster']._options = None
233
- _NODE.fields_by_name['proxy_cluster']._serialized_options = b'\362\370\263\007%\260\363\263\007\001\262\364\263\007\ngo_private\262\364\263\007\014json_gateway'
233
+ _NODE.fields_by_name['proxy_cluster']._serialized_options = b'\362\370\263\007\005\260\363\263\007\001'
234
234
  _NODE._options = None
235
235
  _NODE._serialized_options = b'\372\370\263\007L\302\363\263\007G\242\363\263\007\035tf_examples/node_resource.txt\252\363\263\007 tf_examples/node_data_source.txt\372\370\263\007\005\250\363\263\007\001'
236
236
  _RELAY.fields_by_name['id']._options = None
@@ -298,7 +298,7 @@ if _descriptor._USE_C_DESCRIPTORS == False:
298
298
  _PROXYCLUSTER.fields_by_name['discovery_config']._options = None
299
299
  _PROXYCLUSTER.fields_by_name['discovery_config']._serialized_options = b'\362\370\263\007\024\260\363\263\007\001\262\364\263\007\ngo_private'
300
300
  _PROXYCLUSTER._options = None
301
- _PROXYCLUSTER._serialized_options = b'\372\370\263\007%\250\363\263\007\001\322\363\263\007\ngo_private\322\363\263\007\014json_gateway'
301
+ _PROXYCLUSTER._serialized_options = b'\372\370\263\007\005\250\363\263\007\001'
302
302
  _NODEMAINTENANCEWINDOW.fields_by_name['cron_schedule']._options = None
303
303
  _NODEMAINTENANCEWINDOW.fields_by_name['cron_schedule']._serialized_options = b'\362\370\263\007\005\260\363\263\007\001'
304
304
  _NODEMAINTENANCEWINDOW.fields_by_name['require_idleness']._options = None
@@ -350,19 +350,19 @@ if _descriptor._USE_C_DESCRIPTORS == False:
350
350
  _NODELISTRESPONSE._serialized_start=1397
351
351
  _NODELISTRESPONSE._serialized_end=1581
352
352
  _NODE._serialized_start=1584
353
- _NODE._serialized_end=1892
354
- _RELAY._serialized_start=1895
355
- _RELAY._serialized_end=2447
356
- _GATEWAY._serialized_start=2450
357
- _GATEWAY._serialized_end=3094
358
- _PROXYCLUSTER._serialized_start=3097
359
- _PROXYCLUSTER._serialized_end=3481
360
- _NODEMAINTENANCEWINDOW._serialized_start=3484
361
- _NODEMAINTENANCEWINDOW._serialized_end=3666
362
- _NODEDISCOVERYCONFIG._serialized_start=3669
363
- _NODEDISCOVERYCONFIG._serialized_end=3864
364
- _NODEDISCOVERYTYPECONFIG._serialized_start=3866
365
- _NODEDISCOVERYTYPECONFIG._serialized_end=3944
366
- _NODES._serialized_start=3947
367
- _NODES._serialized_end=4466
353
+ _NODE._serialized_end=1860
354
+ _RELAY._serialized_start=1863
355
+ _RELAY._serialized_end=2415
356
+ _GATEWAY._serialized_start=2418
357
+ _GATEWAY._serialized_end=3062
358
+ _PROXYCLUSTER._serialized_start=3065
359
+ _PROXYCLUSTER._serialized_end=3417
360
+ _NODEMAINTENANCEWINDOW._serialized_start=3420
361
+ _NODEMAINTENANCEWINDOW._serialized_end=3602
362
+ _NODEDISCOVERYCONFIG._serialized_start=3605
363
+ _NODEDISCOVERYCONFIG._serialized_end=3800
364
+ _NODEDISCOVERYTYPECONFIG._serialized_start=3802
365
+ _NODEDISCOVERYTYPECONFIG._serialized_end=3880
366
+ _NODES._serialized_start=3883
367
+ _NODES._serialized_end=4402
368
368
  # @@protoc_insertion_point(module_scope)