/** * 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 { /** *

The configuration for avail suppression, also known as ad suppression. For * more information about ad suppression, see Ad * Suppression.

See Also:

AWS * API Reference

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

Defines the policy to apply to the avail suppression mode. * BEHIND_LIVE_EDGE will always use the full avail suppression policy. * AFTER_LIVE_EDGE mode can be used to invoke partial ad break fills * when a session starts mid-break.

*/ inline const FillPolicy& GetFillPolicy() const{ return m_fillPolicy; } /** *

Defines the policy to apply to the avail suppression mode. * BEHIND_LIVE_EDGE will always use the full avail suppression policy. * AFTER_LIVE_EDGE mode can be used to invoke partial ad break fills * when a session starts mid-break.

*/ inline bool FillPolicyHasBeenSet() const { return m_fillPolicyHasBeenSet; } /** *

Defines the policy to apply to the avail suppression mode. * BEHIND_LIVE_EDGE will always use the full avail suppression policy. * AFTER_LIVE_EDGE mode can be used to invoke partial ad break fills * when a session starts mid-break.

*/ inline void SetFillPolicy(const FillPolicy& value) { m_fillPolicyHasBeenSet = true; m_fillPolicy = value; } /** *

Defines the policy to apply to the avail suppression mode. * BEHIND_LIVE_EDGE will always use the full avail suppression policy. * AFTER_LIVE_EDGE mode can be used to invoke partial ad break fills * when a session starts mid-break.

*/ inline void SetFillPolicy(FillPolicy&& value) { m_fillPolicyHasBeenSet = true; m_fillPolicy = std::move(value); } /** *

Defines the policy to apply to the avail suppression mode. * BEHIND_LIVE_EDGE will always use the full avail suppression policy. * AFTER_LIVE_EDGE mode can be used to invoke partial ad break fills * when a session starts mid-break.

*/ inline AvailSuppression& WithFillPolicy(const FillPolicy& value) { SetFillPolicy(value); return *this;} /** *

Defines the policy to apply to the avail suppression mode. * BEHIND_LIVE_EDGE will always use the full avail suppression policy. * AFTER_LIVE_EDGE mode can be used to invoke partial ad break fills * when a session starts mid-break.

*/ inline AvailSuppression& WithFillPolicy(FillPolicy&& value) { SetFillPolicy(std::move(value)); return *this;} /** *

Sets the ad suppression mode. By default, ad suppression is off and all ad * breaks are filled with ads or slate. When Mode is set to * BEHIND_LIVE_EDGE, ad suppression is active and MediaTailor won't * fill ad breaks on or behind the ad suppression Value time in the manifest * lookback window. When Mode is set to AFTER_LIVE_EDGE, ad * suppression is active and MediaTailor won't fill ad breaks that are within the * live edge plus the avail suppression value.

*/ inline const Mode& GetMode() const{ return m_mode; } /** *

Sets the ad suppression mode. By default, ad suppression is off and all ad * breaks are filled with ads or slate. When Mode is set to * BEHIND_LIVE_EDGE, ad suppression is active and MediaTailor won't * fill ad breaks on or behind the ad suppression Value time in the manifest * lookback window. When Mode is set to AFTER_LIVE_EDGE, ad * suppression is active and MediaTailor won't fill ad breaks that are within the * live edge plus the avail suppression value.

*/ inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; } /** *

Sets the ad suppression mode. By default, ad suppression is off and all ad * breaks are filled with ads or slate. When Mode is set to * BEHIND_LIVE_EDGE, ad suppression is active and MediaTailor won't * fill ad breaks on or behind the ad suppression Value time in the manifest * lookback window. When Mode is set to AFTER_LIVE_EDGE, ad * suppression is active and MediaTailor won't fill ad breaks that are within the * live edge plus the avail suppression value.

*/ inline void SetMode(const Mode& value) { m_modeHasBeenSet = true; m_mode = value; } /** *

Sets the ad suppression mode. By default, ad suppression is off and all ad * breaks are filled with ads or slate. When Mode is set to * BEHIND_LIVE_EDGE, ad suppression is active and MediaTailor won't * fill ad breaks on or behind the ad suppression Value time in the manifest * lookback window. When Mode is set to AFTER_LIVE_EDGE, ad * suppression is active and MediaTailor won't fill ad breaks that are within the * live edge plus the avail suppression value.

*/ inline void SetMode(Mode&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); } /** *

Sets the ad suppression mode. By default, ad suppression is off and all ad * breaks are filled with ads or slate. When Mode is set to * BEHIND_LIVE_EDGE, ad suppression is active and MediaTailor won't * fill ad breaks on or behind the ad suppression Value time in the manifest * lookback window. When Mode is set to AFTER_LIVE_EDGE, ad * suppression is active and MediaTailor won't fill ad breaks that are within the * live edge plus the avail suppression value.

*/ inline AvailSuppression& WithMode(const Mode& value) { SetMode(value); return *this;} /** *

Sets the ad suppression mode. By default, ad suppression is off and all ad * breaks are filled with ads or slate. When Mode is set to * BEHIND_LIVE_EDGE, ad suppression is active and MediaTailor won't * fill ad breaks on or behind the ad suppression Value time in the manifest * lookback window. When Mode is set to AFTER_LIVE_EDGE, ad * suppression is active and MediaTailor won't fill ad breaks that are within the * live edge plus the avail suppression value.

*/ inline AvailSuppression& WithMode(Mode&& value) { SetMode(std::move(value)); return *this;} /** *

A live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or * behind this time in the manifest lookback window. If Value is set to 00:00:00, * it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or * behind the live edge. If you set a Value time, MediaTailor won't fill any ad * breaks on or behind this time in the manifest lookback window. For example, if * you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 * minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes * behind the live edge.

*/ inline const Aws::String& GetValue() const{ return m_value; } /** *

A live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or * behind this time in the manifest lookback window. If Value is set to 00:00:00, * it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or * behind the live edge. If you set a Value time, MediaTailor won't fill any ad * breaks on or behind this time in the manifest lookback window. For example, if * you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 * minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes * behind the live edge.

*/ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** *

