1. Registry
  2. Packages
  3. Files.com
Viewing docs for Files.com v0.1.1
published on Thursday, Aug 20, 2026 by jschady

Files.com

filescom logo
Viewing docs for Files.com v0.1.1
published on Thursday, Aug 20, 2026 by jschady

    The Files.com provider creates and manages the objects in a Files.com account:

    • folders
    • folder settings that Files.com calls behaviors
    • remote servers
    • groups and the users
    • API keys

    This provider wraps the Files.com provider for Terraform. Every resource and every data source that provider carries is available here, under a Pulumi name.

    Example

    The program below creates one group and exports the id that Files.com assigns to it.

    import * as filescom from "pulumi-filescom";
    
    const engineers = new filescom.Group("engineers", {
        name: "engineers",
        notes: "The engineering team.",
    });
    
    export const groupId = engineers.id;
    
    import pulumi
    import pulumi_filescom as filescom
    
    engineers = filescom.Group("engineers",
        name="engineers",
        notes="The engineering team.")
    
    pulumi.export("group_id", engineers.id)
    
    using System.Collections.Generic;
    using Pulumi;
    using Filescom = Jschady.Filescom;
    
    return await Deployment.RunAsync(() =>
    {
        var engineers = new Filescom.Group("engineers", new()
        {
            Name = "engineers",
            Notes = "The engineering team.",
        });
    
        return new Dictionary<string, object?>
        {
            ["groupId"] = engineers.Id,
        };
    });
    
    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 {
    		engineers, err := filescom.NewGroup(ctx, "engineers", &filescom.GroupArgs{
    			Name:  pulumi.String("engineers"),
    			Notes: pulumi.String("The engineering team."),
    		})
    		if err != nil {
    			return err
    		}
    		ctx.Export("groupId", engineers.ID())
    		return nil
    	})
    }
    

    API key

    The provider reads the API key from the FILES_API_KEY environment variable. You can set the key in the stack configuration instead. The installation and configuration page carries both commands and the rest of the provider configuration.

    Resource id

    Files.com assigns a decimal id to each object it stores. The provider reports that id as the Pulumi id output, and the value matches the id the account holds.

    Import of an existing object

    You can adopt a Files.com object that Pulumi did not create. The provider reads the object, and pulumi import writes the properties of the answer into a generated declaration.

    Warning: pulumi import protects the resource, and pulumi destroy refuses a protected resource. Set --protect=false when you plan to destroy the stack later.

    Set the API key in the environment, then import the object by its decimal id:

    export FILES_API_KEY=your-api-key
    pulumi import filescom:index/group:Group adopted 12345 --protect=false --out adopted.yaml
    

    Copy the declaration from adopted.yaml into your program, then run pulumi preview. The plan reports no change.

    The generated declaration carries each property that Files.com reports with a value. It leaves out a property whose value is one of these, and the plan after the import stays empty:

    • empty
    • zero
    • null

    Limitations

    Value of a behavior

    Warning: If you write the value property of a behavior as a JSON-encoded string, every later plan fails. Write the value as nested JSON.

    The Files.com documentation offers both encodings. Only nested JSON works here, because the property cannot change its runtime type between two plans. Track the defect at pulumi/pulumi-terraform-bridge#3122.

    Path of an API key

    Pulumi sends the path property to Files.com and never stores it. Pulumi holds no stored value to compare, so a change to path plans no update at all.

    Warning: If you delete an API key, every program that holds it stops working.

    To restrict a different path, follow these steps.

    1. Delete the API key.
    2. Create a new key with the path you want.

    A replace that another property forces does send the current path again.

    Order of the group members

    If you change the order of userIds on a group, Pulumi plans an update. The set of members is the same, and the plan still shows the change. The plan path in the upstream framework never calls the semantic-equality check that treats the two orders as equal. Write userIds in a stable order to keep the plan empty.

    Plan of a behavior

    Every update plan and every replace plan for a behavior drops 3 computed outputs: inherited, managed, and rootBehaviorSiteAdminOnly. The apply returns all 3. The preview right after an apply is clean, so this is not drift.

    Properties without a description

    The registry shows 312 properties with an empty description. Files.com declares 310 of them with no text. The code generator adds the other 2. This provider invents no replacement.

    Where the description is emptyCount
    A resource output4
    A data source output6
    A provider configuration property2
    A property inside a nested object298
    A property the code generator adds2

    The 298 nested properties sit under two trees. The definition of an automation holds 280, and the definition of a holiday calendar holds 18.

    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