/** * 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 KinesisAnalytics { namespace Model { /** *

This documentation is for version 1 of the Amazon Kinesis Data * Analytics API, which only supports SQL applications. Version 2 of the API * supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics * API V2 Documentation.

Provides a description of the * application, including the application Amazon Resource Name (ARN), status, * latest version, and input and output configuration.

See Also:

* AWS * API Reference

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

Name of the application.

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

Name of the application.

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

Name of the application.

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

Name of the application.

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

Name of the application.

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

Name of the application.

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

Name of the application.

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

Name of the application.

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

Description of the application.

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

Description of the application.

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

Description of the application.

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

Description of the application.

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

Description of the application.

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

Description of the application.

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

Description of the application.

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

Description of the application.

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

ARN of the application.

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

ARN of the application.

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

ARN of the application.

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

ARN of the application.

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

ARN of the application.

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

ARN of the application.

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

ARN of the application.

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

ARN of the application.

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

Status of the application.

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

Status of the application.

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

Status of the application.

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

Status of the application.

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

Status of the application.

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

Status of the application.

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

Time stamp when the application version was created.

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

Time stamp when the application version was created.

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

Time stamp when the application version was created.

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

Time stamp when the application version was created.

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

Time stamp when the application version was created.

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

Time stamp when the application version was created.

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

Time stamp when the application was last updated.

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

Time stamp when the application was last updated.

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

Time stamp when the application was last updated.

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

Time stamp when the application was last updated.

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

Time stamp when the application was last updated.

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

Time stamp when the application was last updated.

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

Describes the application input configuration. For more information, see Configuring * Application Input.

*/ inline const Aws::Vector& GetInputDescriptions() const{ return m_inputDescriptions; } /** *

Describes the application input configuration. For more information, see Configuring * Application Input.

*/ inline bool InputDescriptionsHasBeenSet() const { return m_inputDescriptionsHasBeenSet; } /** *

Describes the application input configuration. For more information, see Configuring * Application Input.

*/ inline void SetInputDescriptions(const Aws::Vector& value) { m_inputDescriptionsHasBeenSet = true; m_inputDescriptions = value; } /** *

Describes the application input configuration. For more information, see Configuring * Application Input.

*/ inline void SetInputDescriptions(Aws::Vector&& value) { m_inputDescriptionsHasBeenSet = true; m_inputDescriptions = std::move(value); } /** *

Describes the application input configuration. For more information, see Configuring * Application Input.

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

Describes the application input configuration. For more information, see Configuring * Application Input.

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

Describes the application input configuration. For more information, see Configuring * Application Input.

*/ inline ApplicationDetail& AddInputDescriptions(const InputDescription& value) { m_inputDescriptionsHasBeenSet = true; m_inputDescriptions.push_back(value); return *this; } /** *

Describes the application input configuration. For more information, see Configuring * Application Input.

*/ inline ApplicationDetail& AddInputDescriptions(InputDescription&& value) { m_inputDescriptionsHasBeenSet = true; m_inputDescriptions.push_back(std::move(value)); return *this; } /** *

Describes the application output configuration. For more information, see Configuring * Application Output.

*/ inline const Aws::Vector& GetOutputDescriptions() const{ return m_outputDescriptions; } /** *

Describes the application output configuration. For more information, see Configuring * Application Output.

*/ inline bool OutputDescriptionsHasBeenSet() const { return m_outputDescriptionsHasBeenSet; } /** *

Describes the application output configuration. For more information, see Configuring * Application Output.

*/ inline void SetOutputDescriptions(const Aws::Vector& value) { m_outputDescriptionsHasBeenSet = true; m_outputDescriptions = value; } /** *

Describes the application output configuration. For more information, see Configuring * Application Output.

*/ inline void SetOutputDescriptions(Aws::Vector&& value) { m_outputDescriptionsHasBeenSet = true; m_outputDescriptions = std::move(value); } /** *

Describes the application output configuration. For more information, see Configuring * Application Output.

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

Describes the application output configuration. For more information, see Configuring * Application Output.

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

Describes the application output configuration. For more information, see Configuring * Application Output.

*/ inline ApplicationDetail& AddOutputDescriptions(const OutputDescription& value) { m_outputDescriptionsHasBeenSet = true; m_outputDescriptions.push_back(value); return *this; } /** *

Describes the application output configuration. For more information, see Configuring * Application Output.

*/ inline ApplicationDetail& AddOutputDescriptions(OutputDescription&& value) { m_outputDescriptionsHasBeenSet = true; m_outputDescriptions.push_back(std::move(value)); return *this; } /** *

Describes reference data sources configured for the application. For more * information, see Configuring * Application Input.

*/ inline const Aws::Vector& GetReferenceDataSourceDescriptions() const{ return m_referenceDataSourceDescriptions; } /** *

Describes reference data sources configured for the application. For more * information, see Configuring * Application Input.

*/ inline bool ReferenceDataSourceDescriptionsHasBeenSet() const { return m_referenceDataSourceDescriptionsHasBeenSet; } /** *

Describes reference data sources configured for the application. For more * information, see Configuring * Application Input.

*/ inline void SetReferenceDataSourceDescriptions(const Aws::Vector& value) { m_referenceDataSourceDescriptionsHasBeenSet = true; m_referenceDataSourceDescriptions = value; } /** *

Describes reference data sources configured for the application. For more * information, see Configuring * Application Input.

*/ inline void SetReferenceDataSourceDescriptions(Aws::Vector&& value) { m_referenceDataSourceDescriptionsHasBeenSet = true; m_referenceDataSourceDescriptions = std::move(value); } /** *

Describes reference data sources configured for the application. For more * information, see Configuring * Application Input.

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

Describes reference data sources configured for the application. For more * information, see Configuring * Application Input.

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

Describes reference data sources configured for the application. For more * information, see Configuring * Application Input.

*/ inline ApplicationDetail& AddReferenceDataSourceDescriptions(const ReferenceDataSourceDescription& value) { m_referenceDataSourceDescriptionsHasBeenSet = true; m_referenceDataSourceDescriptions.push_back(value); return *this; } /** *

Describes reference data sources configured for the application. For more * information, see Configuring * Application Input.

*/ inline ApplicationDetail& AddReferenceDataSourceDescriptions(ReferenceDataSourceDescription&& value) { m_referenceDataSourceDescriptionsHasBeenSet = true; m_referenceDataSourceDescriptions.push_back(std::move(value)); return *this; } /** *

Describes the CloudWatch log streams that are configured to receive * application messages. For more information about using CloudWatch log streams * with Amazon Kinesis Analytics applications, see Working * with Amazon CloudWatch Logs.

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

Describes the CloudWatch log streams that are configured to receive * application messages. For more information about using CloudWatch log streams * with Amazon Kinesis Analytics applications, see Working * with Amazon CloudWatch Logs.

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

Describes the CloudWatch log streams that are configured to receive * application messages. For more information about using CloudWatch log streams * with Amazon Kinesis Analytics applications, see Working * with Amazon CloudWatch Logs.

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

Describes the CloudWatch log streams that are configured to receive * application messages. For more information about using CloudWatch log streams * with Amazon Kinesis Analytics applications, see Working * with Amazon CloudWatch Logs.

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

Describes the CloudWatch log streams that are configured to receive * application messages. For more information about using CloudWatch log streams * with Amazon Kinesis Analytics applications, see Working * with Amazon CloudWatch Logs.

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

Describes the CloudWatch log streams that are configured to receive * application messages. For more information about using CloudWatch log streams * with Amazon Kinesis Analytics applications, see Working * with Amazon CloudWatch Logs.

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

Describes the CloudWatch log streams that are configured to receive * application messages. For more information about using CloudWatch log streams * with Amazon Kinesis Analytics applications, see Working * with Amazon CloudWatch Logs.

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

Describes the CloudWatch log streams that are configured to receive * application messages. For more information about using CloudWatch log streams * with Amazon Kinesis Analytics applications, see Working * with Amazon CloudWatch Logs.

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

Returns the application code that you provided to perform data analysis on * any of the in-application streams in your application.

*/ inline const Aws::String& GetApplicationCode() const{ return m_applicationCode; } /** *

Returns the application code that you provided to perform data analysis on * any of the in-application streams in your application.

*/ inline bool ApplicationCodeHasBeenSet() const { return m_applicationCodeHasBeenSet; } /** *

Returns the application code that you provided to perform data analysis on * any of the in-application streams in your application.

*/ inline void SetApplicationCode(const Aws::String& value) { m_applicationCodeHasBeenSet = true; m_applicationCode = value; } /** *

Returns the application code that you provided to perform data analysis on * any of the in-application streams in your application.

*/ inline void SetApplicationCode(Aws::String&& value) { m_applicationCodeHasBeenSet = true; m_applicationCode = std::move(value); } /** *

Returns the application code that you provided to perform data analysis on * any of the in-application streams in your application.

*/ inline void SetApplicationCode(const char* value) { m_applicationCodeHasBeenSet = true; m_applicationCode.assign(value); } /** *

Returns the application code that you provided to perform data analysis on * any of the in-application streams in your application.

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

Returns the application code that you provided to perform data analysis on * any of the in-application streams in your application.

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

Returns the application code that you provided to perform data analysis on * any of the in-application streams in your application.

*/ inline ApplicationDetail& WithApplicationCode(const char* value) { SetApplicationCode(value); return *this;} /** *

Provides the current application version.

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

Provides the current application version.

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

Provides the current application version.

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

Provides the current application version.

*/ inline ApplicationDetail& WithApplicationVersionId(long long value) { SetApplicationVersionId(value); return *this;} private: Aws::String m_applicationName; bool m_applicationNameHasBeenSet; Aws::String m_applicationDescription; bool m_applicationDescriptionHasBeenSet; Aws::String m_applicationARN; bool m_applicationARNHasBeenSet; ApplicationStatus m_applicationStatus; bool m_applicationStatusHasBeenSet; Aws::Utils::DateTime m_createTimestamp; bool m_createTimestampHasBeenSet; Aws::Utils::DateTime m_lastUpdateTimestamp; bool m_lastUpdateTimestampHasBeenSet; Aws::Vector m_inputDescriptions; bool m_inputDescriptionsHasBeenSet; Aws::Vector m_outputDescriptions; bool m_outputDescriptionsHasBeenSet; Aws::Vector m_referenceDataSourceDescriptions; bool m_referenceDataSourceDescriptionsHasBeenSet; Aws::Vector m_cloudWatchLoggingOptionDescriptions; bool m_cloudWatchLoggingOptionDescriptionsHasBeenSet; Aws::String m_applicationCode; bool m_applicationCodeHasBeenSet; long long m_applicationVersionId; bool m_applicationVersionIdHasBeenSet; }; } // namespace Model } // namespace KinesisAnalytics } // namespace Aws