Skip to main content

roles

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

Overview

Nameroles
TypeResource
Idsnowflake.role.roles

Fields

NameDatatypeDescription
namestringName of the role.
assigned_to_usersintegerThe number of users to whom this role has been assigned.
commentstringComment of the role.
created_onstringDate and time when the role was created.
granted_rolesintegerThe number of roles that have been granted to this role.
granted_to_rolesintegerThe 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.

Methods

NameAccessible byRequired ParamsOptional ParamsDescription
list_rolesSELECTendpointlike, startsWith, showLimit, fromNameList roles
create_roleINSERTdata__name, endpointcreateModeCreate a role
delete_roleDELETEname, endpointifExistsDelete a role

Optional Parameter Details
NameDescriptionTypeDefault
createModeQuery 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.stringerrorIfExists
fromNameQuery 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.string-
ifExistsQuery 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.booleanfalse
likeQuery parameter to filter the command output by resource name. Uses case-insensitive pattern matching, with support for SQL wildcard characters.string-
showLimitQuery parameter to limit the maximum number of rows returned by a command.integer-
startsWithQuery 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.string-

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 }}';

INSERT example

Use the following StackQL query and manifest file to create a new roles resource.

/*+ create */
INSERT INTO snowflake.role.roles (
data__name,
data__comment,
endpoint
)
SELECT
'{{ name }}',
'{{ comment }}',
'{{ endpoint }}'
;

DELETE example

Deletes the specified roles resource.

/*+ delete */
DELETE FROM snowflake.role.roles
WHERE name = '{{ name }}'
AND endpoint = '{{ endpoint }}';