class Aws::StorageGateway::Types::CreateSMBFileShareInput

CreateSMBFileShareInput

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

data as a hash:

    {
      client_token: "ClientToken", # required
      gateway_arn: "GatewayARN", # required
      kms_encrypted: false,
      kms_key: "KMSKey",
      role: "Role", # required
      location_arn: "LocationARN", # required
      default_storage_class: "StorageClass",
      object_acl: "private", # accepts private, public-read, public-read-write, authenticated-read, bucket-owner-read, bucket-owner-full-control, aws-exec-read
      read_only: false,
      guess_mime_type_enabled: false,
      requester_pays: false,
      smbacl_enabled: false,
      access_based_enumeration: false,
      admin_user_list: ["UserListUser"],
      valid_user_list: ["UserListUser"],
      invalid_user_list: ["UserListUser"],
      audit_destination_arn: "AuditDestinationARN",
      authentication: "Authentication",
      case_sensitivity: "ClientSpecified", # accepts ClientSpecified, CaseSensitive
      tags: [
        {
          key: "TagKey", # required
          value: "TagValue", # required
        },
      ],
      file_share_name: "FileShareName",
      cache_attributes: {
        cache_stale_timeout_in_seconds: 1,
      },
      notification_policy: "NotificationPolicy",
      vpc_endpoint_dns_name: "DNSHostName",
      bucket_region: "RegionId",
      oplocks_enabled: false,
    }

@!attribute [rw] client_token

A unique string value that you supply that is used by S3 File
Gateway to ensure idempotent file share creation.
@return [String]

@!attribute [rw] gateway_arn

The ARN of the S3 File Gateway on which you want to create a file
share.
@return [String]

@!attribute [rw] kms_encrypted

Set to `true` to use Amazon S3 server-side encryption with your own
KMS key, or `false` to use a key managed by Amazon S3. Optional.

Valid Values: `true` \| `false`
@return [Boolean]

@!attribute [rw] kms_key

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
`KMSEncrypted` is `true`. Optional.
@return [String]

@!attribute [rw] role

The ARN of the Identity and Access Management (IAM) role that an S3
File Gateway assumes when it accesses the underlying storage.
@return [String]

@!attribute [rw] location_arn

The ARN of the backend storage used for storing file data. A prefix
name can be added to the S3 bucket name. It must end with a "/".

<note markdown="1"> You can specify a bucket attached to an access point using a
complete ARN that includes the bucket region as shown:

 `arn:aws:s3:region:account-id:accesspoint/access-point-name `

 If you specify a bucket attached to an access point, the bucket
policy must be configured to delegate access control to the access
point. For information, see [Delegating access control to access
points][1] in the *Amazon S3 User Guide*.

 </note>

