Class: SDM::Workflow

Inherits:
Object
  • Object
show all
Defined in:
lib/models/porcelain.rb

Overview

Workflows are the collection of rules that define the resources to which access can be requested, the users that can request that access, and the mechanism for approving those requests which can either but automatic approval or a set of users authorized to approve the requests.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(access_rules: nil, approval_flow_id: nil, auto_grant: nil, description: nil, enabled: nil, id: nil, name: nil, weight: nil) ⇒ Workflow

Returns a new instance of Workflow.



12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
12755
12756
12757
12758
12759
12760
12761
12762
12763
# File 'lib/models/porcelain.rb', line 12745

def initialize(
  access_rules: nil,
  approval_flow_id: nil,
  auto_grant: nil,
  description: nil,
  enabled: nil,
  id: nil,
  name: nil,
  weight: nil
)
  @access_rules = access_rules == nil ? SDM::_porcelain_zero_value_access_rules() : access_rules
  @approval_flow_id = approval_flow_id == nil ? "" : approval_flow_id
  @auto_grant = auto_grant == nil ? false : auto_grant
  @description = description == nil ? "" : description
  @enabled = enabled == nil ? false : enabled
  @id = id == nil ? "" : id
  @name = name == nil ? "" : name
  @weight = weight == nil ? 0 : weight
end

Instance Attribute Details

#access_rulesObject

AccessRules is a list of access rules defining the resources this Workflow provides access to.



12725
12726
12727
# File 'lib/models/porcelain.rb', line 12725

def access_rules
  @access_rules
end

#approval_flow_idObject

Optional approval flow ID identifies an approval flow that linked to the workflow



12727
12728
12729
# File 'lib/models/porcelain.rb', line 12727

def approval_flow_id
  @approval_flow_id
end

#auto_grantObject

Optional auto grant setting to automatically approve requests or not, defaults to false.



12729
12730
12731
# File 'lib/models/porcelain.rb', line 12729

def auto_grant
  @auto_grant
end

#descriptionObject

Optional description of the Workflow.



12731
12732
12733
# File 'lib/models/porcelain.rb', line 12731

def description
  @description
end

#enabledObject

Optional enabled state for workflow. This setting may be overridden by the system if the workflow doesn't meet the requirements to be enabled or if other conditions prevent enabling the workflow. The requirements to enable a workflow are that the workflow must be either set up for with auto grant enabled or have one or more WorkflowApprovers created for the workflow.



12737
12738
12739
# File 'lib/models/porcelain.rb', line 12737

def enabled
  @enabled
end

#idObject

Unique identifier of the Workflow.



12739
12740
12741
# File 'lib/models/porcelain.rb', line 12739

def id
  @id
end

#nameObject

Unique human-readable name of the Workflow.



12741
12742
12743
# File 'lib/models/porcelain.rb', line 12741

def name
  @name
end

#weightObject

Optional weight for workflow to specify it's priority in matching a request.



12743
12744
12745
# File 'lib/models/porcelain.rb', line 12743

def weight
  @weight
end

Instance Method Details

#to_json(options = {}) ⇒ Object



12765
12766
12767
12768
12769
12770
12771
# File 'lib/models/porcelain.rb', line 12765

def to_json(options = {})
  hash = {}
  self.instance_variables.each do |var|
    hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
  end
  hash.to_json
end