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/AvailSettings.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 * Avail Configuration<p><h3>See Also:</h3> <a 28 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/AvailConfiguration">AWS 29 * API Reference</a></p> 30 */ 31 class AWS_MEDIALIVE_API AvailConfiguration 32 { 33 public: 34 AvailConfiguration(); 35 AvailConfiguration(Aws::Utils::Json::JsonView jsonValue); 36 AvailConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); 37 Aws::Utils::Json::JsonValue Jsonize() const; 38 39 40 /** 41 * Ad avail settings. 42 */ GetAvailSettings()43 inline const AvailSettings& GetAvailSettings() const{ return m_availSettings; } 44 45 /** 46 * Ad avail settings. 47 */ AvailSettingsHasBeenSet()48 inline bool AvailSettingsHasBeenSet() const { return m_availSettingsHasBeenSet; } 49 50 /** 51 * Ad avail settings. 52 */ SetAvailSettings(const AvailSettings & value)53 inline void SetAvailSettings(const AvailSettings& value) { m_availSettingsHasBeenSet = true; m_availSettings = value; } 54 55 /** 56 * Ad avail settings. 57 */ SetAvailSettings(AvailSettings && value)58 inline void SetAvailSettings(AvailSettings&& value) { m_availSettingsHasBeenSet = true; m_availSettings = std::move(value); } 59 60 /** 61 * Ad avail settings. 62 */ WithAvailSettings(const AvailSettings & value)63 inline AvailConfiguration& WithAvailSettings(const AvailSettings& value) { SetAvailSettings(value); return *this;} 64 65 /** 66 * Ad avail settings. 67 */ WithAvailSettings(AvailSettings && value)68 inline AvailConfiguration& WithAvailSettings(AvailSettings&& value) { SetAvailSettings(std::move(value)); return *this;} 69 70 private: 71 72 AvailSettings m_availSettings; 73 bool m_availSettingsHasBeenSet; 74 }; 75 76 } // namespace Model 77 } // namespace MediaLive 78 } // namespace Aws 79