Skip to main content

roles

Creates, updates, deletes, gets or lists a roles resource.

Overview

Nameroles
TypeResource
Idsnowflake.role.roles

Fields

The following fields are returned by SELECT queries:

A Snowflake role

NameDatatypeDescription
namestringName of the role. (pattern: ^"([^"]|"")+"|[a-zA-Z_][a-zA-Z0-9_$]*$)
assigned_to_usersinteger (int64)The number of users to whom this role has been assigned.
commentstringComment of the role.
created_onstring (date-time)Date and time when the role was created.
granted_rolesinteger (int64)The number of roles that have been granted to this role.
granted_to_rolesinteger (int64)The number of roles to which this role has been granted.
is_currentbooleanSpecifies whether the role being fetched is the user's current role.
is_defaultbooleanSpecifies whether the role being fetched is the user's default role.
is_inheritedbooleanSpecifies whether the role used to run the command inherits the specified role.
ownerstringSpecifies the role that owns this role. (pattern: ^"([^"]|"")+"|[a-zA-Z_][a-zA-Z0-9_$]*$)

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
list_rolesselectendpointlike, startsWith, showLimit, fromNameList roles
create_roleinsertendpointcreateModeCreate a role
delete_roledeletename, endpointifExistsDelete a role

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
endpointstringOrganization and Account Name (default: orgid-acctid)
namestringIdentifier (i.e. name) for the resource.
createModestringQuery parameter allowing support for different modes of resource creation. Possible values include: - errorIfExists: Throws an error if you try to create a resource that already exists. - orReplace: Automatically replaces the existing resource with the current one. - ifNotExists: Creates a new resource when an alter is requested for a non-existent resource.
fromNamestringQuery parameter to enable fetching rows only following the first row whose object name matches the specified string. Case-sensitive and does not have to be the full name.
ifExistsbooleanQuery parameter that specifies how to handle the request for a resource that does not exist: - true: The endpoint does not throw an error if the resource does not exist. It returns a 200 success response, but does not take any action on the resource. - false: The endpoint throws an error if the resource doesn't exist.
likestringQuery parameter to filter the command output by resource name. Uses case-insensitive pattern matching, with support for SQL wildcard characters.
showLimitintegerQuery parameter to limit the maximum number of rows returned by a command.
startsWithstringQuery parameter to filter the command output based on the string of characters that appear at the beginning of the object name. Uses case-sensitive pattern matching.

SELECT examples

List roles

SELECT
name,
assigned_to_users,
comment,
created_on,
granted_roles,
granted_to_roles,
is_current,
is_default,
is_inherited,
owner
FROM snowflake.role.roles
WHERE endpoint = '{{ endpoint }}' -- required
AND like = '{{ like }}'
AND startsWith = '{{ startsWith }}'
AND showLimit = '{{ showLimit }}'
AND fromName = '{{ fromName }}';

INSERT examples

Create a role

INSERT INTO snowflake.role.roles (
data__name,
data__comment,
endpoint,
createMode
)
SELECT
'{{ name }}' --required,
'{{ comment }}',
'{{ endpoint }}',
'{{ createMode }}'
;

DELETE examples

Delete a role

DELETE FROM snowflake.role.roles
WHERE name = '{{ name }}' --required
AND endpoint = '{{ endpoint }}' --required
AND ifExists = '{{ ifExists }}';