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.



11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
# File 'lib/models/porcelain.rb', line 11270

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.



11250
11251
11252
# File 'lib/models/porcelain.rb', line 11250

def access_rules
  @access_rules
end

#approval_flow_idObject

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



11252
11253
11254
# File 'lib/models/porcelain.rb', line 11252

def approval_flow_id
  @approval_flow_id
end

#auto_grantObject

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



11254
11255
11256
# File 'lib/models/porcelain.rb', line 11254

def auto_grant
  @auto_grant
end

#descriptionObject

Optional description of the Workflow.



11256
11257
11258
# File 'lib/models/porcelain.rb', line 11256

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.



11262
11263
11264
# File 'lib/models/porcelain.rb', line 11262

def enabled
  @enabled
end

#idObject

Unique identifier of the Workflow.



11264
11265
11266
# File 'lib/models/porcelain.rb', line 11264

def id
  @id
end

#nameObject

Unique human-readable name of the Workflow.



11266
11267
11268
# File 'lib/models/porcelain.rb', line 11266

def name
  @name
end

#weightObject

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



11268
11269
11270
# File 'lib/models/porcelain.rb', line 11268

def weight
  @weight
end

Instance Method Details

#to_json(options = {}) ⇒ Object



11290
11291
11292
11293
11294
11295
11296
# File 'lib/models/porcelain.rb', line 11290

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