Amazon Storage Gateway · JSON Structure

Amazon Storage Gateway Create Nfs File Share Input Structure

CreateNFSFileShareInput

Type: object Properties: 21 Required: 4
BackupFile StorageGatewayHybrid CloudStorage

CreateNFSFileShareInput is a JSON Structure definition published by Amazon Storage Gateway, describing 21 properties, of which 4 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

ClientToken NFSFileShareDefaults GatewayARN KMSEncrypted KMSKey Role LocationARN DefaultStorageClass ObjectACL ClientList Squash ReadOnly GuessMIMETypeEnabled RequesterPays Tags FileShareName CacheAttributes NotificationPolicy VPCEndpointDNSName BucketRegion AuditDestinationARN

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "type": "object",
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-storage-gateway/refs/heads/main/json-structure/amazon-storage-gateway-create-nfs-file-share-input-structure.json",
  "name": "CreateNFSFileShareInput",
  "description": "CreateNFSFileShareInput",
  "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"
  ]
}