strongdm 13.11.0__zip → 13.12.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 (151) hide show
  1. {strongdm-13.11.0 → strongdm-13.12.0}/PKG-INFO +2 -2
  2. {strongdm-13.11.0 → strongdm-13.12.0}/setup.py +2 -2
  3. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/client.py +15 -1
  4. strongdm-13.12.0/strongdm/managed_secrets_pb2.py +460 -0
  5. strongdm-13.12.0/strongdm/managed_secrets_pb2_grpc.py +398 -0
  6. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/models.py +2399 -303
  7. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/plumbing.py +4506 -2894
  8. strongdm-13.12.0/strongdm/secret_engine_policy_pb2.py +78 -0
  9. strongdm-13.12.0/strongdm/secret_engine_types_pb2.py +147 -0
  10. strongdm-13.12.0/strongdm/secret_engines_pb2.py +325 -0
  11. strongdm-13.12.0/strongdm/secret_engines_pb2_grpc.py +355 -0
  12. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/svc.py +686 -0
  13. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm.egg-info/PKG-INFO +2 -2
  14. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm.egg-info/SOURCES.txt +6 -0
  15. {strongdm-13.11.0 → strongdm-13.12.0}/LICENSE +0 -0
  16. {strongdm-13.11.0 → strongdm-13.12.0}/README.md +0 -0
  17. {strongdm-13.11.0 → strongdm-13.12.0}/setup.cfg +0 -0
  18. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/__init__.py +0 -0
  19. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/access_request_events_history_pb2.py +0 -0
  20. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/access_request_events_history_pb2_grpc.py +0 -0
  21. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/access_requests_history_pb2.py +0 -0
  22. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/access_requests_history_pb2_grpc.py +0 -0
  23. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/access_requests_pb2.py +0 -0
  24. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/access_requests_pb2_grpc.py +0 -0
  25. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/account_attachments_history_pb2.py +0 -0
  26. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/account_attachments_history_pb2_grpc.py +0 -0
  27. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/account_attachments_pb2.py +0 -0
  28. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/account_attachments_pb2_grpc.py +0 -0
  29. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/account_grants_history_pb2.py +0 -0
  30. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/account_grants_history_pb2_grpc.py +0 -0
  31. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/account_grants_pb2.py +0 -0
  32. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/account_grants_pb2_grpc.py +0 -0
  33. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/account_permissions_pb2.py +0 -0
  34. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/account_permissions_pb2_grpc.py +0 -0
  35. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/account_resources_history_pb2.py +0 -0
  36. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/account_resources_history_pb2_grpc.py +0 -0
  37. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/account_resources_pb2.py +0 -0
  38. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/account_resources_pb2_grpc.py +0 -0
  39. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/accounts_history_pb2.py +0 -0
  40. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/accounts_history_pb2_grpc.py +0 -0
  41. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/accounts_pb2.py +0 -0
  42. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/accounts_pb2_grpc.py +0 -0
  43. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/activities_pb2.py +0 -0
  44. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/activities_pb2_grpc.py +0 -0
  45. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/approval_workflow_approvers_history_pb2.py +0 -0
  46. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/approval_workflow_approvers_history_pb2_grpc.py +0 -0
  47. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/approval_workflow_approvers_pb2.py +0 -0
  48. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/approval_workflow_approvers_pb2_grpc.py +0 -0
  49. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/approval_workflow_steps_history_pb2.py +0 -0
  50. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/approval_workflow_steps_history_pb2_grpc.py +0 -0
  51. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/approval_workflow_steps_pb2.py +0 -0
  52. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/approval_workflow_steps_pb2_grpc.py +0 -0
  53. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/approval_workflows_history_pb2.py +0 -0
  54. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/approval_workflows_history_pb2_grpc.py +0 -0
  55. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/approval_workflows_pb2.py +0 -0
  56. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/approval_workflows_pb2_grpc.py +0 -0
  57. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/constants.py +0 -0
  58. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/control_panel_pb2.py +0 -0
  59. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/control_panel_pb2_grpc.py +0 -0
  60. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/drivers_pb2.py +0 -0
  61. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/drivers_pb2_grpc.py +0 -0
  62. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/errors.py +0 -0
  63. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/health_checks_pb2.py +0 -0
  64. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/health_checks_pb2_grpc.py +0 -0
  65. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/identity_aliases_history_pb2.py +0 -0
  66. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/identity_aliases_history_pb2_grpc.py +0 -0
  67. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/identity_aliases_pb2.py +0 -0
  68. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/identity_aliases_pb2_grpc.py +0 -0
  69. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/identity_sets_history_pb2.py +0 -0
  70. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/identity_sets_history_pb2_grpc.py +0 -0
  71. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/identity_sets_pb2.py +0 -0
  72. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/identity_sets_pb2_grpc.py +0 -0
  73. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/nodes_history_pb2.py +0 -0
  74. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/nodes_history_pb2_grpc.py +0 -0
  75. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/nodes_pb2.py +0 -0
  76. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/nodes_pb2_grpc.py +0 -0
  77. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/options_pb2.py +0 -0
  78. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/options_pb2_grpc.py +0 -0
  79. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/organization_history_pb2.py +0 -0
  80. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/organization_history_pb2_grpc.py +0 -0
  81. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/peering_group_nodes_pb2.py +0 -0
  82. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/peering_group_nodes_pb2_grpc.py +0 -0
  83. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/peering_group_peers_pb2.py +0 -0
  84. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/peering_group_peers_pb2_grpc.py +0 -0
  85. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/peering_group_resources_pb2.py +0 -0
  86. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/peering_group_resources_pb2_grpc.py +0 -0
  87. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/peering_groups_pb2.py +0 -0
  88. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/peering_groups_pb2_grpc.py +0 -0
  89. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/policies_history_pb2.py +0 -0
  90. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/policies_history_pb2_grpc.py +0 -0
  91. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/policies_pb2.py +0 -0
  92. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/policies_pb2_grpc.py +0 -0
  93. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/proxy_cluster_keys_pb2.py +0 -0
  94. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/proxy_cluster_keys_pb2_grpc.py +0 -0
  95. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/queries_pb2.py +0 -0
  96. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/queries_pb2_grpc.py +0 -0
  97. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/remote_identities_history_pb2.py +0 -0
  98. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/remote_identities_history_pb2_grpc.py +0 -0
  99. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/remote_identities_pb2.py +0 -0
  100. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/remote_identities_pb2_grpc.py +0 -0
  101. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/remote_identity_groups_history_pb2.py +0 -0
  102. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/remote_identity_groups_history_pb2_grpc.py +0 -0
  103. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/remote_identity_groups_pb2.py +0 -0
  104. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/remote_identity_groups_pb2_grpc.py +0 -0
  105. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/replays_pb2.py +0 -0
  106. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/replays_pb2_grpc.py +0 -0
  107. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/resources_history_pb2.py +0 -0
  108. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/resources_history_pb2_grpc.py +0 -0
  109. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/resources_pb2.py +0 -0
  110. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/resources_pb2_grpc.py +0 -0
  111. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/role_resources_history_pb2.py +0 -0
  112. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/role_resources_history_pb2_grpc.py +0 -0
  113. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/role_resources_pb2.py +0 -0
  114. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/role_resources_pb2_grpc.py +0 -0
  115. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/roles_history_pb2.py +0 -0
  116. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/roles_history_pb2_grpc.py +0 -0
  117. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/roles_pb2.py +0 -0
  118. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/roles_pb2_grpc.py +0 -0
  119. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/secret_engine_policy_pb2_grpc.py +0 -0
  120. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/secret_engine_types_pb2_grpc.py +0 -0
  121. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/secret_store_healths_pb2.py +0 -0
  122. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/secret_store_healths_pb2_grpc.py +0 -0
  123. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/secret_store_types_pb2.py +0 -0
  124. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/secret_store_types_pb2_grpc.py +0 -0
  125. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/secret_stores_history_pb2.py +0 -0
  126. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/secret_stores_history_pb2_grpc.py +0 -0
  127. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/secret_stores_pb2.py +0 -0
  128. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/secret_stores_pb2_grpc.py +0 -0
  129. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/spec_pb2.py +0 -0
  130. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/spec_pb2_grpc.py +0 -0
  131. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/tags_pb2.py +0 -0
  132. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/tags_pb2_grpc.py +0 -0
  133. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/workflow_approvers_history_pb2.py +0 -0
  134. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/workflow_approvers_history_pb2_grpc.py +0 -0
  135. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/workflow_approvers_pb2.py +0 -0
  136. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/workflow_approvers_pb2_grpc.py +0 -0
  137. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/workflow_assignments_history_pb2.py +0 -0
  138. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/workflow_assignments_history_pb2_grpc.py +0 -0
  139. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/workflow_assignments_pb2.py +0 -0
  140. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/workflow_assignments_pb2_grpc.py +0 -0
  141. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/workflow_roles_history_pb2.py +0 -0
  142. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/workflow_roles_history_pb2_grpc.py +0 -0
  143. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/workflow_roles_pb2.py +0 -0
  144. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/workflow_roles_pb2_grpc.py +0 -0
  145. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/workflows_history_pb2.py +0 -0
  146. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/workflows_history_pb2_grpc.py +0 -0
  147. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/workflows_pb2.py +0 -0
  148. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm/workflows_pb2_grpc.py +0 -0
  149. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm.egg-info/dependency_links.txt +0 -0
  150. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm.egg-info/requires.txt +0 -0
  151. {strongdm-13.11.0 → strongdm-13.12.0}/strongdm.egg-info/top_level.txt +0 -0
@@ -3273,6 +3273,231 @@ class AccountUpdateResponse:
3273
3273
  )
3274
3274
 
3275
3275
 
