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

The log configuration specification for the container.

See * Also:

AWS * API Reference

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

The log driver to use for the container.

Valid values on Fargate are * as follows:

  • awsfirelens

  • * awslogs

  • splunk

*

Valid values on Amazon EC2 are as follows:

  • * awsfirelens

  • awslogs

  • *
  • fluentd

  • gelf

  • *
  • journald

  • json-file

    *
  • logentries

  • splunk *

  • syslog

*/ inline const Aws::String& GetLogDriver() const{ return m_logDriver; } /** *

The log driver to use for the container.

Valid values on Fargate are * as follows:

  • awsfirelens

  • * awslogs

  • splunk

*

Valid values on Amazon EC2 are as follows:

  • * awsfirelens

  • awslogs

  • *
  • fluentd

  • gelf

  • *
  • journald

  • json-file

    *
  • logentries

  • splunk *

  • syslog

*/ inline bool LogDriverHasBeenSet() const { return m_logDriverHasBeenSet; } /** *

The log driver to use for the container.

Valid values on Fargate are * as follows:

  • awsfirelens

  • * awslogs

  • splunk

*

Valid values on Amazon EC2 are as follows:

  • * awsfirelens

  • awslogs

  • *
  • fluentd

  • gelf

  • *
  • journald

  • json-file

    *
  • logentries

  • splunk *

  • syslog

*/ inline void SetLogDriver(const Aws::String& value) { m_logDriverHasBeenSet = true; m_logDriver = value; } /** *

The log driver to use for the container.

Valid values on Fargate are * as follows:

  • awsfirelens

  • * awslogs

  • splunk

*

Valid values on Amazon EC2 are as follows:

  • * awsfirelens

  • awslogs

  • *
  • fluentd

  • gelf

  • *
  • journald

  • json-file

    *
  • logentries

  • splunk *

  • syslog

*/ inline void SetLogDriver(Aws::String&& value) { m_logDriverHasBeenSet = true; m_logDriver = std::move(value); } /** *

The log driver to use for the container.

Valid values on Fargate are * as follows:

  • awsfirelens

  • * awslogs

  • splunk

*

Valid values on Amazon EC2 are as follows:

  • * awsfirelens

  • awslogs

  • *
  • fluentd

  • gelf

  • *
  • journald

  • json-file

    *
  • logentries

  • splunk *

  • syslog

*/ inline void SetLogDriver(const char* value) { m_logDriverHasBeenSet = true; m_logDriver.assign(value); } /** *

The log driver to use for the container.

Valid values on Fargate are * as follows:

  • awsfirelens

  • * awslogs

  • splunk

*

Valid values on Amazon EC2 are as follows:

  • * awsfirelens

  • awslogs

  • *
  • fluentd

  • gelf

  • *
  • journald

  • json-file

    *
  • logentries

  • splunk *

  • syslog

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& WithLogDriver(const Aws::String& value) { SetLogDriver(value); return *this;} /** *

The log driver to use for the container.

Valid values on Fargate are * as follows:

  • awsfirelens

  • * awslogs

  • splunk

*

Valid values on Amazon EC2 are as follows:

  • * awsfirelens

  • awslogs

  • *
  • fluentd

  • gelf

  • *
  • journald

  • json-file

    *
  • logentries

  • splunk *

  • syslog

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& WithLogDriver(Aws::String&& value) { SetLogDriver(std::move(value)); return *this;} /** *

The log driver to use for the container.

Valid values on Fargate are * as follows:

  • awsfirelens

  • * awslogs

  • splunk

*

Valid values on Amazon EC2 are as follows:

  • * awsfirelens

  • awslogs

  • *
  • fluentd

  • gelf

  • *
  • journald

  • json-file

    *
  • logentries

  • splunk *

  • syslog

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& WithLogDriver(const char* value) { SetLogDriver(value); return *this;} /** *

The configuration options to send to the log driver. Requires version 1.19 of * the Docker Remote API or greater on your container instance.

*/ inline const Aws::Map& GetOptions() const{ return m_options; } /** *

The configuration options to send to the log driver. Requires version 1.19 of * the Docker Remote API or greater on your container instance.

*/ inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; } /** *

The configuration options to send to the log driver. Requires version 1.19 of * the Docker Remote API or greater on your container instance.

*/ inline void SetOptions(const Aws::Map& value) { m_optionsHasBeenSet = true; m_options = value; } /** *

The configuration options to send to the log driver. Requires version 1.19 of * the Docker Remote API or greater on your container instance.

*/ inline void SetOptions(Aws::Map&& value) { m_optionsHasBeenSet = true; m_options = std::move(value); } /** *

The configuration options to send to the log driver. Requires version 1.19 of * the Docker Remote API or greater on your container instance.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& WithOptions(const Aws::Map& value) { SetOptions(value); return *this;} /** *

The configuration options to send to the log driver. Requires version 1.19 of * the Docker Remote API or greater on your container instance.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& WithOptions(Aws::Map&& value) { SetOptions(std::move(value)); return *this;} /** *

The configuration options to send to the log driver. Requires version 1.19 of * the Docker Remote API or greater on your container instance.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& AddOptions(const Aws::String& key, const Aws::String& value) { m_optionsHasBeenSet = true; m_options.emplace(key, value); return *this; } /** *

The configuration options to send to the log driver. Requires version 1.19 of * the Docker Remote API or greater on your container instance.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& AddOptions(Aws::String&& key, const Aws::String& value) { m_optionsHasBeenSet = true; m_options.emplace(std::move(key), value); return *this; } /** *

The configuration options to send to the log driver. Requires version 1.19 of * the Docker Remote API or greater on your container instance.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& AddOptions(const Aws::String& key, Aws::String&& value) { m_optionsHasBeenSet = true; m_options.emplace(key, std::move(value)); return *this; } /** *

The configuration options to send to the log driver. Requires version 1.19 of * the Docker Remote API or greater on your container instance.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& AddOptions(Aws::String&& key, Aws::String&& value) { m_optionsHasBeenSet = true; m_options.emplace(std::move(key), std::move(value)); return *this; } /** *

The configuration options to send to the log driver. Requires version 1.19 of * the Docker Remote API or greater on your container instance.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& AddOptions(const char* key, Aws::String&& value) { m_optionsHasBeenSet = true; m_options.emplace(key, std::move(value)); return *this; } /** *

The configuration options to send to the log driver. Requires version 1.19 of * the Docker Remote API or greater on your container instance.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& AddOptions(Aws::String&& key, const char* value) { m_optionsHasBeenSet = true; m_options.emplace(std::move(key), value); return *this; } /** *

The configuration options to send to the log driver. Requires version 1.19 of * the Docker Remote API or greater on your container instance.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& AddOptions(const char* key, const char* value) { m_optionsHasBeenSet = true; m_options.emplace(key, value); return *this; } /** *

The secrets to pass to the log configuration.

*/ inline const Aws::Vector& GetSecretOptions() const{ return m_secretOptions; } /** *

The secrets to pass to the log configuration.

*/ inline bool SecretOptionsHasBeenSet() const { return m_secretOptionsHasBeenSet; } /** *

The secrets to pass to the log configuration.

*/ inline void SetSecretOptions(const Aws::Vector& value) { m_secretOptionsHasBeenSet = true; m_secretOptions = value; } /** *

The secrets to pass to the log configuration.

*/ inline void SetSecretOptions(Aws::Vector&& value) { m_secretOptionsHasBeenSet = true; m_secretOptions = std::move(value); } /** *

The secrets to pass to the log configuration.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& WithSecretOptions(const Aws::Vector& value) { SetSecretOptions(value); return *this;} /** *

The secrets to pass to the log configuration.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& WithSecretOptions(Aws::Vector&& value) { SetSecretOptions(std::move(value)); return *this;} /** *

The secrets to pass to the log configuration.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& AddSecretOptions(const AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails& value) { m_secretOptionsHasBeenSet = true; m_secretOptions.push_back(value); return *this; } /** *

The secrets to pass to the log configuration.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& AddSecretOptions(AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails&& value) { m_secretOptionsHasBeenSet = true; m_secretOptions.push_back(std::move(value)); return *this; } private: Aws::String m_logDriver; bool m_logDriverHasBeenSet = false; Aws::Map m_options; bool m_optionsHasBeenSet = false; Aws::Vector m_secretOptions; bool m_secretOptionsHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws