class Aws::EFS::Types::CreateFileSystemRequest

@note When making an API call, you may pass CreateFileSystemRequest

data as a hash:

    {
      creation_token: "CreationToken", # required
      performance_mode: "generalPurpose", # accepts generalPurpose, maxIO
      encrypted: false,
      kms_key_id: "KmsKeyId",
      throughput_mode: "bursting", # accepts bursting, provisioned
      provisioned_throughput_in_mibps: 1.0,
      availability_zone_name: "AvailabilityZoneName",
      backup: false,
      tags: [
        {
          key: "TagKey", # required
          value: "TagValue", # required
        },
      ],
    }

@!attribute [rw] creation_token

A string of up to 64 ASCII characters. Amazon EFS uses this to
ensure idempotent creation.

**A suitable default value is auto-generated.** You should normally
not need to pass this option.
@return [String]

@!attribute [rw] performance_mode

The performance mode of the file system. We recommend
`generalPurpose` performance mode for most file systems. File
systems using the `maxIO` performance mode can scale to higher
levels of aggregate throughput and operations per second with a
tradeoff of slightly higher latencies for most file operations. The
performance mode can't be changed after the file system has been
created.

<note markdown="1"> The `maxIO` mode is not supported on file systems using One Zone
storage classes.

 </note>
@return [String]

@!attribute [rw] encrypted

A Boolean value that, if true, creates an encrypted file system.
When creating an encrypted file system, you have the option of
specifying CreateFileSystemRequest$KmsKeyId for an existing Key
Management Service (KMS customer master key (CMK). If you don't
specify a CMK, then the default CMK for Amazon EFS,
`/aws/elasticfilesystem`, is used to protect the encrypted file
system.
@return [Boolean]

@!attribute [rw] kms_key_id

The ID of the KMS CMK that you want to use to protect the encrypted
file system. This parameter is only required if you want to use a
non-default KMS key. If this parameter is not specified, the default
CMK for Amazon EFS is used. This ID can be in one of the following
formats:

* Key ID - A unique identifier of the key, for example
  `1234abcd-12ab-34cd-56ef-1234567890ab`.

* ARN - An Amazon Resource Name (ARN) for the key, for example
  `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`.

* Key alias - A previously created display name for a key, for
  example `alias/projectKey1`.

* Key alias ARN - An ARN for a key alias, for example
  `arn:aws:kms:us-west-2:444455556666:alias/projectKey1`.

If `KmsKeyId` is specified, the CreateFileSystemRequest$Encrypted
parameter must be set to true.

EFS accepts only symmetric KMS keys. You cannot use asymmetric KMS
keys with EFS file systems.
@return [String]

@!attribute [rw] throughput_mode

Specifies the throughput mode for the file system, either `bursting`
or `provisioned`. If you set `ThroughputMode` to `provisioned`, you
must also set a value for `ProvisionedThroughputInMibps`. After you
create the file system, you can decrease your file system's
throughput in Provisioned Throughput mode or change between the
throughput modes, as long as it’s been more than 24 hours since the
last decrease or throughput mode change. For more information, see
[Specifying throughput with provisioned mode][1] in the *Amazon EFS
User Guide*.

Default is `bursting`.

[1]: https://docs.aws.amazon.com/efs/latest/ug/performance.html#provisioned-throughput
@return [String]

@!attribute [rw] provisioned_throughput_in_mibps

The throughput, measured in MiB/s, that you want to provision for a
file system that you're creating. Valid values are 1-1024. Required
if `ThroughputMode` is set to `provisioned`. The upper limit for
throughput is 1024 MiB/s. To increase this limit, contact Amazon Web
Services Support. For more information, see [Amazon EFS quotas that
you can increase][1] in the *Amazon EFS User Guide*.

[1]: https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits
@return [Float]

@!attribute [rw] availability_zone_name

Used to create a file system that uses One Zone storage classes. It
specifies the Amazon Web Services Availability Zone in which to
create the file system. Use the format `us-east-1a` to specify the
Availability Zone. For more information about One Zone storage
classes, see [Using EFS storage classes][1] in the *Amazon EFS User
Guide*.

<note markdown="1"> One Zone storage classes are not available in all Availability Zones
in Amazon Web Services Regions where Amazon EFS is available.

 </note>

[1]: https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html
@return [String]

@!attribute [rw] backup

Specifies whether automatic backups are enabled on the file system
that you are creating. Set the value to `true` to enable automatic
backups. If you are creating a file system that uses One Zone
storage classes, automatic backups are enabled by default. For more
information, see [Automatic backups][1] in the *Amazon EFS User
Guide*.

Default is `false`. However, if you specify an
`AvailabilityZoneName`, the default is `true`.

<note markdown="1"> Backup is not available in all Amazon Web Services Regionswhere
Amazon EFS is available.

 </note>

[1]: https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html#automatic-backups
@return [Boolean]

@!attribute [rw] tags

Use to create one or more tags associated with the file system. Each
tag is a user-defined key-value pair. Name your file system on
creation by including a `"Key":"Name","Value":"\{value\}"` key-value
pair. Each key must be unique. For more information, see [Tagging
Amazon Web Services resources][1] in the *Amazon Web Services
General Reference Guide*.

[1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
@return [Array<Types::Tag>]

@see docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateFileSystemRequest AWS API Documentation

Constants

SENSITIVE