3276
+ class ActiveDirectoryEngine:
3277
+ '''
3278
+ ActiveDirectoryEngine is currently unstable, and its API may change, or it may be removed,
3279
+ without a major version bump.
3280
+ '''
3281
+ __slots__ = [
3282
+ 'after_read_ttl',
3283
+ 'binddn',
3284
+ 'bindpass',
3285
+ 'certificate',
3286
+ 'connection_timeout',
3287
+ 'do_not_validate_timestamps',
3288
+ 'id',
3289
+ 'insecure_tls',
3290
+ 'key_rotation_interval_days',
3291
+ 'max_backoff_duration',
3292
+ 'name',
3293
+ 'policy',
3294
+ 'public_key',
3295
+ 'request_timeout',
3296
+ 'secret_store_id',
3297
+ 'secret_store_root_path',
3298
+ 'start_tls',
3299
+ 'tags',
3300
+ 'ttl',
3301
+ 'upndomain',
3302
+ 'url',
3303
+ 'userdn',
3304
+ ]
3305
+
3306
+ def __init__(
3307
+ self,
3308
+ after_read_ttl=None,
3309
+ binddn=None,
3310
+ bindpass=None,
3311
+ certificate=None,
3312
+ connection_timeout=None,
3313
+ do_not_validate_timestamps=None,
3314
+ id=None,
3315
+ insecure_tls=None,
3316
+ key_rotation_interval_days=None,
3317
+ max_backoff_duration=None,
3318
+ name=None,
3319
+ policy=None,
3320
+ public_key=None,
3321
+ request_timeout=None,
3322
+ secret_store_id=None,
3323
+ secret_store_root_path=None,
3324
+ start_tls=None,
3325
+ tags=None,
3326
+ ttl=None,
3327
+ upndomain=None,
3328
+ url=None,
3329
+ userdn=None,
3330
+ ):
3331
+ self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
3332
+ '''
3333
+ The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
3334
+ '''
3335
+ self.binddn = binddn if binddn is not None else ''
3336
+ '''
3337
+ Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com
3338
+ '''
3339
+ self.bindpass = bindpass if bindpass is not None else ''
3340
+ '''
3341
+ Password to use along with binddn when performing user search.
3342
+ '''
3343
+ self.certificate = certificate if certificate is not None else ''
3344
+ '''
3345
+ CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.
3346
+ '''
3347
+ self.connection_timeout = connection_timeout if connection_timeout is not None else 0
3348
+ '''
3349
+ Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.
3350
+ '''
3351
+ self.do_not_validate_timestamps = do_not_validate_timestamps if do_not_validate_timestamps is not None else False
3352
+ '''
3353
+ If set to true this will prevent password change timestamp validation in Active Directory when validating credentials
3354
+ '''
3355
+ self.id = id if id is not None else ''
3356
+ '''
3357
+ Unique identifier of the Secret Engine.
3358
+ '''
3359
+ self.insecure_tls = insecure_tls if insecure_tls is not None else False
3360
+ '''
3361
+ If true, skips LDAP server SSL certificate verification - insecure, use with caution!
3362
+ '''
3363
+ self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
3364
+ '''
3365
+ An interval of public/private key rotation for secret engine in days
3366
+ '''
3367
+ self.max_backoff_duration = max_backoff_duration if max_backoff_duration is not None else None
3368
+ '''
3369
+ The maximum retry duration in case of automatic failure.
3370
+ On failed ttl rotation attempt it will be retried in an increasing intervals until it reaches max_backoff_duration
3371
+ '''
3372
+ self.name = name if name is not None else ''
3373
+ '''
3374
+ Unique human-readable name of the Secret Engine.
3375
+ '''
3376
+ self.policy = policy if policy is not None else None
3377
+ '''
3378
+ Policy for password creation
3379
+ '''
3380
+ self.public_key = public_key if public_key is not None else b''
3381
+ '''
3382
+ Public key linked with a secret engine
3383
+ '''
3384
+ self.request_timeout = request_timeout if request_timeout is not None else 0
3385
+ '''
3386
+ Timeout, in seconds, for the connection when making requests against the server before returning back an error.
3387
+ '''
3388
+ self.secret_store_id = secret_store_id if secret_store_id is not None else ''
3389
+ '''
3390
+ Backing secret store identifier
3391
+ '''
3392
+ self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
3393
+ '''
3394
+ Backing Secret Store root path where managed secrets are going to be stored
3395
+ '''
3396
+ self.start_tls = start_tls if start_tls is not None else False
3397
+ '''
3398
+ If true, issues a StartTLS command after establishing an unencrypted connection.
3399
+ '''
3400
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3401
+ '''
3402
+ Tags is a map of key, value pairs.
3403
+ '''
3404
+ self.ttl = ttl if ttl is not None else None
3405
+ '''
3406
+ The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
3407
+ '''
3408
+ self.upndomain = upndomain if upndomain is not None else ''
3409
+ '''
3410
+ The domain (userPrincipalDomain) used to construct a UPN string for authentication.
3411
+ '''
3412
+ self.url = url if url is not None else ''
3413
+ '''
3414
+ The LDAP server to connect to.
3415
+ '''
3416
+ self.userdn = userdn if userdn is not None else ''
3417
+ '''
3418
+ Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com
3419
+ '''
3420
+
3421
+ def __repr__(self):
3422
+ return '<sdm.ActiveDirectoryEngine ' + \
3423
+ 'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
3424
+ 'binddn: ' + repr(self.binddn) + ' ' +\
3425
+ 'bindpass: ' + repr(self.bindpass) + ' ' +\
3426
+ 'certificate: ' + repr(self.certificate) + ' ' +\
3427
+ 'connection_timeout: ' + repr(self.connection_timeout) + ' ' +\
3428
+ 'do_not_validate_timestamps: ' + repr(self.do_not_validate_timestamps) + ' ' +\
3429
+ 'id: ' + repr(self.id) + ' ' +\
3430
+ 'insecure_tls: ' + repr(self.insecure_tls) + ' ' +\
3431
+ 'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
3432
+ 'max_backoff_duration: ' + repr(self.max_backoff_duration) + ' ' +\
3433
+ 'name: ' + repr(self.name) + ' ' +\
3434
+ 'policy: ' + repr(self.policy) + ' ' +\
3435
+ 'public_key: ' + repr(self.public_key) + ' ' +\
3436
+ 'request_timeout: ' + repr(self.request_timeout) + ' ' +\
3437
+ 'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
3438
+ 'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
3439
+ 'start_tls: ' + repr(self.start_tls) + ' ' +\
3440
+ 'tags: ' + repr(self.tags) + ' ' +\
3441
+ 'ttl: ' + repr(self.ttl) + ' ' +\
3442
+ 'upndomain: ' + repr(self.upndomain) + ' ' +\
3443
+ 'url: ' + repr(self.url) + ' ' +\
3444
+ 'userdn: ' + repr(self.userdn) + ' ' +\
3445
+ '>'
3446
+
3447
+ def to_dict(self):
3448
+ return {
3449
+ 'after_read_ttl': self.after_read_ttl,
3450
+ 'binddn': self.binddn,
3451
+ 'bindpass': self.bindpass,
3452
+ 'certificate': self.certificate,
3453
+ 'connection_timeout': self.connection_timeout,
3454
+ 'do_not_validate_timestamps': self.do_not_validate_timestamps,
3455
+ 'id': self.id,
3456
+ 'insecure_tls': self.insecure_tls,
3457
+ 'key_rotation_interval_days': self.key_rotation_interval_days,
3458
+ 'max_backoff_duration': self.max_backoff_duration,
3459
+ 'name': self.name,
3460
+ 'policy': self.policy,
3461
+ 'public_key': self.public_key,
3462
+ 'request_timeout': self.request_timeout,
3463
+ 'secret_store_id': self.secret_store_id,
3464
+ 'secret_store_root_path': self.secret_store_root_path,
3465
+ 'start_tls': self.start_tls,
3466
+ 'tags': self.tags,
3467
+ 'ttl': self.ttl,
3468
+ 'upndomain': self.upndomain,
3469
+ 'url': self.url,
3470
+ 'userdn': self.userdn,
3471
+ }
3472
+
3473
+ @classmethod
3474
+ def from_dict(cls, d):
3475
+ return cls(
3476
+ after_read_ttl=d.get('after_read_ttl'),
3477
+ binddn=d.get('binddn'),
3478
+ bindpass=d.get('bindpass'),
3479
+ certificate=d.get('certificate'),
3480
+ connection_timeout=d.get('connection_timeout'),
3481
+ do_not_validate_timestamps=d.get('do_not_validate_timestamps'),
3482
+ id=d.get('id'),
3483
+ insecure_tls=d.get('insecure_tls'),
3484
+ key_rotation_interval_days=d.get('key_rotation_interval_days'),
3485
+ max_backoff_duration=d.get('max_backoff_duration'),
3486
+ name=d.get('name'),
3487
+ policy=d.get('policy'),
3488
+ public_key=d.get('public_key'),
3489
+ request_timeout=d.get('request_timeout'),
3490
+ secret_store_id=d.get('secret_store_id'),
3491
+ secret_store_root_path=d.get('secret_store_root_path'),
3492
+ start_tls=d.get('start_tls'),
3493
+ tags=d.get('tags'),
3494
+ ttl=d.get('ttl'),
3495
+ upndomain=d.get('upndomain'),
3496
+ url=d.get('url'),
3497
+ userdn=d.get('userdn'),
3498
+ )
3499
+
3500
+
3276
3501
  class ActiveDirectoryStore:
3277
3502
  __slots__ = [
3278
3503
  'id',
@@ -12061,6 +12286,64 @@ class Gateway:
12061
12286
  )
12062
12287
 
12063
12288
 
12289
+ class GenerateKeysRequest:
12290
+ __slots__ = [
12291
+ 'secret_engine_id',
12292
+ ]
12293
+
12294
+ def __init__(
12295
+ self,
12296
+ secret_engine_id=None,
12297
+ ):
12298
+ self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
12299
+ '''
12300
+ required
12301
+ '''
12302
+
12303
+ def __repr__(self):
12304
+ return '<sdm.GenerateKeysRequest ' + \
12305
+ 'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
12306
+ '>'
12307
+
12308
+ def to_dict(self):
12309
+ return {
12310
+ 'secret_engine_id': self.secret_engine_id,
12311
+ }
12312
+
12313
+ @classmethod
12314
+ def from_dict(cls, d):
12315
+ return cls(secret_engine_id=d.get('secret_engine_id'), )
12316
+
12317
+
12318
+ class GenerateKeysResponse:
12319
+ __slots__ = [
12320
+ 'rate_limit',
12321
+ ]
12322
+
12323
+ def __init__(
12324
+ self,
12325
+ rate_limit=None,
12326
+ ):
12327
+ self.rate_limit = rate_limit if rate_limit is not None else None
12328
+ '''
12329
+ Rate limit information.
12330
+ '''
12331
+
12332
+ def __repr__(self):
12333
+ return '<sdm.GenerateKeysResponse ' + \
12334
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12335
+ '>'
12336
+
12337
+ def to_dict(self):
12338
+ return {
12339
+ 'rate_limit': self.rate_limit,
12340
+ }
12341
+
12342
+ @classmethod
12343
+ def from_dict(cls, d):
12344
+ return cls(rate_limit=d.get('rate_limit'), )
12345
+
12346
+
12064
12347
  class GenericResponseMetadata:
12065
12348
  '''
12066
12349
  GenericResponseMetadata contains common headers for generic request
@@ -13216,6 +13499,118 @@ class HealthcheckListResponse:
13216
13499
  return cls(rate_limit=d.get('rate_limit'), )
13217
13500
 
13218
13501
 
13502
+ class HealthcheckRequest:
13503
+ __slots__ = [
13504
+ 'secret_engine_id',
13505
+ ]
13506
+
13507
+ def __init__(
13508
+ self,
13509
+ secret_engine_id=None,
13510
+ ):
13511
+ self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
13512
+ '''
13513
+ required
13514
+ '''
13515
+
13516
+ def __repr__(self):
13517
+ return '<sdm.HealthcheckRequest ' + \
13518
+ 'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
13519
+ '>'
13520
+
13521
+ def to_dict(self):
13522
+ return {
13523
+ 'secret_engine_id': self.secret_engine_id,
13524
+ }
13525
+
13526
+ @classmethod
13527
+ def from_dict(cls, d):
13528
+ return cls(secret_engine_id=d.get('secret_engine_id'), )
13529
+
13530
+
13531
+ class HealthcheckResponse:
13532
+ __slots__ = [
13533
+ 'rate_limit',
13534
+ 'status',
13535
+ ]
13536
+
13537
+ def __init__(
13538
+ self,
13539
+ rate_limit=None,
13540
+ status=None,
13541
+ ):
13542
+ self.rate_limit = rate_limit if rate_limit is not None else None
13543
+ '''
13544
+ Rate limit information.
13545
+ '''
13546
+ self.status = status if status is not None else []
13547
+ '''
13548
+ Array of statuses of all nodes serving a secret engine
13549
+ '''
13550
+
13551
+ def __repr__(self):
13552
+ return '<sdm.HealthcheckResponse ' + \
13553
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13554
+ 'status: ' + repr(self.status) + ' ' +\
13555
+ '>'
13556
+
13557
+ def to_dict(self):
13558
+ return {
13559
+ 'rate_limit': self.rate_limit,
13560
+ 'status': self.status,
13561
+ }
13562
+
13563
+ @classmethod
13564
+ def from_dict(cls, d):
13565
+ return cls(
13566
+ rate_limit=d.get('rate_limit'),
13567
+ status=d.get('status'),
13568
+ )
13569
+
13570
+
13571
+ class HealthcheckStatus:
13572
+ '''
13573
+ HealthcheckStatus contains status of a node health
13574
+ '''
13575
+ __slots__ = [
13576
+ 'node_id',
13577
+ 'status',
13578
+ ]
13579
+
13580
+ def __init__(
13581
+ self,
13582
+ node_id=None,
13583
+ status=None,
13584
+ ):
13585
+ self.node_id = node_id if node_id is not None else ''
13586
+ '''
13587
+ ID of node
13588
+ '''
13589
+ self.status = status if status is not None else ''
13590
+ '''
13591
+ Status of node's health
13592
+ '''
13593
+
13594
+ def __repr__(self):
13595
+ return '<sdm.HealthcheckStatus ' + \
13596
+ 'node_id: ' + repr(self.node_id) + ' ' +\
13597
+ 'status: ' + repr(self.status) + ' ' +\
13598
+ '>'
13599
+
13600
+ def to_dict(self):
13601
+ return {
13602
+ 'node_id': self.node_id,
13603
+ 'status': self.status,
13604
+ }
13605
+
13606
+ @classmethod
13607
+ def from_dict(cls, d):
13608
+ return cls(
13609
+ node_id=d.get('node_id'),
13610
+ status=d.get('status'),
13611
+ )
13612
+
13613
+
13219
13614
  class IdentityAlias:
13220
13615
  '''
13221
13616
  IdentityAliases define the username to be used for a specific account
@@ -13850,10 +14245,99 @@ class IdentitySetUpdateResponse:
13850
14245
  )
13851
14246
 
13852
14247
 
13853
- class KeyfactorSSHStore:
14248
+ class KeyValueEngine:
14249
+ '''
14250
+ KeyValueEngine is currently unstable, and its API may change, or it may be removed,
14251
+ without a major version bump.
14252
+ '''
13854
14253
  __slots__ = [
13855
- 'ca_file_path',
13856
- 'certificate_file_path',
14254
+ 'id',
14255
+ 'key_rotation_interval_days',
14256
+ 'name',
14257
+ 'public_key',
14258
+ 'secret_store_id',
14259
+ 'secret_store_root_path',
14260
+ 'tags',
14261
+ ]
14262
+
14263
+ def __init__(
14264
+ self,
14265
+ id=None,
14266
+ key_rotation_interval_days=None,
14267
+ name=None,
14268
+ public_key=None,
14269
+ secret_store_id=None,
14270
+ secret_store_root_path=None,
14271
+ tags=None,
14272
+ ):
14273
+ self.id = id if id is not None else ''
14274
+ '''
14275
+ Unique identifier of the Secret Engine.
14276
+ '''
14277
+ self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
14278
+ '''
14279
+ An interval of public/private key rotation for secret engine in days
14280
+ '''
14281
+ self.name = name if name is not None else ''
14282
+ '''
14283
+ Unique human-readable name of the Secret Engine.
14284
+ '''
14285
+ self.public_key = public_key if public_key is not None else b''
14286
+ '''
14287
+ Public key linked with a secret engine
14288
+ '''
14289
+ self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14290
+ '''
14291
+ Backing secret store identifier
14292
+ '''
14293
+ self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
14294
+ '''
14295
+ Backing Secret Store root path where managed secrets are going to be stored
14296
+ '''
14297
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14298
+ '''
14299
+ Tags is a map of key, value pairs.
14300
+ '''
14301
+
14302
+ def __repr__(self):
14303
+ return '<sdm.KeyValueEngine ' + \
14304
+ 'id: ' + repr(self.id) + ' ' +\
14305
+ 'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
14306
+ 'name: ' + repr(self.name) + ' ' +\
14307
+ 'public_key: ' + repr(self.public_key) + ' ' +\
14308
+ 'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14309
+ 'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
14310
+ 'tags: ' + repr(self.tags) + ' ' +\
14311
+ '>'
14312
+
14313
+ def to_dict(self):
14314
+ return {
14315
+ 'id': self.id,
14316
+ 'key_rotation_interval_days': self.key_rotation_interval_days,
14317
+ 'name': self.name,
14318
+ 'public_key': self.public_key,
14319
+ 'secret_store_id': self.secret_store_id,
14320
+ 'secret_store_root_path': self.secret_store_root_path,
14321
+ 'tags': self.tags,
14322
+ }
14323
+
14324
+ @classmethod
14325
+ def from_dict(cls, d):
14326
+ return cls(
14327
+ id=d.get('id'),
14328
+ key_rotation_interval_days=d.get('key_rotation_interval_days'),
14329
+ name=d.get('name'),
14330
+ public_key=d.get('public_key'),
14331
+ secret_store_id=d.get('secret_store_id'),
14332
+ secret_store_root_path=d.get('secret_store_root_path'),
14333
+ tags=d.get('tags'),
14334
+ )
14335
+
14336
+
14337
+ class KeyfactorSSHStore:
14338
+ __slots__ = [
14339
+ 'ca_file_path',
14340
+ 'certificate_file_path',
13857
14341
  'default_certificate_authority_name',
13858
14342
  'default_certificate_profile_name',
13859
14343
  'default_end_entity_profile_name',
@@ -15600,239 +16084,1296 @@ class MTLSPostgres:
15600
16084
  )
15601
16085
 
15602
16086
 
15603
- class Maria:
16087
+ class ManagedSecret:
16088
+ '''
16089
+ ManagedSecret contains details about managed secret
16090
+ '''
15604
16091
  __slots__ = [
15605
- 'bind_interface',
15606
- 'database',
15607
- 'egress_filter',
15608
- 'healthy',
15609
- 'hostname',
16092
+ 'config',
16093
+ 'expires_at',
15610
16094
  'id',
16095
+ 'last_rotated_at',
15611
16096
  'name',
15612
- 'password',
15613
- 'port',
15614
- 'port_override',
15615
- 'proxy_cluster_id',
15616
- 'require_native_auth',
15617
- 'secret_store_id',
15618
- 'subdomain',
16097
+ 'policy',
16098
+ 'secret_engine_id',
16099
+ 'secret_store_path',
15619
16100
  'tags',
15620
- 'use_azure_single_server_usernames',
15621
- 'username',
16101
+ 'value',
15622
16102
  ]
15623
16103
 
15624
16104
  def __init__(
15625
16105
  self,
15626
- bind_interface=None,
15627
- database=None,
15628
- egress_filter=None,
15629
- healthy=None,
15630
- hostname=None,
16106
+ config=None,
16107
+ expires_at=None,
15631
16108
  id=None,
16109
+ last_rotated_at=None,
15632
16110
  name=None,
15633
- password=None,
15634
- port=None,
15635
- port_override=None,
15636
- proxy_cluster_id=None,
15637
- require_native_auth=None,
15638
- secret_store_id=None,
15639
- subdomain=None,
16111
+ policy=None,
16112
+ secret_engine_id=None,
16113
+ secret_store_path=None,
15640
16114
  tags=None,
15641
- use_azure_single_server_usernames=None,
15642
- username=None,
16115
+ value=None,
15643
16116
  ):
15644
- self.bind_interface = bind_interface if bind_interface is not None else ''
15645
- '''
15646
- 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.
15647
- '''
15648
- self.database = database if database is not None else ''
15649
- '''
15650
- The database for healthchecks. Does not affect client requests.
15651
- '''
15652
- self.egress_filter = egress_filter if egress_filter is not None else ''
15653
- '''
15654
- A filter applied to the routing logic to pin datasource to nodes.
15655
- '''
15656
- self.healthy = healthy if healthy is not None else False
16117
+ self.config = config if config is not None else ''
15657
16118
  '''
15658
- True if the datasource is reachable and the credentials are valid.
16119
+ public part of the secret value
15659
16120
  '''
15660
- self.hostname = hostname if hostname is not None else ''
16121
+ self.expires_at = expires_at if expires_at is not None else None
15661
16122
  '''
15662
- The host to dial to initiate a connection from the egress node to this resource.
16123
+ Timestamp of when secret is going to be rotated
15663
16124
  '''
15664
16125
  self.id = id if id is not None else ''
15665
16126
  '''
15666
- Unique identifier of the Resource.
15667
- '''
15668
- self.name = name if name is not None else ''
15669
- '''
15670
- Unique human-readable name of the Resource.
15671
- '''
15672
- self.password = password if password is not None else ''
15673
- '''
15674
- The password to authenticate with.
15675
- '''
15676
- self.port = port if port is not None else 0
15677
- '''
15678
- The port to dial to initiate a connection from the egress node to this resource.
16127
+ Unique identifier of the Managed Secret.
15679
16128
  '''
15680
- self.port_override = port_override if port_override is not None else 0
16129
+ self.last_rotated_at = last_rotated_at if last_rotated_at is not None else None
15681
16130
  '''
15682
- The local port used by clients to connect to this resource.
16131
+ Timestamp of when secret was last rotated
15683
16132
  '''
15684
- self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16133
+ self.name = name if name is not None else ''
15685
16134
  '''
15686
- ID of the proxy cluster for this resource, if any.
16135
+ Unique human-readable name of the Managed Secret.
15687
16136
  '''
15688
- self.require_native_auth = require_native_auth if require_native_auth is not None else False
16137
+ self.policy = policy if policy is not None else None
15689
16138
  '''
15690
- Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
16139
+ Password and rotation policy for the secret
15691
16140
  '''
15692
- self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16141
+ self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
15693
16142
  '''
15694
- ID of the secret store containing credentials for this resource, if any.
16143
+ An ID of a Secret Engine linked with the Managed Secret.
15695
16144
  '''
15696
- self.subdomain = subdomain if subdomain is not None else ''
16145
+ self.secret_store_path = secret_store_path if secret_store_path is not None else ''
15697
16146
  '''
15698
- Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16147
+ Path in a secret store.
15699
16148
  '''
15700
16149
  self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15701
16150
  '''
15702
16151
  Tags is a map of key, value pairs.
15703
16152
  '''
15704
- self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
15705
- '''
15706
- If true, appends the hostname to the username when hitting a database.azure.com address
15707
- '''
15708
- self.username = username if username is not None else ''
16153
+ self.value = value if value is not None else b''
15709
16154
  '''
15710
- The username to authenticate with.
16155
+ Sensitive value of the secret.
15711
16156
  '''
15712
16157
 
15713
16158
  def __repr__(self):
15714
- return '<sdm.Maria ' + \
15715
- 'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15716
- 'database: ' + repr(self.database) + ' ' +\
15717
- 'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15718
- 'healthy: ' + repr(self.healthy) + ' ' +\
15719
- 'hostname: ' + repr(self.hostname) + ' ' +\
16159
+ return '<sdm.ManagedSecret ' + \
16160
+ 'config: ' + repr(self.config) + ' ' +\
16161
+ 'expires_at: ' + repr(self.expires_at) + ' ' +\
15720
16162
  'id: ' + repr(self.id) + ' ' +\
16163
+ 'last_rotated_at: ' + repr(self.last_rotated_at) + ' ' +\
15721
16164
  'name: ' + repr(self.name) + ' ' +\
15722
- 'password: ' + repr(self.password) + ' ' +\
15723
- 'port: ' + repr(self.port) + ' ' +\
15724
- 'port_override: ' + repr(self.port_override) + ' ' +\
15725
- 'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15726
- 'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
15727
- 'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15728
- 'subdomain: ' + repr(self.subdomain) + ' ' +\
16165
+ 'policy: ' + repr(self.policy) + ' ' +\
16166
+ 'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
16167
+ 'secret_store_path: ' + repr(self.secret_store_path) + ' ' +\
15729
16168
  'tags: ' + repr(self.tags) + ' ' +\
15730
- 'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
15731
- 'username: ' + repr(self.username) + ' ' +\
16169
+ 'value: ' + repr(self.value) + ' ' +\
15732
16170
  '>'
15733
16171
 
15734
16172
  def to_dict(self):
15735
16173
  return {
15736
- 'bind_interface': self.bind_interface,
15737
- 'database': self.database,
15738
- 'egress_filter': self.egress_filter,
15739
- 'healthy': self.healthy,
15740
- 'hostname': self.hostname,
16174
+ 'config': self.config,
16175
+ 'expires_at': self.expires_at,
15741
16176
  'id': self.id,
16177
+ 'last_rotated_at': self.last_rotated_at,
15742
16178
  'name': self.name,
15743
- 'password': self.password,
15744
- 'port': self.port,
15745
- 'port_override': self.port_override,
15746
- 'proxy_cluster_id': self.proxy_cluster_id,
15747
- 'require_native_auth': self.require_native_auth,
15748
- 'secret_store_id': self.secret_store_id,
15749
- 'subdomain': self.subdomain,
16179
+ 'policy': self.policy,
16180
+ 'secret_engine_id': self.secret_engine_id,
16181
+ 'secret_store_path': self.secret_store_path,
15750
16182
  'tags': self.tags,
15751
- 'use_azure_single_server_usernames':
15752
- self.use_azure_single_server_usernames,
15753
- 'username': self.username,
16183
+ 'value': self.value,
15754
16184
  }
15755
16185
 
15756
16186
  @classmethod
15757
16187
  def from_dict(cls, d):
15758
16188
  return cls(
15759
- bind_interface=d.get('bind_interface'),
15760
- database=d.get('database'),
15761
- egress_filter=d.get('egress_filter'),
15762
- healthy=d.get('healthy'),
15763
- hostname=d.get('hostname'),
16189
+ config=d.get('config'),
16190
+ expires_at=d.get('expires_at'),
15764
16191
  id=d.get('id'),
16192
+ last_rotated_at=d.get('last_rotated_at'),
15765
16193
  name=d.get('name'),
15766
- password=d.get('password'),
15767
- port=d.get('port'),
15768
- port_override=d.get('port_override'),
15769
- proxy_cluster_id=d.get('proxy_cluster_id'),
15770
- require_native_auth=d.get('require_native_auth'),
15771
- secret_store_id=d.get('secret_store_id'),
15772
- subdomain=d.get('subdomain'),
16194
+ policy=d.get('policy'),
16195
+ secret_engine_id=d.get('secret_engine_id'),
16196
+ secret_store_path=d.get('secret_store_path'),
15773
16197
  tags=d.get('tags'),
15774
- use_azure_single_server_usernames=d.get(
15775
- 'use_azure_single_server_usernames'),
15776
- username=d.get('username'),
16198
+ value=d.get('value'),
15777
16199
  )
15778
16200
 
15779
16201
 
15780
- class Memcached:
16202
+ class ManagedSecretCreateRequest:
16203
+ '''
16204
+ ManagedSecretCreateRequest specifies a Managed Secret to create.
16205
+ '''
15781
16206
  __slots__ = [
15782
- 'bind_interface',
15783
- 'egress_filter',
15784
- 'healthy',
15785
- 'hostname',
15786
- 'id',
15787
- 'name',
15788
- 'port',
15789
- 'port_override',
15790
- 'proxy_cluster_id',
15791
- 'secret_store_id',
15792
- 'subdomain',
15793
- 'tags',
16207
+ 'managed_secret',
15794
16208
  ]
15795
16209
 
15796
16210
  def __init__(
15797
16211
  self,
15798
- bind_interface=None,
15799
- egress_filter=None,
15800
- healthy=None,
15801
- hostname=None,
15802
- id=None,
15803
- name=None,
15804
- port=None,
15805
- port_override=None,
15806
- proxy_cluster_id=None,
15807
- secret_store_id=None,
15808
- subdomain=None,
15809
- tags=None,
16212
+ managed_secret=None,
15810
16213
  ):
15811
- self.bind_interface = bind_interface if bind_interface is not None else ''
15812
- '''
15813
- 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.
15814
- '''
15815
- self.egress_filter = egress_filter if egress_filter is not None else ''
15816
- '''
15817
- A filter applied to the routing logic to pin datasource to nodes.
16214
+ self.managed_secret = managed_secret if managed_secret is not None else None
15818
16215
  '''
15819
- self.healthy = healthy if healthy is not None else False
15820
- '''
15821
- True if the datasource is reachable and the credentials are valid.
15822
- '''
15823
- self.hostname = hostname if hostname is not None else ''
15824
- '''
15825
- The host to dial to initiate a connection from the egress node to this resource.
15826
- '''
15827
- self.id = id if id is not None else ''
15828
- '''
15829
- Unique identifier of the Resource.
15830
- '''
15831
- self.name = name if name is not None else ''
15832
- '''
15833
- Unique human-readable name of the Resource.
16216
+ Parameters to define the new Managed Secret.
15834
16217
  '''
15835
- self.port = port if port is not None else 0
16218
+
16219
+ def __repr__(self):
16220
+ return '<sdm.ManagedSecretCreateRequest ' + \
16221
+ 'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16222
+ '>'
16223
+
16224
+ def to_dict(self):
16225
+ return {
16226
+ 'managed_secret': self.managed_secret,
16227
+ }
16228
+
16229
+ @classmethod
16230
+ def from_dict(cls, d):
16231
+ return cls(managed_secret=d.get('managed_secret'), )
16232
+
16233
+
16234
+ class ManagedSecretCreateResponse:
16235
+ '''
16236
+ ManagedSecretCreateResponse contains information about a Managed Secret after
16237
+ successful creation.
16238
+ '''
16239
+ __slots__ = [
16240
+ 'managed_secret',
16241
+ 'meta',
16242
+ 'rate_limit',
16243
+ ]
16244
+
16245
+ def __init__(
16246
+ self,
16247
+ managed_secret=None,
16248
+ meta=None,
16249
+ rate_limit=None,
16250
+ ):
16251
+ self.managed_secret = managed_secret if managed_secret is not None else None
16252
+ '''
16253
+ The requested Managed Secret.
16254
+ '''
16255
+ self.meta = meta if meta is not None else None
16256
+ '''
16257
+ Reserved for future use.
16258
+ '''
16259
+ self.rate_limit = rate_limit if rate_limit is not None else None
16260
+ '''
16261
+ Rate limit information.
16262
+ '''
16263
+
16264
+ def __repr__(self):
16265
+ return '<sdm.ManagedSecretCreateResponse ' + \
16266
+ 'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16267
+ 'meta: ' + repr(self.meta) + ' ' +\
16268
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16269
+ '>'
16270
+
16271
+ def to_dict(self):
16272
+ return {
16273
+ 'managed_secret': self.managed_secret,
16274
+ 'meta': self.meta,
16275
+ 'rate_limit': self.rate_limit,
16276
+ }
16277
+
16278
+ @classmethod
16279
+ def from_dict(cls, d):
16280
+ return cls(
16281
+ managed_secret=d.get('managed_secret'),
16282
+ meta=d.get('meta'),
16283
+ rate_limit=d.get('rate_limit'),
16284
+ )
16285
+
16286
+
16287
+ class ManagedSecretDeleteRequest:
16288
+ '''
16289
+ ManagedSecretDeleteRequest specified the ID of a Managed Secret to be
16290
+ deleted.
16291
+ '''
16292
+ __slots__ = [
16293
+ 'id',
16294
+ ]
16295
+
16296
+ def __init__(
16297
+ self,
16298
+ id=None,
16299
+ ):
16300
+ self.id = id if id is not None else ''
16301
+ '''
16302
+ The unique identifier of the Managed Secret to delete.
16303
+ '''
16304
+
16305
+ def __repr__(self):
16306
+ return '<sdm.ManagedSecretDeleteRequest ' + \
16307
+ 'id: ' + repr(self.id) + ' ' +\
16308
+ '>'
16309
+
16310
+ def to_dict(self):
16311
+ return {
16312
+ 'id': self.id,
16313
+ }
16314
+
16315
+ @classmethod
16316
+ def from_dict(cls, d):
16317
+ return cls(id=d.get('id'), )
16318
+
16319
+
16320
+ class ManagedSecretDeleteResponse:
16321
+ '''
16322
+ ManagedSecretDeleteResponse contains information about a Managed Secret after
16323
+ it was deleted.
16324
+ '''
16325
+ __slots__ = [
16326
+ 'rate_limit',
16327
+ ]
16328
+
16329
+ def __init__(
16330
+ self,
16331
+ rate_limit=None,
16332
+ ):
16333
+ self.rate_limit = rate_limit if rate_limit is not None else None
16334
+ '''
16335
+ Rate limit information.
16336
+ '''
16337
+
16338
+ def __repr__(self):
16339
+ return '<sdm.ManagedSecretDeleteResponse ' + \
16340
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16341
+ '>'
16342
+
16343
+ def to_dict(self):
16344
+ return {
16345
+ 'rate_limit': self.rate_limit,
16346
+ }
16347
+
16348
+ @classmethod
16349
+ def from_dict(cls, d):
16350
+ return cls(rate_limit=d.get('rate_limit'), )
16351
+
16352
+
16353
+ class ManagedSecretGetRequest:
16354
+ '''
16355
+ ManagedSecretGetRequest specifies which Managed Secret to retrieve
16356
+ '''
16357
+ __slots__ = [
16358
+ 'id',
16359
+ ]
16360
+
16361
+ def __init__(
16362
+ self,
16363
+ id=None,
16364
+ ):
16365
+ self.id = id if id is not None else ''
16366
+ '''
16367
+ The unique identifier of the Managed Secret to retrieve.
16368
+ '''
16369
+
16370
+ def __repr__(self):
16371
+ return '<sdm.ManagedSecretGetRequest ' + \
16372
+ 'id: ' + repr(self.id) + ' ' +\
16373
+ '>'
16374
+
16375
+ def to_dict(self):
16376
+ return {
16377
+ 'id': self.id,
16378
+ }
16379
+
16380
+ @classmethod
16381
+ def from_dict(cls, d):
16382
+ return cls(id=d.get('id'), )
16383
+
16384
+
16385
+ class ManagedSecretGetResponse:
16386
+ '''
16387
+ ManagedSecretGetResponse contains information about requested Managed Secret
16388
+ '''
16389
+ __slots__ = [
16390
+ 'managed_secret',
16391
+ 'meta',
16392
+ 'rate_limit',
16393
+ ]
16394
+
16395
+ def __init__(
16396
+ self,
16397
+ managed_secret=None,
16398
+ meta=None,
16399
+ rate_limit=None,
16400
+ ):
16401
+ self.managed_secret = managed_secret if managed_secret is not None else None
16402
+ '''
16403
+ The requested Managed Secret.
16404
+ '''
16405
+ self.meta = meta if meta is not None else None
16406
+ '''
16407
+ Reserved for future use.
16408
+ '''
16409
+ self.rate_limit = rate_limit if rate_limit is not None else None
16410
+ '''
16411
+ Rate limit information.
16412
+ '''
16413
+
16414
+ def __repr__(self):
16415
+ return '<sdm.ManagedSecretGetResponse ' + \
16416
+ 'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16417
+ 'meta: ' + repr(self.meta) + ' ' +\
16418
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16419
+ '>'
16420
+
16421
+ def to_dict(self):
16422
+ return {
16423
+ 'managed_secret': self.managed_secret,
16424
+ 'meta': self.meta,
16425
+ 'rate_limit': self.rate_limit,
16426
+ }
16427
+
16428
+ @classmethod
16429
+ def from_dict(cls, d):
16430
+ return cls(
16431
+ managed_secret=d.get('managed_secret'),
16432
+ meta=d.get('meta'),
16433
+ rate_limit=d.get('rate_limit'),
16434
+ )
16435
+
16436
+
16437
+ class ManagedSecretListRequest:
16438
+ '''
16439
+ ManagedSecretListRequest specifies criteria for retrieving a list of Managed
16440
+ Secrets.
16441
+ '''
16442
+ __slots__ = [
16443
+ 'filter',
16444
+ ]
16445
+
16446
+ def __init__(
16447
+ self,
16448
+ filter=None,
16449
+ ):
16450
+ self.filter = filter if filter is not None else ''
16451
+ '''
16452
+ A human-readable filter query string.
16453
+ '''
16454
+
16455
+ def __repr__(self):
16456
+ return '<sdm.ManagedSecretListRequest ' + \
16457
+ 'filter: ' + repr(self.filter) + ' ' +\
16458
+ '>'
16459
+
16460
+ def to_dict(self):
16461
+ return {
16462
+ 'filter': self.filter,
16463
+ }
16464
+
16465
+ @classmethod
16466
+ def from_dict(cls, d):
16467
+ return cls(filter=d.get('filter'), )
16468
+
16469
+
16470
+ class ManagedSecretListResponse:
16471
+ '''
16472
+ ManagedSecretListResponse contains a list of requested Managed Secrets
16473
+ '''
16474
+ __slots__ = [
16475
+ 'rate_limit',
16476
+ ]
16477
+
16478
+ def __init__(
16479
+ self,
16480
+ rate_limit=None,
16481
+ ):
16482
+ self.rate_limit = rate_limit if rate_limit is not None else None
16483
+ '''
16484
+ Rate limit information.
16485
+ '''
16486
+
16487
+ def __repr__(self):
16488
+ return '<sdm.ManagedSecretListResponse ' + \
16489
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16490
+ '>'
16491
+
16492
+ def to_dict(self):
16493
+ return {
16494
+ 'rate_limit': self.rate_limit,
16495
+ }
16496
+
16497
+ @classmethod
16498
+ def from_dict(cls, d):
16499
+ return cls(rate_limit=d.get('rate_limit'), )
16500
+
16501
+
16502
+ class ManagedSecretLog:
16503
+ '''
16504
+ ManagedSecretLog contains details about action performed against a managed
16505
+ secret
16506
+ '''
16507
+ __slots__ = [
16508
+ 'account_id',
16509
+ 'action',
16510
+ 'created_at',
16511
+ 'debug',
16512
+ 'id',
16513
+ 'managed_secret_id',
16514
+ 'secret_engine_id',
16515
+ ]
16516
+
16517
+ def __init__(
16518
+ self,
16519
+ account_id=None,
16520
+ action=None,
16521
+ created_at=None,
16522
+ debug=None,
16523
+ id=None,
16524
+ managed_secret_id=None,
16525
+ secret_engine_id=None,
16526
+ ):
16527
+ self.account_id = account_id if account_id is not None else ''
16528
+ '''
16529
+ An ID of the account the action was performed by.
16530
+ '''
16531
+ self.action = action if action is not None else ''
16532
+ '''
16533
+ The action performed by the account against the managed secret.
16534
+ '''
16535
+ self.created_at = created_at if created_at is not None else None
16536
+ '''
16537
+ Timestamp of when action was performed.
16538
+ '''
16539
+ self.debug = debug if debug is not None else ''
16540
+ '''
16541
+ Any debug logs associated with the action.
16542
+ '''
16543
+ self.id = id if id is not None else ''
16544
+ '''
16545
+ Unique identifier of the Managed Secret Log.
16546
+ '''
16547
+ self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
16548
+ '''
16549
+ An ID of the Managed Secret the action was performed against.
16550
+ '''
16551
+ self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
16552
+ '''
16553
+ An ID of the Secret Engine linked with the Managed Secret.
16554
+ '''
16555
+
16556
+ def __repr__(self):
16557
+ return '<sdm.ManagedSecretLog ' + \
16558
+ 'account_id: ' + repr(self.account_id) + ' ' +\
16559
+ 'action: ' + repr(self.action) + ' ' +\
16560
+ 'created_at: ' + repr(self.created_at) + ' ' +\
16561
+ 'debug: ' + repr(self.debug) + ' ' +\
16562
+ 'id: ' + repr(self.id) + ' ' +\
16563
+ 'managed_secret_id: ' + repr(self.managed_secret_id) + ' ' +\
16564
+ 'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
16565
+ '>'
16566
+
16567
+ def to_dict(self):
16568
+ return {
16569
+ 'account_id': self.account_id,
16570
+ 'action': self.action,
16571
+ 'created_at': self.created_at,
16572
+ 'debug': self.debug,
16573
+ 'id': self.id,
16574
+ 'managed_secret_id': self.managed_secret_id,
16575
+ 'secret_engine_id': self.secret_engine_id,
16576
+ }
16577
+
16578
+ @classmethod
16579
+ def from_dict(cls, d):
16580
+ return cls(
16581
+ account_id=d.get('account_id'),
16582
+ action=d.get('action'),
16583
+ created_at=d.get('created_at'),
16584
+ debug=d.get('debug'),
16585
+ id=d.get('id'),
16586
+ managed_secret_id=d.get('managed_secret_id'),
16587
+ secret_engine_id=d.get('secret_engine_id'),
16588
+ )
16589
+
16590
+
16591
+ class ManagedSecretLogsRequest:
16592
+ '''
16593
+ ManagedSecretLogsRequest specifies criteria for retrieving a log of Managed
16594
+ Secrets actions.
16595
+ '''
16596
+ __slots__ = [
16597
+ 'filter',
16598
+ ]
16599
+
16600
+ def __init__(
16601
+ self,
16602
+ filter=None,
16603
+ ):
16604
+ self.filter = filter if filter is not None else ''
16605
+ '''
16606
+ A human-readable filter query string.
16607
+ '''
16608
+
16609
+ def __repr__(self):
16610
+ return '<sdm.ManagedSecretLogsRequest ' + \
16611
+ 'filter: ' + repr(self.filter) + ' ' +\
16612
+ '>'
16613
+
16614
+ def to_dict(self):
16615
+ return {
16616
+ 'filter': self.filter,
16617
+ }
16618
+
16619
+ @classmethod
16620
+ def from_dict(cls, d):
16621
+ return cls(filter=d.get('filter'), )
16622
+
16623
+
16624
+ class ManagedSecretLogsResponse:
16625
+ '''
16626
+ ManagedSecretLogsResponse contains a list of requested Managed Secrets
16627
+ '''
16628
+ __slots__ = [
16629
+ 'rate_limit',
16630
+ ]
16631
+
16632
+ def __init__(
16633
+ self,
16634
+ rate_limit=None,
16635
+ ):
16636
+ self.rate_limit = rate_limit if rate_limit is not None else None
16637
+ '''
16638
+ Rate limit information.
16639
+ '''
16640
+
16641
+ def __repr__(self):
16642
+ return '<sdm.ManagedSecretLogsResponse ' + \
16643
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16644
+ '>'
16645
+
16646
+ def to_dict(self):
16647
+ return {
16648
+ 'rate_limit': self.rate_limit,
16649
+ }
16650
+
16651
+ @classmethod
16652
+ def from_dict(cls, d):
16653
+ return cls(rate_limit=d.get('rate_limit'), )
16654
+
16655
+
16656
+ class ManagedSecretPasswordPolicy:
16657
+ __slots__ = [
16658
+ 'allow_repeat',
16659
+ 'exclude_characters',
16660
+ 'exclude_upper_case',
16661
+ 'length',
16662
+ 'num_digits',
16663
+ 'num_symbols',
16664
+ ]
16665
+
16666
+ def __init__(
16667
+ self,
16668
+ allow_repeat=None,
16669
+ exclude_characters=None,
16670
+ exclude_upper_case=None,
16671
+ length=None,
16672
+ num_digits=None,
16673
+ num_symbols=None,
16674
+ ):
16675
+ self.allow_repeat = allow_repeat if allow_repeat is not None else False
16676
+ '''
16677
+ If set to true allows for consecutive characters to repeat itself
16678
+ '''
16679
+ self.exclude_characters = exclude_characters if exclude_characters is not None else ''
16680
+ '''
16681
+ Characters to exclude when generating password
16682
+ '''
16683
+ self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
16684
+ '''
16685
+ If set to true do not include upper case letters when generating password
16686
+ '''
16687
+ self.length = length if length is not None else 0
16688
+ '''
16689
+ Password length
16690
+ '''
16691
+ self.num_digits = num_digits if num_digits is not None else 0
16692
+ '''
16693
+ Numbers of digits to use when generating password
16694
+ '''
16695
+ self.num_symbols = num_symbols if num_symbols is not None else 0
16696
+ '''
16697
+ Number of symbols to use when generating password
16698
+ '''
16699
+
16700
+ def __repr__(self):
16701
+ return '<sdm.ManagedSecretPasswordPolicy ' + \
16702
+ 'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
16703
+ 'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
16704
+ 'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
16705
+ 'length: ' + repr(self.length) + ' ' +\
16706
+ 'num_digits: ' + repr(self.num_digits) + ' ' +\
16707
+ 'num_symbols: ' + repr(self.num_symbols) + ' ' +\
16708
+ '>'
16709
+
16710
+ def to_dict(self):
16711
+ return {
16712
+ 'allow_repeat': self.allow_repeat,
16713
+ 'exclude_characters': self.exclude_characters,
16714
+ 'exclude_upper_case': self.exclude_upper_case,
16715
+ 'length': self.length,
16716
+ 'num_digits': self.num_digits,
16717
+ 'num_symbols': self.num_symbols,
16718
+ }
16719
+
16720
+ @classmethod
16721
+ def from_dict(cls, d):
16722
+ return cls(
16723
+ allow_repeat=d.get('allow_repeat'),
16724
+ exclude_characters=d.get('exclude_characters'),
16725
+ exclude_upper_case=d.get('exclude_upper_case'),
16726
+ length=d.get('length'),
16727
+ num_digits=d.get('num_digits'),
16728
+ num_symbols=d.get('num_symbols'),
16729
+ )
16730
+
16731
+
16732
+ class ManagedSecretPolicy:
16733
+ '''
16734
+ ManagedSecretPolicy contains password and rotation policy for managed secret
16735
+ '''
16736
+ __slots__ = [
16737
+ 'password_policy',
16738
+ 'rotation_policy',
16739
+ ]
16740
+
16741
+ def __init__(
16742
+ self,
16743
+ password_policy=None,
16744
+ rotation_policy=None,
16745
+ ):
16746
+ self.password_policy = password_policy if password_policy is not None else None
16747
+ '''
16748
+ Password policy for a managed secret
16749
+ '''
16750
+ self.rotation_policy = rotation_policy if rotation_policy is not None else None
16751
+ '''
16752
+ Rotation policy for a managed secret
16753
+ '''
16754
+
16755
+ def __repr__(self):
16756
+ return '<sdm.ManagedSecretPolicy ' + \
16757
+ 'password_policy: ' + repr(self.password_policy) + ' ' +\
16758
+ 'rotation_policy: ' + repr(self.rotation_policy) + ' ' +\
16759
+ '>'
16760
+
16761
+ def to_dict(self):
16762
+ return {
16763
+ 'password_policy': self.password_policy,
16764
+ 'rotation_policy': self.rotation_policy,
16765
+ }
16766
+
16767
+ @classmethod
16768
+ def from_dict(cls, d):
16769
+ return cls(
16770
+ password_policy=d.get('password_policy'),
16771
+ rotation_policy=d.get('rotation_policy'),
16772
+ )
16773
+
16774
+
16775
+ class ManagedSecretRetrieveRequest:
16776
+ '''
16777
+ ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve
16778
+ '''
16779
+ __slots__ = [
16780
+ 'id',
16781
+ 'public_key',
16782
+ ]
16783
+
16784
+ def __init__(
16785
+ self,
16786
+ id=None,
16787
+ public_key=None,
16788
+ ):
16789
+ self.id = id if id is not None else ''
16790
+ '''
16791
+ The unique identifier of the Managed Secret to retrieve.
16792
+ '''
16793
+ self.public_key = public_key if public_key is not None else b''
16794
+ '''
16795
+ Public key to encrypt a sensitive value with
16796
+ '''
16797
+
16798
+ def __repr__(self):
16799
+ return '<sdm.ManagedSecretRetrieveRequest ' + \
16800
+ 'id: ' + repr(self.id) + ' ' +\
16801
+ 'public_key: ' + repr(self.public_key) + ' ' +\
16802
+ '>'
16803
+
16804
+ def to_dict(self):
16805
+ return {
16806
+ 'id': self.id,
16807
+ 'public_key': self.public_key,
16808
+ }
16809
+
16810
+ @classmethod
16811
+ def from_dict(cls, d):
16812
+ return cls(
16813
+ id=d.get('id'),
16814
+ public_key=d.get('public_key'),
16815
+ )
16816
+
16817
+
16818
+ class ManagedSecretRetrieveResponse:
16819
+ '''
16820
+ ManagedSecretRetrieveResponse contains information about requested Managed
16821
+ Secret
16822
+ '''
16823
+ __slots__ = [
16824
+ 'managed_secret',
16825
+ 'meta',
16826
+ 'rate_limit',
16827
+ ]
16828
+
16829
+ def __init__(
16830
+ self,
16831
+ managed_secret=None,
16832
+ meta=None,
16833
+ rate_limit=None,
16834
+ ):
16835
+ self.managed_secret = managed_secret if managed_secret is not None else None
16836
+ '''
16837
+ The requested Managed Secret.
16838
+ '''
16839
+ self.meta = meta if meta is not None else None
16840
+ '''
16841
+ Reserved for future use.
16842
+ '''
16843
+ self.rate_limit = rate_limit if rate_limit is not None else None
16844
+ '''
16845
+ Rate limit information.
16846
+ '''
16847
+
16848
+ def __repr__(self):
16849
+ return '<sdm.ManagedSecretRetrieveResponse ' + \
16850
+ 'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16851
+ 'meta: ' + repr(self.meta) + ' ' +\
16852
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16853
+ '>'
16854
+
16855
+ def to_dict(self):
16856
+ return {
16857
+ 'managed_secret': self.managed_secret,
16858
+ 'meta': self.meta,
16859
+ 'rate_limit': self.rate_limit,
16860
+ }
16861
+
16862
+ @classmethod
16863
+ def from_dict(cls, d):
16864
+ return cls(
16865
+ managed_secret=d.get('managed_secret'),
16866
+ meta=d.get('meta'),
16867
+ rate_limit=d.get('rate_limit'),
16868
+ )
16869
+
16870
+
16871
+ class ManagedSecretRotateRequest:
16872
+ '''
16873
+ ManagedSecretRotateRequest specifies Managed Secret to rotate
16874
+ '''
16875
+ __slots__ = [
16876
+ 'id',
16877
+ ]
16878
+
16879
+ def __init__(
16880
+ self,
16881
+ id=None,
16882
+ ):
16883
+ self.id = id if id is not None else ''
16884
+ '''
16885
+ The unique identifier of the Managed Secret to rotate.
16886
+ '''
16887
+
16888
+ def __repr__(self):
16889
+ return '<sdm.ManagedSecretRotateRequest ' + \
16890
+ 'id: ' + repr(self.id) + ' ' +\
16891
+ '>'
16892
+
16893
+ def to_dict(self):
16894
+ return {
16895
+ 'id': self.id,
16896
+ }
16897
+
16898
+ @classmethod
16899
+ def from_dict(cls, d):
16900
+ return cls(id=d.get('id'), )
16901
+
16902
+
16903
+ class ManagedSecretRotateResponse:
16904
+ '''
16905
+ ManagedSecretRotateResponse contains information about Secret Engine after
16906
+ successful rotation.
16907
+ '''
16908
+ __slots__ = [
16909
+ 'meta',
16910
+ 'rate_limit',
16911
+ ]
16912
+
16913
+ def __init__(
16914
+ self,
16915
+ meta=None,
16916
+ rate_limit=None,
16917
+ ):
16918
+ self.meta = meta if meta is not None else None
16919
+ '''
16920
+ Reserved for future use.
16921
+ '''
16922
+ self.rate_limit = rate_limit if rate_limit is not None else None
16923
+ '''
16924
+ Rate limit information.
16925
+ '''
16926
+
16927
+ def __repr__(self):
16928
+ return '<sdm.ManagedSecretRotateResponse ' + \
16929
+ 'meta: ' + repr(self.meta) + ' ' +\
16930
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16931
+ '>'
16932
+
16933
+ def to_dict(self):
16934
+ return {
16935
+ 'meta': self.meta,
16936
+ 'rate_limit': self.rate_limit,
16937
+ }
16938
+
16939
+ @classmethod
16940
+ def from_dict(cls, d):
16941
+ return cls(
16942
+ meta=d.get('meta'),
16943
+ rate_limit=d.get('rate_limit'),
16944
+ )
16945
+
16946
+
16947
+ class ManagedSecretRotationPolicy:
16948
+ __slots__ = []
16949
+
16950
+ def __init__(self, ):
16951
+ pass
16952
+
16953
+ def __repr__(self):
16954
+ return '<sdm.ManagedSecretRotationPolicy ' + \
16955
+ '>'
16956
+
16957
+ def to_dict(self):
16958
+ return {}
16959
+
16960
+ @classmethod
16961
+ def from_dict(cls, d):
16962
+ return cls()
16963
+
16964
+
16965
+ class ManagedSecretUpdateRequest:
16966
+ '''
16967
+ ManagedSecretUpdateRequest specifies Managed Secret to update
16968
+ '''
16969
+ __slots__ = [
16970
+ 'managed_secret',
16971
+ ]
16972
+
16973
+ def __init__(
16974
+ self,
16975
+ managed_secret=None,
16976
+ ):
16977
+ self.managed_secret = managed_secret if managed_secret is not None else None
16978
+ '''
16979
+ Managed Secret to update
16980
+ '''
16981
+
16982
+ def __repr__(self):
16983
+ return '<sdm.ManagedSecretUpdateRequest ' + \
16984
+ 'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16985
+ '>'
16986
+
16987
+ def to_dict(self):
16988
+ return {
16989
+ 'managed_secret': self.managed_secret,
16990
+ }
16991
+
16992
+ @classmethod
16993
+ def from_dict(cls, d):
16994
+ return cls(managed_secret=d.get('managed_secret'), )
16995
+
16996
+
16997
+ class ManagedSecretUpdateResponse:
16998
+ '''
16999
+ ManagedSecretUpdateResponse contains information about Secret Engine after
17000
+ successful update.
17001
+ '''
17002
+ __slots__ = [
17003
+ 'managed_secret',
17004
+ 'meta',
17005
+ 'rate_limit',
17006
+ ]
17007
+
17008
+ def __init__(
17009
+ self,
17010
+ managed_secret=None,
17011
+ meta=None,
17012
+ rate_limit=None,
17013
+ ):
17014
+ self.managed_secret = managed_secret if managed_secret is not None else None
17015
+ '''
17016
+ The requested Managed Secret.
17017
+ '''
17018
+ self.meta = meta if meta is not None else None
17019
+ '''
17020
+ Reserved for future use.
17021
+ '''
17022
+ self.rate_limit = rate_limit if rate_limit is not None else None
17023
+ '''
17024
+ Rate limit information.
17025
+ '''
17026
+
17027
+ def __repr__(self):
17028
+ return '<sdm.ManagedSecretUpdateResponse ' + \
17029
+ 'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17030
+ 'meta: ' + repr(self.meta) + ' ' +\
17031
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17032
+ '>'
17033
+
17034
+ def to_dict(self):
17035
+ return {
17036
+ 'managed_secret': self.managed_secret,
17037
+ 'meta': self.meta,
17038
+ 'rate_limit': self.rate_limit,
17039
+ }
17040
+
17041
+ @classmethod
17042
+ def from_dict(cls, d):
17043
+ return cls(
17044
+ managed_secret=d.get('managed_secret'),
17045
+ meta=d.get('meta'),
17046
+ rate_limit=d.get('rate_limit'),
17047
+ )
17048
+
17049
+
17050
+ class ManagedSecretValidateRequest:
17051
+ '''
17052
+ ManagedSecretValidateRequest specifies which Managed Secret to validate
17053
+ '''
17054
+ __slots__ = [
17055
+ 'id',
17056
+ ]
17057
+
17058
+ def __init__(
17059
+ self,
17060
+ id=None,
17061
+ ):
17062
+ self.id = id if id is not None else ''
17063
+ '''
17064
+ The unique identifier of the Managed Secret to validate.
17065
+ '''
17066
+
17067
+ def __repr__(self):
17068
+ return '<sdm.ManagedSecretValidateRequest ' + \
17069
+ 'id: ' + repr(self.id) + ' ' +\
17070
+ '>'
17071
+
17072
+ def to_dict(self):
17073
+ return {
17074
+ 'id': self.id,
17075
+ }
17076
+
17077
+ @classmethod
17078
+ def from_dict(cls, d):
17079
+ return cls(id=d.get('id'), )
17080
+
17081
+
17082
+ class ManagedSecretValidateResponse:
17083
+ '''
17084
+ ManagedSecretValidateResponse contains validity of requested Managed
17085
+ Secret
17086
+ '''
17087
+ __slots__ = [
17088
+ 'invalid_info',
17089
+ 'meta',
17090
+ 'rate_limit',
17091
+ 'valid',
17092
+ ]
17093
+
17094
+ def __init__(
17095
+ self,
17096
+ invalid_info=None,
17097
+ meta=None,
17098
+ rate_limit=None,
17099
+ valid=None,
17100
+ ):
17101
+ self.invalid_info = invalid_info if invalid_info is not None else ''
17102
+ '''
17103
+ Information about why secret is invalid
17104
+ '''
17105
+ self.meta = meta if meta is not None else None
17106
+ '''
17107
+ Reserved for future use.
17108
+ '''
17109
+ self.rate_limit = rate_limit if rate_limit is not None else None
17110
+ '''
17111
+ Rate limit information.
17112
+ '''
17113
+ self.valid = valid if valid is not None else False
17114
+ '''
17115
+ Whether the secret is valid
17116
+ '''
17117
+
17118
+ def __repr__(self):
17119
+ return '<sdm.ManagedSecretValidateResponse ' + \
17120
+ 'invalid_info: ' + repr(self.invalid_info) + ' ' +\
17121
+ 'meta: ' + repr(self.meta) + ' ' +\
17122
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17123
+ 'valid: ' + repr(self.valid) + ' ' +\
17124
+ '>'
17125
+
17126
+ def to_dict(self):
17127
+ return {
17128
+ 'invalid_info': self.invalid_info,
17129
+ 'meta': self.meta,
17130
+ 'rate_limit': self.rate_limit,
17131
+ 'valid': self.valid,
17132
+ }
17133
+
17134
+ @classmethod
17135
+ def from_dict(cls, d):
17136
+ return cls(
17137
+ invalid_info=d.get('invalid_info'),
17138
+ meta=d.get('meta'),
17139
+ rate_limit=d.get('rate_limit'),
17140
+ valid=d.get('valid'),
17141
+ )
17142
+
17143
+
17144
+ class Maria:
17145
+ __slots__ = [
17146
+ 'bind_interface',
17147
+ 'database',
17148
+ 'egress_filter',
17149
+ 'healthy',
17150
+ 'hostname',
17151
+ 'id',
17152
+ 'name',
17153
+ 'password',
17154
+ 'port',
17155
+ 'port_override',
17156
+ 'proxy_cluster_id',
17157
+ 'require_native_auth',
17158
+ 'secret_store_id',
17159
+ 'subdomain',
17160
+ 'tags',
17161
+ 'use_azure_single_server_usernames',
17162
+ 'username',
17163
+ ]
17164
+
17165
+ def __init__(
17166
+ self,
17167
+ bind_interface=None,
17168
+ database=None,
17169
+ egress_filter=None,
17170
+ healthy=None,
17171
+ hostname=None,
17172
+ id=None,
17173
+ name=None,
17174
+ password=None,
17175
+ port=None,
17176
+ port_override=None,
17177
+ proxy_cluster_id=None,
17178
+ require_native_auth=None,
17179
+ secret_store_id=None,
17180
+ subdomain=None,
17181
+ tags=None,
17182
+ use_azure_single_server_usernames=None,
17183
+ username=None,
17184
+ ):
17185
+ self.bind_interface = bind_interface if bind_interface is not None else ''
17186
+ '''
17187
+ 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.
17188
+ '''
17189
+ self.database = database if database is not None else ''
17190
+ '''
17191
+ The database for healthchecks. Does not affect client requests.
17192
+ '''
17193
+ self.egress_filter = egress_filter if egress_filter is not None else ''
17194
+ '''
17195
+ A filter applied to the routing logic to pin datasource to nodes.
17196
+ '''
17197
+ self.healthy = healthy if healthy is not None else False
17198
+ '''
17199
+ True if the datasource is reachable and the credentials are valid.
17200
+ '''
17201
+ self.hostname = hostname if hostname is not None else ''
17202
+ '''
17203
+ The host to dial to initiate a connection from the egress node to this resource.
17204
+ '''
17205
+ self.id = id if id is not None else ''
17206
+ '''
17207
+ Unique identifier of the Resource.
17208
+ '''
17209
+ self.name = name if name is not None else ''
17210
+ '''
17211
+ Unique human-readable name of the Resource.
17212
+ '''
17213
+ self.password = password if password is not None else ''
17214
+ '''
17215
+ The password to authenticate with.
17216
+ '''
17217
+ self.port = port if port is not None else 0
17218
+ '''
17219
+ The port to dial to initiate a connection from the egress node to this resource.
17220
+ '''
17221
+ self.port_override = port_override if port_override is not None else 0
17222
+ '''
17223
+ The local port used by clients to connect to this resource.
17224
+ '''
17225
+ self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17226
+ '''
17227
+ ID of the proxy cluster for this resource, if any.
17228
+ '''
17229
+ self.require_native_auth = require_native_auth if require_native_auth is not None else False
17230
+ '''
17231
+ Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
17232
+ '''
17233
+ self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17234
+ '''
17235
+ ID of the secret store containing credentials for this resource, if any.
17236
+ '''
17237
+ self.subdomain = subdomain if subdomain is not None else ''
17238
+ '''
17239
+ Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17240
+ '''
17241
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17242
+ '''
17243
+ Tags is a map of key, value pairs.
17244
+ '''
17245
+ self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
17246
+ '''
17247
+ If true, appends the hostname to the username when hitting a database.azure.com address
17248
+ '''
17249
+ self.username = username if username is not None else ''
17250
+ '''
17251
+ The username to authenticate with.
17252
+ '''
17253
+
17254
+ def __repr__(self):
17255
+ return '<sdm.Maria ' + \
17256
+ 'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17257
+ 'database: ' + repr(self.database) + ' ' +\
17258
+ 'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17259
+ 'healthy: ' + repr(self.healthy) + ' ' +\
17260
+ 'hostname: ' + repr(self.hostname) + ' ' +\
17261
+ 'id: ' + repr(self.id) + ' ' +\
17262
+ 'name: ' + repr(self.name) + ' ' +\
17263
+ 'password: ' + repr(self.password) + ' ' +\
17264
+ 'port: ' + repr(self.port) + ' ' +\
17265
+ 'port_override: ' + repr(self.port_override) + ' ' +\
17266
+ 'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17267
+ 'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
17268
+ 'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17269
+ 'subdomain: ' + repr(self.subdomain) + ' ' +\
17270
+ 'tags: ' + repr(self.tags) + ' ' +\
17271
+ 'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
17272
+ 'username: ' + repr(self.username) + ' ' +\
17273
+ '>'
17274
+
17275
+ def to_dict(self):
17276
+ return {
17277
+ 'bind_interface': self.bind_interface,
17278
+ 'database': self.database,
17279
+ 'egress_filter': self.egress_filter,
17280
+ 'healthy': self.healthy,
17281
+ 'hostname': self.hostname,
17282
+ 'id': self.id,
17283
+ 'name': self.name,
17284
+ 'password': self.password,
17285
+ 'port': self.port,
17286
+ 'port_override': self.port_override,
17287
+ 'proxy_cluster_id': self.proxy_cluster_id,
17288
+ 'require_native_auth': self.require_native_auth,
17289
+ 'secret_store_id': self.secret_store_id,
17290
+ 'subdomain': self.subdomain,
17291
+ 'tags': self.tags,
17292
+ 'use_azure_single_server_usernames':
17293
+ self.use_azure_single_server_usernames,
17294
+ 'username': self.username,
17295
+ }
17296
+
17297
+ @classmethod
17298
+ def from_dict(cls, d):
17299
+ return cls(
17300
+ bind_interface=d.get('bind_interface'),
17301
+ database=d.get('database'),
17302
+ egress_filter=d.get('egress_filter'),
17303
+ healthy=d.get('healthy'),
17304
+ hostname=d.get('hostname'),
17305
+ id=d.get('id'),
17306
+ name=d.get('name'),
17307
+ password=d.get('password'),
17308
+ port=d.get('port'),
17309
+ port_override=d.get('port_override'),
17310
+ proxy_cluster_id=d.get('proxy_cluster_id'),
17311
+ require_native_auth=d.get('require_native_auth'),
17312
+ secret_store_id=d.get('secret_store_id'),
17313
+ subdomain=d.get('subdomain'),
17314
+ tags=d.get('tags'),
17315
+ use_azure_single_server_usernames=d.get(
17316
+ 'use_azure_single_server_usernames'),
17317
+ username=d.get('username'),
17318
+ )
17319
+
17320
+
17321
+ class Memcached:
17322
+ __slots__ = [
17323
+ 'bind_interface',
17324
+ 'egress_filter',
17325
+ 'healthy',
17326
+ 'hostname',
17327
+ 'id',
17328
+ 'name',
17329
+ 'port',
17330
+ 'port_override',
17331
+ 'proxy_cluster_id',
17332
+ 'secret_store_id',
17333
+ 'subdomain',
17334
+ 'tags',
17335
+ ]
17336
+
17337
+ def __init__(
17338
+ self,
17339
+ bind_interface=None,
17340
+ egress_filter=None,
17341
+ healthy=None,
17342
+ hostname=None,
17343
+ id=None,
17344
+ name=None,
17345
+ port=None,
17346
+ port_override=None,
17347
+ proxy_cluster_id=None,
17348
+ secret_store_id=None,
17349
+ subdomain=None,
17350
+ tags=None,
17351
+ ):
17352
+ self.bind_interface = bind_interface if bind_interface is not None else ''
17353
+ '''
17354
+ 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.
17355
+ '''
17356
+ self.egress_filter = egress_filter if egress_filter is not None else ''
17357
+ '''
17358
+ A filter applied to the routing logic to pin datasource to nodes.
17359
+ '''
17360
+ self.healthy = healthy if healthy is not None else False
17361
+ '''
17362
+ True if the datasource is reachable and the credentials are valid.
17363
+ '''
17364
+ self.hostname = hostname if hostname is not None else ''
17365
+ '''
17366
+ The host to dial to initiate a connection from the egress node to this resource.
17367
+ '''
17368
+ self.id = id if id is not None else ''
17369
+ '''
17370
+ Unique identifier of the Resource.
17371
+ '''
17372
+ self.name = name if name is not None else ''
17373
+ '''
17374
+ Unique human-readable name of the Resource.
17375
+ '''
17376
+ self.port = port if port is not None else 0
15836
17377
  '''
15837
17378
  The port to dial to initiate a connection from the egress node to this resource.
15838
17379
  '''
