strongdm 4.3.0 → 4.4.0
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.
- checksums.yaml +4 -4
- data/.git/ORIG_HEAD +1 -1
- data/.git/index +0 -0
- data/.git/logs/HEAD +3 -3
- data/.git/logs/refs/heads/master +2 -2
- data/.git/logs/refs/remotes/origin/HEAD +1 -1
- data/.git/objects/pack/{pack-e53248831c9814d011695b30ef6c9a23ab4fbf61.idx → pack-9c459884b97e0a33b1e10aa61914fa82820fa985.idx} +0 -0
- data/.git/objects/pack/{pack-e53248831c9814d011695b30ef6c9a23ab4fbf61.pack → pack-9c459884b97e0a33b1e10aa61914fa82820fa985.pack} +0 -0
- data/.git/packed-refs +3 -2
- data/.git/refs/heads/master +1 -1
- data/lib/grpc/access_request_events_history_pb.rb +48 -0
- data/lib/grpc/access_request_events_history_services_pb.rb +37 -0
- data/lib/grpc/access_requests_history_pb.rb +48 -0
- data/lib/grpc/access_requests_history_services_pb.rb +37 -0
- data/lib/grpc/access_requests_pb.rb +60 -0
- data/lib/grpc/access_requests_services_pb.rb +37 -0
- data/lib/grpc/plumbing.rb +496 -0
- data/lib/grpc/workflow_approvers_history_pb.rb +48 -0
- data/lib/grpc/workflow_approvers_history_services_pb.rb +37 -0
- data/lib/grpc/workflow_assignments_history_pb.rb +48 -0
- data/lib/grpc/workflow_assignments_history_services_pb.rb +37 -0
- data/lib/grpc/workflow_roles_history_pb.rb +48 -0
- data/lib/grpc/workflow_roles_history_services_pb.rb +37 -0
- data/lib/grpc/workflows_history_pb.rb +48 -0
- data/lib/grpc/workflows_history_services_pb.rb +37 -0
- data/lib/grpc/workflows_pb.rb +64 -0
- data/lib/grpc/workflows_services_pb.rb +39 -0
- data/lib/models/porcelain.rb +424 -0
- data/lib/strongdm.rb +63 -1
- data/lib/svc.rb +496 -0
- data/lib/version +1 -1
- data/lib/version.rb +1 -1
- metadata +20 -4
data/lib/models/porcelain.rb
CHANGED
@@ -653,6 +653,170 @@ module SDM
|
|
653
653
|
end
|
654
654
|
end
|
655
655
|
|
656
|
+
# AccessRequests are requests for access to a resource that may match a Workflow.
|
657
|
+
class AccessRequest
|
658
|
+
# The account that initiated the request.
|
659
|
+
attr_accessor :account_id
|
660
|
+
# The account grant created, if it exists.
|
661
|
+
attr_accessor :grant_id
|
662
|
+
# The access request id.
|
663
|
+
attr_accessor :id
|
664
|
+
# The reason the access was requested.
|
665
|
+
attr_accessor :reason
|
666
|
+
# The resource id.
|
667
|
+
attr_accessor :resource_id
|
668
|
+
# The timestamp when the requested access will be granted.
|
669
|
+
# If this field is not specified it will default to the current time.
|
670
|
+
attr_accessor :start_from
|
671
|
+
# The status of the access request.
|
672
|
+
attr_accessor :status
|
673
|
+
# The timestamp when the status changed.
|
674
|
+
attr_accessor :status_at
|
675
|
+
# The timestamp when the requested access will expire.
|
676
|
+
attr_accessor :valid_until
|
677
|
+
# The workflow the request bound to.
|
678
|
+
attr_accessor :workflow_id
|
679
|
+
|
680
|
+
def initialize(
|
681
|
+
account_id: nil,
|
682
|
+
grant_id: nil,
|
683
|
+
id: nil,
|
684
|
+
reason: nil,
|
685
|
+
resource_id: nil,
|
686
|
+
start_from: nil,
|
687
|
+
status: nil,
|
688
|
+
status_at: nil,
|
689
|
+
valid_until: nil,
|
690
|
+
workflow_id: nil
|
691
|
+
)
|
692
|
+
@account_id = account_id == nil ? "" : account_id
|
693
|
+
@grant_id = grant_id == nil ? "" : grant_id
|
694
|
+
@id = id == nil ? "" : id
|
695
|
+
@reason = reason == nil ? "" : reason
|
696
|
+
@resource_id = resource_id == nil ? "" : resource_id
|
697
|
+
@start_from = start_from == nil ? nil : start_from
|
698
|
+
@status = status == nil ? "" : status
|
699
|
+
@status_at = status_at == nil ? nil : status_at
|
700
|
+
@valid_until = valid_until == nil ? nil : valid_until
|
701
|
+
@workflow_id = workflow_id == nil ? "" : workflow_id
|
702
|
+
end
|
703
|
+
|
704
|
+
def to_json(options = {})
|
705
|
+
hash = {}
|
706
|
+
self.instance_variables.each do |var|
|
707
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
708
|
+
end
|
709
|
+
hash.to_json
|
710
|
+
end
|
711
|
+
end
|
712
|
+
|
713
|
+
# AccessRequestEvents hold information about events related to an access
|
714
|
+
# request such as creation, approval and denial.
|
715
|
+
class AccessRequestEvent
|
716
|
+
# The account responsible for the event.
|
717
|
+
attr_accessor :actor_id
|
718
|
+
# The access request event id.
|
719
|
+
attr_accessor :id
|
720
|
+
# The metadata about the event
|
721
|
+
attr_accessor :metadata
|
722
|
+
# The request that the event is bound to.
|
723
|
+
attr_accessor :request_id
|
724
|
+
# The type of event.
|
725
|
+
attr_accessor :type
|
726
|
+
|
727
|
+
def initialize(
|
728
|
+
actor_id: nil,
|
729
|
+
id: nil,
|
730
|
+
metadata: nil,
|
731
|
+
request_id: nil,
|
732
|
+
type: nil
|
733
|
+
)
|
734
|
+
@actor_id = actor_id == nil ? "" : actor_id
|
735
|
+
@id = id == nil ? "" : id
|
736
|
+
@metadata = metadata == nil ? "" : metadata
|
737
|
+
@request_id = request_id == nil ? "" : request_id
|
738
|
+
@type = type == nil ? "" : type
|
739
|
+
end
|
740
|
+
|
741
|
+
def to_json(options = {})
|
742
|
+
hash = {}
|
743
|
+
self.instance_variables.each do |var|
|
744
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
745
|
+
end
|
746
|
+
hash.to_json
|
747
|
+
end
|
748
|
+
end
|
749
|
+
|
750
|
+
# AccessRequestEventHistory records the state of a AccessRequest at a given point in time,
|
751
|
+
# where every change (create, update and delete) to a AccessRequest produces an
|
752
|
+
# AccessRequestEventHistory record.
|
753
|
+
class AccessRequestEventHistory
|
754
|
+
# The complete AccessRequestEvent state at this time.
|
755
|
+
attr_accessor :access_request_event
|
756
|
+
# The unique identifier of the Activity that produced this change to the AccessRequest.
|
757
|
+
# May be empty for some system-initiated updates.
|
758
|
+
attr_accessor :activity_id
|
759
|
+
# If this Workflow was deleted, the time it was deleted.
|
760
|
+
attr_accessor :deleted_at
|
761
|
+
# The time at which the AccessRequest state was recorded.
|
762
|
+
attr_accessor :timestamp
|
763
|
+
|
764
|
+
def initialize(
|
765
|
+
access_request_event: nil,
|
766
|
+
activity_id: nil,
|
767
|
+
deleted_at: nil,
|
768
|
+
timestamp: nil
|
769
|
+
)
|
770
|
+
@access_request_event = access_request_event == nil ? nil : access_request_event
|
771
|
+
@activity_id = activity_id == nil ? "" : activity_id
|
772
|
+
@deleted_at = deleted_at == nil ? nil : deleted_at
|
773
|
+
@timestamp = timestamp == nil ? nil : timestamp
|
774
|
+
end
|
775
|
+
|
776
|
+
def to_json(options = {})
|
777
|
+
hash = {}
|
778
|
+
self.instance_variables.each do |var|
|
779
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
780
|
+
end
|
781
|
+
hash.to_json
|
782
|
+
end
|
783
|
+
end
|
784
|
+
|
785
|
+
# AccessRequestHistory records the state of a AccessRequest at a given point in time,
|
786
|
+
# where every change (create, update and delete) to a AccessRequest produces an
|
787
|
+
# AccessRequestHistory record.
|
788
|
+
class AccessRequestHistory
|
789
|
+
# The complete AccessRequest state at this time.
|
790
|
+
attr_accessor :access_request
|
791
|
+
# The unique identifier of the Activity that produced this change to the AccessRequest.
|
792
|
+
# May be empty for some system-initiated updates.
|
793
|
+
attr_accessor :activity_id
|
794
|
+
# If this Workflow was deleted, the time it was deleted.
|
795
|
+
attr_accessor :deleted_at
|
796
|
+
# The time at which the AccessRequest state was recorded.
|
797
|
+
attr_accessor :timestamp
|
798
|
+
|
799
|
+
def initialize(
|
800
|
+
access_request: nil,
|
801
|
+
activity_id: nil,
|
802
|
+
deleted_at: nil,
|
803
|
+
timestamp: nil
|
804
|
+
)
|
805
|
+
@access_request = access_request == nil ? nil : access_request
|
806
|
+
@activity_id = activity_id == nil ? "" : activity_id
|
807
|
+
@deleted_at = deleted_at == nil ? nil : deleted_at
|
808
|
+
@timestamp = timestamp == nil ? nil : timestamp
|
809
|
+
end
|
810
|
+
|
811
|
+
def to_json(options = {})
|
812
|
+
hash = {}
|
813
|
+
self.instance_variables.each do |var|
|
814
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
815
|
+
end
|
816
|
+
hash.to_json
|
817
|
+
end
|
818
|
+
end
|
819
|
+
|
656
820
|
# AccountAttachments assign an account to a role.
|
657
821
|
class AccountAttachment
|
658
822
|
# The id of the account of this AccountAttachment.
|
@@ -9332,6 +9496,266 @@ module SDM
|
|
9332
9496
|
end
|
9333
9497
|
end
|
9334
9498
|
|
9499
|
+
# Workflows are the collection of rules that define the resources to which access can be requested,
|
9500
|
+
# the users that can request that access, and the mechanism for approving those requests which can either
|
9501
|
+
# but automatic approval or a set of users authorized to approve the requests.
|
9502
|
+
class Workflow
|
9503
|
+
# AccessRules is a list of access rules defining the resources this Workflow provides access to.
|
9504
|
+
attr_accessor :access_rules
|
9505
|
+
# Optional auto grant setting to automatically approve requests or not, defaults to false.
|
9506
|
+
attr_accessor :auto_grant
|
9507
|
+
# Optional description of the Workflow.
|
9508
|
+
attr_accessor :description
|
9509
|
+
# Optional enabled state for workflow. This setting may be overridden by the system if
|
9510
|
+
# the workflow doesn't meet the requirements to be enabled or if other conditions prevent
|
9511
|
+
# enabling the workflow.
|
9512
|
+
attr_accessor :enabled
|
9513
|
+
# Unique identifier of the Workflow.
|
9514
|
+
attr_accessor :id
|
9515
|
+
# Unique human-readable name of the Workflow.
|
9516
|
+
attr_accessor :name
|
9517
|
+
# Optional weight for workflow to specify it's priority in matching a request.
|
9518
|
+
attr_accessor :weight
|
9519
|
+
|
9520
|
+
def initialize(
|
9521
|
+
access_rules: nil,
|
9522
|
+
auto_grant: nil,
|
9523
|
+
description: nil,
|
9524
|
+
enabled: nil,
|
9525
|
+
id: nil,
|
9526
|
+
name: nil,
|
9527
|
+
weight: nil
|
9528
|
+
)
|
9529
|
+
@access_rules = access_rules == nil ? SDM::_porcelain_zero_value_access_rules() : access_rules
|
9530
|
+
@auto_grant = auto_grant == nil ? false : auto_grant
|
9531
|
+
@description = description == nil ? "" : description
|
9532
|
+
@enabled = enabled == nil ? false : enabled
|
9533
|
+
@id = id == nil ? "" : id
|
9534
|
+
@name = name == nil ? "" : name
|
9535
|
+
@weight = weight == nil ? 0 : weight
|
9536
|
+
end
|
9537
|
+
|
9538
|
+
def to_json(options = {})
|
9539
|
+
hash = {}
|
9540
|
+
self.instance_variables.each do |var|
|
9541
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
9542
|
+
end
|
9543
|
+
hash.to_json
|
9544
|
+
end
|
9545
|
+
end
|
9546
|
+
|
9547
|
+
# WorkflowApprover is an account with the ability to approve requests bound to a workflow.
|
9548
|
+
class WorkflowApprover
|
9549
|
+
# The approver id.
|
9550
|
+
attr_accessor :approver_id
|
9551
|
+
# The workflow id.
|
9552
|
+
attr_accessor :workflow_id
|
9553
|
+
|
9554
|
+
def initialize(
|
9555
|
+
approver_id: nil,
|
9556
|
+
workflow_id: nil
|
9557
|
+
)
|
9558
|
+
@approver_id = approver_id == nil ? "" : approver_id
|
9559
|
+
@workflow_id = workflow_id == nil ? "" : workflow_id
|
9560
|
+
end
|
9561
|
+
|
9562
|
+
def to_json(options = {})
|
9563
|
+
hash = {}
|
9564
|
+
self.instance_variables.each do |var|
|
9565
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
9566
|
+
end
|
9567
|
+
hash.to_json
|
9568
|
+
end
|
9569
|
+
end
|
9570
|
+
|
9571
|
+
# WorkflowApproverHistory records the state of a WorkflowApprover at a given point in time,
|
9572
|
+
# where every change (create, update and delete) to a WorkflowApprover produces an
|
9573
|
+
# WorkflowApproverHistory record.
|
9574
|
+
class WorkflowApproverHistory
|
9575
|
+
# The unique identifier of the Activity that produced this change to the Workflow.
|
9576
|
+
# May be empty for some system-initiated updates.
|
9577
|
+
attr_accessor :activity_id
|
9578
|
+
# If this Workflow was deleted, the time it was deleted.
|
9579
|
+
attr_accessor :deleted_at
|
9580
|
+
# The time at which the Workflow state was recorded.
|
9581
|
+
attr_accessor :timestamp
|
9582
|
+
# The complete WorkflowApprover state at this time.
|
9583
|
+
attr_accessor :workflow_approver
|
9584
|
+
|
9585
|
+
def initialize(
|
9586
|
+
activity_id: nil,
|
9587
|
+
deleted_at: nil,
|
9588
|
+
timestamp: nil,
|
9589
|
+
workflow_approver: nil
|
9590
|
+
)
|
9591
|
+
@activity_id = activity_id == nil ? "" : activity_id
|
9592
|
+
@deleted_at = deleted_at == nil ? nil : deleted_at
|
9593
|
+
@timestamp = timestamp == nil ? nil : timestamp
|
9594
|
+
@workflow_approver = workflow_approver == nil ? nil : workflow_approver
|
9595
|
+
end
|
9596
|
+
|
9597
|
+
def to_json(options = {})
|
9598
|
+
hash = {}
|
9599
|
+
self.instance_variables.each do |var|
|
9600
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
9601
|
+
end
|
9602
|
+
hash.to_json
|
9603
|
+
end
|
9604
|
+
end
|
9605
|
+
|
9606
|
+
# WorkflowAssignment links a Resource to a Workflow.
|
9607
|
+
class WorkflowAssignment
|
9608
|
+
# The resource id.
|
9609
|
+
attr_accessor :resource_id
|
9610
|
+
# The workflow id.
|
9611
|
+
attr_accessor :workflow_id
|
9612
|
+
|
9613
|
+
def initialize(
|
9614
|
+
resource_id: nil,
|
9615
|
+
workflow_id: nil
|
9616
|
+
)
|
9617
|
+
@resource_id = resource_id == nil ? "" : resource_id
|
9618
|
+
@workflow_id = workflow_id == nil ? "" : workflow_id
|
9619
|
+
end
|
9620
|
+
|
9621
|
+
def to_json(options = {})
|
9622
|
+
hash = {}
|
9623
|
+
self.instance_variables.each do |var|
|
9624
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
9625
|
+
end
|
9626
|
+
hash.to_json
|
9627
|
+
end
|
9628
|
+
end
|
9629
|
+
|
9630
|
+
# WorkflowAssignmentHistory records the state of a WorkflowAssignment at a given point in time,
|
9631
|
+
# where every change (create, update and delete) to a WorkflowAssignment produces an
|
9632
|
+
# WorkflowAssignmentHistory record.
|
9633
|
+
class WorkflowAssignmentHistory
|
9634
|
+
# The unique identifier of the Activity that produced this change to the Workflow.
|
9635
|
+
# May be empty for some system-initiated updates.
|
9636
|
+
attr_accessor :activity_id
|
9637
|
+
# If this Workflow was deleted, the time it was deleted.
|
9638
|
+
attr_accessor :deleted_at
|
9639
|
+
# The time at which the Workflow state was recorded.
|
9640
|
+
attr_accessor :timestamp
|
9641
|
+
# The complete WorkflowAssignment state at this time.
|
9642
|
+
attr_accessor :workflow_assignment
|
9643
|
+
|
9644
|
+
def initialize(
|
9645
|
+
activity_id: nil,
|
9646
|
+
deleted_at: nil,
|
9647
|
+
timestamp: nil,
|
9648
|
+
workflow_assignment: nil
|
9649
|
+
)
|
9650
|
+
@activity_id = activity_id == nil ? "" : activity_id
|
9651
|
+
@deleted_at = deleted_at == nil ? nil : deleted_at
|
9652
|
+
@timestamp = timestamp == nil ? nil : timestamp
|
9653
|
+
@workflow_assignment = workflow_assignment == nil ? nil : workflow_assignment
|
9654
|
+
end
|
9655
|
+
|
9656
|
+
def to_json(options = {})
|
9657
|
+
hash = {}
|
9658
|
+
self.instance_variables.each do |var|
|
9659
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
9660
|
+
end
|
9661
|
+
hash.to_json
|
9662
|
+
end
|
9663
|
+
end
|
9664
|
+
|
9665
|
+
# WorkflowHistory records the state of a Workflow at a given point in time,
|
9666
|
+
# where every change (create, update and delete) to a Workflow produces an
|
9667
|
+
# WorkflowHistory record.
|
9668
|
+
class WorkflowHistory
|
9669
|
+
# The unique identifier of the Activity that produced this change to the Workflow.
|
9670
|
+
# May be empty for some system-initiated updates.
|
9671
|
+
attr_accessor :activity_id
|
9672
|
+
# If this Workflow was deleted, the time it was deleted.
|
9673
|
+
attr_accessor :deleted_at
|
9674
|
+
# The time at which the Workflow state was recorded.
|
9675
|
+
attr_accessor :timestamp
|
9676
|
+
# The complete Workflow state at this time.
|
9677
|
+
attr_accessor :workflow
|
9678
|
+
|
9679
|
+
def initialize(
|
9680
|
+
activity_id: nil,
|
9681
|
+
deleted_at: nil,
|
9682
|
+
timestamp: nil,
|
9683
|
+
workflow: nil
|
9684
|
+
)
|
9685
|
+
@activity_id = activity_id == nil ? "" : activity_id
|
9686
|
+
@deleted_at = deleted_at == nil ? nil : deleted_at
|
9687
|
+
@timestamp = timestamp == nil ? nil : timestamp
|
9688
|
+
@workflow = workflow == nil ? nil : workflow
|
9689
|
+
end
|
9690
|
+
|
9691
|
+
def to_json(options = {})
|
9692
|
+
hash = {}
|
9693
|
+
self.instance_variables.each do |var|
|
9694
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
9695
|
+
end
|
9696
|
+
hash.to_json
|
9697
|
+
end
|
9698
|
+
end
|
9699
|
+
|
9700
|
+
# WorkflowRole links a Role to a Workflow.
|
9701
|
+
class WorkflowRole
|
9702
|
+
# The role id.
|
9703
|
+
attr_accessor :role_id
|
9704
|
+
# The workflow id.
|
9705
|
+
attr_accessor :workflow_id
|
9706
|
+
|
9707
|
+
def initialize(
|
9708
|
+
role_id: nil,
|
9709
|
+
workflow_id: nil
|
9710
|
+
)
|
9711
|
+
@role_id = role_id == nil ? "" : role_id
|
9712
|
+
@workflow_id = workflow_id == nil ? "" : workflow_id
|
9713
|
+
end
|
9714
|
+
|
9715
|
+
def to_json(options = {})
|
9716
|
+
hash = {}
|
9717
|
+
self.instance_variables.each do |var|
|
9718
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
9719
|
+
end
|
9720
|
+
hash.to_json
|
9721
|
+
end
|
9722
|
+
end
|
9723
|
+
|
9724
|
+
# WorkflowRolesHistory records the state of a Workflow at a given point in time,
|
9725
|
+
# where every change (create, update and delete) to a WorkflowRole produces a
|
9726
|
+
# WorkflowRoleHistory record.
|
9727
|
+
class WorkflowRoleHistory
|
9728
|
+
# The unique identifier of the Activity that produced this change to the Workflow.
|
9729
|
+
# May be empty for some system-initiated updates.
|
9730
|
+
attr_accessor :activity_id
|
9731
|
+
# If this WorkflowRole was deleted, the time it was deleted.
|
9732
|
+
attr_accessor :deleted_at
|
9733
|
+
# The time at which the Workflow state was recorded.
|
9734
|
+
attr_accessor :timestamp
|
9735
|
+
# The complete WorkflowRole state at this time.
|
9736
|
+
attr_accessor :workflow_role
|
9737
|
+
|
9738
|
+
def initialize(
|
9739
|
+
activity_id: nil,
|
9740
|
+
deleted_at: nil,
|
9741
|
+
timestamp: nil,
|
9742
|
+
workflow_role: nil
|
9743
|
+
)
|
9744
|
+
@activity_id = activity_id == nil ? "" : activity_id
|
9745
|
+
@deleted_at = deleted_at == nil ? nil : deleted_at
|
9746
|
+
@timestamp = timestamp == nil ? nil : timestamp
|
9747
|
+
@workflow_role = workflow_role == nil ? nil : workflow_role
|
9748
|
+
end
|
9749
|
+
|
9750
|
+
def to_json(options = {})
|
9751
|
+
hash = {}
|
9752
|
+
self.instance_variables.each do |var|
|
9753
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
9754
|
+
end
|
9755
|
+
hash.to_json
|
9756
|
+
end
|
9757
|
+
end
|
9758
|
+
|
9335
9759
|
# @private
|
9336
9760
|
def self._porcelain_zero_value_tags()
|
9337
9761
|
{}
|
data/lib/strongdm.rb
CHANGED
@@ -29,7 +29,7 @@ module SDM #:nodoc:
|
|
29
29
|
DEFAULT_BASE_RETRY_DELAY = 0.0030 # 30 ms
|
30
30
|
DEFAULT_MAX_RETRY_DELAY = 300 # 300 seconds
|
31
31
|
API_VERSION = "2021-08-23"
|
32
|
-
USER_AGENT = "strongdm-sdk-ruby/4.
|
32
|
+
USER_AGENT = "strongdm-sdk-ruby/4.4.0"
|
33
33
|
private_constant :DEFAULT_MAX_RETRIES, :DEFAULT_BASE_RETRY_DELAY, :DEFAULT_MAX_RETRY_DELAY, :API_VERSION, :USER_AGENT
|
34
34
|
|
35
35
|
# Creates a new strongDM API client.
|
@@ -54,6 +54,9 @@ module SDM #:nodoc:
|
|
54
54
|
rescue => exception
|
55
55
|
raise Plumbing::convert_error_to_porcelain(exception)
|
56
56
|
end
|
57
|
+
@access_requests = AccessRequests.new(@channel, self)
|
58
|
+
@access_request_events_history = AccessRequestEventsHistory.new(@channel, self)
|
59
|
+
@access_requests_history = AccessRequestsHistory.new(@channel, self)
|
57
60
|
@account_attachments = AccountAttachments.new(@channel, self)
|
58
61
|
@account_attachments_history = AccountAttachmentsHistory.new(@channel, self)
|
59
62
|
@account_grants = AccountGrants.new(@channel, self)
|
@@ -86,6 +89,11 @@ module SDM #:nodoc:
|
|
86
89
|
@roles_history = RolesHistory.new(@channel, self)
|
87
90
|
@secret_stores = SecretStores.new(@channel, self)
|
88
91
|
@secret_stores_history = SecretStoresHistory.new(@channel, self)
|
92
|
+
@workflows = Workflows.new(@channel, self)
|
93
|
+
@workflow_approvers_history = WorkflowApproversHistory.new(@channel, self)
|
94
|
+
@workflow_assignments_history = WorkflowAssignmentsHistory.new(@channel, self)
|
95
|
+
@workflow_roles_history = WorkflowRolesHistory.new(@channel, self)
|
96
|
+
@workflows_history = WorkflowsHistory.new(@channel, self)
|
89
97
|
@_test_options = Hash.new
|
90
98
|
end
|
91
99
|
|
@@ -176,6 +184,18 @@ module SDM #:nodoc:
|
|
176
184
|
attr_reader :api_access_key
|
177
185
|
# Optional timestamp at which to provide historical data
|
178
186
|
attr_reader :snapshot_time
|
187
|
+
# AccessRequests are requests for access to a resource that may match a Workflow.
|
188
|
+
#
|
189
|
+
# See {AccessRequests}.
|
190
|
+
attr_reader :access_requests
|
191
|
+
# AccessRequestEventsHistory provides records of all changes to the state of an AccessRequest.
|
192
|
+
#
|
193
|
+
# See {AccessRequestEventsHistory}.
|
194
|
+
attr_reader :access_request_events_history
|
195
|
+
# AccessRequestsHistory provides records of all changes to the state of an AccessRequest.
|
196
|
+
#
|
197
|
+
# See {AccessRequestsHistory}.
|
198
|
+
attr_reader :access_requests_history
|
179
199
|
# AccountAttachments assign an account to a role.
|
180
200
|
#
|
181
201
|
# See {AccountAttachments}.
|
@@ -320,6 +340,28 @@ module SDM #:nodoc:
|
|
320
340
|
#
|
321
341
|
# See {SecretStoresHistory}.
|
322
342
|
attr_reader :secret_stores_history
|
343
|
+
# Workflows are the collection of rules that define the resources to which access can be requested,
|
344
|
+
# the users that can request that access, and the mechanism for approving those requests which can either
|
345
|
+
# but automatic approval or a set of users authorized to approve the requests.
|
346
|
+
#
|
347
|
+
# See {Workflows}.
|
348
|
+
attr_reader :workflows
|
349
|
+
# WorkflowApproversHistory provides records of all changes to the state of a WorkflowApprover.
|
350
|
+
#
|
351
|
+
# See {WorkflowApproversHistory}.
|
352
|
+
attr_reader :workflow_approvers_history
|
353
|
+
# WorkflowAssignmentsHistory provides records of all changes to the state of a WorkflowAssignment.
|
354
|
+
#
|
355
|
+
# See {WorkflowAssignmentsHistory}.
|
356
|
+
attr_reader :workflow_assignments_history
|
357
|
+
# WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole
|
358
|
+
#
|
359
|
+
# See {WorkflowRolesHistory}.
|
360
|
+
attr_reader :workflow_roles_history
|
361
|
+
# WorkflowsHistory provides records of all changes to the state of a Workflow.
|
362
|
+
#
|
363
|
+
# See {WorkflowsHistory}.
|
364
|
+
attr_reader :workflows_history
|
323
365
|
# @private
|
324
366
|
attr_reader :_test_options
|
325
367
|
|
@@ -330,6 +372,9 @@ module SDM #:nodoc:
|
|
330
372
|
private
|
331
373
|
|
332
374
|
def initialize_copy(other)
|
375
|
+
@access_requests = AccessRequests.new(@channel, self)
|
376
|
+
@access_request_events_history = AccessRequestEventsHistory.new(@channel, self)
|
377
|
+
@access_requests_history = AccessRequestsHistory.new(@channel, self)
|
333
378
|
@account_attachments = AccountAttachments.new(@channel, self)
|
334
379
|
@account_attachments_history = AccountAttachmentsHistory.new(@channel, self)
|
335
380
|
@account_grants = AccountGrants.new(@channel, self)
|
@@ -362,12 +407,18 @@ module SDM #:nodoc:
|
|
362
407
|
@roles_history = RolesHistory.new(@channel, self)
|
363
408
|
@secret_stores = SecretStores.new(@channel, self)
|
364
409
|
@secret_stores_history = SecretStoresHistory.new(@channel, self)
|
410
|
+
@workflows = Workflows.new(@channel, self)
|
411
|
+
@workflow_approvers_history = WorkflowApproversHistory.new(@channel, self)
|
412
|
+
@workflow_assignments_history = WorkflowAssignmentsHistory.new(@channel, self)
|
413
|
+
@workflow_roles_history = WorkflowRolesHistory.new(@channel, self)
|
414
|
+
@workflows_history = WorkflowsHistory.new(@channel, self)
|
365
415
|
end
|
366
416
|
end
|
367
417
|
|
368
418
|
# SnapshotClient exposes methods to query historical records at a provided timestamp.
|
369
419
|
class SnapshotClient
|
370
420
|
def initialize(client)
|
421
|
+
@access_requests = SnapshotAccessRequests.new(client.access_requests)
|
371
422
|
@account_attachments = SnapshotAccountAttachments.new(client.account_attachments)
|
372
423
|
@account_grants = SnapshotAccountGrants.new(client.account_grants)
|
373
424
|
@account_permissions = SnapshotAccountPermissions.new(client.account_permissions)
|
@@ -384,8 +435,13 @@ module SDM #:nodoc:
|
|
384
435
|
@role_resources = SnapshotRoleResources.new(client.role_resources)
|
385
436
|
@roles = SnapshotRoles.new(client.roles)
|
386
437
|
@secret_stores = SnapshotSecretStores.new(client.secret_stores)
|
438
|
+
@workflows = SnapshotWorkflows.new(client.workflows)
|
387
439
|
end
|
388
440
|
|
441
|
+
# AccessRequests are requests for access to a resource that may match a Workflow.
|
442
|
+
#
|
443
|
+
# See {SnapshotAccessRequests}.
|
444
|
+
attr_reader :access_requests
|
389
445
|
# AccountAttachments assign an account to a role.
|
390
446
|
#
|
391
447
|
# See {SnapshotAccountAttachments}.
|
@@ -461,5 +517,11 @@ module SDM #:nodoc:
|
|
461
517
|
#
|
462
518
|
# See {SnapshotSecretStores}.
|
463
519
|
attr_reader :secret_stores
|
520
|
+
# Workflows are the collection of rules that define the resources to which access can be requested,
|
521
|
+
# the users that can request that access, and the mechanism for approving those requests which can either
|
522
|
+
# but automatic approval or a set of users authorized to approve the requests.
|
523
|
+
#
|
524
|
+
# See {SnapshotWorkflows}.
|
525
|
+
attr_reader :workflows
|
464
526
|
end
|
465
527
|
end
|