/** * 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 an issue with an Amazon EKS resource.

See * Also:

AWS API * Reference

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

A brief description of the error.

  • * AutoScalingGroupNotFound: We couldn't find the Auto Scaling group * associated with the managed node group. You may be able to recreate an Auto * Scaling group with the same settings to recover.

  • * Ec2SecurityGroupNotFound: We couldn't find the cluster security group for * the cluster. You must recreate your cluster.

  • * Ec2SecurityGroupDeletionFailure: We could not delete the remote access * security group for your managed node group. Remove any dependencies from the * security group.

  • Ec2LaunchTemplateNotFound: We couldn't * find the Amazon EC2 launch template for your managed node group. You may be able * to recreate a launch template with the same settings to recover.

  • *

    Ec2LaunchTemplateVersionMismatch: The Amazon EC2 launch template * version for your managed node group does not match the version that Amazon EKS * created. You may be able to revert to the version that Amazon EKS created to * recover.

  • Ec2SubnetInvalidConfiguration: One or more * Amazon EC2 subnets specified for a node group do not automatically assign public * IP addresses to instances launched into it. If you want your instances to be * assigned a public IP address, then you need to enable the auto-assign * public IP address setting for the subnet. See Modifying * the public IPv4 addressing attribute for your subnet in the Amazon VPC User * Guide.

  • IamInstanceProfileNotFound: We couldn't find * the IAM instance profile for your managed node group. You may be able to * recreate an instance profile with the same settings to recover.

  • *

    IamNodeRoleNotFound: We couldn't find the IAM role for your managed * node group. You may be able to recreate an IAM role with the same settings to * recover.

  • AsgInstanceLaunchFailures: Your Auto Scaling * group is experiencing failures while attempting to launch instances.

  • *
  • NodeCreationFailure: Your launched instances are unable to * register with your Amazon EKS cluster. Common causes of this failure are * insufficient worker * node IAM role permissions or lack of outbound internet access for the nodes. *

  • InstanceLimitExceeded: Your AWS account is unable to * launch any more instances of the specified instance type. You may be able to * request an Amazon EC2 instance limit increase to recover.

  • * InsufficientFreeAddresses: One or more of the subnets associated with * your managed node group does not have enough available IP addresses for new * nodes.

  • AccessDenied: Amazon EKS or one or more of your * managed nodes is unable to communicate with your cluster API server.

  • *
  • InternalFailure: These errors are usually caused by an Amazon * EKS server-side issue.

*/ inline const NodegroupIssueCode& GetCode() const{ return m_code; } /** *

A brief description of the error.

  • * AutoScalingGroupNotFound: We couldn't find the Auto Scaling group * associated with the managed node group. You may be able to recreate an Auto * Scaling group with the same settings to recover.

  • * Ec2SecurityGroupNotFound: We couldn't find the cluster security group for * the cluster. You must recreate your cluster.

  • * Ec2SecurityGroupDeletionFailure: We could not delete the remote access * security group for your managed node group. Remove any dependencies from the * security group.

  • Ec2LaunchTemplateNotFound: We couldn't * find the Amazon EC2 launch template for your managed node group. You may be able * to recreate a launch template with the same settings to recover.

  • *

    Ec2LaunchTemplateVersionMismatch: The Amazon EC2 launch template * version for your managed node group does not match the version that Amazon EKS * created. You may be able to revert to the version that Amazon EKS created to * recover.

  • Ec2SubnetInvalidConfiguration: One or more * Amazon EC2 subnets specified for a node group do not automatically assign public * IP addresses to instances launched into it. If you want your instances to be * assigned a public IP address, then you need to enable the auto-assign * public IP address setting for the subnet. See Modifying * the public IPv4 addressing attribute for your subnet in the Amazon VPC User * Guide.

  • IamInstanceProfileNotFound: We couldn't find * the IAM instance profile for your managed node group. You may be able to * recreate an instance profile with the same settings to recover.

  • *

    IamNodeRoleNotFound: We couldn't find the IAM role for your managed * node group. You may be able to recreate an IAM role with the same settings to * recover.

  • AsgInstanceLaunchFailures: Your Auto Scaling * group is experiencing failures while attempting to launch instances.

  • *
  • NodeCreationFailure: Your launched instances are unable to * register with your Amazon EKS cluster. Common causes of this failure are * insufficient worker * node IAM role permissions or lack of outbound internet access for the nodes. *

  • InstanceLimitExceeded: Your AWS account is unable to * launch any more instances of the specified instance type. You may be able to * request an Amazon EC2 instance limit increase to recover.

  • * InsufficientFreeAddresses: One or more of the subnets associated with * your managed node group does not have enough available IP addresses for new * nodes.

  • AccessDenied: Amazon EKS or one or more of your * managed nodes is unable to communicate with your cluster API server.

  • *
  • InternalFailure: These errors are usually caused by an Amazon * EKS server-side issue.

*/ inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } /** *

A brief description of the error.

  • * AutoScalingGroupNotFound: We couldn't find the Auto Scaling group * associated with the managed node group. You may be able to recreate an Auto * Scaling group with the same settings to recover.

  • * Ec2SecurityGroupNotFound: We couldn't find the cluster security group for * the cluster. You must recreate your cluster.

  • * Ec2SecurityGroupDeletionFailure: We could not delete the remote access * security group for your managed node group. Remove any dependencies from the * security group.

  • Ec2LaunchTemplateNotFound: We couldn't * find the Amazon EC2 launch template for your managed node group. You may be able * to recreate a launch template with the same settings to recover.

  • *

    Ec2LaunchTemplateVersionMismatch: The Amazon EC2 launch template * version for your managed node group does not match the version that Amazon EKS * created. You may be able to revert to the version that Amazon EKS created to * recover.

  • Ec2SubnetInvalidConfiguration: One or more * Amazon EC2 subnets specified for a node group do not automatically assign public * IP addresses to instances launched into it. If you want your instances to be * assigned a public IP address, then you need to enable the auto-assign * public IP address setting for the subnet. See Modifying * the public IPv4 addressing attribute for your subnet in the Amazon VPC User * Guide.

  • IamInstanceProfileNotFound: We couldn't find * the IAM instance profile for your managed node group. You may be able to * recreate an instance profile with the same settings to recover.

  • *

    IamNodeRoleNotFound: We couldn't find the IAM role for your managed * node group. You may be able to recreate an IAM role with the same settings to * recover.

  • AsgInstanceLaunchFailures: Your Auto Scaling * group is experiencing failures while attempting to launch instances.

  • *
  • NodeCreationFailure: Your launched instances are unable to * register with your Amazon EKS cluster. Common causes of this failure are * insufficient worker * node IAM role permissions or lack of outbound internet access for the nodes. *

  • InstanceLimitExceeded: Your AWS account is unable to * launch any more instances of the specified instance type. You may be able to * request an Amazon EC2 instance limit increase to recover.

  • * InsufficientFreeAddresses: One or more of the subnets associated with * your managed node group does not have enough available IP addresses for new * nodes.

  • AccessDenied: Amazon EKS or one or more of your * managed nodes is unable to communicate with your cluster API server.

  • *
  • InternalFailure: These errors are usually caused by an Amazon * EKS server-side issue.

*/ inline void SetCode(const NodegroupIssueCode& value) { m_codeHasBeenSet = true; m_code = value; } /** *

A brief description of the error.

  • * AutoScalingGroupNotFound: We couldn't find the Auto Scaling group * associated with the managed node group. You may be able to recreate an Auto * Scaling group with the same settings to recover.

  • * Ec2SecurityGroupNotFound: We couldn't find the cluster security group for * the cluster. You must recreate your cluster.

  • * Ec2SecurityGroupDeletionFailure: We could not delete the remote access * security group for your managed node group. Remove any dependencies from the * security group.

  • Ec2LaunchTemplateNotFound: We couldn't * find the Amazon EC2 launch template for your managed node group. You may be able * to recreate a launch template with the same settings to recover.

  • *

    Ec2LaunchTemplateVersionMismatch: The Amazon EC2 launch template * version for your managed node group does not match the version that Amazon EKS * created. You may be able to revert to the version that Amazon EKS created to * recover.

  • Ec2SubnetInvalidConfiguration: One or more * Amazon EC2 subnets specified for a node group do not automatically assign public * IP addresses to instances launched into it. If you want your instances to be * assigned a public IP address, then you need to enable the auto-assign * public IP address setting for the subnet. See Modifying * the public IPv4 addressing attribute for your subnet in the Amazon VPC User * Guide.

  • IamInstanceProfileNotFound: We couldn't find * the IAM instance profile for your managed node group. You may be able to * recreate an instance profile with the same settings to recover.

  • *

    IamNodeRoleNotFound: We couldn't find the IAM role for your managed * node group. You may be able to recreate an IAM role with the same settings to * recover.

  • AsgInstanceLaunchFailures: Your Auto Scaling * group is experiencing failures while attempting to launch instances.

  • *
  • NodeCreationFailure: Your launched instances are unable to * register with your Amazon EKS cluster. Common causes of this failure are * insufficient worker * node IAM role permissions or lack of outbound internet access for the nodes. *

  • InstanceLimitExceeded: Your AWS account is unable to * launch any more instances of the specified instance type. You may be able to * request an Amazon EC2 instance limit increase to recover.

  • * InsufficientFreeAddresses: One or more of the subnets associated with * your managed node group does not have enough available IP addresses for new * nodes.

  • AccessDenied: Amazon EKS or one or more of your * managed nodes is unable to communicate with your cluster API server.

  • *
  • InternalFailure: These errors are usually caused by an Amazon * EKS server-side issue.

*/ inline void SetCode(NodegroupIssueCode&& value) { m_codeHasBeenSet = true; m_code = std::move(value); } /** *

A brief description of the error.

  • * AutoScalingGroupNotFound: We couldn't find the Auto Scaling group * associated with the managed node group. You may be able to recreate an Auto * Scaling group with the same settings to recover.

  • * Ec2SecurityGroupNotFound: We couldn't find the cluster security group for * the cluster. You must recreate your cluster.

  • * Ec2SecurityGroupDeletionFailure: We could not delete the remote access * security group for your managed node group. Remove any dependencies from the * security group.

  • Ec2LaunchTemplateNotFound: We couldn't * find the Amazon EC2 launch template for your managed node group. You may be able * to recreate a launch template with the same settings to recover.

  • *

    Ec2LaunchTemplateVersionMismatch: The Amazon EC2 launch template * version for your managed node group does not match the version that Amazon EKS * created. You may be able to revert to the version that Amazon EKS created to * recover.

  • Ec2SubnetInvalidConfiguration: One or more * Amazon EC2 subnets specified for a node group do not automatically assign public * IP addresses to instances launched into it. If you want your instances to be * assigned a public IP address, then you need to enable the auto-assign * public IP address setting for the subnet. See Modifying * the public IPv4 addressing attribute for your subnet in the Amazon VPC User * Guide.

  • IamInstanceProfileNotFound: We couldn't find * the IAM instance profile for your managed node group. You may be able to * recreate an instance profile with the same settings to recover.

  • *

    IamNodeRoleNotFound: We couldn't find the IAM role for your managed * node group. You may be able to recreate an IAM role with the same settings to * recover.

  • AsgInstanceLaunchFailures: Your Auto Scaling * group is experiencing failures while attempting to launch instances.

  • *
  • NodeCreationFailure: Your launched instances are unable to * register with your Amazon EKS cluster. Common causes of this failure are * insufficient worker * node IAM role permissions or lack of outbound internet access for the nodes. *

  • InstanceLimitExceeded: Your AWS account is unable to * launch any more instances of the specified instance type. You may be able to * request an Amazon EC2 instance limit increase to recover.

  • * InsufficientFreeAddresses: One or more of the subnets associated with * your managed node group does not have enough available IP addresses for new * nodes.

  • AccessDenied: Amazon EKS or one or more of your * managed nodes is unable to communicate with your cluster API server.

  • *
  • InternalFailure: These errors are usually caused by an Amazon * EKS server-side issue.

*/ inline Issue& WithCode(const NodegroupIssueCode& value) { SetCode(value); return *this;} /** *

A brief description of the error.

  • * AutoScalingGroupNotFound: We couldn't find the Auto Scaling group * associated with the managed node group. You may be able to recreate an Auto * Scaling group with the same settings to recover.

  • * Ec2SecurityGroupNotFound: We couldn't find the cluster security group for * the cluster. You must recreate your cluster.

  • * Ec2SecurityGroupDeletionFailure: We could not delete the remote access * security group for your managed node group. Remove any dependencies from the * security group.

  • Ec2LaunchTemplateNotFound: We couldn't * find the Amazon EC2 launch template for your managed node group. You may be able * to recreate a launch template with the same settings to recover.

  • *

    Ec2LaunchTemplateVersionMismatch: The Amazon EC2 launch template * version for your managed node group does not match the version that Amazon EKS * created. You may be able to revert to the version that Amazon EKS created to * recover.

  • Ec2SubnetInvalidConfiguration: One or more * Amazon EC2 subnets specified for a node group do not automatically assign public * IP addresses to instances launched into it. If you want your instances to be * assigned a public IP address, then you need to enable the auto-assign * public IP address setting for the subnet. See Modifying * the public IPv4 addressing attribute for your subnet in the Amazon VPC User * Guide.

  • IamInstanceProfileNotFound: We couldn't find * the IAM instance profile for your managed node group. You may be able to * recreate an instance profile with the same settings to recover.

  • *

    IamNodeRoleNotFound: We couldn't find the IAM role for your managed * node group. You may be able to recreate an IAM role with the same settings to * recover.

  • AsgInstanceLaunchFailures: Your Auto Scaling * group is experiencing failures while attempting to launch instances.

  • *
  • NodeCreationFailure: Your launched instances are unable to * register with your Amazon EKS cluster. Common causes of this failure are * insufficient worker * node IAM role permissions or lack of outbound internet access for the nodes. *

  • InstanceLimitExceeded: Your AWS account is unable to * launch any more instances of the specified instance type. You may be able to * request an Amazon EC2 instance limit increase to recover.

  • * InsufficientFreeAddresses: One or more of the subnets associated with * your managed node group does not have enough available IP addresses for new * nodes.

  • AccessDenied: Amazon EKS or one or more of your * managed nodes is unable to communicate with your cluster API server.

  • *
  • InternalFailure: These errors are usually caused by an Amazon * EKS server-side issue.

*/ inline Issue& WithCode(NodegroupIssueCode&& value) { SetCode(std::move(value)); return *this;} /** *

The error message associated with the issue.

*/ inline const Aws::String& GetMessage() const{ return m_message; } /** *

The error message associated with the issue.

*/ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } /** *

The error message associated with the issue.

*/ inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } /** *

The error message associated with the issue.

*/ inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } /** *

The error message associated with the issue.

*/ inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } /** *

The error message associated with the issue.

*/ inline Issue& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} /** *

The error message associated with the issue.

*/ inline Issue& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} /** *

The error message associated with the issue.

*/ inline Issue& WithMessage(const char* value) { SetMessage(value); return *this;} /** *

The AWS resources that are afflicted by this issue.

*/ inline const Aws::Vector& GetResourceIds() const{ return m_resourceIds; } /** *

The AWS resources that are afflicted by this issue.

*/ inline bool ResourceIdsHasBeenSet() const { return m_resourceIdsHasBeenSet; } /** *

The AWS resources that are afflicted by this issue.

*/ inline void SetResourceIds(const Aws::Vector& value) { m_resourceIdsHasBeenSet = true; m_resourceIds = value; } /** *

The AWS resources that are afflicted by this issue.

*/ inline void SetResourceIds(Aws::Vector&& value) { m_resourceIdsHasBeenSet = true; m_resourceIds = std::move(value); } /** *

The AWS resources that are afflicted by this issue.

*/ inline Issue& WithResourceIds(const Aws::Vector& value) { SetResourceIds(value); return *this;} /** *

The AWS resources that are afflicted by this issue.

*/ inline Issue& WithResourceIds(Aws::Vector&& value) { SetResourceIds(std::move(value)); return *this;} /** *

The AWS resources that are afflicted by this issue.

*/ inline Issue& AddResourceIds(const Aws::String& value) { m_resourceIdsHasBeenSet = true; m_resourceIds.push_back(value); return *this; } /** *

The AWS resources that are afflicted by this issue.

*/ inline Issue& AddResourceIds(Aws::String&& value) { m_resourceIdsHasBeenSet = true; m_resourceIds.push_back(std::move(value)); return *this; } /** *

The AWS resources that are afflicted by this issue.

*/ inline Issue& AddResourceIds(const char* value) { m_resourceIdsHasBeenSet = true; m_resourceIds.push_back(value); return *this; } private: NodegroupIssueCode m_code; bool m_codeHasBeenSet; Aws::String m_message; bool m_messageHasBeenSet; Aws::Vector m_resourceIds; bool m_resourceIdsHasBeenSet; }; } // namespace Model } // namespace EKS } // namespace Aws