/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace MediaTailor { namespace Model { /** *

A complex type that contains settings governing when MediaTailor prefetches * ads, and which dynamic variables that MediaTailor includes in the request to the * ad decision server.

See Also:

AWS * API Reference

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

The dynamic variables to use for substitution during prefetch requests to the * ad decision server (ADS).

You initially configure dynamic * variables for the ADS URL when you set up your playback configuration. When * you specify DynamicVariables for prefetch retrieval, MediaTailor * includes the dynamic variables in the request to the ADS.

*/ inline const Aws::Map& GetDynamicVariables() const{ return m_dynamicVariables; } /** *

The dynamic variables to use for substitution during prefetch requests to the * ad decision server (ADS).

You initially configure dynamic * variables for the ADS URL when you set up your playback configuration. When * you specify DynamicVariables for prefetch retrieval, MediaTailor * includes the dynamic variables in the request to the ADS.

*/ inline bool DynamicVariablesHasBeenSet() const { return m_dynamicVariablesHasBeenSet; } /** *

The dynamic variables to use for substitution during prefetch requests to the * ad decision server (ADS).

You initially configure dynamic * variables for the ADS URL when you set up your playback configuration. When * you specify DynamicVariables for prefetch retrieval, MediaTailor * includes the dynamic variables in the request to the ADS.

*/ inline void SetDynamicVariables(const Aws::Map& value) { m_dynamicVariablesHasBeenSet = true; m_dynamicVariables = value; } /** *

The dynamic variables to use for substitution during prefetch requests to the * ad decision server (ADS).

You initially configure dynamic * variables for the ADS URL when you set up your playback configuration. When * you specify DynamicVariables for prefetch retrieval, MediaTailor * includes the dynamic variables in the request to the ADS.

*/ inline void SetDynamicVariables(Aws::Map&& value) { m_dynamicVariablesHasBeenSet = true; m_dynamicVariables = std::move(value); } /** *

The dynamic variables to use for substitution during prefetch requests to the * ad decision server (ADS).

You initially configure dynamic * variables for the ADS URL when you set up your playback configuration. When * you specify DynamicVariables for prefetch retrieval, MediaTailor * includes the dynamic variables in the request to the ADS.

*/ inline PrefetchRetrieval& WithDynamicVariables(const Aws::Map& value) { SetDynamicVariables(value); return *this;} /** *

The dynamic variables to use for substitution during prefetch requests to the * ad decision server (ADS).

You initially configure dynamic * variables for the ADS URL when you set up your playback configuration. When * you specify DynamicVariables for prefetch retrieval, MediaTailor * includes the dynamic variables in the request to the ADS.

*/ inline PrefetchRetrieval& WithDynamicVariables(Aws::Map&& value) { SetDynamicVariables(std::move(value)); return *this;} /** *

The dynamic variables to use for substitution during prefetch requests to the * ad decision server (ADS).

You initially configure dynamic * variables for the ADS URL when you set up your playback configuration. When * you specify DynamicVariables for prefetch retrieval, MediaTailor * includes the dynamic variables in the request to the ADS.

*/ inline PrefetchRetrieval& AddDynamicVariables(const Aws::String& key, const Aws::String& value) { m_dynamicVariablesHasBeenSet = true; m_dynamicVariables.emplace(key, value); return *this; } /** *

The dynamic variables to use for substitution during prefetch requests to the * ad decision server (ADS).

You initially configure dynamic * variables for the ADS URL when you set up your playback configuration. When * you specify DynamicVariables for prefetch retrieval, MediaTailor * includes the dynamic variables in the request to the ADS.

*/ inline PrefetchRetrieval& AddDynamicVariables(Aws::String&& key, const Aws::String& value) { m_dynamicVariablesHasBeenSet = true; m_dynamicVariables.emplace(std::move(key), value); return *this; } /** *

The dynamic variables to use for substitution during prefetch requests to the * ad decision server (ADS).

You initially configure dynamic * variables for the ADS URL when you set up your playback configuration. When * you specify DynamicVariables for prefetch retrieval, MediaTailor * includes the dynamic variables in the request to the ADS.

*/ inline PrefetchRetrieval& AddDynamicVariables(const Aws::String& key, Aws::String&& value) { m_dynamicVariablesHasBeenSet = true; m_dynamicVariables.emplace(key, std::move(value)); return *this; } /** *

The dynamic variables to use for substitution during prefetch requests to the * ad decision server (ADS).

You initially configure dynamic * variables for the ADS URL when you set up your playback configuration. When * you specify DynamicVariables for prefetch retrieval, MediaTailor * includes the dynamic variables in the request to the ADS.

*/ inline PrefetchRetrieval& AddDynamicVariables(Aws::String&& key, Aws::String&& value) { m_dynamicVariablesHasBeenSet = true; m_dynamicVariables.emplace(std::move(key), std::move(value)); return *this; } /** *

The dynamic variables to use for substitution during prefetch requests to the * ad decision server (ADS).

You initially configure dynamic * variables for the ADS URL when you set up your playback configuration. When * you specify DynamicVariables for prefetch retrieval, MediaTailor * includes the dynamic variables in the request to the ADS.

*/ inline PrefetchRetrieval& AddDynamicVariables(const char* key, Aws::String&& value) { m_dynamicVariablesHasBeenSet = true; m_dynamicVariables.emplace(key, std::move(value)); return *this; } /** *

The dynamic variables to use for substitution during prefetch requests to the * ad decision server (ADS).

You initially configure dynamic * variables for the ADS URL when you set up your playback configuration. When * you specify DynamicVariables for prefetch retrieval, MediaTailor * includes the dynamic variables in the request to the ADS.

*/ inline PrefetchRetrieval& AddDynamicVariables(Aws::String&& key, const char* value) { m_dynamicVariablesHasBeenSet = true; m_dynamicVariables.emplace(std::move(key), value); return *this; } /** *

The dynamic variables to use for substitution during prefetch requests to the * ad decision server (ADS).

You initially configure dynamic * variables for the ADS URL when you set up your playback configuration. When * you specify DynamicVariables for prefetch retrieval, MediaTailor * includes the dynamic variables in the request to the ADS.

*/ inline PrefetchRetrieval& AddDynamicVariables(const char* key, const char* value) { m_dynamicVariablesHasBeenSet = true; m_dynamicVariables.emplace(key, value); return *this; } /** *

The time when prefetch retrieval ends for the ad break. Prefetching will be * attempted for manifest requests that occur at or before this time.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } /** *

The time when prefetch retrieval ends for the ad break. Prefetching will be * attempted for manifest requests that occur at or before this time.

*/ inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } /** *

The time when prefetch retrieval ends for the ad break. Prefetching will be * attempted for manifest requests that occur at or before this time.

*/ inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } /** *

The time when prefetch retrieval ends for the ad break. Prefetching will be * attempted for manifest requests that occur at or before this time.

*/ inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } /** *

The time when prefetch retrieval ends for the ad break. Prefetching will be * attempted for manifest requests that occur at or before this time.

*/ inline PrefetchRetrieval& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} /** *

The time when prefetch retrieval ends for the ad break. Prefetching will be * attempted for manifest requests that occur at or before this time.

*/ inline PrefetchRetrieval& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} /** *

The time when prefetch retrievals can start for this break. Ad prefetching * will be attempted for manifest requests that occur at or after this time. * Defaults to the current time. If not specified, the prefetch retrieval starts as * soon as possible.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *

The time when prefetch retrievals can start for this break. Ad prefetching * will be attempted for manifest requests that occur at or after this time. * Defaults to the current time. If not specified, the prefetch retrieval starts as * soon as possible.

*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *

The time when prefetch retrievals can start for this break. Ad prefetching * will be attempted for manifest requests that occur at or after this time. * Defaults to the current time. If not specified, the prefetch retrieval starts as * soon as possible.

*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *

The time when prefetch retrievals can start for this break. Ad prefetching * will be attempted for manifest requests that occur at or after this time. * Defaults to the current time. If not specified, the prefetch retrieval starts as * soon as possible.

*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *

The time when prefetch retrievals can start for this break. Ad prefetching * will be attempted for manifest requests that occur at or after this time. * Defaults to the current time. If not specified, the prefetch retrieval starts as * soon as possible.

*/ inline PrefetchRetrieval& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *

The time when prefetch retrievals can start for this break. Ad prefetching * will be attempted for manifest requests that occur at or after this time. * Defaults to the current time. If not specified, the prefetch retrieval starts as * soon as possible.

*/ inline PrefetchRetrieval& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} private: Aws::Map m_dynamicVariables; bool m_dynamicVariablesHasBeenSet = false; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet = false; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; }; } // namespace Model } // namespace MediaTailor } // namespace Aws