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

The configuration of your local Amazon EKS cluster on an Amazon Web Services * Outpost. Before creating a cluster on an Outpost, review Creating * a local cluster on an Outpost in the Amazon EKS User Guide. This API * isn't available for Amazon EKS clusters on the Amazon Web Services * cloud.

See Also:

AWS * API Reference

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

The ARN of the Outpost that you want to use for your local Amazon EKS cluster * on Outposts. Only a single Outpost ARN is supported.

*/ inline const Aws::Vector& GetOutpostArns() const{ return m_outpostArns; } /** *

The ARN of the Outpost that you want to use for your local Amazon EKS cluster * on Outposts. Only a single Outpost ARN is supported.

*/ inline bool OutpostArnsHasBeenSet() const { return m_outpostArnsHasBeenSet; } /** *

The ARN of the Outpost that you want to use for your local Amazon EKS cluster * on Outposts. Only a single Outpost ARN is supported.

*/ inline void SetOutpostArns(const Aws::Vector& value) { m_outpostArnsHasBeenSet = true; m_outpostArns = value; } /** *

The ARN of the Outpost that you want to use for your local Amazon EKS cluster * on Outposts. Only a single Outpost ARN is supported.

*/ inline void SetOutpostArns(Aws::Vector&& value) { m_outpostArnsHasBeenSet = true; m_outpostArns = std::move(value); } /** *

The ARN of the Outpost that you want to use for your local Amazon EKS cluster * on Outposts. Only a single Outpost ARN is supported.

*/ inline OutpostConfigRequest& WithOutpostArns(const Aws::Vector& value) { SetOutpostArns(value); return *this;} /** *

The ARN of the Outpost that you want to use for your local Amazon EKS cluster * on Outposts. Only a single Outpost ARN is supported.

*/ inline OutpostConfigRequest& WithOutpostArns(Aws::Vector&& value) { SetOutpostArns(std::move(value)); return *this;} /** *

The ARN of the Outpost that you want to use for your local Amazon EKS cluster * on Outposts. Only a single Outpost ARN is supported.

*/ inline OutpostConfigRequest& AddOutpostArns(const Aws::String& value) { m_outpostArnsHasBeenSet = true; m_outpostArns.push_back(value); return *this; } /** *

The ARN of the Outpost that you want to use for your local Amazon EKS cluster * on Outposts. Only a single Outpost ARN is supported.

*/ inline OutpostConfigRequest& AddOutpostArns(Aws::String&& value) { m_outpostArnsHasBeenSet = true; m_outpostArns.push_back(std::move(value)); return *this; } /** *

The ARN of the Outpost that you want to use for your local Amazon EKS cluster * on Outposts. Only a single Outpost ARN is supported.

*/ inline OutpostConfigRequest& AddOutpostArns(const char* value) { m_outpostArnsHasBeenSet = true; m_outpostArns.push_back(value); return *this; } /** *

The Amazon EC2 instance type that you want to use for your local Amazon EKS * cluster on Outposts. Choose an instance type based on the number of nodes that * your cluster will have. For more information, see Capacity * considerations in the Amazon EKS User Guide.

The instance type * that you specify is used for all Kubernetes control plane instances. The * instance type can't be changed after cluster creation. The control plane is not * automatically scaled by Amazon EKS.

*/ inline const Aws::String& GetControlPlaneInstanceType() const{ return m_controlPlaneInstanceType; } /** *

The Amazon EC2 instance type that you want to use for your local Amazon EKS * cluster on Outposts. Choose an instance type based on the number of nodes that * your cluster will have. For more information, see Capacity * considerations in the Amazon EKS User Guide.

The instance type * that you specify is used for all Kubernetes control plane instances. The * instance type can't be changed after cluster creation. The control plane is not * automatically scaled by Amazon EKS.

*/ inline bool ControlPlaneInstanceTypeHasBeenSet() const { return m_controlPlaneInstanceTypeHasBeenSet; } /** *

The Amazon EC2 instance type that you want to use for your local Amazon EKS * cluster on Outposts. Choose an instance type based on the number of nodes that * your cluster will have. For more information, see Capacity * considerations in the Amazon EKS User Guide.

The instance type * that you specify is used for all Kubernetes control plane instances. The * instance type can't be changed after cluster creation. The control plane is not * automatically scaled by Amazon EKS.

*/ inline void SetControlPlaneInstanceType(const Aws::String& value) { m_controlPlaneInstanceTypeHasBeenSet = true; m_controlPlaneInstanceType = value; } /** *

The Amazon EC2 instance type that you want to use for your local Amazon EKS * cluster on Outposts. Choose an instance type based on the number of nodes that * your cluster will have. For more information, see Capacity * considerations in the Amazon EKS User Guide.

The instance type * that you specify is used for all Kubernetes control plane instances. The * instance type can't be changed after cluster creation. The control plane is not * automatically scaled by Amazon EKS.

*/ inline void SetControlPlaneInstanceType(Aws::String&& value) { m_controlPlaneInstanceTypeHasBeenSet = true; m_controlPlaneInstanceType = std::move(value); } /** *

The Amazon EC2 instance type that you want to use for your local Amazon EKS * cluster on Outposts. Choose an instance type based on the number of nodes that * your cluster will have. For more information, see Capacity * considerations in the Amazon EKS User Guide.

The instance type * that you specify is used for all Kubernetes control plane instances. The * instance type can't be changed after cluster creation. The control plane is not * automatically scaled by Amazon EKS.

*/ inline void SetControlPlaneInstanceType(const char* value) { m_controlPlaneInstanceTypeHasBeenSet = true; m_controlPlaneInstanceType.assign(value); } /** *

The Amazon EC2 instance type that you want to use for your local Amazon EKS * cluster on Outposts. Choose an instance type based on the number of nodes that * your cluster will have. For more information, see Capacity * considerations in the Amazon EKS User Guide.

The instance type * that you specify is used for all Kubernetes control plane instances. The * instance type can't be changed after cluster creation. The control plane is not * automatically scaled by Amazon EKS.

*/ inline OutpostConfigRequest& WithControlPlaneInstanceType(const Aws::String& value) { SetControlPlaneInstanceType(value); return *this;} /** *

The Amazon EC2 instance type that you want to use for your local Amazon EKS * cluster on Outposts. Choose an instance type based on the number of nodes that * your cluster will have. For more information, see Capacity * considerations in the Amazon EKS User Guide.

The instance type * that you specify is used for all Kubernetes control plane instances. The * instance type can't be changed after cluster creation. The control plane is not * automatically scaled by Amazon EKS.

*/ inline OutpostConfigRequest& WithControlPlaneInstanceType(Aws::String&& value) { SetControlPlaneInstanceType(std::move(value)); return *this;} /** *

The Amazon EC2 instance type that you want to use for your local Amazon EKS * cluster on Outposts. Choose an instance type based on the number of nodes that * your cluster will have. For more information, see Capacity * considerations in the Amazon EKS User Guide.

The instance type * that you specify is used for all Kubernetes control plane instances. The * instance type can't be changed after cluster creation. The control plane is not * automatically scaled by Amazon EKS.

*/ inline OutpostConfigRequest& WithControlPlaneInstanceType(const char* value) { SetControlPlaneInstanceType(value); return *this;} /** *

An object representing the placement configuration for all the control plane * instances of your local Amazon EKS cluster on an Amazon Web Services Outpost. * For more information, see Capacity * considerations in the Amazon EKS User Guide.

*/ inline const ControlPlanePlacementRequest& GetControlPlanePlacement() const{ return m_controlPlanePlacement; } /** *

An object representing the placement configuration for all the control plane * instances of your local Amazon EKS cluster on an Amazon Web Services Outpost. * For more information, see Capacity * considerations in the Amazon EKS User Guide.

*/ inline bool ControlPlanePlacementHasBeenSet() const { return m_controlPlanePlacementHasBeenSet; } /** *

An object representing the placement configuration for all the control plane * instances of your local Amazon EKS cluster on an Amazon Web Services Outpost. * For more information, see Capacity * considerations in the Amazon EKS User Guide.

*/ inline void SetControlPlanePlacement(const ControlPlanePlacementRequest& value) { m_controlPlanePlacementHasBeenSet = true; m_controlPlanePlacement = value; } /** *

An object representing the placement configuration for all the control plane * instances of your local Amazon EKS cluster on an Amazon Web Services Outpost. * For more information, see Capacity * considerations in the Amazon EKS User Guide.

*/ inline void SetControlPlanePlacement(ControlPlanePlacementRequest&& value) { m_controlPlanePlacementHasBeenSet = true; m_controlPlanePlacement = std::move(value); } /** *

An object representing the placement configuration for all the control plane * instances of your local Amazon EKS cluster on an Amazon Web Services Outpost. * For more information, see Capacity * considerations in the Amazon EKS User Guide.

*/ inline OutpostConfigRequest& WithControlPlanePlacement(const ControlPlanePlacementRequest& value) { SetControlPlanePlacement(value); return *this;} /** *

An object representing the placement configuration for all the control plane * instances of your local Amazon EKS cluster on an Amazon Web Services Outpost. * For more information, see Capacity * considerations in the Amazon EKS User Guide.

*/ inline OutpostConfigRequest& WithControlPlanePlacement(ControlPlanePlacementRequest&& value) { SetControlPlanePlacement(std::move(value)); return *this;} private: Aws::Vector m_outpostArns; bool m_outpostArnsHasBeenSet = false; Aws::String m_controlPlaneInstanceType; bool m_controlPlaneInstanceTypeHasBeenSet = false; ControlPlanePlacementRequest m_controlPlanePlacement; bool m_controlPlanePlacementHasBeenSet = false; }; } // namespace Model } // namespace EKS } // namespace Aws