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

The LoggingConfiguration data type is used to set CloudWatch * Logs options.

See Also:

AWS * API Reference

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

Defines which category of execution history events are logged.

*/ inline const LogLevel& GetLevel() const{ return m_level; } /** *

Defines which category of execution history events are logged.

*/ inline bool LevelHasBeenSet() const { return m_levelHasBeenSet; } /** *

Defines which category of execution history events are logged.

*/ inline void SetLevel(const LogLevel& value) { m_levelHasBeenSet = true; m_level = value; } /** *

Defines which category of execution history events are logged.

*/ inline void SetLevel(LogLevel&& value) { m_levelHasBeenSet = true; m_level = std::move(value); } /** *

Defines which category of execution history events are logged.

*/ inline LoggingConfiguration& WithLevel(const LogLevel& value) { SetLevel(value); return *this;} /** *

Defines which category of execution history events are logged.

*/ inline LoggingConfiguration& WithLevel(LogLevel&& value) { SetLevel(std::move(value)); return *this;} /** *

Determines whether execution data is included in your log. When set to * false, data is excluded.

*/ inline bool GetIncludeExecutionData() const{ return m_includeExecutionData; } /** *

Determines whether execution data is included in your log. When set to * false, data is excluded.

*/ inline bool IncludeExecutionDataHasBeenSet() const { return m_includeExecutionDataHasBeenSet; } /** *

Determines whether execution data is included in your log. When set to * false, data is excluded.

*/ inline void SetIncludeExecutionData(bool value) { m_includeExecutionDataHasBeenSet = true; m_includeExecutionData = value; } /** *

Determines whether execution data is included in your log. When set to * false, data is excluded.

*/ inline LoggingConfiguration& WithIncludeExecutionData(bool value) { SetIncludeExecutionData(value); return *this;} /** *

An array of objects that describes where your execution history events will * be logged. Limited to size 1. Required, if your log level is not set to * OFF.

*/ inline const Aws::Vector& GetDestinations() const{ return m_destinations; } /** *

An array of objects that describes where your execution history events will * be logged. Limited to size 1. Required, if your log level is not set to * OFF.

*/ inline bool DestinationsHasBeenSet() const { return m_destinationsHasBeenSet; } /** *

An array of objects that describes where your execution history events will * be logged. Limited to size 1. Required, if your log level is not set to * OFF.

*/ inline void SetDestinations(const Aws::Vector& value) { m_destinationsHasBeenSet = true; m_destinations = value; } /** *

An array of objects that describes where your execution history events will * be logged. Limited to size 1. Required, if your log level is not set to * OFF.

*/ inline void SetDestinations(Aws::Vector&& value) { m_destinationsHasBeenSet = true; m_destinations = std::move(value); } /** *

An array of objects that describes where your execution history events will * be logged. Limited to size 1. Required, if your log level is not set to * OFF.

*/ inline LoggingConfiguration& WithDestinations(const Aws::Vector& value) { SetDestinations(value); return *this;} /** *

An array of objects that describes where your execution history events will * be logged. Limited to size 1. Required, if your log level is not set to * OFF.

*/ inline LoggingConfiguration& WithDestinations(Aws::Vector&& value) { SetDestinations(std::move(value)); return *this;} /** *

An array of objects that describes where your execution history events will * be logged. Limited to size 1. Required, if your log level is not set to * OFF.

*/ inline LoggingConfiguration& AddDestinations(const LogDestination& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(value); return *this; } /** *

An array of objects that describes where your execution history events will * be logged. Limited to size 1. Required, if your log level is not set to * OFF.

*/ inline LoggingConfiguration& AddDestinations(LogDestination&& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(std::move(value)); return *this; } private: LogLevel m_level; bool m_levelHasBeenSet = false; bool m_includeExecutionData; bool m_includeExecutionDataHasBeenSet = false; Aws::Vector m_destinations; bool m_destinationsHasBeenSet = false; }; } // namespace Model } // namespace SFN } // namespace Aws