strongdm 4.3.0 → 4.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|