/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.ecs.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* The log configuration for the container. This parameter maps 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 might use a * different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. * For more information about the options for different supported log drivers, see Configure logging drivers in the Docker * documentation. *
** Understand the following 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 that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging
* drivers with the 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.
*
* For tasks that are on Fargate, because you don't have access to the underlying infrastructure your tasks are hosted * on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators * or a remote host running Logstash to send Gelf logs to. *
** The log driver to use for the container. *
*
* For tasks on Fargate, the supported log drivers are awslogs
, splunk
, and
* awsfirelens
.
*
* For tasks hosted on Amazon EC2 instances, 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 isn't listed, you can fork the Amazon ECS container agent project that's 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 don't * currently provide support for running modified copies of this software. *
*
* 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. *
*/ private com.amazonaws.internal.SdkInternalList* The log driver to use for the container. *
*
* For tasks on Fargate, the supported log drivers are awslogs
, splunk
, and
* awsfirelens
.
*
* For tasks hosted on Amazon EC2 instances, 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 isn't listed, you can fork the Amazon ECS container agent project that's 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 don't * currently provide support for running modified copies of this software. *
*
* For tasks on Fargate, the supported log drivers are awslogs
, splunk
, and
* awsfirelens
.
*
* For tasks hosted on Amazon EC2 instances, 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 isn't listed, you can fork the Amazon ECS container agent project that's * 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 don't currently provide support for running modified copies of this software. *
* @see LogDriver */ public void setLogDriver(String logDriver) { this.logDriver = logDriver; } /** ** The log driver to use for the container. *
*
* For tasks on Fargate, the supported log drivers are awslogs
, splunk
, and
* awsfirelens
.
*
* For tasks hosted on Amazon EC2 instances, 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 isn't listed, you can fork the Amazon ECS container agent project that's 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 don't * currently provide support for running modified copies of this software. *
*
* For tasks on Fargate, the supported log drivers are awslogs
, splunk
, and
* awsfirelens
.
*
* For tasks hosted on Amazon EC2 instances, 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 isn't listed, you can fork the Amazon ECS container agent project that's * 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 don't currently provide support for running modified copies of this software. *
* @see LogDriver */ public String getLogDriver() { return this.logDriver; } /** ** The log driver to use for the container. *
*
* For tasks on Fargate, the supported log drivers are awslogs
, splunk
, and
* awsfirelens
.
*
* For tasks hosted on Amazon EC2 instances, 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 isn't listed, you can fork the Amazon ECS container agent project that's 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 don't * currently provide support for running modified copies of this software. *
*
* For tasks on Fargate, the supported log drivers are awslogs
, splunk
, and
* awsfirelens
.
*
* For tasks hosted on Amazon EC2 instances, 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 isn't listed, you can fork the Amazon ECS container agent project that's * 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 don't currently provide support for running modified copies of this software. *
* @return Returns a reference to this object so that method calls can be chained together. * @see LogDriver */ public LogConfiguration withLogDriver(String logDriver) { setLogDriver(logDriver); return this; } /** ** The log driver to use for the container. *
*
* For tasks on Fargate, the supported log drivers are awslogs
, splunk
, and
* awsfirelens
.
*
* For tasks hosted on Amazon EC2 instances, 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 isn't listed, you can fork the Amazon ECS container agent project that's 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 don't * currently provide support for running modified copies of this software. *
*
* For tasks on Fargate, the supported log drivers are awslogs
, splunk
, and
* awsfirelens
.
*
* For tasks hosted on Amazon EC2 instances, 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 isn't listed, you can fork the Amazon ECS container agent project that's * 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 don't currently provide support for running modified copies of this software. *
* @see LogDriver */ public void setLogDriver(LogDriver logDriver) { withLogDriver(logDriver); } /** ** The log driver to use for the container. *
*
* For tasks on Fargate, the supported log drivers are awslogs
, splunk
, and
* awsfirelens
.
*
* For tasks hosted on Amazon EC2 instances, 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 isn't listed, you can fork the Amazon ECS container agent project that's 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 don't * currently provide support for running modified copies of this software. *
*
* For tasks on Fargate, the supported log drivers are awslogs
, splunk
, and
* awsfirelens
.
*
* For tasks hosted on Amazon EC2 instances, 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 isn't listed, you can fork the Amazon ECS container agent project that's * 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 don't currently provide support for running modified copies of this software. *
* @return Returns a reference to this object so that method calls can be chained together. * @see LogDriver */ public LogConfiguration withLogDriver(LogDriver logDriver) { this.logDriver = logDriver.toString(); 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}}'
*
sudo docker version --format '{{.Server.APIVersion}}'
*/
public java.util.Map
* 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}}'
*
sudo docker version --format '{{.Server.APIVersion}}'
*/
public void setOptions(java.util.Map
* 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}}'
*
sudo docker version --format '{{.Server.APIVersion}}'
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LogConfiguration withOptions(java.util.Map* The secrets to pass to the log configuration. For more information, see Specifying * sensitive data in the Amazon Elastic Container Service Developer Guide. *
* * @return The secrets to pass to the log configuration. For more information, see Specifying sensitive data in the Amazon Elastic Container Service Developer Guide. */ public java.util.List* The secrets to pass to the log configuration. For more information, see Specifying * sensitive data in the Amazon Elastic Container Service Developer Guide. *
* * @param secretOptions * The secrets to pass to the log configuration. For more information, see Specifying sensitive data in the Amazon Elastic Container Service Developer Guide. */ public void setSecretOptions(java.util.Collection* The secrets to pass to the log configuration. For more information, see Specifying * sensitive data in the Amazon Elastic Container Service Developer Guide. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setSecretOptions(java.util.Collection)} or {@link #withSecretOptions(java.util.Collection)} if you want * to override the existing values. *
* * @param secretOptions * The secrets to pass to the log configuration. For more information, see Specifying sensitive data in the Amazon Elastic Container Service Developer Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public LogConfiguration withSecretOptions(Secret... secretOptions) { if (this.secretOptions == null) { setSecretOptions(new com.amazonaws.internal.SdkInternalList* The secrets to pass to the log configuration. For more information, see Specifying * sensitive data in the Amazon Elastic Container Service Developer Guide. *
* * @param secretOptions * The secrets to pass to the log configuration. For more information, see Specifying sensitive data in the Amazon Elastic Container Service Developer Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public LogConfiguration withSecretOptions(java.util.Collection