Amazon Storage Gateway · Schema
CreateNFSFileShareInput
CreateNFSFileShareInput
BackupFile StorageGatewayHybrid CloudStorage
Properties
| Name | Type | Description |
|---|---|---|
| ClientToken | object | |
| NFSFileShareDefaults | object | |
| GatewayARN | object | |
| KMSEncrypted | object | |
| KMSKey | object | |
| Role | object | |
| LocationARN | object | |
| DefaultStorageClass | object | |
| ObjectACL | object | |
| ClientList | object | |
| Squash | object | |
| ReadOnly | object | |
| GuessMIMETypeEnabled | object | |
| RequesterPays | object | |
| Tags | object | |
| FileShareName | object | |
| CacheAttributes | object | |
| NotificationPolicy | object | |
| VPCEndpointDNSName | object | |
| BucketRegion | object | |
| AuditDestinationARN | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/amazon-storage-gateway/refs/heads/main/json-schema/amazon-storage-gateway-create-nfs-file-share-input-schema.json",
"title": "CreateNFSFileShareInput",
"description": "CreateNFSFileShareInput",
"type": "object",
"properties": {
"ClientToken": {
"allOf": [
{
"$ref": "#/components/schemas/ClientToken"
},
{
"description": "A unique string value that you supply that is used by S3 File Gateway to ensure idempotent file share creation."
}
]
},
"NFSFileShareDefaults": {
"allOf": [
{
"$ref": "#/components/schemas/NFSFileShareDefaults"
},
{
"description": "File share default values. Optional."
}
]
},
"GatewayARN": {
"allOf": [
{
"$ref": "#/components/schemas/GatewayARN"
},
{
"description": "The Amazon Resource Name (ARN) of the S3 File Gateway on which you want to create a file share."
}
]
},
"KMSEncrypted": {
"allOf": [
{
"$ref": "#/components/schemas/Boolean"
},
{
"description": "<p>Set to <code>true</code> to use Amazon S3 server-side encryption with your own KMS key, or <code>false</code> to use a key managed by Amazon S3. Optional.</p> <p>Valid Values: <code>true</code> | <code>false</code> </p>"
}
]
},
"KMSKey": {
"allOf": [
{
"$ref": "#/components/schemas/KMSKey"
},
{
"description": "The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can only be set when <code>KMSEncrypted</code> is <code>true</code>. Optional."
}
]
},
"Role": {
"allOf": [
{
"$ref": "#/components/schemas/Role"
},
{
"description": "The ARN of the Identity and Access Management (IAM) role that an S3 File Gateway assumes when it accesses the underlying storage."
}
]
},
"LocationARN": {
"allOf": [
{
"$ref": "#/components/schemas/LocationARN"
},
{
"description": "<p>A custom ARN for the backend storage used for storing data for file shares. It includes a resource ARN with an optional prefix concatenation. The prefix must end with a forward slash (/).</p> <note> <p>You can specify LocationARN as a bucket ARN, access point ARN or access point alias, as shown in the following examples.</p> <p>Bucket ARN:</p> <p> <code>arn:aws:s3:::my-bucket/prefix/</code> </p> <p>Access point ARN:</p> <p> <code>arn:aws:s3:region:account-id:accesspoint/access-point-name/prefix/</code> </p> <p>If you specify an access point, the bucket policy must be configured to delegate access control to the access point. For information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-policies.html#access-points-delegating-control\">Delegating access control to access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Access point alias:</p> <p> <code>test-ap-ab123cdef4gehijklmn5opqrstuvuse1a-s3alias</code> </p> </note>"
}
]
},
"DefaultStorageClass": {
"allOf": [
{
"$ref": "#/components/schemas/StorageClass"
},
{
"description": "<p>The default storage class for objects put into an Amazon S3 bucket by the S3 File Gateway. The default value is <code>S3_STANDARD</code>. Optional.</p> <p>Valid Values: <code>S3_STANDARD</code> | <code>S3_INTELLIGENT_TIERING</code> | <code>S3_STANDARD_IA</code> | <code>S3_ONEZONE_IA</code> </p>"
}
]
},
"ObjectACL": {
"allOf": [
{
"$ref": "#/components/schemas/ObjectACL"
},
{
"description": "A value that sets the access control list (ACL) permission for objects in the S3 bucket that a S3 File Gateway puts objects into. The default value is <code>private</code>."
}
]
},
"ClientList": {
"allOf": [
{
"$ref": "#/components/schemas/FileShareClientList"
},
{
"description": "The list of clients that are allowed to access the S3 File Gateway. The list must contain either valid IP addresses or valid CIDR blocks."
}
]
},
"Squash": {
"allOf": [
{
"$ref": "#/components/schemas/Squash"
},
{
"description": "<p>A value that maps a user to anonymous user.</p> <p>Valid values are the following:</p> <ul> <li> <p> <code>RootSquash</code>: Only root is mapped to anonymous user.</p> </li> <li> <p> <code>NoSquash</code>: No one is mapped to anonymous user.</p> </li> <li> <p> <code>AllSquash</code>: Everyone is mapped to anonymous user.</p> </li> </ul>"
}
]
},
"ReadOnly": {
"allOf": [
{
"$ref": "#/components/schemas/Boolean"
},
{
"description": "<p>A value that sets the write status of a file share. Set this value to <code>true</code> to set the write status to read-only, otherwise set to <code>false</code>.</p> <p>Valid Values: <code>true</code> | <code>false</code> </p>"
}
]
},
"GuessMIMETypeEnabled": {
"allOf": [
{
"$ref": "#/components/schemas/Boolean"
},
{
"description": "<p>A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to <code>true</code> to enable MIME type guessing, otherwise set to <code>false</code>. The default value is <code>true</code>.</p> <p>Valid Values: <code>true</code> | <code>false</code> </p>"
}
]
},
"RequesterPays": {
"allOf": [
{
"$ref": "#/components/schemas/Boolean"
},
{
"description": "<p>A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to <code>true</code>, the requester pays the costs; otherwise, the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data.</p> <note> <p> <code>RequesterPays</code> is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration.</p> </note> <p>Valid Values: <code>true</code> | <code>false</code> </p>"
}
]
},
"Tags": {
"allOf": [
{
"$ref": "#/components/schemas/Tags"
},
{
"description": "<p>A list of up to 50 tags that can be assigned to the NFS file share. Each tag is a key-value pair.</p> <note> <p>Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.</p> </note>"
}
]
},
"FileShareName": {
"allOf": [
{
"$ref": "#/components/schemas/FileShareName"
},
{
"description": "<p>The name of the file share. Optional.</p> <note> <p> <code>FileShareName</code> must be set if an S3 prefix name is set in <code>LocationARN</code>, or if an access point or access point alias is used.</p> </note>"
}
]
},
"CacheAttributes": {
"allOf": [
{
"$ref": "#/components/schemas/CacheAttributes"
},
{
"description": "Specifies refresh cache information for the file share."
}
]
},
"NotificationPolicy": {
"allOf": [
{
"$ref": "#/components/schemas/NotificationPolicy"
},
{
"description": "<p>The notification policy of the file share. <code>SettlingTimeInSeconds</code> controls the number of seconds to wait after the last point in time a client wrote to a file before generating an <code>ObjectUploaded</code> notification. Because clients can make many small writes to files, it's best to set this parameter for as long as possible to avoid generating multiple notifications for the same file in a small time period.</p> <note> <p> <code>SettlingTimeInSeconds</code> has no effect on the timing of the object uploading to Amazon S3, only the timing of the notification.</p> </note> <p>The following example sets <code>NotificationPolicy</code> on with <code>SettlingTimeInSeconds</code> set to 60.</p> <p> <code>{\\\"Upload\\\": {\\\"SettlingTimeInSeconds\\\": 60}}</code> </p> <p>The following example sets <code>NotificationPolicy</code> off.</p> <p> <code>{}</code> </p>"
}
]
},
"VPCEndpointDNSName": {
"allOf": [
{
"$ref": "#/components/schemas/DNSHostName"
},
{
"description": "<p>Specifies the DNS name for the VPC endpoint that the NFS file share uses to connect to Amazon S3.</p> <note> <p>This parameter is required for NFS file shares that connect to Amazon S3 through a VPC endpoint, a VPC access point, or an access point alias that points to a VPC access point.</p> </note>"
}
]
},
"BucketRegion": {
"allOf": [
{
"$ref": "#/components/schemas/RegionId"
},
{
"description": "<p>Specifies the Region of the S3 bucket where the NFS file share stores files.</p> <note> <p>This parameter is required for NFS file shares that connect to Amazon S3 through a VPC endpoint, a VPC access point, or an access point alias that points to a VPC access point.</p> </note>"
}
]
},
"AuditDestinationARN": {
"allOf": [
{
"$ref": "#/components/schemas/AuditDestinationARN"
},
{
"description": "The Amazon Resource Name (ARN) of the storage used for audit logs."
}
]
}
},
"required": [
"ClientToken",
"GatewayARN",
"Role",
"LocationARN"
]
}