strongdm 6.8.0__zip → 6.9.0__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. {strongdm-6.8.0 → strongdm-6.9.0}/PKG-INFO +2 -2
  2. {strongdm-6.8.0 → strongdm-6.9.0}/setup.py +2 -2
  3. strongdm-6.9.0/strongdm/approval_workflow_approvers_history_pb2.py +100 -0
  4. strongdm-6.9.0/strongdm/approval_workflow_approvers_history_pb2_grpc.py +84 -0
  5. strongdm-6.9.0/strongdm/approval_workflow_approvers_pb2.py +190 -0
  6. strongdm-6.9.0/strongdm/approval_workflow_approvers_pb2_grpc.py +186 -0
  7. strongdm-6.9.0/strongdm/approval_workflow_steps_history_pb2.py +100 -0
  8. strongdm-6.9.0/strongdm/approval_workflow_steps_history_pb2_grpc.py +84 -0
  9. strongdm-6.9.0/strongdm/approval_workflow_steps_pb2.py +184 -0
  10. strongdm-6.9.0/strongdm/approval_workflow_steps_pb2_grpc.py +186 -0
  11. strongdm-6.9.0/strongdm/approval_workflows_history_pb2.py +100 -0
  12. strongdm-6.9.0/strongdm/approval_workflows_history_pb2_grpc.py +84 -0
  13. strongdm-6.9.0/strongdm/approval_workflows_pb2.py +218 -0
  14. strongdm-6.9.0/strongdm/approval_workflows_pb2_grpc.py +223 -0
  15. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/client.py +70 -1
  16. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/constants.py +1 -0
  17. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/models.py +924 -0
  18. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/plumbing.py +770 -0
  19. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/svc.py +702 -0
  20. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm.egg-info/PKG-INFO +2 -2
  21. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm.egg-info/SOURCES.txt +12 -0
  22. {strongdm-6.8.0 → strongdm-6.9.0}/LICENSE +0 -0
  23. {strongdm-6.8.0 → strongdm-6.9.0}/README.md +0 -0
  24. {strongdm-6.8.0 → strongdm-6.9.0}/setup.cfg +0 -0
  25. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/__init__.py +0 -0
  26. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/access_request_events_history_pb2.py +0 -0
  27. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/access_request_events_history_pb2_grpc.py +0 -0
  28. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/access_requests_history_pb2.py +0 -0
  29. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/access_requests_history_pb2_grpc.py +0 -0
  30. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/access_requests_pb2.py +0 -0
  31. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/access_requests_pb2_grpc.py +0 -0
  32. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/account_attachments_history_pb2.py +0 -0
  33. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/account_attachments_history_pb2_grpc.py +0 -0
  34. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/account_attachments_pb2.py +0 -0
  35. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/account_attachments_pb2_grpc.py +0 -0
  36. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/account_grants_history_pb2.py +0 -0
  37. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/account_grants_history_pb2_grpc.py +0 -0
  38. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/account_grants_pb2.py +0 -0
  39. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/account_grants_pb2_grpc.py +0 -0
  40. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/account_permissions_pb2.py +0 -0
  41. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/account_permissions_pb2_grpc.py +0 -0
  42. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/account_resources_history_pb2.py +0 -0
  43. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/account_resources_history_pb2_grpc.py +0 -0
  44. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/account_resources_pb2.py +0 -0
  45. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/account_resources_pb2_grpc.py +0 -0
  46. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/accounts_history_pb2.py +0 -0
  47. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/accounts_history_pb2_grpc.py +0 -0
  48. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/accounts_pb2.py +0 -0
  49. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/accounts_pb2_grpc.py +0 -0
  50. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/activities_pb2.py +0 -0
  51. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/activities_pb2_grpc.py +0 -0
  52. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/control_panel_pb2.py +0 -0
  53. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/control_panel_pb2_grpc.py +0 -0
  54. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/drivers_pb2.py +0 -0
  55. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/drivers_pb2_grpc.py +0 -0
  56. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/errors.py +0 -0
  57. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/nodes_history_pb2.py +0 -0
  58. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/nodes_history_pb2_grpc.py +0 -0
  59. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/nodes_pb2.py +0 -0
  60. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/nodes_pb2_grpc.py +0 -0
  61. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/options_pb2.py +0 -0
  62. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/options_pb2_grpc.py +0 -0
  63. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/organization_history_pb2.py +0 -0
  64. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/organization_history_pb2_grpc.py +0 -0
  65. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/peering_group_nodes_pb2.py +0 -0
  66. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/peering_group_nodes_pb2_grpc.py +0 -0
  67. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/peering_group_peers_pb2.py +0 -0
  68. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/peering_group_peers_pb2_grpc.py +0 -0
  69. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/peering_group_resources_pb2.py +0 -0
  70. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/peering_group_resources_pb2_grpc.py +0 -0
  71. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/peering_groups_pb2.py +0 -0
  72. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/peering_groups_pb2_grpc.py +0 -0
  73. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/queries_pb2.py +0 -0
  74. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/queries_pb2_grpc.py +0 -0
  75. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/remote_identities_history_pb2.py +0 -0
  76. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/remote_identities_history_pb2_grpc.py +0 -0
  77. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/remote_identities_pb2.py +0 -0
  78. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/remote_identities_pb2_grpc.py +0 -0
  79. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/remote_identity_groups_history_pb2.py +0 -0
  80. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/remote_identity_groups_history_pb2_grpc.py +0 -0
  81. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/remote_identity_groups_pb2.py +0 -0
  82. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/remote_identity_groups_pb2_grpc.py +0 -0
  83. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/replays_pb2.py +0 -0
  84. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/replays_pb2_grpc.py +0 -0
  85. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/resources_history_pb2.py +0 -0
  86. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/resources_history_pb2_grpc.py +0 -0
  87. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/resources_pb2.py +0 -0
  88. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/resources_pb2_grpc.py +0 -0
  89. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/role_resources_history_pb2.py +0 -0
  90. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/role_resources_history_pb2_grpc.py +0 -0
  91. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/role_resources_pb2.py +0 -0
  92. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/role_resources_pb2_grpc.py +0 -0
  93. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/roles_history_pb2.py +0 -0
  94. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/roles_history_pb2_grpc.py +0 -0
  95. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/roles_pb2.py +0 -0
  96. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/roles_pb2_grpc.py +0 -0
  97. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/secret_store_healths_pb2.py +0 -0
  98. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/secret_store_healths_pb2_grpc.py +0 -0
  99. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/secret_store_types_pb2.py +0 -0
  100. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/secret_store_types_pb2_grpc.py +0 -0
  101. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/secret_stores_history_pb2.py +0 -0
  102. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/secret_stores_history_pb2_grpc.py +0 -0
  103. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/secret_stores_pb2.py +0 -0
  104. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/secret_stores_pb2_grpc.py +0 -0
  105. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/spec_pb2.py +0 -0
  106. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/spec_pb2_grpc.py +0 -0
  107. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/tags_pb2.py +0 -0
  108. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/tags_pb2_grpc.py +0 -0
  109. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/workflow_approvers_history_pb2.py +0 -0
  110. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/workflow_approvers_history_pb2_grpc.py +0 -0
  111. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/workflow_approvers_pb2.py +0 -0
  112. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/workflow_approvers_pb2_grpc.py +0 -0
  113. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/workflow_assignments_history_pb2.py +0 -0
  114. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/workflow_assignments_history_pb2_grpc.py +0 -0
  115. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/workflow_assignments_pb2.py +0 -0
  116. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/workflow_assignments_pb2_grpc.py +0 -0
  117. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/workflow_roles_history_pb2.py +0 -0
  118. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/workflow_roles_history_pb2_grpc.py +0 -0
  119. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/workflow_roles_pb2.py +0 -0
  120. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/workflow_roles_pb2_grpc.py +0 -0
  121. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/workflows_history_pb2.py +0 -0
  122. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/workflows_history_pb2_grpc.py +0 -0
  123. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/workflows_pb2.py +0 -0
  124. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm/workflows_pb2_grpc.py +0 -0
  125. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm.egg-info/dependency_links.txt +0 -0
  126. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm.egg-info/requires.txt +0 -0
  127. {strongdm-6.8.0 → strongdm-6.9.0}/strongdm.egg-info/top_level.txt +0 -0
@@ -4357,6 +4357,930 @@ class AmazonMQAMQP091:
4357
4357
  )
4358
4358
 
4359
4359
 
4360
+ class ApprovalWorkflow:
4361
+ '''
4362
+ ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized
4363
+ approvers and be approved or denied.
4364
+ '''
4365
+ __slots__ = [
4366
+ 'approval_mode',
4367
+ 'description',
4368
+ 'id',
4369
+ 'name',
4370
+ ]
4371
+
4372
+ def __init__(
4373
+ self,
4374
+ approval_mode=None,
4375
+ description=None,
4376
+ id=None,
4377
+ name=None,
4378
+ ):
4379
+ self.approval_mode = approval_mode if approval_mode is not None else ''
4380
+ '''
4381
+ Approval mode of the ApprovalWorkflow
4382
+ '''
4383
+ self.description = description if description is not None else ''
4384
+ '''
4385
+ Optional description of the ApprovalWorkflow.
4386
+ '''
4387
+ self.id = id if id is not None else ''
4388
+ '''
4389
+ Unique identifier of the ApprovalWorkflow.
4390
+ '''
4391
+ self.name = name if name is not None else ''
4392
+ '''
4393
+ Unique human-readable name of the ApprovalWorkflow.
4394
+ '''
4395
+
4396
+ def __repr__(self):
4397
+ return '<sdm.ApprovalWorkflow ' + \
4398
+ 'approval_mode: ' + repr(self.approval_mode) + ' ' +\
4399
+ 'description: ' + repr(self.description) + ' ' +\
4400
+ 'id: ' + repr(self.id) + ' ' +\
4401
+ 'name: ' + repr(self.name) + ' ' +\
4402
+ '>'
4403
+
4404
+ def to_dict(self):
4405
+ return {
4406
+ 'approval_mode': self.approval_mode,
4407
+ 'description': self.description,
4408
+ 'id': self.id,
4409
+ 'name': self.name,
4410
+ }
4411
+
4412
+ @classmethod
4413
+ def from_dict(cls, d):
4414
+ return cls(
4415
+ approval_mode=d.get('approval_mode'),
4416
+ description=d.get('description'),
4417
+ id=d.get('id'),
4418
+ name=d.get('name'),
4419
+ )
4420
+
4421
+
4422
+ class ApprovalWorkflowApprover:
4423
+ '''
4424
+ ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep
4425
+ '''
4426
+ __slots__ = [
4427
+ 'account_id',
4428
+ 'approval_flow_id',
4429
+ 'approval_step_id',
4430
+ 'id',
4431
+ 'role_id',
4432
+ ]
4433
+
4434
+ def __init__(
4435
+ self,
4436
+ account_id=None,
4437
+ approval_flow_id=None,
4438
+ approval_step_id=None,
4439
+ id=None,
4440
+ role_id=None,
4441
+ ):
4442
+ self.account_id = account_id if account_id is not None else ''
4443
+ '''
4444
+ The approver account id.
4445
+ '''
4446
+ self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
4447
+ '''
4448
+ The approval flow id specified the approval workflow that this approver belongs to
4449
+ '''
4450
+ self.approval_step_id = approval_step_id if approval_step_id is not None else ''
4451
+ '''
4452
+ The approval step id specified the approval flow step that this approver belongs to
4453
+ '''
4454
+ self.id = id if id is not None else ''
4455
+ '''
4456
+ Unique identifier of the ApprovalWorkflowApprover.
4457
+ '''
4458
+ self.role_id = role_id if role_id is not None else ''
4459
+ '''
4460
+ The approver role id
4461
+ '''
4462
+
4463
+ def __repr__(self):
4464
+ return '<sdm.ApprovalWorkflowApprover ' + \
4465
+ 'account_id: ' + repr(self.account_id) + ' ' +\
4466
+ 'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
4467
+ 'approval_step_id: ' + repr(self.approval_step_id) + ' ' +\
4468
+ 'id: ' + repr(self.id) + ' ' +\
4469
+ 'role_id: ' + repr(self.role_id) + ' ' +\
4470
+ '>'
4471
+
4472
+ def to_dict(self):
4473
+ return {
4474
+ 'account_id': self.account_id,
4475
+ 'approval_flow_id': self.approval_flow_id,
4476
+ 'approval_step_id': self.approval_step_id,
4477
+ 'id': self.id,
4478
+ 'role_id': self.role_id,
4479
+ }
4480
+
4481
+ @classmethod
4482
+ def from_dict(cls, d):
4483
+ return cls(
4484
+ account_id=d.get('account_id'),
4485
+ approval_flow_id=d.get('approval_flow_id'),
4486
+ approval_step_id=d.get('approval_step_id'),
4487
+ id=d.get('id'),
4488
+ role_id=d.get('role_id'),
4489
+ )
4490
+
4491
+
4492
+ class ApprovalWorkflowApproverCreateResponse:
4493
+ '''
4494
+ ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.
4495
+ '''
4496
+ __slots__ = [
4497
+ 'approval_workflow_approver',
4498
+ 'rate_limit',
4499
+ ]
4500
+
4501
+ def __init__(
4502
+ self,
4503
+ approval_workflow_approver=None,
4504
+ rate_limit=None,
4505
+ ):
4506
+ self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
4507
+ '''
4508
+ The created approval workflow approver.
4509
+ '''
4510
+ self.rate_limit = rate_limit if rate_limit is not None else None
4511
+ '''
4512
+ Rate limit information.
4513
+ '''
4514
+
4515
+ def __repr__(self):
4516
+ return '<sdm.ApprovalWorkflowApproverCreateResponse ' + \
4517
+ 'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
4518
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
4519
+ '>'
4520
+
4521
+ def to_dict(self):
4522
+ return {
4523
+ 'approval_workflow_approver': self.approval_workflow_approver,
4524
+ 'rate_limit': self.rate_limit,
4525
+ }
4526
+
4527
+ @classmethod
4528
+ def from_dict(cls, d):
4529
+ return cls(
4530
+ approval_workflow_approver=d.get('approval_workflow_approver'),
4531
+ rate_limit=d.get('rate_limit'),
4532
+ )
4533
+
4534
+
4535
+ class ApprovalWorkflowApproverDeleteResponse:
4536
+ '''
4537
+ ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.
4538
+ '''
4539
+ __slots__ = [
4540
+ 'id',
4541
+ 'rate_limit',
4542
+ ]
4543
+
4544
+ def __init__(
4545
+ self,
4546
+ id=None,
4547
+ rate_limit=None,
4548
+ ):
4549
+ self.id = id if id is not None else ''
4550
+ '''
4551
+ The deleted approval workflow approver id.
4552
+ '''
4553
+ self.rate_limit = rate_limit if rate_limit is not None else None
4554
+ '''
4555
+ Rate limit information.
4556
+ '''
4557
+
4558
+ def __repr__(self):
4559
+ return '<sdm.ApprovalWorkflowApproverDeleteResponse ' + \
4560
+ 'id: ' + repr(self.id) + ' ' +\
4561
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
4562
+ '>'
4563
+
4564
+ def to_dict(self):
4565
+ return {
4566
+ 'id': self.id,
4567
+ 'rate_limit': self.rate_limit,
4568
+ }
4569
+
4570
+ @classmethod
4571
+ def from_dict(cls, d):
4572
+ return cls(
4573
+ id=d.get('id'),
4574
+ rate_limit=d.get('rate_limit'),
4575
+ )
4576
+
4577
+
4578
+ class ApprovalWorkflowApproverGetResponse:
4579
+ '''
4580
+ ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.
4581
+ '''
4582
+ __slots__ = [
4583
+ 'approval_workflow_approver',
4584
+ 'meta',
4585
+ 'rate_limit',
4586
+ ]
4587
+
4588
+ def __init__(
4589
+ self,
4590
+ approval_workflow_approver=None,
4591
+ meta=None,
4592
+ rate_limit=None,
4593
+ ):
4594
+ self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
4595
+ '''
4596
+ The requested ApprovalWorkflowApprover.
4597
+ '''
4598
+ self.meta = meta if meta is not None else None
4599
+ '''
4600
+ Reserved for future use.
4601
+ '''
4602
+ self.rate_limit = rate_limit if rate_limit is not None else None
4603
+ '''
4604
+ Rate limit information.
4605
+ '''
4606
+
4607
+ def __repr__(self):
4608
+ return '<sdm.ApprovalWorkflowApproverGetResponse ' + \
4609
+ 'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
4610
+ 'meta: ' + repr(self.meta) + ' ' +\
4611
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
4612
+ '>'
4613
+
4614
+ def to_dict(self):
4615
+ return {
4616
+ 'approval_workflow_approver': self.approval_workflow_approver,
4617
+ 'meta': self.meta,
4618
+ 'rate_limit': self.rate_limit,
4619
+ }
4620
+
4621
+ @classmethod
4622
+ def from_dict(cls, d):
4623
+ return cls(
4624
+ approval_workflow_approver=d.get('approval_workflow_approver'),
4625
+ meta=d.get('meta'),
4626
+ rate_limit=d.get('rate_limit'),
4627
+ )
4628
+
4629
+
4630
+ class ApprovalWorkflowApproverHistory:
4631
+ '''
4632
+ ApprovalWorkflowApproverHistory records the state of an ApprovalWorkflowApprover at a given point in time,
4633
+ where every change (create or delete) to an ApprovalWorkflowApprover produces an
4634
+ ApprovalWorkflowApproverHistory record.
4635
+ '''
4636
+ __slots__ = [
4637
+ 'activity_id',
4638
+ 'approval_workflow_approver',
4639
+ 'deleted_at',
4640
+ 'timestamp',
4641
+ ]
4642
+
4643
+ def __init__(
4644
+ self,
4645
+ activity_id=None,
4646
+ approval_workflow_approver=None,
4647
+ deleted_at=None,
4648
+ timestamp=None,
4649
+ ):
4650
+ self.activity_id = activity_id if activity_id is not None else ''
4651
+ '''
4652
+ The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
4653
+ May be empty for some system-initiated updates.
4654
+ '''
4655
+ self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
4656
+ '''
4657
+ The complete ApprovalWorkflowApprover state at this time.
4658
+ '''
4659
+ self.deleted_at = deleted_at if deleted_at is not None else None
4660
+ '''
4661
+ If this ApprovalWorkflowApprover was deleted, the time it was deleted.
4662
+ '''
4663
+ self.timestamp = timestamp if timestamp is not None else None
4664
+ '''
4665
+ The time at which the ApprovalWorkflowApprover state was recorded.
4666
+ '''
4667
+
4668
+ def __repr__(self):
4669
+ return '<sdm.ApprovalWorkflowApproverHistory ' + \
4670
+ 'activity_id: ' + repr(self.activity_id) + ' ' +\
4671
+ 'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
4672
+ 'deleted_at: ' + repr(self.deleted_at) + ' ' +\
4673
+ 'timestamp: ' + repr(self.timestamp) + ' ' +\
4674
+ '>'
4675
+
4676
+ def to_dict(self):
4677
+ return {
4678
+ 'activity_id': self.activity_id,
4679
+ 'approval_workflow_approver': self.approval_workflow_approver,
4680
+ 'deleted_at': self.deleted_at,
4681
+ 'timestamp': self.timestamp,
4682
+ }
4683
+
4684
+ @classmethod
4685
+ def from_dict(cls, d):
4686
+ return cls(
4687
+ activity_id=d.get('activity_id'),
4688
+ approval_workflow_approver=d.get('approval_workflow_approver'),
4689
+ deleted_at=d.get('deleted_at'),
4690
+ timestamp=d.get('timestamp'),
4691
+ )
4692
+
4693
+
4694
+ class ApprovalWorkflowApproverListResponse:
4695
+ '''
4696
+ ApprovalWorkflowApproverListResponse returns a list of ApprovalWorkflowApprover records that meet
4697
+ the criteria of an ApprovalWorkflowApproverListRequest.
4698
+ '''
4699
+ __slots__ = [
4700
+ 'rate_limit',
4701
+ ]
4702
+
4703
+ def __init__(
4704
+ self,
4705
+ rate_limit=None,
4706
+ ):
4707
+ self.rate_limit = rate_limit if rate_limit is not None else None
4708
+ '''
4709
+ Rate limit information.
4710
+ '''
4711
+
4712
+ def __repr__(self):
4713
+ return '<sdm.ApprovalWorkflowApproverListResponse ' + \
4714
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
4715
+ '>'
4716
+
4717
+ def to_dict(self):
4718
+ return {
4719
+ 'rate_limit': self.rate_limit,
4720
+ }
4721
+
4722
+ @classmethod
4723
+ def from_dict(cls, d):
4724
+ return cls(rate_limit=d.get('rate_limit'), )
4725
+
4726
+
4727
+ class ApprovalWorkflowCreateResponse:
4728
+ '''
4729
+ ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.
4730
+ '''
4731
+ __slots__ = [
4732
+ 'approval_workflow',
4733
+ 'rate_limit',
4734
+ ]
4735
+
4736
+ def __init__(
4737
+ self,
4738
+ approval_workflow=None,
4739
+ rate_limit=None,
4740
+ ):
4741
+ self.approval_workflow = approval_workflow if approval_workflow is not None else None
4742
+ '''
4743
+ The created approval workflow.
4744
+ '''
4745
+ self.rate_limit = rate_limit if rate_limit is not None else None
4746
+ '''
4747
+ Rate limit information.
4748
+ '''
4749
+
4750
+ def __repr__(self):
4751
+ return '<sdm.ApprovalWorkflowCreateResponse ' + \
4752
+ 'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
4753
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
4754
+ '>'
4755
+
4756
+ def to_dict(self):
4757
+ return {
4758
+ 'approval_workflow': self.approval_workflow,
4759
+ 'rate_limit': self.rate_limit,
4760
+ }
4761
+
4762
+ @classmethod
4763
+ def from_dict(cls, d):
4764
+ return cls(
4765
+ approval_workflow=d.get('approval_workflow'),
4766
+ rate_limit=d.get('rate_limit'),
4767
+ )
4768
+
4769
+
4770
+ class ApprovalWorkflowDeleteResponse:
4771
+ '''
4772
+ ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.
4773
+ '''
4774
+ __slots__ = [
4775
+ 'id',
4776
+ 'rate_limit',
4777
+ ]
4778
+
4779
+ def __init__(
4780
+ self,
4781
+ id=None,
4782
+ rate_limit=None,
4783
+ ):
4784
+ self.id = id if id is not None else ''
4785
+ '''
4786
+ The deleted approval workflow id.
4787
+ '''
4788
+ self.rate_limit = rate_limit if rate_limit is not None else None
4789
+ '''
4790
+ Rate limit information.
4791
+ '''
4792
+
4793
+ def __repr__(self):
4794
+ return '<sdm.ApprovalWorkflowDeleteResponse ' + \
4795
+ 'id: ' + repr(self.id) + ' ' +\
4796
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
4797
+ '>'
4798
+
4799
+ def to_dict(self):
4800
+ return {
4801
+ 'id': self.id,
4802
+ 'rate_limit': self.rate_limit,
4803
+ }
4804
+
4805
+ @classmethod
4806
+ def from_dict(cls, d):
4807
+ return cls(
4808
+ id=d.get('id'),
4809
+ rate_limit=d.get('rate_limit'),
4810
+ )
4811
+
4812
+
4813
+ class ApprovalWorkflowGetResponse:
4814
+ '''
4815
+ ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.
4816
+ '''
4817
+ __slots__ = [
4818
+ 'approval_workflow',
4819
+ 'meta',
4820
+ 'rate_limit',
4821
+ ]
4822
+
4823
+ def __init__(
4824
+ self,
4825
+ approval_workflow=None,
4826
+ meta=None,
4827
+ rate_limit=None,
4828
+ ):
4829
+ self.approval_workflow = approval_workflow if approval_workflow is not None else None
4830
+ '''
4831
+ The requested ApprovalWorkflow.
4832
+ '''
4833
+ self.meta = meta if meta is not None else None
4834
+ '''
4835
+ Reserved for future use.
4836
+ '''
4837
+ self.rate_limit = rate_limit if rate_limit is not None else None
4838
+ '''
4839
+ Rate limit information.
4840
+ '''
4841
+
4842
+ def __repr__(self):
4843
+ return '<sdm.ApprovalWorkflowGetResponse ' + \
4844
+ 'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
4845
+ 'meta: ' + repr(self.meta) + ' ' +\
4846
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
4847
+ '>'
4848
+
4849
+ def to_dict(self):
4850
+ return {
4851
+ 'approval_workflow': self.approval_workflow,
4852
+ 'meta': self.meta,
4853
+ 'rate_limit': self.rate_limit,
4854
+ }
4855
+
4856
+ @classmethod
4857
+ def from_dict(cls, d):
4858
+ return cls(
4859
+ approval_workflow=d.get('approval_workflow'),
4860
+ meta=d.get('meta'),
4861
+ rate_limit=d.get('rate_limit'),
4862
+ )
4863
+
4864
+
4865
+ class ApprovalWorkflowHistory:
4866
+ '''
4867
+ ApprovalWorkflowHistory records the state of an ApprovalWorkflow at a given point in time,
4868
+ where every change (create, update and delete) to an ApprovalWorkflow produces an
4869
+ ApprovalWorkflowHistory record.
4870
+ '''
4871
+ __slots__ = [
4872
+ 'activity_id',
4873
+ 'approval_workflow',
4874
+ 'deleted_at',
4875
+ 'timestamp',
4876
+ ]
4877
+
4878
+ def __init__(
4879
+ self,
4880
+ activity_id=None,
4881
+ approval_workflow=None,
4882
+ deleted_at=None,
4883
+ timestamp=None,
4884
+ ):
4885
+ self.activity_id = activity_id if activity_id is not None else ''
4886
+ '''
4887
+ The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
4888
+ May be empty for some system-initiated updates.
4889
+ '''
4890
+ self.approval_workflow = approval_workflow if approval_workflow is not None else None
4891
+ '''
4892
+ The complete ApprovalWorkflow state at this time.
4893
+ '''
4894
+ self.deleted_at = deleted_at if deleted_at is not None else None
4895
+ '''
4896
+ If this ApprovalWorkflow was deleted, the time it was deleted.
4897
+ '''
4898
+ self.timestamp = timestamp if timestamp is not None else None
4899
+ '''
4900
+ The time at which the ApprovalWorkflow state was recorded.
4901
+ '''
4902
+
4903
+ def __repr__(self):
4904
+ return '<sdm.ApprovalWorkflowHistory ' + \
4905
+ 'activity_id: ' + repr(self.activity_id) + ' ' +\
4906
+ 'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
4907
+ 'deleted_at: ' + repr(self.deleted_at) + ' ' +\
4908
+ 'timestamp: ' + repr(self.timestamp) + ' ' +\
4909
+ '>'
4910
+
4911
+ def to_dict(self):
4912
+ return {
4913
+ 'activity_id': self.activity_id,
4914
+ 'approval_workflow': self.approval_workflow,
4915
+ 'deleted_at': self.deleted_at,
4916
+ 'timestamp': self.timestamp,
4917
+ }
4918
+
4919
+ @classmethod
4920
+ def from_dict(cls, d):
4921
+ return cls(
4922
+ activity_id=d.get('activity_id'),
4923
+ approval_workflow=d.get('approval_workflow'),
4924
+ deleted_at=d.get('deleted_at'),
4925
+ timestamp=d.get('timestamp'),
4926
+ )
4927
+
4928
+
4929
+ class ApprovalWorkflowListResponse:
4930
+ '''
4931
+ ApprovalWorkflowListResponse returns a list of ApprovalWorkflow records that meet
4932
+ the criteria of an ApprovalWorkflowListRequest.
4933
+ '''
4934
+ __slots__ = [
4935
+ 'rate_limit',
4936
+ ]
4937
+
4938
+ def __init__(
4939
+ self,
4940
+ rate_limit=None,
4941
+ ):
4942
+ self.rate_limit = rate_limit if rate_limit is not None else None
4943
+ '''
4944
+ Rate limit information.
4945
+ '''
4946
+
4947
+ def __repr__(self):
4948
+ return '<sdm.ApprovalWorkflowListResponse ' + \
4949
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
4950
+ '>'
4951
+
4952
+ def to_dict(self):
4953
+ return {
4954
+ 'rate_limit': self.rate_limit,
4955
+ }
4956
+
4957
+ @classmethod
4958
+ def from_dict(cls, d):
4959
+ return cls(rate_limit=d.get('rate_limit'), )
4960
+
4961
+
4962
+ class ApprovalWorkflowStep:
4963
+ '''
4964
+ ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow
4965
+ '''
4966
+ __slots__ = [
4967
+ 'approval_flow_id',
4968
+ 'id',
4969
+ ]
4970
+
4971
+ def __init__(
4972
+ self,
4973
+ approval_flow_id=None,
4974
+ id=None,
4975
+ ):
4976
+ self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
4977
+ '''
4978
+ The approval flow id specified the approval workfflow that this step belongs to
4979
+ '''
4980
+ self.id = id if id is not None else ''
4981
+ '''
4982
+ Unique identifier of the ApprovalWorkflowStep.
4983
+ '''
4984
+
4985
+ def __repr__(self):
4986
+ return '<sdm.ApprovalWorkflowStep ' + \
4987
+ 'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
4988
+ 'id: ' + repr(self.id) + ' ' +\
4989
+ '>'
4990
+
4991
+ def to_dict(self):
4992
+ return {
4993
+ 'approval_flow_id': self.approval_flow_id,
4994
+ 'id': self.id,
4995
+ }
4996
+
4997
+ @classmethod
4998
+ def from_dict(cls, d):
4999
+ return cls(
5000
+ approval_flow_id=d.get('approval_flow_id'),
5001
+ id=d.get('id'),
5002
+ )
5003
+
5004
+
5005
+ class ApprovalWorkflowStepCreateResponse:
5006
+ '''
5007
+ ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.
5008
+ '''
5009
+ __slots__ = [
5010
+ 'approval_workflow_step',
5011
+ 'rate_limit',
5012
+ ]
5013
+
5014
+ def __init__(
5015
+ self,
5016
+ approval_workflow_step=None,
5017
+ rate_limit=None,
5018
+ ):
5019
+ self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
5020
+ '''
5021
+ The created approval workflow step.
5022
+ '''
5023
+ self.rate_limit = rate_limit if rate_limit is not None else None
5024
+ '''
5025
+ Rate limit information.
5026
+ '''
5027
+
5028
+ def __repr__(self):
5029
+ return '<sdm.ApprovalWorkflowStepCreateResponse ' + \
5030
+ 'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
5031
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5032
+ '>'
5033
+
5034
+ def to_dict(self):
5035
+ return {
5036
+ 'approval_workflow_step': self.approval_workflow_step,
5037
+ 'rate_limit': self.rate_limit,
5038
+ }
5039
+
5040
+ @classmethod
5041
+ def from_dict(cls, d):
5042
+ return cls(
5043
+ approval_workflow_step=d.get('approval_workflow_step'),
5044
+ rate_limit=d.get('rate_limit'),
5045
+ )
5046
+
5047
+
5048
+ class ApprovalWorkflowStepDeleteResponse:
5049
+ '''
5050
+ ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.
5051
+ '''
5052
+ __slots__ = [
5053
+ 'id',
5054
+ 'rate_limit',
5055
+ ]
5056
+
5057
+ def __init__(
5058
+ self,
5059
+ id=None,
5060
+ rate_limit=None,
5061
+ ):
5062
+ self.id = id if id is not None else ''
5063
+ '''
5064
+ The deleted approval workflow step id.
5065
+ '''
5066
+ self.rate_limit = rate_limit if rate_limit is not None else None
5067
+ '''
5068
+ Rate limit information.
5069
+ '''
5070
+
5071
+ def __repr__(self):
5072
+ return '<sdm.ApprovalWorkflowStepDeleteResponse ' + \
5073
+ 'id: ' + repr(self.id) + ' ' +\
5074
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5075
+ '>'
5076
+
5077
+ def to_dict(self):
5078
+ return {
5079
+ 'id': self.id,
5080
+ 'rate_limit': self.rate_limit,
5081
+ }
5082
+
5083
+ @classmethod
5084
+ def from_dict(cls, d):
5085
+ return cls(
5086
+ id=d.get('id'),
5087
+ rate_limit=d.get('rate_limit'),
5088
+ )
5089
+
5090
+
5091
+ class ApprovalWorkflowStepGetResponse:
5092
+ '''
5093
+ ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.
5094
+ '''
5095
+ __slots__ = [
5096
+ 'approval_workflow_step',
5097
+ 'meta',
5098
+ 'rate_limit',
5099
+ ]
5100
+
5101
+ def __init__(
5102
+ self,
5103
+ approval_workflow_step=None,
5104
+ meta=None,
5105
+ rate_limit=None,
5106
+ ):
5107
+ self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
5108
+ '''
5109
+ The requested ApprovalWorkflowStep.
5110
+ '''
5111
+ self.meta = meta if meta is not None else None
5112
+ '''
5113
+ Reserved for future use.
5114
+ '''
5115
+ self.rate_limit = rate_limit if rate_limit is not None else None
5116
+ '''
5117
+ Rate limit information.
5118
+ '''
5119
+
5120
+ def __repr__(self):
5121
+ return '<sdm.ApprovalWorkflowStepGetResponse ' + \
5122
+ 'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
5123
+ 'meta: ' + repr(self.meta) + ' ' +\
5124
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5125
+ '>'
5126
+
5127
+ def to_dict(self):
5128
+ return {
5129
+ 'approval_workflow_step': self.approval_workflow_step,
5130
+ 'meta': self.meta,
5131
+ 'rate_limit': self.rate_limit,
5132
+ }
5133
+
5134
+ @classmethod
5135
+ def from_dict(cls, d):
5136
+ return cls(
5137
+ approval_workflow_step=d.get('approval_workflow_step'),
5138
+ meta=d.get('meta'),
5139
+ rate_limit=d.get('rate_limit'),
5140
+ )
5141
+
5142
+
5143
+ class ApprovalWorkflowStepHistory:
5144
+ '''
5145
+ ApprovalWorkflowStepHistory records the state of an ApprovalWorkflowStep at a given point in time,
5146
+ where every change (create or delete) to an ApprovalWorkflowStep produces an
5147
+ ApprovalWorkflowStepHistory record.
5148
+ '''
5149
+ __slots__ = [
5150
+ 'activity_id',
5151
+ 'approval_workflow_step',
5152
+ 'deleted_at',
5153
+ 'timestamp',
5154
+ ]
5155
+
5156
+ def __init__(
5157
+ self,
5158
+ activity_id=None,
5159
+ approval_workflow_step=None,
5160
+ deleted_at=None,
5161
+ timestamp=None,
5162
+ ):
5163
+ self.activity_id = activity_id if activity_id is not None else ''
5164
+ '''
5165
+ The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
5166
+ May be empty for some system-initiated updates.
5167
+ '''
5168
+ self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
5169
+ '''
5170
+ The complete ApprovalWorkflowStep state at this time.
5171
+ '''
5172
+ self.deleted_at = deleted_at if deleted_at is not None else None
5173
+ '''
5174
+ If this ApprovalWorkflowStep was deleted, the time it was deleted.
5175
+ '''
5176
+ self.timestamp = timestamp if timestamp is not None else None
5177
+ '''
5178
+ The time at which the ApprovalWorkflowStep state was recorded.
5179
+ '''
5180
+
5181
+ def __repr__(self):
5182
+ return '<sdm.ApprovalWorkflowStepHistory ' + \
5183
+ 'activity_id: ' + repr(self.activity_id) + ' ' +\
5184
+ 'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
5185
+ 'deleted_at: ' + repr(self.deleted_at) + ' ' +\
5186
+ 'timestamp: ' + repr(self.timestamp) + ' ' +\
5187
+ '>'
5188
+
5189
+ def to_dict(self):
5190
+ return {
5191
+ 'activity_id': self.activity_id,
5192
+ 'approval_workflow_step': self.approval_workflow_step,
5193
+ 'deleted_at': self.deleted_at,
5194
+ 'timestamp': self.timestamp,
5195
+ }
5196
+
5197
+ @classmethod
5198
+ def from_dict(cls, d):
5199
+ return cls(
5200
+ activity_id=d.get('activity_id'),
5201
+ approval_workflow_step=d.get('approval_workflow_step'),
5202
+ deleted_at=d.get('deleted_at'),
5203
+ timestamp=d.get('timestamp'),
5204
+ )
5205
+
5206
+
5207
+ class ApprovalWorkflowStepListResponse:
5208
+ '''
5209
+ ApprovalWorkflowStepListResponse returns a list of ApprovalWorkflowStep records that meet
5210
+ the criteria of an ApprovalWorkflowStepListRequest.
5211
+ '''
5212
+ __slots__ = [
5213
+ 'rate_limit',
5214
+ ]
5215
+
5216
+ def __init__(
5217
+ self,
5218
+ rate_limit=None,
5219
+ ):
5220
+ self.rate_limit = rate_limit if rate_limit is not None else None
5221
+ '''
5222
+ Rate limit information.
5223
+ '''
5224
+
5225
+ def __repr__(self):
5226
+ return '<sdm.ApprovalWorkflowStepListResponse ' + \
5227
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5228
+ '>'
5229
+
5230
+ def to_dict(self):
5231
+ return {
5232
+ 'rate_limit': self.rate_limit,
5233
+ }
5234
+
5235
+ @classmethod
5236
+ def from_dict(cls, d):
5237
+ return cls(rate_limit=d.get('rate_limit'), )
5238
+
5239
+
5240
+ class ApprovalWorkflowUpdateResponse:
5241
+ '''
5242
+ ApprovalWorkflowUpdateResponse returns the fields of an ApprovalWorkflow after it has been updated by
5243
+ an ApprovalWorkflowUpdateRequest.
5244
+ '''
5245
+ __slots__ = [
5246
+ 'approval_workflow',
5247
+ 'rate_limit',
5248
+ ]
5249
+
5250
+ def __init__(
5251
+ self,
5252
+ approval_workflow=None,
5253
+ rate_limit=None,
5254
+ ):
5255
+ self.approval_workflow = approval_workflow if approval_workflow is not None else None
5256
+ '''
5257
+ The updated approval workflow.
5258
+ '''
5259
+ self.rate_limit = rate_limit if rate_limit is not None else None
5260
+ '''
5261
+ Rate limit information.
5262
+ '''
5263
+
5264
+ def __repr__(self):
5265
+ return '<sdm.ApprovalWorkflowUpdateResponse ' + \
5266
+ 'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
5267
+ 'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5268
+ '>'
5269
+
5270
+ def to_dict(self):
5271
+ return {
5272
+ 'approval_workflow': self.approval_workflow,
5273
+ 'rate_limit': self.rate_limit,
5274
+ }
5275
+
5276
+ @classmethod
5277
+ def from_dict(cls, d):
5278
+ return cls(
5279
+ approval_workflow=d.get('approval_workflow'),
5280
+ rate_limit=d.get('rate_limit'),
5281
+ )
5282
+
5283
+
4360
5284
  class Athena:
4361
5285
  __slots__ = [
4362
5286
  'access_key',