/** * 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 { /** *

An object representing the resources associated with the node group, such as * Auto Scaling groups and security groups for remote access.

See * Also:

AWS * API Reference

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

The Auto Scaling groups associated with the node group.

*/ inline const Aws::Vector& GetAutoScalingGroups() const{ return m_autoScalingGroups; } /** *

The Auto Scaling groups associated with the node group.

*/ inline bool AutoScalingGroupsHasBeenSet() const { return m_autoScalingGroupsHasBeenSet; } /** *

The Auto Scaling groups associated with the node group.

*/ inline void SetAutoScalingGroups(const Aws::Vector& value) { m_autoScalingGroupsHasBeenSet = true; m_autoScalingGroups = value; } /** *

The Auto Scaling groups associated with the node group.

*/ inline void SetAutoScalingGroups(Aws::Vector&& value) { m_autoScalingGroupsHasBeenSet = true; m_autoScalingGroups = std::move(value); } /** *

The Auto Scaling groups associated with the node group.

*/ inline NodegroupResources& WithAutoScalingGroups(const Aws::Vector& value) { SetAutoScalingGroups(value); return *this;} /** *

The Auto Scaling groups associated with the node group.

*/ inline NodegroupResources& WithAutoScalingGroups(Aws::Vector&& value) { SetAutoScalingGroups(std::move(value)); return *this;} /** *

The Auto Scaling groups associated with the node group.

*/ inline NodegroupResources& AddAutoScalingGroups(const AutoScalingGroup& value) { m_autoScalingGroupsHasBeenSet = true; m_autoScalingGroups.push_back(value); return *this; } /** *

The Auto Scaling groups associated with the node group.

*/ inline NodegroupResources& AddAutoScalingGroups(AutoScalingGroup&& value) { m_autoScalingGroupsHasBeenSet = true; m_autoScalingGroups.push_back(std::move(value)); return *this; } /** *

The remote access security group associated with the node group. This * security group controls SSH access to the nodes.

*/ inline const Aws::String& GetRemoteAccessSecurityGroup() const{ return m_remoteAccessSecurityGroup; } /** *

The remote access security group associated with the node group. This * security group controls SSH access to the nodes.

*/ inline bool RemoteAccessSecurityGroupHasBeenSet() const { return m_remoteAccessSecurityGroupHasBeenSet; } /** *

The remote access security group associated with the node group. This * security group controls SSH access to the nodes.

*/ inline void SetRemoteAccessSecurityGroup(const Aws::String& value) { m_remoteAccessSecurityGroupHasBeenSet = true; m_remoteAccessSecurityGroup = value; } /** *

The remote access security group associated with the node group. This * security group controls SSH access to the nodes.

*/ inline void SetRemoteAccessSecurityGroup(Aws::String&& value) { m_remoteAccessSecurityGroupHasBeenSet = true; m_remoteAccessSecurityGroup = std::move(value); } /** *

The remote access security group associated with the node group. This * security group controls SSH access to the nodes.

*/ inline void SetRemoteAccessSecurityGroup(const char* value) { m_remoteAccessSecurityGroupHasBeenSet = true; m_remoteAccessSecurityGroup.assign(value); } /** *

The remote access security group associated with the node group. This * security group controls SSH access to the nodes.

*/ inline NodegroupResources& WithRemoteAccessSecurityGroup(const Aws::String& value) { SetRemoteAccessSecurityGroup(value); return *this;} /** *

The remote access security group associated with the node group. This * security group controls SSH access to the nodes.

*/ inline NodegroupResources& WithRemoteAccessSecurityGroup(Aws::String&& value) { SetRemoteAccessSecurityGroup(std::move(value)); return *this;} /** *

The remote access security group associated with the node group. This * security group controls SSH access to the nodes.

*/ inline NodegroupResources& WithRemoteAccessSecurityGroup(const char* value) { SetRemoteAccessSecurityGroup(value); return *this;} private: Aws::Vector m_autoScalingGroups; bool m_autoScalingGroupsHasBeenSet = false; Aws::String m_remoteAccessSecurityGroup; bool m_remoteAccessSecurityGroupHasBeenSet = false; }; } // namespace Model } // namespace EKS } // namespace Aws