strongdm 7.1.1__zip → 8.1.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 (127) hide show
  1. {strongdm-7.1.1 → strongdm-8.1.0}/PKG-INFO +2 -2
  2. {strongdm-7.1.1 → strongdm-8.1.0}/setup.py +2 -2
  3. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/accounts_pb2.py +45 -34
  4. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/accounts_pb2_grpc.py +3 -0
  5. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/client.py +6 -3
  6. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/constants.py +4 -0
  7. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/models.py +276 -0
  8. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/options_pb2.py +20 -20
  9. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/plumbing.py +119 -0
  10. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/secret_store_types_pb2.py +80 -40
  11. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/svc.py +5 -0
  12. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm.egg-info/PKG-INFO +2 -2
  13. {strongdm-7.1.1 → strongdm-8.1.0}/LICENSE +0 -0
  14. {strongdm-7.1.1 → strongdm-8.1.0}/README.md +0 -0
  15. {strongdm-7.1.1 → strongdm-8.1.0}/setup.cfg +0 -0
  16. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/__init__.py +0 -0
  17. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/access_request_events_history_pb2.py +0 -0
  18. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/access_request_events_history_pb2_grpc.py +0 -0
  19. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/access_requests_history_pb2.py +0 -0
  20. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/access_requests_history_pb2_grpc.py +0 -0
  21. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/access_requests_pb2.py +0 -0
  22. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/access_requests_pb2_grpc.py +0 -0
  23. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/account_attachments_history_pb2.py +0 -0
  24. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/account_attachments_history_pb2_grpc.py +0 -0
  25. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/account_attachments_pb2.py +0 -0
  26. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/account_attachments_pb2_grpc.py +0 -0
  27. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/account_grants_history_pb2.py +0 -0
  28. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/account_grants_history_pb2_grpc.py +0 -0
  29. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/account_grants_pb2.py +0 -0
  30. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/account_grants_pb2_grpc.py +0 -0
  31. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/account_permissions_pb2.py +0 -0
  32. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/account_permissions_pb2_grpc.py +0 -0
  33. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/account_resources_history_pb2.py +0 -0
  34. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/account_resources_history_pb2_grpc.py +0 -0
  35. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/account_resources_pb2.py +0 -0
  36. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/account_resources_pb2_grpc.py +0 -0
  37. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/accounts_history_pb2.py +0 -0
  38. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/accounts_history_pb2_grpc.py +0 -0
  39. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/activities_pb2.py +0 -0
  40. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/activities_pb2_grpc.py +0 -0
  41. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/approval_workflow_approvers_history_pb2.py +0 -0
  42. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/approval_workflow_approvers_history_pb2_grpc.py +0 -0
  43. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/approval_workflow_approvers_pb2.py +0 -0
  44. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/approval_workflow_approvers_pb2_grpc.py +0 -0
  45. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/approval_workflow_steps_history_pb2.py +0 -0
  46. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/approval_workflow_steps_history_pb2_grpc.py +0 -0
  47. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/approval_workflow_steps_pb2.py +0 -0
  48. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/approval_workflow_steps_pb2_grpc.py +0 -0
  49. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/approval_workflows_history_pb2.py +0 -0
  50. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/approval_workflows_history_pb2_grpc.py +0 -0
  51. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/approval_workflows_pb2.py +0 -0
  52. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/approval_workflows_pb2_grpc.py +0 -0
  53. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/control_panel_pb2.py +0 -0
  54. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/control_panel_pb2_grpc.py +0 -0
  55. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/drivers_pb2.py +0 -0
  56. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/drivers_pb2_grpc.py +0 -0
  57. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/errors.py +0 -0
  58. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/nodes_history_pb2.py +0 -0
  59. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/nodes_history_pb2_grpc.py +0 -0
  60. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/nodes_pb2.py +0 -0
  61. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/nodes_pb2_grpc.py +0 -0
  62. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/options_pb2_grpc.py +0 -0
  63. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/organization_history_pb2.py +0 -0
  64. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/organization_history_pb2_grpc.py +0 -0
  65. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/peering_group_nodes_pb2.py +0 -0
  66. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/peering_group_nodes_pb2_grpc.py +0 -0
  67. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/peering_group_peers_pb2.py +0 -0
  68. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/peering_group_peers_pb2_grpc.py +0 -0
  69. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/peering_group_resources_pb2.py +0 -0
  70. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/peering_group_resources_pb2_grpc.py +0 -0
  71. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/peering_groups_pb2.py +0 -0
  72. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/peering_groups_pb2_grpc.py +0 -0
  73. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/queries_pb2.py +0 -0
  74. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/queries_pb2_grpc.py +0 -0
  75. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/remote_identities_history_pb2.py +0 -0
  76. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/remote_identities_history_pb2_grpc.py +0 -0
  77. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/remote_identities_pb2.py +0 -0
  78. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/remote_identities_pb2_grpc.py +0 -0
  79. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/remote_identity_groups_history_pb2.py +0 -0
  80. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/remote_identity_groups_history_pb2_grpc.py +0 -0
  81. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/remote_identity_groups_pb2.py +0 -0
  82. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/remote_identity_groups_pb2_grpc.py +0 -0
  83. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/replays_pb2.py +0 -0
  84. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/replays_pb2_grpc.py +0 -0
  85. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/resources_history_pb2.py +0 -0
  86. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/resources_history_pb2_grpc.py +0 -0
  87. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/resources_pb2.py +0 -0
  88. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/resources_pb2_grpc.py +0 -0
  89. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/role_resources_history_pb2.py +0 -0
  90. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/role_resources_history_pb2_grpc.py +0 -0
  91. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/role_resources_pb2.py +0 -0
  92. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/role_resources_pb2_grpc.py +0 -0
  93. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/roles_history_pb2.py +0 -0
  94. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/roles_history_pb2_grpc.py +0 -0
  95. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/roles_pb2.py +0 -0
  96. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/roles_pb2_grpc.py +0 -0
  97. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/secret_store_healths_pb2.py +0 -0
  98. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/secret_store_healths_pb2_grpc.py +0 -0
  99. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/secret_store_types_pb2_grpc.py +0 -0
  100. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/secret_stores_history_pb2.py +0 -0
  101. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/secret_stores_history_pb2_grpc.py +0 -0
  102. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/secret_stores_pb2.py +0 -0
  103. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/secret_stores_pb2_grpc.py +0 -0
  104. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/spec_pb2.py +0 -0
  105. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/spec_pb2_grpc.py +0 -0
  106. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/tags_pb2.py +0 -0
  107. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/tags_pb2_grpc.py +0 -0
  108. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/workflow_approvers_history_pb2.py +0 -0
  109. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/workflow_approvers_history_pb2_grpc.py +0 -0
  110. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/workflow_approvers_pb2.py +0 -0
  111. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/workflow_approvers_pb2_grpc.py +0 -0
  112. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/workflow_assignments_history_pb2.py +0 -0
  113. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/workflow_assignments_history_pb2_grpc.py +0 -0
  114. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/workflow_assignments_pb2.py +0 -0
  115. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/workflow_assignments_pb2_grpc.py +0 -0
  116. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/workflow_roles_history_pb2.py +0 -0
  117. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/workflow_roles_history_pb2_grpc.py +0 -0
  118. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/workflow_roles_pb2.py +0 -0
  119. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/workflow_roles_pb2_grpc.py +0 -0
  120. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/workflows_history_pb2.py +0 -0
  121. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/workflows_history_pb2_grpc.py +0 -0
  122. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/workflows_pb2.py +0 -0
  123. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm/workflows_pb2_grpc.py +0 -0
  124. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm.egg-info/SOURCES.txt +0 -0
  125. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm.egg-info/dependency_links.txt +0 -0
  126. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm.egg-info/requires.txt +0 -0
  127. {strongdm-7.1.1 → strongdm-8.1.0}/strongdm.egg-info/top_level.txt +0 -0
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strongdm
3
- Version: 7.1.1
3
+ Version: 8.1.0
4
4
  Summary: strongDM SDK for the Python programming language.
