published on Thursday, Aug 20, 2026 by jschady
published on Thursday, Aug 20, 2026 by jschady
Snapshots allow you to create a read-only archive of files at a specific point in time. You can define a snapshot, add files to it, and then finalize it. Once finalized, the snapshot’s contents are immutable.
Each snapshot may have an expiration date. When the expiration date is reached, the snapshot is automatically deleted from the Files.com platform.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as filescom from "pulumi-filescom";
const exampleSnapshot = new filescom.Snapshot("example_snapshot", {
expiresAt: "2000-01-01T01:00:00Z",
name: "My Snapshot",
workspaceId: 0,
});
import pulumi
import pulumi_filescom as filescom
example_snapshot = filescom.Snapshot("example_snapshot",
expires_at="2000-01-01T01:00:00Z",
name="My Snapshot",
workspace_id=0)
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.NewSnapshot(ctx, "example_snapshot", &filescom.SnapshotArgs{
ExpiresAt: pulumi.String("2000-01-01T01:00:00Z"),
Name: pulumi.String("My Snapshot"),
WorkspaceId: pulumi.Int(0),
})
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 exampleSnapshot = new Filescom.Snapshot("example_snapshot", new()
{
ExpiresAt = "2000-01-01T01:00:00Z",
Name = "My Snapshot",
WorkspaceId = 0,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.filescom.Snapshot;
import com.pulumi.filescom.SnapshotArgs;
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 exampleSnapshot = new Snapshot("exampleSnapshot", SnapshotArgs.builder()
.expiresAt("2000-01-01T01:00:00Z")
.name("My Snapshot")
.workspaceId(0)
.build());
}
}
resources:
exampleSnapshot:
type: filescom:Snapshot
name: example_snapshot
properties:
expiresAt: 2000-01-01T01:00:00Z
name: My Snapshot
workspaceId: 0
pulumi {
required_providers {
filescom = {
source = "pulumi/filescom"
}
}
}
resource "filescom_snapshot" "example_snapshot" {
expires_at = "2000-01-01T01:00:00Z"
name = "My Snapshot"
workspace_id = 0
}
Create Snapshot Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Snapshot(name: string, args?: SnapshotArgs, opts?: CustomResourceOptions);@overload
def Snapshot(resource_name: str,
args: Optional[SnapshotArgs] = None,
opts: Optional[ResourceOptions] = None)
@overload
def Snapshot(resource_name: str,
opts: Optional[ResourceOptions] = None,
expires_at: Optional[str] = None,
name: Optional[str] = None,
paths: Optional[Sequence[str]] = None,
workspace_id: Optional[int] = None)func NewSnapshot(ctx *Context, name string, args *SnapshotArgs, opts ...ResourceOption) (*Snapshot, error)public Snapshot(string name, SnapshotArgs? args = null, CustomResourceOptions? opts = null)
public Snapshot(String name, SnapshotArgs args)
public Snapshot(String name, SnapshotArgs args, CustomResourceOptions options)
type: filescom:Snapshot
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "filescom_snapshot" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args SnapshotArgs
- 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 SnapshotArgs
- 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 SnapshotArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args SnapshotArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args SnapshotArgs
- 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 snapshotResource = new Filescom.Snapshot("snapshotResource", new()
{
ExpiresAt = "string",
Name = "string",
Paths = new[]
{
"string",
},
WorkspaceId = 0,
});
example, err := filescom.NewSnapshot(ctx, "snapshotResource", &filescom.SnapshotArgs{
ExpiresAt: pulumi.String("string"),
Name: pulumi.String("string"),
Paths: pulumi.StringArray{
pulumi.String("string"),
},
WorkspaceId: pulumi.Int(0),
})
resource "filescom_snapshot" "snapshotResource" {
lifecycle {
create_before_destroy = true
}
expires_at = "string"
name = "string"
paths = ["string"]
workspace_id = 0
}
var snapshotResource = new Snapshot("snapshotResource", SnapshotArgs.builder()
.expiresAt("string")
.name("string")
.paths("string")
.workspaceId(0)
.build());
snapshot_resource = filescom.Snapshot("snapshotResource",
expires_at="string",
name="string",
paths=["string"],
workspace_id=0)
const snapshotResource = new filescom.Snapshot("snapshotResource", {
expiresAt: "string",
name: "string",
paths: ["string"],
workspaceId: 0,
});
type: filescom:Snapshot
properties:
expiresAt: string
name: string
paths:
- string
workspaceId: 0
Snapshot 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 Snapshot resource accepts the following input properties:
- Expires
At string - When the snapshot expires.
- Name string
- A name for the snapshot.
- Paths List<string>
- NOTE: This field is write-only and its value will not be updated in state as part of read operations. An array of paths to add to the snapshot.
- Workspace
Id int - Workspace ID.
0means the default workspace.
- Expires
At string - When the snapshot expires.
- Name string
- A name for the snapshot.
- Paths []string
- NOTE: This field is write-only and its value will not be updated in state as part of read operations. An array of paths to add to the snapshot.
- Workspace
Id int - Workspace ID.
0means the default workspace.
- expires_
at string - When the snapshot expires.
- name string
- A name for the snapshot.
- paths list(string)
- NOTE: This field is write-only and its value will not be updated in state as part of read operations. An array of paths to add to the snapshot.
- workspace_
id number - Workspace ID.
0means the default workspace.
- expires
At String - When the snapshot expires.
- name String
- A name for the snapshot.
- paths List<String>
- NOTE: This field is write-only and its value will not be updated in state as part of read operations. An array of paths to add to the snapshot.
- workspace
Id Integer - Workspace ID.
0means the default workspace.
- expires
At string - When the snapshot expires.
- name string
- A name for the snapshot.
- paths string[]
- NOTE: This field is write-only and its value will not be updated in state as part of read operations. An array of paths to add to the snapshot.
- workspace
Id number - Workspace ID.
0means the default workspace.
- expires_
at str - When the snapshot expires.
- name str
- A name for the snapshot.
- paths Sequence[str]
- NOTE: This field is write-only and its value will not be updated in state as part of read operations. An array of paths to add to the snapshot.
- workspace_
id int - Workspace ID.
0means the default workspace.
- expires
At String - When the snapshot expires.
- name String
- A name for the snapshot.
- paths List<String>
- NOTE: This field is write-only and its value will not be updated in state as part of read operations. An array of paths to add to the snapshot.
- workspace
Id Number - Workspace ID.
0means the default workspace.
Outputs
All input properties are implicitly available as output properties. Additionally, the Snapshot resource produces the following output properties:
- Bundle
Id int - The bundle using this snapshot, if applicable.
- Finalized
At string - When the snapshot was finalized.
- Id string
- The provider-assigned unique ID for this managed resource.
- User
Id int - The user that created this snapshot, if applicable.
- Bundle
Id int - The bundle using this snapshot, if applicable.
- Finalized
At string - When the snapshot was finalized.
- Id string
- The provider-assigned unique ID for this managed resource.
- User
Id int - The user that created this snapshot, if applicable.
- bundle_
id number - The bundle using this snapshot, if applicable.
- finalized_
at string - When the snapshot was finalized.
- id string
- The provider-assigned unique ID for this managed resource.
- user_
id number - The user that created this snapshot, if applicable.
- bundle
Id Integer - The bundle using this snapshot, if applicable.
- finalized
At String - When the snapshot was finalized.
- id String
- The provider-assigned unique ID for this managed resource.
- user
Id Integer - The user that created this snapshot, if applicable.
- bundle
Id number - The bundle using this snapshot, if applicable.
- finalized
At string - When the snapshot was finalized.
- id string
- The provider-assigned unique ID for this managed resource.
- user
Id number - The user that created this snapshot, if applicable.
- bundle_
id int - The bundle using this snapshot, if applicable.
- finalized_
at str - When the snapshot was finalized.
- id str
- The provider-assigned unique ID for this managed resource.
- user_
id int - The user that created this snapshot, if applicable.
- bundle
Id Number - The bundle using this snapshot, if applicable.
- finalized
At String - When the snapshot was finalized.
- id String
- The provider-assigned unique ID for this managed resource.
- user
Id Number - The user that created this snapshot, if applicable.
Look up Existing Snapshot Resource
Get an existing Snapshot 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?: SnapshotState, opts?: CustomResourceOptions): Snapshot@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
bundle_id: Optional[int] = None,
expires_at: Optional[str] = None,
finalized_at: Optional[str] = None,
name: Optional[str] = None,
paths: Optional[Sequence[str]] = None,
user_id: Optional[int] = None,
workspace_id: Optional[int] = None) -> Snapshotfunc GetSnapshot(ctx *Context, name string, id IDInput, state *SnapshotState, opts ...ResourceOption) (*Snapshot, error)public static Snapshot Get(string name, Input<string> id, SnapshotState? state, CustomResourceOptions? opts = null)public static Snapshot get(String name, Output<String> id, SnapshotState state, CustomResourceOptions options)resources: _: type: filescom:Snapshot get: id: ${id}import {
to = filescom_snapshot.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.
- Bundle
Id int - The bundle using this snapshot, if applicable.
- Expires
At string - When the snapshot expires.
- Finalized
At string - When the snapshot was finalized.
- Name string
- A name for the snapshot.
- Paths List<string>
- NOTE: This field is write-only and its value will not be updated in state as part of read operations. An array of paths to add to the snapshot.
- User
Id int - The user that created this snapshot, if applicable.
- Workspace
Id int - Workspace ID.
0means the default workspace.
- Bundle
Id int - The bundle using this snapshot, if applicable.
- Expires
At string - When the snapshot expires.
- Finalized
At string - When the snapshot was finalized.
- Name string
- A name for the snapshot.
- Paths []string
- NOTE: This field is write-only and its value will not be updated in state as part of read operations. An array of paths to add to the snapshot.
- User
Id int - The user that created this snapshot, if applicable.
- Workspace
Id int - Workspace ID.
0means the default workspace.
- bundle_
id number - The bundle using this snapshot, if applicable.
- expires_
at string - When the snapshot expires.
- finalized_
at string - When the snapshot was finalized.
- name string
- A name for the snapshot.
- paths list(string)
- NOTE: This field is write-only and its value will not be updated in state as part of read operations. An array of paths to add to the snapshot.
- user_
id number - The user that created this snapshot, if applicable.
- workspace_
id number - Workspace ID.
0means the default workspace.
- bundle
Id Integer - The bundle using this snapshot, if applicable.
- expires
At String - When the snapshot expires.
- finalized
At String - When the snapshot was finalized.
- name String
- A name for the snapshot.
- paths List<String>
- NOTE: This field is write-only and its value will not be updated in state as part of read operations. An array of paths to add to the snapshot.
- user
Id Integer - The user that created this snapshot, if applicable.
- workspace
Id Integer - Workspace ID.
0means the default workspace.
- bundle
Id number - The bundle using this snapshot, if applicable.
- expires
At string - When the snapshot expires.
- finalized
At string - When the snapshot was finalized.
- name string
- A name for the snapshot.
- paths string[]
- NOTE: This field is write-only and its value will not be updated in state as part of read operations. An array of paths to add to the snapshot.
- user
Id number - The user that created this snapshot, if applicable.
- workspace
Id number - Workspace ID.
0means the default workspace.
- bundle_
id int - The bundle using this snapshot, if applicable.
- expires_
at str - When the snapshot expires.
- finalized_
at str - When the snapshot was finalized.
- name str
- A name for the snapshot.
- paths Sequence[str]
- NOTE: This field is write-only and its value will not be updated in state as part of read operations. An array of paths to add to the snapshot.
- user_
id int - The user that created this snapshot, if applicable.
- workspace_
id int - Workspace ID.
0means the default workspace.
- bundle
Id Number - The bundle using this snapshot, if applicable.
- expires
At String - When the snapshot expires.
- finalized
At String - When the snapshot was finalized.
- name String
- A name for the snapshot.
- paths List<String>
- NOTE: This field is write-only and its value will not be updated in state as part of read operations. An array of paths to add to the snapshot.
- user
Id Number - The user that created this snapshot, if applicable.
- workspace
Id Number - Workspace ID.
0means the default workspace.
Import
The pulumi import command can be used, for example:
Snapshots can be imported by specifying the id.
$ pulumi import filescom:index/snapshot:Snapshot example_snapshot 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
filescomTerraform Provider.
published on Thursday, Aug 20, 2026 by jschady