@@ -24807,7 +26348,183 @@ class SSHCustomerKey:
24807
26348
  '''
24808
26349
  self.private_key = private_key if private_key is not None else ''
24809
26350
  '''
24810
- The private key used to authenticate with the server.
26351
+ The private key used to authenticate with the server.
26352
+ '''
26353
+ self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26354
+ '''
26355
+ ID of the proxy cluster for this resource, if any.
26356
+ '''
26357
+ self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26358
+ '''
26359
+ ID of the secret store containing credentials for this resource, if any.
26360
+ '''
26361
+ self.subdomain = subdomain if subdomain is not None else ''
26362
+ '''
26363
+ Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26364
+ '''
26365
+ self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26366
+ '''
26367
+ Tags is a map of key, value pairs.
26368
+ '''
26369
+ self.username = username if username is not None else ''
26370
+ '''
26371
+ The username to authenticate with.
26372
+ '''
26373
+
26374
+ def __repr__(self):
26375
+ return '<sdm.SSHCustomerKey ' + \
26376
+ 'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
26377
+ 'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26378
+ 'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26379
+ 'healthy: ' + repr(self.healthy) + ' ' +\
26380
+ 'hostname: ' + repr(self.hostname) + ' ' +\
26381
+ 'id: ' + repr(self.id) + ' ' +\
26382
+ 'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
26383
+ 'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
26384
+ 'name: ' + repr(self.name) + ' ' +\
26385
+ 'port: ' + repr(self.port) + ' ' +\
26386
+ 'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
26387
+ 'port_override: ' + repr(self.port_override) + ' ' +\
26388
+ 'private_key: ' + repr(self.private_key) + ' ' +\
26389
+ 'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26390
+ 'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26391
+ 'subdomain: ' + repr(self.subdomain) + ' ' +\
26392
+ 'tags: ' + repr(self.tags) + ' ' +\
26393
+ 'username: ' + repr(self.username) + ' ' +\
26394
+ '>'
26395
+
26396
+ def to_dict(self):
26397
+ return {
26398
+ 'allow_deprecated_key_exchanges':
26399
+ self.allow_deprecated_key_exchanges,
26400
+ 'bind_interface': self.bind_interface,
26401
+ 'egress_filter': self.egress_filter,
26402
+ 'healthy': self.healthy,
26403
+ 'hostname': self.hostname,
26404
+ 'id': self.id,
26405
+ 'identity_alias_healthcheck_username':
26406
+ self.identity_alias_healthcheck_username,
26407
+ 'identity_set_id': self.identity_set_id,
26408
+ 'name': self.name,
26409
+ 'port': self.port,
26410
+ 'port_forwarding': self.port_forwarding,
26411
+ 'port_override': self.port_override,
26412
+ 'private_key': self.private_key,
26413
+ 'proxy_cluster_id': self.proxy_cluster_id,
26414
+ 'secret_store_id': self.secret_store_id,
26415
+ 'subdomain': self.subdomain,
26416
+ 'tags': self.tags,
26417
+ 'username': self.username,
26418
+ }
26419
+
26420
+ @classmethod
26421
+ def from_dict(cls, d):
26422
+ return cls(
26423
+ allow_deprecated_key_exchanges=d.get(
26424
+ 'allow_deprecated_key_exchanges'),
26425
+ bind_interface=d.get('bind_interface'),
26426
+ egress_filter=d.get('egress_filter'),
26427
+ healthy=d.get('healthy'),
26428
+ hostname=d.get('hostname'),
26429
+ id=d.get('id'),
26430
+ identity_alias_healthcheck_username=d.get(
26431
+ 'identity_alias_healthcheck_username'),
26432
+ identity_set_id=d.get('identity_set_id'),
26433
+ name=d.get('name'),
26434
+ port=d.get('port'),
26435
+ port_forwarding=d.get('port_forwarding'),
26436
+ port_override=d.get('port_override'),
26437
+ private_key=d.get('private_key'),
26438
+ proxy_cluster_id=d.get('proxy_cluster_id'),
26439
+ secret_store_id=d.get('secret_store_id'),
26440
+ subdomain=d.get('subdomain'),
26441
+ tags=d.get('tags'),
26442
+ username=d.get('username'),
26443
+ )
26444
+
26445
+
26446
+ class SSHPassword:
26447
+ __slots__ = [
26448
+ 'allow_deprecated_key_exchanges',
26449
+ 'bind_interface',
26450
+ 'egress_filter',
26451
+ 'healthy',
26452
+ 'hostname',
26453
+ 'id',
26454
+ 'name',
26455
+ 'password',
26456
+ 'port',
26457
+ 'port_forwarding',
26458
+ 'port_override',
26459
+ 'proxy_cluster_id',
26460
+ 'secret_store_id',
26461
+ 'subdomain',
26462
+ 'tags',
26463
+ 'username',
26464
+ ]
26465
+
26466
+ def __init__(
26467
+ self,
26468
+ allow_deprecated_key_exchanges=None,
26469
+ bind_interface=None,
26470
+ egress_filter=None,
26471
+ healthy=None,
26472
+ hostname=None,
26473
+ id=None,
26474
+ name=None,
26475
+ password=None,
26476
+ port=None,
26477
+ port_forwarding=None,
26478
+ port_override=None,
26479
+ proxy_cluster_id=None,
26480
+ secret_store_id=None,
26481
+ subdomain=None,
26482
+ tags=None,
26483
+ username=None,
26484
+ ):
26485
+ self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26486
+ '''
26487
+ Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26488
+ '''
26489
+ self.bind_interface = bind_interface if bind_interface is not None else ''
26490
+ '''
26491
+ 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.
26492
+ '''
26493
+ self.egress_filter = egress_filter if egress_filter is not None else ''
26494
+ '''
26495
+ A filter applied to the routing logic to pin datasource to nodes.
26496
+ '''
26497
+ self.healthy = healthy if healthy is not None else False
26498
+ '''
26499
+ True if the datasource is reachable and the credentials are valid.
26500
+ '''
26501
+ self.hostname = hostname if hostname is not None else ''
26502
+ '''
26503
+ The host to dial to initiate a connection from the egress node to this resource.
26504
+ '''
26505
+ self.id = id if id is not None else ''
26506
+ '''
26507
+ Unique identifier of the Resource.
26508
+ '''
26509
+ self.name = name if name is not None else ''
26510
+ '''
26511
+ Unique human-readable name of the Resource.
26512
+ '''
26513
+ self.password = password if password is not None else ''
26514
+ '''
26515
+ The password to authenticate with.
26516
+ '''
26517
+ self.port = port if port is not None else 0
26518
+ '''
26519
+ The port to dial to initiate a connection from the egress node to this resource.
26520
+ '''
26521
+ self.port_forwarding = port_forwarding if port_forwarding is not None else False
26522
+ '''
26523
+ Whether port forwarding is allowed through this server.
26524
+ '''
26525
+ self.port_override = port_override if port_override is not None else 0
26526
+ '''
26527
+ The local port used by clients to connect to this resource.
24811
26528
  '''
24812
26529
  self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24813
26530
  '''
