/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the securityhub-2018-10-26.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.SecurityHub.Model
{
///
/// A container definition that describes a container in the task.
///
public partial class AwsEcsTaskDefinitionContainerDefinitionsDetails
{
private List _command = new List();
private int? _cpu;
private List _dependsOn = new List();
private bool? _disableNetworking;
private List _dnsSearchDomains = new List();
private List _dnsServers = new List();
private Dictionary _dockerLabels = new Dictionary();
private List _dockerSecurityOptions = new List();
private List _entryPoint = new List();
private List _environment = new List();
private List _environmentFiles = new List();
private bool? _essential;
private List _extraHosts = new List();
private AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails _firelensConfiguration;
private AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails _healthCheck;
private string _hostname;
private string _image;
private bool? _interactive;
private List _links = new List();
private AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails _linuxParameters;
private AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails _logConfiguration;
private int? _memory;
private int? _memoryReservation;
private List _mountPoints = new List();
private string _name;
private List _portMappings = new List();
private bool? _privileged;
private bool? _pseudoTerminal;
private bool? _readonlyRootFilesystem;
private AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails _repositoryCredentials;
private List _resourceRequirements = new List();
private List _secrets = new List();
private int? _startTimeout;
private int? _stopTimeout;
private List _systemControls = new List();
private List _ulimits = new List();
private string _user;
private List _volumesFrom = new List();
private string _workingDirectory;
///
/// Gets and sets the property Command.
///
/// The command that is passed to the container.
///
///
public List Command
{
get { return this._command; }
set { this._command = value; }
}
// Check to see if Command property is set
internal bool IsSetCommand()
{
return this._command != null && this._command.Count > 0;
}
///
/// Gets and sets the property Cpu.
///
/// The number of CPU units reserved for the container.
///
///
public int Cpu
{
get { return this._cpu.GetValueOrDefault(); }
set { this._cpu = value; }
}
// Check to see if Cpu property is set
internal bool IsSetCpu()
{
return this._cpu.HasValue;
}
///
/// Gets and sets the property DependsOn.
///
/// The dependencies that are defined for container startup and shutdown.
///
///
public List DependsOn
{
get { return this._dependsOn; }
set { this._dependsOn = value; }
}
// Check to see if DependsOn property is set
internal bool IsSetDependsOn()
{
return this._dependsOn != null && this._dependsOn.Count > 0;
}
///
/// Gets and sets the property DisableNetworking.
///
/// Whether to disable networking within the container.
///
///
public bool DisableNetworking
{
get { return this._disableNetworking.GetValueOrDefault(); }
set { this._disableNetworking = value; }
}
// Check to see if DisableNetworking property is set
internal bool IsSetDisableNetworking()
{
return this._disableNetworking.HasValue;
}
///
/// Gets and sets the property DnsSearchDomains.
///
/// A list of DNS search domains that are presented to the container.
///
///
public List DnsSearchDomains
{
get { return this._dnsSearchDomains; }
set { this._dnsSearchDomains = value; }
}
// Check to see if DnsSearchDomains property is set
internal bool IsSetDnsSearchDomains()
{
return this._dnsSearchDomains != null && this._dnsSearchDomains.Count > 0;
}
///
/// Gets and sets the property DnsServers.
///
/// A list of DNS servers that are presented to the container.
///
///
public List DnsServers
{
get { return this._dnsServers; }
set { this._dnsServers = value; }
}
// Check to see if DnsServers property is set
internal bool IsSetDnsServers()
{
return this._dnsServers != null && this._dnsServers.Count > 0;
}
///
/// Gets and sets the property DockerLabels.
///
/// A key-value map of labels to add to the container.
///
///
public Dictionary DockerLabels
{
get { return this._dockerLabels; }
set { this._dockerLabels = value; }
}
// Check to see if DockerLabels property is set
internal bool IsSetDockerLabels()
{
return this._dockerLabels != null && this._dockerLabels.Count > 0;
}
///
/// Gets and sets the property DockerSecurityOptions.
///
/// A list of strings to provide custom labels for SELinux and AppArmor multi-level security
/// systems.
///
///
public List DockerSecurityOptions
{
get { return this._dockerSecurityOptions; }
set { this._dockerSecurityOptions = value; }
}
// Check to see if DockerSecurityOptions property is set
internal bool IsSetDockerSecurityOptions()
{
return this._dockerSecurityOptions != null && this._dockerSecurityOptions.Count > 0;
}
///
/// Gets and sets the property EntryPoint.
///
/// The entry point that is passed to the container.
///
///
public List EntryPoint
{
get { return this._entryPoint; }
set { this._entryPoint = value; }
}
// Check to see if EntryPoint property is set
internal bool IsSetEntryPoint()
{
return this._entryPoint != null && this._entryPoint.Count > 0;
}
///
/// Gets and sets the property Environment.
///
/// The environment variables to pass to a container.
///
///
public List Environment
{
get { return this._environment; }
set { this._environment = value; }
}
// Check to see if Environment property is set
internal bool IsSetEnvironment()
{
return this._environment != null && this._environment.Count > 0;
}
///
/// Gets and sets the property EnvironmentFiles.
///
/// A list of files containing the environment variables to pass to a container.
///
///
public List EnvironmentFiles
{
get { return this._environmentFiles; }
set { this._environmentFiles = value; }
}
// Check to see if EnvironmentFiles property is set
internal bool IsSetEnvironmentFiles()
{
return this._environmentFiles != null && this._environmentFiles.Count > 0;
}
///
/// Gets and sets the property Essential.
///
/// Whether the container is essential. All tasks must have at least one essential container.
///
///
public bool Essential
{
get { return this._essential.GetValueOrDefault(); }
set { this._essential = value; }
}
// Check to see if Essential property is set
internal bool IsSetEssential()
{
return this._essential.HasValue;
}
///
/// Gets and sets the property ExtraHosts.
///
/// A list of hostnames and IP address mappings to append to the /etc/hosts file
/// on the container.
///
///
public List ExtraHosts
{
get { return this._extraHosts; }
set { this._extraHosts = value; }
}
// Check to see if ExtraHosts property is set
internal bool IsSetExtraHosts()
{
return this._extraHosts != null && this._extraHosts.Count > 0;
}
///
/// Gets and sets the property FirelensConfiguration.
///
/// The FireLens configuration for the container. Specifies and configures a log router
/// for container logs.
///
///
public AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails FirelensConfiguration
{
get { return this._firelensConfiguration; }
set { this._firelensConfiguration = value; }
}
// Check to see if FirelensConfiguration property is set
internal bool IsSetFirelensConfiguration()
{
return this._firelensConfiguration != null;
}
///
/// Gets and sets the property HealthCheck.
///
/// The container health check command and associated configuration parameters for the
/// container.
///
///
public AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails HealthCheck
{
get { return this._healthCheck; }
set { this._healthCheck = value; }
}
// Check to see if HealthCheck property is set
internal bool IsSetHealthCheck()
{
return this._healthCheck != null;
}
///
/// Gets and sets the property Hostname.
///
/// The hostname to use for the container.
///
///
public string Hostname
{
get { return this._hostname; }
set { this._hostname = value; }
}
// Check to see if Hostname property is set
internal bool IsSetHostname()
{
return this._hostname != null;
}
///
/// Gets and sets the property Image.
///
/// The image used to start the container.
///
///
public string Image
{
get { return this._image; }
set { this._image = value; }
}
// Check to see if Image property is set
internal bool IsSetImage()
{
return this._image != null;
}
///
/// Gets and sets the property Interactive.
///
/// If set to true, then containerized applications can be deployed that require stdin
/// or a tty
to be allocated.
///
///
public bool Interactive
{
get { return this._interactive.GetValueOrDefault(); }
set { this._interactive = value; }
}
// Check to see if Interactive property is set
internal bool IsSetInteractive()
{
return this._interactive.HasValue;
}
///
/// Gets and sets the property Links.
///
/// A list of links for the container in the form container_name:alias
///
. Allows containers to communicate with each other without the need for port
/// mappings.
///
///
public List Links
{
get { return this._links; }
set { this._links = value; }
}
// Check to see if Links property is set
internal bool IsSetLinks()
{
return this._links != null && this._links.Count > 0;
}
///
/// Gets and sets the property LinuxParameters.
///
/// Linux-specific modifications that are applied to the container, such as Linux kernel
/// capabilities.
///
///
public AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails LinuxParameters
{
get { return this._linuxParameters; }
set { this._linuxParameters = value; }
}
// Check to see if LinuxParameters property is set
internal bool IsSetLinuxParameters()
{
return this._linuxParameters != null;
}
///
/// Gets and sets the property LogConfiguration.
///
/// The log configuration specification for the container.
///
///
public AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails LogConfiguration
{
get { return this._logConfiguration; }
set { this._logConfiguration = value; }
}
// Check to see if LogConfiguration property is set
internal bool IsSetLogConfiguration()
{
return this._logConfiguration != null;
}
///
/// Gets and sets the property Memory.
///
/// The amount (in MiB) of memory to present to the container. If the container attempts
/// to exceed the memory specified here, the container is shut down. The total amount
/// of memory reserved for all containers within a task must be lower than the task memory
/// value, if one is specified.
///
///
public int Memory
{
get { return this._memory.GetValueOrDefault(); }
set { this._memory = value; }
}
// Check to see if Memory property is set
internal bool IsSetMemory()
{
return this._memory.HasValue;
}
///
/// Gets and sets the property MemoryReservation.
///
/// The soft limit (in MiB) of memory to reserve for the container.
///
///
public int MemoryReservation
{
get { return this._memoryReservation.GetValueOrDefault(); }
set { this._memoryReservation = value; }
}
// Check to see if MemoryReservation property is set
internal bool IsSetMemoryReservation()
{
return this._memoryReservation.HasValue;
}
///
/// Gets and sets the property MountPoints.
///
/// The mount points for the data volumes in the container.
///
///
public List MountPoints
{
get { return this._mountPoints; }
set { this._mountPoints = value; }
}
// Check to see if MountPoints property is set
internal bool IsSetMountPoints()
{
return this._mountPoints != null && this._mountPoints.Count > 0;
}
///
/// Gets and sets the property Name.
///
/// The name of the container.
///
///
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property PortMappings.
///
/// The list of port mappings for the container.
///
///
public List PortMappings
{
get { return this._portMappings; }
set { this._portMappings = value; }
}
// Check to see if PortMappings property is set
internal bool IsSetPortMappings()
{
return this._portMappings != null && this._portMappings.Count > 0;
}
///
/// Gets and sets the property Privileged.
///
/// Whether the container is given elevated privileges on the host container instance.
/// The elevated privileges are similar to the root user.
///
///
public bool Privileged
{
get { return this._privileged.GetValueOrDefault(); }
set { this._privileged = value; }
}
// Check to see if Privileged property is set
internal bool IsSetPrivileged()
{
return this._privileged.HasValue;
}
///
/// Gets and sets the property PseudoTerminal.
///
/// Whether to allocate a TTY to the container.
///
///
public bool PseudoTerminal
{
get { return this._pseudoTerminal.GetValueOrDefault(); }
set { this._pseudoTerminal = value; }
}
// Check to see if PseudoTerminal property is set
internal bool IsSetPseudoTerminal()
{
return this._pseudoTerminal.HasValue;
}
///
/// Gets and sets the property ReadonlyRootFilesystem.
///
/// Whether the container is given read-only access to its root file system.
///
///
public bool ReadonlyRootFilesystem
{
get { return this._readonlyRootFilesystem.GetValueOrDefault(); }
set { this._readonlyRootFilesystem = value; }
}
// Check to see if ReadonlyRootFilesystem property is set
internal bool IsSetReadonlyRootFilesystem()
{
return this._readonlyRootFilesystem.HasValue;
}
///
/// Gets and sets the property RepositoryCredentials.
///
/// The private repository authentication credentials to use.
///
///
public AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails RepositoryCredentials
{
get { return this._repositoryCredentials; }
set { this._repositoryCredentials = value; }
}
// Check to see if RepositoryCredentials property is set
internal bool IsSetRepositoryCredentials()
{
return this._repositoryCredentials != null;
}
///
/// Gets and sets the property ResourceRequirements.
///
/// The type and amount of a resource to assign to a container. The only supported resource
/// is a GPU.
///
///
public List ResourceRequirements
{
get { return this._resourceRequirements; }
set { this._resourceRequirements = value; }
}
// Check to see if ResourceRequirements property is set
internal bool IsSetResourceRequirements()
{
return this._resourceRequirements != null && this._resourceRequirements.Count > 0;
}
///
/// Gets and sets the property Secrets.
///
/// The secrets to pass to the container.
///
///
public List Secrets
{
get { return this._secrets; }
set { this._secrets = value; }
}
// Check to see if Secrets property is set
internal bool IsSetSecrets()
{
return this._secrets != null && this._secrets.Count > 0;
}
///
/// Gets and sets the property StartTimeout.
///
/// The number of seconds to wait before giving up on resolving dependencies for a container.
///
///
///
public int StartTimeout
{
get { return this._startTimeout.GetValueOrDefault(); }
set { this._startTimeout = value; }
}
// Check to see if StartTimeout property is set
internal bool IsSetStartTimeout()
{
return this._startTimeout.HasValue;
}
///
/// Gets and sets the property StopTimeout.
///
/// The number of seconds to wait before the container is stopped if it doesn't shut down
/// normally on its own.
///
///
public int StopTimeout
{
get { return this._stopTimeout.GetValueOrDefault(); }
set { this._stopTimeout = value; }
}
// Check to see if StopTimeout property is set
internal bool IsSetStopTimeout()
{
return this._stopTimeout.HasValue;
}
///
/// Gets and sets the property SystemControls.
///
/// A list of namespaced kernel parameters to set in the container.
///
///
public List SystemControls
{
get { return this._systemControls; }
set { this._systemControls = value; }
}
// Check to see if SystemControls property is set
internal bool IsSetSystemControls()
{
return this._systemControls != null && this._systemControls.Count > 0;
}
///
/// Gets and sets the property Ulimits.
///
/// A list of ulimits to set in the container.
///
///
public List Ulimits
{
get { return this._ulimits; }
set { this._ulimits = value; }
}
// Check to see if Ulimits property is set
internal bool IsSetUlimits()
{
return this._ulimits != null && this._ulimits.Count > 0;
}
///
/// Gets and sets the property User.
///
/// The user to use inside the container.
///
///
///
/// The value can use one of the following formats.
///
/// -
///
///
user
///
/// -
///
///
user
: group
///
/// -
///
///
uid
///
/// -
///
///
uid
: gid
///
/// -
///
///
user
: gid
///
/// -
///
///
uid
: group
///
///
///
public string User
{
get { return this._user; }
set { this._user = value; }
}
// Check to see if User property is set
internal bool IsSetUser()
{
return this._user != null;
}
///
/// Gets and sets the property VolumesFrom.
///
/// Data volumes to mount from another container.
///
///
public List VolumesFrom
{
get { return this._volumesFrom; }
set { this._volumesFrom = value; }
}
// Check to see if VolumesFrom property is set
internal bool IsSetVolumesFrom()
{
return this._volumesFrom != null && this._volumesFrom.Count > 0;
}
///
/// Gets and sets the property WorkingDirectory.
///
/// The working directory in which to run commands inside the container.
///
///
public string WorkingDirectory
{
get { return this._workingDirectory; }
set { this._workingDirectory = value; }
}
// Check to see if WorkingDirectory property is set
internal bool IsSetWorkingDirectory()
{
return this._workingDirectory != null;
}
}
}