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

Describes the configuration for experiment logging.

See Also:

* AWS * API Reference

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

The configuration for experiment logging to Amazon CloudWatch Logs.

*/ inline const ExperimentTemplateCloudWatchLogsLogConfiguration& GetCloudWatchLogsConfiguration() const{ return m_cloudWatchLogsConfiguration; } /** *

The configuration for experiment logging to Amazon CloudWatch Logs.

*/ inline bool CloudWatchLogsConfigurationHasBeenSet() const { return m_cloudWatchLogsConfigurationHasBeenSet; } /** *

The configuration for experiment logging to Amazon CloudWatch Logs.

*/ inline void SetCloudWatchLogsConfiguration(const ExperimentTemplateCloudWatchLogsLogConfiguration& value) { m_cloudWatchLogsConfigurationHasBeenSet = true; m_cloudWatchLogsConfiguration = value; } /** *

The configuration for experiment logging to Amazon CloudWatch Logs.

*/ inline void SetCloudWatchLogsConfiguration(ExperimentTemplateCloudWatchLogsLogConfiguration&& value) { m_cloudWatchLogsConfigurationHasBeenSet = true; m_cloudWatchLogsConfiguration = std::move(value); } /** *

The configuration for experiment logging to Amazon CloudWatch Logs.

*/ inline ExperimentTemplateLogConfiguration& WithCloudWatchLogsConfiguration(const ExperimentTemplateCloudWatchLogsLogConfiguration& value) { SetCloudWatchLogsConfiguration(value); return *this;} /** *

The configuration for experiment logging to Amazon CloudWatch Logs.

*/ inline ExperimentTemplateLogConfiguration& WithCloudWatchLogsConfiguration(ExperimentTemplateCloudWatchLogsLogConfiguration&& value) { SetCloudWatchLogsConfiguration(std::move(value)); return *this;} /** *

The configuration for experiment logging to Amazon S3.

*/ inline const ExperimentTemplateS3LogConfiguration& GetS3Configuration() const{ return m_s3Configuration; } /** *

The configuration for experiment logging to Amazon S3.

*/ inline bool S3ConfigurationHasBeenSet() const { return m_s3ConfigurationHasBeenSet; } /** *

The configuration for experiment logging to Amazon S3.

*/ inline void SetS3Configuration(const ExperimentTemplateS3LogConfiguration& value) { m_s3ConfigurationHasBeenSet = true; m_s3Configuration = value; } /** *

The configuration for experiment logging to Amazon S3.

*/ inline void SetS3Configuration(ExperimentTemplateS3LogConfiguration&& value) { m_s3ConfigurationHasBeenSet = true; m_s3Configuration = std::move(value); } /** *

The configuration for experiment logging to Amazon S3.

*/ inline ExperimentTemplateLogConfiguration& WithS3Configuration(const ExperimentTemplateS3LogConfiguration& value) { SetS3Configuration(value); return *this;} /** *

The configuration for experiment logging to Amazon S3.

*/ inline ExperimentTemplateLogConfiguration& WithS3Configuration(ExperimentTemplateS3LogConfiguration&& value) { SetS3Configuration(std::move(value)); return *this;} /** *

The schema version.

*/ inline int GetLogSchemaVersion() const{ return m_logSchemaVersion; } /** *

The schema version.

*/ inline bool LogSchemaVersionHasBeenSet() const { return m_logSchemaVersionHasBeenSet; } /** *

The schema version.

*/ inline void SetLogSchemaVersion(int value) { m_logSchemaVersionHasBeenSet = true; m_logSchemaVersion = value; } /** *

The schema version.

*/ inline ExperimentTemplateLogConfiguration& WithLogSchemaVersion(int value) { SetLogSchemaVersion(value); return *this;} private: ExperimentTemplateCloudWatchLogsLogConfiguration m_cloudWatchLogsConfiguration; bool m_cloudWatchLogsConfigurationHasBeenSet = false; ExperimentTemplateS3LogConfiguration m_s3Configuration; bool m_s3ConfigurationHasBeenSet = false; int m_logSchemaVersion; bool m_logSchemaVersionHasBeenSet = false; }; } // namespace Model } // namespace FIS } // namespace Aws