strongdm 15.2.0__zip → 15.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 (147) hide show
  1. {strongdm-15.2.0 → strongdm-15.5.0}/PKG-INFO +2 -2
  2. {strongdm-15.2.0 → strongdm-15.5.0}/setup.py +2 -2
  3. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/approval_workflow_approvers_pb2.py +6 -4
  4. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/approval_workflows_pb2.py +6 -4
  5. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/client.py +18 -18
  6. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/drivers_pb2.py +313 -223
  7. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/managed_secrets_pb2.py +4 -2
  8. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/managed_secrets_pb2_grpc.py +34 -0
  9. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/models.py +357 -0
  10. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/plumbing.py +125 -1
  11. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/svc.py +243 -210
  12. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm.egg-info/PKG-INFO +2 -2
  13. {strongdm-15.2.0 → strongdm-15.5.0}/LICENSE +0 -0
  14. {strongdm-15.2.0 → strongdm-15.5.0}/README.md +0 -0
  15. {strongdm-15.2.0 → strongdm-15.5.0}/setup.cfg +0 -0
  16. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/__init__.py +0 -0
  17. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/access_request_events_history_pb2.py +0 -0
  18. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/access_request_events_history_pb2_grpc.py +0 -0
  19. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/access_requests_history_pb2.py +0 -0
  20. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/access_requests_history_pb2_grpc.py +0 -0
  21. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/access_requests_pb2.py +0 -0
  22. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/access_requests_pb2_grpc.py +0 -0
  23. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/account_attachments_history_pb2.py +0 -0
  24. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/account_attachments_history_pb2_grpc.py +0 -0
  25. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/account_attachments_pb2.py +0 -0
  26. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/account_attachments_pb2_grpc.py +0 -0
  27. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/account_grants_history_pb2.py +0 -0
  28. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/account_grants_history_pb2_grpc.py +0 -0
  29. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/account_grants_pb2.py +0 -0
  30. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/account_grants_pb2_grpc.py +0 -0
  31. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/account_permissions_pb2.py +0 -0
  32. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/account_permissions_pb2_grpc.py +0 -0
  33. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/account_resources_history_pb2.py +0 -0
  34. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/account_resources_history_pb2_grpc.py +0 -0
  35. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/account_resources_pb2.py +0 -0
  36. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/account_resources_pb2_grpc.py +0 -0
  37. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/accounts_history_pb2.py +0 -0
  38. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/accounts_history_pb2_grpc.py +0 -0
  39. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/accounts_pb2.py +0 -0
  40. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/accounts_pb2_grpc.py +0 -0
  41. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/activities_pb2.py +0 -0
  42. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/activities_pb2_grpc.py +0 -0
  43. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/approval_workflow_approvers_history_pb2.py +0 -0
  44. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/approval_workflow_approvers_history_pb2_grpc.py +0 -0
  45. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/approval_workflow_approvers_pb2_grpc.py +0 -0
  46. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/approval_workflow_steps_history_pb2.py +0 -0
  47. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/approval_workflow_steps_history_pb2_grpc.py +0 -0
  48. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/approval_workflow_steps_pb2.py +0 -0
  49. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/approval_workflow_steps_pb2_grpc.py +0 -0
  50. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/approval_workflows_history_pb2.py +0 -0
  51. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/approval_workflows_history_pb2_grpc.py +0 -0
  52. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/approval_workflows_pb2_grpc.py +0 -0
  53. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/constants.py +0 -0
  54. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/control_panel_pb2.py +0 -0
  55. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/control_panel_pb2_grpc.py +0 -0
  56. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/drivers_pb2_grpc.py +0 -0
  57. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/errors.py +0 -0
  58. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/health_checks_pb2.py +0 -0
  59. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/health_checks_pb2_grpc.py +0 -0
  60. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/identity_aliases_history_pb2.py +0 -0
  61. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/identity_aliases_history_pb2_grpc.py +0 -0
  62. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/identity_aliases_pb2.py +0 -0
  63. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/identity_aliases_pb2_grpc.py +0 -0
  64. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/identity_sets_history_pb2.py +0 -0
  65. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/identity_sets_history_pb2_grpc.py +0 -0
  66. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/identity_sets_pb2.py +0 -0
  67. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/identity_sets_pb2_grpc.py +0 -0
  68. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/nodes_history_pb2.py +0 -0
  69. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/nodes_history_pb2_grpc.py +0 -0
  70. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/nodes_pb2.py +0 -0
  71. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/nodes_pb2_grpc.py +0 -0
  72. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/options_pb2.py +0 -0
  73. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/options_pb2_grpc.py +0 -0
  74. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/organization_history_pb2.py +0 -0
  75. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/organization_history_pb2_grpc.py +0 -0
  76. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/peering_group_nodes_pb2.py +0 -0
  77. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/peering_group_nodes_pb2_grpc.py +0 -0
  78. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/peering_group_peers_pb2.py +0 -0
  79. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/peering_group_peers_pb2_grpc.py +0 -0
  80. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/peering_group_resources_pb2.py +0 -0
  81. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/peering_group_resources_pb2_grpc.py +0 -0
  82. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/peering_groups_pb2.py +0 -0
  83. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/peering_groups_pb2_grpc.py +0 -0
  84. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/policies_history_pb2.py +0 -0
  85. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/policies_history_pb2_grpc.py +0 -0
  86. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/policies_pb2.py +0 -0
  87. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/policies_pb2_grpc.py +0 -0
  88. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/proxy_cluster_keys_pb2.py +0 -0
  89. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/proxy_cluster_keys_pb2_grpc.py +0 -0
  90. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/queries_pb2.py +0 -0
  91. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/queries_pb2_grpc.py +0 -0
  92. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/remote_identities_history_pb2.py +0 -0
  93. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/remote_identities_history_pb2_grpc.py +0 -0
  94. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/remote_identities_pb2.py +0 -0
  95. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/remote_identities_pb2_grpc.py +0 -0
  96. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/remote_identity_groups_history_pb2.py +0 -0
  97. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/remote_identity_groups_history_pb2_grpc.py +0 -0
  98. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/remote_identity_groups_pb2.py +0 -0
  99. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/remote_identity_groups_pb2_grpc.py +0 -0
  100. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/replays_pb2.py +0 -0
  101. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/replays_pb2_grpc.py +0 -0
  102. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/resources_history_pb2.py +0 -0
  103. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/resources_history_pb2_grpc.py +0 -0
  104. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/resources_pb2.py +0 -0
  105. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/resources_pb2_grpc.py +0 -0
  106. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/role_resources_history_pb2.py +0 -0
  107. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/role_resources_history_pb2_grpc.py +0 -0
  108. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/role_resources_pb2.py +0 -0
  109. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/role_resources_pb2_grpc.py +0 -0
  110. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/roles_history_pb2.py +0 -0
  111. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/roles_history_pb2_grpc.py +0 -0
  112. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/roles_pb2.py +0 -0
  113. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/roles_pb2_grpc.py +0 -0
  114. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/secret_engine_policy_pb2.py +0 -0
  115. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/secret_engine_policy_pb2_grpc.py +0 -0
  116. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/secret_engine_types_pb2.py +0 -0
  117. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/secret_engine_types_pb2_grpc.py +0 -0
  118. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/secret_engines_pb2.py +0 -0
  119. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/secret_engines_pb2_grpc.py +0 -0
  120. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/secret_store_healths_pb2.py +0 -0
  121. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/secret_store_healths_pb2_grpc.py +0 -0
  122. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/secret_store_types_pb2.py +0 -0
  123. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/secret_store_types_pb2_grpc.py +0 -0
  124. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/secret_stores_history_pb2.py +0 -0
  125. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/secret_stores_history_pb2_grpc.py +0 -0
  126. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/secret_stores_pb2.py +0 -0
  127. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/secret_stores_pb2_grpc.py +0 -0
  128. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/spec_pb2.py +0 -0
  129. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/spec_pb2_grpc.py +0 -0
  130. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/tags_pb2.py +0 -0
  131. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/tags_pb2_grpc.py +0 -0
  132. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/workflow_approvers_history_pb2.py +0 -0
  133. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/workflow_approvers_history_pb2_grpc.py +0 -0
  134. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/workflow_approvers_pb2.py +0 -0
  135. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/workflow_approvers_pb2_grpc.py +0 -0
  136. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/workflow_roles_history_pb2.py +0 -0
  137. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/workflow_roles_history_pb2_grpc.py +0 -0
  138. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/workflow_roles_pb2.py +0 -0
  139. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/workflow_roles_pb2_grpc.py +0 -0
  140. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/workflows_history_pb2.py +0 -0
  141. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/workflows_history_pb2_grpc.py +0 -0
  142. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/workflows_pb2.py +0 -0
  143. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm/workflows_pb2_grpc.py +0 -0
  144. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm.egg-info/SOURCES.txt +0 -0
  145. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm.egg-info/dependency_links.txt +0 -0
  146. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm.egg-info/requires.txt +0 -0
  147. {strongdm-15.2.0 → strongdm-15.5.0}/strongdm.egg-info/top_level.txt +0 -0
