/** * 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 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 AWS_KINESISANALYTICSV2_API ApplicationDetail { public: ApplicationDetail(); ApplicationDetail(Aws::Utils::Json::JsonView jsonValue); ApplicationDetail& operator=(Aws::Utils::Json::JsonView jsonValue); 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 (SQL-1.0 or * FLINK-1_6).

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

The runtime environment for the application (SQL-1.0 or * FLINK-1_6).

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

The runtime environment for the application (SQL-1.0 or * FLINK-1_6).

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

The runtime environment for the application (SQL-1.0 or * FLINK-1_6).

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

The runtime environment for the application (SQL-1.0 or * FLINK-1_6).

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

The runtime environment for the application (SQL-1.0 or * FLINK-1_6).

*/ 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;} /** *

Provides details about the application's SQL or Java code and starting * parameters.

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

Provides details about the application's SQL or Java code and starting * parameters.

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

Provides details about the application's SQL or Java code and starting * parameters.

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

Provides details about the application's SQL or Java code and starting * parameters.

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

Provides details about the application's SQL or Java code and starting * parameters.

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

Provides details about the application's SQL or Java code and starting * parameters.

*/ 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; } private: Aws::String m_applicationARN; bool m_applicationARNHasBeenSet; Aws::String m_applicationDescription; bool m_applicationDescriptionHasBeenSet; Aws::String m_applicationName; bool m_applicationNameHasBeenSet; RuntimeEnvironment m_runtimeEnvironment; bool m_runtimeEnvironmentHasBeenSet; Aws::String m_serviceExecutionRole; bool m_serviceExecutionRoleHasBeenSet; ApplicationStatus m_applicationStatus; bool m_applicationStatusHasBeenSet; long long m_applicationVersionId; bool m_applicationVersionIdHasBeenSet; Aws::Utils::DateTime m_createTimestamp; bool m_createTimestampHasBeenSet; Aws::Utils::DateTime m_lastUpdateTimestamp; bool m_lastUpdateTimestampHasBeenSet; ApplicationConfigurationDescription m_applicationConfigurationDescription; bool m_applicationConfigurationDescriptionHasBeenSet; Aws::Vector m_cloudWatchLoggingOptionDescriptions; bool m_cloudWatchLoggingOptionDescriptionsHasBeenSet; }; } // namespace Model } // namespace KinesisAnalyticsV2 } // namespace Aws