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/StaticKeySettings.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    * Key Provider Settings<p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/KeyProviderSettings">AWS
29    * API Reference</a></p>
30    */
31   class AWS_MEDIALIVE_API KeyProviderSettings
32   {
33   public:
34     KeyProviderSettings();
35     KeyProviderSettings(Aws::Utils::Json::JsonView jsonValue);
36     KeyProviderSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
37     Aws::Utils::Json::JsonValue Jsonize() const;
38 
39 
40 
GetStaticKeySettings()41     inline const StaticKeySettings& GetStaticKeySettings() const{ return m_staticKeySettings; }
42 
43 
StaticKeySettingsHasBeenSet()44     inline bool StaticKeySettingsHasBeenSet() const { return m_staticKeySettingsHasBeenSet; }
45 
46 
SetStaticKeySettings(const StaticKeySettings & value)47     inline void SetStaticKeySettings(const StaticKeySettings& value) { m_staticKeySettingsHasBeenSet = true; m_staticKeySettings = value; }
48 
49 
SetStaticKeySettings(StaticKeySettings && value)50     inline void SetStaticKeySettings(StaticKeySettings&& value) { m_staticKeySettingsHasBeenSet = true; m_staticKeySettings = std::move(value); }
51 
52 
WithStaticKeySettings(const StaticKeySettings & value)53     inline KeyProviderSettings& WithStaticKeySettings(const StaticKeySettings& value) { SetStaticKeySettings(value); return *this;}
54 
55 
WithStaticKeySettings(StaticKeySettings && value)56     inline KeyProviderSettings& WithStaticKeySettings(StaticKeySettings&& value) { SetStaticKeySettings(std::move(value)); return *this;}
57 
58   private:
59 
60     StaticKeySettings m_staticKeySettings;
61     bool m_staticKeySettingsHasBeenSet;
62   };
63 
64 } // namespace Model
65 } // namespace MediaLive
66 } // namespace Aws
67