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

Describes the per-path cache behavior of an Amazon Lightsail content delivery * network (CDN) distribution.

A per-path cache behavior is used to * override, or add an exception to, the default cache behavior of a distribution. * For example, if the cacheBehavior is set to cache, * then a per-path cache behavior can be used to specify a directory, file, or file * type that your distribution will cache. Alternately, if the distribution's * cacheBehavior is dont-cache, then a per-path cache * behavior can be used to specify a directory, file, or file type that your * distribution will not cache.

See Also:

AWS * API Reference

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

The path to a directory or file to cached, or not cache. Use an asterisk * symbol to specify wildcard directories (path/to/assets/ *), and file * types (*.html, *jpg, *js). Directories and file paths are * case-sensitive.

Examples:

  • Specify the following to cache * all files in the document root of an Apache web server running on a Lightsail * instance.

    var/www/html/

  • Specify the * following file to cache only the index page in the document root of an Apache * web server.

    var/www/html/index.html

  • *

    Specify the following to cache only the .html files in the document root of * an Apache web server.

    var/www/html/ *.html

  • *

    Specify the following to cache only the .jpg, .png, and .gif files in the * images sub-directory of the document root of an Apache web server.

    * var/www/html/images/ *.jpg

    * var/www/html/images/ *.png

    * var/www/html/images/ *.gif

    Specify the following to cache * all files in the images sub-directory of the document root of an Apache web * server.

    var/www/html/images/

