Copyright | (c) 2013-2015 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
Creates a new, empty file system. The operation requires a creation token in the request that Amazon EFS uses to ensure idempotent creation (calling the operation with same creation token has no effect). If a file system does not currently exist that is owned by the caller's AWS account with the specified creation token, this operation does the following:
- Creates a new, empty file system. The file system will have an Amazon EFS assigned ID, and an initial lifecycle state "creating".
- Returns with the description of the created file system.
Otherwise, this operation returns a FileSystemAlreadyExists
error with
the ID of the existing file system.
For basic use cases, you can use a randomly generated UUID for the creation token.
The idempotent operation allows you to retry a CreateFileSystem
call
without risk of creating an extra file system. This can happen when an
initial call fails in a way that leaves it uncertain whether or not a
file system was actually created. An example might be that a transport
level timeout occurred or your connection was reset. As long as you use
the same creation token, if the initial call had succeeded in creating a
file system, the client can learn of its existence from the
FileSystemAlreadyExists
error.
The CreateFileSystem
call returns while the file system's lifecycle
state is still "creating". You can check the file system creation
status by calling the DescribeFileSystems API, which among other things
returns the file system state.
After the file system is fully created, Amazon EFS sets its lifecycle state to "available", at which point you can create one or more mount targets for the file system (CreateMountTarget) in your VPC. You mount your Amazon EFS file system on an EC2 instances in your VPC via the mount target. For more information, see Amazon EFS: How it Works
This operation requires permission for the 'elasticfilesystem:CreateFileSystem' action.
See: AWS API Reference for CreateFileSystem.
- createFileSystem :: Text -> CreateFileSystem
- data CreateFileSystem
- cfsCreationToken :: Lens' CreateFileSystem Text
- fileSystemDescription :: Text -> Text -> Text -> UTCTime -> LifeCycleState -> Natural -> FileSystemSize -> FileSystemDescription
- data FileSystemDescription
- fsdName :: Lens' FileSystemDescription (Maybe Text)
- fsdOwnerId :: Lens' FileSystemDescription Text
- fsdCreationToken :: Lens' FileSystemDescription Text
- fsdFileSystemId :: Lens' FileSystemDescription Text
- fsdCreationTime :: Lens' FileSystemDescription UTCTime
- fsdLifeCycleState :: Lens' FileSystemDescription LifeCycleState
- fsdNumberOfMountTargets :: Lens' FileSystemDescription Natural
- fsdSizeInBytes :: Lens' FileSystemDescription FileSystemSize
Creating a Request
Creates a value of CreateFileSystem
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
data CreateFileSystem Source
See: createFileSystem
smart constructor.
Request Lenses
cfsCreationToken :: Lens' CreateFileSystem Text Source
String of up to 64 ASCII characters. Amazon EFS uses this to ensure idempotent creation.
Destructuring the Response
:: Text | |
-> Text | |
-> Text | |
-> UTCTime | |
-> LifeCycleState | |
-> Natural | |
-> FileSystemSize | |
-> FileSystemDescription |
Creates a value of FileSystemDescription
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
data FileSystemDescription Source
This object provides description of a file system.
See: fileSystemDescription
smart constructor.
Response Lenses
fsdName :: Lens' FileSystemDescription (Maybe Text) Source
You can add tags to a file system (see CreateTags) including a "Name" tag. If the file system has a "Name" tag, Amazon EFS returns the value in this field.
fsdOwnerId :: Lens' FileSystemDescription Text Source
The AWS account that created the file system. If the file system was created by an IAM user, the parent account to which the user belongs is the owner.
fsdCreationToken :: Lens' FileSystemDescription Text Source
Opaque string specified in the request.
fsdFileSystemId :: Lens' FileSystemDescription Text Source
The file system ID assigned by Amazon EFS.
fsdCreationTime :: Lens' FileSystemDescription UTCTime Source
The time at which the file system was created, in seconds, since 1970-01-01T00:00:00Z.
fsdLifeCycleState :: Lens' FileSystemDescription LifeCycleState Source
A predefined string value that indicates the lifecycle phase of the file system.
fsdNumberOfMountTargets :: Lens' FileSystemDescription Natural Source
The current number of mount targets (see CreateMountTarget) the file system has.
fsdSizeInBytes :: Lens' FileSystemDescription FileSystemSize Source
This object provides the latest known metered size of data stored in the
file system, in bytes, in its Value
field, and the time at which that
size was determined in its Timestamp
field. The Timestamp
value is
the integer number of seconds since 1970-01-01T00:00:00Z. Note that the
value does not represent the size of a consistent snapshot of the file
system, but it is eventually consistent when there are no writes to the
file system. That is, the value will represent actual size only if the
file system is not modified for a period longer than a couple of hours.
Otherwise, the value is not the exact size the file system was at any
instant in time.