[1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-policies.html#access-points-delegating-control
@return [String]

@!attribute [rw] default_storage_class

The default storage class for objects put into an Amazon S3 bucket
by the S3 File Gateway. The default value is
`S3_INTELLIGENT_TIERING`. Optional.

Valid Values: `S3_STANDARD` \| `S3_INTELLIGENT_TIERING` \|
`S3_STANDARD_IA` \| `S3_ONEZONE_IA`
@return [String]

@!attribute [rw] object_acl

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 `private`.
@return [String]

@!attribute [rw] read_only

A value that sets the write status of a file share. Set this value
to `true` to set the write status to read-only, otherwise set to
`false`.

Valid Values: `true` \| `false`
@return [Boolean]

@!attribute [rw] guess_mime_type_enabled

A value that enables guessing of the MIME type for uploaded objects
based on file extensions. Set this value to `true` to enable MIME
type guessing, otherwise set to `false`. The default value is
`true`.

Valid Values: `true` \| `false`
@return [Boolean]

@!attribute [rw] requester_pays

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 `true`, the requester pays the costs; otherwise, the S3
bucket owner pays. However, the S3 bucket owner always pays the cost
of storing data.

<note markdown="1"> `RequesterPays` 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.

 </note>

Valid Values: `true` \| `false`
@return [Boolean]

@!attribute [rw] smbacl_enabled

Set this value to `true` to enable access control list (ACL) on the
SMB file share. Set it to `false` to map file and directory
permissions to the POSIX permissions.

For more information, see [Using Microsoft Windows ACLs to control
access to an SMB file share][1] in the *Storage Gateway User Guide*.

Valid Values: `true` \| `false`

[1]: https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.html
@return [Boolean]

@!attribute [rw] access_based_enumeration

The files and folders on this share will only be visible to users
with read access.
@return [Boolean]

@!attribute [rw] admin_user_list

A list of users or groups in the Active Directory that will be
granted administrator privileges on the file share. These users can
do all file operations as the super-user. Acceptable formats
include: `DOMAIN\User1`, `user1`, `@group1`, and `@DOMAIN\group1`.

Use this option very carefully, because any user in this list can do
anything they like on the file share, regardless of file
permissions.
@return [Array<String>]

@!attribute [rw] valid_user_list

A list of users or groups in the Active Directory that are allowed
to access the file []() share. A group must be prefixed with the @
character. Acceptable formats include: `DOMAIN\User1`, `user1`,
`@group1`, and `@DOMAIN\group1`. Can only be set if Authentication
is set to `ActiveDirectory`.
@return [Array<String>]

@!attribute [rw] invalid_user_list

A list of users or groups in the Active Directory that are not
allowed to access the file share. A group must be prefixed with the
@ character. Acceptable formats include: `DOMAIN\User1`, `user1`,
`@group1`, and `@DOMAIN\group1`. Can only be set if Authentication
is set to `ActiveDirectory`.
@return [Array<String>]

@!attribute [rw] audit_destination_arn

The Amazon Resource Name (ARN) of the storage used for audit logs.
@return [String]

@!attribute [rw] authentication

The authentication method that users use to access the file share.
The default is `ActiveDirectory`.

Valid Values: `ActiveDirectory` \| `GuestAccess`
@return [String]

@!attribute [rw] case_sensitivity

The case of an object name in an Amazon S3 bucket. For
`ClientSpecified`, the client determines the case sensitivity. For
`CaseSensitive`, the gateway determines the case sensitivity. The
default value is `ClientSpecified`.
@return [String]

@!attribute [rw] tags

A list of up to 50 tags that can be assigned to the NFS file share.
Each tag is a key-value pair.

<note markdown="1"> 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.

 </note>
@return [Array<Types::Tag>]

@!attribute [rw] file_share_name

The name of the file share. Optional.

<note markdown="1"> `FileShareName` must be set if an S3 prefix name is set in
`LocationARN`.

 </note>
@return [String]

@!attribute [rw] cache_attributes

Specifies refresh cache information for the file share.
@return [Types::CacheAttributes]

@!attribute [rw] notification_policy

The notification policy of the file share. `SettlingTimeInSeconds`
controls the number of seconds to wait after the last point in time
a client wrote to a file before generating an `ObjectUploaded`
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.

<note markdown="1"> `SettlingTimeInSeconds` has no effect on the timing of the object
uploading to Amazon S3, only the timing of the notification.

 </note>

The following example sets `NotificationPolicy` on with
`SettlingTimeInSeconds` set to 60.

`\{"Upload": \{"SettlingTimeInSeconds": 60\}\}`

The following example sets `NotificationPolicy` off.

`\{\}`
@return [String]

@!attribute [rw] vpc_endpoint_dns_name

Specifies the DNS name for the VPC endpoint that the SMB file share
uses to connect to Amazon S3.

<note markdown="1"> This parameter is required for SMB 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.

 </note>
@return [String]

@!attribute [rw] bucket_region

Specifies the Region of the S3 bucket where the SMB file share
stores files.

<note markdown="1"> This parameter is required for SMB 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.

 </note>
@return [String]

@!attribute [rw] oplocks_enabled

Specifies whether opportunistic locking is enabled for the SMB file
share.

<note markdown="1"> Enabling opportunistic locking on case-sensitive shares is not
recommended for workloads that involve access to files with the same
name in different case.

 </note>

Valid Values: `true` \| `false`
@return [Boolean]

@see docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateSMBFileShareInput AWS API Documentation

Constants

SENSITIVE