/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The details for the pod.See Also:
AWS
* API Reference
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.
*/ inline const Aws::String& GetServiceAccountName() const{ return m_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.
*/ inline bool ServiceAccountNameHasBeenSet() const { return m_serviceAccountNameHasBeenSet; } /** *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.
*/ inline void SetServiceAccountName(const Aws::String& value) { m_serviceAccountNameHasBeenSet = true; m_serviceAccountName = value; } /** *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.
*/ inline void SetServiceAccountName(Aws::String&& value) { m_serviceAccountNameHasBeenSet = true; m_serviceAccountName = std::move(value); } /** *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.
*/ inline void SetServiceAccountName(const char* value) { m_serviceAccountNameHasBeenSet = true; m_serviceAccountName.assign(value); } /** *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.
*/ inline EksPodPropertiesDetail& WithServiceAccountName(const Aws::String& value) { SetServiceAccountName(value); return *this;} /** *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.
*/ inline EksPodPropertiesDetail& WithServiceAccountName(Aws::String&& value) { SetServiceAccountName(std::move(value)); return *this;} /** *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.
*/ inline EksPodPropertiesDetail& WithServiceAccountName(const char* value) { SetServiceAccountName(value); return *this;} /** *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.
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.
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.
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.
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
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
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
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
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
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
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
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
The properties of the container that's used on the Amazon EKS pod.
*/ inline const Aws::VectorThe properties of the container that's used on the Amazon EKS pod.
*/ inline bool ContainersHasBeenSet() const { return m_containersHasBeenSet; } /** *The properties of the container that's used on the Amazon EKS pod.
*/ inline void SetContainers(const Aws::VectorThe properties of the container that's used on the Amazon EKS pod.
*/ inline void SetContainers(Aws::VectorThe properties of the container that's used on the Amazon EKS pod.
*/ inline EksPodPropertiesDetail& WithContainers(const Aws::VectorThe properties of the container that's used on the Amazon EKS pod.
*/ inline EksPodPropertiesDetail& WithContainers(Aws::VectorThe properties of the container that's used on the Amazon EKS pod.
*/ inline EksPodPropertiesDetail& AddContainers(const EksContainerDetail& value) { m_containersHasBeenSet = true; m_containers.push_back(value); return *this; } /** *The properties of the container that's used on the Amazon EKS pod.
*/ inline EksPodPropertiesDetail& AddContainers(EksContainerDetail&& value) { m_containersHasBeenSet = true; m_containers.push_back(std::move(value)); return *this; } /** *Specifies the volumes for a job definition using Amazon EKS resources.
*/ inline const Aws::VectorSpecifies the volumes for a job definition using Amazon EKS resources.
*/ inline bool VolumesHasBeenSet() const { return m_volumesHasBeenSet; } /** *Specifies the volumes for a job definition using Amazon EKS resources.
*/ inline void SetVolumes(const Aws::VectorSpecifies the volumes for a job definition using Amazon EKS resources.
*/ inline void SetVolumes(Aws::VectorSpecifies the volumes for a job definition using Amazon EKS resources.
*/ inline EksPodPropertiesDetail& WithVolumes(const Aws::VectorSpecifies the volumes for a job definition using Amazon EKS resources.
*/ inline EksPodPropertiesDetail& WithVolumes(Aws::VectorSpecifies the volumes for a job definition using Amazon EKS resources.
*/ inline EksPodPropertiesDetail& AddVolumes(const EksVolume& value) { m_volumesHasBeenSet = true; m_volumes.push_back(value); return *this; } /** *Specifies the volumes for a job definition using Amazon EKS resources.
*/ inline EksPodPropertiesDetail& AddVolumes(EksVolume&& value) { m_volumesHasBeenSet = true; m_volumes.push_back(std::move(value)); return *this; } /** *The name of the pod for this job.
*/ inline const Aws::String& GetPodName() const{ return m_podName; } /** *The name of the pod for this job.
*/ inline bool PodNameHasBeenSet() const { return m_podNameHasBeenSet; } /** *The name of the pod for this job.
*/ inline void SetPodName(const Aws::String& value) { m_podNameHasBeenSet = true; m_podName = value; } /** *The name of the pod for this job.
*/ inline void SetPodName(Aws::String&& value) { m_podNameHasBeenSet = true; m_podName = std::move(value); } /** *The name of the pod for this job.
*/ inline void SetPodName(const char* value) { m_podNameHasBeenSet = true; m_podName.assign(value); } /** *The name of the pod for this job.
*/ inline EksPodPropertiesDetail& WithPodName(const Aws::String& value) { SetPodName(value); return *this;} /** *The name of the pod for this job.
*/ inline EksPodPropertiesDetail& WithPodName(Aws::String&& value) { SetPodName(std::move(value)); return *this;} /** *The name of the pod for this job.
*/ inline EksPodPropertiesDetail& WithPodName(const char* value) { SetPodName(value); return *this;} /** *The name of the node for this job.
*/ inline const Aws::String& GetNodeName() const{ return m_nodeName; } /** *The name of the node for this job.
*/ inline bool NodeNameHasBeenSet() const { return m_nodeNameHasBeenSet; } /** *The name of the node for this job.
*/ inline void SetNodeName(const Aws::String& value) { m_nodeNameHasBeenSet = true; m_nodeName = value; } /** *The name of the node for this job.
*/ inline void SetNodeName(Aws::String&& value) { m_nodeNameHasBeenSet = true; m_nodeName = std::move(value); } /** *The name of the node for this job.
*/ inline void SetNodeName(const char* value) { m_nodeNameHasBeenSet = true; m_nodeName.assign(value); } /** *The name of the node for this job.
*/ inline EksPodPropertiesDetail& WithNodeName(const Aws::String& value) { SetNodeName(value); return *this;} /** *The name of the node for this job.
*/ inline EksPodPropertiesDetail& WithNodeName(Aws::String&& value) { SetNodeName(std::move(value)); return *this;} /** *The name of the node for this job.
*/ inline EksPodPropertiesDetail& WithNodeName(const char* value) { SetNodeName(value); return *this;} inline const EksMetadata& GetMetadata() const{ return m_metadata; } inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } inline void SetMetadata(const EksMetadata& value) { m_metadataHasBeenSet = true; m_metadata = value; } inline void SetMetadata(EksMetadata&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); } inline EksPodPropertiesDetail& WithMetadata(const EksMetadata& value) { SetMetadata(value); return *this;} inline EksPodPropertiesDetail& WithMetadata(EksMetadata&& value) { SetMetadata(std::move(value)); return *this;} private: Aws::String m_serviceAccountName; bool m_serviceAccountNameHasBeenSet = false; bool m_hostNetwork; bool m_hostNetworkHasBeenSet = false; Aws::String m_dnsPolicy; bool m_dnsPolicyHasBeenSet = false; Aws::Vector