5
5
  Home-page: https://github.com/strongdm/strongdm-sdk-python
6
6
  Author: strongDM Team
7
7
  Author-email: sdk-feedback@strongdm.com
8
8
  License: apache-2.0
9
- Download-URL: https://github.com/strongdm/strongdm-sdk-python/archive/v7.1.1.tar.gz
9
+ Download-URL: https://github.com/strongdm/strongdm-sdk-python/archive/v8.1.0.tar.gz
10
10
  Keywords: strongDM,sdm,api,automation,security,audit,database,server,ssh,rdp
11
11
  Platform: UNKNOWN
12
12
  Classifier: Development Status :: 4 - Beta
@@ -23,7 +23,7 @@ from setuptools import setup
23
23
  setup(
24
24
  name='strongdm',
25
25
  packages=['strongdm'],
26
- version='7.1.1',
26
+ version='8.1.0',
27
27
  license='apache-2.0',
28
28
  description='strongDM SDK for the Python programming language.',
29
29
  long_description=long_description,
@@ -32,7 +32,7 @@ setup(
32
32
  author_email='sdk-feedback@strongdm.com',
33
33
  url='https://github.com/strongdm/strongdm-sdk-python',
34
34
  download_url=
35
- 'https://github.com/strongdm/strongdm-sdk-python/archive/v7.1.1.tar.gz',
35
+ 'https://github.com/strongdm/strongdm-sdk-python/archive/v8.1.0.tar.gz',
36
36
  keywords=[
37
37
  'strongDM', 'sdm', 'api', 'automation', 'security', 'audit',
38
38
  'database', 'server', 'ssh', 'rdp'
@@ -26,13 +26,14 @@ from google.protobuf import symbol_database as _symbol_database
26
26
  _sym_db = _symbol_database.Default()
27
27
 
28
28
 
29
+ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
29
30
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
30
31
  from . import options_pb2 as options__pb2
31
32
  from . import spec_pb2 as spec__pb2
32
33
  from . import tags_pb2 as tags__pb2
33
34
 
34
35
 
35
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0e\x61\x63\x63ounts.proto\x12\x02v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\roptions.proto\x1a\nspec.proto\x1a\ntags.proto\"i\n\x14\x41\x63\x63ountCreateRequest\x12\'\n\x04meta\x18\x01 \x01(\x0b\x32\x19.v1.CreateRequestMetadata\x12(\n\x07\x61\x63\x63ount\x18\x02 \x01(\x0b\x32\x0b.v1.AccountB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\"\xfc\x01\n\x15\x41\x63\x63ountCreateResponse\x12\x34\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.CreateResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12(\n\x07\x61\x63\x63ount\x18\x02 \x01(\x0b\x32\x0b.v1.AccountB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1e\n\x05token\x18\x03 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xf0\xf3\xb3\x07\x01\x12W\n\nrate_limit\x18\x04 \x01(\x0b\x32\x15.v1.RateLimitMetadataB,\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\xf2\xf8\xb3\x07\x06\xb2\xf4\xb3\x07\x01*\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"Q\n\x11\x41\x63\x63ountGetRequest\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\"\xd6\x01\n\x12\x41\x63\x63ountGetResponse\x12\x31\n\x04meta\x18\x01 \x01(\x0b\x32\x17.v1.GetResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12(\n\x07\x61\x63\x63ount\x18\x02 \x01(\x0b\x32\x0b.v1.AccountB\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\"u\n\x14\x41\x63\x63ountUpdateRequest\x12\'\n\x04meta\x18\x01 \x01(\x0b\x32\x19.v1.UpdateRequestMetadata\x12\n\n\x02id\x18\x02 \x01(\t\x12(\n\x07\x61\x63\x63ount\x18\x03 \x01(\x0b\x32\x0b.v1.AccountB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\"\xdc\x01\n\x15\x41\x63\x63ountUpdateResponse\x12\x34\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.UpdateResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12(\n\x07\x61\x63\x63ount\x18\x02 \x01(\x0b\x32\x0b.v1.AccountB\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\"W\n\x14\x41\x63\x63ountDeleteRequest\x12\'\n\x04meta\x18\x01 \x01(\x0b\x32\x19.v1.DeleteRequestMetadata\x12\x16\n\x02id\x18\x02 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\"\xb2\x01\n\x15\x41\x63\x63ountDeleteResponse\x12\x34\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.DeleteResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12W\n\nrate_limit\x18\x02 \x01(\x0b\x32\x15.v1.RateLimitMetadataB,\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\xf2\xf8\xb3\x07\x06\xb2\xf4\xb3\x07\x01*\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"W\n\x12\x41\x63\x63ountListRequest\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\"\xc1\x01\n\x13\x41\x63\x63ountListResponse\x12&\n\x04meta\x18\x01 \x01(\x0b\x32\x18.v1.ListResponseMetadata\x12)\n\x08\x61\x63\x63ounts\x18\x02 \x03(\x0b\x32\x0b.v1.AccountB\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\"\x9e\x02\n\x07\x41\x63\x63ount\x12$\n\x04user\x18\x01 \x01(\x0b\x32\x08.v1.UserB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01H\x00\x12*\n\x07service\x18\x02 \x01(\x0b\x32\x0b.v1.ServiceB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01H\x00\x12\x30\n\x05token\x18\x03 \x01(\x0b\x32\t.v1.TokenB\x14\xf2\xf8\xb3\x07\x0f\xb2\xf4\xb3\x07\ngo_privateH\x00:a\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\xfa\xf8\xb3\x07R\xc2\xf3\xb3\x07M\xa2\xf3\xb3\x07 tf_examples/account_resource.txt\xaa\xf3\xb3\x07#tf_examples/account_data_source.txtB,\n\x07\x61\x63\x63ount\x12!\xaa\xf8\xb3\x07\x0e\xaa\xf8\xb3\x07\tsuspended\xaa\xf8\xb3\x07\t\xaa\xf8\xb3\x07\x04tags\"\xd2\x06\n\x04User\x12\x16\n\x02id\x18\x01 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1e\n\x05\x65mail\x18\x02 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12#\n\nfirst_name\x18\x03 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12\"\n\tlast_name\x18\x04 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12*\n\tsuspended\x18\x05 \x01(\x08\x42\x17\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway\x12\"\n\x04tags\x18\x06 \x01(\x0b\x32\x08.v1.TagsB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x36\n\x10permission_level\x18\x07 \x01(\tB\x1c\xf2\xf8\xb3\x07\x17\x98\xf4\xb3\x07\x01\xb2\xf4\xb3\x07\r!json_gateway\x12#\n\nmanaged_by\x18\x08 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12\x1f\n\x0b\x65xternal_id\x18\t \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\xdb\x01\n\x0bsuspendedRO\x18\n \x01(\x08\x42\xc5\x01\xf2\xf8\xb3\x07\xbf\x01\xb0\xf3\xb3\x07\x01\xca\xf3\xb3\x07\xaf\x01\xc2\xf4\xb3\x07\x0f\n\x02go\x12\tSuspended\xc2\xf4\xb3\x07\x10\n\x03\x63li\x12\tsuspended\xc2\xf4\xb3\x07\x11\n\x04ruby\x12\tsuspended\xc2\xf4\xb3\x07\x13\n\x06python\x12\tsuspended\xc2\xf4\xb3\x07\x11\n\x04java\x12\tSuspended\xc2\xf4\xb3\x07\x1f\n\x12terraform-provider\x12\tsuspended\xc2\xf4\xb3\x07\x19\n\x0cjson_gateway\x12\tsuspended\x98\xf4\xb3\x07\x01\x12\x90\x02\n\x12permission_levelRW\x18\x0b \x01(\tB\xf3\x01\xf2\xf8\xb3\x07\xed\x01\xb0\xf3\xb3\x07\x01\xca\xf3\xb3\x07\xdd\x01\xc2\xf4\xb3\x07\x15\n\x02go\x12\x0fPermissionLevel\xc2\xf4\xb3\x07\x17\n\x03\x63li\x12\x10permission-level\xc2\xf4\xb3\x07\x18\n\x04ruby\x12\x10permission_level\xc2\xf4\xb3\x07\x1a\n\x06python\x12\x10permission_level\xc2\xf4\xb3\x07\x17\n\x04java\x12\x0fPermissionLevel\xc2\xf4\xb3\x07&\n\x12terraform-provider\x12\x10permission_level\xc2\xf4\xb3\x07\x1f\n\x0cjson_gateway\x12\x0fpermissionLevel\xd0\xf4\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\x8f\x01\n\x07Service\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\x1d\n\tsuspended\x18\x03 \x01(\x08\x42\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\"\n\x04tags\x18\x04 \x01(\x0b\x32\x08.v1.TagsB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\x8f\x02\n\x05Token\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\x1d\n\tsuspended\x18\x03 \x01(\x08\x42\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\"\n\x04tags\x18\x04 \x01(\x0b\x32\x08.v1.TagsB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x37\n\x07rekeyed\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x38\n\x08\x64\x65\x61\x64line\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\x19\xfa\xf8\xb3\x07\x14\xa8\xf3\xb3\x07\x01\xd2\xf3\xb3\x07\ngo_private2\xa1\x04\n\x08\x41\x63\x63ounts\x12\x63\n\x06\x43reate\x12\x18.v1.AccountCreateRequest\x1a\x19.v1.AccountCreateResponse\"$\x82\xf9\xb3\x07\t\xa2\xf3\xb3\x07\x04post\x82\xf9\xb3\x07\x11\xaa\xf3\xb3\x07\x0c/v1/accounts\x12^\n\x03Get\x12\x15.v1.AccountGetRequest\x1a\x16.v1.AccountGetResponse\"(\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x16\xaa\xf3\xb3\x07\x11/v1/accounts/{id}\x12g\n\x06Update\x12\x18.v1.AccountUpdateRequest\x1a\x19.v1.AccountUpdateResponse\"(\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03put\x82\xf9\xb3\x07\x16\xaa\xf3\xb3\x07\x11/v1/accounts/{id}\x12j\n\x06\x44\x65lete\x12\x18.v1.AccountDeleteRequest\x1a\x19.v1.AccountDeleteResponse\"+\x82\xf9\xb3\x07\x0b\xa2\xf3\xb3\x07\x06\x64\x65lete\x82\xf9\xb3\x07\x16\xaa\xf3\xb3\x07\x11/v1/accounts/{id}\x12\\\n\x04List\x12\x16.v1.AccountListRequest\x1a\x17.v1.AccountListResponse\"#\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x11\xaa\xf3\xb3\x07\x0c/v1/accounts\x1a\x1d\xca\xf9\xb3\x07\x0c\xc2\xf9\xb3\x07\x07\x41\x63\x63ount\xca\xf9\xb3\x07\x07\xd2\xf9\xb3\x07\x02\x61-Bd\n\x19\x63om.strongdm.api.plumbingB\x10\x41\x63\x63ountsPlumbingZ5github.com/strongdm/strongdm-sdk-go/v3/internal/v1;v1b\x06proto3')
36
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0e\x61\x63\x63ounts.proto\x12\x02v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\roptions.proto\x1a\nspec.proto\x1a\ntags.proto\"i\n\x14\x41\x63\x63ountCreateRequest\x12\'\n\x04meta\x18\x01 \x01(\x0b\x32\x19.v1.CreateRequestMetadata\x12(\n\x07\x61\x63\x63ount\x18\x02 \x01(\x0b\x32\x0b.v1.AccountB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\"\xf8\x02\n\x15\x41\x63\x63ountCreateResponse\x12\x34\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.CreateResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12(\n\x07\x61\x63\x63ount\x18\x02 \x01(\x0b\x32\x0b.v1.AccountB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1e\n\x05token\x18\x03 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xf0\xf3\xb3\x07\x01\x12W\n\nrate_limit\x18\x04 \x01(\x0b\x32\x15.v1.RateLimitMetadataB,\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\xf2\xf8\xb3\x07\x06\xb2\xf4\xb3\x07\x01*\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway\x12<\n\naccess_key\x18\x05 \x01(\tB(\xf2\xf8\xb3\x07#\xb0\xf3\xb3\x07\x01\xb2\xf4\xb3\x07\x01*\xb2\xf4\xb3\x07\x13!terraform-provider\x12<\n\nsecret_key\x18\x06 \x01(\tB(\xf2\xf8\xb3\x07#\xb0\xf3\xb3\x07\x01\xb2\xf4\xb3\x07\x01*\xb2\xf4\xb3\x07\x13!terraform-provider:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"Q\n\x11\x41\x63\x63ountGetRequest\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\"\xd6\x01\n\x12\x41\x63\x63ountGetResponse\x12\x31\n\x04meta\x18\x01 \x01(\x0b\x32\x17.v1.GetResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12(\n\x07\x61\x63\x63ount\x18\x02 \x01(\x0b\x32\x0b.v1.AccountB\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\"u\n\x14\x41\x63\x63ountUpdateRequest\x12\'\n\x04meta\x18\x01 \x01(\x0b\x32\x19.v1.UpdateRequestMetadata\x12\n\n\x02id\x18\x02 \x01(\t\x12(\n\x07\x61\x63\x63ount\x18\x03 \x01(\x0b\x32\x0b.v1.AccountB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\"\xdc\x01\n\x15\x41\x63\x63ountUpdateResponse\x12\x34\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.UpdateResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12(\n\x07\x61\x63\x63ount\x18\x02 \x01(\x0b\x32\x0b.v1.AccountB\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\"W\n\x14\x41\x63\x63ountDeleteRequest\x12\'\n\x04meta\x18\x01 \x01(\x0b\x32\x19.v1.DeleteRequestMetadata\x12\x16\n\x02id\x18\x02 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\"\xb2\x01\n\x15\x41\x63\x63ountDeleteResponse\x12\x34\n\x04meta\x18\x01 \x01(\x0b\x32\x1a.v1.DeleteResponseMetadataB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12W\n\nrate_limit\x18\x02 \x01(\x0b\x32\x15.v1.RateLimitMetadataB,\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\xf2\xf8\xb3\x07\x06\xb2\xf4\xb3\x07\x01*\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"W\n\x12\x41\x63\x63ountListRequest\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\"\xc1\x01\n\x13\x41\x63\x63ountListResponse\x12&\n\x04meta\x18\x01 \x01(\x0b\x32\x18.v1.ListResponseMetadata\x12)\n\x08\x61\x63\x63ounts\x18\x02 \x03(\x0b\x32\x0b.v1.AccountB\n\xf2\xf8\xb3\x07\x05\xb8\xf3\xb3\x07\x01\x12W\n\nrate_limit\x18\x03 \x01(\x0b\x32\x15.v1.RateLimitMetadataB,\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\xf2\xf8\xb3\x07\x06\xb2\xf4\xb3\x07\x01*\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway\"\x94\x02\n\x07\x41\x63\x63ount\x12$\n\x04user\x18\x01 \x01(\x0b\x32\x08.v1.UserB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01H\x00\x12*\n\x07service\x18\x02 \x01(\x0b\x32\x0b.v1.ServiceB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01H\x00\x12&\n\x05token\x18\x03 \x01(\x0b\x32\t.v1.TokenB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01H\x00:a\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\xfa\xf8\xb3\x07R\xc2\xf3\xb3\x07M\xa2\xf3\xb3\x07 tf_examples/account_resource.txt\xaa\xf3\xb3\x07#tf_examples/account_data_source.txtB,\n\x07\x61\x63\x63ount\x12!\xaa\xf8\xb3\x07\x0e\xaa\xf8\xb3\x07\tsuspended\xaa\xf8\xb3\x07\t\xaa\xf8\xb3\x07\x04tags\"\xd2\x06\n\x04User\x12\x16\n\x02id\x18\x01 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1e\n\x05\x65mail\x18\x02 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12#\n\nfirst_name\x18\x03 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12\"\n\tlast_name\x18\x04 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\xc0\xf3\xb3\x07\x01\x12*\n\tsuspended\x18\x05 \x01(\x08\x42\x17\xf2\xf8\xb3\x07\x12\xb2\xf4\xb3\x07\r!json_gateway\x12\"\n\x04tags\x18\x06 \x01(\x0b\x32\x08.v1.TagsB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x36\n\x10permission_level\x18\x07 \x01(\tB\x1c\xf2\xf8\xb3\x07\x17\x98\xf4\xb3\x07\x01\xb2\xf4\xb3\x07\r!json_gateway\x12#\n\nmanaged_by\x18\x08 \x01(\tB\x0f\xf2\xf8\xb3\x07\n\xb0\xf3\xb3\x07\x01\x98\xf4\xb3\x07\x01\x12\x1f\n\x0b\x65xternal_id\x18\t \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\xdb\x01\n\x0bsuspendedRO\x18\n \x01(\x08\x42\xc5\x01\xf2\xf8\xb3\x07\xbf\x01\xb0\xf3\xb3\x07\x01\xca\xf3\xb3\x07\xaf\x01\xc2\xf4\xb3\x07\x0f\n\x02go\x12\tSuspended\xc2\xf4\xb3\x07\x10\n\x03\x63li\x12\tsuspended\xc2\xf4\xb3\x07\x11\n\x04ruby\x12\tsuspended\xc2\xf4\xb3\x07\x13\n\x06python\x12\tsuspended\xc2\xf4\xb3\x07\x11\n\x04java\x12\tSuspended\xc2\xf4\xb3\x07\x1f\n\x12terraform-provider\x12\tsuspended\xc2\xf4\xb3\x07\x19\n\x0cjson_gateway\x12\tsuspended\x98\xf4\xb3\x07\x01\x12\x90\x02\n\x12permission_levelRW\x18\x0b \x01(\tB\xf3\x01\xf2\xf8\xb3\x07\xed\x01\xb0\xf3\xb3\x07\x01\xca\xf3\xb3\x07\xdd\x01\xc2\xf4\xb3\x07\x15\n\x02go\x12\x0fPermissionLevel\xc2\xf4\xb3\x07\x17\n\x03\x63li\x12\x10permission-level\xc2\xf4\xb3\x07\x18\n\x04ruby\x12\x10permission_level\xc2\xf4\xb3\x07\x1a\n\x06python\x12\x10permission_level\xc2\xf4\xb3\x07\x17\n\x04java\x12\x0fPermissionLevel\xc2\xf4\xb3\x07&\n\x12terraform-provider\x12\x10permission_level\xc2\xf4\xb3\x07\x1f\n\x0cjson_gateway\x12\x0fpermissionLevel\xd0\xf4\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\x8f\x01\n\x07Service\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\x1d\n\tsuspended\x18\x03 \x01(\x08\x42\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\"\n\x04tags\x18\x04 \x01(\x0b\x32\x08.v1.TagsB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\n\xfa\xf8\xb3\x07\x05\xa8\xf3\xb3\x07\x01\"\x81\x03\n\x05Token\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\x1d\n\tsuspended\x18\x03 \x01(\x08\x42\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\"\n\x04tags\x18\x04 \x01(\x0b\x32\x08.v1.TagsB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x37\n\x07rekeyed\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x38\n\x08\x64\x65\x61\x64line\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12 \n\x0c\x61\x63\x63ount_type\x18\x07 \x01(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x1f\n\x0bpermissions\x18\x08 \x03(\tB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01\x12\x37\n\x08\x64uration\x18\t \x01(\x0b\x32\x19.google.protobuf.DurationB\n\xf2\xf8\xb3\x07\x05\xb0\xf3\xb3\x07\x01:\x0f\xfa\xf8\xb3\x07\n\xa8\xf3\xb3\x07\x01\xd8\xf3\xb3\x07\x01\x32\xab\x04\n\x08\x41\x63\x63ounts\x12\x63\n\x06\x43reate\x12\x18.v1.AccountCreateRequest\x1a\x19.v1.AccountCreateResponse\"$\x82\xf9\xb3\x07\t\xa2\xf3\xb3\x07\x04post\x82\xf9\xb3\x07\x11\xaa\xf3\xb3\x07\x0c/v1/accounts\x12^\n\x03Get\x12\x15.v1.AccountGetRequest\x1a\x16.v1.AccountGetResponse\"(\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x16\xaa\xf3\xb3\x07\x11/v1/accounts/{id}\x12g\n\x06Update\x12\x18.v1.AccountUpdateRequest\x1a\x19.v1.AccountUpdateResponse\"(\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03put\x82\xf9\xb3\x07\x16\xaa\xf3\xb3\x07\x11/v1/accounts/{id}\x12j\n\x06\x44\x65lete\x12\x18.v1.AccountDeleteRequest\x1a\x19.v1.AccountDeleteResponse\"+\x82\xf9\xb3\x07\x0b\xa2\xf3\xb3\x07\x06\x64\x65lete\x82\xf9\xb3\x07\x16\xaa\xf3\xb3\x07\x11/v1/accounts/{id}\x12\\\n\x04List\x12\x16.v1.AccountListRequest\x1a\x17.v1.AccountListResponse\"#\x82\xf9\xb3\x07\x08\xa2\xf3\xb3\x07\x03get\x82\xf9\xb3\x07\x11\xaa\xf3\xb3\x07\x0c/v1/accounts\x1a\'\xca\xf9\xb3\x07\x0c\xc2\xf9\xb3\x07\x07\x41\x63\x63ount\xca\xf9\xb3\x07\x07\xd2\xf9\xb3\x07\x02\x61-\xca\xf9\xb3\x07\x05\xe0\xf9\xb3\x07\x01\x42\x64\n\x19\x63om.strongdm.api.plumbingB\x10\x41\x63\x63ountsPlumbingZ5github.com/strongdm/strongdm-sdk-go/v3/internal/v1;v1b\x06proto3')
36
37
 
37
38
 
38
39
 
@@ -163,6 +164,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
163
164
  _ACCOUNTCREATERESPONSE.fields_by_name['token']._serialized_options = b'\362\370\263\007\n\260\363\263\007\001\360\363\263\007\001'
164
165
  _ACCOUNTCREATERESPONSE.fields_by_name['rate_limit']._options = None
165
166
  _ACCOUNTCREATERESPONSE.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'
167
+ _ACCOUNTCREATERESPONSE.fields_by_name['access_key']._options = None
168
+ _ACCOUNTCREATERESPONSE.fields_by_name['access_key']._serialized_options = b'\362\370\263\007#\260\363\263\007\001\262\364\263\007\001*\262\364\263\007\023!terraform-provider'
169
+ _ACCOUNTCREATERESPONSE.fields_by_name['secret_key']._options = None
170
+ _ACCOUNTCREATERESPONSE.fields_by_name['secret_key']._serialized_options = b'\362\370\263\007#\260\363\263\007\001\262\364\263\007\001*\262\364\263\007\023!terraform-provider'
166
171
  _ACCOUNTCREATERESPONSE._options = None
167
172
  _ACCOUNTCREATERESPONSE._serialized_options = b'\372\370\263\007\005\250\363\263\007\001'
168
173
  _ACCOUNTGETREQUEST.fields_by_name['id']._options = None
@@ -206,7 +211,7 @@ if _descriptor._USE_C_DESCRIPTORS == False:
206
211
  _ACCOUNT.fields_by_name['service']._options = None
207
212
  _ACCOUNT.fields_by_name['service']._serialized_options = b'\362\370\263\007\005\260\363\263\007\001'
208
213
  _ACCOUNT.fields_by_name['token']._options = None
209
- _ACCOUNT.fields_by_name['token']._serialized_options = b'\362\370\263\007\017\262\364\263\007\ngo_private'
214
+ _ACCOUNT.fields_by_name['token']._serialized_options = b'\362\370\263\007\005\260\363\263\007\001'
210
215
  _ACCOUNT._options = None
211
216
  _ACCOUNT._serialized_options = b'\372\370\263\007\005\250\363\263\007\001\372\370\263\007R\302\363\263\007M\242\363\263\007 tf_examples/account_resource.txt\252\363\263\007#tf_examples/account_data_source.txt'
212
217
  _USER.fields_by_name['id']._options = None
@@ -255,10 +260,16 @@ if _descriptor._USE_C_DESCRIPTORS == False:
255
260
  _TOKEN.fields_by_name['rekeyed']._serialized_options = b'\362\370\263\007\005\260\363\263\007\001'
256
261
  _TOKEN.fields_by_name['deadline']._options = None
257
262
  _TOKEN.fields_by_name['deadline']._serialized_options = b'\362\370\263\007\005\260\363\263\007\001'
263
+ _TOKEN.fields_by_name['account_type']._options = None
264
+ _TOKEN.fields_by_name['account_type']._serialized_options = b'\362\370\263\007\005\260\363\263\007\001'
265
+ _TOKEN.fields_by_name['permissions']._options = None
266
+ _TOKEN.fields_by_name['permissions']._serialized_options = b'\362\370\263\007\005\260\363\263\007\001'
267
+ _TOKEN.fields_by_name['duration']._options = None
268
+ _TOKEN.fields_by_name['duration']._serialized_options = b'\362\370\263\007\005\260\363\263\007\001'
258
269
  _TOKEN._options = None
259
- _TOKEN._serialized_options = b'\372\370\263\007\024\250\363\263\007\001\322\363\263\007\ngo_private'
270
+ _TOKEN._serialized_options = b'\372\370\263\007\n\250\363\263\007\001\330\363\263\007\001'
260
271
  _ACCOUNTS._options = None
261
- _ACCOUNTS._serialized_options = b'\312\371\263\007\014\302\371\263\007\007Account\312\371\263\007\007\322\371\263\007\002a-'
272
+ _ACCOUNTS._serialized_options = b'\312\371\263\007\014\302\371\263\007\007Account\312\371\263\007\007\322\371\263\007\002a-\312\371\263\007\005\340\371\263\007\001'
262
273
  _ACCOUNTS.methods_by_name['Create']._options = None
263
274
  _ACCOUNTS.methods_by_name['Create']._serialized_options = b'\202\371\263\007\t\242\363\263\007\004post\202\371\263\007\021\252\363\263\007\014/v1/accounts'
264
275
  _ACCOUNTS.methods_by_name['Get']._options = None
@@ -269,34 +280,34 @@ if _descriptor._USE_C_DESCRIPTORS == False:
269
280
  _ACCOUNTS.methods_by_name['Delete']._serialized_options = b'\202\371\263\007\013\242\363\263\007\006delete\202\371\263\007\026\252\363\263\007\021/v1/accounts/{id}'
270
281
  _ACCOUNTS.methods_by_name['List']._options = None
271
282
  _ACCOUNTS.methods_by_name['List']._serialized_options = b'\202\371\263\007\010\242\363\263\007\003get\202\371\263\007\021\252\363\263\007\014/v1/accounts'
272
- _ACCOUNTCREATEREQUEST._serialized_start=94
273
- _ACCOUNTCREATEREQUEST._serialized_end=199
274
- _ACCOUNTCREATERESPONSE._serialized_start=202
275
- _ACCOUNTCREATERESPONSE._serialized_end=454
276
- _ACCOUNTGETREQUEST._serialized_start=456
277
- _ACCOUNTGETREQUEST._serialized_end=537
278
- _ACCOUNTGETRESPONSE._serialized_start=540
279
- _ACCOUNTGETRESPONSE._serialized_end=754
280
- _ACCOUNTUPDATEREQUEST._serialized_start=756
281
- _ACCOUNTUPDATEREQUEST._serialized_end=873
282
- _ACCOUNTUPDATERESPONSE._serialized_start=876
283
- _ACCOUNTUPDATERESPONSE._serialized_end=1096
284
- _ACCOUNTDELETEREQUEST._serialized_start=1098
285
- _ACCOUNTDELETEREQUEST._serialized_end=1185
286
- _ACCOUNTDELETERESPONSE._serialized_start=1188
287
- _ACCOUNTDELETERESPONSE._serialized_end=1366
288
- _ACCOUNTLISTREQUEST._serialized_start=1368
289
- _ACCOUNTLISTREQUEST._serialized_end=1455
290
- _ACCOUNTLISTRESPONSE._serialized_start=1458
291
- _ACCOUNTLISTRESPONSE._serialized_end=1651
292
- _ACCOUNT._serialized_start=1654
293
- _ACCOUNT._serialized_end=1940
294
- _USER._serialized_start=1943
295
- _USER._serialized_end=2793
296
- _SERVICE._serialized_start=2796
297
- _SERVICE._serialized_end=2939
298
- _TOKEN._serialized_start=2942
299
- _TOKEN._serialized_end=3213
300
- _ACCOUNTS._serialized_start=3216
301
- _ACCOUNTS._serialized_end=3761
283
+ _ACCOUNTCREATEREQUEST._serialized_start=126
284
+ _ACCOUNTCREATEREQUEST._serialized_end=231
285
+ _ACCOUNTCREATERESPONSE._serialized_start=234
286
+ _ACCOUNTCREATERESPONSE._serialized_end=610
287
+ _ACCOUNTGETREQUEST._serialized_start=612
288
+ _ACCOUNTGETREQUEST._serialized_end=693
289
+ _ACCOUNTGETRESPONSE._serialized_start=696
290
+ _ACCOUNTGETRESPONSE._serialized_end=910
291
+ _ACCOUNTUPDATEREQUEST._serialized_start=912
292
+ _ACCOUNTUPDATEREQUEST._serialized_end=1029
293
+ _ACCOUNTUPDATERESPONSE._serialized_start=1032
294
+ _ACCOUNTUPDATERESPONSE._serialized_end=1252
295
+ _ACCOUNTDELETEREQUEST._serialized_start=1254
296
+ _ACCOUNTDELETEREQUEST._serialized_end=1341
297
+ _ACCOUNTDELETERESPONSE._serialized_start=1344
298
+ _ACCOUNTDELETERESPONSE._serialized_end=1522
299
+ _ACCOUNTLISTREQUEST._serialized_start=1524
300
+ _ACCOUNTLISTREQUEST._serialized_end=1611
301
+ _ACCOUNTLISTRESPONSE._serialized_start=1614
302
+ _ACCOUNTLISTRESPONSE._serialized_end=1807
303
+ _ACCOUNT._serialized_start=1810
304
+ _ACCOUNT._serialized_end=2086
305
+ _USER._serialized_start=2089
306
+ _USER._serialized_end=2939
307
+ _SERVICE._serialized_start=2942
308
+ _SERVICE._serialized_end=3085
309
+ _TOKEN._serialized_start=3088
310
+ _TOKEN._serialized_end=3473
311
+ _ACCOUNTS._serialized_start=3476
312
+ _ACCOUNTS._serialized_end=4031
302
313
  # @@protoc_insertion_point(module_scope)
@@ -23,6 +23,7 @@ class AccountsStub(object):
23
23
  """Accounts are users that have access to strongDM. There are two types of accounts:
24
24
  1. **Users:** humans who are authenticated through username and password or SSO.
25
25
  2. **Service Accounts:** machines that are authenticated using a service token.
26
+ 3. **Tokens** are access keys with permissions that can be used for authentication.
26
27
  """
27
28
 
28
29
  def __init__(self, channel):
@@ -62,6 +63,7 @@ class AccountsServicer(object):
62
63
  """Accounts are users that have access to strongDM. There are two types of accounts:
63
64
  1. **Users:** humans who are authenticated through username and password or SSO.
64
65
  2. **Service Accounts:** machines that are authenticated using a service token.
66
+ 3. **Tokens** are access keys with permissions that can be used for authentication.
65
67
  """
66
68
 
67
69
  def Create(self, request, context):
@@ -138,6 +140,7 @@ class Accounts(object):
138
140
  """Accounts are users that have access to strongDM. There are two types of accounts:
139
141
  1. **Users:** humans who are authenticated through username and password or SSO.
140
142
  2. **Service Accounts:** machines that are authenticated using a service token.
143
+ 3. **Tokens** are access keys with permissions that can be used for authentication.
141
144
  """
142
145
 
143
146
  @staticmethod
@@ -32,8 +32,8 @@ from . import svc
32
32
  DEFAULT_MAX_RETRIES = 3
33
33
  DEFAULT_BASE_RETRY_DELAY = 0.0030 # 30 ms
34
34
  DEFAULT_MAX_RETRY_DELAY = 300 # 300 seconds
35
- API_VERSION = '2024-03-14'
36
- USER_AGENT = 'strongdm-sdk-python/7.1.1'
35
+ API_VERSION = '2024-03-28'
36
+ USER_AGENT = 'strongdm-sdk-python/8.1.0'
37
37
 
38
38
 
39
39
  class Client:
@@ -139,6 +139,7 @@ class Client:
139
139
  Accounts are users that have access to strongDM. There are two types of accounts:
140
140
  1. **Users:** humans who are authenticated through username and password or SSO.
141
141
  2. **Service Accounts:** machines that are authenticated using a service token.
142
+ 3. **Tokens** are access keys with permissions that can be used for authentication.
142
143
 
143
144
  See `strongdm.svc.Accounts`.
144
145
  '''
@@ -426,7 +427,8 @@ class Client:
426
427
  return hmac.new(key, msg=msg_byte_string,
427
428
  digestmod=hashlib.sha256).digest()
428
429
 
429
- current_utc_date = datetime.datetime.utcnow().strftime('%Y-%m-%d')
430
+ current_utc_date = datetime.datetime.now(
431
+ datetime.timezone.utc).strftime('%Y-%m-%d')
430
432
  signing_key = hmac_digest(self.api_secret, current_utc_date.encode())
431
433
  signing_key = hmac_digest(signing_key, b'sdm_api_v1')
432
434
 
@@ -549,6 +551,7 @@ class SnapshotClient:
549
551
  Accounts are users that have access to strongDM. There are two types of accounts:
550
552
  1. **Users:** humans who are authenticated through username and password or SSO.
551
553
  2. **Service Accounts:** machines that are authenticated using a service token.
554
+ 3. **Tokens** are access keys with permissions that can be used for authentication.
552
555
 
553
556
  See `strongdm.svc.SnapshotAccounts`.
554
557
  '''
@@ -240,9 +240,13 @@ class ActivityVerb:
240
240
  REMOTE_IDENTITY_GROUP_CREATED = "remote identity group created"
241
241
  REMOTE_IDENTITY_GROUP_UPDATED = "remote identity group updated"
242
242
  REMOTE_IDENTITY_GROUP_DELETED = "remote identity group deleted"
243
+ IDENTITY_SET_PROVISIONING_ENABLED = "identity set provisioning enabled"
244
+ IDENTITY_SET_PROVISIONING_DISABLED = "identity set provisioning disabled"
243
245
  REMOTE_IDENTITY_CREATED = "remote identity created"
244
246
  REMOTE_IDENTITY_UPDATED = "remote identity updated"
245
247
  REMOTE_IDENTITY_DELETED = "remote identity deleted"
248
+ IDENTITY_ALIAS_PROVISIONING_ENABLED = "identity alias provisioning enabled"
249
+ IDENTITY_ALIAS_PROVISIONING_DISABLED = "identity alias provisioning disabled"
246
250
  ACCESS_REQUESTED_TO_RESOURCE = "access requested to resource"
247
251
  ACCESS_REQUEST_TO_RESOURCE_APPROVAL_ADDED = "access request to resource approval added"
248
252
  ACCESS_REQUEST_TO_RESOURCE_CANCELED = "access request to resource canceled"
@@ -2153,19 +2153,27 @@ class AccountCreateResponse:
2153
2153
  AccountCreateResponse reports how the Accounts were created in the system.
2154
2154
  '''
2155
2155
  __slots__ = [
2156
+ 'access_key',
2156
2157
  'account',
2157
2158
  'meta',
2158
2159
  'rate_limit',
2160
+ 'secret_key',
2159
2161
  'token',
2160
2162
  ]
2161
2163
 
2162
2164
  def __init__(
2163
2165
  self,
2166
+ access_key=None,
2164
2167
  account=None,
2165
2168
  meta=None,
2166
2169
  rate_limit=None,
2170
+ secret_key=None,
2167
2171
  token=None,
2168
2172
  ):
2173
+ self.access_key = access_key if access_key is not None else ''
2174
+ '''
2175
+ ID part of the API key.
2176
+ '''
2169
2177
  self.account = account if account is not None else None
2170
2178
  '''
2171
2179
  The created Account.
@@ -2178,6 +2186,10 @@ class AccountCreateResponse:
2178
2186
  '''
2179
2187
  Rate limit information.
2180
2188
  '''
2189
+ self.secret_key = secret_key if secret_key is not None else ''
2190
+ '''
2191
+ Secret part of the API key.
2192
+ '''
2181
2193
  self.token = token if token is not None else ''
2182
2194
  '''
2183
2195
  The auth token generated for the Account. The Account will use this token to
@@ -2186,26 +2198,32 @@ class AccountCreateResponse:
2186
2198
 
2187
2199
  def __repr__(self):
2188
2200
  return '<sdm.AccountCreateResponse ' + \
2201
+ 'access_key: ' + repr(self.access_key) + ' ' +\
2189
2202
  'account: ' + repr(self.account) + ' ' +\
2190
2203
  'meta: ' + repr(self.meta) + ' ' +\
2191
2204
  'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2205
+ 'secret_key: ' + repr(self.secret_key) + ' ' +\
2192
2206
  'token: ' + repr(self.token) + ' ' +\
2193
2207
  '>'
2194
2208
 
2195
2209
  def to_dict(self):
2196
2210
  return {
2211
+ 'access_key': self.access_key,
2197
2212
  'account': self.account,
2198
2213
  'meta': self.meta,
2199
2214
  'rate_limit': self.rate_limit,
2215
+ 'secret_key': self.secret_key,
2200
2216
  'token': self.token,
2201
2217
  }
2202
2218
 
2203
2219
  @classmethod
2204
2220
  def from_dict(cls, d):
2205
2221
  return cls(
2222
+ access_key=d.get('access_key'),
2206
2223
  account=d.get('account'),
2207
2224
  meta=d.get('meta'),
2208
2225
  rate_limit=d.get('rate_limit'),
2226
+ secret_key=d.get('secret_key'),
2209
2227
  token=d.get('token'),
2210
2228
  )
2211
2229
 
@@ -10475,6 +10493,157 @@ class HTTPNoAuth:
10475
10493
  )
10476
10494
 
10477
10495
 
10496
+ class KeyfactorX509Store:
10497
+ __slots__ = [
10498
+ 'ca_file_path',
10499
+ 'certificate_file_path',
10500
+ 'default_certificate_authority_name',
10501
+ 'default_certificate_profile_name',
10502
+ 'default_end_entity_profile_name',
10503
+ 'enrollment_code_env_var',
10504
+ 'enrollment_username_env_var',
10505
+ 'id',
10506
+ 'key_file_path',
10507
+ 'key_password_env_var',
10508
+ 'name',
10509
+ 'server_address',
10510
+ 'tags',
10511
+ ]
10512
+
10513
+ def __init__(
10514
+ self,
10515
+ ca_file_path=None,
10516
+ certificate_file_path=None,
10517
+ default_certificate_authority_name=None,
10518
+ default_certificate_profile_name=None,
10519
+ default_end_entity_profile_name=None,
10520
+ enrollment_code_env_var=None,
10521
+ enrollment_username_env_var=None,
10522
+ id=None,
10523
+ key_file_path=None,
10524
+ key_password_env_var=None,
10525
+ name=None,
10526
+ server_address=None,
10527
+ tags=None,
10528
+ ):
10529
+ self.ca_file_path = ca_file_path if ca_file_path is not None else ''
10530
+ '''
10531
+ Path to the root CA that signed the certificate passed to the client for HTTPS connection.
10532
+ This is not required if the CA is trusted by the host operating system. This should be a PEM
10533
+ formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
10534
+ '''
10535
+ self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
10536
+ '''
10537
+ Path to client certificate in PEM format. This certificate must contain a client certificate that
10538
+ is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
10539
+ key associated with the certificate, but KeyFile can also be set to configure the private key.
10540
+ '''
10541
+ self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
10542
+ '''
10543
+ Name of EJBCA certificate authority that will enroll CSR.
10544
+ '''
10545
+ self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
10546
+ '''
10547
+ Certificate profile name that EJBCA will enroll the CSR with.
10548
+ '''
10549
+ self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
10550
+ '''
10551
+ End entity profile that EJBCA will enroll the CSR with.
10552
+ '''
10553
+ self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
10554
+ '''
10555
+ code used by EJBCA during enrollment. May be left blank if no code is required.
10556
+ '''
10557
+ self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
10558
+ '''
10559
+ username that used by the EJBCA during enrollment. This can be left out.
10560
+ If so, the username must be auto-generated on the Keyfactor side.
10561
+ '''
10562
+ self.id = id if id is not None else ''
10563
+ '''
10564
+ Unique identifier of the SecretStore.
10565
+ '''
10566
+ self.key_file_path = key_file_path if key_file_path is not None else ''
10567
+ '''
10568
+ Path to private key in PEM format. This file should contain the private key associated with the
10569
+ client certificate configured in CertificateFile.
10570
+ '''
10571
+ self.key_password_env_var = key_password_env_var if key_password_env_var is not None else ''
10572
+ '''
10573
+ optional environment variable housing the password that is used to decrypt the key file.
10574
+ '''
10575
+ self.name = name if name is not None else ''
10576
+ '''
10577
+ Unique human-readable name of the SecretStore.
10578
+ '''
10579
+ self.server_address = server_address if server_address is not None else ''
10580
+ '''
10581
+ the host of the Key Factor CA
10582
+ '''
10583
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10584
+ '''
10585
+ Tags is a map of key, value pairs.
10586
+ '''
10587
+
10588
+ def __repr__(self):
10589
+ return '<sdm.KeyfactorX509Store ' + \
10590
+ 'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
10591
+ 'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
10592
+ 'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
10593
+ 'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
10594
+ 'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
10595
+ 'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
10596
+ 'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
10597
+ 'id: ' + repr(self.id) + ' ' +\
10598
+ 'key_file_path: ' + repr(self.key_file_path) + ' ' +\
10599
+ 'key_password_env_var: ' + repr(self.key_password_env_var) + ' ' +\
10600
+ 'name: ' + repr(self.name) + ' ' +\
10601
+ 'server_address: ' + repr(self.server_address) + ' ' +\
10602
+ 'tags: ' + repr(self.tags) + ' ' +\
10603
+ '>'
10604
+
10605
+ def to_dict(self):
10606
+ return {
10607
+ 'ca_file_path': self.ca_file_path,
10608
+ 'certificate_file_path': self.certificate_file_path,
10609
+ 'default_certificate_authority_name':
10610
+ self.default_certificate_authority_name,
10611
+ 'default_certificate_profile_name':
10612
+ self.default_certificate_profile_name,
10613
+ 'default_end_entity_profile_name':
10614
+ self.default_end_entity_profile_name,
10615
+ 'enrollment_code_env_var': self.enrollment_code_env_var,
10616
+ 'enrollment_username_env_var': self.enrollment_username_env_var,
10617
+ 'id': self.id,
10618
+ 'key_file_path': self.key_file_path,
10619
+ 'key_password_env_var': self.key_password_env_var,
10620
+ 'name': self.name,
10621
+ 'server_address': self.server_address,
10622
+ 'tags': self.tags,
10623
+ }
10624
+
10625
+ @classmethod
10626
+ def from_dict(cls, d):
10627
+ return cls(
10628
+ ca_file_path=d.get('ca_file_path'),
10629
+ certificate_file_path=d.get('certificate_file_path'),
10630
+ default_certificate_authority_name=d.get(
10631
+ 'default_certificate_authority_name'),
10632
+ default_certificate_profile_name=d.get(
10633
+ 'default_certificate_profile_name'),
10634
+ default_end_entity_profile_name=d.get(
10635
+ 'default_end_entity_profile_name'),
10636
+ enrollment_code_env_var=d.get('enrollment_code_env_var'),
10637
+ enrollment_username_env_var=d.get('enrollment_username_env_var'),
10638
+ id=d.get('id'),
10639
+ key_file_path=d.get('key_file_path'),
10640
+ key_password_env_var=d.get('key_password_env_var'),
10641
+ name=d.get('name'),
10642
+ server_address=d.get('server_address'),
10643
+ tags=d.get('tags'),
10644
+ )
10645
+
10646
+
10478
10647
  class Kubernetes:
10479
10648
  __slots__ = [
10480
10649
  'bind_interface',
@@ -20826,6 +20995,113 @@ class Teradata:
20826
20995
  )
20827
20996
 
20828
20997
 
20998
+ class Token:
20999
+ '''
21000
+ A Token is an account providing tokenized access for automation or integration use.
21001
+ Tokens include admin tokens, API keys, and SCIM tokens.
21002
+ '''
21003
+ __slots__ = [
21004
+ 'account_type',
21005
+ 'deadline',
21006
+ 'duration',
21007
+ 'id',
21008
+ 'name',
21009
+ 'permissions',
21010
+ 'rekeyed',
21011
+ 'suspended',
21012
+ 'tags',
21013
+ ]
21014
+
21015
+ def __init__(
21016
+ self,
21017
+ account_type=None,
21018
+ deadline=None,
21019
+ duration=None,
21020
+ id=None,
21021
+ name=None,
21022
+ permissions=None,
21023
+ rekeyed=None,
21024
+ suspended=None,
21025
+ tags=None,
21026
+ ):
21027
+ self.account_type = account_type if account_type is not None else ''
21028
+ '''
21029
+ Corresponds to the type of token, e.g. api or admin-token.
21030
+ '''
21031
+ self.deadline = deadline if deadline is not None else None
21032
+ '''
21033
+ The timestamp when the Token will expire.
21034
+ '''
21035
+ self.duration = duration if duration is not None else None
21036
+ '''
21037
+ Duration from token creation to expiration.
21038
+ '''
21039
+ self.id = id if id is not None else ''
21040
+ '''
21041
+ Unique identifier of the Token.
21042
+ '''
21043
+ self.name = name if name is not None else ''
21044
+ '''
21045
+ Unique human-readable name of the Token.
21046
+ '''
21047
+ self.permissions = permissions if permissions is not None else []
21048
+ '''
21049
+ Permissions assigned to the token, e.g. role:create.
21050
+ '''
21051
+ self.rekeyed = rekeyed if rekeyed is not None else None
21052
+ '''
21053
+ The timestamp when the Token was last rekeyed.
21054
+ '''
21055
+ self.suspended = suspended if suspended is not None else False
21056
+ '''
21057
+ Reserved for future use. Always false for tokens.
21058
+ '''
21059
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21060
+ '''
21061
+ Tags is a map of key, value pairs.
21062
+ '''
21063
+
21064
+ def __repr__(self):
21065
+ return '<sdm.Token ' + \
21066
+ 'account_type: ' + repr(self.account_type) + ' ' +\
21067
+ 'deadline: ' + repr(self.deadline) + ' ' +\
21068
+ 'duration: ' + repr(self.duration) + ' ' +\
21069
+ 'id: ' + repr(self.id) + ' ' +\
21070
+ 'name: ' + repr(self.name) + ' ' +\
21071
+ 'permissions: ' + repr(self.permissions) + ' ' +\
21072
+ 'rekeyed: ' + repr(self.rekeyed) + ' ' +\
21073
+ 'suspended: ' + repr(self.suspended) + ' ' +\
21074
+ 'tags: ' + repr(self.tags) + ' ' +\
21075
+ '>'
21076
+
21077
+ def to_dict(self):
21078
+ return {
21079
+ 'account_type': self.account_type,
21080
+ 'deadline': self.deadline,
21081
+ 'duration': self.duration,
21082
+ 'id': self.id,
21083
+ 'name': self.name,
21084
+ 'permissions': self.permissions,
21085
+ 'rekeyed': self.rekeyed,
21086
+ 'suspended': self.suspended,
21087
+ 'tags': self.tags,
21088
+ }
21089
+
21090
+ @classmethod
21091
+ def from_dict(cls, d):
21092
+ return cls(
21093
+ account_type=d.get('account_type'),
21094
+ deadline=d.get('deadline'),
21095
+ duration=d.get('duration'),
21096
+ id=d.get('id'),
21097
+ name=d.get('name'),
21098
+ permissions=d.get('permissions'),
21099
+ rekeyed=d.get('rekeyed'),
21100
+ suspended=d.get('suspended'),
21101
+ tags=d.get('tags'),
21102
+ )
21103
+
21104
+
20829
21105
  class Trino:
20830
21106
  '''
20831
21107
  Trino is currently unstable, and its API may change, or it may be removed,