A live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or * behind this time in the manifest lookback window. If Value is set to 00:00:00, * it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or * behind the live edge. If you set a Value time, MediaTailor won't fill any ad * breaks on or behind this time in the manifest lookback window. For example, if * you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 * minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes * behind the live edge.

*/ inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } /** *

A live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or * behind this time in the manifest lookback window. If Value is set to 00:00:00, * it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or * behind the live edge. If you set a Value time, MediaTailor won't fill any ad * breaks on or behind this time in the manifest lookback window. For example, if * you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 * minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes * behind the live edge.

*/ inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } /** *

A live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or * behind this time in the manifest lookback window. If Value is set to 00:00:00, * it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or * behind the live edge. If you set a Value time, MediaTailor won't fill any ad * breaks on or behind this time in the manifest lookback window. For example, if * you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 * minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes * behind the live edge.

*/ inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } /** *

A live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or * behind this time in the manifest lookback window. If Value is set to 00:00:00, * it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or * behind the live edge. If you set a Value time, MediaTailor won't fill any ad * breaks on or behind this time in the manifest lookback window. For example, if * you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 * minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes * behind the live edge.

*/ inline AvailSuppression& WithValue(const Aws::String& value) { SetValue(value); return *this;} /** *

A live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or * behind this time in the manifest lookback window. If Value is set to 00:00:00, * it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or * behind the live edge. If you set a Value time, MediaTailor won't fill any ad * breaks on or behind this time in the manifest lookback window. For example, if * you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 * minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes * behind the live edge.

*/ inline AvailSuppression& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} /** *

A live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or * behind this time in the manifest lookback window. If Value is set to 00:00:00, * it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or * behind the live edge. If you set a Value time, MediaTailor won't fill any ad * breaks on or behind this time in the manifest lookback window. For example, if * you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 * minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes * behind the live edge.

*/ inline AvailSuppression& WithValue(const char* value) { SetValue(value); return *this;} private: FillPolicy m_fillPolicy; bool m_fillPolicyHasBeenSet = false; Mode m_mode; bool m_modeHasBeenSet = false; Aws::String m_value; bool m_valueHasBeenSet = false; }; } // namespace Model } // namespace MediaTailor } // namespace Aws