package awscdkeks-v2alpha

import (
	"github.com/aws/aws-cdk-go/awscdk/v2/awsiam"
)

// Options for configuring EKS Auto Mode compute settings.
//
// When enabled, EKS will automatically manage compute resources like node groups and Fargate profiles.
//
// Example:
//   cluster := eks.NewCluster(this, jsii.String("EksAutoCluster"), &ClusterProps{
//   	Version: eks.KubernetesVersion_V1_33(),
//   	DefaultCapacityType: eks.DefaultCapacityType_AUTOMODE,
//   	Compute: &ComputeConfig{
//   		NodePools: []*string{
//   			jsii.String("system"),
//   			jsii.String("general-purpose"),
//   		},
//   	},
//   })
//
// Experimental.
type ComputeConfig struct {
	// Names of nodePools to include in Auto Mode.
	//
	// You cannot modify the built in system and general-purpose node pools. You can only enable or disable them.
	// Node pool values are case-sensitive and must be `general-purpose` and/or `system`.
	// See:  - https://docs.aws.amazon.com/eks/latest/userguide/create-node-pool.html
	//
	// Default: - ['system', 'general-purpose'].
	//
	// Experimental.
	NodePools *[]*string `field:"optional" json:"nodePools" yaml:"nodePools"`
	// IAM role for the nodePools.
	// See:  - https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html
	//
	// Default: - generated by the CDK.
	//
	// Experimental.
	NodeRole awsiam.IRole `field:"optional" json:"nodeRole" yaml:"nodeRole"`
}

