1. Registry
  2. Packages
  3. Files.com
  4. API Docs
  5. Permission
Viewing docs for Files.com v0.1.1
published on Thursday, Aug 20, 2026 by jschady
filescom logo
Viewing docs for Files.com v0.1.1
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 = new filescom.Permission("example_permission", {
        path: "path",
        groupId: 1,
        groupIds: [1],
        permission: "full",
        recursive: false,
        partnerId: 1,
        userId: 1,
        username: "user",
        groupName: "example",
        siteId: 1,
    });
    
    import pulumi
    import pulumi_filescom as filescom
    
    example_permission = filescom.Permission("example_permission",
        path="path",
        group_id=1,
        group_ids=[1],
        permission="full",
        recursive=False,
        partner_id=1,
        user_id=1,
        username="user",
        group_name="example",
        site_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.NewPermission(ctx, "example_permission", &filescom.PermissionArgs{
    			Path:    pulumi.String("path"),
    			GroupId: pulumi.Int(1),
    			GroupIds: pulumi.IntArray{
    				pulumi.Int(1),
    			},
    			Permission: pulumi.String("full"),
    			Recursive:  pulumi.Bool(false),
    			PartnerId:  pulumi.Int(1),
    			UserId:     pulumi.Int(1),
    			Username:   pulumi.String("user"),
    			GroupName:  pulumi.String("example"),
    			SiteId:     pulumi.Int(1),
    		})
    		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 = new Filescom.Permission("example_permission", new()
        {
            Path = "path",
            GroupId = 1,
            GroupIds = new[]
            {
                1,
            },
            PermissionType = "full",
            Recursive = false,
            PartnerId = 1,
            UserId = 1,
            Username = "user",
            GroupName = "example",
            SiteId = 1,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.filescom.Permission;
    import com.pulumi.filescom.PermissionArgs;
    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) {
            var examplePermission = new Permission("examplePermission", PermissionArgs.builder()
                .path("path")
                .groupId(1)
                .groupIds(1)
                .permission("full")
                .recursive(false)
                .partnerId(1)
                .userId(1)
                .username("user")
                .groupName("example")
                .siteId(1)
                .build());
    
        }
    }
    
    resources:
      examplePermission:
        type: filescom:Permission
        name: example_permission
        properties:
          path: path
          groupId: 1
          groupIds:
            - 1
          permission: full
          recursive: false
          partnerId: 1
          userId: 1
          username: user
          groupName: example
          siteId: 1
    
    pulumi {
      required_providers {
        filescom = {
          source = "pulumi/filescom"
        }
      }
    }
    
    resource "filescom_permission" "example_permission" {
      path       = "path"
      group_id   = 1
      group_ids  = [1]
      permission = "full"
      recursive  = false
      partner_id = 1
      user_id    = 1
      username   = "user"
      group_name = "example"
      site_id    = 1
    }
    

    Create Permission Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Permission(name: string, args: PermissionArgs, opts?: CustomResourceOptions);
    @overload
    def Permission(resource_name: str,
                   args: PermissionArgs,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def Permission(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   path: Optional[str] = None,
                   group_id: Optional[int] = None,
                   group_ids: Optional[Sequence[int]] = None,
                   group_name: Optional[str] = None,
                   partner_id: Optional[int] = None,
                   permission: Optional[str] = None,
                   recursive: Optional[bool] = None,
                   site_id: Optional[int] = None,
                   user_id: Optional[int] = None,
                   username: Optional[str] = None)
    func NewPermission(ctx *Context, name string, args PermissionArgs, opts ...ResourceOption) (*Permission, error)
    public Permission(string name, PermissionArgs args, CustomResourceOptions? opts = null)
    public Permission(String name, PermissionArgs args)
    public Permission(String name, PermissionArgs args, CustomResourceOptions options)
    
    type: filescom:Permission
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "filescom_permission" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args PermissionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args PermissionArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args PermissionArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args PermissionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args PermissionArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var permissionResource = new Filescom.Permission("permissionResource", new()
    {
        Path = "string",
        GroupId = 0,
        GroupIds = new[]
        {
            0,
        },
        GroupName = "string",
        PartnerId = 0,
        PermissionType = "string",
        Recursive = false,
        SiteId = 0,
        UserId = 0,
        Username = "string",
    });
    
    example, err := filescom.NewPermission(ctx, "permissionResource", &filescom.PermissionArgs{
    	Path:    pulumi.String("string"),
    	GroupId: pulumi.Int(0),
    	GroupIds: pulumi.IntArray{
    		pulumi.Int(0),
    	},
    	GroupName:  pulumi.String("string"),
    	PartnerId:  pulumi.Int(0),
    	Permission: pulumi.String("string"),
    	Recursive:  pulumi.Bool(false),
    	SiteId:     pulumi.Int(0),
    	UserId:     pulumi.Int(0),
    	Username:   pulumi.String("string"),
    })
    
    resource "filescom_permission" "permissionResource" {
      lifecycle {
        create_before_destroy = true
      }
      path       = "string"
      group_id   = 0
      group_ids  = [0]
      group_name = "string"
      partner_id = 0
      permission = "string"
      recursive  = false
      site_id    = 0
      user_id    = 0
      username   = "string"
    }
    
    var permissionResource = new Permission("permissionResource", PermissionArgs.builder()
        .path("string")
        .groupId(0)
        .groupIds(0)
        .groupName("string")
        .partnerId(0)
        .permission("string")
        .recursive(false)
        .siteId(0)
        .userId(0)
        .username("string")
        .build());
    
    permission_resource = filescom.Permission("permissionResource",
        path="string",
        group_id=0,
        group_ids=[0],
        group_name="string",
        partner_id=0,
        permission="string",
        recursive=False,
        site_id=0,
        user_id=0,
        username="string")
    
    const permissionResource = new filescom.Permission("permissionResource", {
        path: "string",
        groupId: 0,
        groupIds: [0],
        groupName: "string",
        partnerId: 0,
        permission: "string",
        recursive: false,
        siteId: 0,
        userId: 0,
        username: "string",
    });
    
    type: filescom:Permission
    properties:
        groupId: 0
        groupIds:
            - 0
        groupName: string
        partnerId: 0
        path: string
        permission: string
        recursive: false
        siteId: 0
        userId: 0
        username: string
    

    Permission Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Permission resource accepts the following input properties:

    Path string
    Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
    GroupId int
    Group ID
    GroupIds List<int>
    Group IDs when this permission requires multiple groups
    GroupName string
    Group name (if applicable)
    PartnerId int
    Partner ID (if applicable)
    PermissionType 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?
    SiteId int
    Site ID
    UserId int
    User ID
    Username string
    Username (if applicable)
    Path string
    Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
    GroupId int
    Group ID
    GroupIds []int
    Group IDs when this permission requires multiple groups
    GroupName string
    Group name (if applicable)
    PartnerId int
    Partner ID (if applicable)
    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?
    SiteId int
    Site ID
    UserId int
    User ID
    Username string
    Username (if applicable)
    path string
    Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
    group_id number
    Group ID
    group_ids list(number)
    Group IDs when this permission requires multiple groups
    group_name string
    Group name (if applicable)
    partner_id number
    Partner ID (if applicable)
    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)
    path String
    Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
    groupId Integer
    Group ID
    groupIds List<Integer>
    Group IDs when this permission requires multiple groups
    groupName String
    Group name (if applicable)
    partnerId Integer
    Partner ID (if applicable)
    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?
    siteId Integer
    Site ID
    userId Integer
    User ID
    username String
    Username (if applicable)
    path string
    Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
    groupId number
    Group ID
    groupIds number[]
    Group IDs when this permission requires multiple groups
    groupName string
    Group name (if applicable)
    partnerId number
    Partner ID (if applicable)
    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?
    siteId number
    Site ID
    userId number
    User ID
    username string
    Username (if applicable)
    path str
    Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
    group_id int
    Group ID
    group_ids Sequence[int]
    Group IDs when this permission requires multiple groups
    group_name str
    Group name (if applicable)
    partner_id int
    Partner ID (if applicable)
    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)
    path String
    Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
    groupId Number
    Group ID
    groupIds List<Number>
    Group IDs when this permission requires multiple groups
    groupName String
    Group name (if applicable)
    partnerId Number
    Partner ID (if applicable)
    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?
    siteId Number
    Site ID
    userId Number
    User ID
    username String
    Username (if applicable)

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Permission resource produces the following output properties:

    GroupNames List<string>
    Group names when this permission requires multiple groups
    Id string
    The provider-assigned unique ID for this managed resource.
    PartnerName string
    Partner name (if applicable)
    GroupNames []string
    Group names when this permission requires multiple groups
    Id string
    The provider-assigned unique ID for this managed resource.
    PartnerName string
    Partner name (if applicable)
    group_names list(string)
    Group names when this permission requires multiple groups
    id string
    The provider-assigned unique ID for this managed resource.
    partner_name string
    Partner name (if applicable)
    groupNames List<String>
    Group names when this permission requires multiple groups
    id String
    The provider-assigned unique ID for this managed resource.
    partnerName String
    Partner name (if applicable)
    groupNames string[]
    Group names when this permission requires multiple groups
    id string
    The provider-assigned unique ID for this managed resource.
    partnerName string
    Partner name (if applicable)
    group_names Sequence[str]
    Group names when this permission requires multiple groups
    id str
    The provider-assigned unique ID for this managed resource.
    partner_name str
    Partner name (if applicable)
    groupNames List<String>
    Group names when this permission requires multiple groups
    id String
    The provider-assigned unique ID for this managed resource.
    partnerName String
    Partner name (if applicable)

    Look up Existing Permission Resource

    Get an existing Permission resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: PermissionState, opts?: CustomResourceOptions): Permission
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            group_id: Optional[int] = None,
            group_ids: Optional[Sequence[int]] = None,
            group_name: Optional[str] = None,
            group_names: Optional[Sequence[str]] = None,
            partner_id: Optional[int] = None,
            partner_name: Optional[str] = None,
            path: Optional[str] = None,
            permission: Optional[str] = None,
            recursive: Optional[bool] = None,
            site_id: Optional[int] = None,
            user_id: Optional[int] = None,
            username: Optional[str] = None) -> Permission
    func GetPermission(ctx *Context, name string, id IDInput, state *PermissionState, opts ...ResourceOption) (*Permission, error)
    public static Permission Get(string name, Input<string> id, PermissionState? state, CustomResourceOptions? opts = null)
    public static Permission get(String name, Output<String> id, PermissionState state, CustomResourceOptions options)
    resources:  _:    type: filescom:Permission    get:      id: ${id}
    import {
      to = filescom_permission.example
      id = "${id}"
    }
    
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    GroupId int
    Group ID
    GroupIds List<int>
    Group IDs when this permission requires multiple groups
    GroupName string
    Group name (if applicable)
    GroupNames List<string>
    Group names when this permission requires multiple groups
    PartnerId int
    Partner ID (if applicable)
    PartnerName 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.
    PermissionType 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?
    SiteId int
    Site ID
    UserId int
    User ID
    Username string
    Username (if applicable)
    GroupId int
    Group ID
    GroupIds []int
    Group IDs when this permission requires multiple groups
    GroupName string
    Group name (if applicable)
    GroupNames []string
    Group names when this permission requires multiple groups
    PartnerId int
    Partner ID (if applicable)
    PartnerName 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?
    SiteId int
    Site ID
    UserId 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
    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)
    groupId Integer
    Group ID
    groupIds List<Integer>
    Group IDs when this permission requires multiple groups
    groupName String
    Group name (if applicable)
    groupNames List<String>
    Group names when this permission requires multiple groups
    partnerId Integer
    Partner ID (if applicable)
    partnerName 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?
    siteId Integer
    Site ID
    userId Integer
    User ID
    username String
    Username (if applicable)
    groupId number
    Group ID
    groupIds number[]
    Group IDs when this permission requires multiple groups
    groupName string
    Group name (if applicable)
    groupNames string[]
    Group names when this permission requires multiple groups
    partnerId number
    Partner ID (if applicable)
    partnerName 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?
    siteId number
    Site ID
    userId 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
    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)
    groupId Number
    Group ID
    groupIds List<Number>
    Group IDs when this permission requires multiple groups
    groupName String
    Group name (if applicable)
    groupNames List<String>
    Group names when this permission requires multiple groups
    partnerId Number
    Partner ID (if applicable)
    partnerName 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?
    siteId Number
    Site ID
    userId Number
    User ID
    username String
    Username (if applicable)

    Import

    The pulumi import command can be used, for example:

    Permissions can be imported by specifying the id.

    $ pulumi import filescom:index/permission:Permission example_permission 1
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    filescom jschady/pulumi-filescom
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the filescom Terraform Provider.
    filescom logo
    Viewing docs for Files.com v0.1.1
    published on Thursday, Aug 20, 2026 by jschady

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial