Class: SDM::AccountPermission

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

Overview

AccountPermission represents an individual API action available to an account.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(account_id: nil, granted_at: nil, permission: nil, scope: nil, scoped_id: nil) ⇒ AccountPermission

Returns a new instance of AccountPermission.



1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
# File 'lib/models/porcelain.rb', line 1293

def initialize(
  account_id: nil,
  granted_at: nil,
  permission: nil,
  scope: nil,
  scoped_id: nil
)
  @account_id =  == nil ? "" : 
  @granted_at = granted_at == nil ? nil : granted_at
  @permission = permission == nil ? "" : permission
  @scope = scope == nil ? "" : scope
  @scoped_id = scoped_id == nil ? "" : scoped_id
end

Instance Attribute Details

#account_idObject

The unique identifier of the Account this permission belongs to.



1276
1277
1278
# File 'lib/models/porcelain.rb', line 1276

def 
  @account_id
end

#granted_atObject

The most recent time at which the permission was granted. If a permission was granted, revoked, and granted again, this will reflect the later time.



1279
1280
1281
# File 'lib/models/porcelain.rb', line 1279

def granted_at
  @granted_at
end

#permissionObject

The value of this permission, split into vertical and action e.g. 'secretstore:List', 'role:update'



1282
1283
1284
# File 'lib/models/porcelain.rb', line 1282

def permission
  @permission
end

#scopeObject

The scope of this permission. A global scope means this action can be taken on any entity; otherwise the action can only be taken on or in the scope of the scoped id.



1286
1287
1288
# File 'lib/models/porcelain.rb', line 1286

def scope
  @scope
end

#scoped_idObject

The ID to which or in whose context this operation is permitted. e.g. The ID of a role that a team leader has the abillity to remove and add accounts to, or the ID of a resource that a user has the permission to connect to. If Scope is global, scoped id is not populated.



1291
1292
1293
# File 'lib/models/porcelain.rb', line 1291

def scoped_id
  @scoped_id
end

Instance Method Details

#to_json(options = {}) ⇒ Object



1307
1308
1309
1310
1311
1312
1313
# File 'lib/models/porcelain.rb', line 1307

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