Amazon EFS
Amazon Elastic File System (elasticfilesystem) on fakecloud: a complete 31-operation control plane (100% conformance) - file systems, mount targets, access points, lifecycle/backup/policy configuration, replication, tagging, and account preferences. restJson1.
fakecloud implements Amazon Elastic File System (EFS) as a restJson1 service. All 31 operations ship with 100% conformance against AWS's own Smithy model, backed by account-partitioned state that persists across restarts in persistent mode.
EFS on fakecloud is a faithful control plane: every Create/Put/Update is reflected by its Describe, every Delete deletes, and AWS's asynchronous resource lifecycle is modelled - not faked. No real NFS file system is served (fakecloud models the AWS management API, not the mount data plane).
Resources
- File systems -
CreateFileSystemreturns afs--prefixed id with aLifeCycleStateofcreatingand settles toavailableon the nextDescribeFileSystems(an interrupted transition reconciles on restart).CreationTokenis honoured as the idempotency token, so a repeat create with the same token returnsFileSystemAlreadyExists. The description carries theSizeInBytesbreakdown,PerformanceMode,ThroughputMode(ProvisionedThroughputInMibpswhen provisioned),Encrypted+KmsKeyId, the liveNumberOfMountTargets, andFileSystemProtection(ReplicationOverwriteProtection, toggled byUpdateFileSystemProtection).DeleteFileSystemreturnsFileSystemInUsewhile mount targets remain. - Mount targets - one per Availability Zone per file system (
MountTargetConflictotherwise). The AZ, AZ id, VPC, and - when the referenced subnet was created through fakecloud's EC2 service - the IP address are resolved from the real subnet; the network interface (eni-...) and security groups are synthesized.fsmt-ids,LifeCycleState(creating->available), andOwnerIdmatch AWS.ModifyMountTargetSecurityGroups/DescribeMountTargetSecurityGroupsround-trip the security-group list. - Access points -
fsap-ids,PosixUser, andRootDirectory(defaulting to/), withClientTokenidempotency (AccessPointAlreadyExists). - Lifecycle configuration, backup policy, and file-system resource policy each persist and read back through their
Put/Describepair (DescribeFileSystemPolicyreturnsPolicyNotFoundwhen unset). - Replication configurations -
CreateReplicationConfigurationrecords a destination (synthesizing the destination file system id) and settles the destinationStatustoENABLED;DescribeReplicationConfigurationsandDeleteReplicationConfigurationcomplete the lifecycle. - Tagging - both the resource-id tagging API (
TagResource,UntagResource,ListTagsForResourceoverfs-/fsap-resources) and the deprecated per-file-system API (CreateTags,DeleteTags,DescribeTags). ANametag surfaces as the file system'sName. - Account preferences -
PutAccountPreferences/DescribeAccountPreferencespersist the resource-id-type preference.
Identifiers and shapes
Resource ids (fs-/fsmt-/fsap- + 17 hex characters), ARNs (arn:aws:elasticfilesystem:<region>:<account>:file-system/<id> and .../access-point/<id>), OwnerId, and timestamps match AWS's formats. Model-derived @length/@range/enum/pattern constraints are enforced, so malformed input returns BadRequest (or the operation's declared not-found) exactly as AWS does.