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/ChannelClass.h> 9 #include <aws/medialive/model/ReservationCodec.h> 10 #include <aws/medialive/model/ReservationMaximumBitrate.h> 11 #include <aws/medialive/model/ReservationMaximumFramerate.h> 12 #include <aws/medialive/model/ReservationResolution.h> 13 #include <aws/medialive/model/ReservationResourceType.h> 14 #include <aws/medialive/model/ReservationSpecialFeature.h> 15 #include <aws/medialive/model/ReservationVideoQuality.h> 16 #include <utility> 17 18 namespace Aws 19 { 20 namespace Utils 21 { 22 namespace Json 23 { 24 class JsonValue; 25 class JsonView; 26 } // namespace Json 27 } // namespace Utils 28 namespace MediaLive 29 { 30 namespace Model 31 { 32 33 /** 34 * Resource configuration (codec, resolution, bitrate, ...)<p><h3>See Also:</h3> 35 * <a 36 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ReservationResourceSpecification">AWS 37 * API Reference</a></p> 38 */ 39 class AWS_MEDIALIVE_API ReservationResourceSpecification 40 { 41 public: 42 ReservationResourceSpecification(); 43 ReservationResourceSpecification(Aws::Utils::Json::JsonView jsonValue); 44 ReservationResourceSpecification& operator=(Aws::Utils::Json::JsonView jsonValue); 45 Aws::Utils::Json::JsonValue Jsonize() const; 46 47 48 /** 49 * Channel class, e.g. 'STANDARD' 50 */ GetChannelClass()51 inline const ChannelClass& GetChannelClass() const{ return m_channelClass; } 52 53 /** 54 * Channel class, e.g. 'STANDARD' 55 */ ChannelClassHasBeenSet()56 inline bool ChannelClassHasBeenSet() const { return m_channelClassHasBeenSet; } 57 58 /** 59 * Channel class, e.g. 'STANDARD' 60 */ SetChannelClass(const ChannelClass & value)61 inline void SetChannelClass(const ChannelClass& value) { m_channelClassHasBeenSet = true; m_channelClass = value; } 62 63 /** 64 * Channel class, e.g. 'STANDARD' 65 */ SetChannelClass(ChannelClass && value)66 inline void SetChannelClass(ChannelClass&& value) { m_channelClassHasBeenSet = true; m_channelClass = std::move(value); } 67 68 /** 69 * Channel class, e.g. 'STANDARD' 70 */ WithChannelClass(const ChannelClass & value)71 inline ReservationResourceSpecification& WithChannelClass(const ChannelClass& value) { SetChannelClass(value); return *this;} 72 73 /** 74 * Channel class, e.g. 'STANDARD' 75 */ WithChannelClass(ChannelClass && value)76 inline ReservationResourceSpecification& WithChannelClass(ChannelClass&& value) { SetChannelClass(std::move(value)); return *this;} 77 78 79 /** 80 * Codec, e.g. 'AVC' 81 */ GetCodec()82 inline const ReservationCodec& GetCodec() const{ return m_codec; } 83 84 /** 85 * Codec, e.g. 'AVC' 86 */ CodecHasBeenSet()87 inline bool CodecHasBeenSet() const { return m_codecHasBeenSet; } 88 89 /** 90 * Codec, e.g. 'AVC' 91 */ SetCodec(const ReservationCodec & value)92 inline void SetCodec(const ReservationCodec& value) { m_codecHasBeenSet = true; m_codec = value; } 93 94 /** 95 * Codec, e.g. 'AVC' 96 */ SetCodec(ReservationCodec && value)97 inline void SetCodec(ReservationCodec&& value) { m_codecHasBeenSet = true; m_codec = std::move(value); } 98 99 /** 100 * Codec, e.g. 'AVC' 101 */ WithCodec(const ReservationCodec & value)102 inline ReservationResourceSpecification& WithCodec(const ReservationCodec& value) { SetCodec(value); return *this;} 103 104 /** 105 * Codec, e.g. 'AVC' 106 */ WithCodec(ReservationCodec && value)107 inline ReservationResourceSpecification& WithCodec(ReservationCodec&& value) { SetCodec(std::move(value)); return *this;} 108 109 110 /** 111 * Maximum bitrate, e.g. 'MAX_20_MBPS' 112 */ GetMaximumBitrate()113 inline const ReservationMaximumBitrate& GetMaximumBitrate() const{ return m_maximumBitrate; } 114 115 /** 116 * Maximum bitrate, e.g. 'MAX_20_MBPS' 117 */ MaximumBitrateHasBeenSet()118 inline bool MaximumBitrateHasBeenSet() const { return m_maximumBitrateHasBeenSet; } 119 120 /** 121 * Maximum bitrate, e.g. 'MAX_20_MBPS' 122 */ SetMaximumBitrate(const ReservationMaximumBitrate & value)123 inline void SetMaximumBitrate(const ReservationMaximumBitrate& value) { m_maximumBitrateHasBeenSet = true; m_maximumBitrate = value; } 124 125 /** 126 * Maximum bitrate, e.g. 'MAX_20_MBPS' 127 */ SetMaximumBitrate(ReservationMaximumBitrate && value)128 inline void SetMaximumBitrate(ReservationMaximumBitrate&& value) { m_maximumBitrateHasBeenSet = true; m_maximumBitrate = std::move(value); } 129 130 /** 131 * Maximum bitrate, e.g. 'MAX_20_MBPS' 132 */ WithMaximumBitrate(const ReservationMaximumBitrate & value)133 inline ReservationResourceSpecification& WithMaximumBitrate(const ReservationMaximumBitrate& value) { SetMaximumBitrate(value); return *this;} 134 135 /** 136 * Maximum bitrate, e.g. 'MAX_20_MBPS' 137 */ WithMaximumBitrate(ReservationMaximumBitrate && value)138 inline ReservationResourceSpecification& WithMaximumBitrate(ReservationMaximumBitrate&& value) { SetMaximumBitrate(std::move(value)); return *this;} 139 140 141 /** 142 * Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only) 143 */ GetMaximumFramerate()144 inline const ReservationMaximumFramerate& GetMaximumFramerate() const{ return m_maximumFramerate; } 145 146 /** 147 * Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only) 148 */ MaximumFramerateHasBeenSet()149 inline bool MaximumFramerateHasBeenSet() const { return m_maximumFramerateHasBeenSet; } 150 151 /** 152 * Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only) 153 */ SetMaximumFramerate(const ReservationMaximumFramerate & value)154 inline void SetMaximumFramerate(const ReservationMaximumFramerate& value) { m_maximumFramerateHasBeenSet = true; m_maximumFramerate = value; } 155 156 /** 157 * Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only) 158 */ SetMaximumFramerate(ReservationMaximumFramerate && value)159 inline void SetMaximumFramerate(ReservationMaximumFramerate&& value) { m_maximumFramerateHasBeenSet = true; m_maximumFramerate = std::move(value); } 160 161 /** 162 * Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only) 163 */ WithMaximumFramerate(const ReservationMaximumFramerate & value)164 inline ReservationResourceSpecification& WithMaximumFramerate(const ReservationMaximumFramerate& value) { SetMaximumFramerate(value); return *this;} 165 166 /** 167 * Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only) 168 */ WithMaximumFramerate(ReservationMaximumFramerate && value)169 inline ReservationResourceSpecification& WithMaximumFramerate(ReservationMaximumFramerate&& value) { SetMaximumFramerate(std::move(value)); return *this;} 170 171 172 /** 173 * Resolution, e.g. 'HD' 174 */ GetResolution()175 inline const ReservationResolution& GetResolution() const{ return m_resolution; } 176 177 /** 178 * Resolution, e.g. 'HD' 179 */ ResolutionHasBeenSet()180 inline bool ResolutionHasBeenSet() const { return m_resolutionHasBeenSet; } 181 182 /** 183 * Resolution, e.g. 'HD' 184 */ SetResolution(const ReservationResolution & value)185 inline void SetResolution(const ReservationResolution& value) { m_resolutionHasBeenSet = true; m_resolution = value; } 186 187 /** 188 * Resolution, e.g. 'HD' 189 */ SetResolution(ReservationResolution && value)190 inline void SetResolution(ReservationResolution&& value) { m_resolutionHasBeenSet = true; m_resolution = std::move(value); } 191 192 /** 193 * Resolution, e.g. 'HD' 194 */ WithResolution(const ReservationResolution & value)195 inline ReservationResourceSpecification& WithResolution(const ReservationResolution& value) { SetResolution(value); return *this;} 196 197 /** 198 * Resolution, e.g. 'HD' 199 */ WithResolution(ReservationResolution && value)200 inline ReservationResourceSpecification& WithResolution(ReservationResolution&& value) { SetResolution(std::move(value)); return *this;} 201 202 203 /** 204 * Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL' 205 */ GetResourceType()206 inline const ReservationResourceType& GetResourceType() const{ return m_resourceType; } 207 208 /** 209 * Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL' 210 */ ResourceTypeHasBeenSet()211 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } 212 213 /** 214 * Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL' 215 */ SetResourceType(const ReservationResourceType & value)216 inline void SetResourceType(const ReservationResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } 217 218 /** 219 * Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL' 220 */ SetResourceType(ReservationResourceType && value)221 inline void SetResourceType(ReservationResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } 222 223 /** 224 * Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL' 225 */ WithResourceType(const ReservationResourceType & value)226 inline ReservationResourceSpecification& WithResourceType(const ReservationResourceType& value) { SetResourceType(value); return *this;} 227 228 /** 229 * Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL' 230 */ WithResourceType(ReservationResourceType && value)231 inline ReservationResourceSpecification& WithResourceType(ReservationResourceType&& value) { SetResourceType(std::move(value)); return *this;} 232 233 234 /** 235 * Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only) 236 */ GetSpecialFeature()237 inline const ReservationSpecialFeature& GetSpecialFeature() const{ return m_specialFeature; } 238 239 /** 240 * Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only) 241 */ SpecialFeatureHasBeenSet()242 inline bool SpecialFeatureHasBeenSet() const { return m_specialFeatureHasBeenSet; } 243 244 /** 245 * Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only) 246 */ SetSpecialFeature(const ReservationSpecialFeature & value)247 inline void SetSpecialFeature(const ReservationSpecialFeature& value) { m_specialFeatureHasBeenSet = true; m_specialFeature = value; } 248 249 /** 250 * Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only) 251 */ SetSpecialFeature(ReservationSpecialFeature && value)252 inline void SetSpecialFeature(ReservationSpecialFeature&& value) { m_specialFeatureHasBeenSet = true; m_specialFeature = std::move(value); } 253 254 /** 255 * Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only) 256 */ WithSpecialFeature(const ReservationSpecialFeature & value)257 inline ReservationResourceSpecification& WithSpecialFeature(const ReservationSpecialFeature& value) { SetSpecialFeature(value); return *this;} 258 259 /** 260 * Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only) 261 */ WithSpecialFeature(ReservationSpecialFeature && value)262 inline ReservationResourceSpecification& WithSpecialFeature(ReservationSpecialFeature&& value) { SetSpecialFeature(std::move(value)); return *this;} 263 264 265 /** 266 * Video quality, e.g. 'STANDARD' (Outputs only) 267 */ GetVideoQuality()268 inline const ReservationVideoQuality& GetVideoQuality() const{ return m_videoQuality; } 269 270 /** 271 * Video quality, e.g. 'STANDARD' (Outputs only) 272 */ VideoQualityHasBeenSet()273 inline bool VideoQualityHasBeenSet() const { return m_videoQualityHasBeenSet; } 274 275 /** 276 * Video quality, e.g. 'STANDARD' (Outputs only) 277 */ SetVideoQuality(const ReservationVideoQuality & value)278 inline void SetVideoQuality(const ReservationVideoQuality& value) { m_videoQualityHasBeenSet = true; m_videoQuality = value; } 279 280 /** 281 * Video quality, e.g. 'STANDARD' (Outputs only) 282 */ SetVideoQuality(ReservationVideoQuality && value)283 inline void SetVideoQuality(ReservationVideoQuality&& value) { m_videoQualityHasBeenSet = true; m_videoQuality = std::move(value); } 284 285 /** 286 * Video quality, e.g. 'STANDARD' (Outputs only) 287 */ WithVideoQuality(const ReservationVideoQuality & value)288 inline ReservationResourceSpecification& WithVideoQuality(const ReservationVideoQuality& value) { SetVideoQuality(value); return *this;} 289 290 /** 291 * Video quality, e.g. 'STANDARD' (Outputs only) 292 */ WithVideoQuality(ReservationVideoQuality && value)293 inline ReservationResourceSpecification& WithVideoQuality(ReservationVideoQuality&& value) { SetVideoQuality(std::move(value)); return *this;} 294 295 private: 296 297 ChannelClass m_channelClass; 298 bool m_channelClassHasBeenSet; 299 300 ReservationCodec m_codec; 301 bool m_codecHasBeenSet; 302 303 ReservationMaximumBitrate m_maximumBitrate; 304 bool m_maximumBitrateHasBeenSet; 305 306 ReservationMaximumFramerate m_maximumFramerate; 307 bool m_maximumFramerateHasBeenSet; 308 309 ReservationResolution m_resolution; 310 bool m_resolutionHasBeenSet; 311 312 ReservationResourceType m_resourceType; 313 bool m_resourceTypeHasBeenSet; 314 315 ReservationSpecialFeature m_specialFeature; 316 bool m_specialFeatureHasBeenSet; 317 318 ReservationVideoQuality m_videoQuality; 319 bool m_videoQualityHasBeenSet; 320 }; 321 322 } // namespace Model 323 } // namespace MediaLive 324 } // namespace Aws 325