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/M2tsSettings.h>
9 #include <aws/medialive/model/RawSettings.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    * Archive Container Settings<p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ArchiveContainerSettings">AWS
30    * API Reference</a></p>
31    */
32   class AWS_MEDIALIVE_API ArchiveContainerSettings
33   {
34   public:
35     ArchiveContainerSettings();
36     ArchiveContainerSettings(Aws::Utils::Json::JsonView jsonValue);
37     ArchiveContainerSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41 
GetM2tsSettings()42     inline const M2tsSettings& GetM2tsSettings() const{ return m_m2tsSettings; }
43 
44 
M2tsSettingsHasBeenSet()45     inline bool M2tsSettingsHasBeenSet() const { return m_m2tsSettingsHasBeenSet; }
46 
47 
SetM2tsSettings(const M2tsSettings & value)48     inline void SetM2tsSettings(const M2tsSettings& value) { m_m2tsSettingsHasBeenSet = true; m_m2tsSettings = value; }
49 
50 
SetM2tsSettings(M2tsSettings && value)51     inline void SetM2tsSettings(M2tsSettings&& value) { m_m2tsSettingsHasBeenSet = true; m_m2tsSettings = std::move(value); }
52 
53 
WithM2tsSettings(const M2tsSettings & value)54     inline ArchiveContainerSettings& WithM2tsSettings(const M2tsSettings& value) { SetM2tsSettings(value); return *this;}
55 
56 
WithM2tsSettings(M2tsSettings && value)57     inline ArchiveContainerSettings& WithM2tsSettings(M2tsSettings&& value) { SetM2tsSettings(std::move(value)); return *this;}
58 
59 
60 
GetRawSettings()61     inline const RawSettings& GetRawSettings() const{ return m_rawSettings; }
62 
63 
RawSettingsHasBeenSet()64     inline bool RawSettingsHasBeenSet() const { return m_rawSettingsHasBeenSet; }
65 
66 
SetRawSettings(const RawSettings & value)67     inline void SetRawSettings(const RawSettings& value) { m_rawSettingsHasBeenSet = true; m_rawSettings = value; }
68 
69 
SetRawSettings(RawSettings && value)70     inline void SetRawSettings(RawSettings&& value) { m_rawSettingsHasBeenSet = true; m_rawSettings = std::move(value); }
71 
72 
WithRawSettings(const RawSettings & value)73     inline ArchiveContainerSettings& WithRawSettings(const RawSettings& value) { SetRawSettings(value); return *this;}
74 
75 
WithRawSettings(RawSettings && value)76     inline ArchiveContainerSettings& WithRawSettings(RawSettings&& value) { SetRawSettings(std::move(value)); return *this;}
77 
78   private:
79 
80     M2tsSettings m_m2tsSettings;
81     bool m_m2tsSettingsHasBeenSet;
82 
83     RawSettings m_rawSettings;
84     bool m_rawSettingsHasBeenSet;
85   };
86 
87 } // namespace Model
88 } // namespace MediaLive
89 } // namespace Aws
90