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

The refresh cache information for the file share or FSx file * systems.

See Also:

AWS * API Reference

*/ class CacheAttributes { public: AWS_STORAGEGATEWAY_API CacheAttributes(); AWS_STORAGEGATEWAY_API CacheAttributes(Aws::Utils::Json::JsonView jsonValue); AWS_STORAGEGATEWAY_API CacheAttributes& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_STORAGEGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Refreshes a file share's cache by using Time To Live (TTL). TTL is the length * of time since the last refresh after which access to the directory would cause * the file gateway to first refresh that directory's contents from the Amazon S3 * bucket or Amazon FSx file system. The TTL duration is in seconds.

Valid * Values:0, 300 to 2,592,000 seconds (5 minutes to 30 days)

*/ inline int GetCacheStaleTimeoutInSeconds() const{ return m_cacheStaleTimeoutInSeconds; } /** *

Refreshes a file share's cache by using Time To Live (TTL). TTL is the length * of time since the last refresh after which access to the directory would cause * the file gateway to first refresh that directory's contents from the Amazon S3 * bucket or Amazon FSx file system. The TTL duration is in seconds.

Valid * Values:0, 300 to 2,592,000 seconds (5 minutes to 30 days)

*/ inline bool CacheStaleTimeoutInSecondsHasBeenSet() const { return m_cacheStaleTimeoutInSecondsHasBeenSet; } /** *

Refreshes a file share's cache by using Time To Live (TTL). TTL is the length * of time since the last refresh after which access to the directory would cause * the file gateway to first refresh that directory's contents from the Amazon S3 * bucket or Amazon FSx file system. The TTL duration is in seconds.

Valid * Values:0, 300 to 2,592,000 seconds (5 minutes to 30 days)

*/ inline void SetCacheStaleTimeoutInSeconds(int value) { m_cacheStaleTimeoutInSecondsHasBeenSet = true; m_cacheStaleTimeoutInSeconds = value; } /** *

Refreshes a file share's cache by using Time To Live (TTL). TTL is the length * of time since the last refresh after which access to the directory would cause * the file gateway to first refresh that directory's contents from the Amazon S3 * bucket or Amazon FSx file system. The TTL duration is in seconds.

Valid * Values:0, 300 to 2,592,000 seconds (5 minutes to 30 days)

*/ inline CacheAttributes& WithCacheStaleTimeoutInSeconds(int value) { SetCacheStaleTimeoutInSeconds(value); return *this;} private: int m_cacheStaleTimeoutInSeconds; bool m_cacheStaleTimeoutInSecondsHasBeenSet = false; }; } // namespace Model } // namespace StorageGateway } // namespace Aws