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

The details of the execute command configuration.

See Also:

* AWS * API Reference

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

Specify an Key Management Service key ID to encrypt the data between the * local client and the container.

*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *

Specify an Key Management Service key ID to encrypt the data between the * local client and the container.

*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *

Specify an Key Management Service key ID to encrypt the data between the * local client and the container.

*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *

Specify an Key Management Service key ID to encrypt the data between the * local client and the container.

*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *

Specify an Key Management Service key ID to encrypt the data between the * local client and the container.

*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *

Specify an Key Management Service key ID to encrypt the data between the * local client and the container.

*/ inline ExecuteCommandConfiguration& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

Specify an Key Management Service key ID to encrypt the data between the * local client and the container.

*/ inline ExecuteCommandConfiguration& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

Specify an Key Management Service key ID to encrypt the data between the * local client and the container.

*/ inline ExecuteCommandConfiguration& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *

The log setting to use for redirecting logs for your execute command results. * The following log settings are available.

  • NONE: * The execute command session is not logged.

  • * DEFAULT: The awslogs configuration in the task * definition is used. If no logging parameter is specified, it defaults to this * value. If no awslogs log driver is configured in the task * definition, the output won't be logged.

  • * OVERRIDE: Specify the logging details as a part of * logConfiguration. If the OVERRIDE logging option is * specified, the logConfiguration is required.

*/ inline const ExecuteCommandLogging& GetLogging() const{ return m_logging; } /** *

The log setting to use for redirecting logs for your execute command results. * The following log settings are available.

  • NONE: * The execute command session is not logged.

  • * DEFAULT: The awslogs configuration in the task * definition is used. If no logging parameter is specified, it defaults to this * value. If no awslogs log driver is configured in the task * definition, the output won't be logged.

  • * OVERRIDE: Specify the logging details as a part of * logConfiguration. If the OVERRIDE logging option is * specified, the logConfiguration is required.

*/ inline bool LoggingHasBeenSet() const { return m_loggingHasBeenSet; } /** *

The log setting to use for redirecting logs for your execute command results. * The following log settings are available.

  • NONE: * The execute command session is not logged.

  • * DEFAULT: The awslogs configuration in the task * definition is used. If no logging parameter is specified, it defaults to this * value. If no awslogs log driver is configured in the task * definition, the output won't be logged.

  • * OVERRIDE: Specify the logging details as a part of * logConfiguration. If the OVERRIDE logging option is * specified, the logConfiguration is required.

*/ inline void SetLogging(const ExecuteCommandLogging& value) { m_loggingHasBeenSet = true; m_logging = value; } /** *

The log setting to use for redirecting logs for your execute command results. * The following log settings are available.

  • NONE: * The execute command session is not logged.

  • * DEFAULT: The awslogs configuration in the task * definition is used. If no logging parameter is specified, it defaults to this * value. If no awslogs log driver is configured in the task * definition, the output won't be logged.

  • * OVERRIDE: Specify the logging details as a part of * logConfiguration. If the OVERRIDE logging option is * specified, the logConfiguration is required.

*/ inline void SetLogging(ExecuteCommandLogging&& value) { m_loggingHasBeenSet = true; m_logging = std::move(value); } /** *

The log setting to use for redirecting logs for your execute command results. * The following log settings are available.

  • NONE: * The execute command session is not logged.

  • * DEFAULT: The awslogs configuration in the task * definition is used. If no logging parameter is specified, it defaults to this * value. If no awslogs log driver is configured in the task * definition, the output won't be logged.

  • * OVERRIDE: Specify the logging details as a part of * logConfiguration. If the OVERRIDE logging option is * specified, the logConfiguration is required.

*/ inline ExecuteCommandConfiguration& WithLogging(const ExecuteCommandLogging& value) { SetLogging(value); return *this;} /** *

The log setting to use for redirecting logs for your execute command results. * The following log settings are available.

  • NONE: * The execute command session is not logged.

  • * DEFAULT: The awslogs configuration in the task * definition is used. If no logging parameter is specified, it defaults to this * value. If no awslogs log driver is configured in the task * definition, the output won't be logged.

  • * OVERRIDE: Specify the logging details as a part of * logConfiguration. If the OVERRIDE logging option is * specified, the logConfiguration is required.

*/ inline ExecuteCommandConfiguration& WithLogging(ExecuteCommandLogging&& value) { SetLogging(std::move(value)); return *this;} /** *

The log configuration for the results of the execute command actions. The * logs can be sent to CloudWatch Logs or an Amazon S3 bucket. When * logging=OVERRIDE is specified, a logConfiguration must * be provided.

*/ inline const ExecuteCommandLogConfiguration& GetLogConfiguration() const{ return m_logConfiguration; } /** *

The log configuration for the results of the execute command actions. The * logs can be sent to CloudWatch Logs or an Amazon S3 bucket. When * logging=OVERRIDE is specified, a logConfiguration must * be provided.

*/ inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; } /** *

The log configuration for the results of the execute command actions. The * logs can be sent to CloudWatch Logs or an Amazon S3 bucket. When * logging=OVERRIDE is specified, a logConfiguration must * be provided.

*/ inline void SetLogConfiguration(const ExecuteCommandLogConfiguration& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = value; } /** *

The log configuration for the results of the execute command actions. The * logs can be sent to CloudWatch Logs or an Amazon S3 bucket. When * logging=OVERRIDE is specified, a logConfiguration must * be provided.

*/ inline void SetLogConfiguration(ExecuteCommandLogConfiguration&& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = std::move(value); } /** *

The log configuration for the results of the execute command actions. The * logs can be sent to CloudWatch Logs or an Amazon S3 bucket. When * logging=OVERRIDE is specified, a logConfiguration must * be provided.

*/ inline ExecuteCommandConfiguration& WithLogConfiguration(const ExecuteCommandLogConfiguration& value) { SetLogConfiguration(value); return *this;} /** *

The log configuration for the results of the execute command actions. The * logs can be sent to CloudWatch Logs or an Amazon S3 bucket. When * logging=OVERRIDE is specified, a logConfiguration must * be provided.

*/ inline ExecuteCommandConfiguration& WithLogConfiguration(ExecuteCommandLogConfiguration&& value) { SetLogConfiguration(std::move(value)); return *this;} private: Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; ExecuteCommandLogging m_logging; bool m_loggingHasBeenSet = false; ExecuteCommandLogConfiguration m_logConfiguration; bool m_logConfigurationHasBeenSet = false; }; } // namespace Model } // namespace ECS } // namespace Aws