published on Thursday, Aug 20, 2026 by jschady
published on Thursday, Aug 20, 2026 by jschady
A Permission object represents a grant of access permission on a specific Path to a User or Group.
They can be optionally recursive or nonrecursive into the subfolders of that path.
A Permission may be applied to a User or a Group, but not both at once.
The following table sets forth the available Permission types:
| Permission | Access Level Granted | Automatically Also Includes/Implies Permissions |
|—|———–|———————|
| admin | Able to manage Folder Behaviors, Permissions, and Notifications for the folder. Also grants all other permissions. | bundle, full, writeonly, readonly, list, history |
| bundle | Able to share files and folders via a Bundle (share link). | readonly, list |
| full | Able to read, write, move, delete, and rename files and folders. Also grants the ability to overwrite files upon upload. | writeonly, readonly, list |
| history | Able to view the history of files and folders and to create email notifications for themselves. | list |
| list | Able to list files and folders, but not download. | none |
| readonly | Able to list, preview, and download files and folders. | list |
| readonlySiteAdmin | Able to behave as a read-only Site Admin on a given child site. Only applies to child sites. | readonly, list, history |
| siteAdmin | Able to behave as a Site Admin on a given child site. Only applies to child sites. | bundle, full, writeonly, readonly, list, history |
| writeonly | Able to upload files, create folders and list subfolders the user has write permission to. | none |
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as filescom from "pulumi-filescom";
const examplePermission = filescom.getPermission({
id: 1,
});
import pulumi
import pulumi_filescom as filescom
example_permission = filescom.get_permission(id=1)
package main
import (
"github.com/jschady/pulumi-filescom/sdk/go/filescom"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := filescom.GetPermission(ctx, &filescom.LookupPermissionArgs{
Id: 1,
}, nil)
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Filescom = Jschady.Filescom;
return await Deployment.RunAsync(() =>
{
var examplePermission = Filescom.GetPermission.Invoke(new()
{
Id = 1,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.filescom.FilescomFunctions;
import com.pulumi.filescom.inputs.GetPermissionArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var examplePermission = FilescomFunctions.getPermission(GetPermissionArgs.builder()
.id(1)
.build());
}
}
variables:
examplePermission:
fn::invoke:
function: filescom:getPermission
arguments:
id: 1
pulumi {
required_providers {
filescom = {
source = "pulumi/filescom"
}
}
}
data "filescom_getpermission" "examplePermission" {
id = 1
}
Using getPermission
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getPermission(args: GetPermissionArgs, opts?: InvokeOptions): Promise<GetPermissionResult>
function getPermissionOutput(args: GetPermissionOutputArgs, opts?: InvokeOutputOptions): Output<GetPermissionResult>def get_permission(id: Optional[int] = None,
opts: Optional[InvokeOptions] = None) -> GetPermissionResult
def get_permission_output(id: pulumi.Input[Optional[int]] = None,
opts: Optional[InvokeOutputOptions] = None) -> Output[GetPermissionResult]func LookupPermission(ctx *Context, args *LookupPermissionArgs, opts ...InvokeOption) (*LookupPermissionResult, error)
func LookupPermissionOutput(ctx *Context, args *LookupPermissionOutputArgs, opts ...InvokeOption) LookupPermissionResultOutput> Note: This function is named LookupPermission in the Go SDK.
public static class GetPermission
{
public static Task<GetPermissionResult> InvokeAsync(GetPermissionArgs args, InvokeOptions? opts = null)
public static Output<GetPermissionResult> Invoke(GetPermissionInvokeArgs args, InvokeOptions? opts = null)
public static Output<GetPermissionResult> Invoke(GetPermissionInvokeArgs args, InvokeOutputOptions opts)
}public static CompletableFuture<GetPermissionResult> getPermission(GetPermissionArgs args, InvokeOptions options)
public static Output<GetPermissionResult> getPermission(GetPermissionArgs args, InvokeOptions options)
public static Output<GetPermissionResult> getPermission(GetPermissionArgs args, InvokeOutputOptions options)
fn::invoke:
function: filescom:index/getPermission:getPermission
arguments:
# arguments dictionarydata "filescom_get_permission" "name" {
# arguments
}The following arguments are supported:
- Id int
- Permission ID
- Id int
- Permission ID
- id number
- Permission ID
- id Integer
- Permission ID
- id number
- Permission ID
- id int
- Permission ID
- id Number
- Permission ID
getPermission Result
The following output properties are available:
- Group
Id int - Group ID
- Group
Ids List<int> - Group IDs when this permission requires multiple groups
- Group
Name string - Group name (if applicable)
- Group
Names List<string> - Group names when this permission requires multiple groups
- Id int
- Permission ID
- Partner
Id int - Partner ID (if applicable)
- Partner
Name string - Partner name (if applicable)
- Path string
- Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
- Permission string
- Permission type. See the table referenced in the documentation for an explanation of each permission.
- Recursive bool
- Recursive: does this permission apply to subfolders?
- Site
Id int - Site ID
- User
Id int - User ID
- Username string
- Username (if applicable)
- Group
Id int - Group ID
- Group
Ids []int - Group IDs when this permission requires multiple groups
- Group
Name string - Group name (if applicable)
- Group
Names []string - Group names when this permission requires multiple groups
- Id int
- Permission ID
- Partner
Id int - Partner ID (if applicable)
- Partner
Name string - Partner name (if applicable)
- Path string
- Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
- Permission string
- Permission type. See the table referenced in the documentation for an explanation of each permission.
- Recursive bool
- Recursive: does this permission apply to subfolders?
- Site
Id int - Site ID
- User
Id int - User ID
- Username string
- Username (if applicable)
- group_
id number - Group ID
- group_
ids list(number) - Group IDs when this permission requires multiple groups
- group_
name string - Group name (if applicable)
- group_
names list(string) - Group names when this permission requires multiple groups
- id number
- Permission ID
- partner_
id number - Partner ID (if applicable)
- partner_
name string - Partner name (if applicable)
- path string
- Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
- permission string
- Permission type. See the table referenced in the documentation for an explanation of each permission.
- recursive bool
- Recursive: does this permission apply to subfolders?
- site_
id number - Site ID
- user_
id number - User ID
- username string
- Username (if applicable)
- group
Id Integer - Group ID
- group
Ids List<Integer> - Group IDs when this permission requires multiple groups
- group
Name String - Group name (if applicable)
- group
Names List<String> - Group names when this permission requires multiple groups
- id Integer
- Permission ID
- partner
Id Integer - Partner ID (if applicable)
- partner
Name String - Partner name (if applicable)
- path String
- Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
- permission String
- Permission type. See the table referenced in the documentation for an explanation of each permission.
- recursive Boolean
- Recursive: does this permission apply to subfolders?
- site
Id Integer - Site ID
- user
Id Integer - User ID
- username String
- Username (if applicable)
- group
Id number - Group ID
- group
Ids number[] - Group IDs when this permission requires multiple groups
- group
Name string - Group name (if applicable)
- group
Names string[] - Group names when this permission requires multiple groups
- id number
- Permission ID
- partner
Id number - Partner ID (if applicable)
- partner
Name string - Partner name (if applicable)
- path string
- Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
- permission string
- Permission type. See the table referenced in the documentation for an explanation of each permission.
- recursive boolean
- Recursive: does this permission apply to subfolders?
- site
Id number - Site ID
- user
Id number - User ID
- username string
- Username (if applicable)
- group_
id int - Group ID
- group_
ids Sequence[int] - Group IDs when this permission requires multiple groups
- group_
name str - Group name (if applicable)
- group_
names Sequence[str] - Group names when this permission requires multiple groups
- id int
- Permission ID
- partner_
id int - Partner ID (if applicable)
- partner_
name str - Partner name (if applicable)
- path str
- Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
- permission str
- Permission type. See the table referenced in the documentation for an explanation of each permission.
- recursive bool
- Recursive: does this permission apply to subfolders?
- site_
id int - Site ID
- user_
id int - User ID
- username str
- Username (if applicable)
- group
Id Number - Group ID
- group
Ids List<Number> - Group IDs when this permission requires multiple groups
- group
Name String - Group name (if applicable)
- group
Names List<String> - Group names when this permission requires multiple groups
- id Number
- Permission ID
- partner
Id Number - Partner ID (if applicable)
- partner
Name String - Partner name (if applicable)
- path String
- Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
- permission String
- Permission type. See the table referenced in the documentation for an explanation of each permission.
- recursive Boolean
- Recursive: does this permission apply to subfolders?
- site
Id Number - Site ID
- user
Id Number - User ID
- username String
- Username (if applicable)
Package Details
- Repository
- filescom jschady/pulumi-filescom
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
filescomTerraform Provider.
published on Thursday, Aug 20, 2026 by jschady