strongdm 11.15.0__zip → 11.17.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-11.15.0 → strongdm-11.17.0}/PKG-INFO +2 -2
  2. {strongdm-11.15.0 → strongdm-11.17.0}/setup.py +2 -2
  3. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/client.py +8 -1
  4. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/drivers_pb2.py +218 -176
  5. strongdm-11.17.0/strongdm/health_checks_pb2.py +107 -0
  6. strongdm-11.17.0/strongdm/health_checks_pb2_grpc.py +87 -0
  7. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/models.py +278 -0
  8. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/plumbing.py +138 -0
  9. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/svc.py +52 -0
  10. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm.egg-info/PKG-INFO +2 -2
  11. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm.egg-info/SOURCES.txt +2 -0
  12. {strongdm-11.15.0 → strongdm-11.17.0}/LICENSE +0 -0
  13. {strongdm-11.15.0 → strongdm-11.17.0}/README.md +0 -0
  14. {strongdm-11.15.0 → strongdm-11.17.0}/setup.cfg +0 -0
  15. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/__init__.py +0 -0
  16. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/access_request_events_history_pb2.py +0 -0
  17. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/access_request_events_history_pb2_grpc.py +0 -0
  18. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/access_requests_history_pb2.py +0 -0
  19. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/access_requests_history_pb2_grpc.py +0 -0
  20. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/access_requests_pb2.py +0 -0
  21. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/access_requests_pb2_grpc.py +0 -0
  22. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/account_attachments_history_pb2.py +0 -0
  23. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/account_attachments_history_pb2_grpc.py +0 -0
  24. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/account_attachments_pb2.py +0 -0
  25. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/account_attachments_pb2_grpc.py +0 -0
  26. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/account_grants_history_pb2.py +0 -0
  27. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/account_grants_history_pb2_grpc.py +0 -0
  28. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/account_grants_pb2.py +0 -0
  29. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/account_grants_pb2_grpc.py +0 -0
  30. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/account_permissions_pb2.py +0 -0
  31. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/account_permissions_pb2_grpc.py +0 -0
  32. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/account_resources_history_pb2.py +0 -0
  33. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/account_resources_history_pb2_grpc.py +0 -0
  34. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/account_resources_pb2.py +0 -0
  35. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/account_resources_pb2_grpc.py +0 -0
  36. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/accounts_history_pb2.py +0 -0
  37. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/accounts_history_pb2_grpc.py +0 -0
  38. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/accounts_pb2.py +0 -0
  39. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/accounts_pb2_grpc.py +0 -0
  40. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/activities_pb2.py +0 -0
  41. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/activities_pb2_grpc.py +0 -0
  42. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/approval_workflow_approvers_history_pb2.py +0 -0
  43. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/approval_workflow_approvers_history_pb2_grpc.py +0 -0
  44. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/approval_workflow_approvers_pb2.py +0 -0
  45. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/approval_workflow_approvers_pb2_grpc.py +0 -0
  46. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/approval_workflow_steps_history_pb2.py +0 -0
  47. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/approval_workflow_steps_history_pb2_grpc.py +0 -0
  48. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/approval_workflow_steps_pb2.py +0 -0
  49. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/approval_workflow_steps_pb2_grpc.py +0 -0
  50. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/approval_workflows_history_pb2.py +0 -0
  51. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/approval_workflows_history_pb2_grpc.py +0 -0
  52. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/approval_workflows_pb2.py +0 -0
  53. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/approval_workflows_pb2_grpc.py +0 -0
  54. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/constants.py +0 -0
  55. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/control_panel_pb2.py +0 -0
  56. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/control_panel_pb2_grpc.py +0 -0
  57. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/drivers_pb2_grpc.py +0 -0
  58. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/errors.py +0 -0
  59. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/identity_aliases_history_pb2.py +0 -0
  60. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/identity_aliases_history_pb2_grpc.py +0 -0
  61. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/identity_aliases_pb2.py +0 -0
  62. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/identity_aliases_pb2_grpc.py +0 -0
  63. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/identity_sets_history_pb2.py +0 -0
  64. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/identity_sets_history_pb2_grpc.py +0 -0
  65. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/identity_sets_pb2.py +0 -0
  66. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/identity_sets_pb2_grpc.py +0 -0
  67. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/nodes_history_pb2.py +0 -0
  68. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/nodes_history_pb2_grpc.py +0 -0
  69. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/nodes_pb2.py +0 -0
  70. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/nodes_pb2_grpc.py +0 -0
  71. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/options_pb2.py +0 -0
  72. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/options_pb2_grpc.py +0 -0
  73. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/organization_history_pb2.py +0 -0
  74. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/organization_history_pb2_grpc.py +0 -0
  75. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/peering_group_nodes_pb2.py +0 -0
  76. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/peering_group_nodes_pb2_grpc.py +0 -0
  77. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/peering_group_peers_pb2.py +0 -0
  78. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/peering_group_peers_pb2_grpc.py +0 -0
  79. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/peering_group_resources_pb2.py +0 -0
  80. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/peering_group_resources_pb2_grpc.py +0 -0
  81. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/peering_groups_pb2.py +0 -0
  82. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/peering_groups_pb2_grpc.py +0 -0
  83. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/policies_history_pb2.py +0 -0
  84. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/policies_history_pb2_grpc.py +0 -0
  85. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/policies_pb2.py +0 -0
  86. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/policies_pb2_grpc.py +0 -0
  87. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/proxy_cluster_keys_pb2.py +0 -0
  88. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/proxy_cluster_keys_pb2_grpc.py +0 -0
  89. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/queries_pb2.py +0 -0
  90. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/queries_pb2_grpc.py +0 -0
  91. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/remote_identities_history_pb2.py +0 -0
  92. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/remote_identities_history_pb2_grpc.py +0 -0
  93. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/remote_identities_pb2.py +0 -0
  94. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/remote_identities_pb2_grpc.py +0 -0
  95. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/remote_identity_groups_history_pb2.py +0 -0
  96. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/remote_identity_groups_history_pb2_grpc.py +0 -0
  97. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/remote_identity_groups_pb2.py +0 -0
  98. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/remote_identity_groups_pb2_grpc.py +0 -0
  99. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/replays_pb2.py +0 -0
  100. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/replays_pb2_grpc.py +0 -0
  101. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/resources_history_pb2.py +0 -0
  102. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/resources_history_pb2_grpc.py +0 -0
  103. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/resources_pb2.py +0 -0
  104. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/resources_pb2_grpc.py +0 -0
  105. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/role_resources_history_pb2.py +0 -0
  106. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/role_resources_history_pb2_grpc.py +0 -0
  107. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/role_resources_pb2.py +0 -0
  108. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/role_resources_pb2_grpc.py +0 -0
  109. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/roles_history_pb2.py +0 -0
  110. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/roles_history_pb2_grpc.py +0 -0
  111. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/roles_pb2.py +0 -0
  112. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/roles_pb2_grpc.py +0 -0
  113. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/secret_engine_policy_pb2_grpc.py +0 -0
  114. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/secret_engine_types_pb2_grpc.py +0 -0
  115. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/secret_store_healths_pb2.py +0 -0
  116. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/secret_store_healths_pb2_grpc.py +0 -0
  117. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/secret_store_types_pb2.py +0 -0
  118. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/secret_store_types_pb2_grpc.py +0 -0
  119. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/secret_stores_history_pb2.py +0 -0
  120. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/secret_stores_history_pb2_grpc.py +0 -0
  121. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/secret_stores_pb2.py +0 -0
  122. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/secret_stores_pb2_grpc.py +0 -0
  123. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/spec_pb2.py +0 -0
  124. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/spec_pb2_grpc.py +0 -0
  125. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/tags_pb2.py +0 -0
  126. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/tags_pb2_grpc.py +0 -0
  127. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/workflow_approvers_history_pb2.py +0 -0
  128. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/workflow_approvers_history_pb2_grpc.py +0 -0
  129. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/workflow_approvers_pb2.py +0 -0
  130. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/workflow_approvers_pb2_grpc.py +0 -0
  131. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/workflow_assignments_history_pb2.py +0 -0
  132. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/workflow_assignments_history_pb2_grpc.py +0 -0
  133. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/workflow_assignments_pb2.py +0 -0
  134. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/workflow_assignments_pb2_grpc.py +0 -0
  135. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/workflow_roles_history_pb2.py +0 -0
  136. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/workflow_roles_history_pb2_grpc.py +0 -0
  137. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/workflow_roles_pb2.py +0 -0
  138. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/workflow_roles_pb2_grpc.py +0 -0
  139. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/workflows_history_pb2.py +0 -0
  140. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/workflows_history_pb2_grpc.py +0 -0
  141. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/workflows_pb2.py +0 -0
  142. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm/workflows_pb2_grpc.py +0 -0
  143. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm.egg-info/dependency_links.txt +0 -0
  144. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm.egg-info/requires.txt +0 -0
  145. {strongdm-11.15.0 → strongdm-11.17.0}/strongdm.egg-info/top_level.txt +0 -0
