/** * 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 #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace KinesisAnalyticsV2 { namespace Model { /** *

Describes the application, including the application Amazon Resource Name * (ARN), status, latest version, and input and output * configurations.

See Also:

AWS * API Reference

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

The ARN of the application.

*/ inline const Aws::String& GetApplicationARN() const{ return m_applicationARN; } /** *

The ARN of the application.

*/ inline bool ApplicationARNHasBeenSet() const { return m_applicationARNHasBeenSet; } /** *

The ARN of the application.

*/ inline void SetApplicationARN(const Aws::String& value) { m_applicationARNHasBeenSet = true; m_applicationARN = value; } /** *

The ARN of the application.

*/ inline void SetApplicationARN(Aws::String&& value) { m_applicationARNHasBeenSet = true; m_applicationARN = std::move(value); } /** *

The ARN of the application.

*/ inline void SetApplicationARN(const char* value) { m_applicationARNHasBeenSet = true; m_applicationARN.assign(value); } /** *

The ARN of the application.

*/ inline ApplicationDetail& WithApplicationARN(const Aws::String& value) { SetApplicationARN(value); return *this;} /** *

The ARN of the application.

*/ inline ApplicationDetail& WithApplicationARN(Aws::String&& value) { SetApplicationARN(std::move(value)); return *this;} /** *

The ARN of the application.

*/ inline ApplicationDetail& WithApplicationARN(const char* value) { SetApplicationARN(value); return *this;} /** *

The description of the application.

*/ inline const Aws::String& GetApplicationDescription() const{ return m_applicationDescription; } /** *

The description of the application.

*/ inline bool ApplicationDescriptionHasBeenSet() const { return m_applicationDescriptionHasBeenSet; } /** *

The description of the application.

*/ inline void SetApplicationDescription(const Aws::String& value) { m_applicationDescriptionHasBeenSet = true; m_applicationDescription = value; } /** *

The description of the application.

*/ inline void SetApplicationDescription(Aws::String&& value) { m_applicationDescriptionHasBeenSet = true; m_applicationDescription = std::move(value); } /** *

The description of the application.

*/ inline void SetApplicationDescription(const char* value) { m_applicationDescriptionHasBeenSet = true; m_applicationDescription.assign(value); } /** *

The description of the application.

*/ inline ApplicationDetail& WithApplicationDescription(const Aws::String& value) { SetApplicationDescription(value); return *this;} /** *

The description of the application.

*/ inline ApplicationDetail& WithApplicationDescription(Aws::String&& value) { SetApplicationDescription(std::move(value)); return *this;} /** *

The description of the application.

*/ inline ApplicationDetail& WithApplicationDescription(const char* value) { SetApplicationDescription(value); return *this;} /** *

The name of the application.

*/ inline const Aws::String& GetApplicationName() const{ return m_applicationName; } /** *

The name of the application.

*/ inline bool ApplicationNameHasBeenSet() const { return m_applicationNameHasBeenSet; } /** *

The name of the application.

*/ inline void SetApplicationName(const Aws::String& value) { m_applicationNameHasBeenSet = true; m_applicationName = value; } /** *

The name of the application.

*/ inline void SetApplicationName(Aws::String&& value) { m_applicationNameHasBeenSet = true; m_applicationName = std::move(value); } /** *

The name of the application.

*/ inline void SetApplicationName(const char* value) { m_applicationNameHasBeenSet = true; m_applicationName.assign(value); } /** *

The name of the application.

*/ inline ApplicationDetail& WithApplicationName(const Aws::String& value) { SetApplicationName(value); return *this;} /** *

The name of the application.

*/ inline ApplicationDetail& WithApplicationName(Aws::String&& value) { SetApplicationName(std::move(value)); return *this;} /** *

The name of the application.

*/ inline ApplicationDetail& WithApplicationName(const char* value) { SetApplicationName(value); return *this;} /** *

The runtime environment for the application.

*/ inline const RuntimeEnvironment& GetRuntimeEnvironment() const{ return m_runtimeEnvironment; } /** *

The runtime environment for the application.

*/ inline bool RuntimeEnvironmentHasBeenSet() const { return m_runtimeEnvironmentHasBeenSet; } /** *

The runtime environment for the application.

*/ inline void SetRuntimeEnvironment(const RuntimeEnvironment& value) { m_runtimeEnvironmentHasBeenSet = true; m_runtimeEnvironment = value; } /** *

The runtime environment for the application.

*/ inline void SetRuntimeEnvironment(RuntimeEnvironment&& value) { m_runtimeEnvironmentHasBeenSet = true; m_runtimeEnvironment = std::move(value); } /** *

The runtime environment for the application.

*/ inline ApplicationDetail& WithRuntimeEnvironment(const RuntimeEnvironment& value) { SetRuntimeEnvironment(value); return *this;} /** *

The runtime environment for the application.

*/ inline ApplicationDetail& WithRuntimeEnvironment(RuntimeEnvironment&& value) { SetRuntimeEnvironment(std::move(value)); return *this;} /** *

Specifies the IAM role that the application uses to access external * resources.

*/ inline const Aws::String& GetServiceExecutionRole() const{ return m_serviceExecutionRole; } /** *

Specifies the IAM role that the application uses to access external * resources.

*/ inline bool ServiceExecutionRoleHasBeenSet() const { return m_serviceExecutionRoleHasBeenSet; } /** *

Specifies the IAM role that the application uses to access external * resources.

*/ inline void SetServiceExecutionRole(const Aws::String& value) { m_serviceExecutionRoleHasBeenSet = true; m_serviceExecutionRole = value; } /** *

Specifies the IAM role that the application uses to access external * resources.

*/ inline void SetServiceExecutionRole(Aws::String&& value) { m_serviceExecutionRoleHasBeenSet = true; m_serviceExecutionRole = std::move(value); } /** *

Specifies the IAM role that the application uses to access external * resources.

*/ inline void SetServiceExecutionRole(const char* value) { m_serviceExecutionRoleHasBeenSet = true; m_serviceExecutionRole.assign(value); } /** *

Specifies the IAM role that the application uses to access external * resources.

*/ inline ApplicationDetail& WithServiceExecutionRole(const Aws::String& value) { SetServiceExecutionRole(value); return *this;} /** *

Specifies the IAM role that the application uses to access external * resources.

*/ inline ApplicationDetail& WithServiceExecutionRole(Aws::String&& value) { SetServiceExecutionRole(std::move(value)); return *this;} /** *

Specifies the IAM role that the application uses to access external * resources.

*/ inline ApplicationDetail& WithServiceExecutionRole(const char* value) { SetServiceExecutionRole(value); return *this;} /** *

The status of the application.

*/ inline const ApplicationStatus& GetApplicationStatus() const{ return m_applicationStatus; } /** *

The status of the application.

*/ inline bool ApplicationStatusHasBeenSet() const { return m_applicationStatusHasBeenSet; } /** *

The status of the application.

*/ inline void SetApplicationStatus(const ApplicationStatus& value) { m_applicationStatusHasBeenSet = true; m_applicationStatus = value; } /** *

The status of the application.

*/ inline void SetApplicationStatus(ApplicationStatus&& value) { m_applicationStatusHasBeenSet = true; m_applicationStatus = std::move(value); } /** *

The status of the application.

*/ inline ApplicationDetail& WithApplicationStatus(const ApplicationStatus& value) { SetApplicationStatus(value); return *this;} /** *

The status of the application.

*/ inline ApplicationDetail& WithApplicationStatus(ApplicationStatus&& value) { SetApplicationStatus(std::move(value)); return *this;} /** *

Provides the current application version. Kinesis Data Analytics updates the * ApplicationVersionId each time you update the application.

*/ inline long long GetApplicationVersionId() const{ return m_applicationVersionId; } /** *

Provides the current application version. Kinesis Data Analytics updates the * ApplicationVersionId each time you update the application.

*/ inline bool ApplicationVersionIdHasBeenSet() const { return m_applicationVersionIdHasBeenSet; } /** *

Provides the current application version. Kinesis Data Analytics updates the * ApplicationVersionId each time you update the application.

*/ inline void SetApplicationVersionId(long long value) { m_applicationVersionIdHasBeenSet = true; m_applicationVersionId = value; } /** *

Provides the current application version. Kinesis Data Analytics updates the * ApplicationVersionId each time you update the application.

*/ inline ApplicationDetail& WithApplicationVersionId(long long value) { SetApplicationVersionId(value); return *this;} /** *

The current timestamp when the application was created.

*/ inline const Aws::Utils::DateTime& GetCreateTimestamp() const{ return m_createTimestamp; } /** *

The current timestamp when the application was created.

*/ inline bool CreateTimestampHasBeenSet() const { return m_createTimestampHasBeenSet; } /** *

The current timestamp when the application was created.

*/ inline void SetCreateTimestamp(const Aws::Utils::DateTime& value) { m_createTimestampHasBeenSet = true; m_createTimestamp = value; } /** *

The current timestamp when the application was created.

*/ inline void SetCreateTimestamp(Aws::Utils::DateTime&& value) { m_createTimestampHasBeenSet = true; m_createTimestamp = std::move(value); } /** *

The current timestamp when the application was created.

*/ inline ApplicationDetail& WithCreateTimestamp(const Aws::Utils::DateTime& value) { SetCreateTimestamp(value); return *this;} /** *

The current timestamp when the application was created.

*/ inline ApplicationDetail& WithCreateTimestamp(Aws::Utils::DateTime&& value) { SetCreateTimestamp(std::move(value)); return *this;} /** *

The current timestamp when the application was last updated.

*/ inline const Aws::Utils::DateTime& GetLastUpdateTimestamp() const{ return m_lastUpdateTimestamp; } /** *

The current timestamp when the application was last updated.

*/ inline bool LastUpdateTimestampHasBeenSet() const { return m_lastUpdateTimestampHasBeenSet; } /** *

The current timestamp when the application was last updated.

*/ inline void SetLastUpdateTimestamp(const Aws::Utils::DateTime& value) { m_lastUpdateTimestampHasBeenSet = true; m_lastUpdateTimestamp = value; } /** *

The current timestamp when the application was last updated.

*/ inline void SetLastUpdateTimestamp(Aws::Utils::DateTime&& value) { m_lastUpdateTimestampHasBeenSet = true; m_lastUpdateTimestamp = std::move(value); } /** *

The current timestamp when the application was last updated.

*/ inline ApplicationDetail& WithLastUpdateTimestamp(const Aws::Utils::DateTime& value) { SetLastUpdateTimestamp(value); return *this;} /** *

The current timestamp when the application was last updated.

*/ inline ApplicationDetail& WithLastUpdateTimestamp(Aws::Utils::DateTime&& value) { SetLastUpdateTimestamp(std::move(value)); return *this;} /** *

Describes details about the application code and starting parameters for a * Kinesis Data Analytics application.

*/ inline const ApplicationConfigurationDescription& GetApplicationConfigurationDescription() const{ return m_applicationConfigurationDescription; } /** *

Describes details about the application code and starting parameters for a * Kinesis Data Analytics application.

*/ inline bool ApplicationConfigurationDescriptionHasBeenSet() const { return m_applicationConfigurationDescriptionHasBeenSet; } /** *

Describes details about the application code and starting parameters for a * Kinesis Data Analytics application.

*/ inline void SetApplicationConfigurationDescription(const ApplicationConfigurationDescription& value) { m_applicationConfigurationDescriptionHasBeenSet = true; m_applicationConfigurationDescription = value; } /** *

Describes details about the application code and starting parameters for a * Kinesis Data Analytics application.

*/ inline void SetApplicationConfigurationDescription(ApplicationConfigurationDescription&& value) { m_applicationConfigurationDescriptionHasBeenSet = true; m_applicationConfigurationDescription = std::move(value); } /** *

Describes details about the application code and starting parameters for a * Kinesis Data Analytics application.

*/ inline ApplicationDetail& WithApplicationConfigurationDescription(const ApplicationConfigurationDescription& value) { SetApplicationConfigurationDescription(value); return *this;} /** *

Describes details about the application code and starting parameters for a * Kinesis Data Analytics application.

*/ inline ApplicationDetail& WithApplicationConfigurationDescription(ApplicationConfigurationDescription&& value) { SetApplicationConfigurationDescription(std::move(value)); return *this;} /** *

Describes the application Amazon CloudWatch logging options.

*/ inline const Aws::Vector& GetCloudWatchLoggingOptionDescriptions() const{ return m_cloudWatchLoggingOptionDescriptions; } /** *

Describes the application Amazon CloudWatch logging options.

*/ inline bool CloudWatchLoggingOptionDescriptionsHasBeenSet() const { return m_cloudWatchLoggingOptionDescriptionsHasBeenSet; } /** *

Describes the application Amazon CloudWatch logging options.

*/ inline void SetCloudWatchLoggingOptionDescriptions(const Aws::Vector& value) { m_cloudWatchLoggingOptionDescriptionsHasBeenSet = true; m_cloudWatchLoggingOptionDescriptions = value; } /** *

Describes the application Amazon CloudWatch logging options.

*/ inline void SetCloudWatchLoggingOptionDescriptions(Aws::Vector&& value) { m_cloudWatchLoggingOptionDescriptionsHasBeenSet = true; m_cloudWatchLoggingOptionDescriptions = std::move(value); } /** *

Describes the application Amazon CloudWatch logging options.

*/ inline ApplicationDetail& WithCloudWatchLoggingOptionDescriptions(const Aws::Vector& value) { SetCloudWatchLoggingOptionDescriptions(value); return *this;} /** *

Describes the application Amazon CloudWatch logging options.

*/ inline ApplicationDetail& WithCloudWatchLoggingOptionDescriptions(Aws::Vector&& value) { SetCloudWatchLoggingOptionDescriptions(std::move(value)); return *this;} /** *

Describes the application Amazon CloudWatch logging options.

*/ inline ApplicationDetail& AddCloudWatchLoggingOptionDescriptions(const CloudWatchLoggingOptionDescription& value) { m_cloudWatchLoggingOptionDescriptionsHasBeenSet = true; m_cloudWatchLoggingOptionDescriptions.push_back(value); return *this; } /** *

Describes the application Amazon CloudWatch logging options.

*/ inline ApplicationDetail& AddCloudWatchLoggingOptionDescriptions(CloudWatchLoggingOptionDescription&& value) { m_cloudWatchLoggingOptionDescriptionsHasBeenSet = true; m_cloudWatchLoggingOptionDescriptions.push_back(std::move(value)); return *this; } /** *

The details of the maintenance configuration for the application.

*/ inline const ApplicationMaintenanceConfigurationDescription& GetApplicationMaintenanceConfigurationDescription() const{ return m_applicationMaintenanceConfigurationDescription; } /** *

The details of the maintenance configuration for the application.

*/ inline bool ApplicationMaintenanceConfigurationDescriptionHasBeenSet() const { return m_applicationMaintenanceConfigurationDescriptionHasBeenSet; } /** *

The details of the maintenance configuration for the application.

*/ inline void SetApplicationMaintenanceConfigurationDescription(const ApplicationMaintenanceConfigurationDescription& value) { m_applicationMaintenanceConfigurationDescriptionHasBeenSet = true; m_applicationMaintenanceConfigurationDescription = value; } /** *

The details of the maintenance configuration for the application.

*/ inline void SetApplicationMaintenanceConfigurationDescription(ApplicationMaintenanceConfigurationDescription&& value) { m_applicationMaintenanceConfigurationDescriptionHasBeenSet = true; m_applicationMaintenanceConfigurationDescription = std::move(value); } /** *

The details of the maintenance configuration for the application.

*/ inline ApplicationDetail& WithApplicationMaintenanceConfigurationDescription(const ApplicationMaintenanceConfigurationDescription& value) { SetApplicationMaintenanceConfigurationDescription(value); return *this;} /** *

The details of the maintenance configuration for the application.

*/ inline ApplicationDetail& WithApplicationMaintenanceConfigurationDescription(ApplicationMaintenanceConfigurationDescription&& value) { SetApplicationMaintenanceConfigurationDescription(std::move(value)); return *this;} /** *

The previous application version before the latest application update. * RollbackApplication reverts the application to this version.

*/ inline long long GetApplicationVersionUpdatedFrom() const{ return m_applicationVersionUpdatedFrom; } /** *

The previous application version before the latest application update. * RollbackApplication reverts the application to this version.

*/ inline bool ApplicationVersionUpdatedFromHasBeenSet() const { return m_applicationVersionUpdatedFromHasBeenSet; } /** *

The previous application version before the latest application update. * RollbackApplication reverts the application to this version.

*/ inline void SetApplicationVersionUpdatedFrom(long long value) { m_applicationVersionUpdatedFromHasBeenSet = true; m_applicationVersionUpdatedFrom = value; } /** *

The previous application version before the latest application update. * RollbackApplication reverts the application to this version.

*/ inline ApplicationDetail& WithApplicationVersionUpdatedFrom(long long value) { SetApplicationVersionUpdatedFrom(value); return *this;} /** *

If you reverted the application using RollbackApplication, the * application version when RollbackApplication was called.

*/ inline long long GetApplicationVersionRolledBackFrom() const{ return m_applicationVersionRolledBackFrom; } /** *

If you reverted the application using RollbackApplication, the * application version when RollbackApplication was called.

*/ inline bool ApplicationVersionRolledBackFromHasBeenSet() const { return m_applicationVersionRolledBackFromHasBeenSet; } /** *

If you reverted the application using RollbackApplication, the * application version when RollbackApplication was called.

*/ inline void SetApplicationVersionRolledBackFrom(long long value) { m_applicationVersionRolledBackFromHasBeenSet = true; m_applicationVersionRolledBackFrom = value; } /** *

If you reverted the application using RollbackApplication, the * application version when RollbackApplication was called.

*/ inline ApplicationDetail& WithApplicationVersionRolledBackFrom(long long value) { SetApplicationVersionRolledBackFrom(value); return *this;} /** *

A value you use to implement strong concurrency for application updates.

*/ inline const Aws::String& GetConditionalToken() const{ return m_conditionalToken; } /** *

A value you use to implement strong concurrency for application updates.

*/ inline bool ConditionalTokenHasBeenSet() const { return m_conditionalTokenHasBeenSet; } /** *

A value you use to implement strong concurrency for application updates.

*/ inline void SetConditionalToken(const Aws::String& value) { m_conditionalTokenHasBeenSet = true; m_conditionalToken = value; } /** *

A value you use to implement strong concurrency for application updates.

*/ inline void SetConditionalToken(Aws::String&& value) { m_conditionalTokenHasBeenSet = true; m_conditionalToken = std::move(value); } /** *

A value you use to implement strong concurrency for application updates.

*/ inline void SetConditionalToken(const char* value) { m_conditionalTokenHasBeenSet = true; m_conditionalToken.assign(value); } /** *

A value you use to implement strong concurrency for application updates.

*/ inline ApplicationDetail& WithConditionalToken(const Aws::String& value) { SetConditionalToken(value); return *this;} /** *

A value you use to implement strong concurrency for application updates.

*/ inline ApplicationDetail& WithConditionalToken(Aws::String&& value) { SetConditionalToken(std::move(value)); return *this;} /** *

A value you use to implement strong concurrency for application updates.

*/ inline ApplicationDetail& WithConditionalToken(const char* value) { SetConditionalToken(value); return *this;} /** *

The version to which you want to roll back the application.

*/ inline long long GetApplicationVersionRolledBackTo() const{ return m_applicationVersionRolledBackTo; } /** *

The version to which you want to roll back the application.

*/ inline bool ApplicationVersionRolledBackToHasBeenSet() const { return m_applicationVersionRolledBackToHasBeenSet; } /** *

The version to which you want to roll back the application.

*/ inline void SetApplicationVersionRolledBackTo(long long value) { m_applicationVersionRolledBackToHasBeenSet = true; m_applicationVersionRolledBackTo = value; } /** *

The version to which you want to roll back the application.

*/ inline ApplicationDetail& WithApplicationVersionRolledBackTo(long long value) { SetApplicationVersionRolledBackTo(value); return *this;} /** *

To create a Kinesis Data Analytics Studio notebook, you must set the mode to * INTERACTIVE. However, for a Kinesis Data Analytics for Apache Flink * application, the mode is optional.

*/ inline const ApplicationMode& GetApplicationMode() const{ return m_applicationMode; } /** *

To create a Kinesis Data Analytics Studio notebook, you must set the mode to * INTERACTIVE. However, for a Kinesis Data Analytics for Apache Flink * application, the mode is optional.

*/ inline bool ApplicationModeHasBeenSet() const { return m_applicationModeHasBeenSet; } /** *

To create a Kinesis Data Analytics Studio notebook, you must set the mode to * INTERACTIVE. However, for a Kinesis Data Analytics for Apache Flink * application, the mode is optional.

*/ inline void SetApplicationMode(const ApplicationMode& value) { m_applicationModeHasBeenSet = true; m_applicationMode = value; } /** *

To create a Kinesis Data Analytics Studio notebook, you must set the mode to * INTERACTIVE. However, for a Kinesis Data Analytics for Apache Flink * application, the mode is optional.

*/ inline void SetApplicationMode(ApplicationMode&& value) { m_applicationModeHasBeenSet = true; m_applicationMode = std::move(value); } /** *

To create a Kinesis Data Analytics Studio notebook, you must set the mode to * INTERACTIVE. However, for a Kinesis Data Analytics for Apache Flink * application, the mode is optional.

*/ inline ApplicationDetail& WithApplicationMode(const ApplicationMode& value) { SetApplicationMode(value); return *this;} /** *

To create a Kinesis Data Analytics Studio notebook, you must set the mode to * INTERACTIVE. However, for a Kinesis Data Analytics for Apache Flink * application, the mode is optional.

*/ inline ApplicationDetail& WithApplicationMode(ApplicationMode&& value) { SetApplicationMode(std::move(value)); return *this;} private: Aws::String m_applicationARN; bool m_applicationARNHasBeenSet = false; Aws::String m_applicationDescription; bool m_applicationDescriptionHasBeenSet = false; Aws::String m_applicationName; bool m_applicationNameHasBeenSet = false; RuntimeEnvironment m_runtimeEnvironment; bool m_runtimeEnvironmentHasBeenSet = false; Aws::String m_serviceExecutionRole; bool m_serviceExecutionRoleHasBeenSet = false; ApplicationStatus m_applicationStatus; bool m_applicationStatusHasBeenSet = false; long long m_applicationVersionId; bool m_applicationVersionIdHasBeenSet = false; Aws::Utils::DateTime m_createTimestamp; bool m_createTimestampHasBeenSet = false; Aws::Utils::DateTime m_lastUpdateTimestamp; bool m_lastUpdateTimestampHasBeenSet = false; ApplicationConfigurationDescription m_applicationConfigurationDescription; bool m_applicationConfigurationDescriptionHasBeenSet = false; Aws::Vector m_cloudWatchLoggingOptionDescriptions; bool m_cloudWatchLoggingOptionDescriptionsHasBeenSet = false; ApplicationMaintenanceConfigurationDescription m_applicationMaintenanceConfigurationDescription; bool m_applicationMaintenanceConfigurationDescriptionHasBeenSet = false; long long m_applicationVersionUpdatedFrom; bool m_applicationVersionUpdatedFromHasBeenSet = false; long long m_applicationVersionRolledBackFrom; bool m_applicationVersionRolledBackFromHasBeenSet = false; Aws::String m_conditionalToken; bool m_conditionalTokenHasBeenSet = false; long long m_applicationVersionRolledBackTo; bool m_applicationVersionRolledBackToHasBeenSet = false; ApplicationMode m_applicationMode; bool m_applicationModeHasBeenSet = false; }; } // namespace Model } // namespace KinesisAnalyticsV2 } // namespace Aws