AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
OutputGroupSettings.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/mediaconvert/MediaConvert_EXPORTS.h>
9#include <aws/mediaconvert/model/CmafGroupSettings.h>
10#include <aws/mediaconvert/model/DashIsoGroupSettings.h>
11#include <aws/mediaconvert/model/FileGroupSettings.h>
12#include <aws/mediaconvert/model/FrameMetricType.h>
13#include <aws/mediaconvert/model/HlsGroupSettings.h>
14#include <aws/mediaconvert/model/MsSmoothGroupSettings.h>
15#include <aws/mediaconvert/model/OutputGroupType.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace MediaConvert {
27namespace Model {
28
35 public:
36 AWS_MEDIACONVERT_API OutputGroupSettings() = default;
37 AWS_MEDIACONVERT_API OutputGroupSettings(Aws::Utils::Json::JsonView jsonValue);
39 AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
46 inline const CmafGroupSettings& GetCmafGroupSettings() const { return m_cmafGroupSettings; }
47 inline bool CmafGroupSettingsHasBeenSet() const { return m_cmafGroupSettingsHasBeenSet; }
48 template <typename CmafGroupSettingsT = CmafGroupSettings>
49 void SetCmafGroupSettings(CmafGroupSettingsT&& value) {
50 m_cmafGroupSettingsHasBeenSet = true;
51 m_cmafGroupSettings = std::forward<CmafGroupSettingsT>(value);
52 }
53 template <typename CmafGroupSettingsT = CmafGroupSettings>
54 OutputGroupSettings& WithCmafGroupSettings(CmafGroupSettingsT&& value) {
55 SetCmafGroupSettings(std::forward<CmafGroupSettingsT>(value));
56 return *this;
57 }
59
61
65 inline const DashIsoGroupSettings& GetDashIsoGroupSettings() const { return m_dashIsoGroupSettings; }
66 inline bool DashIsoGroupSettingsHasBeenSet() const { return m_dashIsoGroupSettingsHasBeenSet; }
67 template <typename DashIsoGroupSettingsT = DashIsoGroupSettings>
68 void SetDashIsoGroupSettings(DashIsoGroupSettingsT&& value) {
69 m_dashIsoGroupSettingsHasBeenSet = true;
70 m_dashIsoGroupSettings = std::forward<DashIsoGroupSettingsT>(value);
71 }
72 template <typename DashIsoGroupSettingsT = DashIsoGroupSettings>
73 OutputGroupSettings& WithDashIsoGroupSettings(DashIsoGroupSettingsT&& value) {
74 SetDashIsoGroupSettings(std::forward<DashIsoGroupSettingsT>(value));
75 return *this;
76 }
78
80
84 inline const FileGroupSettings& GetFileGroupSettings() const { return m_fileGroupSettings; }
85 inline bool FileGroupSettingsHasBeenSet() const { return m_fileGroupSettingsHasBeenSet; }
86 template <typename FileGroupSettingsT = FileGroupSettings>
87 void SetFileGroupSettings(FileGroupSettingsT&& value) {
88 m_fileGroupSettingsHasBeenSet = true;
89 m_fileGroupSettings = std::forward<FileGroupSettingsT>(value);
90 }
91 template <typename FileGroupSettingsT = FileGroupSettings>
92 OutputGroupSettings& WithFileGroupSettings(FileGroupSettingsT&& value) {
93 SetFileGroupSettings(std::forward<FileGroupSettingsT>(value));
94 return *this;
95 }
97
99
103 inline const HlsGroupSettings& GetHlsGroupSettings() const { return m_hlsGroupSettings; }
104 inline bool HlsGroupSettingsHasBeenSet() const { return m_hlsGroupSettingsHasBeenSet; }
105 template <typename HlsGroupSettingsT = HlsGroupSettings>
106 void SetHlsGroupSettings(HlsGroupSettingsT&& value) {
107 m_hlsGroupSettingsHasBeenSet = true;
108 m_hlsGroupSettings = std::forward<HlsGroupSettingsT>(value);
109 }
110 template <typename HlsGroupSettingsT = HlsGroupSettings>
111 OutputGroupSettings& WithHlsGroupSettings(HlsGroupSettingsT&& value) {
112 SetHlsGroupSettings(std::forward<HlsGroupSettingsT>(value));
113 return *this;
114 }
116
118
123 inline const MsSmoothGroupSettings& GetMsSmoothGroupSettings() const { return m_msSmoothGroupSettings; }
124 inline bool MsSmoothGroupSettingsHasBeenSet() const { return m_msSmoothGroupSettingsHasBeenSet; }
125 template <typename MsSmoothGroupSettingsT = MsSmoothGroupSettings>
126 void SetMsSmoothGroupSettings(MsSmoothGroupSettingsT&& value) {
127 m_msSmoothGroupSettingsHasBeenSet = true;
128 m_msSmoothGroupSettings = std::forward<MsSmoothGroupSettingsT>(value);
129 }
130 template <typename MsSmoothGroupSettingsT = MsSmoothGroupSettings>
131 OutputGroupSettings& WithMsSmoothGroupSettings(MsSmoothGroupSettingsT&& value) {
132 SetMsSmoothGroupSettings(std::forward<MsSmoothGroupSettingsT>(value));
133 return *this;
134 }
136
138
157 inline const Aws::Vector<FrameMetricType>& GetPerFrameMetrics() const { return m_perFrameMetrics; }
158 inline bool PerFrameMetricsHasBeenSet() const { return m_perFrameMetricsHasBeenSet; }
159 template <typename PerFrameMetricsT = Aws::Vector<FrameMetricType>>
160 void SetPerFrameMetrics(PerFrameMetricsT&& value) {
161 m_perFrameMetricsHasBeenSet = true;
162 m_perFrameMetrics = std::forward<PerFrameMetricsT>(value);
163 }
164 template <typename PerFrameMetricsT = Aws::Vector<FrameMetricType>>
165 OutputGroupSettings& WithPerFrameMetrics(PerFrameMetricsT&& value) {
166 SetPerFrameMetrics(std::forward<PerFrameMetricsT>(value));
167 return *this;
168 }
170 m_perFrameMetricsHasBeenSet = true;
171 m_perFrameMetrics.push_back(value);
172 return *this;
173 }
175
177
181 inline OutputGroupType GetType() const { return m_type; }
182 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
183 inline void SetType(OutputGroupType value) {
184 m_typeHasBeenSet = true;
185 m_type = value;
186 }
188 SetType(value);
189 return *this;
190 }
192 private:
193 CmafGroupSettings m_cmafGroupSettings;
194
195 DashIsoGroupSettings m_dashIsoGroupSettings;
196
197 FileGroupSettings m_fileGroupSettings;
198
199 HlsGroupSettings m_hlsGroupSettings;
200
201 MsSmoothGroupSettings m_msSmoothGroupSettings;
202
203 Aws::Vector<FrameMetricType> m_perFrameMetrics;
204
206 bool m_cmafGroupSettingsHasBeenSet = false;
207 bool m_dashIsoGroupSettingsHasBeenSet = false;
208 bool m_fileGroupSettingsHasBeenSet = false;
209 bool m_hlsGroupSettingsHasBeenSet = false;
210 bool m_msSmoothGroupSettingsHasBeenSet = false;
211 bool m_perFrameMetricsHasBeenSet = false;
212 bool m_typeHasBeenSet = false;
213};
214
215} // namespace Model
216} // namespace MediaConvert
217} // namespace Aws
void SetHlsGroupSettings(HlsGroupSettingsT &&value)
const DashIsoGroupSettings & GetDashIsoGroupSettings() const
const HlsGroupSettings & GetHlsGroupSettings() const
void SetCmafGroupSettings(CmafGroupSettingsT &&value)
AWS_MEDIACONVERT_API OutputGroupSettings(Aws::Utils::Json::JsonView jsonValue)
OutputGroupSettings & WithHlsGroupSettings(HlsGroupSettingsT &&value)
OutputGroupSettings & AddPerFrameMetrics(FrameMetricType value)
OutputGroupSettings & WithDashIsoGroupSettings(DashIsoGroupSettingsT &&value)
void SetDashIsoGroupSettings(DashIsoGroupSettingsT &&value)
AWS_MEDIACONVERT_API OutputGroupSettings & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetFileGroupSettings(FileGroupSettingsT &&value)
AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const
const MsSmoothGroupSettings & GetMsSmoothGroupSettings() const
OutputGroupSettings & WithFileGroupSettings(FileGroupSettingsT &&value)
OutputGroupSettings & WithPerFrameMetrics(PerFrameMetricsT &&value)
const FileGroupSettings & GetFileGroupSettings() const
OutputGroupSettings & WithCmafGroupSettings(CmafGroupSettingsT &&value)
void SetMsSmoothGroupSettings(MsSmoothGroupSettingsT &&value)
const CmafGroupSettings & GetCmafGroupSettings() const
const Aws::Vector< FrameMetricType > & GetPerFrameMetrics() const
OutputGroupSettings & WithMsSmoothGroupSettings(MsSmoothGroupSettingsT &&value)
void SetPerFrameMetrics(PerFrameMetricsT &&value)
OutputGroupSettings & WithType(OutputGroupType value)
AWS_MEDIACONVERT_API OutputGroupSettings()=default
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue