Welcome to Pulumi Registry, your window into the cloud. Read the announcement.

AWS Classic

v4.25.0 published on Friday, Oct 15, 2021 by Pulumi

FileSystem

Provides an Elastic File System (EFS) File System resource.

Example Usage

EFS File System w/ tags

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var foo = new Aws.Efs.FileSystem("foo", new Aws.Efs.FileSystemArgs
        {
            Tags = 
            {
                { "Name", "MyProduct" },
            },
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/efs"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := efs.NewFileSystem(ctx, "foo", &efs.FileSystemArgs{
			Tags: pulumi.StringMap{
				"Name": pulumi.String("MyProduct"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_aws as aws

foo = aws.efs.FileSystem("foo", tags={
    "Name": "MyProduct",
})
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const foo = new aws.efs.FileSystem("foo", {
    tags: {
        Name: "MyProduct",
    },
});

Using lifecycle policy

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var fooWithLifecylePolicy = new Aws.Efs.FileSystem("fooWithLifecylePolicy", new Aws.Efs.FileSystemArgs
        {
            LifecyclePolicy = new Aws.Efs.Inputs.FileSystemLifecyclePolicyArgs
            {
                TransitionToIa = "AFTER_30_DAYS",
            },
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/efs"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := efs.NewFileSystem(ctx, "fooWithLifecylePolicy", &efs.FileSystemArgs{
			LifecyclePolicy: &efs.FileSystemLifecyclePolicyArgs{
				TransitionToIa: pulumi.String("AFTER_30_DAYS"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_aws as aws

foo_with_lifecyle_policy = aws.efs.FileSystem("fooWithLifecylePolicy", lifecycle_policy=aws.efs.FileSystemLifecyclePolicyArgs(
    transition_to_ia="AFTER_30_DAYS",
))
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const fooWithLifecylePolicy = new aws.efs.FileSystem("foo_with_lifecyle_policy", {
    lifecyclePolicies: {
        transitionToIa: "AFTER_30_DAYS",
    },
});

Create a FileSystem Resource

new FileSystem(name: string, args?: FileSystemArgs, opts?: CustomResourceOptions);
@overload
def FileSystem(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               availability_zone_name: Optional[str] = None,
               creation_token: Optional[str] = None,
               encrypted: Optional[bool] = None,
               kms_key_id: Optional[str] = None,
               lifecycle_policy: Optional[FileSystemLifecyclePolicyArgs] = None,
               performance_mode: Optional[str] = None,
               provisioned_throughput_in_mibps: Optional[float] = None,
               tags: Optional[Mapping[str, str]] = None,
               throughput_mode: Optional[str] = None)
@overload
def FileSystem(resource_name: str,
               args: Optional[FileSystemArgs] = None,
               opts: Optional[ResourceOptions] = None)
func NewFileSystem(ctx *Context, name string, args *FileSystemArgs, opts ...ResourceOption) (*FileSystem, error)
public FileSystem(string name, FileSystemArgs? args = null, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args FileSystemArgs
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 FileSystemArgs
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 FileSystemArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args FileSystemArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

FileSystem Resource Properties

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

Inputs

The FileSystem resource accepts the following input properties:

AvailabilityZoneName string
the AWS Availability Zone in which to create the file system. Used to create a file system that uses One Zone storage classes. See user guide for more information.
CreationToken string
A unique name (a maximum of 64 characters are allowed) used as reference when creating the Elastic File System to ensure idempotent file system creation. By default generated by this provider. See [Elastic File System] (http://docs.aws.amazon.com/efs/latest/ug/) user guide for more information.
Encrypted bool
If true, the disk will be encrypted.
KmsKeyId string
The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true.
LifecyclePolicy FileSystemLifecyclePolicyArgs
A file system lifecycle policy object (documented below).
PerformanceMode string
The file system performance mode. Can be either "generalPurpose" or "maxIO" (Default: "generalPurpose").
ProvisionedThroughputInMibps double
The throughput, measured in MiB/s, that you want to provision for the file system. Only applicable with throughput_mode set to provisioned.
Tags Dictionary<string, string>
ThroughputMode string
Throughput mode for the file system. Defaults to bursting. Valid values: bursting, provisioned. When using provisioned, also set provisioned_throughput_in_mibps.
AvailabilityZoneName string
the AWS Availability Zone in which to create the file system. Used to create a file system that uses One Zone storage classes. See user guide for more information.
CreationToken string
A unique name (a maximum of 64 characters are allowed) used as reference when creating the Elastic File System to ensure idempotent file system creation. By default generated by this provider. See [Elastic File System] (http://docs.aws.amazon.com/efs/latest/ug/) user guide for more information.
Encrypted bool
If true, the disk will be encrypted.
KmsKeyId string
The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true.
LifecyclePolicy FileSystemLifecyclePolicyArgs
A file system lifecycle policy object (documented below).
PerformanceMode string
The file system performance mode. Can be either "generalPurpose" or "maxIO" (Default: "generalPurpose").
ProvisionedThroughputInMibps float64
The throughput, measured in MiB/s, that you want to provision for the file system. Only applicable with throughput_mode set to provisioned.
Tags map[string]string
ThroughputMode string
Throughput mode for the file system. Defaults to bursting. Valid values: bursting, provisioned. When using provisioned, also set provisioned_throughput_in_mibps.
availabilityZoneName string
the AWS Availability Zone in which to create the file system. Used to create a file system that uses One Zone storage classes. See user guide for more information.
creationToken string
A unique name (a maximum of 64 characters are allowed) used as reference when creating the Elastic File System to ensure idempotent file system creation. By default generated by this provider. See [Elastic File System] (http://docs.aws.amazon.com/efs/latest/ug/) user guide for more information.
encrypted boolean
If true, the disk will be encrypted.
kmsKeyId string
The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true.
lifecyclePolicy FileSystemLifecyclePolicyArgs
A file system lifecycle policy object (documented below).
performanceMode string
The file system performance mode. Can be either "generalPurpose" or "maxIO" (Default: "generalPurpose").
provisionedThroughputInMibps number
The throughput, measured in MiB/s, that you want to provision for the file system. Only applicable with throughput_mode set to provisioned.
tags {[key: string]: string}
throughputMode string
Throughput mode for the file system. Defaults to bursting. Valid values: bursting, provisioned. When using provisioned, also set provisioned_throughput_in_mibps.
availability_zone_name str
the AWS Availability Zone in which to create the file system. Used to create a file system that uses One Zone storage classes. See user guide for more information.
creation_token str
A unique name (a maximum of 64 characters are allowed) used as reference when creating the Elastic File System to ensure idempotent file system creation. By default generated by this provider. See [Elastic File System] (http://docs.aws.amazon.com/efs/latest/ug/) user guide for more information.
encrypted bool
If true, the disk will be encrypted.
kms_key_id str
The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true.
lifecycle_policy FileSystemLifecyclePolicyArgs
A file system lifecycle policy object (documented below).
performance_mode str
The file system performance mode. Can be either "generalPurpose" or "maxIO" (Default: "generalPurpose").
provisioned_throughput_in_mibps float
The throughput, measured in MiB/s, that you want to provision for the file system. Only applicable with throughput_mode set to provisioned.
tags Mapping[str, str]
throughput_mode str
Throughput mode for the file system. Defaults to bursting. Valid values: bursting, provisioned. When using provisioned, also set provisioned_throughput_in_mibps.

Outputs

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

Arn string
Amazon Resource Name of the file system.
AvailabilityZoneId string
The identifier of the Availability Zone in which the file system’s One Zone storage classes exist.
DnsName string
The DNS name for the filesystem per documented convention.
Id string
The provider-assigned unique ID for this managed resource.
NumberOfMountTargets int
The current number of mount targets that the file system has.
OwnerId string
The AWS account that created the file system. If the file system was createdby an IAM user, the parent account to which the user belongs is the owner.
SizeInBytes List<FileSystemSizeInByte>
The latest known metered size (in bytes) of data stored in the file system, the value is not the exact size that the file system was at any point in time. See Size In Bytes.
TagsAll Dictionary<string, string>
Arn string
Amazon Resource Name of the file system.
AvailabilityZoneId string
The identifier of the Availability Zone in which the file system’s One Zone storage classes exist.
DnsName string
The DNS name for the filesystem per documented convention.
Id string
The provider-assigned unique ID for this managed resource.
NumberOfMountTargets int
The current number of mount targets that the file system has.
OwnerId string
The AWS account that created the file system. If the file system was createdby an IAM user, the parent account to which the user belongs is the owner.
SizeInBytes []FileSystemSizeInByte
The latest known metered size (in bytes) of data stored in the file system, the value is not the exact size that the file system was at any point in time. See Size In Bytes.
TagsAll map[string]string
arn string
Amazon Resource Name of the file system.
availabilityZoneId string
The identifier of the Availability Zone in which the file system’s One Zone storage classes exist.
dnsName string
The DNS name for the filesystem per documented convention.
id string
The provider-assigned unique ID for this managed resource.
numberOfMountTargets number
The current number of mount targets that the file system has.
ownerId string
The AWS account that created the file system. If the file system was createdby an IAM user, the parent account to which the user belongs is the owner.
sizeInBytes FileSystemSizeInByte[]
The latest known metered size (in bytes) of data stored in the file system, the value is not the exact size that the file system was at any point in time. See Size In Bytes.
tagsAll {[key: string]: string}
arn str
Amazon Resource Name of the file system.
availability_zone_id str
The identifier of the Availability Zone in which the file system’s One Zone storage classes exist.
dns_name str
The DNS name for the filesystem per documented convention.
id str
The provider-assigned unique ID for this managed resource.
number_of_mount_targets int
The current number of mount targets that the file system has.
owner_id str
The AWS account that created the file system. If the file system was createdby an IAM user, the parent account to which the user belongs is the owner.
size_in_bytes Sequence[FileSystemSizeInByte]
The latest known metered size (in bytes) of data stored in the file system, the value is not the exact size that the file system was at any point in time. See Size In Bytes.
tags_all Mapping[str, str]

Look up an Existing FileSystem Resource

Get an existing FileSystem 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?: FileSystemState, opts?: CustomResourceOptions): FileSystem
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        arn: Optional[str] = None,
        availability_zone_id: Optional[str] = None,
        availability_zone_name: Optional[str] = None,
        creation_token: Optional[str] = None,
        dns_name: Optional[str] = None,
        encrypted: Optional[bool] = None,
        kms_key_id: Optional[str] = None,
        lifecycle_policy: Optional[FileSystemLifecyclePolicyArgs] = None,
        number_of_mount_targets: Optional[int] = None,
        owner_id: Optional[str] = None,
        performance_mode: Optional[str] = None,
        provisioned_throughput_in_mibps: Optional[float] = None,
        size_in_bytes: Optional[Sequence[FileSystemSizeInByteArgs]] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None,
        throughput_mode: Optional[str] = None) -> FileSystem
func GetFileSystem(ctx *Context, name string, id IDInput, state *FileSystemState, opts ...ResourceOption) (*FileSystem, error)
public static FileSystem Get(string name, Input<string> id, FileSystemState? state, CustomResourceOptions? opts = null)
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.

The following state arguments are supported:

Arn string
Amazon Resource Name of the file system.
AvailabilityZoneId string
The identifier of the Availability Zone in which the file system’s One Zone storage classes exist.
AvailabilityZoneName string
the AWS Availability Zone in which to create the file system. Used to create a file system that uses One Zone storage classes. See user guide for more information.
CreationToken string
A unique name (a maximum of 64 characters are allowed) used as reference when creating the Elastic File System to ensure idempotent file system creation. By default generated by this provider. See [Elastic File System] (http://docs.aws.amazon.com/efs/latest/ug/) user guide for more information.
DnsName string
The DNS name for the filesystem per documented convention.
Encrypted bool
If true, the disk will be encrypted.
KmsKeyId string
The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true.
LifecyclePolicy FileSystemLifecyclePolicyArgs
A file system lifecycle policy object (documented below).
NumberOfMountTargets int
The current number of mount targets that the file system has.
OwnerId string
The AWS account that created the file system. If the file system was createdby an IAM user, the parent account to which the user belongs is the owner.
PerformanceMode string
The file system performance mode. Can be either "generalPurpose" or "maxIO" (Default: "generalPurpose").
ProvisionedThroughputInMibps double
The throughput, measured in MiB/s, that you want to provision for the file system. Only applicable with throughput_mode set to provisioned.
SizeInBytes List<FileSystemSizeInByteArgs>
The latest known metered size (in bytes) of data stored in the file system, the value is not the exact size that the file system was at any point in time. See Size In Bytes.
Tags Dictionary<string, string>
TagsAll Dictionary<string, string>
ThroughputMode string
Throughput mode for the file system. Defaults to bursting. Valid values: bursting, provisioned. When using provisioned, also set provisioned_throughput_in_mibps.
Arn string
Amazon Resource Name of the file system.
AvailabilityZoneId string
The identifier of the Availability Zone in which the file system’s One Zone storage classes exist.
AvailabilityZoneName string
the AWS Availability Zone in which to create the file system. Used to create a file system that uses One Zone storage classes. See user guide for more information.
CreationToken string
A unique name (a maximum of 64 characters are allowed) used as reference when creating the Elastic File System to ensure idempotent file system creation. By default generated by this provider. See [Elastic File System] (http://docs.aws.amazon.com/efs/latest/ug/) user guide for more information.
DnsName string
The DNS name for the filesystem per documented convention.
Encrypted bool
If true, the disk will be encrypted.
KmsKeyId string
The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true.
LifecyclePolicy FileSystemLifecyclePolicyArgs
A file system lifecycle policy object (documented below).
NumberOfMountTargets int
The current number of mount targets that the file system has.
OwnerId string
The AWS account that created the file system. If the file system was createdby an IAM user, the parent account to which the user belongs is the owner.
PerformanceMode string
The file system performance mode. Can be either "generalPurpose" or "maxIO" (Default: "generalPurpose").
ProvisionedThroughputInMibps float64
The throughput, measured in MiB/s, that you want to provision for the file system. Only applicable with throughput_mode set to provisioned.
SizeInBytes []FileSystemSizeInByteArgs
The latest known metered size (in bytes) of data stored in the file system, the value is not the exact size that the file system was at any point in time. See Size In Bytes.
Tags map[string]string
TagsAll map[string]string
ThroughputMode string
Throughput mode for the file system. Defaults to bursting. Valid values: bursting, provisioned. When using provisioned, also set provisioned_throughput_in_mibps.
arn string
Amazon Resource Name of the file system.
availabilityZoneId string
The identifier of the Availability Zone in which the file system’s One Zone storage classes exist.
availabilityZoneName string
the AWS Availability Zone in which to create the file system. Used to create a file system that uses One Zone storage classes. See user guide for more information.
creationToken string
A unique name (a maximum of 64 characters are allowed) used as reference when creating the Elastic File System to ensure idempotent file system creation. By default generated by this provider. See [Elastic File System] (http://docs.aws.amazon.com/efs/latest/ug/) user guide for more information.
dnsName string
The DNS name for the filesystem per documented convention.
encrypted boolean
If true, the disk will be encrypted.
kmsKeyId string
The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true.
lifecyclePolicy FileSystemLifecyclePolicyArgs
A file system lifecycle policy object (documented below).
numberOfMountTargets number
The current number of mount targets that the file system has.
ownerId string
The AWS account that created the file system. If the file system was createdby an IAM user, the parent account to which the user belongs is the owner.
performanceMode string
The file system performance mode. Can be either "generalPurpose" or "maxIO" (Default: "generalPurpose").
provisionedThroughputInMibps number
The throughput, measured in MiB/s, that you want to provision for the file system. Only applicable with throughput_mode set to provisioned.
sizeInBytes FileSystemSizeInByteArgs[]
The latest known metered size (in bytes) of data stored in the file system, the value is not the exact size that the file system was at any point in time. See Size In Bytes.
tags {[key: string]: string}
tagsAll {[key: string]: string}
throughputMode string
Throughput mode for the file system. Defaults to bursting. Valid values: bursting, provisioned. When using provisioned, also set provisioned_throughput_in_mibps.
arn str
Amazon Resource Name of the file system.
availability_zone_id str
The identifier of the Availability Zone in which the file system’s One Zone storage classes exist.
availability_zone_name str
the AWS Availability Zone in which to create the file system. Used to create a file system that uses One Zone storage classes. See user guide for more information.
creation_token str
A unique name (a maximum of 64 characters are allowed) used as reference when creating the Elastic File System to ensure idempotent file system creation. By default generated by this provider. See [Elastic File System] (http://docs.aws.amazon.com/efs/latest/ug/) user guide for more information.
dns_name str
The DNS name for the filesystem per documented convention.
encrypted bool
If true, the disk will be encrypted.
kms_key_id str
The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true.
lifecycle_policy FileSystemLifecyclePolicyArgs
A file system lifecycle policy object (documented below).
number_of_mount_targets int
The current number of mount targets that the file system has.
owner_id str
The AWS account that created the file system. If the file system was createdby an IAM user, the parent account to which the user belongs is the owner.
performance_mode str
The file system performance mode. Can be either "generalPurpose" or "maxIO" (Default: "generalPurpose").
provisioned_throughput_in_mibps float
The throughput, measured in MiB/s, that you want to provision for the file system. Only applicable with throughput_mode set to provisioned.
size_in_bytes Sequence[FileSystemSizeInByteArgs]
The latest known metered size (in bytes) of data stored in the file system, the value is not the exact size that the file system was at any point in time. See Size In Bytes.
tags Mapping[str, str]
tags_all Mapping[str, str]
throughput_mode str
Throughput mode for the file system. Defaults to bursting. Valid values: bursting, provisioned. When using provisioned, also set provisioned_throughput_in_mibps.

Supporting Types

FileSystemLifecyclePolicy

TransitionToIa string
Indicates how long it takes to transition files to the IA storage class. Valid values: AFTER_7_DAYS, AFTER_14_DAYS, AFTER_30_DAYS, AFTER_60_DAYS, or AFTER_90_DAYS.
TransitionToPrimaryStorageClass string
Describes the policy used to transition a file from infequent access storage to primary storage. Valid values: AFTER_1_ACCESS.
TransitionToIa string
Indicates how long it takes to transition files to the IA storage class. Valid values: AFTER_7_DAYS, AFTER_14_DAYS, AFTER_30_DAYS, AFTER_60_DAYS, or AFTER_90_DAYS.
TransitionToPrimaryStorageClass string
Describes the policy used to transition a file from infequent access storage to primary storage. Valid values: AFTER_1_ACCESS.
transitionToIa string
Indicates how long it takes to transition files to the IA storage class. Valid values: AFTER_7_DAYS, AFTER_14_DAYS, AFTER_30_DAYS, AFTER_60_DAYS, or AFTER_90_DAYS.
transitionToPrimaryStorageClass string
Describes the policy used to transition a file from infequent access storage to primary storage. Valid values: AFTER_1_ACCESS.
transition_to_ia str
Indicates how long it takes to transition files to the IA storage class. Valid values: AFTER_7_DAYS, AFTER_14_DAYS, AFTER_30_DAYS, AFTER_60_DAYS, or AFTER_90_DAYS.
transition_to_primary_storage_class str
Describes the policy used to transition a file from infequent access storage to primary storage. Valid values: AFTER_1_ACCESS.

FileSystemSizeInByte

Value int
The latest known metered size (in bytes) of data stored in the file system.
ValueInIa int
The latest known metered size (in bytes) of data stored in the Infrequent Access storage class.
ValueInStandard int
The latest known metered size (in bytes) of data stored in the Standard storage class.
Value int
The latest known metered size (in bytes) of data stored in the file system.
ValueInIa int
The latest known metered size (in bytes) of data stored in the Infrequent Access storage class.
ValueInStandard int
The latest known metered size (in bytes) of data stored in the Standard storage class.
value number
The latest known metered size (in bytes) of data stored in the file system.
valueInIa number
The latest known metered size (in bytes) of data stored in the Infrequent Access storage class.
valueInStandard number
The latest known metered size (in bytes) of data stored in the Standard storage class.
value int
The latest known metered size (in bytes) of data stored in the file system.
value_in_ia int
The latest known metered size (in bytes) of data stored in the Infrequent Access storage class.
value_in_standard int
The latest known metered size (in bytes) of data stored in the Standard storage class.

Import

The EFS file systems can be imported using the id, e.g.

 $ pulumi import aws:efs/fileSystem:FileSystem foo fs-6fa144c6

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.