@@ -24831,20 +26548,18 @@ class SSHCustomerKey:
24831
26548
  '''
24832
26549
 
24833
26550
  def __repr__(self):
24834
- return '<sdm.SSHCustomerKey ' + \
26551
+ return '<sdm.SSHPassword ' + \
24835
26552
  'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
24836
26553
  'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24837
26554
  'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24838
26555
  'healthy: ' + repr(self.healthy) + ' ' +\
24839
26556
  'hostname: ' + repr(self.hostname) + ' ' +\
24840
26557
  'id: ' + repr(self.id) + ' ' +\
24841
- 'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
24842
- 'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
24843
26558
  'name: ' + repr(self.name) + ' ' +\
26559
+ 'password: ' + repr(self.password) + ' ' +\
24844
26560
  'port: ' + repr(self.port) + ' ' +\
24845
26561
  'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
24846
26562
  'port_override: ' + repr(self.port_override) + ' ' +\
24847
- 'private_key: ' + repr(self.private_key) + ' ' +\
24848
26563
  'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24849
26564
  'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24850
26565
  'subdomain: ' + repr(self.subdomain) + ' ' +\
@@ -24861,14 +26576,11 @@ class SSHCustomerKey:
24861
26576
  'healthy': self.healthy,
24862
26577
  'hostname': self.hostname,
24863
26578
  'id': self.id,
24864
- 'identity_alias_healthcheck_username':
24865
- self.identity_alias_healthcheck_username,
24866
- 'identity_set_id': self.identity_set_id,
24867
26579
  'name': self.name,
26580
+ 'password': self.password,
24868
26581
  'port': self.port,
24869
26582
  'port_forwarding': self.port_forwarding,
24870
26583
  'port_override': self.port_override,
24871
- 'private_key': self.private_key,
24872
26584
  'proxy_cluster_id': self.proxy_cluster_id,
24873
26585
  'secret_store_id': self.secret_store_id,
24874
26586
  'subdomain': self.subdomain,
@@ -24886,14 +26598,11 @@ class SSHCustomerKey:
24886
26598
  healthy=d.get('healthy'),
24887
26599
  hostname=d.get('hostname'),
24888
26600
  id=d.get('id'),
24889
- identity_alias_healthcheck_username=d.get(
24890
- 'identity_alias_healthcheck_username'),
24891
- identity_set_id=d.get('identity_set_id'),
24892
26601
  name=d.get('name'),
26602
+ password=d.get('password'),
24893
26603
  port=d.get('port'),
24894
26604
  port_forwarding=d.get('port_forwarding'),
24895
26605
  port_override=d.get('port_override'),
24896
- private_key=d.get('private_key'),
24897
26606
  proxy_cluster_id=d.get('proxy_cluster_id'),
24898
26607
  secret_store_id=d.get('secret_store_id'),
24899
26608
  subdomain=d.get('subdomain'),
@@ -24902,171 +26611,558 @@ class SSHCustomerKey:
24902
26611
  )
24903
26612
 
24904
26613
 
24905
- class SSHPassword:
26614
+ class SecretEngineCreateRequest:
26615
+ '''
26616
+ SecretEngineCreateRequest specifies a Secret Engine to create.
26617
+ '''
26618
+ __slots__ = [
26619
+ 'secret_engine',
26620
+ ]
26621
+
26622
+ def __init__(
26623
+ self,
26624
+ secret_engine=None,
26625
+ ):
26626
+ self.secret_engine = secret_engine if secret_engine is not None else None
26627
+ '''
26628
+ Parameters to define the new Secret Engine.
26629
+ '''
26630
+
26631
+ def __repr__(self):
26632
+ return '<sdm.SecretEngineCreateRequest ' + \
26633
+ 'secret_engine: ' + repr(self.secret_engine) + ' ' +\
26634
+ '>'
26635
+
26636
+ def to_dict(self):
26637
+ return {
26638
+ 'secret_engine': self.secret_engine,
26639
+ }
26640
+
26641
+ @classmethod
26642
+ def from_dict(cls, d):
26643
+ return cls(secret_engine=d.get('secret_engine'), )
26644
+
26645
+
26646
+ class SecretEngineCreateResponse:
26647
+ '''
26648
+ SecretEngineCreateResponse contains information about a Secret Engine after successful creation.
26649
+ '''
26650
+ __slots__ = [
26651
+ 'meta',
26652
+ 'rate_limit',
26653
+ 'secret_engine',
26654
+ ]
26655
+
26656
+ def __init__(
26657
+ self,
26658
+ meta=None,
26659
+ rate_limit=None,
26660
+ secret_engine=None,
26661
+ ):
26662
+ self.meta = meta if meta is not None else None
26663
+ '''
26664
+ Reserved for future use.
26665
+ '''
26666
+ self.rate_limit = rate_limit if rate_limit is not None else None
26667
+ '''
26668
+ Rate limit information.
26669
+ '''
26670
+ self.secret_engine = secret_engine if secret_engine is not None else None
26671
+ '''
26672
+ The requested Secret Engine.
26673
+ '''
26674
+
26675
+ def __repr__(self):
26676
+ return '<sdm.SecretEngineCreateResponse ' + \
26677
+ 'meta: ' + repr(self.meta) + ' ' +\
26678
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26679
+ 'secret_engine: ' + repr(self.secret_engine) + ' ' +\
26680
+ '>'
26681
+
26682
+ def to_dict(self):
26683
+ return {
26684
+ 'meta': self.meta,
26685
+ 'rate_limit': self.rate_limit,
26686
+ 'secret_engine': self.secret_engine,
26687
+ }
26688
+
26689
+ @classmethod
26690
+ def from_dict(cls, d):
26691
+ return cls(
26692
+ meta=d.get('meta'),
26693
+ rate_limit=d.get('rate_limit'),
26694
+ secret_engine=d.get('secret_engine'),
26695
+ )
26696
+
26697
+
26698
+ class SecretEngineDeleteRequest:
26699
+ '''
26700
+ SecretEngineDeleteRequest specified the ID of a Secret Engine to be deleted.
26701
+ '''
26702
+ __slots__ = [
26703
+ 'id',
26704
+ ]
26705
+
26706
+ def __init__(
26707
+ self,
26708
+ id=None,
26709
+ ):
26710
+ self.id = id if id is not None else ''
26711
+ '''
26712
+ The unique identifier of the Secret Engine to delete.
26713
+ '''
26714
+
26715
+ def __repr__(self):
26716
+ return '<sdm.SecretEngineDeleteRequest ' + \
26717
+ 'id: ' + repr(self.id) + ' ' +\
26718
+ '>'
26719
+
26720
+ def to_dict(self):
26721
+ return {
26722
+ 'id': self.id,
26723
+ }
26724
+
26725
+ @classmethod
26726
+ def from_dict(cls, d):
26727
+ return cls(id=d.get('id'), )
26728
+
26729
+
26730
+ class SecretEngineDeleteResponse:
26731
+ '''
26732
+ SecretEngineDeleteResponse contains information about a Secret Engine after it was deleted.
26733
+ '''
26734
+ __slots__ = [
26735
+ 'rate_limit',
26736
+ ]
26737
+
26738
+ def __init__(
26739
+ self,
26740
+ rate_limit=None,
26741
+ ):
26742
+ self.rate_limit = rate_limit if rate_limit is not None else None
26743
+ '''
26744
+ Rate limit information.
26745
+ '''
26746
+
26747
+ def __repr__(self):
26748
+ return '<sdm.SecretEngineDeleteResponse ' + \
26749
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26750
+ '>'
26751
+
26752
+ def to_dict(self):
26753
+ return {
26754
+ 'rate_limit': self.rate_limit,
26755
+ }
26756
+
26757
+ @classmethod
26758
+ def from_dict(cls, d):
26759
+ return cls(rate_limit=d.get('rate_limit'), )
26760
+
26761
+
26762
+ class SecretEngineGetRequest:
26763
+ '''
26764
+ SecretEngineGetRequest specifies which Secret Engine to retrieve
26765
+ '''
26766
+ __slots__ = [
26767
+ 'id',
26768
+ ]
26769
+
26770
+ def __init__(
26771
+ self,
26772
+ id=None,
26773
+ ):
26774
+ self.id = id if id is not None else ''
26775
+ '''
26776
+ The unique identifier of the Secret Engine to retrieve.
26777
+ '''
26778
+
26779
+ def __repr__(self):
26780
+ return '<sdm.SecretEngineGetRequest ' + \
26781
+ 'id: ' + repr(self.id) + ' ' +\
26782
+ '>'
26783
+
26784
+ def to_dict(self):
26785
+ return {
26786
+ 'id': self.id,
26787
+ }
26788
+
26789
+ @classmethod
26790
+ def from_dict(cls, d):
26791
+ return cls(id=d.get('id'), )
26792
+
26793
+
26794
+ class SecretEngineGetResponse:
26795
+ '''
26796
+ SecretEngineGetResponse contains information about requested Secret Engine
26797
+ '''
26798
+ __slots__ = [
26799
+ 'meta',
26800
+ 'rate_limit',
26801
+ 'secret_engine',
26802
+ ]
26803
+
26804
+ def __init__(
26805
+ self,
26806
+ meta=None,
26807
+ rate_limit=None,
26808
+ secret_engine=None,
26809
+ ):
26810
+ self.meta = meta if meta is not None else None
26811
+ '''
26812
+ Reserved for future use.
26813
+ '''
26814
+ self.rate_limit = rate_limit if rate_limit is not None else None
26815
+ '''
26816
+ Rate limit information.
26817
+ '''
26818
+ self.secret_engine = secret_engine if secret_engine is not None else None
26819
+ '''
26820
+ The requested Secret Engine.
26821
+ '''
26822
+
26823
+ def __repr__(self):
26824
+ return '<sdm.SecretEngineGetResponse ' + \
26825
+ 'meta: ' + repr(self.meta) + ' ' +\
26826
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26827
+ 'secret_engine: ' + repr(self.secret_engine) + ' ' +\
26828
+ '>'
26829
+
26830
+ def to_dict(self):
26831
+ return {
26832
+ 'meta': self.meta,
26833
+ 'rate_limit': self.rate_limit,
26834
+ 'secret_engine': self.secret_engine,
26835
+ }
26836
+
26837
+ @classmethod
26838
+ def from_dict(cls, d):
26839
+ return cls(
26840
+ meta=d.get('meta'),
26841
+ rate_limit=d.get('rate_limit'),
26842
+ secret_engine=d.get('secret_engine'),
26843
+ )
26844
+
26845
+
26846
+ class SecretEngineListRequest:
26847
+ '''
26848
+ SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines
26849
+ '''
26850
+ __slots__ = [
26851
+ 'filter',
26852
+ ]
26853
+
26854
+ def __init__(
26855
+ self,
26856
+ filter=None,
26857
+ ):
26858
+ self.filter = filter if filter is not None else ''
26859
+ '''
26860
+ A human-readable filter query string.
26861
+ '''
26862
+
26863
+ def __repr__(self):
26864
+ return '<sdm.SecretEngineListRequest ' + \
26865
+ 'filter: ' + repr(self.filter) + ' ' +\
26866
+ '>'
26867
+
26868
+ def to_dict(self):
26869
+ return {
26870
+ 'filter': self.filter,
26871
+ }
26872
+
26873
+ @classmethod
26874
+ def from_dict(cls, d):
26875
+ return cls(filter=d.get('filter'), )
26876
+
26877
+
26878
+ class SecretEngineListResponse:
26879
+ '''
26880
+ SecretEngineListResponse contains a list of requested Secret Engine
26881
+ '''
26882
+ __slots__ = [
26883
+ 'rate_limit',
26884
+ ]
26885
+
26886
+ def __init__(
26887
+ self,
26888
+ rate_limit=None,
26889
+ ):
26890
+ self.rate_limit = rate_limit if rate_limit is not None else None
26891
+ '''
26892
+ Rate limit information.
26893
+ '''
26894
+
26895
+ def __repr__(self):
26896
+ return '<sdm.SecretEngineListResponse ' + \
26897
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26898
+ '>'
26899
+
26900
+ def to_dict(self):
26901
+ return {
26902
+ 'rate_limit': self.rate_limit,
26903
+ }
26904
+
26905
+ @classmethod
26906
+ def from_dict(cls, d):
26907
+ return cls(rate_limit=d.get('rate_limit'), )
26908
+
26909
+
26910
+ class SecretEnginePasswordPolicy:
24906
26911
  __slots__ = [
24907
- 'allow_deprecated_key_exchanges',
24908
- 'bind_interface',
24909
- 'egress_filter',
24910
- 'healthy',
24911
- 'hostname',
24912
- 'id',
24913
- 'name',
24914
- 'password',
24915
- 'port',
24916
- 'port_forwarding',
24917
- 'port_override',
24918
- 'proxy_cluster_id',
24919
- 'secret_store_id',
24920
- 'subdomain',
24921
- 'tags',
24922
- 'username',
26912
+ 'allow_repeat',
26913
+ 'exclude_characters',
26914
+ 'exclude_upper_case',
26915
+ 'length',
26916
+ 'num_digits',
26917
+ 'num_symbols',
24923
26918
  ]
24924
26919
 
24925
26920
  def __init__(
24926
26921
  self,
24927
- allow_deprecated_key_exchanges=None,
24928
- bind_interface=None,
24929
- egress_filter=None,
24930
- healthy=None,
24931
- hostname=None,
24932
- id=None,
24933
- name=None,
24934
- password=None,
24935
- port=None,
24936
- port_forwarding=None,
24937
- port_override=None,
24938
- proxy_cluster_id=None,
24939
- secret_store_id=None,
24940
- subdomain=None,
24941
- tags=None,
24942
- username=None,
26922
+ allow_repeat=None,
26923
+ exclude_characters=None,
26924
+ exclude_upper_case=None,
26925
+ length=None,
26926
+ num_digits=None,
26927
+ num_symbols=None,
24943
26928
  ):
24944
- self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
24945
- '''
24946
- Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
24947
- '''
24948
- self.bind_interface = bind_interface if bind_interface is not None else ''
24949
- '''
24950
- 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.
24951
- '''
24952
- self.egress_filter = egress_filter if egress_filter is not None else ''
26929
+ self.allow_repeat = allow_repeat if allow_repeat is not None else False
24953
26930
  '''
24954
- A filter applied to the routing logic to pin datasource to nodes.
26931
+ If set to true allows for consecutive characters to repeat itself
24955
26932
  '''
24956
- self.healthy = healthy if healthy is not None else False
26933
+ self.exclude_characters = exclude_characters if exclude_characters is not None else ''
24957
26934
  '''
24958
- True if the datasource is reachable and the credentials are valid.
26935
+ Characters to exclude when generating password
24959
26936
  '''
24960
- self.hostname = hostname if hostname is not None else ''
26937
+ self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
24961
26938
  '''
24962
- The host to dial to initiate a connection from the egress node to this resource.
26939
+ If set to true do not include upper case letters when generating password
24963
26940
  '''
24964
- self.id = id if id is not None else ''
26941
+ self.length = length if length is not None else 0
24965
26942
  '''
24966
- Unique identifier of the Resource.
26943
+ Password length.
24967
26944
  '''
24968
- self.name = name if name is not None else ''
26945
+ self.num_digits = num_digits if num_digits is not None else 0
24969
26946
  '''
24970
- Unique human-readable name of the Resource.
26947
+ Numbers of digits to use when generating password
24971
26948
  '''
24972
- self.password = password if password is not None else ''
26949
+ self.num_symbols = num_symbols if num_symbols is not None else 0
24973
26950
  '''
