FQL v4 will be decommissioned on June 30, 2025. Ensure that you complete your migration from FQL v4 to FQL v10 by that date. For more details, review the migration guide. Contact support@fauna.com with any questions. |
CreateRole
This reference topic applies to FQL v4. Go to this page for the latest FQL v10 reference topics. |
CreateRole( param_object )
create_role( param_object )
CreateRole( param_object )
CreateRole( param_object )
CreateRole( param_object )
Description
CreateRole
creates a new user-defined role with the specified
param_object
. This function requires an admin key for authentication.
The maximum number of overlapping roles is 64. When you
attempt to create the 65th overlapping role, you get an error
when calling the CreateRole function.
|
Parameters
Parameter | Type | Definition and requirements |
---|---|---|
|
Object |
The |
param_object
Field name | Field type | Definition and requirements |
---|---|---|
|
String |
The role’s name. Cannot be |
|
Array |
One or more privilege configuration objects. |
|
Array |
Optional. One or more membership configuration objects. |
|
Object |
Optional - Contains user-defined metadata for the role. It is provided for the developer to store role-relevant information. |
Returns
An object containing the metadata about the results of CreateRole
operations.
Field name | Field type | Definition and requirements |
---|---|---|
|
Reference |
The Reference is an automatically-generated, unique identifier within the database to the role that was created. |
|
Long |
The timestamp, with microsecond resolution, associated with the creation of the role. |
|
String |
The role’s name. |
|
Array |
The role’s privileges configuration. |
|
Array |
The role’s membership configuration. |
Examples
The following query creates a role that grants unrestricted read access
to the spells
collection:
{
ref: Role("new-role"),
ts: 1592053955060000,
name: 'new-role',
privileges: { resource: Collection("spells"), actions: { read: true } }
}
{'ref': Ref(id=new-role, collection=Ref(id=roles)), 'ts': 1592856253820000, 'name': 'new-role', 'privileges': {'resource': Ref(id=spells, collection=Ref(id=collections)), 'actions': {'read': True}}}
map[name:new-role privileges:map[actions:map[read:true] resource:{spells 0xc000162240 0xc000162240 <nil>}] ref:{new-role 0xc0001620f0 0xc0001620f0 <nil>} ts:1603747138280000]
ObjectV(ref: RefV(id = "new-role", collection = RefV(id = "roles")),ts: LongV(1603756193250000),name: StringV(new-role),privileges: ObjectV(resource: RefV(id = "spells", collection = RefV(id = "collections")),actions: ObjectV(read: BooleanV(True))))
{
ref: Role("new-role"),
ts: 1624310368930000,
name: 'new-role',
privileges: { resource: Collection("spells"), actions: { read: true } }
}
Is this article helpful?
Tell Fauna how the article can be improved:
Visit Fauna's forums
or email docs@fauna.com
Thank you for your feedback!