@@ -32,7 +32,7 @@ from . import tags_pb2 as tags__pb2
32
32
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
33
33
 
34
34
 
35
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15managed_secrets.proto\x12\x02v1\x1a\roptions.proto\x1a\nspec.proto\x1a\ntags.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"i\n\x18ManagedSecretLogsRequest\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:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xe7\x01\n\x19ManagedSecretLogsResponse\x12&\n\x04meta\x18\x01 \x01(\x0b\x32\x18.v1.ListResponseMetadata\x12=\n\x13managed_secret_logs\x18\x02 \x03(\x0b\x32\x14.v1.ManagedSecretLogB\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:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"i\n\x18ManagedSecretListRequest\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:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xbe\x01\n\x19ManagedSecretListResponse\x12&\n\x04meta\x18\x01 \x01(\x0b\x32\x18.v1.ListResponseMetadata\x12\x36\n\x0fmanaged_secrets\x18\x02 \x03(\x0b\x32\x11.v1.ManagedSecretB\n\xf2\xf8\xb3\x07\x05\xb8\xf3\xb3\x07\x01\x12\x35\n\nrate_limit\x18\x03 \x01(\x0b\x32\x15.v1.RateLimitMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\x88\x01\n\x1cManagedSecretRetrieveRequest\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\x12\x1e\n\npublic_key\x18\x03 \x01(\x0c\x42\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xee\x01\n\x1dManagedSecretRetrieveResponse\x12\x31\n\x04meta\x18\x01 \x01(\x0b\x32\x17.v1.GetResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x35\n\x0emanaged_secret\x18\x02 \x01(\x0b\x32\x11.v1.ManagedSecretB\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\"h\n\x1cManagedSecretValidateRequest\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:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xf4\x01\n\x1dManagedSecretValidateResponse\x12\x31\n\x04meta\x18\x01 \x01(\x0b\x32\x17.v1.GetResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x19\n\x05valid\x18\x02 \x01(\x08\x42\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\x12 \n\x0cinvalid_info\x18\x04 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"c\n\x17ManagedSecretGetRequest\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:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xe9\x01\n\x18ManagedSecretGetResponse\x12\x31\n\x04meta\x18\x01 \x01(\x0b\x32\x17.v1.GetResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x35\n\x0emanaged_secret\x18\x02 \x01(\x0b\x32\x11.v1.ManagedSecretB\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\"\x88\x01\n\x1aManagedSecretCreateRequest\x12\'\n\x04meta\x18\x01 \x01(\x0b\x32\x19.v1.CreateRequestMetadata\x12\x35\n\x0emanaged_secret\x18\x02 \x01(\x0b\x32\x11.v1.ManagedSecretB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xef\x01\n\x1bManagedSecretCreateResponse\x12\x34\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.CreateResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x35\n\x0emanaged_secret\x18\x02 \x01(\x0b\x32\x11.v1.ManagedSecretB\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\"\x94\x01\n\x1aManagedSecretUpdateRequest\x12\'\n\x04meta\x18\x01 \x01(\x0b\x32\x19.v1.UpdateRequestMetadata\x12\n\n\x02id\x18\x02 \x01(\t\x12\x35\n\x0emanaged_secret\x18\x03 \x01(\x0b\x32\x11.v1.ManagedSecretB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xef\x01\n\x1bManagedSecretUpdateResponse\x12\x34\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.UpdateResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x35\n\x0emanaged_secret\x18\x02 \x01(\x0b\x32\x11.v1.ManagedSecretB\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\"j\n\x1aManagedSecretRotateRequest\x12(\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.GenericRequestMetadata\x12\x16\n\x02id\x18\x02 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xb9\x01\n\x1bManagedSecretRotateResponse\x12\x35\n\x04meta\x18\x01 \x01(\x0b\x32\x1b.v1.GenericResponseMetadataB\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\"i\n\x1aManagedSecretDeleteRequest\x12\'\n\x04meta\x18\x01 \x01(\x0b\x32\x19.v1.UpdateRequestMetadata\x12\x16\n\x02id\x18\x02 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xac\x01\n\x1bManagedSecretDeleteResponse\x12(\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.DeleteResponseMetadata\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\"\xaf\x02\n\x10ManagedSecretLog\x12\x16\n\x02id\x18\x01 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12:\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12)\n\x10secret_engine_id\x18\x03 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12*\n\x11managed_secret_id\x18\x04 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12#\n\naccount_id\x18\x05 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12\x1f\n\x06\x61\x63tion\x18\x06 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12\x1e\n\x05\x64\x65\x62ug\x18\x07 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xcf\x03\n\rManagedSecret\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\xc0\xf3\xb3\x07\x01\x12)\n\x10secret_engine_id\x18\x03 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12\x1e\n\x05value\x18\x04 \x01(\x0c\x42\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xf0\xf3\xb3\x07\x01\x12*\n\x11secret_store_path\x18\x05 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12\x38\n\x06policy\x18\x06 \x01(\x0b\x32\x17.v1.ManagedSecretPolicyB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12\"\n\x04tags\x18\x07 \x01(\x0b\x32\x08.v1.TagsB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x44\n\x0flast_rotated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12?\n\nexpires_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12\x1f\n\x06\x63onfig\x18\n \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xad\x01\n\x13ManagedSecretPolicy\x12\x44\n\x0frotation_policy\x18\x01 \x01(\x0b\x32\x1f.v1.ManagedSecretRotationPolicyB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x44\n\x0fpassword_policy\x18\x02 \x01(\x0b\x32\x1f.v1.ManagedSecretPasswordPolicyB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xf8\x01\n\x1bManagedSecretPasswordPolicy\x12\x1a\n\x06length\x18\x01 \x01(\rB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12&\n\x12\x65xclude_upper_case\x18\x02 \x01(\x08\x42\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1e\n\nnum_digits\x18\x03 \x01(\rB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1f\n\x0bnum_symbols\x18\x04 \x01(\rB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12 \n\x0c\x61llow_repeat\x18\x05 \x01(\x08\x42\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12&\n\x12\x65xclude_characters\x18\x06 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\")\n\x1bManagedSecretRotationPolicy:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\x32\xc1\n\n\x0eManagedSecrets\x12o\n\x04List\x12\x1c.v1.ManagedSecretListRequest\x1a\x1d.v1.ManagedSecretListResponse\"*\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x18\xaa\xf3\xb3\x07\x13/v1/managed-secrets\x12|\n\x0bListByActor\x12\x1c.v1.ManagedSecretListRequest\x1a\x1d.v1.ManagedSecretListResponse\"0\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x1e\xaa\xf3\xb3\x07\x19/v1/managed-secrets/actor\x12v\n\x06\x43reate\x12\x1e.v1.ManagedSecretCreateRequest\x1a\x1f.v1.ManagedSecretCreateResponse\"+\x82\xf9\xb3\x07\t\xa2\xf3\xb3\x07\x04post\x82\xf9\xb3\x07\x18\xaa\xf3\xb3\x07\x13/v1/managed-secrets\x12z\n\x06Update\x12\x1e.v1.ManagedSecretUpdateRequest\x1a\x1f.v1.ManagedSecretUpdateResponse\"/\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03put\x82\xf9\xb3\x07\x1d\xaa\xf3\xb3\x07\x18/v1/managed-secrets/{id}\x12\x81\x01\n\x06Rotate\x12\x1e.v1.ManagedSecretRotateRequest\x1a\x1f.v1.ManagedSecretRotateResponse\"6\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03put\x82\xf9\xb3\x07$\xaa\xf3\xb3\x07\x1f/v1/managed-secrets/{id}/rotate\x12}\n\x06\x44\x65lete\x12\x1e.v1.ManagedSecretDeleteRequest\x1a\x1f.v1.ManagedSecretDeleteResponse\"2\x82\xf9\xb3\x07\x0b\xa2\xf3\xb3\x07\x06\x64\x65lete\x82\xf9\xb3\x07\x1d\xaa\xf3\xb3\x07\x18/v1/managed-secrets/{id}\x12q\n\x03Get\x12\x1b.v1.ManagedSecretGetRequest\x1a\x1c.v1.ManagedSecretGetResponse\"/\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x1d\xaa\xf3\xb3\x07\x18/v1/managed-secrets/{id}\x12\x8a\x01\n\x08Retrieve\x12 .v1.ManagedSecretRetrieveRequest\x1a!.v1.ManagedSecretRetrieveResponse\"9\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\'\xaa\xf3\xb3\x07\"/v1/managed-secrets/{id}/sensitive\x12\x89\x01\n\x08Validate\x12 .v1.ManagedSecretValidateRequest\x1a!.v1.ManagedSecretValidateResponse\"8\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07&\xaa\xf3\xb3\x07!/v1/managed-secrets/{id}/validate\x12t\n\x04Logs\x12\x1c.v1.ManagedSecretLogsRequest\x1a\x1d.v1.ManagedSecretLogsResponse\"/\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x1d\xaa\xf3\xb3\x07\x18/v1/managed-secrets-logs\x1aG\xca\xf9\xb3\x07\x12\xc2\xf9\xb3\x07\rManagedSecret\xca\xf9\xb3\x07\x08\xd2\xf9\xb3\x07\x03ms-\xca\xf9\xb3\x07\x05\xd8\xf9\xb3\x07\x01\xca\xf9\xb3\x07\x06\xca\xf9\xb3\x07\x01*\xca\xf9\xb3\x07\t\xca\xf9\xb3\x07\x04!cliBj\n\x19\x63om.strongdm.api.plumbingB\x16ManagedSecretsPlumbingZ5github.com/strongdm/strongdm-sdk-go/v3/internal/v1;v1b\x06proto3')
35
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15managed_secrets.proto\x12\x02v1\x1a\roptions.proto\x1a\nspec.proto\x1a\ntags.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"i\n\x18ManagedSecretLogsRequest\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:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xe7\x01\n\x19ManagedSecretLogsResponse\x12&\n\x04meta\x18\x01 \x01(\x0b\x32\x18.v1.ListResponseMetadata\x12=\n\x13managed_secret_logs\x18\x02 \x03(\x0b\x32\x14.v1.ManagedSecretLogB\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:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"i\n\x18ManagedSecretListRequest\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:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xbe\x01\n\x19ManagedSecretListResponse\x12&\n\x04meta\x18\x01 \x01(\x0b\x32\x18.v1.ListResponseMetadata\x12\x36\n\x0fmanaged_secrets\x18\x02 \x03(\x0b\x32\x11.v1.ManagedSecretB\n\xf2\xf8\xb3\x07\x05\xb8\xf3\xb3\x07\x01\x12\x35\n\nrate_limit\x18\x03 \x01(\x0b\x32\x15.v1.RateLimitMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\x88\x01\n\x1cManagedSecretRetrieveRequest\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\x12\x1e\n\npublic_key\x18\x03 \x01(\x0c\x42\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xee\x01\n\x1dManagedSecretRetrieveResponse\x12\x31\n\x04meta\x18\x01 \x01(\x0b\x32\x17.v1.GetResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x35\n\x0emanaged_secret\x18\x02 \x01(\x0b\x32\x11.v1.ManagedSecretB\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\"h\n\x1cManagedSecretValidateRequest\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:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xf4\x01\n\x1dManagedSecretValidateResponse\x12\x31\n\x04meta\x18\x01 \x01(\x0b\x32\x17.v1.GetResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x19\n\x05valid\x18\x02 \x01(\x08\x42\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\x12 \n\x0cinvalid_info\x18\x04 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"c\n\x17ManagedSecretGetRequest\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:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xe9\x01\n\x18ManagedSecretGetResponse\x12\x31\n\x04meta\x18\x01 \x01(\x0b\x32\x17.v1.GetResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x35\n\x0emanaged_secret\x18\x02 \x01(\x0b\x32\x11.v1.ManagedSecretB\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\"\x88\x01\n\x1aManagedSecretCreateRequest\x12\'\n\x04meta\x18\x01 \x01(\x0b\x32\x19.v1.CreateRequestMetadata\x12\x35\n\x0emanaged_secret\x18\x02 \x01(\x0b\x32\x11.v1.ManagedSecretB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xef\x01\n\x1bManagedSecretCreateResponse\x12\x34\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.CreateResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x35\n\x0emanaged_secret\x18\x02 \x01(\x0b\x32\x11.v1.ManagedSecretB\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\"\x94\x01\n\x1aManagedSecretUpdateRequest\x12\'\n\x04meta\x18\x01 \x01(\x0b\x32\x19.v1.UpdateRequestMetadata\x12\n\n\x02id\x18\x02 \x01(\t\x12\x35\n\x0emanaged_secret\x18\x03 \x01(\x0b\x32\x11.v1.ManagedSecretB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xef\x01\n\x1bManagedSecretUpdateResponse\x12\x34\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.UpdateResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x35\n\x0emanaged_secret\x18\x02 \x01(\x0b\x32\x11.v1.ManagedSecretB\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\"j\n\x1aManagedSecretRotateRequest\x12(\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.GenericRequestMetadata\x12\x16\n\x02id\x18\x02 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xb9\x01\n\x1bManagedSecretRotateResponse\x12\x35\n\x04meta\x18\x01 \x01(\x0b\x32\x1b.v1.GenericResponseMetadataB\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\"i\n\x1aManagedSecretDeleteRequest\x12\'\n\x04meta\x18\x01 \x01(\x0b\x32\x19.v1.UpdateRequestMetadata\x12\x16\n\x02id\x18\x02 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xac\x01\n\x1bManagedSecretDeleteResponse\x12(\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.DeleteResponseMetadata\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\"\xaf\x02\n\x10ManagedSecretLog\x12\x16\n\x02id\x18\x01 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12:\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12)\n\x10secret_engine_id\x18\x03 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12*\n\x11managed_secret_id\x18\x04 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12#\n\naccount_id\x18\x05 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12\x1f\n\x06\x61\x63tion\x18\x06 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12\x1e\n\x05\x64\x65\x62ug\x18\x07 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xcf\x03\n\rManagedSecret\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\xc0\xf3\xb3\x07\x01\x12)\n\x10secret_engine_id\x18\x03 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12\x1e\n\x05value\x18\x04 \x01(\x0c\x42\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xf0\xf3\xb3\x07\x01\x12*\n\x11secret_store_path\x18\x05 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12\x38\n\x06policy\x18\x06 \x01(\x0b\x32\x17.v1.ManagedSecretPolicyB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12\"\n\x04tags\x18\x07 \x01(\x0b\x32\x08.v1.TagsB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x44\n\x0flast_rotated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12?\n\nexpires_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12\x1f\n\x06\x63onfig\x18\n \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xad\x01\n\x13ManagedSecretPolicy\x12\x44\n\x0frotation_policy\x18\x01 \x01(\x0b\x32\x1f.v1.ManagedSecretRotationPolicyB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x44\n\x0fpassword_policy\x18\x02 \x01(\x0b\x32\x1f.v1.ManagedSecretPasswordPolicyB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\xf8\x01\n\x1bManagedSecretPasswordPolicy\x12\x1a\n\x06length\x18\x01 \x01(\rB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12&\n\x12\x65xclude_upper_case\x18\x02 \x01(\x08\x42\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1e\n\nnum_digits\x18\x03 \x01(\rB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1f\n\x0bnum_symbols\x18\x04 \x01(\rB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12 \n\x0c\x61llow_repeat\x18\x05 \x01(\x08\x42\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12&\n\x12\x65xclude_characters\x18\x06 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\")\n\x1bManagedSecretRotationPolicy:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\x32\xcc\x0b\n\x0eManagedSecrets\x12o\n\x04List\x12\x1c.v1.ManagedSecretListRequest\x1a\x1d.v1.ManagedSecretListResponse\"*\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x18\xaa\xf3\xb3\x07\x13/v1/managed-secrets\x12|\n\x0bListByActor\x12\x1c.v1.ManagedSecretListRequest\x1a\x1d.v1.ManagedSecretListResponse\"0\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x1e\xaa\xf3\xb3\x07\x19/v1/managed-secrets/actor\x12v\n\x06\x43reate\x12\x1e.v1.ManagedSecretCreateRequest\x1a\x1f.v1.ManagedSecretCreateResponse\"+\x82\xf9\xb3\x07\t\xa2\xf3\xb3\x07\x04post\x82\xf9\xb3\x07\x18\xaa\xf3\xb3\x07\x13/v1/managed-secrets\x12z\n\x06Update\x12\x1e.v1.ManagedSecretUpdateRequest\x1a\x1f.v1.ManagedSecretUpdateResponse\"/\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03put\x82\xf9\xb3\x07\x1d\xaa\xf3\xb3\x07\x18/v1/managed-secrets/{id}\x12\x81\x01\n\x06Rotate\x12\x1e.v1.ManagedSecretRotateRequest\x1a\x1f.v1.ManagedSecretRotateResponse\"6\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03put\x82\xf9\xb3\x07$\xaa\xf3\xb3\x07\x1f/v1/managed-secrets/{id}/rotate\x12}\n\x06\x44\x65lete\x12\x1e.v1.ManagedSecretDeleteRequest\x1a\x1f.v1.ManagedSecretDeleteResponse\"2\x82\xf9\xb3\x07\x0b\xa2\xf3\xb3\x07\x06\x64\x65lete\x82\xf9\xb3\x07\x1d\xaa\xf3\xb3\x07\x18/v1/managed-secrets/{id}\x12\x88\x01\n\x0b\x46orceDelete\x12\x1e.v1.ManagedSecretDeleteRequest\x1a\x1f.v1.ManagedSecretDeleteResponse\"8\x82\xf9\xb3\x07\x0b\xa2\xf3\xb3\x07\x06\x64\x65lete\x82\xf9\xb3\x07#\xaa\xf3\xb3\x07\x1e/v1/managed-secrets/{id}/force\x12q\n\x03Get\x12\x1b.v1.ManagedSecretGetRequest\x1a\x1c.v1.ManagedSecretGetResponse\"/\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x1d\xaa\xf3\xb3\x07\x18/v1/managed-secrets/{id}\x12\x8a\x01\n\x08Retrieve\x12 .v1.ManagedSecretRetrieveRequest\x1a!.v1.ManagedSecretRetrieveResponse\"9\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\'\xaa\xf3\xb3\x07\"/v1/managed-secrets/{id}/sensitive\x12\x89\x01\n\x08Validate\x12 .v1.ManagedSecretValidateRequest\x1a!.v1.ManagedSecretValidateResponse\"8\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07&\xaa\xf3\xb3\x07!/v1/managed-secrets/{id}/validate\x12t\n\x04Logs\x12\x1c.v1.ManagedSecretLogsRequest\x1a\x1d.v1.ManagedSecretLogsResponse\"/\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x1d\xaa\xf3\xb3\x07\x18/v1/managed-secrets-logs\x1aG\xca\xf9\xb3\x07\x12\xc2\xf9\xb3\x07\rManagedSecret\xca\xf9\xb3\x07\x08\xd2\xf9\xb3\x07\x03ms-\xca\xf9\xb3\x07\x05\xd8\xf9\xb3\x07\x01\xca\xf9\xb3\x07\x06\xca\xf9\xb3\x07\x01*\xca\xf9\xb3\x07\t\xca\xf9\xb3\x07\x04!cliBj\n\x19\x63om.strongdm.api.plumbingB\x16ManagedSecretsPlumbingZ5github.com/strongdm/strongdm-sdk-go/v3/internal/v1;v1b\x06proto3')
36
36
 
37
37
 
38
38
 
@@ -401,6 +401,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
401
401
  _MANAGEDSECRETS.methods_by_name['Rotate']._serialized_options = b'\202\371\263\007\010\242\363\263\007\003put\202\371\263\007$\252\363\263\007\037/v1/managed-secrets/{id}/rotate'
402
402
  _MANAGEDSECRETS.methods_by_name['Delete']._options = None
403
403
  _MANAGEDSECRETS.methods_by_name['Delete']._serialized_options = b'\202\371\263\007\013\242\363\263\007\006delete\202\371\263\007\035\252\363\263\007\030/v1/managed-secrets/{id}'
404
+ _MANAGEDSECRETS.methods_by_name['ForceDelete']._options = None
405
+ _MANAGEDSECRETS.methods_by_name['ForceDelete']._serialized_options = b'\202\371\263\007\013\242\363\263\007\006delete\202\371\263\007#\252\363\263\007\036/v1/managed-secrets/{id}/force'
404
406
  _MANAGEDSECRETS.methods_by_name['Get']._options = None
405
407
  _MANAGEDSECRETS.methods_by_name['Get']._serialized_options = b'\202\371\263\007\010\242\363\263\007\003get\202\371\263\007\035\252\363\263\007\030/v1/managed-secrets/{id}'
406
408
  _MANAGEDSECRETS.methods_by_name['Retrieve']._options = None
@@ -456,5 +458,5 @@ if _descriptor._USE_C_DESCRIPTORS == False:
456
458
  _MANAGEDSECRETROTATIONPOLICY._serialized_start=4363
457
459
  _MANAGEDSECRETROTATIONPOLICY._serialized_end=4404
458
460
  _MANAGEDSECRETS._serialized_start=4407
459
- _MANAGEDSECRETS._serialized_end=5752
461
+ _MANAGEDSECRETS._serialized_end=5891
460
462
  # @@protoc_insertion_point(module_scope)
@@ -61,6 +61,11 @@ class ManagedSecretsStub(object):
61
61
  request_serializer=managed__secrets__pb2.ManagedSecretDeleteRequest.SerializeToString,
62
62
  response_deserializer=managed__secrets__pb2.ManagedSecretDeleteResponse.FromString,
63
63
  )
64
+ self.ForceDelete = channel.unary_unary(
65
+ '/v1.ManagedSecrets/ForceDelete',
66
+ request_serializer=managed__secrets__pb2.ManagedSecretDeleteRequest.SerializeToString,
67
+ response_deserializer=managed__secrets__pb2.ManagedSecretDeleteResponse.FromString,
68
+ )
64
69
  self.Get = channel.unary_unary(
65
70
  '/v1.ManagedSecrets/Get',
66
71
  request_serializer=managed__secrets__pb2.ManagedSecretGetRequest.SerializeToString,
@@ -131,6 +136,13 @@ class ManagedSecretsServicer(object):
131
136
  context.set_details('Method not implemented!')
132
137
  raise NotImplementedError('Method not implemented!')
133
138
 
139
+ def ForceDelete(self, request, context):
140
+ """ForceDelete deletes a Managed Secret regardless of errors on external system
141
+ """
142
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
143
+ context.set_details('Method not implemented!')
144
+ raise NotImplementedError('Method not implemented!')
145
+
134
146
  def Get(self, request, context):
135
147
  """Get gets details of a Managed Secret without sensitive data
136
148
  """
@@ -194,6 +206,11 @@ def add_ManagedSecretsServicer_to_server(servicer, server):
194
206
  request_deserializer=managed__secrets__pb2.ManagedSecretDeleteRequest.FromString,
195
207
  response_serializer=managed__secrets__pb2.ManagedSecretDeleteResponse.SerializeToString,
196
208
  ),
209
+ 'ForceDelete': grpc.unary_unary_rpc_method_handler(
210
+ servicer.ForceDelete,
211
+ request_deserializer=managed__secrets__pb2.ManagedSecretDeleteRequest.FromString,
212
+ response_serializer=managed__secrets__pb2.ManagedSecretDeleteResponse.SerializeToString,
213
+ ),
197
214
  'Get': grpc.unary_unary_rpc_method_handler(
198
215
  servicer.Get,
199
216
  request_deserializer=managed__secrets__pb2.ManagedSecretGetRequest.FromString,
@@ -329,6 +346,23 @@ class ManagedSecrets(object):
329
346
  options, channel_credentials,
330
347
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
331
348
 
349
+ @staticmethod
350
+ def ForceDelete(request,
351
+ target,
352
+ options=(),
353
+ channel_credentials=None,
354
+ call_credentials=None,
355
+ insecure=False,
356
+ compression=None,
357
+ wait_for_ready=None,
358
+ timeout=None,
359
+ metadata=None):
360
+ return grpc.experimental.unary_unary(request, target, '/v1.ManagedSecrets/ForceDelete',
361
+ managed__secrets__pb2.ManagedSecretDeleteRequest.SerializeToString,
362
+ managed__secrets__pb2.ManagedSecretDeleteResponse.FromString,
363
+ options, channel_credentials,
364
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
365
+
332
366
  @staticmethod
333
367
  def Get(request,
334
368
  target,
@@ -592,6 +592,9 @@ class AKSServiceAccount:
592
592
 
593
593
 
594
594
  class AKSServiceAccountUserImpersonation:
595
+ '''
596
+ AKSServiceAccountUserImpersonation is deprecated, see docs for more info.
597
+ '''
595
598
  __slots__ = [
596
599
  'bind_interface',
597
600
  'egress_filter',
@@ -740,6 +743,9 @@ class AKSServiceAccountUserImpersonation:
740
743
 
741
744
 
742
745
  class AKSUserImpersonation:
746
+ '''
747
+ AKSUserImpersonation is deprecated, see docs for more info.
748
+ '''
743
749
  __slots__ = [
744
750
  'bind_interface',
745
751
  'certificate_authority',
@@ -905,6 +911,167 @@ class AKSUserImpersonation:
905
911
  )
906
912
 
907
913
 
914
+ class AMQP:
915
+ '''
916
+ AMQP is currently unstable, and its API may change, or it may be removed,
917
+ without a major version bump.
918
+ '''
919
+ __slots__ = [
920
+ 'bind_interface',
921
+ 'egress_filter',
922
+ 'healthy',
923
+ 'hostname',
924
+ 'id',
925
+ 'name',
926
+ 'password',
927
+ 'port',
928
+ 'port_override',
929
+ 'proxy_cluster_id',
930
+ 'secret_store_id',
931
+ 'subdomain',
932
+ 'tags',
933
+ 'tls_required',
934
+ 'username',
935
+ ]
936
+
937
+ def __init__(
938
+ self,
939
+ bind_interface=None,
940
+ egress_filter=None,
941
+ healthy=None,
942
+ hostname=None,
943
+ id=None,
944
+ name=None,
945
+ password=None,
946
+ port=None,
947
+ port_override=None,
948
+ proxy_cluster_id=None,
949
+ secret_store_id=None,
950
+ subdomain=None,
951
+ tags=None,
952
+ tls_required=None,
953
+ username=None,
954
+ ):
955
+ self.bind_interface = bind_interface if bind_interface is not None else ''
956
+ '''
957
+ 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.
958
+ '''
959
+ self.egress_filter = egress_filter if egress_filter is not None else ''
960
+ '''
961
+ A filter applied to the routing logic to pin datasource to nodes.
962
+ '''
963
+ self.healthy = healthy if healthy is not None else False
964
+ '''
965
+ True if the datasource is reachable and the credentials are valid.
966
+ '''
967
+ self.hostname = hostname if hostname is not None else ''
968
+ '''
969
+ The host to dial to initiate a connection from the egress node to this resource.
970
+ '''
971
+ self.id = id if id is not None else ''
972
+ '''
973
+ Unique identifier of the Resource.
974
+ '''
975
+ self.name = name if name is not None else ''
976
+ '''
977
+ Unique human-readable name of the Resource.
978
+ '''
979
+ self.password = password if password is not None else ''
980
+ '''
981
+ The password to authenticate with.
982
+ '''
983
+ self.port = port if port is not None else 0
984
+ '''
985
+ The port to dial to initiate a connection from the egress node to this resource.
986
+ '''
987
+ self.port_override = port_override if port_override is not None else 0
988
+ '''
989
+ The local port used by clients to connect to this resource.
990
+ '''
991
+ self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
992
+ '''
993
+ ID of the proxy cluster for this resource, if any.
994
+ '''
995
+ self.secret_store_id = secret_store_id if secret_store_id is not None else ''
996
+ '''
997
+ ID of the secret store containing credentials for this resource, if any.
998
+ '''
999
+ self.subdomain = subdomain if subdomain is not None else ''
1000
+ '''
1001
+ Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1002
+ '''
1003
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1004
+ '''
1005
+ Tags is a map of key, value pairs.
1006
+ '''
1007
+ self.tls_required = tls_required if tls_required is not None else False
1008
+ '''
1009
+ If set, TLS must be used to connect to this resource.
1010
+ '''
1011
+ self.username = username if username is not None else ''
1012
+ '''
1013
+ The username to authenticate with.
1014
+ '''
1015
+
1016
+ def __repr__(self):
1017
+ return '<sdm.AMQP ' + \
1018
+ 'bind_interface: ' + repr(self.bind_interface) + ' ' +\
1019
+ 'egress_filter: ' + repr(self.egress_filter) + ' ' +\
1020
+ 'healthy: ' + repr(self.healthy) + ' ' +\
1021
+ 'hostname: ' + repr(self.hostname) + ' ' +\
1022
+ 'id: ' + repr(self.id) + ' ' +\
1023
+ 'name: ' + repr(self.name) + ' ' +\
1024
+ 'password: ' + repr(self.password) + ' ' +\
1025
+ 'port: ' + repr(self.port) + ' ' +\
1026
+ 'port_override: ' + repr(self.port_override) + ' ' +\
1027
+ 'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
1028
+ 'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
1029
+ 'subdomain: ' + repr(self.subdomain) + ' ' +\
1030
+ 'tags: ' + repr(self.tags) + ' ' +\
1031
+ 'tls_required: ' + repr(self.tls_required) + ' ' +\
1032
+ 'username: ' + repr(self.username) + ' ' +\
1033
+ '>'
1034
+
1035
+ def to_dict(self):
1036
+ return {
1037
+ 'bind_interface': self.bind_interface,
1038
+ 'egress_filter': self.egress_filter,
1039
+ 'healthy': self.healthy,
1040
+ 'hostname': self.hostname,
1041
+ 'id': self.id,
1042
+ 'name': self.name,
1043
+ 'password': self.password,
1044
+ 'port': self.port,
1045
+ 'port_override': self.port_override,
1046
+ 'proxy_cluster_id': self.proxy_cluster_id,
1047
+ 'secret_store_id': self.secret_store_id,
1048
+ 'subdomain': self.subdomain,
1049
+ 'tags': self.tags,
1050
+ 'tls_required': self.tls_required,
1051
+ 'username': self.username,
1052
+ }
1053
+
1054
+ @classmethod
1055
+ def from_dict(cls, d):
1056
+ return cls(
1057
+ bind_interface=d.get('bind_interface'),
1058
+ egress_filter=d.get('egress_filter'),
1059
+ healthy=d.get('healthy'),
1060
+ hostname=d.get('hostname'),
1061
+ id=d.get('id'),
1062
+ name=d.get('name'),
1063
+ password=d.get('password'),
1064
+ port=d.get('port'),
1065
+ port_override=d.get('port_override'),
1066
+ proxy_cluster_id=d.get('proxy_cluster_id'),
1067
+ secret_store_id=d.get('secret_store_id'),
1068
+ subdomain=d.get('subdomain'),
1069
+ tags=d.get('tags'),
1070
+ tls_required=d.get('tls_required'),
1071
+ username=d.get('username'),
1072
+ )
1073
+
1074
+
908
1075
  class AWS:
909
1076
  __slots__ = [
910
1077
  'access_key',
@@ -4470,6 +4637,9 @@ class AmazonEKSInstanceProfile:
4470
4637
 
4471
4638
 
4472
4639
  class AmazonEKSInstanceProfileUserImpersonation:
4640
+ '''
4641
+ AmazonEKSInstanceProfileUserImpersonation is deprecated, see docs for more info.
4642
+ '''
4473
4643
  __slots__ = [
4474
4644
  'bind_interface',
4475
4645
  'certificate_authority',
@@ -4645,6 +4815,9 @@ class AmazonEKSInstanceProfileUserImpersonation:
4645
4815
 
4646
4816
 
4647
4817
  class AmazonEKSUserImpersonation:
4818
+ '''
4819
+ AmazonEKSUserImpersonation is deprecated, see docs for more info.
4820
+ '''
4648
4821
  __slots__ = [
4649
4822
  'access_key',
4650
4823
  'bind_interface',
@@ -5496,6 +5669,7 @@ class ApprovalWorkflow:
5496
5669
  class ApprovalWorkflowApprover:
5497
5670
  '''
5498
5671
  ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep
5672
+ ApprovalWorkflowApprover is deprecated, see docs for more info.
5499
5673
  '''
5500
5674
  __slots__ = [
5501
5675
  'account_id',
@@ -6047,6 +6221,7 @@ class ApprovalWorkflowListResponse:
6047
6221
  class ApprovalWorkflowStep:
6048
6222
  '''
6049
6223
  ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow
6224
+ ApprovalWorkflowStep is deprecated, see docs for more info.
6050
6225
  '''
6051
6226
  __slots__ = [
6052
6227
  'approval_flow_id',
@@ -7998,6 +8173,178 @@ class AzureMysql:
7998
8173
  )
7999
8174
 
8000
8175
 
8176
+ class AzureMysqlManagedIdentity:
8177
+ '''
8178
+ AzureMysqlManagedIdentity is currently unstable, and its API may change, or it may be removed,
8179
+ without a major version bump.
8180
+ '''
8181
+ __slots__ = [
8182
+ 'bind_interface',
8183
+ 'database',
8184
+ 'egress_filter',
8185
+ 'healthy',
8186
+ 'hostname',
8187
+ 'id',
8188
+ 'name',
8189
+ 'password',
8190
+ 'port',
8191
+ 'port_override',
8192
+ 'proxy_cluster_id',
8193
+ 'secret_store_id',
8194
+ 'subdomain',
8195
+ 'tags',
8196
+ 'use_azure_single_server_usernames',
8197
+ 'username',
8198
+ ]
8199
+
8200
+ def __init__(
8201
+ self,
8202
+ bind_interface=None,
8203
+ database=None,
8204
+ egress_filter=None,
8205
+ healthy=None,
8206
+ hostname=None,
8207
+ id=None,
8208
+ name=None,
8209
+ password=None,
8210
+ port=None,
8211
+ port_override=None,
8212
+ proxy_cluster_id=None,
8213
+ secret_store_id=None,
8214
+ subdomain=None,
8215
+ tags=None,
8216
+ use_azure_single_server_usernames=None,
8217
+ username=None,
8218
+ ):
8219
+ self.bind_interface = bind_interface if bind_interface is not None else ''
8220
+ '''
8221
+ 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.
8222
+ '''
8223
+ self.database = database if database is not None else ''
8224
+ '''
8225
+ The database for healthchecks. Does not affect client requests.
8226
+ '''
8227
+ self.egress_filter = egress_filter if egress_filter is not None else ''
8228
+ '''
8229
+ A filter applied to the routing logic to pin datasource to nodes.
8230
+ '''
8231
+ self.healthy = healthy if healthy is not None else False
8232
+ '''
8233
+ True if the datasource is reachable and the credentials are valid.
8234
+ '''
8235
+ self.hostname = hostname if hostname is not None else ''
8236
+ '''
8237
+ The host to dial to initiate a connection from the egress node to this resource.
8238
+ '''
8239
+ self.id = id if id is not None else ''
8240
+ '''
8241
+ Unique identifier of the Resource.
8242
+ '''
8243
+ self.name = name if name is not None else ''
8244
+ '''
8245
+ Unique human-readable name of the Resource.
8246
+ '''
8247
+ self.password = password if password is not None else ''
8248
+ '''
8249
+ The password to authenticate with.
8250
+ '''
8251
+ self.port = port if port is not None else 0
8252
+ '''
8253
+ The port to dial to initiate a connection from the egress node to this resource.
8254
+ '''
8255
+ self.port_override = port_override if port_override is not None else 0
8256
+ '''
8257
+ The local port used by clients to connect to this resource.
8258
+ '''
8259
+ self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8260
+ '''
8261
+ ID of the proxy cluster for this resource, if any.
8262
+ '''
8263
+ self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8264
+ '''
8265
+ ID of the secret store containing credentials for this resource, if any.
8266
+ '''
8267
+ self.subdomain = subdomain if subdomain is not None else ''
8268
+ '''
8269
+ Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8270
+ '''
8271
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8272
+ '''
8273
+ Tags is a map of key, value pairs.
8274
+ '''
8275
+ self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
8276
+ '''
8277
+ If true, appends the hostname to the username when hitting a database.azure.com address
8278
+ '''
8279
+ self.username = username if username is not None else ''
8280
+ '''
8281
+ The username to authenticate with.
8282
+ '''
8283
+
8284
+ def __repr__(self):
8285
+ return '<sdm.AzureMysqlManagedIdentity ' + \
8286
+ 'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8287
+ 'database: ' + repr(self.database) + ' ' +\
8288
+ 'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8289
+ 'healthy: ' + repr(self.healthy) + ' ' +\
8290
+ 'hostname: ' + repr(self.hostname) + ' ' +\
8291
+ 'id: ' + repr(self.id) + ' ' +\
8292
+ 'name: ' + repr(self.name) + ' ' +\
8293
+ 'password: ' + repr(self.password) + ' ' +\
8294
+ 'port: ' + repr(self.port) + ' ' +\
8295
+ 'port_override: ' + repr(self.port_override) + ' ' +\
8296
+ 'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8297
+ 'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8298
+ 'subdomain: ' + repr(self.subdomain) + ' ' +\
8299
+ 'tags: ' + repr(self.tags) + ' ' +\
8300
+ 'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
8301
+ 'username: ' + repr(self.username) + ' ' +\
8302
+ '>'
8303
+
8304
+ def to_dict(self):
8305
+ return {
8306
+ 'bind_interface': self.bind_interface,
8307
+ 'database': self.database,
8308
+ 'egress_filter': self.egress_filter,
8309
+ 'healthy': self.healthy,
8310
+ 'hostname': self.hostname,
8311
+ 'id': self.id,
8312
+ 'name': self.name,
8313
+ 'password': self.password,
8314
+ 'port': self.port,
8315
+ 'port_override': self.port_override,
8316
+ 'proxy_cluster_id': self.proxy_cluster_id,
8317
+ 'secret_store_id': self.secret_store_id,
8318
+ 'subdomain': self.subdomain,
8319
+ 'tags': self.tags,
8320
+ 'use_azure_single_server_usernames':
8321
+ self.use_azure_single_server_usernames,
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
+ use_azure_single_server_usernames=d.get(
8343
+ 'use_azure_single_server_usernames'),
8344
+ username=d.get('username'),
8345
+ )
8346
+
8347
+
8001
8348
  class AzurePostgres:
8002
8349
  __slots__ = [
8003
8350
  'bind_interface',
@@ -13198,6 +13545,9 @@ class GoogleGKE:
13198
13545
 
13199
13546
 
13200
13547
  class GoogleGKEUserImpersonation:
13548
+ '''
13549
+ GoogleGKEUserImpersonation is deprecated, see docs for more info.
13550
+ '''
13201
13551
  __slots__ = [
13202
13552
  'bind_interface',
13203
13553
  'certificate_authority',
@@ -16011,6 +16361,9 @@ class KubernetesServiceAccount:
16011
16361
 
16012
16362
 
16013
16363
  class KubernetesServiceAccountUserImpersonation:
16364
+ '''
16365
+ KubernetesServiceAccountUserImpersonation is deprecated, see docs for more info.
16366
+ '''
16014
16367
  __slots__ = [
16015
16368
  'bind_interface',
16016
16369
  'egress_filter',
@@ -16159,6 +16512,9 @@ class KubernetesServiceAccountUserImpersonation:
16159
16512
 
16160
16513
 
16161
16514
  class KubernetesUserImpersonation:
16515
+ '''
16516
+ KubernetesUserImpersonation is deprecated, see docs for more info.
16517
+ '''
16162
16518
  __slots__ = [
16163
16519
  'bind_interface',
16164
16520
  'certificate_authority',
@@ -31277,6 +31633,7 @@ class Workflow:
31277
31633
  class WorkflowApprover:
31278
31634
  '''
31279
31635
  WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
31636
+ WorkflowApprover is deprecated, see docs for more info.
31280
31637
  '''
31281
31638
  __slots__ = [
31282
31639
  'account_id',