24974
- The password to authenticate with.
26951
+ Number of symbols to use when generating password
24975
26952
  '''
24976
- self.port = port if port is not None else 0
26953
+
26954
+ def __repr__(self):
26955
+ return '<sdm.SecretEnginePasswordPolicy ' + \
26956
+ 'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
26957
+ 'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
26958
+ 'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
26959
+ 'length: ' + repr(self.length) + ' ' +\
26960
+ 'num_digits: ' + repr(self.num_digits) + ' ' +\
26961
+ 'num_symbols: ' + repr(self.num_symbols) + ' ' +\
26962
+ '>'
26963
+
26964
+ def to_dict(self):
26965
+ return {
26966
+ 'allow_repeat': self.allow_repeat,
26967
+ 'exclude_characters': self.exclude_characters,
26968
+ 'exclude_upper_case': self.exclude_upper_case,
26969
+ 'length': self.length,
26970
+ 'num_digits': self.num_digits,
26971
+ 'num_symbols': self.num_symbols,
26972
+ }
26973
+
26974
+ @classmethod
26975
+ def from_dict(cls, d):
26976
+ return cls(
26977
+ allow_repeat=d.get('allow_repeat'),
26978
+ exclude_characters=d.get('exclude_characters'),
26979
+ exclude_upper_case=d.get('exclude_upper_case'),
26980
+ length=d.get('length'),
26981
+ num_digits=d.get('num_digits'),
26982
+ num_symbols=d.get('num_symbols'),
26983
+ )
26984
+
26985
+
26986
+ class SecretEnginePolicy:
26987
+ __slots__ = [
26988
+ 'password_policy',
26989
+ ]
26990
+
26991
+ def __init__(
26992
+ self,
26993
+ password_policy=None,
26994
+ ):
26995
+ self.password_policy = password_policy if password_policy is not None else None
24977
26996
  '''
24978
- The port to dial to initiate a connection from the egress node to this resource.
26997
+ Policy for password
24979
26998
  '''
24980
- self.port_forwarding = port_forwarding if port_forwarding is not None else False
26999
+
27000
+ def __repr__(self):
27001
+ return '<sdm.SecretEnginePolicy ' + \
27002
+ 'password_policy: ' + repr(self.password_policy) + ' ' +\
27003
+ '>'
27004
+
27005
+ def to_dict(self):
27006
+ return {
27007
+ 'password_policy': self.password_policy,
27008
+ }
27009
+
27010
+ @classmethod
27011
+ def from_dict(cls, d):
27012
+ return cls(password_policy=d.get('password_policy'), )
27013
+
27014
+
27015
+ class SecretEngineRotateRequest:
27016
+ __slots__ = [
27017
+ 'id',
27018
+ 'password_policy',
27019
+ ]
27020
+
27021
+ def __init__(
27022
+ self,
27023
+ id=None,
27024
+ password_policy=None,
27025
+ ):
27026
+ self.id = id if id is not None else ''
24981
27027
  '''
24982
- Whether port forwarding is allowed through this server.
27028
+ The unique identifier of the Secret Engine to rotate credentials for.
24983
27029
  '''
24984
- self.port_override = port_override if port_override is not None else 0
27030
+ self.password_policy = password_policy if password_policy is not None else None
24985
27031
  '''
24986
- The local port used by clients to connect to this resource.
27032
+ Optional password policy to use when generating a password
27033
+ If not provided it will use secret engine's password_policy
24987
27034
  '''
24988
- self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27035
+
27036
+ def __repr__(self):
27037
+ return '<sdm.SecretEngineRotateRequest ' + \
27038
+ 'id: ' + repr(self.id) + ' ' +\
27039
+ 'password_policy: ' + repr(self.password_policy) + ' ' +\
27040
+ '>'
27041
+
27042
+ def to_dict(self):
27043
+ return {
27044
+ 'id': self.id,
27045
+ 'password_policy': self.password_policy,
27046
+ }
27047
+
27048
+ @classmethod
27049
+ def from_dict(cls, d):
27050
+ return cls(
27051
+ id=d.get('id'),
27052
+ password_policy=d.get('password_policy'),
27053
+ )
27054
+
27055
+
27056
+ class SecretEngineRotateResponse:
27057
+ __slots__ = [
27058
+ 'rate_limit',
27059
+ ]
27060
+
27061
+ def __init__(
27062
+ self,
27063
+ rate_limit=None,
27064
+ ):
27065
+ self.rate_limit = rate_limit if rate_limit is not None else None
24989
27066
  '''
24990
- ID of the proxy cluster for this resource, if any.
27067
+ Rate limit information.
24991
27068
  '''
24992
- self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27069
+
27070
+ def __repr__(self):
27071
+ return '<sdm.SecretEngineRotateResponse ' + \
27072
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27073
+ '>'
27074
+
27075
+ def to_dict(self):
27076
+ return {
27077
+ 'rate_limit': self.rate_limit,
27078
+ }
27079
+
27080
+ @classmethod
27081
+ def from_dict(cls, d):
27082
+ return cls(rate_limit=d.get('rate_limit'), )
27083
+
27084
+
27085
+ class SecretEngineUpdateRequest:
27086
+ '''
27087
+ SecretEngineUpdateRequest specifies secret engine to update
27088
+ '''
27089
+ __slots__ = [
27090
+ 'secret_engine',
27091
+ ]
27092
+
27093
+ def __init__(
27094
+ self,
27095
+ secret_engine=None,
27096
+ ):
27097
+ self.secret_engine = secret_engine if secret_engine is not None else None
24993
27098
  '''
24994
- ID of the secret store containing credentials for this resource, if any.
27099
+ Secret engine to update
24995
27100
  '''
24996
- self.subdomain = subdomain if subdomain is not None else ''
27101
+
27102
+ def __repr__(self):
27103
+ return '<sdm.SecretEngineUpdateRequest ' + \
27104
+ 'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27105
+ '>'
27106
+
27107
+ def to_dict(self):
27108
+ return {
27109
+ 'secret_engine': self.secret_engine,
27110
+ }
27111
+
27112
+ @classmethod
27113
+ def from_dict(cls, d):
27114
+ return cls(secret_engine=d.get('secret_engine'), )
27115
+
27116
+
27117
+ class SecretEngineUpdateResponse:
27118
+ '''
27119
+ SecretEngineUpdateResponse contains information about Secret Engine after successful update.
27120
+ '''
27121
+ __slots__ = [
27122
+ 'meta',
27123
+ 'rate_limit',
27124
+ 'secret_engine',
27125
+ ]
27126
+
27127
+ def __init__(
27128
+ self,
27129
+ meta=None,
27130
+ rate_limit=None,
27131
+ secret_engine=None,
27132
+ ):
27133
+ self.meta = meta if meta is not None else None
24997
27134
  '''
24998
- Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27135
+ Reserved for future use.
24999
27136
  '''
25000
- self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27137
+ self.rate_limit = rate_limit if rate_limit is not None else None
25001
27138
  '''
25002
- Tags is a map of key, value pairs.
27139
+ Rate limit information.
25003
27140
  '''
25004
- self.username = username if username is not None else ''
27141
+ self.secret_engine = secret_engine if secret_engine is not None else None
25005
27142
  '''
25006
- The username to authenticate with.
27143
+ The requested Secret Engine.
25007
27144
  '''
25008
27145
 
25009
27146
  def __repr__(self):
25010
- return '<sdm.SSHPassword ' + \
25011
- 'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
25012
- 'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25013
- 'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25014
- 'healthy: ' + repr(self.healthy) + ' ' +\
25015
- 'hostname: ' + repr(self.hostname) + ' ' +\
25016
- 'id: ' + repr(self.id) + ' ' +\
25017
- 'name: ' + repr(self.name) + ' ' +\
25018
- 'password: ' + repr(self.password) + ' ' +\
25019
- 'port: ' + repr(self.port) + ' ' +\
25020
- 'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
25021
- 'port_override: ' + repr(self.port_override) + ' ' +\
25022
- 'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25023
- 'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25024
- 'subdomain: ' + repr(self.subdomain) + ' ' +\
25025
- 'tags: ' + repr(self.tags) + ' ' +\
25026
- 'username: ' + repr(self.username) + ' ' +\
27147
+ return '<sdm.SecretEngineUpdateResponse ' + \
27148
+ 'meta: ' + repr(self.meta) + ' ' +\
27149
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27150
+ 'secret_engine: ' + repr(self.secret_engine) + ' ' +\
25027
27151
  '>'
25028
27152
 
25029
27153
  def to_dict(self):
25030
27154
  return {
25031
- 'allow_deprecated_key_exchanges':
25032
- self.allow_deprecated_key_exchanges,
25033
- 'bind_interface': self.bind_interface,
25034
- 'egress_filter': self.egress_filter,
25035
- 'healthy': self.healthy,
25036
- 'hostname': self.hostname,
25037
- 'id': self.id,
25038
- 'name': self.name,
25039
- 'password': self.password,
25040
- 'port': self.port,
25041
- 'port_forwarding': self.port_forwarding,
25042
- 'port_override': self.port_override,
25043
- 'proxy_cluster_id': self.proxy_cluster_id,
25044
- 'secret_store_id': self.secret_store_id,
25045
- 'subdomain': self.subdomain,
25046
- 'tags': self.tags,
25047
- 'username': self.username,
27155
+ 'meta': self.meta,
27156
+ 'rate_limit': self.rate_limit,
27157
+ 'secret_engine': self.secret_engine,
25048
27158
  }
25049
27159
 
25050
27160
  @classmethod
25051
27161
  def from_dict(cls, d):
25052
27162
  return cls(
25053
- allow_deprecated_key_exchanges=d.get(
25054
- 'allow_deprecated_key_exchanges'),
25055
- bind_interface=d.get('bind_interface'),
25056
- egress_filter=d.get('egress_filter'),
25057
- healthy=d.get('healthy'),
25058
- hostname=d.get('hostname'),
25059
- id=d.get('id'),
25060
- name=d.get('name'),
25061
- password=d.get('password'),
25062
- port=d.get('port'),
25063
- port_forwarding=d.get('port_forwarding'),
25064
- port_override=d.get('port_override'),
25065
- proxy_cluster_id=d.get('proxy_cluster_id'),
25066
- secret_store_id=d.get('secret_store_id'),
25067
- subdomain=d.get('subdomain'),
25068
- tags=d.get('tags'),
25069
- username=d.get('username'),
27163
+ meta=d.get('meta'),
27164
+ rate_limit=d.get('rate_limit'),
27165
+ secret_engine=d.get('secret_engine'),
25070
27166
  )
25071
27167
 
25072
27168