/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The log configuration specification for the container. This parameter
* maps to The following should be noted
* when specifying a log configuration for your containers: Amazon
* ECS currently supports a subset of the logging drivers available to the Docker
* daemon (shown in the valid values below). Additional log drivers may be
* available in future releases of the Amazon ECS container agent. This parameter requires version 1.18 of the Docker Remote API or greater on
* your container instance. For tasks using the EC2 launch type,
* the Amazon ECS container agent running on a container instance must register the
* logging drivers available on that instance with the
* For tasks using the Fargate launch type,
* because you do not have access to the underlying infrastructure your tasks are
* hosted on, any additional software needed will have to be installed outside of
* the task. For example, the Fluentd output aggregators or a remote host running
* Logstash to send Gelf logs to.LogConfig in the Create
* a container section of the Docker Remote API and the
* --log-driver option to docker
* run . By default, containers use the same logging driver that the
* Docker daemon uses; however the container may use a different logging driver
* than the Docker daemon by specifying a log driver with this parameter in the
* container definition. To use a different logging driver for a container, the log
* system must be configured properly on the container instance (or on a different
* log server for remote logging options). For more information on the options for
* different supported log drivers, see Configure logging
* drivers in the Docker documentation.
ECS_AVAILABLE_LOGGING_DRIVERS environment variable before
* containers placed on that instance can use these log configuration options. For
* more information, see Amazon
* ECS Container Agent Configuration in the Amazon Elastic Container Service
* Developer Guide.See Also:
AWS
* API Reference
The log driver to use for the container. The valid values listed earlier are * log drivers that the Amazon ECS container agent can communicate with by * default.
For tasks using the Fargate launch type, the supported log
* drivers are awslogs, splunk, and
* awsfirelens.
For tasks using the EC2 launch type, the
* supported log drivers are awslogs, fluentd,
* gelf, json-file, journald,
* logentries,syslog, splunk, and
* awsfirelens.
For more information about using the
* awslogs log driver, see Using
* the awslogs Log Driver in the Amazon Elastic Container Service Developer
* Guide.
For more information about using the awsfirelens
* log driver, see Custom
* Log Routing in the Amazon Elastic Container Service Developer
* Guide.
If you have a custom driver that is not listed, you can * fork the Amazon ECS container agent project that is available on GitHub and * customize it to work with that driver. We encourage you to submit pull requests * for changes that you would like to have included. However, we do not currently * provide support for running modified copies of this software.
*/ inline const LogDriver& GetLogDriver() const{ return m_logDriver; } /** *The log driver to use for the container. The valid values listed earlier are * log drivers that the Amazon ECS container agent can communicate with by * default.
For tasks using the Fargate launch type, the supported log
* drivers are awslogs, splunk, and
* awsfirelens.
For tasks using the EC2 launch type, the
* supported log drivers are awslogs, fluentd,
* gelf, json-file, journald,
* logentries,syslog, splunk, and
* awsfirelens.
For more information about using the
* awslogs log driver, see Using
* the awslogs Log Driver in the Amazon Elastic Container Service Developer
* Guide.
For more information about using the awsfirelens
* log driver, see Custom
* Log Routing in the Amazon Elastic Container Service Developer
* Guide.
If you have a custom driver that is not listed, you can * fork the Amazon ECS container agent project that is available on GitHub and * customize it to work with that driver. We encourage you to submit pull requests * for changes that you would like to have included. However, we do not currently * provide support for running modified copies of this software.
*/ inline bool LogDriverHasBeenSet() const { return m_logDriverHasBeenSet; } /** *The log driver to use for the container. The valid values listed earlier are * log drivers that the Amazon ECS container agent can communicate with by * default.
For tasks using the Fargate launch type, the supported log
* drivers are awslogs, splunk, and
* awsfirelens.
For tasks using the EC2 launch type, the
* supported log drivers are awslogs, fluentd,
* gelf, json-file, journald,
* logentries,syslog, splunk, and
* awsfirelens.
For more information about using the
* awslogs log driver, see Using
* the awslogs Log Driver in the Amazon Elastic Container Service Developer
* Guide.
For more information about using the awsfirelens
* log driver, see Custom
* Log Routing in the Amazon Elastic Container Service Developer
* Guide.
If you have a custom driver that is not listed, you can * fork the Amazon ECS container agent project that is available on GitHub and * customize it to work with that driver. We encourage you to submit pull requests * for changes that you would like to have included. However, we do not currently * provide support for running modified copies of this software.
*/ inline void SetLogDriver(const LogDriver& value) { m_logDriverHasBeenSet = true; m_logDriver = value; } /** *The log driver to use for the container. The valid values listed earlier are * log drivers that the Amazon ECS container agent can communicate with by * default.
For tasks using the Fargate launch type, the supported log
* drivers are awslogs, splunk, and
* awsfirelens.
For tasks using the EC2 launch type, the
* supported log drivers are awslogs, fluentd,
* gelf, json-file, journald,
* logentries,syslog, splunk, and
* awsfirelens.
For more information about using the
* awslogs log driver, see Using
* the awslogs Log Driver in the Amazon Elastic Container Service Developer
* Guide.
For more information about using the awsfirelens
* log driver, see Custom
* Log Routing in the Amazon Elastic Container Service Developer
* Guide.
If you have a custom driver that is not listed, you can * fork the Amazon ECS container agent project that is available on GitHub and * customize it to work with that driver. We encourage you to submit pull requests * for changes that you would like to have included. However, we do not currently * provide support for running modified copies of this software.
*/ inline void SetLogDriver(LogDriver&& value) { m_logDriverHasBeenSet = true; m_logDriver = std::move(value); } /** *The log driver to use for the container. The valid values listed earlier are * log drivers that the Amazon ECS container agent can communicate with by * default.
For tasks using the Fargate launch type, the supported log
* drivers are awslogs, splunk, and
* awsfirelens.
For tasks using the EC2 launch type, the
* supported log drivers are awslogs, fluentd,
* gelf, json-file, journald,
* logentries,syslog, splunk, and
* awsfirelens.
For more information about using the
* awslogs log driver, see Using
* the awslogs Log Driver in the Amazon Elastic Container Service Developer
* Guide.
For more information about using the awsfirelens
* log driver, see Custom
* Log Routing in the Amazon Elastic Container Service Developer
* Guide.
If you have a custom driver that is not listed, you can * fork the Amazon ECS container agent project that is available on GitHub and * customize it to work with that driver. We encourage you to submit pull requests * for changes that you would like to have included. However, we do not currently * provide support for running modified copies of this software.
*/ inline LogConfiguration& WithLogDriver(const LogDriver& value) { SetLogDriver(value); return *this;} /** *The log driver to use for the container. The valid values listed earlier are * log drivers that the Amazon ECS container agent can communicate with by * default.
For tasks using the Fargate launch type, the supported log
* drivers are awslogs, splunk, and
* awsfirelens.
For tasks using the EC2 launch type, the
* supported log drivers are awslogs, fluentd,
* gelf, json-file, journald,
* logentries,syslog, splunk, and
* awsfirelens.
For more information about using the
* awslogs log driver, see Using
* the awslogs Log Driver in the Amazon Elastic Container Service Developer
* Guide.
For more information about using the awsfirelens
* log driver, see Custom
* Log Routing in the Amazon Elastic Container Service Developer
* Guide.
If you have a custom driver that is not listed, you can * fork the Amazon ECS container agent project that is available on GitHub and * customize it to work with that driver. We encourage you to submit pull requests * for changes that you would like to have included. However, we do not currently * provide support for running modified copies of this software.
*/ inline LogConfiguration& WithLogDriver(LogDriver&& value) { SetLogDriver(std::move(value)); return *this;} /** *The configuration options to send to the log driver. This parameter requires
* version 1.19 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version
* --format '{{.Server.APIVersion}}'
The configuration options to send to the log driver. This parameter requires
* version 1.19 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version
* --format '{{.Server.APIVersion}}'
The configuration options to send to the log driver. This parameter requires
* version 1.19 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version
* --format '{{.Server.APIVersion}}'
The configuration options to send to the log driver. This parameter requires
* version 1.19 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version
* --format '{{.Server.APIVersion}}'
The configuration options to send to the log driver. This parameter requires
* version 1.19 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version
* --format '{{.Server.APIVersion}}'
The configuration options to send to the log driver. This parameter requires
* version 1.19 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version
* --format '{{.Server.APIVersion}}'
The configuration options to send to the log driver. This parameter requires
* version 1.19 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version
* --format '{{.Server.APIVersion}}'
The configuration options to send to the log driver. This parameter requires
* version 1.19 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version
* --format '{{.Server.APIVersion}}'
The configuration options to send to the log driver. This parameter requires
* version 1.19 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version
* --format '{{.Server.APIVersion}}'
The configuration options to send to the log driver. This parameter requires
* version 1.19 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version
* --format '{{.Server.APIVersion}}'
The configuration options to send to the log driver. This parameter requires
* version 1.19 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version
* --format '{{.Server.APIVersion}}'
The configuration options to send to the log driver. This parameter requires
* version 1.19 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version
* --format '{{.Server.APIVersion}}'
The configuration options to send to the log driver. This parameter requires
* version 1.19 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version
* --format '{{.Server.APIVersion}}'
The secrets to pass to the log configuration. For more information, see Specifying * Sensitive Data in the Amazon Elastic Container Service Developer * Guide.
*/ inline const Aws::VectorThe secrets to pass to the log configuration. For more information, see Specifying * Sensitive Data in the Amazon Elastic Container Service Developer * Guide.
*/ inline bool SecretOptionsHasBeenSet() const { return m_secretOptionsHasBeenSet; } /** *The secrets to pass to the log configuration. For more information, see Specifying * Sensitive Data in the Amazon Elastic Container Service Developer * Guide.
*/ inline void SetSecretOptions(const Aws::VectorThe secrets to pass to the log configuration. For more information, see Specifying * Sensitive Data in the Amazon Elastic Container Service Developer * Guide.
*/ inline void SetSecretOptions(Aws::VectorThe secrets to pass to the log configuration. For more information, see Specifying * Sensitive Data in the Amazon Elastic Container Service Developer * Guide.
*/ inline LogConfiguration& WithSecretOptions(const Aws::VectorThe secrets to pass to the log configuration. For more information, see Specifying * Sensitive Data in the Amazon Elastic Container Service Developer * Guide.
*/ inline LogConfiguration& WithSecretOptions(Aws::VectorThe secrets to pass to the log configuration. For more information, see Specifying * Sensitive Data in the Amazon Elastic Container Service Developer * Guide.
*/ inline LogConfiguration& AddSecretOptions(const Secret& value) { m_secretOptionsHasBeenSet = true; m_secretOptions.push_back(value); return *this; } /** *The secrets to pass to the log configuration. For more information, see Specifying * Sensitive Data in the Amazon Elastic Container Service Developer * Guide.
*/ inline LogConfiguration& AddSecretOptions(Secret&& value) { m_secretOptionsHasBeenSet = true; m_secretOptions.push_back(std::move(value)); return *this; } private: LogDriver m_logDriver; bool m_logDriverHasBeenSet; Aws::Map