*/ inline const Aws::String& GetPath() const{ return m_path; } /** *

The path to a directory or file to cached, or not cache. Use an asterisk * symbol to specify wildcard directories (path/to/assets/ *), and file * types (*.html, *jpg, *js). Directories and file paths are * case-sensitive.

Examples:

  • Specify the following to cache * all files in the document root of an Apache web server running on a Lightsail * instance.

    var/www/html/

  • Specify the * following file to cache only the index page in the document root of an Apache * web server.

    var/www/html/index.html

  • *

    Specify the following to cache only the .html files in the document root of * an Apache web server.

    var/www/html/ *.html

  • *

    Specify the following to cache only the .jpg, .png, and .gif files in the * images sub-directory of the document root of an Apache web server.

    * var/www/html/images/ *.jpg

    * var/www/html/images/ *.png

    * var/www/html/images/ *.gif

    Specify the following to cache * all files in the images sub-directory of the document root of an Apache web * server.

    var/www/html/images/

*/ inline bool PathHasBeenSet() const { return m_pathHasBeenSet; } /** *

The path to a directory or file to cached, or not cache. Use an asterisk * symbol to specify wildcard directories (path/to/assets/ *), and file * types (*.html, *jpg, *js). Directories and file paths are * case-sensitive.

Examples:

  • Specify the following to cache * all files in the document root of an Apache web server running on a Lightsail * instance.

    var/www/html/

  • Specify the * following file to cache only the index page in the document root of an Apache * web server.

    var/www/html/index.html

  • *

    Specify the following to cache only the .html files in the document root of * an Apache web server.

    var/www/html/ *.html

  • *

    Specify the following to cache only the .jpg, .png, and .gif files in the * images sub-directory of the document root of an Apache web server.

    * var/www/html/images/ *.jpg

    * var/www/html/images/ *.png

    * var/www/html/images/ *.gif

    Specify the following to cache * all files in the images sub-directory of the document root of an Apache web * server.

    var/www/html/images/

*/ inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; } /** *

The path to a directory or file to cached, or not cache. Use an asterisk * symbol to specify wildcard directories (path/to/assets/ *), and file * types (*.html, *jpg, *js). Directories and file paths are * case-sensitive.

Examples:

  • Specify the following to cache * all files in the document root of an Apache web server running on a Lightsail * instance.

    var/www/html/

  • Specify the * following file to cache only the index page in the document root of an Apache * web server.

    var/www/html/index.html

  • *

    Specify the following to cache only the .html files in the document root of * an Apache web server.

    var/www/html/ *.html

  • *

    Specify the following to cache only the .jpg, .png, and .gif files in the * images sub-directory of the document root of an Apache web server.

    * var/www/html/images/ *.jpg

    * var/www/html/images/ *.png

    * var/www/html/images/ *.gif

    Specify the following to cache * all files in the images sub-directory of the document root of an Apache web * server.

    var/www/html/images/

*/ inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); } /** *

The path to a directory or file to cached, or not cache. Use an asterisk * symbol to specify wildcard directories (path/to/assets/ *), and file * types (*.html, *jpg, *js). Directories and file paths are * case-sensitive.

Examples:

  • Specify the following to cache * all files in the document root of an Apache web server running on a Lightsail * instance.

    var/www/html/

  • Specify the * following file to cache only the index page in the document root of an Apache * web server.

    var/www/html/index.html

  • *

    Specify the following to cache only the .html files in the document root of * an Apache web server.

    var/www/html/ *.html

  • *

    Specify the following to cache only the .jpg, .png, and .gif files in the * images sub-directory of the document root of an Apache web server.

    * var/www/html/images/ *.jpg

    * var/www/html/images/ *.png

    * var/www/html/images/ *.gif

    Specify the following to cache * all files in the images sub-directory of the document root of an Apache web * server.

    var/www/html/images/

*/ inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); } /** *

The path to a directory or file to cached, or not cache. Use an asterisk * symbol to specify wildcard directories (path/to/assets/ *), and file * types (*.html, *jpg, *js). Directories and file paths are * case-sensitive.

Examples:

  • Specify the following to cache * all files in the document root of an Apache web server running on a Lightsail * instance.

    var/www/html/

  • Specify the * following file to cache only the index page in the document root of an Apache * web server.

    var/www/html/index.html

  • *

    Specify the following to cache only the .html files in the document root of * an Apache web server.

    var/www/html/ *.html

  • *

    Specify the following to cache only the .jpg, .png, and .gif files in the * images sub-directory of the document root of an Apache web server.

    * var/www/html/images/ *.jpg

    * var/www/html/images/ *.png

    * var/www/html/images/ *.gif

    Specify the following to cache * all files in the images sub-directory of the document root of an Apache web * server.

    var/www/html/images/

*/ inline CacheBehaviorPerPath& WithPath(const Aws::String& value) { SetPath(value); return *this;} /** *

The path to a directory or file to cached, or not cache. Use an asterisk * symbol to specify wildcard directories (path/to/assets/ *), and file * types (*.html, *jpg, *js). Directories and file paths are * case-sensitive.

Examples:

  • Specify the following to cache * all files in the document root of an Apache web server running on a Lightsail * instance.

    var/www/html/

  • Specify the * following file to cache only the index page in the document root of an Apache * web server.

    var/www/html/index.html

  • *

    Specify the following to cache only the .html files in the document root of * an Apache web server.

    var/www/html/ *.html

  • *

    Specify the following to cache only the .jpg, .png, and .gif files in the * images sub-directory of the document root of an Apache web server.

    * var/www/html/images/ *.jpg

    * var/www/html/images/ *.png

    * var/www/html/images/ *.gif

    Specify the following to cache * all files in the images sub-directory of the document root of an Apache web * server.

    var/www/html/images/

*/ inline CacheBehaviorPerPath& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;} /** *

The path to a directory or file to cached, or not cache. Use an asterisk * symbol to specify wildcard directories (path/to/assets/ *), and file * types (*.html, *jpg, *js). Directories and file paths are * case-sensitive.

Examples:

  • Specify the following to cache * all files in the document root of an Apache web server running on a Lightsail * instance.

    var/www/html/

  • Specify the * following file to cache only the index page in the document root of an Apache * web server.

    var/www/html/index.html

  • *

    Specify the following to cache only the .html files in the document root of * an Apache web server.

    var/www/html/ *.html

  • *

    Specify the following to cache only the .jpg, .png, and .gif files in the * images sub-directory of the document root of an Apache web server.

    * var/www/html/images/ *.jpg

    * var/www/html/images/ *.png

    * var/www/html/images/ *.gif

    Specify the following to cache * all files in the images sub-directory of the document root of an Apache web * server.

    var/www/html/images/

*/ inline CacheBehaviorPerPath& WithPath(const char* value) { SetPath(value); return *this;} /** *

The cache behavior for the specified path.

You can specify one of the * following per-path cache behaviors:

  • cache * - This behavior caches the specified path.

  • * dont-cache - This behavior doesn't cache the specified path. *

*/ inline const BehaviorEnum& GetBehavior() const{ return m_behavior; } /** *

The cache behavior for the specified path.

You can specify one of the * following per-path cache behaviors:

  • cache * - This behavior caches the specified path.

  • * dont-cache - This behavior doesn't cache the specified path. *

*/ inline bool BehaviorHasBeenSet() const { return m_behaviorHasBeenSet; } /** *

The cache behavior for the specified path.

You can specify one of the * following per-path cache behaviors:

  • cache * - This behavior caches the specified path.

  • * dont-cache - This behavior doesn't cache the specified path. *

*/ inline void SetBehavior(const BehaviorEnum& value) { m_behaviorHasBeenSet = true; m_behavior = value; } /** *

The cache behavior for the specified path.

You can specify one of the * following per-path cache behaviors:

  • cache * - This behavior caches the specified path.

  • * dont-cache - This behavior doesn't cache the specified path. *

*/ inline void SetBehavior(BehaviorEnum&& value) { m_behaviorHasBeenSet = true; m_behavior = std::move(value); } /** *

The cache behavior for the specified path.

You can specify one of the * following per-path cache behaviors:

  • cache * - This behavior caches the specified path.

  • * dont-cache - This behavior doesn't cache the specified path. *

*/ inline CacheBehaviorPerPath& WithBehavior(const BehaviorEnum& value) { SetBehavior(value); return *this;} /** *

The cache behavior for the specified path.

You can specify one of the * following per-path cache behaviors:

  • cache * - This behavior caches the specified path.

  • * dont-cache - This behavior doesn't cache the specified path. *

*/ inline CacheBehaviorPerPath& WithBehavior(BehaviorEnum&& value) { SetBehavior(std::move(value)); return *this;} private: Aws::String m_path; bool m_pathHasBeenSet = false; BehaviorEnum m_behavior; bool m_behaviorHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws