AwsEfsArgs
interface AwsEfsArgs {
accessPoints?: Record<string, AwsEfsAccessPointArgs>;
kmsKey?: AwsKmsKeyInput;
lifecycle?: AwsEfsLifecycleArgs;
mountTargets: Record<string, AwsEfsMountTargetArgs>;
name: string;
performanceMode?: 'generalPurpose' | 'maxIO';
provisionedThroughputInMibps?: Input<number>;
tags?: Input<Record<string, Input<string>>>;
throughputMode?: 'provisioned' | 'bursting' | 'elastic';
}Inputs for AwsEfs.
Remarks
Encryption at rest and in transit is mandatory. When kmsKey is omitted, EFS uses its AWS-managed key. Automatic backups and Pulumi deletion protection are always enabled for this stateful service. When passing explicit component options, provide both provider families through options.providers, keyed as aws and aws-native; lookups use the former and EFS resources use the latter.
Example
const efs = new AwsEfs({
name: 'sharedFiles',
mountTargets: {
azA: { subnet: { name: 'applicationA', vpc: 'vpc-123' }, securityGroups: [{ name: 'efsClients', vpc: 'vpc-123' }] },
},
accessPoints: {
application: { name: 'applicationFiles', uid: 1000, gid: 1000, path: '/application', permissions: '0750' },
},
});Properties
accessPoints: Record<string, AwsEfsAccessPointArgs>
Optional stable keyed application access points.
kmsKey: AwsKmsKeyInput
Optional customer-managed KMS key. EFS encryption remains enabled when this is omitted.
lifecycle: AwsEfsLifecycleArgs
Optional EFS storage-class lifecycle transitions.
mountTargets: Record<string, AwsEfsMountTargetArgs>
Stable keyed mount targets. At least one mount target is required.
name: string
Stable component identity and EFS Name tag purpose.
performanceMode: 'generalPurpose' | 'maxIO'
EFS performance mode. Max I/O requires bursting or provisioned throughput.
Default: `generalPurpose`
provisionedThroughputInMibps: Input<number>
Required when throughputMode is provisioned; forbidden for all other modes.
tags: Input<Record<string, Input<string>>>
Additional file-system tags. The Name tag is reserved.
throughputMode: 'provisioned' | 'bursting' | 'elastic'
EFS throughput mode.
Default: `elastic`