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/kinesisanalyticsv2/KinesisAnalyticsV2_EXPORTS.h>
8 #include <aws/kinesisanalyticsv2/model/FlinkRunConfiguration.h>
9 #include <aws/kinesisanalyticsv2/model/ApplicationRestoreConfiguration.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 KinesisAnalyticsV2
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Describes the updates to the starting parameters for a Kinesis Data Analytics
29    * application.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/RunConfigurationUpdate">AWS
31    * API Reference</a></p>
32    */
33   class AWS_KINESISANALYTICSV2_API RunConfigurationUpdate
34   {
35   public:
36     RunConfigurationUpdate();
37     RunConfigurationUpdate(Aws::Utils::Json::JsonView jsonValue);
38     RunConfigurationUpdate& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>Describes the starting parameters for a Flink-based Kinesis Data Analytics
44      * application.</p>
45      */
GetFlinkRunConfiguration()46     inline const FlinkRunConfiguration& GetFlinkRunConfiguration() const{ return m_flinkRunConfiguration; }
47 
48     /**
49      * <p>Describes the starting parameters for a Flink-based Kinesis Data Analytics
50      * application.</p>
51      */
FlinkRunConfigurationHasBeenSet()52     inline bool FlinkRunConfigurationHasBeenSet() const { return m_flinkRunConfigurationHasBeenSet; }
53 
54     /**
55      * <p>Describes the starting parameters for a Flink-based Kinesis Data Analytics
56      * application.</p>
57      */
SetFlinkRunConfiguration(const FlinkRunConfiguration & value)58     inline void SetFlinkRunConfiguration(const FlinkRunConfiguration& value) { m_flinkRunConfigurationHasBeenSet = true; m_flinkRunConfiguration = value; }
59 
60     /**
61      * <p>Describes the starting parameters for a Flink-based Kinesis Data Analytics
62      * application.</p>
63      */
SetFlinkRunConfiguration(FlinkRunConfiguration && value)64     inline void SetFlinkRunConfiguration(FlinkRunConfiguration&& value) { m_flinkRunConfigurationHasBeenSet = true; m_flinkRunConfiguration = std::move(value); }
65 
66     /**
67      * <p>Describes the starting parameters for a Flink-based Kinesis Data Analytics
68      * application.</p>
69      */
WithFlinkRunConfiguration(const FlinkRunConfiguration & value)70     inline RunConfigurationUpdate& WithFlinkRunConfiguration(const FlinkRunConfiguration& value) { SetFlinkRunConfiguration(value); return *this;}
71 
72     /**
73      * <p>Describes the starting parameters for a Flink-based Kinesis Data Analytics
74      * application.</p>
75      */
WithFlinkRunConfiguration(FlinkRunConfiguration && value)76     inline RunConfigurationUpdate& WithFlinkRunConfiguration(FlinkRunConfiguration&& value) { SetFlinkRunConfiguration(std::move(value)); return *this;}
77 
78 
79     /**
80      * <p>Describes updates to the restore behavior of a restarting application.</p>
81      */
GetApplicationRestoreConfiguration()82     inline const ApplicationRestoreConfiguration& GetApplicationRestoreConfiguration() const{ return m_applicationRestoreConfiguration; }
83 
84     /**
85      * <p>Describes updates to the restore behavior of a restarting application.</p>
86      */
ApplicationRestoreConfigurationHasBeenSet()87     inline bool ApplicationRestoreConfigurationHasBeenSet() const { return m_applicationRestoreConfigurationHasBeenSet; }
88 
89     /**
90      * <p>Describes updates to the restore behavior of a restarting application.</p>
91      */
SetApplicationRestoreConfiguration(const ApplicationRestoreConfiguration & value)92     inline void SetApplicationRestoreConfiguration(const ApplicationRestoreConfiguration& value) { m_applicationRestoreConfigurationHasBeenSet = true; m_applicationRestoreConfiguration = value; }
93 
94     /**
95      * <p>Describes updates to the restore behavior of a restarting application.</p>
96      */
SetApplicationRestoreConfiguration(ApplicationRestoreConfiguration && value)97     inline void SetApplicationRestoreConfiguration(ApplicationRestoreConfiguration&& value) { m_applicationRestoreConfigurationHasBeenSet = true; m_applicationRestoreConfiguration = std::move(value); }
98 
99     /**
100      * <p>Describes updates to the restore behavior of a restarting application.</p>
101      */
WithApplicationRestoreConfiguration(const ApplicationRestoreConfiguration & value)102     inline RunConfigurationUpdate& WithApplicationRestoreConfiguration(const ApplicationRestoreConfiguration& value) { SetApplicationRestoreConfiguration(value); return *this;}
103 
104     /**
105      * <p>Describes updates to the restore behavior of a restarting application.</p>
106      */
WithApplicationRestoreConfiguration(ApplicationRestoreConfiguration && value)107     inline RunConfigurationUpdate& WithApplicationRestoreConfiguration(ApplicationRestoreConfiguration&& value) { SetApplicationRestoreConfiguration(std::move(value)); return *this;}
108 
109   private:
110 
111     FlinkRunConfiguration m_flinkRunConfiguration;
112     bool m_flinkRunConfigurationHasBeenSet;
113 
114     ApplicationRestoreConfiguration m_applicationRestoreConfiguration;
115     bool m_applicationRestoreConfigurationHasBeenSet;
116   };
117 
118 } // namespace Model
119 } // namespace KinesisAnalyticsV2
120 } // namespace Aws
121