/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The Unix file permissions and ownership information assigned, by default, to
* native S3 objects when an S3 File Gateway discovers them in S3 buckets. This
* operation is only supported in S3 File Gateways.See Also:
AWS
* API Reference
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
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
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
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
The default storage class for objects put into an Amazon S3 bucket by the S3
* File Gateway. The default value is S3_STANDARD
. Optional.
Valid Values: S3_STANDARD
| S3_INTELLIGENT_TIERING
* | S3_STANDARD_IA
| S3_ONEZONE_IA
The default storage class for objects put into an Amazon S3 bucket by the S3
* File Gateway. The default value is S3_STANDARD
. Optional.
Valid Values: S3_STANDARD
| S3_INTELLIGENT_TIERING
* | S3_STANDARD_IA
| S3_ONEZONE_IA
The default storage class for objects put into an Amazon S3 bucket by the S3
* File Gateway. The default value is S3_STANDARD
. Optional.
Valid Values: S3_STANDARD
| S3_INTELLIGENT_TIERING
* | S3_STANDARD_IA
| S3_ONEZONE_IA
The default storage class for objects put into an Amazon S3 bucket by the S3
* File Gateway. The default value is S3_STANDARD
. Optional.
Valid Values: S3_STANDARD
| S3_INTELLIGENT_TIERING
* | S3_STANDARD_IA
| S3_ONEZONE_IA
The default storage class for objects put into an Amazon S3 bucket by the S3
* File Gateway. The default value is S3_STANDARD
. Optional.
Valid Values: S3_STANDARD
| S3_INTELLIGENT_TIERING
* | S3_STANDARD_IA
| S3_ONEZONE_IA
The default storage class for objects put into an Amazon S3 bucket by the S3
* File Gateway. The default value is S3_STANDARD
. Optional.
Valid Values: S3_STANDARD
| S3_INTELLIGENT_TIERING
* | S3_STANDARD_IA
| S3_ONEZONE_IA
The default storage class for objects put into an Amazon S3 bucket by the S3
* File Gateway. The default value is S3_STANDARD
. Optional.
Valid Values: S3_STANDARD
| S3_INTELLIGENT_TIERING
* | S3_STANDARD_IA
| S3_ONEZONE_IA
The default storage class for objects put into an Amazon S3 bucket by the S3
* File Gateway. The default value is S3_STANDARD
. Optional.
Valid Values: S3_STANDARD
| S3_INTELLIGENT_TIERING
* | S3_STANDARD_IA
| S3_ONEZONE_IA
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
*
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
*
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
*
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
*
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
*
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
*
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
*
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
*
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.
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.
Valid Values:
* true
| false
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.
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.
Valid Values:
* true
| false
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.
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.
Valid Values:
* true
| false
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.
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.
Valid Values:
* true
| false
A list of up to 50 tags assigned to the NFS file share, sorted alphabetically
* by key name. Each tag is a key-value pair. For a gateway with more than 10 tags
* assigned, you can view all tags using the ListTagsForResource
API
* operation.
A list of up to 50 tags assigned to the NFS file share, sorted alphabetically
* by key name. Each tag is a key-value pair. For a gateway with more than 10 tags
* assigned, you can view all tags using the ListTagsForResource
API
* operation.
A list of up to 50 tags assigned to the NFS file share, sorted alphabetically
* by key name. Each tag is a key-value pair. For a gateway with more than 10 tags
* assigned, you can view all tags using the ListTagsForResource
API
* operation.
A list of up to 50 tags assigned to the NFS file share, sorted alphabetically
* by key name. Each tag is a key-value pair. For a gateway with more than 10 tags
* assigned, you can view all tags using the ListTagsForResource
API
* operation.
A list of up to 50 tags assigned to the NFS file share, sorted alphabetically
* by key name. Each tag is a key-value pair. For a gateway with more than 10 tags
* assigned, you can view all tags using the ListTagsForResource
API
* operation.
A list of up to 50 tags assigned to the NFS file share, sorted alphabetically
* by key name. Each tag is a key-value pair. For a gateway with more than 10 tags
* assigned, you can view all tags using the ListTagsForResource
API
* operation.
A list of up to 50 tags assigned to the NFS file share, sorted alphabetically
* by key name. Each tag is a key-value pair. For a gateway with more than 10 tags
* assigned, you can view all tags using the ListTagsForResource
API
* operation.
A list of up to 50 tags assigned to the NFS file share, sorted alphabetically
* by key name. Each tag is a key-value pair. For a gateway with more than 10 tags
* assigned, you can view all tags using the ListTagsForResource
API
* operation.
The name of the file share. Optional.
* FileShareName
must be set if an S3 prefix name is set in
* LocationARN
, or if an access point or access point alias is
* used.
The name of the file share. Optional.
* FileShareName
must be set if an S3 prefix name is set in
* LocationARN
, or if an access point or access point alias is
* used.
The name of the file share. Optional.
* FileShareName
must be set if an S3 prefix name is set in
* LocationARN
, or if an access point or access point alias is
* used.
The name of the file share. Optional.
* FileShareName
must be set if an S3 prefix name is set in
* LocationARN
, or if an access point or access point alias is
* used.
The name of the file share. Optional.
* FileShareName
must be set if an S3 prefix name is set in
* LocationARN
, or if an access point or access point alias is
* used.
The name of the file share. Optional.
* FileShareName
must be set if an S3 prefix name is set in
* LocationARN
, or if an access point or access point alias is
* used.
The name of the file share. Optional.
* FileShareName
must be set if an S3 prefix name is set in
* LocationARN
, or if an access point or access point alias is
* used.
The name of the file share. Optional.
* FileShareName
must be set if an S3 prefix name is set in
* LocationARN
, or if an access point or access point alias is
* used.
Refresh cache information for the file share.
*/ inline const CacheAttributes& GetCacheAttributes() const{ return m_cacheAttributes; } /** *Refresh cache information for the file share.
*/ inline bool CacheAttributesHasBeenSet() const { return m_cacheAttributesHasBeenSet; } /** *Refresh cache information for the file share.
*/ inline void SetCacheAttributes(const CacheAttributes& value) { m_cacheAttributesHasBeenSet = true; m_cacheAttributes = value; } /** *Refresh cache information for the file share.
*/ inline void SetCacheAttributes(CacheAttributes&& value) { m_cacheAttributesHasBeenSet = true; m_cacheAttributes = std::move(value); } /** *Refresh cache information for the file share.
*/ inline NFSFileShareInfo& WithCacheAttributes(const CacheAttributes& value) { SetCacheAttributes(value); return *this;} /** *Refresh cache information for the file share.
*/ inline NFSFileShareInfo& WithCacheAttributes(CacheAttributes&& value) { SetCacheAttributes(std::move(value)); return *this;} /** *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.
* SettlingTimeInSeconds
has no effect on the timing of the object
* uploading to Amazon S3, only the timing of the notification.
The
* following example sets NotificationPolicy
on with
* SettlingTimeInSeconds
set to 60.
{\"Upload\":
* {\"SettlingTimeInSeconds\": 60}}
The following example sets
* NotificationPolicy
off.
{}
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.
* SettlingTimeInSeconds
has no effect on the timing of the object
* uploading to Amazon S3, only the timing of the notification.
The
* following example sets NotificationPolicy
on with
* SettlingTimeInSeconds
set to 60.
{\"Upload\":
* {\"SettlingTimeInSeconds\": 60}}
The following example sets
* NotificationPolicy
off.
{}
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.
* SettlingTimeInSeconds
has no effect on the timing of the object
* uploading to Amazon S3, only the timing of the notification.
The
* following example sets NotificationPolicy
on with
* SettlingTimeInSeconds
set to 60.
{\"Upload\":
* {\"SettlingTimeInSeconds\": 60}}
The following example sets
* NotificationPolicy
off.
{}
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.
* SettlingTimeInSeconds
has no effect on the timing of the object
* uploading to Amazon S3, only the timing of the notification.
The
* following example sets NotificationPolicy
on with
* SettlingTimeInSeconds
set to 60.
{\"Upload\":
* {\"SettlingTimeInSeconds\": 60}}
The following example sets
* NotificationPolicy
off.
{}
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.
* SettlingTimeInSeconds
has no effect on the timing of the object
* uploading to Amazon S3, only the timing of the notification.
The
* following example sets NotificationPolicy
on with
* SettlingTimeInSeconds
set to 60.
{\"Upload\":
* {\"SettlingTimeInSeconds\": 60}}
The following example sets
* NotificationPolicy
off.
{}
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.
* SettlingTimeInSeconds
has no effect on the timing of the object
* uploading to Amazon S3, only the timing of the notification.
The
* following example sets NotificationPolicy
on with
* SettlingTimeInSeconds
set to 60.
{\"Upload\":
* {\"SettlingTimeInSeconds\": 60}}
The following example sets
* NotificationPolicy
off.
{}
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.
* SettlingTimeInSeconds
has no effect on the timing of the object
* uploading to Amazon S3, only the timing of the notification.
The
* following example sets NotificationPolicy
on with
* SettlingTimeInSeconds
set to 60.
{\"Upload\":
* {\"SettlingTimeInSeconds\": 60}}
The following example sets
* NotificationPolicy
off.
{}
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.
* SettlingTimeInSeconds
has no effect on the timing of the object
* uploading to Amazon S3, only the timing of the notification.
The
* following example sets NotificationPolicy
on with
* SettlingTimeInSeconds
set to 60.
{\"Upload\":
* {\"SettlingTimeInSeconds\": 60}}
The following example sets
* NotificationPolicy
off.
{}
Specifies the DNS name for the VPC endpoint that the NFS file share uses to * connect to Amazon S3.
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.
*/ inline const Aws::String& GetVPCEndpointDNSName() const{ return m_vPCEndpointDNSName; } /** *Specifies the DNS name for the VPC endpoint that the NFS file share uses to * connect to Amazon S3.
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.
*/ inline bool VPCEndpointDNSNameHasBeenSet() const { return m_vPCEndpointDNSNameHasBeenSet; } /** *Specifies the DNS name for the VPC endpoint that the NFS file share uses to * connect to Amazon S3.
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.
*/ inline void SetVPCEndpointDNSName(const Aws::String& value) { m_vPCEndpointDNSNameHasBeenSet = true; m_vPCEndpointDNSName = value; } /** *Specifies the DNS name for the VPC endpoint that the NFS file share uses to * connect to Amazon S3.
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.
*/ inline void SetVPCEndpointDNSName(Aws::String&& value) { m_vPCEndpointDNSNameHasBeenSet = true; m_vPCEndpointDNSName = std::move(value); } /** *Specifies the DNS name for the VPC endpoint that the NFS file share uses to * connect to Amazon S3.
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.
*/ inline void SetVPCEndpointDNSName(const char* value) { m_vPCEndpointDNSNameHasBeenSet = true; m_vPCEndpointDNSName.assign(value); } /** *Specifies the DNS name for the VPC endpoint that the NFS file share uses to * connect to Amazon S3.
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.
*/ inline NFSFileShareInfo& WithVPCEndpointDNSName(const Aws::String& value) { SetVPCEndpointDNSName(value); return *this;} /** *Specifies the DNS name for the VPC endpoint that the NFS file share uses to * connect to Amazon S3.
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.
*/ inline NFSFileShareInfo& WithVPCEndpointDNSName(Aws::String&& value) { SetVPCEndpointDNSName(std::move(value)); return *this;} /** *Specifies the DNS name for the VPC endpoint that the NFS file share uses to * connect to Amazon S3.
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.
*/ inline NFSFileShareInfo& WithVPCEndpointDNSName(const char* value) { SetVPCEndpointDNSName(value); return *this;} /** *Specifies the Region of the S3 bucket where the NFS file share stores * files.
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.
*/ inline const Aws::String& GetBucketRegion() const{ return m_bucketRegion; } /** *Specifies the Region of the S3 bucket where the NFS file share stores * files.
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.
*/ inline bool BucketRegionHasBeenSet() const { return m_bucketRegionHasBeenSet; } /** *Specifies the Region of the S3 bucket where the NFS file share stores * files.
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.
*/ inline void SetBucketRegion(const Aws::String& value) { m_bucketRegionHasBeenSet = true; m_bucketRegion = value; } /** *Specifies the Region of the S3 bucket where the NFS file share stores * files.
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.
*/ inline void SetBucketRegion(Aws::String&& value) { m_bucketRegionHasBeenSet = true; m_bucketRegion = std::move(value); } /** *Specifies the Region of the S3 bucket where the NFS file share stores * files.
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.
*/ inline void SetBucketRegion(const char* value) { m_bucketRegionHasBeenSet = true; m_bucketRegion.assign(value); } /** *Specifies the Region of the S3 bucket where the NFS file share stores * files.
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.
*/ inline NFSFileShareInfo& WithBucketRegion(const Aws::String& value) { SetBucketRegion(value); return *this;} /** *Specifies the Region of the S3 bucket where the NFS file share stores * files.
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.
*/ inline NFSFileShareInfo& WithBucketRegion(Aws::String&& value) { SetBucketRegion(std::move(value)); return *this;} /** *Specifies the Region of the S3 bucket where the NFS file share stores * files.
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.
*/ inline NFSFileShareInfo& WithBucketRegion(const char* value) { SetBucketRegion(value); return *this;} /** *The Amazon Resource Name (ARN) of the storage used for audit logs.
*/ inline const Aws::String& GetAuditDestinationARN() const{ return m_auditDestinationARN; } /** *The Amazon Resource Name (ARN) of the storage used for audit logs.
*/ inline bool AuditDestinationARNHasBeenSet() const { return m_auditDestinationARNHasBeenSet; } /** *The Amazon Resource Name (ARN) of the storage used for audit logs.
*/ inline void SetAuditDestinationARN(const Aws::String& value) { m_auditDestinationARNHasBeenSet = true; m_auditDestinationARN = value; } /** *The Amazon Resource Name (ARN) of the storage used for audit logs.
*/ inline void SetAuditDestinationARN(Aws::String&& value) { m_auditDestinationARNHasBeenSet = true; m_auditDestinationARN = std::move(value); } /** *The Amazon Resource Name (ARN) of the storage used for audit logs.
*/ inline void SetAuditDestinationARN(const char* value) { m_auditDestinationARNHasBeenSet = true; m_auditDestinationARN.assign(value); } /** *The Amazon Resource Name (ARN) of the storage used for audit logs.
*/ inline NFSFileShareInfo& WithAuditDestinationARN(const Aws::String& value) { SetAuditDestinationARN(value); return *this;} /** *The Amazon Resource Name (ARN) of the storage used for audit logs.
*/ inline NFSFileShareInfo& WithAuditDestinationARN(Aws::String&& value) { SetAuditDestinationARN(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the storage used for audit logs.
*/ inline NFSFileShareInfo& WithAuditDestinationARN(const char* value) { SetAuditDestinationARN(value); return *this;} private: NFSFileShareDefaults m_nFSFileShareDefaults; bool m_nFSFileShareDefaultsHasBeenSet = false; Aws::String m_fileShareARN; bool m_fileShareARNHasBeenSet = false; Aws::String m_fileShareId; bool m_fileShareIdHasBeenSet = false; Aws::String m_fileShareStatus; bool m_fileShareStatusHasBeenSet = false; Aws::String m_gatewayARN; bool m_gatewayARNHasBeenSet = false; bool m_kMSEncrypted; bool m_kMSEncryptedHasBeenSet = false; Aws::String m_kMSKey; bool m_kMSKeyHasBeenSet = false; Aws::String m_path; bool m_pathHasBeenSet = false; Aws::String m_role; bool m_roleHasBeenSet = false; Aws::String m_locationARN; bool m_locationARNHasBeenSet = false; Aws::String m_defaultStorageClass; bool m_defaultStorageClassHasBeenSet = false; ObjectACL m_objectACL; bool m_objectACLHasBeenSet = false; Aws::Vector