/** * 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 error when an asynchronous operation * fails.

See Also:

AWS API * Reference

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

A brief description of the error.

  • SubnetNotFound: * We couldn't find one of the subnets associated with the cluster.

  • *

    SecurityGroupNotFound: We couldn't find one of the security groups * associated with the cluster.

  • EniLimitReached: You have * reached the elastic network interface limit for your account.

  • * IpNotAvailable: A subnet associated with the cluster doesn't have any * free IP addresses.

  • AccessDenied: You don't have * permissions to perform the specified operation.

  • * OperationNotPermitted: The service role associated with the cluster * doesn't have the required access permissions for Amazon EKS.

  • * VpcIdNotFound: We couldn't find the VPC associated with the cluster.

    *
*/ inline const ErrorCode& GetErrorCode() const{ return m_errorCode; } /** *

A brief description of the error.

  • SubnetNotFound: * We couldn't find one of the subnets associated with the cluster.

  • *

    SecurityGroupNotFound: We couldn't find one of the security groups * associated with the cluster.

  • EniLimitReached: You have * reached the elastic network interface limit for your account.

  • * IpNotAvailable: A subnet associated with the cluster doesn't have any * free IP addresses.

  • AccessDenied: You don't have * permissions to perform the specified operation.

  • * OperationNotPermitted: The service role associated with the cluster * doesn't have the required access permissions for Amazon EKS.

  • * VpcIdNotFound: We couldn't find the VPC associated with the cluster.

    *
*/ inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; } /** *

A brief description of the error.

  • SubnetNotFound: * We couldn't find one of the subnets associated with the cluster.

  • *

    SecurityGroupNotFound: We couldn't find one of the security groups * associated with the cluster.

  • EniLimitReached: You have * reached the elastic network interface limit for your account.

  • * IpNotAvailable: A subnet associated with the cluster doesn't have any * free IP addresses.

  • AccessDenied: You don't have * permissions to perform the specified operation.

  • * OperationNotPermitted: The service role associated with the cluster * doesn't have the required access permissions for Amazon EKS.

  • * VpcIdNotFound: We couldn't find the VPC associated with the cluster.

    *
*/ inline void SetErrorCode(const ErrorCode& value) { m_errorCodeHasBeenSet = true; m_errorCode = value; } /** *

A brief description of the error.

  • SubnetNotFound: * We couldn't find one of the subnets associated with the cluster.

  • *

    SecurityGroupNotFound: We couldn't find one of the security groups * associated with the cluster.

  • EniLimitReached: You have * reached the elastic network interface limit for your account.

  • * IpNotAvailable: A subnet associated with the cluster doesn't have any * free IP addresses.

  • AccessDenied: You don't have * permissions to perform the specified operation.

  • * OperationNotPermitted: The service role associated with the cluster * doesn't have the required access permissions for Amazon EKS.

  • * VpcIdNotFound: We couldn't find the VPC associated with the cluster.

    *
*/ inline void SetErrorCode(ErrorCode&& value) { m_errorCodeHasBeenSet = true; m_errorCode = std::move(value); } /** *

A brief description of the error.

  • SubnetNotFound: * We couldn't find one of the subnets associated with the cluster.

  • *

    SecurityGroupNotFound: We couldn't find one of the security groups * associated with the cluster.

  • EniLimitReached: You have * reached the elastic network interface limit for your account.

  • * IpNotAvailable: A subnet associated with the cluster doesn't have any * free IP addresses.

  • AccessDenied: You don't have * permissions to perform the specified operation.

  • * OperationNotPermitted: The service role associated with the cluster * doesn't have the required access permissions for Amazon EKS.

  • * VpcIdNotFound: We couldn't find the VPC associated with the cluster.

    *
*/ inline ErrorDetail& WithErrorCode(const ErrorCode& value) { SetErrorCode(value); return *this;} /** *

A brief description of the error.

  • SubnetNotFound: * We couldn't find one of the subnets associated with the cluster.

  • *

    SecurityGroupNotFound: We couldn't find one of the security groups * associated with the cluster.

  • EniLimitReached: You have * reached the elastic network interface limit for your account.

  • * IpNotAvailable: A subnet associated with the cluster doesn't have any * free IP addresses.

  • AccessDenied: You don't have * permissions to perform the specified operation.

  • * OperationNotPermitted: The service role associated with the cluster * doesn't have the required access permissions for Amazon EKS.

  • * VpcIdNotFound: We couldn't find the VPC associated with the cluster.

    *
*/ inline ErrorDetail& WithErrorCode(ErrorCode&& value) { SetErrorCode(std::move(value)); return *this;} /** *

A more complete description of the error.

*/ inline const Aws::String& GetErrorMessage() const{ return m_errorMessage; } /** *

A more complete description of the error.

*/ inline bool ErrorMessageHasBeenSet() const { return m_errorMessageHasBeenSet; } /** *

A more complete description of the error.

*/ inline void SetErrorMessage(const Aws::String& value) { m_errorMessageHasBeenSet = true; m_errorMessage = value; } /** *

A more complete description of the error.

*/ inline void SetErrorMessage(Aws::String&& value) { m_errorMessageHasBeenSet = true; m_errorMessage = std::move(value); } /** *

A more complete description of the error.

*/ inline void SetErrorMessage(const char* value) { m_errorMessageHasBeenSet = true; m_errorMessage.assign(value); } /** *

A more complete description of the error.

*/ inline ErrorDetail& WithErrorMessage(const Aws::String& value) { SetErrorMessage(value); return *this;} /** *

A more complete description of the error.

*/ inline ErrorDetail& WithErrorMessage(Aws::String&& value) { SetErrorMessage(std::move(value)); return *this;} /** *

A more complete description of the error.

*/ inline ErrorDetail& WithErrorMessage(const char* value) { SetErrorMessage(value); return *this;} /** *

An optional field that contains the resource IDs associated with the * error.

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

An optional field that contains the resource IDs associated with the * error.

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

An optional field that contains the resource IDs associated with the * error.

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

An optional field that contains the resource IDs associated with the * error.

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

An optional field that contains the resource IDs associated with the * error.

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

An optional field that contains the resource IDs associated with the * error.

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

An optional field that contains the resource IDs associated with the * error.

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

An optional field that contains the resource IDs associated with the * error.

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

An optional field that contains the resource IDs associated with the * error.

*/ inline ErrorDetail& AddResourceIds(const char* value) { m_resourceIdsHasBeenSet = true; m_resourceIds.push_back(value); return *this; } private: ErrorCode m_errorCode; bool m_errorCodeHasBeenSet = false; Aws::String m_errorMessage; bool m_errorMessageHasBeenSet = false; Aws::Vector m_resourceIds; bool m_resourceIdsHasBeenSet = false; }; } // namespace Model } // namespace EKS } // namespace Aws