/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Batch { namespace Model { /** *

Configuration for the Amazon EKS cluster that supports the Batch compute * environment. The cluster must exist before the compute environment can be * created.

See Also:

AWS * API Reference

*/ class EksConfiguration { public: AWS_BATCH_API EksConfiguration(); AWS_BATCH_API EksConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_BATCH_API EksConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The Amazon Resource Name (ARN) of the Amazon EKS cluster. An example is * arn:aws:eks:us-east-1:123456789012:cluster/ClusterForBatch * .

*/ inline const Aws::String& GetEksClusterArn() const{ return m_eksClusterArn; } /** *

The Amazon Resource Name (ARN) of the Amazon EKS cluster. An example is * arn:aws:eks:us-east-1:123456789012:cluster/ClusterForBatch * .

*/ inline bool EksClusterArnHasBeenSet() const { return m_eksClusterArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the Amazon EKS cluster. An example is * arn:aws:eks:us-east-1:123456789012:cluster/ClusterForBatch * .

*/ inline void SetEksClusterArn(const Aws::String& value) { m_eksClusterArnHasBeenSet = true; m_eksClusterArn = value; } /** *

The Amazon Resource Name (ARN) of the Amazon EKS cluster. An example is * arn:aws:eks:us-east-1:123456789012:cluster/ClusterForBatch * .

*/ inline void SetEksClusterArn(Aws::String&& value) { m_eksClusterArnHasBeenSet = true; m_eksClusterArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the Amazon EKS cluster. An example is * arn:aws:eks:us-east-1:123456789012:cluster/ClusterForBatch * .

*/ inline void SetEksClusterArn(const char* value) { m_eksClusterArnHasBeenSet = true; m_eksClusterArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the Amazon EKS cluster. An example is * arn:aws:eks:us-east-1:123456789012:cluster/ClusterForBatch * .

*/ inline EksConfiguration& WithEksClusterArn(const Aws::String& value) { SetEksClusterArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Amazon EKS cluster. An example is * arn:aws:eks:us-east-1:123456789012:cluster/ClusterForBatch * .

*/ inline EksConfiguration& WithEksClusterArn(Aws::String&& value) { SetEksClusterArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Amazon EKS cluster. An example is * arn:aws:eks:us-east-1:123456789012:cluster/ClusterForBatch * .

*/ inline EksConfiguration& WithEksClusterArn(const char* value) { SetEksClusterArn(value); return *this;} /** *

The namespace of the Amazon EKS cluster. Batch manages pods in this * namespace. The value can't left empty or null. It must be fewer than 64 * characters long, can't be set to default, can't start with * "kube-," and must match this regular expression: * ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$. For more information, see Namespaces * in the Kubernetes documentation.

*/ inline const Aws::String& GetKubernetesNamespace() const{ return m_kubernetesNamespace; } /** *

The namespace of the Amazon EKS cluster. Batch manages pods in this * namespace. The value can't left empty or null. It must be fewer than 64 * characters long, can't be set to default, can't start with * "kube-," and must match this regular expression: * ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$. For more information, see Namespaces * in the Kubernetes documentation.

*/ inline bool KubernetesNamespaceHasBeenSet() const { return m_kubernetesNamespaceHasBeenSet; } /** *

The namespace of the Amazon EKS cluster. Batch manages pods in this * namespace. The value can't left empty or null. It must be fewer than 64 * characters long, can't be set to default, can't start with * "kube-," and must match this regular expression: * ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$. For more information, see Namespaces * in the Kubernetes documentation.

*/ inline void SetKubernetesNamespace(const Aws::String& value) { m_kubernetesNamespaceHasBeenSet = true; m_kubernetesNamespace = value; } /** *

The namespace of the Amazon EKS cluster. Batch manages pods in this * namespace. The value can't left empty or null. It must be fewer than 64 * characters long, can't be set to default, can't start with * "kube-," and must match this regular expression: * ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$. For more information, see Namespaces * in the Kubernetes documentation.

*/ inline void SetKubernetesNamespace(Aws::String&& value) { m_kubernetesNamespaceHasBeenSet = true; m_kubernetesNamespace = std::move(value); } /** *

The namespace of the Amazon EKS cluster. Batch manages pods in this * namespace. The value can't left empty or null. It must be fewer than 64 * characters long, can't be set to default, can't start with * "kube-," and must match this regular expression: * ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$. For more information, see Namespaces * in the Kubernetes documentation.

*/ inline void SetKubernetesNamespace(const char* value) { m_kubernetesNamespaceHasBeenSet = true; m_kubernetesNamespace.assign(value); } /** *

The namespace of the Amazon EKS cluster. Batch manages pods in this * namespace. The value can't left empty or null. It must be fewer than 64 * characters long, can't be set to default, can't start with * "kube-," and must match this regular expression: * ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$. For more information, see Namespaces * in the Kubernetes documentation.

*/ inline EksConfiguration& WithKubernetesNamespace(const Aws::String& value) { SetKubernetesNamespace(value); return *this;} /** *

The namespace of the Amazon EKS cluster. Batch manages pods in this * namespace. The value can't left empty or null. It must be fewer than 64 * characters long, can't be set to default, can't start with * "kube-," and must match this regular expression: * ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$. For more information, see Namespaces * in the Kubernetes documentation.

*/ inline EksConfiguration& WithKubernetesNamespace(Aws::String&& value) { SetKubernetesNamespace(std::move(value)); return *this;} /** *

The namespace of the Amazon EKS cluster. Batch manages pods in this * namespace. The value can't left empty or null. It must be fewer than 64 * characters long, can't be set to default, can't start with * "kube-," and must match this regular expression: * ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$. For more information, see Namespaces * in the Kubernetes documentation.

*/ inline EksConfiguration& WithKubernetesNamespace(const char* value) { SetKubernetesNamespace(value); return *this;} private: Aws::String m_eksClusterArn; bool m_eksClusterArnHasBeenSet = false; Aws::String m_kubernetesNamespace; bool m_kubernetesNamespaceHasBeenSet = false; }; } // namespace Model } // namespace Batch } // namespace Aws