1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/medialive/MediaLive_EXPORTS.h>
8 #include <aws/medialive/model/FeatureActivationsInputPrepareScheduleActions.h>
9 #include <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace MediaLive
22 {
23 namespace Model
24 {
25 
26   /**
27    * Feature Activations<p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/FeatureActivations">AWS
29    * API Reference</a></p>
30    */
31   class AWS_MEDIALIVE_API FeatureActivations
32   {
33   public:
34     FeatureActivations();
35     FeatureActivations(Aws::Utils::Json::JsonView jsonValue);
36     FeatureActivations& operator=(Aws::Utils::Json::JsonView jsonValue);
37     Aws::Utils::Json::JsonValue Jsonize() const;
38 
39 
40     /**
41      * Enables the Input Prepare feature. You can create Input Prepare actions in the
42      * schedule only if this feature is enabled.
43 If you disable the feature on an
44      * existing schedule, make sure that you first delete all input prepare actions
45      * from the schedule.
46      */
GetInputPrepareScheduleActions()47     inline const FeatureActivationsInputPrepareScheduleActions& GetInputPrepareScheduleActions() const{ return m_inputPrepareScheduleActions; }
48 
49     /**
50      * Enables the Input Prepare feature. You can create Input Prepare actions in the
51      * schedule only if this feature is enabled.
52 If you disable the feature on an
53      * existing schedule, make sure that you first delete all input prepare actions
54      * from the schedule.
55      */
InputPrepareScheduleActionsHasBeenSet()56     inline bool InputPrepareScheduleActionsHasBeenSet() const { return m_inputPrepareScheduleActionsHasBeenSet; }
57 
58     /**
59      * Enables the Input Prepare feature. You can create Input Prepare actions in the
60      * schedule only if this feature is enabled.
61 If you disable the feature on an
62      * existing schedule, make sure that you first delete all input prepare actions
63      * from the schedule.
64      */
SetInputPrepareScheduleActions(const FeatureActivationsInputPrepareScheduleActions & value)65     inline void SetInputPrepareScheduleActions(const FeatureActivationsInputPrepareScheduleActions& value) { m_inputPrepareScheduleActionsHasBeenSet = true; m_inputPrepareScheduleActions = value; }
66 
67     /**
68      * Enables the Input Prepare feature. You can create Input Prepare actions in the
69      * schedule only if this feature is enabled.
70 If you disable the feature on an
71      * existing schedule, make sure that you first delete all input prepare actions
72      * from the schedule.
73      */
SetInputPrepareScheduleActions(FeatureActivationsInputPrepareScheduleActions && value)74     inline void SetInputPrepareScheduleActions(FeatureActivationsInputPrepareScheduleActions&& value) { m_inputPrepareScheduleActionsHasBeenSet = true; m_inputPrepareScheduleActions = std::move(value); }
75 
76     /**
77      * Enables the Input Prepare feature. You can create Input Prepare actions in the
78      * schedule only if this feature is enabled.
79 If you disable the feature on an
80      * existing schedule, make sure that you first delete all input prepare actions
81      * from the schedule.
82      */
WithInputPrepareScheduleActions(const FeatureActivationsInputPrepareScheduleActions & value)83     inline FeatureActivations& WithInputPrepareScheduleActions(const FeatureActivationsInputPrepareScheduleActions& value) { SetInputPrepareScheduleActions(value); return *this;}
84 
85     /**
86      * Enables the Input Prepare feature. You can create Input Prepare actions in the
87      * schedule only if this feature is enabled.
88 If you disable the feature on an
89      * existing schedule, make sure that you first delete all input prepare actions
90      * from the schedule.
91      */
WithInputPrepareScheduleActions(FeatureActivationsInputPrepareScheduleActions && value)92     inline FeatureActivations& WithInputPrepareScheduleActions(FeatureActivationsInputPrepareScheduleActions&& value) { SetInputPrepareScheduleActions(std::move(value)); return *this;}
93 
94   private:
95 
96     FeatureActivationsInputPrepareScheduleActions m_inputPrepareScheduleActions;
97     bool m_inputPrepareScheduleActionsHasBeenSet;
98   };
99 
100 } // namespace Model
101 } // namespace MediaLive
102 } // namespace Aws
103