@@ -0,0 +1,107 @@
1
+ # Copyright 2020 StrongDM Inc
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #
15
+ # -*- coding: utf-8 -*-
16
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
17
+ # source: health_checks.proto
18
+ """Generated protocol buffer code."""
19
+ from google.protobuf import descriptor as _descriptor
20
+ from google.protobuf import descriptor_pool as _descriptor_pool
21
+ from google.protobuf import message as _message
22
+ from google.protobuf import reflection as _reflection
23
+ from google.protobuf import symbol_database as _symbol_database
24
+ # @@protoc_insertion_point(imports)
25
+
26
+ _sym_db = _symbol_database.Default()
27
+
28
+
29
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
30
+ from . import options_pb2 as options__pb2
31
+ from . import spec_pb2 as spec__pb2
32
+
33
+
34
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13health_checks.proto\x12\x02v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\roptions.proto\x1a\nspec.proto\"\x85\x01\n\x16HealthcheckListRequest\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:(\xfa\xf8\xb3\x07\x06\xd2\xf3\xb3\x07\x01*\xfa\xf8\xb3\x07\x18\xd2\xf3\xb3\x07\x13!terraform-provider\"\x81\x02\n\x17HealthcheckListResponse\x12&\n\x04meta\x18\x01 \x01(\x0b\x32\x18.v1.ListResponseMetadata\x12\x31\n\x0chealthchecks\x18\x02 \x03(\x0b\x32\x0f.v1.HealthcheckB\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:2\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\xfa\xf8\xb3\x07\x06\xd2\xf3\xb3\x07\x01*\xfa\xf8\xb3\x07\x18\xd2\xf3\xb3\x07\x13!terraform-provider\"\xf3\x02\n\x0bHealthcheck\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12$\n\x0bresource_id\x18\x02 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12&\n\rresource_name\x18\x03 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12 \n\x07node_id\x18\x04 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12\"\n\tnode_name\x18\x05 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12 \n\x07healthy\x18\x06 \x01(\x08\x42\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12\x1d\n\terror_msg\x18\x07 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12>\n\ttimestamp\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01:2\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\xfa\xf8\xb3\x07\x06\xd2\xf3\xb3\x07\x01*\xfa\xf8\xb3\x07\x18\xd2\xf3\xb3\x07\x13!terraform-provider2\xc1\x01\n\x0cHealthChecks\x12h\n\x04List\x12\x1a.v1.HealthcheckListRequest\x1a\x1b.v1.HealthcheckListResponse\"\'\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x15\xaa\xf3\xb3\x07\x10/v1/healthchecks\x1aG\xca\xf9\xb3\x07\x10\xc2\xf9\xb3\x07\x0bHealthcheck\xca\xf9\xb3\x07\x05\xd8\xf9\xb3\x07\x01\xca\xf9\xb3\x07\x06\xca\xf9\xb3\x07\x01*\xca\xf9\xb3\x07\x18\xca\xf9\xb3\x07\x13!terraform-providerB\x90\x01\n\x19\x63om.strongdm.api.plumbingB\x14HealthChecksPlumbingZ5github.com/strongdm/strongdm-sdk-go/v3/internal/v1;v1\xc2\x92\xb4\x07\x06\xa2\x8c\xb4\x07\x01*\xc2\x92\xb4\x07\x18\xa2\x8c\xb4\x07\x13!terraform-providerb\x06proto3')
35
+
36
+
37
+
38
+ _HEALTHCHECKLISTREQUEST = DESCRIPTOR.message_types_by_name['HealthcheckListRequest']
39
+ _HEALTHCHECKLISTRESPONSE = DESCRIPTOR.message_types_by_name['HealthcheckListResponse']
40
+ _HEALTHCHECK = DESCRIPTOR.message_types_by_name['Healthcheck']
41
+ HealthcheckListRequest = _reflection.GeneratedProtocolMessageType('HealthcheckListRequest', (_message.Message,), {
42
+ 'DESCRIPTOR' : _HEALTHCHECKLISTREQUEST,
43
+ '__module__' : 'health_checks_pb2'
44
+ # @@protoc_insertion_point(class_scope:v1.HealthcheckListRequest)
45
+ })
46
+ _sym_db.RegisterMessage(HealthcheckListRequest)
47
+
48
+ HealthcheckListResponse = _reflection.GeneratedProtocolMessageType('HealthcheckListResponse', (_message.Message,), {
49
+ 'DESCRIPTOR' : _HEALTHCHECKLISTRESPONSE,
50
+ '__module__' : 'health_checks_pb2'
51
+ # @@protoc_insertion_point(class_scope:v1.HealthcheckListResponse)
52
+ })
53
+ _sym_db.RegisterMessage(HealthcheckListResponse)
54
+
55
+ Healthcheck = _reflection.GeneratedProtocolMessageType('Healthcheck', (_message.Message,), {
56
+ 'DESCRIPTOR' : _HEALTHCHECK,
57
+ '__module__' : 'health_checks_pb2'
58
+ # @@protoc_insertion_point(class_scope:v1.Healthcheck)
59
+ })
60
+ _sym_db.RegisterMessage(Healthcheck)
61
+
62
+ _HEALTHCHECKS = DESCRIPTOR.services_by_name['HealthChecks']
63
+ if _descriptor._USE_C_DESCRIPTORS == False:
64
+
65
+ DESCRIPTOR._options = None
66
+ DESCRIPTOR._serialized_options = b'\n\031com.strongdm.api.plumbingB\024HealthChecksPlumbingZ5github.com/strongdm/strongdm-sdk-go/v3/internal/v1;v1\302\222\264\007\006\242\214\264\007\001*\302\222\264\007\030\242\214\264\007\023!terraform-provider'
67
+ _HEALTHCHECKLISTREQUEST.fields_by_name['filter']._options = None
68
+ _HEALTHCHECKLISTREQUEST.fields_by_name['filter']._serialized_options = b'\362\370\263\007\005\260\363\263\007\001'
69
+ _HEALTHCHECKLISTREQUEST._options = None
70
+ _HEALTHCHECKLISTREQUEST._serialized_options = b'\372\370\263\007\006\322\363\263\007\001*\372\370\263\007\030\322\363\263\007\023!terraform-provider'
71
+ _HEALTHCHECKLISTRESPONSE.fields_by_name['healthchecks']._options = None
72
+ _HEALTHCHECKLISTRESPONSE.fields_by_name['healthchecks']._serialized_options = b'\362\370\263\007\005\270\363\263\007\001'
73
+ _HEALTHCHECKLISTRESPONSE.fields_by_name['rate_limit']._options = None
74
+ _HEALTHCHECKLISTRESPONSE.fields_by_name['rate_limit']._serialized_options = b'\362\370\263\007\005\260\363\263\007\001\362\370\263\007\006\262\364\263\007\001*\362\370\263\007\022\262\364\263\007\r!json_gateway'
75
+ _HEALTHCHECKLISTRESPONSE._options = None
76
+ _HEALTHCHECKLISTRESPONSE._serialized_options = b'\372\370\263\007\005\250\363\263\007\001\372\370\263\007\006\322\363\263\007\001*\372\370\263\007\030\322\363\263\007\023!terraform-provider'
77
+ _HEALTHCHECK.fields_by_name['id']._options = None
78
+ _HEALTHCHECK.fields_by_name['id']._serialized_options = b'\362\370\263\007\n\260\363\263\007\001\300\363\263\007\001'
79
+ _HEALTHCHECK.fields_by_name['resource_id']._options = None
80
+ _HEALTHCHECK.fields_by_name['resource_id']._serialized_options = b'\362\370\263\007\n\260\363\263\007\001\300\363\263\007\001'
81
+ _HEALTHCHECK.fields_by_name['resource_name']._options = None
82
+ _HEALTHCHECK.fields_by_name['resource_name']._serialized_options = b'\362\370\263\007\n\260\363\263\007\001\300\363\263\007\001'
83
+ _HEALTHCHECK.fields_by_name['node_id']._options = None
84
+ _HEALTHCHECK.fields_by_name['node_id']._serialized_options = b'\362\370\263\007\n\260\363\263\007\001\300\363\263\007\001'
85
+ _HEALTHCHECK.fields_by_name['node_name']._options = None
86
+ _HEALTHCHECK.fields_by_name['node_name']._serialized_options = b'\362\370\263\007\n\260\363\263\007\001\300\363\263\007\001'
87
+ _HEALTHCHECK.fields_by_name['healthy']._options = None
88
+ _HEALTHCHECK.fields_by_name['healthy']._serialized_options = b'\362\370\263\007\n\260\363\263\007\001\300\363\263\007\001'
89
+ _HEALTHCHECK.fields_by_name['error_msg']._options = None
90
+ _HEALTHCHECK.fields_by_name['error_msg']._serialized_options = b'\362\370\263\007\005\260\363\263\007\001'
91
+ _HEALTHCHECK.fields_by_name['timestamp']._options = None
92
+ _HEALTHCHECK.fields_by_name['timestamp']._serialized_options = b'\362\370\263\007\n\260\363\263\007\001\300\363\263\007\001'
93
+ _HEALTHCHECK._options = None
94
+ _HEALTHCHECK._serialized_options = b'\372\370\263\007\005\250\363\263\007\001\372\370\263\007\006\322\363\263\007\001*\372\370\263\007\030\322\363\263\007\023!terraform-provider'
95
+ _HEALTHCHECKS._options = None
96
+ _HEALTHCHECKS._serialized_options = b'\312\371\263\007\020\302\371\263\007\013Healthcheck\312\371\263\007\005\330\371\263\007\001\312\371\263\007\006\312\371\263\007\001*\312\371\263\007\030\312\371\263\007\023!terraform-provider'
97
+ _HEALTHCHECKS.methods_by_name['List']._options = None
98
+ _HEALTHCHECKS.methods_by_name['List']._serialized_options = b'\202\371\263\007\010\242\363\263\007\003get\202\371\263\007\025\252\363\263\007\020/v1/healthchecks'
99
+ _HEALTHCHECKLISTREQUEST._serialized_start=88
100
+ _HEALTHCHECKLISTREQUEST._serialized_end=221
101
+ _HEALTHCHECKLISTRESPONSE._serialized_start=224
102
+ _HEALTHCHECKLISTRESPONSE._serialized_end=481
103
+ _HEALTHCHECK._serialized_start=484
104
+ _HEALTHCHECK._serialized_end=855
105
+ _HEALTHCHECKS._serialized_start=858
106
+ _HEALTHCHECKS._serialized_end=1051
107
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,87 @@
1
+ # Copyright 2020 StrongDM Inc
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #
15
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
16
+ """Client and server classes corresponding to protobuf-defined services."""
17
+ import grpc
18
+
19
+ from . import health_checks_pb2 as health__checks__pb2
20
+
21
+
22
+ class HealthChecksStub(object):
23
+ """HealthChecks lists the last healthcheck between each node and resource.
24
+ Note the unconventional capitalization here is to prevent having a collision with GRPC
25
+ """
26
+
27
+ def __init__(self, channel):
28
+ """Constructor.
29
+
30
+ Args:
31
+ channel: A grpc.Channel.
32
+ """
33
+ self.List = channel.unary_unary(
34
+ '/v1.HealthChecks/List',
35
+ request_serializer=health__checks__pb2.HealthcheckListRequest.SerializeToString,
36
+ response_deserializer=health__checks__pb2.HealthcheckListResponse.FromString,
37
+ )
38
+
39
+
40
+ class HealthChecksServicer(object):
41
+ """HealthChecks lists the last healthcheck between each node and resource.
42
+ Note the unconventional capitalization here is to prevent having a collision with GRPC
43
+ """
44
+
45
+ def List(self, request, context):
46
+ """List gets a list of Healthchecks matching a given set of criteria.
47
+ """
48
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
49
+ context.set_details('Method not implemented!')
50
+ raise NotImplementedError('Method not implemented!')
51
+
52
+
53
+ def add_HealthChecksServicer_to_server(servicer, server):
54
+ rpc_method_handlers = {
55
+ 'List': grpc.unary_unary_rpc_method_handler(
56
+ servicer.List,
57
+ request_deserializer=health__checks__pb2.HealthcheckListRequest.FromString,
58
+ response_serializer=health__checks__pb2.HealthcheckListResponse.SerializeToString,
59
+ ),
60
+ }
61
+ generic_handler = grpc.method_handlers_generic_handler(
62
+ 'v1.HealthChecks', rpc_method_handlers)
63
+ server.add_generic_rpc_handlers((generic_handler,))
64
+
65
+
66
+ # This class is part of an EXPERIMENTAL API.
67
+ class HealthChecks(object):
68
+ """HealthChecks lists the last healthcheck between each node and resource.
69
+ Note the unconventional capitalization here is to prevent having a collision with GRPC
70
+ """
71
+
72
+ @staticmethod
73
+ def List(request,
74
+ target,
75
+ options=(),
76
+ channel_credentials=None,
77
+ call_credentials=None,
78
+ insecure=False,
79
+ compression=None,
80
+ wait_for_ready=None,
81
+ timeout=None,
82
+ metadata=None):
83
+ return grpc.experimental.unary_unary(request, target, '/v1.HealthChecks/List',
84
+ health__checks__pb2.HealthcheckListRequest.SerializeToString,
85
+ health__checks__pb2.HealthcheckListResponse.FromString,
86
+ options, channel_credentials,
87
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@@ -1519,6 +1519,154 @@ class AWSConsoleStaticKeyPair:
1519
1519
  )
