/* * 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 batch-2016-08-10.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.Batch.Model { /// /// The details for the pod. /// public partial class EksPodPropertiesDetail { private List _containers = new List(); private string _dnsPolicy; private bool? _hostNetwork; private EksMetadata _metadata; private string _nodeName; private string _podName; private string _serviceAccountName; private List _volumes = new List(); /// /// Gets and sets the property Containers. /// /// The properties of the container that's used on the Amazon EKS pod. /// /// public List Containers { get { return this._containers; } set { this._containers = value; } } // Check to see if Containers property is set internal bool IsSetContainers() { return this._containers != null && this._containers.Count > 0; } /// /// Gets and sets the property DnsPolicy. /// /// The DNS policy for the pod. The default value is ClusterFirst. If the /// hostNetwork parameter is not specified, the default is ClusterFirstWithHostNet. /// ClusterFirst indicates that any DNS query that does not match the configured /// cluster domain suffix is forwarded to the upstream nameserver inherited from the node. /// If no value was specified for dnsPolicy in the RegisterJobDefinition /// API operation, then no value will be returned for dnsPolicy by either /// of DescribeJobDefinitions /// or DescribeJobs /// API operations. The pod spec setting will contain either ClusterFirst /// or ClusterFirstWithHostNet, depending on the value of the hostNetwork /// parameter. For more information, see Pod's /// DNS policy in the Kubernetes documentation. /// /// /// /// Valid values: Default | ClusterFirst | ClusterFirstWithHostNet /// /// /// public string DnsPolicy { get { return this._dnsPolicy; } set { this._dnsPolicy = value; } } // Check to see if DnsPolicy property is set internal bool IsSetDnsPolicy() { return this._dnsPolicy != null; } /// /// Gets and sets the property HostNetwork. /// /// Indicates if the pod uses the hosts' network IP address. The default value is true. /// Setting this to false enables the Kubernetes pod networking model. Most /// Batch workloads are egress-only and don't require the overhead of IP allocation for /// each pod for incoming connections. For more information, see Host /// namespaces and Pod /// networking in the Kubernetes documentation. /// /// public bool HostNetwork { get { return this._hostNetwork.GetValueOrDefault(); } set { this._hostNetwork = value; } } // Check to see if HostNetwork property is set internal bool IsSetHostNetwork() { return this._hostNetwork.HasValue; } /// /// Gets and sets the property Metadata. /// public EksMetadata Metadata { get { return this._metadata; } set { this._metadata = value; } } // Check to see if Metadata property is set internal bool IsSetMetadata() { return this._metadata != null; } /// /// Gets and sets the property NodeName. /// /// The name of the node for this job. /// /// public string NodeName { get { return this._nodeName; } set { this._nodeName = value; } } // Check to see if NodeName property is set internal bool IsSetNodeName() { return this._nodeName != null; } /// /// Gets and sets the property PodName. /// /// The name of the pod for this job. /// /// public string PodName { get { return this._podName; } set { this._podName = value; } } // Check to see if PodName property is set internal bool IsSetPodName() { return this._podName != null; } /// /// Gets and sets the property ServiceAccountName. /// /// The name of the service account that's used to run the pod. For more information, /// see Kubernetes /// service accounts and Configure /// a Kubernetes service account to assume an IAM role in the Amazon EKS User Guide /// and Configure /// service accounts for pods in the Kubernetes documentation. /// /// public string ServiceAccountName { get { return this._serviceAccountName; } set { this._serviceAccountName = value; } } // Check to see if ServiceAccountName property is set internal bool IsSetServiceAccountName() { return this._serviceAccountName != null; } /// /// Gets and sets the property Volumes. /// /// Specifies the volumes for a job definition using Amazon EKS resources. /// /// public List Volumes { get { return this._volumes; } set { this._volumes = value; } } // Check to see if Volumes property is set internal bool IsSetVolumes() { return this._volumes != null && this._volumes.Count > 0; } } }