Class: SDM::Workflow
- Inherits:
-
Object
- Object
- SDM::Workflow
- 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
-
#access_request_fixed_duration ⇒ Object
Fixed Duration of access requests bound to this workflow.
-
#access_request_max_duration ⇒ Object
Maximum Duration of access requests bound to this workflow.
-
#access_rules ⇒ Object
AccessRules is a list of access rules defining the resources this Workflow provides access to.
-
#approval_flow_id ⇒ Object
Optional approval flow ID identifies an approval flow that linked to the workflow.
-
#auto_grant ⇒ Object
Optional auto grant setting to automatically approve requests or not, defaults to false.
-
#description ⇒ Object
Optional description of the Workflow.
-
#enabled ⇒ Object
Optional enabled state for workflow.
-
#id ⇒ Object
Unique identifier of the Workflow.
-
#name ⇒ Object
Unique human-readable name of the Workflow.
-
#weight ⇒ Object
Optional weight for workflow to specify it's priority in matching a request.
Instance Method Summary collapse
-
#initialize(access_request_fixed_duration: nil, access_request_max_duration: nil, access_rules: nil, approval_flow_id: nil, auto_grant: nil, description: nil, enabled: nil, id: nil, name: nil, weight: nil) ⇒ Workflow
constructor
A new instance of Workflow.
- #to_json(options = {}) ⇒ Object
Constructor Details
#initialize(access_request_fixed_duration: nil, access_request_max_duration: nil, 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.
15314 15315 15316 15317 15318 15319 15320 15321 15322 15323 15324 15325 15326 15327 15328 15329 15330 15331 15332 15333 15334 15335 15336 |
# File 'lib/models/porcelain.rb', line 15314 def initialize( access_request_fixed_duration: nil, access_request_max_duration: nil, access_rules: nil, approval_flow_id: nil, auto_grant: nil, description: nil, enabled: nil, id: nil, name: nil, weight: nil ) @access_request_fixed_duration = access_request_fixed_duration == nil ? nil : access_request_fixed_duration @access_request_max_duration = access_request_max_duration == nil ? nil : access_request_max_duration @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_request_fixed_duration ⇒ Object
Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty. If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
15289 15290 15291 |
# File 'lib/models/porcelain.rb', line 15289 def access_request_fixed_duration @access_request_fixed_duration end |
#access_request_max_duration ⇒ Object
Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty. If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
15292 15293 15294 |
# File 'lib/models/porcelain.rb', line 15292 def access_request_max_duration @access_request_max_duration end |
#access_rules ⇒ Object
AccessRules is a list of access rules defining the resources this Workflow provides access to.
15294 15295 15296 |
# File 'lib/models/porcelain.rb', line 15294 def access_rules @access_rules end |
#approval_flow_id ⇒ Object
Optional approval flow ID identifies an approval flow that linked to the workflow
15296 15297 15298 |
# File 'lib/models/porcelain.rb', line 15296 def approval_flow_id @approval_flow_id end |
#auto_grant ⇒ Object
Optional auto grant setting to automatically approve requests or not, defaults to false.
15298 15299 15300 |
# File 'lib/models/porcelain.rb', line 15298 def auto_grant @auto_grant end |
#description ⇒ Object
Optional description of the Workflow.
15300 15301 15302 |
# File 'lib/models/porcelain.rb', line 15300 def description @description end |
#enabled ⇒ Object
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.
15306 15307 15308 |
# File 'lib/models/porcelain.rb', line 15306 def enabled @enabled end |
#id ⇒ Object
Unique identifier of the Workflow.
15308 15309 15310 |
# File 'lib/models/porcelain.rb', line 15308 def id @id end |
#name ⇒ Object
Unique human-readable name of the Workflow.
15310 15311 15312 |
# File 'lib/models/porcelain.rb', line 15310 def name @name end |
#weight ⇒ Object
Optional weight for workflow to specify it's priority in matching a request.
15312 15313 15314 |
# File 'lib/models/porcelain.rb', line 15312 def weight @weight end |
Instance Method Details
#to_json(options = {}) ⇒ Object
15338 15339 15340 15341 15342 15343 15344 |
# File 'lib/models/porcelain.rb', line 15338 def to_json( = {}) hash = {} self.instance_variables.each do |var| hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var end hash.to_json end |