1520
1520
 
1521
1521
 
1522
+ class AWSInstanceProfile:
1523
+ __slots__ = [
1524
+ 'bind_interface',
1525
+ 'egress_filter',
1526
+ 'enable_env_variables',
1527
+ 'healthy',
1528
+ 'id',
1529
+ 'name',
1530
+ 'port_override',
1531
+ 'proxy_cluster_id',
1532
+ 'region',
1533
+ 'role_arn',
1534
+ 'role_external_id',
1535
+ 'secret_store_id',
1536
+ 'subdomain',
1537
+ 'tags',
1538
+ ]
1539
+
1540
+ def __init__(
1541
+ self,
1542
+ bind_interface=None,
1543
+ egress_filter=None,
1544
+ enable_env_variables=None,
1545
+ healthy=None,
1546
+ id=None,
1547
+ name=None,
1548
+ port_override=None,
1549
+ proxy_cluster_id=None,
1550
+ region=None,
1551
+ role_arn=None,
1552
+ role_external_id=None,
1553
+ secret_store_id=None,
1554
+ subdomain=None,
1555
+ tags=None,
1556
+ ):
1557
+ self.bind_interface = bind_interface if bind_interface is not None else ''
1558
+ '''
1559
+ 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.
1560
+ '''
1561
+ self.egress_filter = egress_filter if egress_filter is not None else ''
1562
+ '''
1563
+ A filter applied to the routing logic to pin datasource to nodes.
1564
+ '''
1565
+ self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
1566
+ '''
1567
+ If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
1568
+ '''
1569
+ self.healthy = healthy if healthy is not None else False
1570
+ '''
1571
+ True if the datasource is reachable and the credentials are valid.
1572
+ '''
1573
+ self.id = id if id is not None else ''
1574
+ '''
1575
+ Unique identifier of the Resource.
1576
+ '''
1577
+ self.name = name if name is not None else ''
1578
+ '''
1579
+ Unique human-readable name of the Resource.
1580
+ '''
1581
+ self.port_override = port_override if port_override is not None else 0
1582
+ '''
1583
+ The local port used by clients to connect to this resource.
1584
+ '''
1585
+ self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1586
+ '''
1587
+ ID of the proxy cluster for this resource, if any.
1588
+ '''
1589
+ self.region = region if region is not None else ''
1590
+ '''
1591
+ The AWS region to connect to.
1592
+ '''
1593
+ self.role_arn = role_arn if role_arn is not None else ''
1594
+ '''
1595
+ The role to assume after logging in.
1596
+ '''
1597
+ self.role_external_id = role_external_id if role_external_id is not None else ''
1598
+ '''
1599
+ The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1600
+ '''
1601
+ self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1602
+ '''
1603
+ ID of the secret store containing credentials for this resource, if any.
1604
+ '''
1605
+ self.subdomain = subdomain if subdomain is not None else ''
1606
+ '''
1607
+ Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1608
+ '''
1609
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1610
+ '''
1611
+ Tags is a map of key, value pairs.
1612
+ '''
1613
+
1614
+ def __repr__(self):
1615
+ return '<sdm.AWSInstanceProfile ' + \
1616
+ 'bind_interface: ' + repr(self.bind_interface) + ' ' +\
1617
+ 'egress_filter: ' + repr(self.egress_filter) + ' ' +\
1618
+ 'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
1619
+ 'healthy: ' + repr(self.healthy) + ' ' +\
1620
+ 'id: ' + repr(self.id) + ' ' +\
1621
+ 'name: ' + repr(self.name) + ' ' +\
1622
+ 'port_override: ' + repr(self.port_override) + ' ' +\
1623
+ 'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
1624
+ 'region: ' + repr(self.region) + ' ' +\
1625
+ 'role_arn: ' + repr(self.role_arn) + ' ' +\
1626
+ 'role_external_id: ' + repr(self.role_external_id) + ' ' +\
1627
+ 'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
1628
+ 'subdomain: ' + repr(self.subdomain) + ' ' +\
1629
+ 'tags: ' + repr(self.tags) + ' ' +\
1630
+ '>'
1631
+
1632
+ def to_dict(self):
1633
+ return {
1634
+ 'bind_interface': self.bind_interface,
1635
+ 'egress_filter': self.egress_filter,
1636
+ 'enable_env_variables': self.enable_env_variables,
1637
+ 'healthy': self.healthy,
1638
+ 'id': self.id,
1639
+ 'name': self.name,
1640
+ 'port_override': self.port_override,
1641
+ 'proxy_cluster_id': self.proxy_cluster_id,
1642
+ 'region': self.region,
1643
+ 'role_arn': self.role_arn,
1644
+ 'role_external_id': self.role_external_id,
1645
+ 'secret_store_id': self.secret_store_id,
1646
+ 'subdomain': self.subdomain,
1647
+ 'tags': self.tags,
1648
+ }
1649
+
1650
+ @classmethod
1651
+ def from_dict(cls, d):
1652
+ return cls(
1653
+ bind_interface=d.get('bind_interface'),
1654
+ egress_filter=d.get('egress_filter'),
1655
+ enable_env_variables=d.get('enable_env_variables'),
1656
+ healthy=d.get('healthy'),
1657
+ id=d.get('id'),
1658
+ name=d.get('name'),
1659
+ port_override=d.get('port_override'),
1660
+ proxy_cluster_id=d.get('proxy_cluster_id'),
1661
+ region=d.get('region'),
1662
+ role_arn=d.get('role_arn'),
1663
+ role_external_id=d.get('role_external_id'),
1664
+ secret_store_id=d.get('secret_store_id'),
1665
+ subdomain=d.get('subdomain'),
1666
+ tags=d.get('tags'),
1667
+ )
1668
+
1669
+
1522
1670
  class AWSStore:
