/** * 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 query string parameters that an Amazon Lightsail content * delivery network (CDN) distribution to bases caching on.

For the query * strings that you specify, your distribution caches separate versions of the * specified content based on the query string values in viewer * requests.

See Also:

AWS * API Reference

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

Indicates whether the distribution forwards and caches based on query * strings.

*/ inline bool GetOption() const{ return m_option; } /** *

Indicates whether the distribution forwards and caches based on query * strings.

*/ inline bool OptionHasBeenSet() const { return m_optionHasBeenSet; } /** *

Indicates whether the distribution forwards and caches based on query * strings.

*/ inline void SetOption(bool value) { m_optionHasBeenSet = true; m_option = value; } /** *

Indicates whether the distribution forwards and caches based on query * strings.

*/ inline QueryStringObject& WithOption(bool value) { SetOption(value); return *this;} /** *

The specific query strings that the distribution forwards to the origin.

*

Your distribution will cache content based on the specified query * strings.

If the option parameter is true, then your * distribution forwards all query strings, regardless of what you specify using * the queryStringsAllowList parameter.

*/ inline const Aws::Vector& GetQueryStringsAllowList() const{ return m_queryStringsAllowList; } /** *

The specific query strings that the distribution forwards to the origin.

*

Your distribution will cache content based on the specified query * strings.

If the option parameter is true, then your * distribution forwards all query strings, regardless of what you specify using * the queryStringsAllowList parameter.

*/ inline bool QueryStringsAllowListHasBeenSet() const { return m_queryStringsAllowListHasBeenSet; } /** *

The specific query strings that the distribution forwards to the origin.

*

Your distribution will cache content based on the specified query * strings.

If the option parameter is true, then your * distribution forwards all query strings, regardless of what you specify using * the queryStringsAllowList parameter.

*/ inline void SetQueryStringsAllowList(const Aws::Vector& value) { m_queryStringsAllowListHasBeenSet = true; m_queryStringsAllowList = value; } /** *

The specific query strings that the distribution forwards to the origin.

*

Your distribution will cache content based on the specified query * strings.

If the option parameter is true, then your * distribution forwards all query strings, regardless of what you specify using * the queryStringsAllowList parameter.

*/ inline void SetQueryStringsAllowList(Aws::Vector&& value) { m_queryStringsAllowListHasBeenSet = true; m_queryStringsAllowList = std::move(value); } /** *

The specific query strings that the distribution forwards to the origin.

*

Your distribution will cache content based on the specified query * strings.

If the option parameter is true, then your * distribution forwards all query strings, regardless of what you specify using * the queryStringsAllowList parameter.

*/ inline QueryStringObject& WithQueryStringsAllowList(const Aws::Vector& value) { SetQueryStringsAllowList(value); return *this;} /** *

The specific query strings that the distribution forwards to the origin.

*

Your distribution will cache content based on the specified query * strings.

If the option parameter is true, then your * distribution forwards all query strings, regardless of what you specify using * the queryStringsAllowList parameter.

*/ inline QueryStringObject& WithQueryStringsAllowList(Aws::Vector&& value) { SetQueryStringsAllowList(std::move(value)); return *this;} /** *

The specific query strings that the distribution forwards to the origin.

*

Your distribution will cache content based on the specified query * strings.

If the option parameter is true, then your * distribution forwards all query strings, regardless of what you specify using * the queryStringsAllowList parameter.

*/ inline QueryStringObject& AddQueryStringsAllowList(const Aws::String& value) { m_queryStringsAllowListHasBeenSet = true; m_queryStringsAllowList.push_back(value); return *this; } /** *

The specific query strings that the distribution forwards to the origin.

*

Your distribution will cache content based on the specified query * strings.

If the option parameter is true, then your * distribution forwards all query strings, regardless of what you specify using * the queryStringsAllowList parameter.

*/ inline QueryStringObject& AddQueryStringsAllowList(Aws::String&& value) { m_queryStringsAllowListHasBeenSet = true; m_queryStringsAllowList.push_back(std::move(value)); return *this; } /** *

The specific query strings that the distribution forwards to the origin.

*

Your distribution will cache content based on the specified query * strings.

If the option parameter is true, then your * distribution forwards all query strings, regardless of what you specify using * the queryStringsAllowList parameter.

*/ inline QueryStringObject& AddQueryStringsAllowList(const char* value) { m_queryStringsAllowListHasBeenSet = true; m_queryStringsAllowList.push_back(value); return *this; } private: bool m_option; bool m_optionHasBeenSet = false; Aws::Vector m_queryStringsAllowList; bool m_queryStringsAllowListHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws