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

RefreshCacheInput

See Also:

AWS * API Reference

*/ class RefreshCacheRequest : public StorageGatewayRequest { public: AWS_STORAGEGATEWAY_API RefreshCacheRequest(); // 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 "RefreshCache"; } 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 you want to refresh.

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

The Amazon Resource Name (ARN) of the file share you want to refresh.

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

The Amazon Resource Name (ARN) of the file share you want to refresh.

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

The Amazon Resource Name (ARN) of the file share you want to refresh.

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

The Amazon Resource Name (ARN) of the file share you want to refresh.

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

The Amazon Resource Name (ARN) of the file share you want to refresh.

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

The Amazon Resource Name (ARN) of the file share you want to refresh.

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

The Amazon Resource Name (ARN) of the file share you want to refresh.

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

A comma-separated list of the paths of folders to refresh in the cache. The * default is ["/"]. The default refreshes objects and folders at the * root of the Amazon S3 bucket. If Recursive is set to * true, the entire S3 bucket that the file share has access to is * refreshed.

*/ inline const Aws::Vector& GetFolderList() const{ return m_folderList; } /** *

A comma-separated list of the paths of folders to refresh in the cache. The * default is ["/"]. The default refreshes objects and folders at the * root of the Amazon S3 bucket. If Recursive is set to * true, the entire S3 bucket that the file share has access to is * refreshed.

*/ inline bool FolderListHasBeenSet() const { return m_folderListHasBeenSet; } /** *

A comma-separated list of the paths of folders to refresh in the cache. The * default is ["/"]. The default refreshes objects and folders at the * root of the Amazon S3 bucket. If Recursive is set to * true, the entire S3 bucket that the file share has access to is * refreshed.

*/ inline void SetFolderList(const Aws::Vector& value) { m_folderListHasBeenSet = true; m_folderList = value; } /** *

A comma-separated list of the paths of folders to refresh in the cache. The * default is ["/"]. The default refreshes objects and folders at the * root of the Amazon S3 bucket. If Recursive is set to * true, the entire S3 bucket that the file share has access to is * refreshed.

*/ inline void SetFolderList(Aws::Vector&& value) { m_folderListHasBeenSet = true; m_folderList = std::move(value); } /** *

A comma-separated list of the paths of folders to refresh in the cache. The * default is ["/"]. The default refreshes objects and folders at the * root of the Amazon S3 bucket. If Recursive is set to * true, the entire S3 bucket that the file share has access to is * refreshed.

*/ inline RefreshCacheRequest& WithFolderList(const Aws::Vector& value) { SetFolderList(value); return *this;} /** *

A comma-separated list of the paths of folders to refresh in the cache. The * default is ["/"]. The default refreshes objects and folders at the * root of the Amazon S3 bucket. If Recursive is set to * true, the entire S3 bucket that the file share has access to is * refreshed.

*/ inline RefreshCacheRequest& WithFolderList(Aws::Vector&& value) { SetFolderList(std::move(value)); return *this;} /** *

A comma-separated list of the paths of folders to refresh in the cache. The * default is ["/"]. The default refreshes objects and folders at the * root of the Amazon S3 bucket. If Recursive is set to * true, the entire S3 bucket that the file share has access to is * refreshed.

*/ inline RefreshCacheRequest& AddFolderList(const Aws::String& value) { m_folderListHasBeenSet = true; m_folderList.push_back(value); return *this; } /** *

A comma-separated list of the paths of folders to refresh in the cache. The * default is ["/"]. The default refreshes objects and folders at the * root of the Amazon S3 bucket. If Recursive is set to * true, the entire S3 bucket that the file share has access to is * refreshed.

*/ inline RefreshCacheRequest& AddFolderList(Aws::String&& value) { m_folderListHasBeenSet = true; m_folderList.push_back(std::move(value)); return *this; } /** *

A comma-separated list of the paths of folders to refresh in the cache. The * default is ["/"]. The default refreshes objects and folders at the * root of the Amazon S3 bucket. If Recursive is set to * true, the entire S3 bucket that the file share has access to is * refreshed.

*/ inline RefreshCacheRequest& AddFolderList(const char* value) { m_folderListHasBeenSet = true; m_folderList.push_back(value); return *this; } /** *

A value that specifies whether to recursively refresh folders in the cache. * The refresh includes folders that were in the cache the last time the gateway * listed the folder's contents. If this value set to true, each * folder that is listed in FolderList is recursively updated. * Otherwise, subfolders listed in FolderList are not refreshed. Only * objects that are in folders listed directly under FolderList are * found and used for the update. The default is true.

Valid * Values: true | false

*/ inline bool GetRecursive() const{ return m_recursive; } /** *

A value that specifies whether to recursively refresh folders in the cache. * The refresh includes folders that were in the cache the last time the gateway * listed the folder's contents. If this value set to true, each * folder that is listed in FolderList is recursively updated. * Otherwise, subfolders listed in FolderList are not refreshed. Only * objects that are in folders listed directly under FolderList are * found and used for the update. The default is true.

Valid * Values: true | false

*/ inline bool RecursiveHasBeenSet() const { return m_recursiveHasBeenSet; } /** *

A value that specifies whether to recursively refresh folders in the cache. * The refresh includes folders that were in the cache the last time the gateway * listed the folder's contents. If this value set to true, each * folder that is listed in FolderList is recursively updated. * Otherwise, subfolders listed in FolderList are not refreshed. Only * objects that are in folders listed directly under FolderList are * found and used for the update. The default is true.

Valid * Values: true | false

*/ inline void SetRecursive(bool value) { m_recursiveHasBeenSet = true; m_recursive = value; } /** *

A value that specifies whether to recursively refresh folders in the cache. * The refresh includes folders that were in the cache the last time the gateway * listed the folder's contents. If this value set to true, each * folder that is listed in FolderList is recursively updated. * Otherwise, subfolders listed in FolderList are not refreshed. Only * objects that are in folders listed directly under FolderList are * found and used for the update. The default is true.

Valid * Values: true | false

*/ inline RefreshCacheRequest& WithRecursive(bool value) { SetRecursive(value); return *this;} private: Aws::String m_fileShareARN; bool m_fileShareARNHasBeenSet = false; Aws::Vector m_folderList; bool m_folderListHasBeenSet = false; bool m_recursive; bool m_recursiveHasBeenSet = false; }; } // namespace Model } // namespace StorageGateway } // namespace Aws