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/AWSString.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    * MediaPackage Output Destination Settings<p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/MediaPackageOutputDestinationSettings">AWS
29    * API Reference</a></p>
30    */
31   class AWS_MEDIALIVE_API MediaPackageOutputDestinationSettings
32   {
33   public:
34     MediaPackageOutputDestinationSettings();
35     MediaPackageOutputDestinationSettings(Aws::Utils::Json::JsonView jsonValue);
36     MediaPackageOutputDestinationSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
37     Aws::Utils::Json::JsonValue Jsonize() const;
38 
39 
40     /**
41      * ID of the channel in MediaPackage that is the destination for this output group.
42      * You do not need to specify the individual inputs in MediaPackage; MediaLive will
43      * handle the connection of the two MediaLive pipelines to the two MediaPackage
44      * inputs. The MediaPackage channel and MediaLive channel must be in the same
45      * region.
46      */
GetChannelId()47     inline const Aws::String& GetChannelId() const{ return m_channelId; }
48 
49     /**
50      * ID of the channel in MediaPackage that is the destination for this output group.
51      * You do not need to specify the individual inputs in MediaPackage; MediaLive will
52      * handle the connection of the two MediaLive pipelines to the two MediaPackage
53      * inputs. The MediaPackage channel and MediaLive channel must be in the same
54      * region.
55      */
ChannelIdHasBeenSet()56     inline bool ChannelIdHasBeenSet() const { return m_channelIdHasBeenSet; }
57 
58     /**
59      * ID of the channel in MediaPackage that is the destination for this output group.
60      * You do not need to specify the individual inputs in MediaPackage; MediaLive will
61      * handle the connection of the two MediaLive pipelines to the two MediaPackage
62      * inputs. The MediaPackage channel and MediaLive channel must be in the same
63      * region.
64      */
SetChannelId(const Aws::String & value)65     inline void SetChannelId(const Aws::String& value) { m_channelIdHasBeenSet = true; m_channelId = value; }
66 
67     /**
68      * ID of the channel in MediaPackage that is the destination for this output group.
69      * You do not need to specify the individual inputs in MediaPackage; MediaLive will
70      * handle the connection of the two MediaLive pipelines to the two MediaPackage
71      * inputs. The MediaPackage channel and MediaLive channel must be in the same
72      * region.
73      */
SetChannelId(Aws::String && value)74     inline void SetChannelId(Aws::String&& value) { m_channelIdHasBeenSet = true; m_channelId = std::move(value); }
75 
76     /**
77      * ID of the channel in MediaPackage that is the destination for this output group.
78      * You do not need to specify the individual inputs in MediaPackage; MediaLive will
79      * handle the connection of the two MediaLive pipelines to the two MediaPackage
80      * inputs. The MediaPackage channel and MediaLive channel must be in the same
81      * region.
82      */
SetChannelId(const char * value)83     inline void SetChannelId(const char* value) { m_channelIdHasBeenSet = true; m_channelId.assign(value); }
84 
85     /**
86      * ID of the channel in MediaPackage that is the destination for this output group.
87      * You do not need to specify the individual inputs in MediaPackage; MediaLive will
88      * handle the connection of the two MediaLive pipelines to the two MediaPackage
89      * inputs. The MediaPackage channel and MediaLive channel must be in the same
90      * region.
91      */
WithChannelId(const Aws::String & value)92     inline MediaPackageOutputDestinationSettings& WithChannelId(const Aws::String& value) { SetChannelId(value); return *this;}
93 
94     /**
95      * ID of the channel in MediaPackage that is the destination for this output group.
96      * You do not need to specify the individual inputs in MediaPackage; MediaLive will
97      * handle the connection of the two MediaLive pipelines to the two MediaPackage
98      * inputs. The MediaPackage channel and MediaLive channel must be in the same
99      * region.
100      */
WithChannelId(Aws::String && value)101     inline MediaPackageOutputDestinationSettings& WithChannelId(Aws::String&& value) { SetChannelId(std::move(value)); return *this;}
102 
103     /**
104      * ID of the channel in MediaPackage that is the destination for this output group.
105      * You do not need to specify the individual inputs in MediaPackage; MediaLive will
106      * handle the connection of the two MediaLive pipelines to the two MediaPackage
107      * inputs. The MediaPackage channel and MediaLive channel must be in the same
108      * region.
109      */
WithChannelId(const char * value)110     inline MediaPackageOutputDestinationSettings& WithChannelId(const char* value) { SetChannelId(value); return *this;}
111 
112   private:
113 
114     Aws::String m_channelId;
115     bool m_channelIdHasBeenSet;
116   };
117 
118 } // namespace Model
119 } // namespace MediaLive
120 } // namespace Aws
121