/** * 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 MediaTailor { namespace Model { /** *

MediaTailor only places (consumes) prefetched ads if the ad break meets the * criteria defined by the dynamic variables. This gives you granular control over * which ad break to place the prefetched ads into.

As an example, let's say * that you set DynamicVariable to scte.event_id and * Operator to EQUALS, and your playback configuration * has an ADS URL of * https://my.ads.server.com/path?&podId=[scte.avail_num]&event=[scte.event_id]&duration=[session.avail_duration_secs]. * And the prefetch request to the ADS contains these values * https://my.ads.server.com/path?&podId=3&event=my-awesome-event&duration=30. * MediaTailor will only insert the prefetched ads into the ad break if has a SCTE * marker with an event id of my-awesome-event, since it must match * the event id that MediaTailor uses to query the ADS.

You can specify up * to five AvailMatchingCriteria. If you specify multiple * AvailMatchingCriteria, MediaTailor combines them to match using a * logical AND. You can model logical OR combinations by * creating multiple prefetch schedules.

See Also:

AWS * API Reference

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

The dynamic variable(s) that MediaTailor should use as avail matching * criteria. MediaTailor only places the prefetched ads into the avail if the avail * matches the criteria defined by the dynamic variable. For information about * dynamic variables, see Using * dynamic ad variables in the MediaTailor User Guide.

You can * include up to 100 dynamic variables.

*/ inline const Aws::String& GetDynamicVariable() const{ return m_dynamicVariable; } /** *

The dynamic variable(s) that MediaTailor should use as avail matching * criteria. MediaTailor only places the prefetched ads into the avail if the avail * matches the criteria defined by the dynamic variable. For information about * dynamic variables, see Using * dynamic ad variables in the MediaTailor User Guide.

You can * include up to 100 dynamic variables.

*/ inline bool DynamicVariableHasBeenSet() const { return m_dynamicVariableHasBeenSet; } /** *

The dynamic variable(s) that MediaTailor should use as avail matching * criteria. MediaTailor only places the prefetched ads into the avail if the avail * matches the criteria defined by the dynamic variable. For information about * dynamic variables, see Using * dynamic ad variables in the MediaTailor User Guide.

You can * include up to 100 dynamic variables.

*/ inline void SetDynamicVariable(const Aws::String& value) { m_dynamicVariableHasBeenSet = true; m_dynamicVariable = value; } /** *

The dynamic variable(s) that MediaTailor should use as avail matching * criteria. MediaTailor only places the prefetched ads into the avail if the avail * matches the criteria defined by the dynamic variable. For information about * dynamic variables, see Using * dynamic ad variables in the MediaTailor User Guide.

You can * include up to 100 dynamic variables.

*/ inline void SetDynamicVariable(Aws::String&& value) { m_dynamicVariableHasBeenSet = true; m_dynamicVariable = std::move(value); } /** *

The dynamic variable(s) that MediaTailor should use as avail matching * criteria. MediaTailor only places the prefetched ads into the avail if the avail * matches the criteria defined by the dynamic variable. For information about * dynamic variables, see Using * dynamic ad variables in the MediaTailor User Guide.

You can * include up to 100 dynamic variables.

*/ inline void SetDynamicVariable(const char* value) { m_dynamicVariableHasBeenSet = true; m_dynamicVariable.assign(value); } /** *

The dynamic variable(s) that MediaTailor should use as avail matching * criteria. MediaTailor only places the prefetched ads into the avail if the avail * matches the criteria defined by the dynamic variable. For information about * dynamic variables, see Using * dynamic ad variables in the MediaTailor User Guide.

You can * include up to 100 dynamic variables.

*/ inline AvailMatchingCriteria& WithDynamicVariable(const Aws::String& value) { SetDynamicVariable(value); return *this;} /** *

The dynamic variable(s) that MediaTailor should use as avail matching * criteria. MediaTailor only places the prefetched ads into the avail if the avail * matches the criteria defined by the dynamic variable. For information about * dynamic variables, see Using * dynamic ad variables in the MediaTailor User Guide.

You can * include up to 100 dynamic variables.

*/ inline AvailMatchingCriteria& WithDynamicVariable(Aws::String&& value) { SetDynamicVariable(std::move(value)); return *this;} /** *

The dynamic variable(s) that MediaTailor should use as avail matching * criteria. MediaTailor only places the prefetched ads into the avail if the avail * matches the criteria defined by the dynamic variable. For information about * dynamic variables, see Using * dynamic ad variables in the MediaTailor User Guide.

You can * include up to 100 dynamic variables.

*/ inline AvailMatchingCriteria& WithDynamicVariable(const char* value) { SetDynamicVariable(value); return *this;} /** *

For the DynamicVariable specified in * AvailMatchingCriteria, the Operator that is used for the * comparison.

*/ inline const Operator& GetOperator() const{ return m_operator; } /** *

For the DynamicVariable specified in * AvailMatchingCriteria, the Operator that is used for the * comparison.

*/ inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; } /** *

For the DynamicVariable specified in * AvailMatchingCriteria, the Operator that is used for the * comparison.

*/ inline void SetOperator(const Operator& value) { m_operatorHasBeenSet = true; m_operator = value; } /** *

For the DynamicVariable specified in * AvailMatchingCriteria, the Operator that is used for the * comparison.

*/ inline void SetOperator(Operator&& value) { m_operatorHasBeenSet = true; m_operator = std::move(value); } /** *

For the DynamicVariable specified in * AvailMatchingCriteria, the Operator that is used for the * comparison.

*/ inline AvailMatchingCriteria& WithOperator(const Operator& value) { SetOperator(value); return *this;} /** *

For the DynamicVariable specified in * AvailMatchingCriteria, the Operator that is used for the * comparison.

*/ inline AvailMatchingCriteria& WithOperator(Operator&& value) { SetOperator(std::move(value)); return *this;} private: Aws::String m_dynamicVariable; bool m_dynamicVariableHasBeenSet = false; Operator m_operator; bool m_operatorHasBeenSet = false; }; } // namespace Model } // namespace MediaTailor } // namespace Aws