/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace KinesisAnalyticsV2 { namespace Model { /** *

Specifies the creation parameters for a Kinesis Data Analytics * application.

See Also:

AWS * API Reference

*/ class ApplicationConfiguration { public: AWS_KINESISANALYTICSV2_API ApplicationConfiguration(); AWS_KINESISANALYTICSV2_API ApplicationConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_KINESISANALYTICSV2_API ApplicationConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_KINESISANALYTICSV2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The creation and update parameters for a SQL-based Kinesis Data Analytics * application.

*/ inline const SqlApplicationConfiguration& GetSqlApplicationConfiguration() const{ return m_sqlApplicationConfiguration; } /** *

The creation and update parameters for a SQL-based Kinesis Data Analytics * application.

*/ inline bool SqlApplicationConfigurationHasBeenSet() const { return m_sqlApplicationConfigurationHasBeenSet; } /** *

The creation and update parameters for a SQL-based Kinesis Data Analytics * application.

*/ inline void SetSqlApplicationConfiguration(const SqlApplicationConfiguration& value) { m_sqlApplicationConfigurationHasBeenSet = true; m_sqlApplicationConfiguration = value; } /** *

The creation and update parameters for a SQL-based Kinesis Data Analytics * application.

*/ inline void SetSqlApplicationConfiguration(SqlApplicationConfiguration&& value) { m_sqlApplicationConfigurationHasBeenSet = true; m_sqlApplicationConfiguration = std::move(value); } /** *

The creation and update parameters for a SQL-based Kinesis Data Analytics * application.

*/ inline ApplicationConfiguration& WithSqlApplicationConfiguration(const SqlApplicationConfiguration& value) { SetSqlApplicationConfiguration(value); return *this;} /** *

The creation and update parameters for a SQL-based Kinesis Data Analytics * application.

*/ inline ApplicationConfiguration& WithSqlApplicationConfiguration(SqlApplicationConfiguration&& value) { SetSqlApplicationConfiguration(std::move(value)); return *this;} /** *

The creation and update parameters for a Flink-based Kinesis Data Analytics * application.

*/ inline const FlinkApplicationConfiguration& GetFlinkApplicationConfiguration() const{ return m_flinkApplicationConfiguration; } /** *

The creation and update parameters for a Flink-based Kinesis Data Analytics * application.

*/ inline bool FlinkApplicationConfigurationHasBeenSet() const { return m_flinkApplicationConfigurationHasBeenSet; } /** *

The creation and update parameters for a Flink-based Kinesis Data Analytics * application.

*/ inline void SetFlinkApplicationConfiguration(const FlinkApplicationConfiguration& value) { m_flinkApplicationConfigurationHasBeenSet = true; m_flinkApplicationConfiguration = value; } /** *

The creation and update parameters for a Flink-based Kinesis Data Analytics * application.

*/ inline void SetFlinkApplicationConfiguration(FlinkApplicationConfiguration&& value) { m_flinkApplicationConfigurationHasBeenSet = true; m_flinkApplicationConfiguration = std::move(value); } /** *

The creation and update parameters for a Flink-based Kinesis Data Analytics * application.

*/ inline ApplicationConfiguration& WithFlinkApplicationConfiguration(const FlinkApplicationConfiguration& value) { SetFlinkApplicationConfiguration(value); return *this;} /** *

The creation and update parameters for a Flink-based Kinesis Data Analytics * application.

*/ inline ApplicationConfiguration& WithFlinkApplicationConfiguration(FlinkApplicationConfiguration&& value) { SetFlinkApplicationConfiguration(std::move(value)); return *this;} /** *

Describes execution properties for a Flink-based Kinesis Data Analytics * application.

*/ inline const EnvironmentProperties& GetEnvironmentProperties() const{ return m_environmentProperties; } /** *

Describes execution properties for a Flink-based Kinesis Data Analytics * application.

*/ inline bool EnvironmentPropertiesHasBeenSet() const { return m_environmentPropertiesHasBeenSet; } /** *

Describes execution properties for a Flink-based Kinesis Data Analytics * application.

*/ inline void SetEnvironmentProperties(const EnvironmentProperties& value) { m_environmentPropertiesHasBeenSet = true; m_environmentProperties = value; } /** *

Describes execution properties for a Flink-based Kinesis Data Analytics * application.

*/ inline void SetEnvironmentProperties(EnvironmentProperties&& value) { m_environmentPropertiesHasBeenSet = true; m_environmentProperties = std::move(value); } /** *

Describes execution properties for a Flink-based Kinesis Data Analytics * application.

*/ inline ApplicationConfiguration& WithEnvironmentProperties(const EnvironmentProperties& value) { SetEnvironmentProperties(value); return *this;} /** *

Describes execution properties for a Flink-based Kinesis Data Analytics * application.

*/ inline ApplicationConfiguration& WithEnvironmentProperties(EnvironmentProperties&& value) { SetEnvironmentProperties(std::move(value)); return *this;} /** *

The code location and type parameters for a Flink-based Kinesis Data * Analytics application.

*/ inline const ApplicationCodeConfiguration& GetApplicationCodeConfiguration() const{ return m_applicationCodeConfiguration; } /** *

The code location and type parameters for a Flink-based Kinesis Data * Analytics application.

*/ inline bool ApplicationCodeConfigurationHasBeenSet() const { return m_applicationCodeConfigurationHasBeenSet; } /** *

The code location and type parameters for a Flink-based Kinesis Data * Analytics application.

*/ inline void SetApplicationCodeConfiguration(const ApplicationCodeConfiguration& value) { m_applicationCodeConfigurationHasBeenSet = true; m_applicationCodeConfiguration = value; } /** *

The code location and type parameters for a Flink-based Kinesis Data * Analytics application.

*/ inline void SetApplicationCodeConfiguration(ApplicationCodeConfiguration&& value) { m_applicationCodeConfigurationHasBeenSet = true; m_applicationCodeConfiguration = std::move(value); } /** *

The code location and type parameters for a Flink-based Kinesis Data * Analytics application.

*/ inline ApplicationConfiguration& WithApplicationCodeConfiguration(const ApplicationCodeConfiguration& value) { SetApplicationCodeConfiguration(value); return *this;} /** *

The code location and type parameters for a Flink-based Kinesis Data * Analytics application.

*/ inline ApplicationConfiguration& WithApplicationCodeConfiguration(ApplicationCodeConfiguration&& value) { SetApplicationCodeConfiguration(std::move(value)); return *this;} /** *

Describes whether snapshots are enabled for a Flink-based Kinesis Data * Analytics application.

*/ inline const ApplicationSnapshotConfiguration& GetApplicationSnapshotConfiguration() const{ return m_applicationSnapshotConfiguration; } /** *

Describes whether snapshots are enabled for a Flink-based Kinesis Data * Analytics application.

*/ inline bool ApplicationSnapshotConfigurationHasBeenSet() const { return m_applicationSnapshotConfigurationHasBeenSet; } /** *

Describes whether snapshots are enabled for a Flink-based Kinesis Data * Analytics application.

*/ inline void SetApplicationSnapshotConfiguration(const ApplicationSnapshotConfiguration& value) { m_applicationSnapshotConfigurationHasBeenSet = true; m_applicationSnapshotConfiguration = value; } /** *

Describes whether snapshots are enabled for a Flink-based Kinesis Data * Analytics application.

*/ inline void SetApplicationSnapshotConfiguration(ApplicationSnapshotConfiguration&& value) { m_applicationSnapshotConfigurationHasBeenSet = true; m_applicationSnapshotConfiguration = std::move(value); } /** *

Describes whether snapshots are enabled for a Flink-based Kinesis Data * Analytics application.

*/ inline ApplicationConfiguration& WithApplicationSnapshotConfiguration(const ApplicationSnapshotConfiguration& value) { SetApplicationSnapshotConfiguration(value); return *this;} /** *

Describes whether snapshots are enabled for a Flink-based Kinesis Data * Analytics application.

*/ inline ApplicationConfiguration& WithApplicationSnapshotConfiguration(ApplicationSnapshotConfiguration&& value) { SetApplicationSnapshotConfiguration(std::move(value)); return *this;} /** *

The array of descriptions of VPC configurations available to the * application.

*/ inline const Aws::Vector& GetVpcConfigurations() const{ return m_vpcConfigurations; } /** *

The array of descriptions of VPC configurations available to the * application.

*/ inline bool VpcConfigurationsHasBeenSet() const { return m_vpcConfigurationsHasBeenSet; } /** *

The array of descriptions of VPC configurations available to the * application.

*/ inline void SetVpcConfigurations(const Aws::Vector& value) { m_vpcConfigurationsHasBeenSet = true; m_vpcConfigurations = value; } /** *

The array of descriptions of VPC configurations available to the * application.

*/ inline void SetVpcConfigurations(Aws::Vector&& value) { m_vpcConfigurationsHasBeenSet = true; m_vpcConfigurations = std::move(value); } /** *

The array of descriptions of VPC configurations available to the * application.

*/ inline ApplicationConfiguration& WithVpcConfigurations(const Aws::Vector& value) { SetVpcConfigurations(value); return *this;} /** *

The array of descriptions of VPC configurations available to the * application.

*/ inline ApplicationConfiguration& WithVpcConfigurations(Aws::Vector&& value) { SetVpcConfigurations(std::move(value)); return *this;} /** *

The array of descriptions of VPC configurations available to the * application.

*/ inline ApplicationConfiguration& AddVpcConfigurations(const VpcConfiguration& value) { m_vpcConfigurationsHasBeenSet = true; m_vpcConfigurations.push_back(value); return *this; } /** *

The array of descriptions of VPC configurations available to the * application.

*/ inline ApplicationConfiguration& AddVpcConfigurations(VpcConfiguration&& value) { m_vpcConfigurationsHasBeenSet = true; m_vpcConfigurations.push_back(std::move(value)); return *this; } /** *

The configuration parameters for a Kinesis Data Analytics Studio * notebook.

*/ inline const ZeppelinApplicationConfiguration& GetZeppelinApplicationConfiguration() const{ return m_zeppelinApplicationConfiguration; } /** *

The configuration parameters for a Kinesis Data Analytics Studio * notebook.

*/ inline bool ZeppelinApplicationConfigurationHasBeenSet() const { return m_zeppelinApplicationConfigurationHasBeenSet; } /** *

The configuration parameters for a Kinesis Data Analytics Studio * notebook.

*/ inline void SetZeppelinApplicationConfiguration(const ZeppelinApplicationConfiguration& value) { m_zeppelinApplicationConfigurationHasBeenSet = true; m_zeppelinApplicationConfiguration = value; } /** *

The configuration parameters for a Kinesis Data Analytics Studio * notebook.

*/ inline void SetZeppelinApplicationConfiguration(ZeppelinApplicationConfiguration&& value) { m_zeppelinApplicationConfigurationHasBeenSet = true; m_zeppelinApplicationConfiguration = std::move(value); } /** *

The configuration parameters for a Kinesis Data Analytics Studio * notebook.

*/ inline ApplicationConfiguration& WithZeppelinApplicationConfiguration(const ZeppelinApplicationConfiguration& value) { SetZeppelinApplicationConfiguration(value); return *this;} /** *

The configuration parameters for a Kinesis Data Analytics Studio * notebook.

*/ inline ApplicationConfiguration& WithZeppelinApplicationConfiguration(ZeppelinApplicationConfiguration&& value) { SetZeppelinApplicationConfiguration(std::move(value)); return *this;} private: SqlApplicationConfiguration m_sqlApplicationConfiguration; bool m_sqlApplicationConfigurationHasBeenSet = false; FlinkApplicationConfiguration m_flinkApplicationConfiguration; bool m_flinkApplicationConfigurationHasBeenSet = false; EnvironmentProperties m_environmentProperties; bool m_environmentPropertiesHasBeenSet = false; ApplicationCodeConfiguration m_applicationCodeConfiguration; bool m_applicationCodeConfigurationHasBeenSet = false; ApplicationSnapshotConfiguration m_applicationSnapshotConfiguration; bool m_applicationSnapshotConfigurationHasBeenSet = false; Aws::Vector m_vpcConfigurations; bool m_vpcConfigurationsHasBeenSet = false; ZeppelinApplicationConfiguration m_zeppelinApplicationConfiguration; bool m_zeppelinApplicationConfigurationHasBeenSet = false; }; } // namespace Model } // namespace KinesisAnalyticsV2 } // namespace Aws