Class: Aserto::Directory::V2::Client
- Inherits:
-
Object
- Object
- Aserto::Directory::V2::Client
- Includes:
- Requests
- Defined in:
- lib/aserto/directory/v2/client.rb
Instance Method Summary collapse
-
#check_permission(subject:, permission:, object:, trace: false) ⇒ Boolean
Check permissions.
-
#check_relation(subject:, relation:, object:, trace: false) ⇒ Boolean
Check relation.
-
#delete_relation(subject:, relation:, object:) ⇒ Object
Delete a relation.
-
#initialize(url: "directory.prod.aserto.com:8443", api_key: nil, tenant_id: nil, cert_path: nil) ⇒ Aserto::Directory::V2::Client
constructor
Creates a new Directory V2 Client.
-
#object(type:, key:) ⇒ ::Aserto::Directory::Common::V2::Object
Get an object by type and key.
-
#objects(type:, page: nil) ⇒ Array<::Aserto::Directory::Common::V2::Object>
Get a list of objects by type.
-
#relation(subject: nil, relation: nil, object: nil) ⇒ ::Aserto::Directory::Common::V2::Relation
Get a relation.
-
#relations(subject: nil, relation: nil, object: nil, page: nil) ⇒ Array<::Aserto::Directory::Common::V2::Relation>
Get a list of relations.
-
#set_object(object:) ⇒ ::Aserto::Directory::Common::V2::Object
Set an object.
-
#set_relation(subject:, relation:, object:, hash: nil) ⇒ ::Aserto::Directory::Common::V2::Relation
Set a relation.
Constructor Details
#initialize(url: "directory.prod.aserto.com:8443", api_key: nil, tenant_id: nil, cert_path: nil) ⇒ Aserto::Directory::V2::Client
Creates a new Directory V2 Client
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/aserto/directory/v2/client.rb', line 21 def initialize(url: "directory.prod.aserto.com:8443", api_key: nil, tenant_id: nil, cert_path: nil) @reader_client = ::Aserto::Directory::Reader::V2::Reader::Stub.new( url, load_creds(cert_path), interceptors: [Interceptors::Headers.new(api_key, tenant_id)] ) @writer_client = ::Aserto::Directory::Writer::V2::Writer::Stub.new( url, load_creds(cert_path), interceptors: [Interceptors::Headers.new(api_key, tenant_id)] ) end |
Instance Method Details
#check_permission(subject:, permission:, object:, trace: false) ⇒ Boolean
Check permissions
42 43 44 |
# File 'lib/aserto/directory/v2/client.rb', line 42 def (subject:, permission:, object:, trace: false) reader_client.((subject, , object, trace)) end |
#check_relation(subject:, relation:, object:, trace: false) ⇒ Boolean
Check relation
54 55 56 |
# File 'lib/aserto/directory/v2/client.rb', line 54 def check_relation(subject:, relation:, object:, trace: false) reader_client.check_relation(check_relation_request(subject, relation, object, trace)) end |
#delete_relation(subject:, relation:, object:) ⇒ Object
Delete a relation
127 128 129 |
# File 'lib/aserto/directory/v2/client.rb', line 127 def delete_relation(subject:, relation:, object:) writer_client.delete_relation(delete_relation_request(subject, relation, object)) end |
#object(type:, key:) ⇒ ::Aserto::Directory::Common::V2::Object
Get an object by type and key
64 65 66 |
# File 'lib/aserto/directory/v2/client.rb', line 64 def object(type:, key:) reader_client.get_object(object_request(key, type)).result end |
#objects(type:, page: nil) ⇒ Array<::Aserto::Directory::Common::V2::Object>
Get a list of objects by type
83 84 85 |
# File 'lib/aserto/directory/v2/client.rb', line 83 def objects(type:, page: nil) reader_client.get_objects(objects_request(type, page)).results end |
#relation(subject: nil, relation: nil, object: nil) ⇒ ::Aserto::Directory::Common::V2::Relation
Get a relation
94 95 96 |
# File 'lib/aserto/directory/v2/client.rb', line 94 def relation(subject: nil, relation: nil, object: nil) reader_client.get_relation(relation_request(subject, relation, object)).results end |
#relations(subject: nil, relation: nil, object: nil, page: nil) ⇒ Array<::Aserto::Directory::Common::V2::Relation>
Get a list of relations
105 106 107 |
# File 'lib/aserto/directory/v2/client.rb', line 105 def relations(subject: nil, relation: nil, object: nil, page: nil) reader_client.get_relations(relations_request(subject, relation, object, page)).results end |
#set_object(object:) ⇒ ::Aserto::Directory::Common::V2::Object
Set an object
73 74 75 |
# File 'lib/aserto/directory/v2/client.rb', line 73 def set_object(object:) writer_client.set_object(new_object_request(object)).result end |
#set_relation(subject:, relation:, object:, hash: nil) ⇒ ::Aserto::Directory::Common::V2::Relation
Set a relation
116 117 118 |
# File 'lib/aserto/directory/v2/client.rb', line 116 def set_relation(subject:, relation:, object:, hash: nil) writer_client.set_relation(new_relation_request(subject, relation, object, hash)).result end |