1523
1671
  __slots__ = [
1524
1672
  'id',
@@ -11344,6 +11492,136 @@ class HTTPNoAuth:
11344
11492
  )
11345
11493
 
11346
11494
 
11495
+ class Healthcheck:
11496
+ '''
11497
+ Healthcheck defines the status of the link between a node and a resource
11498
+ '''
11499
+ __slots__ = [
11500
+ 'error_msg',
11501
+ 'healthy',
11502
+ 'id',
11503
+ 'node_id',
11504
+ 'node_name',
11505
+ 'resource_id',
11506
+ 'resource_name',
11507
+ 'timestamp',
11508
+ ]
11509
+
11510
+ def __init__(
11511
+ self,
11512
+ error_msg=None,
11513
+ healthy=None,
11514
+ id=None,
11515
+ node_id=None,
11516
+ node_name=None,
11517
+ resource_id=None,
11518
+ resource_name=None,
11519
+ timestamp=None,
11520
+ ):
11521
+ self.error_msg = error_msg if error_msg is not None else ''
11522
+ '''
11523
+ The error if unhealthy
11524
+ '''
11525
+ self.healthy = healthy if healthy is not None else False
11526
+ '''
11527
+ Whether the healthcheck succeeded.
11528
+ '''
11529
+ self.id = id if id is not None else ''
11530
+ '''
11531
+ Unique identifier of the healthcheck.
11532
+ '''
11533
+ self.node_id = node_id if node_id is not None else ''
11534
+ '''
11535
+ Unique identifier of the healthcheck node.
11536
+ '''
11537
+ self.node_name = node_name if node_name is not None else ''
11538
+ '''
11539
+ The name of the node.
11540
+ '''
11541
+ self.resource_id = resource_id if resource_id is not None else ''
11542
+ '''
11543
+ Unique identifier of the healthcheck resource.
11544
+ '''
11545
+ self.resource_name = resource_name if resource_name is not None else ''
11546
+ '''
11547
+ The name of the resource.
11548
+ '''
11549
+ self.timestamp = timestamp if timestamp is not None else None
11550
+ '''
11551
+ The time at which the healthcheck state was recorded.
11552
+ '''
11553
+
11554
+ def __repr__(self):
11555
+ return '<sdm.Healthcheck ' + \
11556
+ 'error_msg: ' + repr(self.error_msg) + ' ' +\
11557
+ 'healthy: ' + repr(self.healthy) + ' ' +\
11558
+ 'id: ' + repr(self.id) + ' ' +\
11559
+ 'node_id: ' + repr(self.node_id) + ' ' +\
11560
+ 'node_name: ' + repr(self.node_name) + ' ' +\
11561
+ 'resource_id: ' + repr(self.resource_id) + ' ' +\
11562
+ 'resource_name: ' + repr(self.resource_name) + ' ' +\
11563
+ 'timestamp: ' + repr(self.timestamp) + ' ' +\
11564
+ '>'
11565
+
11566
+ def to_dict(self):
11567
+ return {
11568
+ 'error_msg': self.error_msg,
11569
+ 'healthy': self.healthy,
11570
+ 'id': self.id,
11571
+ 'node_id': self.node_id,
11572
+ 'node_name': self.node_name,
11573
+ 'resource_id': self.resource_id,
11574
+ 'resource_name': self.resource_name,
11575
+ 'timestamp': self.timestamp,
11576
+ }
11577
+
11578
+ @classmethod
11579
+ def from_dict(cls, d):
11580
+ return cls(
11581
+ error_msg=d.get('error_msg'),
11582
+ healthy=d.get('healthy'),
11583
+ id=d.get('id'),
11584
+ node_id=d.get('node_id'),
11585
+ node_name=d.get('node_name'),
11586
+ resource_id=d.get('resource_id'),
11587
+ resource_name=d.get('resource_name'),
11588
+ timestamp=d.get('timestamp'),
11589
+ )
11590
+
11591
+
11592
+ class HealthcheckListResponse:
11593
+ '''
11594
+ HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
11595
+ HealthcheckListRequest.
11596
+ '''
11597
+ __slots__ = [
11598
+ 'rate_limit',
11599
+ ]
11600
+
11601
+ def __init__(
11602
+ self,
11603
+ rate_limit=None,
11604
+ ):
11605
+ self.rate_limit = rate_limit if rate_limit is not None else None
11606
+ '''
11607
+ Rate limit information.
11608
+ '''
11609
+
11610
+ def __repr__(self):
11611
+ return '<sdm.HealthcheckListResponse ' + \
11612
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
11613
+ '>'
11614
+
11615
+ def to_dict(self):
11616
+ return {
11617
+ 'rate_limit': self.rate_limit,
11618
+ }
11619
+
11620
+ @classmethod
11621
+ def from_dict(cls, d):
11622
+ return cls(rate_limit=d.get('rate_limit'), )
11623
+
11624
+
11347
11625
  class IdentityAlias:
11348
11626
  '''
11349
11627
  IdentityAliases define the username to be used for a specific account
@@ -48,6 +48,7 @@ from .approval_workflows_pb2 import *
48
48
  from .approval_workflows_history_pb2 import *
49
49
  from .control_panel_pb2 import *
50
50
  from .drivers_pb2 import *
51
+ from .health_checks_pb2 import *
51
52
  from .identity_aliases_pb2 import *
52
53
  from .identity_aliases_history_pb2 import *
53
54
  from .identity_sets_pb2 import *
@@ -696,6 +697,62 @@ def convert_repeated_aws_console_static_key_pair_to_porcelain(plumbings):
696
697
  ]
697
698
 
698
699
 
700
+ def convert_aws_instance_profile_to_porcelain(plumbing):
701
+ if plumbing is None:
702
+ return None
703
+ porcelain = models.AWSInstanceProfile()
704
+ porcelain.bind_interface = (plumbing.bind_interface)
705
+ porcelain.egress_filter = (plumbing.egress_filter)
706
+ porcelain.enable_env_variables = (plumbing.enable_env_variables)
707
+ porcelain.healthy = (plumbing.healthy)
708
+ porcelain.id = (plumbing.id)
709
+ porcelain.name = (plumbing.name)
710
+ porcelain.port_override = (plumbing.port_override)
711
+ porcelain.proxy_cluster_id = (plumbing.proxy_cluster_id)
712
+ porcelain.region = (plumbing.region)
713
+ porcelain.role_arn = (plumbing.role_arn)
714
+ porcelain.role_external_id = (plumbing.role_external_id)
715
+ porcelain.secret_store_id = (plumbing.secret_store_id)
716
+ porcelain.subdomain = (plumbing.subdomain)
717
+ porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
718
+ return porcelain
719
+
720
+
721
+ def convert_aws_instance_profile_to_plumbing(porcelain):
722
+ plumbing = AWSInstanceProfile()
723
+ if porcelain is None:
724
+ return plumbing
725
+ plumbing.bind_interface = (porcelain.bind_interface)
726
+ plumbing.egress_filter = (porcelain.egress_filter)
727
+ plumbing.enable_env_variables = (porcelain.enable_env_variables)
728
+ plumbing.healthy = (porcelain.healthy)
729
+ plumbing.id = (porcelain.id)
730
+ plumbing.name = (porcelain.name)
731
+ plumbing.port_override = (porcelain.port_override)
732
+ plumbing.proxy_cluster_id = (porcelain.proxy_cluster_id)
733
+ plumbing.region = (porcelain.region)
734
+ plumbing.role_arn = (porcelain.role_arn)
735
+ plumbing.role_external_id = (porcelain.role_external_id)
736
+ plumbing.secret_store_id = (porcelain.secret_store_id)
737
+ plumbing.subdomain = (porcelain.subdomain)
738
+ plumbing.tags.CopyFrom(convert_tags_to_plumbing(porcelain.tags))
739
+ return plumbing
740
+
741
+
742
+ def convert_repeated_aws_instance_profile_to_plumbing(porcelains):
743
+ return [
744
+ convert_aws_instance_profile_to_plumbing(porcelain)
745
+ for porcelain in porcelains
746
+ ]
747
+
748
+
749
+ def convert_repeated_aws_instance_profile_to_porcelain(plumbings):
750
+ return [
751
+ convert_aws_instance_profile_to_porcelain(plumbing)
752
+ for plumbing in plumbings
753
+ ]
754
+
755
+
699
756
  def convert_aws_store_to_porcelain(plumbing):
700
757
  if plumbing is None:
701
758
  return None
@@ -5321,6 +5378,81 @@ def convert_repeated_http_no_auth_to_porcelain(plumbings):
5321
5378
  ]
5322
5379
 
5323
5380
 
5381
+ def convert_healthcheck_to_porcelain(plumbing):
5382
+ if plumbing is None:
5383
+ return None
5384
+ porcelain = models.Healthcheck()
5385
+ porcelain.error_msg = (plumbing.error_msg)
5386
+ porcelain.healthy = (plumbing.healthy)
5387
+ porcelain.id = (plumbing.id)
5388
+ porcelain.node_id = (plumbing.node_id)
5389
+ porcelain.node_name = (plumbing.node_name)
5390
+ porcelain.resource_id = (plumbing.resource_id)
5391
+ porcelain.resource_name = (plumbing.resource_name)
5392
+ porcelain.timestamp = convert_timestamp_to_porcelain(plumbing.timestamp)
5393
+ return porcelain
5394
+
5395
+
5396
+ def convert_healthcheck_to_plumbing(porcelain):
5397
+ plumbing = Healthcheck()
5398
+ if porcelain is None:
5399
+ return plumbing
5400
+ plumbing.error_msg = (porcelain.error_msg)
5401
+ plumbing.healthy = (porcelain.healthy)
5402
+ plumbing.id = (porcelain.id)
5403
+ plumbing.node_id = (porcelain.node_id)
5404
+ plumbing.node_name = (porcelain.node_name)
5405
+ plumbing.resource_id = (porcelain.resource_id)
5406
+ plumbing.resource_name = (porcelain.resource_name)
5407
+ plumbing.timestamp.CopyFrom(
5408
+ convert_timestamp_to_plumbing(porcelain.timestamp))
5409
+ return plumbing
5410
+
5411
+
5412
+ def convert_repeated_healthcheck_to_plumbing(porcelains):
5413
+ return [
5414
+ convert_healthcheck_to_plumbing(porcelain) for porcelain in porcelains
5415
+ ]
5416
+
5417
+
5418
+ def convert_repeated_healthcheck_to_porcelain(plumbings):
5419
+ return [
5420
+ convert_healthcheck_to_porcelain(plumbing) for plumbing in plumbings
5421
+ ]
5422
+
5423
+
5424
+ def convert_healthcheck_list_response_to_porcelain(plumbing):
5425
+ if plumbing is None:
5426
+ return None
5427
+ porcelain = models.HealthcheckListResponse()
5428
+ porcelain.rate_limit = convert_rate_limit_metadata_to_porcelain(
5429
+ plumbing.rate_limit)
5430
+ return porcelain
5431
+
5432
+
5433
+ def convert_healthcheck_list_response_to_plumbing(porcelain):
5434
+ plumbing = HealthcheckListResponse()
5435
+ if porcelain is None:
5436
+ return plumbing
5437
+ plumbing.rate_limit.CopyFrom(
5438
+ convert_rate_limit_metadata_to_plumbing(porcelain.rate_limit))
5439
+ return plumbing
5440
+
5441
+
5442
+ def convert_repeated_healthcheck_list_response_to_plumbing(porcelains):
5443
+ return [
5444
+ convert_healthcheck_list_response_to_plumbing(porcelain)
5445
+ for porcelain in porcelains
5446
+ ]
5447
+
5448
+
5449
+ def convert_repeated_healthcheck_list_response_to_porcelain(plumbings):
5450
+ return [
5451
+ convert_healthcheck_list_response_to_porcelain(plumbing)
5452
+ for plumbing in plumbings
5453
+ ]
5454
+
5455
+
5324
5456
  def convert_identity_alias_to_porcelain(plumbing):
5325
5457
  if plumbing is None:
5326
5458
  return None
@@ -9692,6 +9824,9 @@ def convert_resource_to_plumbing(porcelain):
9692
9824
  if isinstance(porcelain, models.AWSConsoleStaticKeyPair):
9693
9825
  plumbing.aws_console_static_key_pair.CopyFrom(
9694
9826
  convert_aws_console_static_key_pair_to_plumbing(porcelain))
9827
+ if isinstance(porcelain, models.AWSInstanceProfile):
9828
+ plumbing.aws_instance_profile.CopyFrom(
9829
+ convert_aws_instance_profile_to_plumbing(porcelain))
9695
9830
  if isinstance(porcelain, models.Azure):
9696
9831
  plumbing.azure.CopyFrom(convert_azure_to_plumbing(porcelain))
9697
9832
  if isinstance(porcelain, models.AzureCertificate):
@@ -9911,6 +10046,9 @@ def convert_resource_to_porcelain(plumbing):
9911
10046
  if plumbing.HasField('aws_console_static_key_pair'):
9912
10047
  return convert_aws_console_static_key_pair_to_porcelain(
9913
10048
  plumbing.aws_console_static_key_pair)
10049
+ if plumbing.HasField('aws_instance_profile'):
10050
+ return convert_aws_instance_profile_to_porcelain(
10051
+ plumbing.aws_instance_profile)
9914
10052
  if plumbing.HasField('azure'):
9915
10053
  return convert_azure_to_porcelain(plumbing.azure)
9916
10054
  if plumbing.HasField('azure_certificate'):