1. Packages
  2. LBr Labs EKS
  3. API Docs
  4. AutoscaledNodeGroup
LBr Labs EKS v0.20.0 published on Monday, Jun 17, 2024 by lbrlabs

lbrlabs-eks.AutoscaledNodeGroup

Explore with Pulumi AI

lbrlabs-eks logo
LBr Labs EKS v0.20.0 published on Monday, Jun 17, 2024 by lbrlabs

    Create AutoscaledNodeGroup Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new AutoscaledNodeGroup(name: string, args: AutoscaledNodeGroupArgs, opts?: CustomResourceOptions);
    @overload
    def AutoscaledNodeGroup(resource_name: str,
                            args: AutoscaledNodeGroupArgs,
                            opts: Optional[ResourceOptions] = None)
    
    @overload
    def AutoscaledNodeGroup(resource_name: str,
                            opts: Optional[ResourceOptions] = None,
                            disk_size: Optional[str] = None,
                            node_role: Optional[str] = None,
                            requirements: Optional[Sequence[RequirementArgs]] = None,
                            security_group_ids: Optional[Sequence[str]] = None,
                            subnet_ids: Optional[Sequence[str]] = None,
                            ami_family: Optional[str] = None,
                            annotations: Optional[Mapping[str, str]] = None,
                            disruption: Optional[DisruptionConfigArgs] = None,
                            labels: Optional[Mapping[str, str]] = None,
                            taints: Optional[Sequence[pulumi_kubernetes.core.v1.TaintArgs]] = None)
    func NewAutoscaledNodeGroup(ctx *Context, name string, args AutoscaledNodeGroupArgs, opts ...ResourceOption) (*AutoscaledNodeGroup, error)
    public AutoscaledNodeGroup(string name, AutoscaledNodeGroupArgs args, CustomResourceOptions? opts = null)
    public AutoscaledNodeGroup(String name, AutoscaledNodeGroupArgs args)
    public AutoscaledNodeGroup(String name, AutoscaledNodeGroupArgs args, CustomResourceOptions options)
    
    type: lbrlabs-eks:AutoscaledNodeGroup
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args AutoscaledNodeGroupArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args AutoscaledNodeGroupArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args AutoscaledNodeGroupArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args AutoscaledNodeGroupArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args AutoscaledNodeGroupArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var autoscaledNodeGroupResource = new Eks.AutoscaledNodeGroup("autoscaledNodeGroupResource", new()
    {
        DiskSize = "string",
        NodeRole = "string",
        Requirements = new[]
        {
            new Eks.Inputs.RequirementArgs
            {
                Key = "string",
                Operator = "string",
                Values = new[]
                {
                    "string",
                },
            },
        },
        SecurityGroupIds = new[]
        {
            "string",
        },
        SubnetIds = new[]
        {
            "string",
        },
        AmiFamily = "string",
        Annotations = 
        {
            { "string", "string" },
        },
        Disruption = new Eks.Inputs.DisruptionConfigArgs
        {
            Budgets = new[]
            {
                new Eks.Inputs.BudgetConfigArgs
                {
                    Duration = "string",
                    Nodes = "string",
                    Schedule = "string",
                },
            },
            ConsolidateAfter = "string",
            ConsolidationPolicy = "string",
            ExpireAfter = "string",
        },
        Labels = 
        {
            { "string", "string" },
        },
        Taints = new[]
        {
            new Kubernetes.Core.Inputs.TaintArgs
            {
                Effect = "string",
                Key = "string",
                TimeAdded = "string",
                Value = "string",
            },
        },
    });
    
    example, err := lbrlabseks.NewAutoscaledNodeGroup(ctx, "autoscaledNodeGroupResource", &lbrlabseks.AutoscaledNodeGroupArgs{
    	DiskSize: pulumi.String("string"),
    	NodeRole: pulumi.String("string"),
    	Requirements: eks.RequirementArray{
    		&eks.RequirementArgs{
    			Key:      pulumi.String("string"),
    			Operator: pulumi.String("string"),
    			Values: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	SecurityGroupIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	SubnetIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	AmiFamily: pulumi.String("string"),
    	Annotations: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Disruption: &eks.DisruptionConfigArgs{
    		Budgets: eks.BudgetConfigArray{
    			&eks.BudgetConfigArgs{
    				Duration: pulumi.String("string"),
    				Nodes:    pulumi.String("string"),
    				Schedule: pulumi.String("string"),
    			},
    		},
    		ConsolidateAfter:    pulumi.String("string"),
    		ConsolidationPolicy: pulumi.String("string"),
    		ExpireAfter:         pulumi.String("string"),
    	},
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Taints: corev1.TaintArray{
    		&corev1.TaintArgs{
    			Effect:    pulumi.String("string"),
    			Key:       pulumi.String("string"),
    			TimeAdded: pulumi.String("string"),
    			Value:     pulumi.String("string"),
    		},
    	},
    })
    
    var autoscaledNodeGroupResource = new AutoscaledNodeGroup("autoscaledNodeGroupResource", AutoscaledNodeGroupArgs.builder()
        .diskSize("string")
        .nodeRole("string")
        .requirements(RequirementArgs.builder()
            .key("string")
            .operator("string")
            .values("string")
            .build())
        .securityGroupIds("string")
        .subnetIds("string")
        .amiFamily("string")
        .annotations(Map.of("string", "string"))
        .disruption(DisruptionConfigArgs.builder()
            .budgets(BudgetConfigArgs.builder()
                .duration("string")
                .nodes("string")
                .schedule("string")
                .build())
            .consolidateAfter("string")
            .consolidationPolicy("string")
            .expireAfter("string")
            .build())
        .labels(Map.of("string", "string"))
        .taints(TaintArgs.builder()
            .effect("string")
            .key("string")
            .timeAdded("string")
            .value("string")
            .build())
        .build());
    
    autoscaled_node_group_resource = lbrlabs_eks.AutoscaledNodeGroup("autoscaledNodeGroupResource",
        disk_size="string",
        node_role="string",
        requirements=[lbrlabs_eks.RequirementArgs(
            key="string",
            operator="string",
            values=["string"],
        )],
        security_group_ids=["string"],
        subnet_ids=["string"],
        ami_family="string",
        annotations={
            "string": "string",
        },
        disruption=lbrlabs_eks.DisruptionConfigArgs(
            budgets=[lbrlabs_eks.BudgetConfigArgs(
                duration="string",
                nodes="string",
                schedule="string",
            )],
            consolidate_after="string",
            consolidation_policy="string",
            expire_after="string",
        ),
        labels={
            "string": "string",
        },
        taints=[kubernetes.core.v1.TaintArgs(
            effect="string",
            key="string",
            time_added="string",
            value="string",
        )])
    
    const autoscaledNodeGroupResource = new lbrlabs_eks.AutoscaledNodeGroup("autoscaledNodeGroupResource", {
        diskSize: "string",
        nodeRole: "string",
        requirements: [{
            key: "string",
            operator: "string",
            values: ["string"],
        }],
        securityGroupIds: ["string"],
        subnetIds: ["string"],
        amiFamily: "string",
        annotations: {
            string: "string",
        },
        disruption: {
            budgets: [{
                duration: "string",
                nodes: "string",
                schedule: "string",
            }],
            consolidateAfter: "string",
            consolidationPolicy: "string",
            expireAfter: "string",
        },
        labels: {
            string: "string",
        },
        taints: [{
            effect: "string",
            key: "string",
            timeAdded: "string",
            value: "string",
        }],
    });
    
    type: lbrlabs-eks:AutoscaledNodeGroup
    properties:
        amiFamily: string
        annotations:
            string: string
        diskSize: string
        disruption:
            budgets:
                - duration: string
                  nodes: string
                  schedule: string
            consolidateAfter: string
            consolidationPolicy: string
            expireAfter: string
        labels:
            string: string
        nodeRole: string
        requirements:
            - key: string
              operator: string
              values:
                - string
        securityGroupIds:
            - string
        subnetIds:
            - string
        taints:
            - effect: string
              key: string
              timeAdded: string
              value: string
    

    AutoscaledNodeGroup Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The AutoscaledNodeGroup resource accepts the following input properties:

    DiskSize string
    Disk size for the node group.
    NodeRole string
    Node role for the node group.
    Requirements List<Lbrlabs.PulumiPackage.Eks.Inputs.Requirement>
    List of requirements for the node group.
    SecurityGroupIds List<string>
    List of security group selector terms for the node group.
    SubnetIds List<string>
    List of subnet selector terms for the node group.
    AmiFamily string
    AMI family for the node group.
    Annotations Dictionary<string, string>
    Annotations to apply to the node group.
    Disruption Lbrlabs.PulumiPackage.Eks.Inputs.DisruptionConfig
    Labels Dictionary<string, string>
    Key-value map of Kubernetes labels. Only labels that are applied with the EKS API are managed by this argument. Other Kubernetes labels applied to the EKS Node Group will not be managed.
    Taints List<Pulumi.Kubernetes.Types.Inputs.Core.V1.Taint>
    Optional node taints.
    DiskSize string
    Disk size for the node group.
    NodeRole string
    Node role for the node group.
    Requirements []RequirementArgs
    List of requirements for the node group.
    SecurityGroupIds []string
    List of security group selector terms for the node group.
    SubnetIds []string
    List of subnet selector terms for the node group.
    AmiFamily string
    AMI family for the node group.
    Annotations map[string]string
    Annotations to apply to the node group.
    Disruption DisruptionConfigArgs
    Labels map[string]string
    Key-value map of Kubernetes labels. Only labels that are applied with the EKS API are managed by this argument. Other Kubernetes labels applied to the EKS Node Group will not be managed.
    Taints TaintArgs
    Optional node taints.
    diskSize String
    Disk size for the node group.
    nodeRole String
    Node role for the node group.
    requirements List<Requirement>
    List of requirements for the node group.
    securityGroupIds List<String>
    List of security group selector terms for the node group.
    subnetIds List<String>
    List of subnet selector terms for the node group.
    amiFamily String
    AMI family for the node group.
    annotations Map<String,String>
    Annotations to apply to the node group.
    disruption DisruptionConfig
    labels Map<String,String>
    Key-value map of Kubernetes labels. Only labels that are applied with the EKS API are managed by this argument. Other Kubernetes labels applied to the EKS Node Group will not be managed.
    taints List<Taint>
    Optional node taints.
    diskSize string
    Disk size for the node group.
    nodeRole string
    Node role for the node group.
    requirements Requirement[]
    List of requirements for the node group.
    securityGroupIds string[]
    List of security group selector terms for the node group.
    subnetIds string[]
    List of subnet selector terms for the node group.
    amiFamily string
    AMI family for the node group.
    annotations {[key: string]: string}
    Annotations to apply to the node group.
    disruption DisruptionConfig
    labels {[key: string]: string}
    Key-value map of Kubernetes labels. Only labels that are applied with the EKS API are managed by this argument. Other Kubernetes labels applied to the EKS Node Group will not be managed.
    taints pulumiKubernetestypesinputcorev1Taint[]
    Optional node taints.
    disk_size str
    Disk size for the node group.
    node_role str
    Node role for the node group.
    requirements Sequence[RequirementArgs]
    List of requirements for the node group.
    security_group_ids Sequence[str]
    List of security group selector terms for the node group.
    subnet_ids Sequence[str]
    List of subnet selector terms for the node group.
    ami_family str
    AMI family for the node group.
    annotations Mapping[str, str]
    Annotations to apply to the node group.
    disruption DisruptionConfigArgs
    labels Mapping[str, str]
    Key-value map of Kubernetes labels. Only labels that are applied with the EKS API are managed by this argument. Other Kubernetes labels applied to the EKS Node Group will not be managed.
    taints Sequence[pulumi_kubernetes.core.v1.TaintArgs]
    Optional node taints.
    diskSize String
    Disk size for the node group.
    nodeRole String
    Node role for the node group.
    requirements List<Property Map>
    List of requirements for the node group.
    securityGroupIds List<String>
    List of security group selector terms for the node group.
    subnetIds List<String>
    List of subnet selector terms for the node group.
    amiFamily String
    AMI family for the node group.
    annotations Map<String>
    Annotations to apply to the node group.
    disruption Property Map
    labels Map<String>
    Key-value map of Kubernetes labels. Only labels that are applied with the EKS API are managed by this argument. Other Kubernetes labels applied to the EKS Node Group will not be managed.
    taints List<Property Map>
    Optional node taints.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the AutoscaledNodeGroup resource produces the following output properties:

    Supporting Types

    BudgetConfig, BudgetConfigArgs

    Duration string
    The duration during which disruptuon can happen.
    Nodes string
    The maximum number of nodes that can be scaled down at any time.
    Schedule string
    A cron schedule for when disruption can happen.
    Duration string
    The duration during which disruptuon can happen.
    Nodes string
    The maximum number of nodes that can be scaled down at any time.
    Schedule string
    A cron schedule for when disruption can happen.
    duration String
    The duration during which disruptuon can happen.
    nodes String
    The maximum number of nodes that can be scaled down at any time.
    schedule String
    A cron schedule for when disruption can happen.
    duration string
    The duration during which disruptuon can happen.
    nodes string
    The maximum number of nodes that can be scaled down at any time.
    schedule string
    A cron schedule for when disruption can happen.
    duration str
    The duration during which disruptuon can happen.
    nodes str
    The maximum number of nodes that can be scaled down at any time.
    schedule str
    A cron schedule for when disruption can happen.
    duration String
    The duration during which disruptuon can happen.
    nodes String
    The maximum number of nodes that can be scaled down at any time.
    schedule String
    A cron schedule for when disruption can happen.

    DisruptionConfig, DisruptionConfigArgs

    Budgets List<Lbrlabs.PulumiPackage.Eks.Inputs.BudgetConfig>
    Budgets control the speed Karpenter can scale down nodes.
    ConsolidateAfter string
    The amount of time Karpenter should wait after discovering a consolidation decision. This value can currently only be set when the consolidationPolicy is 'WhenEmpty'. You can choose to disable consolidation entirely by setting the string value 'Never' here.
    ConsolidationPolicy string
    Describes which types of Nodes Karpenter should consider for consolidation.
    ExpireAfter string
    The amount of time a Node can live on the cluster before being removed.
    Budgets []BudgetConfig
    Budgets control the speed Karpenter can scale down nodes.
    ConsolidateAfter string
    The amount of time Karpenter should wait after discovering a consolidation decision. This value can currently only be set when the consolidationPolicy is 'WhenEmpty'. You can choose to disable consolidation entirely by setting the string value 'Never' here.
    ConsolidationPolicy string
    Describes which types of Nodes Karpenter should consider for consolidation.
    ExpireAfter string
    The amount of time a Node can live on the cluster before being removed.
    budgets List<BudgetConfig>
    Budgets control the speed Karpenter can scale down nodes.
    consolidateAfter String
    The amount of time Karpenter should wait after discovering a consolidation decision. This value can currently only be set when the consolidationPolicy is 'WhenEmpty'. You can choose to disable consolidation entirely by setting the string value 'Never' here.
    consolidationPolicy String
    Describes which types of Nodes Karpenter should consider for consolidation.
    expireAfter String
    The amount of time a Node can live on the cluster before being removed.
    budgets BudgetConfig[]
    Budgets control the speed Karpenter can scale down nodes.
    consolidateAfter string
    The amount of time Karpenter should wait after discovering a consolidation decision. This value can currently only be set when the consolidationPolicy is 'WhenEmpty'. You can choose to disable consolidation entirely by setting the string value 'Never' here.
    consolidationPolicy string
    Describes which types of Nodes Karpenter should consider for consolidation.
    expireAfter string
    The amount of time a Node can live on the cluster before being removed.
    budgets Sequence[BudgetConfig]
    Budgets control the speed Karpenter can scale down nodes.
    consolidate_after str
    The amount of time Karpenter should wait after discovering a consolidation decision. This value can currently only be set when the consolidationPolicy is 'WhenEmpty'. You can choose to disable consolidation entirely by setting the string value 'Never' here.
    consolidation_policy str
    Describes which types of Nodes Karpenter should consider for consolidation.
    expire_after str
    The amount of time a Node can live on the cluster before being removed.
    budgets List<Property Map>
    Budgets control the speed Karpenter can scale down nodes.
    consolidateAfter String
    The amount of time Karpenter should wait after discovering a consolidation decision. This value can currently only be set when the consolidationPolicy is 'WhenEmpty'. You can choose to disable consolidation entirely by setting the string value 'Never' here.
    consolidationPolicy String
    Describes which types of Nodes Karpenter should consider for consolidation.
    expireAfter String
    The amount of time a Node can live on the cluster before being removed.

    Requirement, RequirementArgs

    Key string
    The key of the requirement.
    Operator string
    The operator for the requirement (e.g., In, Gt).
    Values List<string>
    The list of values for the requirement.
    Key string
    The key of the requirement.
    Operator string
    The operator for the requirement (e.g., In, Gt).
    Values []string
    The list of values for the requirement.
    key String
    The key of the requirement.
    operator String
    The operator for the requirement (e.g., In, Gt).
    values List<String>
    The list of values for the requirement.
    key string
    The key of the requirement.
    operator string
    The operator for the requirement (e.g., In, Gt).
    values string[]
    The list of values for the requirement.
    key str
    The key of the requirement.
    operator str
    The operator for the requirement (e.g., In, Gt).
    values Sequence[str]
    The list of values for the requirement.
    key String
    The key of the requirement.
    operator String
    The operator for the requirement (e.g., In, Gt).
    values List<String>
    The list of values for the requirement.

    Package Details

    Repository
    lbrlabs-eks lbrlabs/pulumi-lbrlabs-eks
    License
    lbrlabs-eks logo
    LBr Labs EKS v0.20.0 published on Monday, Jun 17, 2024 by lbrlabs