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/core/utils/memory/stl/AWSVector.h>
9 #include <aws/medialive/model/ScheduleAction.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace MediaLive
23 {
24 namespace Model
25 {
26 
27   /**
28    * A list of schedule actions to create (in a request) or that have been created
29    * (in a response).<p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/BatchScheduleActionCreateRequest">AWS
31    * API Reference</a></p>
32    */
33   class AWS_MEDIALIVE_API BatchScheduleActionCreateRequest
34   {
35   public:
36     BatchScheduleActionCreateRequest();
37     BatchScheduleActionCreateRequest(Aws::Utils::Json::JsonView jsonValue);
38     BatchScheduleActionCreateRequest& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * A list of schedule actions to create.
44      */
GetScheduleActions()45     inline const Aws::Vector<ScheduleAction>& GetScheduleActions() const{ return m_scheduleActions; }
46 
47     /**
48      * A list of schedule actions to create.
49      */
ScheduleActionsHasBeenSet()50     inline bool ScheduleActionsHasBeenSet() const { return m_scheduleActionsHasBeenSet; }
51 
52     /**
53      * A list of schedule actions to create.
54      */
SetScheduleActions(const Aws::Vector<ScheduleAction> & value)55     inline void SetScheduleActions(const Aws::Vector<ScheduleAction>& value) { m_scheduleActionsHasBeenSet = true; m_scheduleActions = value; }
56 
57     /**
58      * A list of schedule actions to create.
59      */
SetScheduleActions(Aws::Vector<ScheduleAction> && value)60     inline void SetScheduleActions(Aws::Vector<ScheduleAction>&& value) { m_scheduleActionsHasBeenSet = true; m_scheduleActions = std::move(value); }
61 
62     /**
63      * A list of schedule actions to create.
64      */
WithScheduleActions(const Aws::Vector<ScheduleAction> & value)65     inline BatchScheduleActionCreateRequest& WithScheduleActions(const Aws::Vector<ScheduleAction>& value) { SetScheduleActions(value); return *this;}
66 
67     /**
68      * A list of schedule actions to create.
69      */
WithScheduleActions(Aws::Vector<ScheduleAction> && value)70     inline BatchScheduleActionCreateRequest& WithScheduleActions(Aws::Vector<ScheduleAction>&& value) { SetScheduleActions(std::move(value)); return *this;}
71 
72     /**
73      * A list of schedule actions to create.
74      */
AddScheduleActions(const ScheduleAction & value)75     inline BatchScheduleActionCreateRequest& AddScheduleActions(const ScheduleAction& value) { m_scheduleActionsHasBeenSet = true; m_scheduleActions.push_back(value); return *this; }
76 
77     /**
78      * A list of schedule actions to create.
79      */
AddScheduleActions(ScheduleAction && value)80     inline BatchScheduleActionCreateRequest& AddScheduleActions(ScheduleAction&& value) { m_scheduleActionsHasBeenSet = true; m_scheduleActions.push_back(std::move(value)); return *this; }
81 
82   private:
83 
84     Aws::Vector<ScheduleAction> m_scheduleActions;
85     bool m_scheduleActionsHasBeenSet;
86   };
87 
88 } // namespace Model
89 } // namespace MediaLive
90 } // namespace Aws
91