/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace StorageGateway { namespace Model { /** *

UpdateNFSFileShareInput

See Also:

AWS * API Reference

*/ class UpdateNFSFileShareRequest : public StorageGatewayRequest { public: AWS_STORAGEGATEWAY_API UpdateNFSFileShareRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateNFSFileShare"; } AWS_STORAGEGATEWAY_API Aws::String SerializePayload() const override; AWS_STORAGEGATEWAY_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The Amazon Resource Name (ARN) of the file share to be updated.

*/ inline const Aws::String& GetFileShareARN() const{ return m_fileShareARN; } /** *

The Amazon Resource Name (ARN) of the file share to be updated.

*/ inline bool FileShareARNHasBeenSet() const { return m_fileShareARNHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the file share to be updated.

*/ inline void SetFileShareARN(const Aws::String& value) { m_fileShareARNHasBeenSet = true; m_fileShareARN = value; } /** *

The Amazon Resource Name (ARN) of the file share to be updated.

*/ inline void SetFileShareARN(Aws::String&& value) { m_fileShareARNHasBeenSet = true; m_fileShareARN = std::move(value); } /** *

The Amazon Resource Name (ARN) of the file share to be updated.

*/ inline void SetFileShareARN(const char* value) { m_fileShareARNHasBeenSet = true; m_fileShareARN.assign(value); } /** *

The Amazon Resource Name (ARN) of the file share to be updated.

*/ inline UpdateNFSFileShareRequest& WithFileShareARN(const Aws::String& value) { SetFileShareARN(value); return *this;} /** *

The Amazon Resource Name (ARN) of the file share to be updated.

*/ inline UpdateNFSFileShareRequest& WithFileShareARN(Aws::String&& value) { SetFileShareARN(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the file share to be updated.

*/ inline UpdateNFSFileShareRequest& WithFileShareARN(const char* value) { SetFileShareARN(value); return *this;} /** *

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

*/ inline bool GetKMSEncrypted() const{ return m_kMSEncrypted; } /** *

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

*/ inline bool KMSEncryptedHasBeenSet() const { return m_kMSEncryptedHasBeenSet; } /** *

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

*/ inline void SetKMSEncrypted(bool value) { m_kMSEncryptedHasBeenSet = true; m_kMSEncrypted = value; } /** *

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

*/ inline UpdateNFSFileShareRequest& WithKMSEncrypted(bool value) { SetKMSEncrypted(value); return *this;} /** *

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.

*/ inline const Aws::String& GetKMSKey() const{ return m_kMSKey; } /** *

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.

*/ inline bool KMSKeyHasBeenSet() const { return m_kMSKeyHasBeenSet; } /** *

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.

*/ inline void SetKMSKey(const Aws::String& value) { m_kMSKeyHasBeenSet = true; m_kMSKey = value; } /** *

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.

*/ inline void SetKMSKey(Aws::String&& value) { m_kMSKeyHasBeenSet = true; m_kMSKey = std::move(value); } /** *

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.

*/ inline void SetKMSKey(const char* value) { m_kMSKeyHasBeenSet = true; m_kMSKey.assign(value); } /** *

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.

*/ inline UpdateNFSFileShareRequest& WithKMSKey(const Aws::String& value) { SetKMSKey(value); return *this;} /** *

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.

*/ inline UpdateNFSFileShareRequest& WithKMSKey(Aws::String&& value) { SetKMSKey(std::move(value)); return *this;} /** *

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.

*/ inline UpdateNFSFileShareRequest& WithKMSKey(const char* value) { SetKMSKey(value); return *this;} /** *

The default values for the file share. Optional.

*/ inline const NFSFileShareDefaults& GetNFSFileShareDefaults() const{ return m_nFSFileShareDefaults; } /** *

The default values for the file share. Optional.

*/ inline bool NFSFileShareDefaultsHasBeenSet() const { return m_nFSFileShareDefaultsHasBeenSet; } /** *

The default values for the file share. Optional.

*/ inline void SetNFSFileShareDefaults(const NFSFileShareDefaults& value) { m_nFSFileShareDefaultsHasBeenSet = true; m_nFSFileShareDefaults = value; } /** *

The default values for the file share. Optional.

*/ inline void SetNFSFileShareDefaults(NFSFileShareDefaults&& value) { m_nFSFileShareDefaultsHasBeenSet = true; m_nFSFileShareDefaults = std::move(value); } /** *

The default values for the file share. Optional.

*/ inline UpdateNFSFileShareRequest& WithNFSFileShareDefaults(const NFSFileShareDefaults& value) { SetNFSFileShareDefaults(value); return *this;} /** *

The default values for the file share. Optional.

*/ inline UpdateNFSFileShareRequest& WithNFSFileShareDefaults(NFSFileShareDefaults&& value) { SetNFSFileShareDefaults(std::move(value)); return *this;} /** *

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

*/ inline const Aws::String& GetDefaultStorageClass() const{ return m_defaultStorageClass; } /** *

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

*/ inline bool DefaultStorageClassHasBeenSet() const { return m_defaultStorageClassHasBeenSet; } /** *

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

*/ inline void SetDefaultStorageClass(const Aws::String& value) { m_defaultStorageClassHasBeenSet = true; m_defaultStorageClass = value; } /** *

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

*/ inline void SetDefaultStorageClass(Aws::String&& value) { m_defaultStorageClassHasBeenSet = true; m_defaultStorageClass = std::move(value); } /** *

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

*/ inline void SetDefaultStorageClass(const char* value) { m_defaultStorageClassHasBeenSet = true; m_defaultStorageClass.assign(value); } /** *

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

*/ inline UpdateNFSFileShareRequest& WithDefaultStorageClass(const Aws::String& value) { SetDefaultStorageClass(value); return *this;} /** *

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

*/ inline UpdateNFSFileShareRequest& WithDefaultStorageClass(Aws::String&& value) { SetDefaultStorageClass(std::move(value)); return *this;} /** *

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

*/ inline UpdateNFSFileShareRequest& WithDefaultStorageClass(const char* value) { SetDefaultStorageClass(value); return *this;} /** *

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.

*/ inline const ObjectACL& GetObjectACL() const{ return m_objectACL; } /** *

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.

*/ inline bool ObjectACLHasBeenSet() const { return m_objectACLHasBeenSet; } /** *

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.

*/ inline void SetObjectACL(const ObjectACL& value) { m_objectACLHasBeenSet = true; m_objectACL = value; } /** *

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.

*/ inline void SetObjectACL(ObjectACL&& value) { m_objectACLHasBeenSet = true; m_objectACL = std::move(value); } /** *

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.

*/ inline UpdateNFSFileShareRequest& WithObjectACL(const ObjectACL& value) { SetObjectACL(value); return *this;} /** *

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.

*/ inline UpdateNFSFileShareRequest& WithObjectACL(ObjectACL&& value) { SetObjectACL(std::move(value)); return *this;} /** *

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.

*/ inline const Aws::Vector& GetClientList() const{ return m_clientList; } /** *

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.

*/ inline bool ClientListHasBeenSet() const { return m_clientListHasBeenSet; } /** *

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.

*/ inline void SetClientList(const Aws::Vector& value) { m_clientListHasBeenSet = true; m_clientList = value; } /** *

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.

*/ inline void SetClientList(Aws::Vector&& value) { m_clientListHasBeenSet = true; m_clientList = std::move(value); } /** *

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.

*/ inline UpdateNFSFileShareRequest& WithClientList(const Aws::Vector& value) { SetClientList(value); return *this;} /** *

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.

*/ inline UpdateNFSFileShareRequest& WithClientList(Aws::Vector&& value) { SetClientList(std::move(value)); return *this;} /** *

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.

*/ inline UpdateNFSFileShareRequest& AddClientList(const Aws::String& value) { m_clientListHasBeenSet = true; m_clientList.push_back(value); return *this; } /** *

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.

*/ inline UpdateNFSFileShareRequest& AddClientList(Aws::String&& value) { m_clientListHasBeenSet = true; m_clientList.push_back(std::move(value)); return *this; } /** *

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.

*/ inline UpdateNFSFileShareRequest& AddClientList(const char* value) { m_clientListHasBeenSet = true; m_clientList.push_back(value); return *this; } /** *

The user mapped to anonymous user.

Valid values are the following:

*
  • RootSquash: Only root is mapped to anonymous * user.

  • NoSquash: No one is mapped to anonymous * user.

  • AllSquash: Everyone is mapped to anonymous * user.

*/ inline const Aws::String& GetSquash() const{ return m_squash; } /** *

The user mapped to anonymous user.

Valid values are the following:

*
  • RootSquash: Only root is mapped to anonymous * user.

  • NoSquash: No one is mapped to anonymous * user.

  • AllSquash: Everyone is mapped to anonymous * user.

*/ inline bool SquashHasBeenSet() const { return m_squashHasBeenSet; } /** *

The user mapped to anonymous user.

Valid values are the following:

*
  • RootSquash: Only root is mapped to anonymous * user.

  • NoSquash: No one is mapped to anonymous * user.

  • AllSquash: Everyone is mapped to anonymous * user.

*/ inline void SetSquash(const Aws::String& value) { m_squashHasBeenSet = true; m_squash = value; } /** *

The user mapped to anonymous user.

Valid values are the following:

*
  • RootSquash: Only root is mapped to anonymous * user.

  • NoSquash: No one is mapped to anonymous * user.

  • AllSquash: Everyone is mapped to anonymous * user.

*/ inline void SetSquash(Aws::String&& value) { m_squashHasBeenSet = true; m_squash = std::move(value); } /** *

The user mapped to anonymous user.

Valid values are the following:

*
  • RootSquash: Only root is mapped to anonymous * user.

  • NoSquash: No one is mapped to anonymous * user.

  • AllSquash: Everyone is mapped to anonymous * user.

*/ inline void SetSquash(const char* value) { m_squashHasBeenSet = true; m_squash.assign(value); } /** *

The user mapped to anonymous user.

Valid values are the following:

*
  • RootSquash: Only root is mapped to anonymous * user.

  • NoSquash: No one is mapped to anonymous * user.

  • AllSquash: Everyone is mapped to anonymous * user.

*/ inline UpdateNFSFileShareRequest& WithSquash(const Aws::String& value) { SetSquash(value); return *this;} /** *

The user mapped to anonymous user.

Valid values are the following:

*
  • RootSquash: Only root is mapped to anonymous * user.

  • NoSquash: No one is mapped to anonymous * user.

  • AllSquash: Everyone is mapped to anonymous * user.

*/ inline UpdateNFSFileShareRequest& WithSquash(Aws::String&& value) { SetSquash(std::move(value)); return *this;} /** *

The user mapped to anonymous user.

Valid values are the following:

*
  • RootSquash: Only root is mapped to anonymous * user.

  • NoSquash: No one is mapped to anonymous * user.

  • AllSquash: Everyone is mapped to anonymous * user.

*/ inline UpdateNFSFileShareRequest& WithSquash(const char* value) { SetSquash(value); return *this;} /** *

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 *

*/ inline bool GetReadOnly() const{ return m_readOnly; } /** *

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 *

*/ inline bool ReadOnlyHasBeenSet() const { return m_readOnlyHasBeenSet; } /** *

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 *

*/ inline void SetReadOnly(bool value) { m_readOnlyHasBeenSet = true; m_readOnly = value; } /** *

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 *

*/ inline UpdateNFSFileShareRequest& WithReadOnly(bool value) { SetReadOnly(value); return *this;} /** *

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 *

*/ inline bool GetGuessMIMETypeEnabled() const{ return m_guessMIMETypeEnabled; } /** *

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 *

*/ inline bool GuessMIMETypeEnabledHasBeenSet() const { return m_guessMIMETypeEnabledHasBeenSet; } /** *

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 *

*/ inline void SetGuessMIMETypeEnabled(bool value) { m_guessMIMETypeEnabledHasBeenSet = true; m_guessMIMETypeEnabled = value; } /** *

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 *

*/ inline UpdateNFSFileShareRequest& WithGuessMIMETypeEnabled(bool value) { SetGuessMIMETypeEnabled(value); return *this;} /** *

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

*/ inline bool GetRequesterPays() const{ return m_requesterPays; } /** *

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

*/ inline bool RequesterPaysHasBeenSet() const { return m_requesterPaysHasBeenSet; } /** *

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

*/ inline void SetRequesterPays(bool value) { m_requesterPaysHasBeenSet = true; m_requesterPays = value; } /** *

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

*/ inline UpdateNFSFileShareRequest& WithRequesterPays(bool value) { SetRequesterPays(value); return *this;} /** *

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.

*/ inline const Aws::String& GetFileShareName() const{ return m_fileShareName; } /** *

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.

*/ inline bool FileShareNameHasBeenSet() const { return m_fileShareNameHasBeenSet; } /** *

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.

*/ inline void SetFileShareName(const Aws::String& value) { m_fileShareNameHasBeenSet = true; m_fileShareName = value; } /** *

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.

*/ inline void SetFileShareName(Aws::String&& value) { m_fileShareNameHasBeenSet = true; m_fileShareName = std::move(value); } /** *

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.

*/ inline void SetFileShareName(const char* value) { m_fileShareNameHasBeenSet = true; m_fileShareName.assign(value); } /** *

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.

*/ inline UpdateNFSFileShareRequest& WithFileShareName(const Aws::String& value) { SetFileShareName(value); return *this;} /** *

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.

*/ inline UpdateNFSFileShareRequest& WithFileShareName(Aws::String&& value) { SetFileShareName(std::move(value)); return *this;} /** *

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.

*/ inline UpdateNFSFileShareRequest& WithFileShareName(const char* value) { SetFileShareName(value); return *this;} /** *

Specifies refresh cache information for the file share.

*/ inline const CacheAttributes& GetCacheAttributes() const{ return m_cacheAttributes; } /** *

Specifies refresh cache information for the file share.

*/ inline bool CacheAttributesHasBeenSet() const { return m_cacheAttributesHasBeenSet; } /** *

Specifies refresh cache information for the file share.

*/ inline void SetCacheAttributes(const CacheAttributes& value) { m_cacheAttributesHasBeenSet = true; m_cacheAttributes = value; } /** *

Specifies refresh cache information for the file share.

*/ inline void SetCacheAttributes(CacheAttributes&& value) { m_cacheAttributesHasBeenSet = true; m_cacheAttributes = std::move(value); } /** *

Specifies refresh cache information for the file share.

*/ inline UpdateNFSFileShareRequest& WithCacheAttributes(const CacheAttributes& value) { SetCacheAttributes(value); return *this;} /** *

Specifies refresh cache information for the file share.

*/ inline UpdateNFSFileShareRequest& 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.

{}

*/ inline const Aws::String& GetNotificationPolicy() const{ return m_notificationPolicy; } /** *

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.

{}

*/ inline bool NotificationPolicyHasBeenSet() const { return m_notificationPolicyHasBeenSet; } /** *

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.

{}

*/ inline void SetNotificationPolicy(const Aws::String& value) { m_notificationPolicyHasBeenSet = true; m_notificationPolicy = value; } /** *

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.

{}

*/ inline void SetNotificationPolicy(Aws::String&& value) { m_notificationPolicyHasBeenSet = true; m_notificationPolicy = std::move(value); } /** *

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.

{}

*/ inline void SetNotificationPolicy(const char* value) { m_notificationPolicyHasBeenSet = true; m_notificationPolicy.assign(value); } /** *

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.

{}

*/ inline UpdateNFSFileShareRequest& WithNotificationPolicy(const Aws::String& value) { SetNotificationPolicy(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.

{}

*/ inline UpdateNFSFileShareRequest& WithNotificationPolicy(Aws::String&& value) { SetNotificationPolicy(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.

{}

*/ inline UpdateNFSFileShareRequest& WithNotificationPolicy(const char* value) { SetNotificationPolicy(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 UpdateNFSFileShareRequest& WithAuditDestinationARN(const Aws::String& value) { SetAuditDestinationARN(value); return *this;} /** *

The Amazon Resource Name (ARN) of the storage used for audit logs.

*/ inline UpdateNFSFileShareRequest& WithAuditDestinationARN(Aws::String&& value) { SetAuditDestinationARN(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the storage used for audit logs.

*/ inline UpdateNFSFileShareRequest& WithAuditDestinationARN(const char* value) { SetAuditDestinationARN(value); return *this;} private: Aws::String m_fileShareARN; bool m_fileShareARNHasBeenSet = false; bool m_kMSEncrypted; bool m_kMSEncryptedHasBeenSet = false; Aws::String m_kMSKey; bool m_kMSKeyHasBeenSet = false; NFSFileShareDefaults m_nFSFileShareDefaults; bool m_nFSFileShareDefaultsHasBeenSet = false; Aws::String m_defaultStorageClass; bool m_defaultStorageClassHasBeenSet = false; ObjectACL m_objectACL; bool m_objectACLHasBeenSet = false; Aws::Vector m_clientList; bool m_clientListHasBeenSet = false; Aws::String m_squash; bool m_squashHasBeenSet = false; bool m_readOnly; bool m_readOnlyHasBeenSet = false; bool m_guessMIMETypeEnabled; bool m_guessMIMETypeEnabledHasBeenSet = false; bool m_requesterPays; bool m_requesterPaysHasBeenSet = false; Aws::String m_fileShareName; bool m_fileShareNameHasBeenSet = false; CacheAttributes m_cacheAttributes; bool m_cacheAttributesHasBeenSet = false; Aws::String m_notificationPolicy; bool m_notificationPolicyHasBeenSet = false; Aws::String m_auditDestinationARN; bool m_auditDestinationARNHasBeenSet = false; }; } // namespace Model } // namespace StorageGateway } // namespace Aws