LBr Labs EKS v0.20.0 published on Monday, Jun 17, 2024 by lbrlabs
lbrlabs-eks.AutoscaledNodeGroup
Explore with Pulumi AI
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:
- Disk
Size string - Disk size for the node group.
- Node
Role string - Node role for the node group.
- Requirements
List<Lbrlabs.
Pulumi Package. Eks. Inputs. Requirement> - List of requirements for the node group.
- Security
Group List<string>Ids - List of security group selector terms for the node group.
- Subnet
Ids List<string> - List of subnet selector terms for the node group.
- Ami
Family string - AMI family for the node group.
- Annotations Dictionary<string, string>
- Annotations to apply to the node group.
- Disruption
Lbrlabs.
Pulumi Package. Eks. Inputs. Disruption Config - 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.
- Disk
Size string - Disk size for the node group.
- Node
Role string - Node role for the node group.
- Requirements
[]Requirement
Args - List of requirements for the node group.
- Security
Group []stringIds - List of security group selector terms for the node group.
- Subnet
Ids []string - List of subnet selector terms for the node group.
- Ami
Family string - AMI family for the node group.
- Annotations map[string]string
- Annotations to apply to the node group.
- Disruption
Disruption
Config Args - 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
Taint
Args - Optional node taints.
- disk
Size String - Disk size for the node group.
- node
Role String - Node role for the node group.
- requirements List<Requirement>
- List of requirements for the node group.
- security
Group List<String>Ids - List of security group selector terms for the node group.
- subnet
Ids List<String> - List of subnet selector terms for the node group.
- ami
Family String - AMI family for the node group.
- annotations Map<String,String>
- Annotations to apply to the node group.
- disruption
Disruption
Config - 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.
- disk
Size string - Disk size for the node group.
- node
Role string - Node role for the node group.
- requirements Requirement[]
- List of requirements for the node group.
- security
Group string[]Ids - List of security group selector terms for the node group.
- subnet
Ids string[] - List of subnet selector terms for the node group.
- ami
Family string - AMI family for the node group.
- annotations {[key: string]: string}
- Annotations to apply to the node group.
- disruption
Disruption
Config - 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
pulumi
Kubernetestypesinputcorev1Taint[] - Optional node taints.
- disk_
size str - Disk size for the node group.
- node_
role str - Node role for the node group.
- requirements
Sequence[Requirement
Args] - List of requirements for the node group.
- security_
group_ Sequence[str]ids - 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
Disruption
Config Args - 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. Taint Args] - Optional node taints.
- disk
Size String - Disk size for the node group.
- node
Role String - Node role for the node group.
- requirements List<Property Map>
- List of requirements for the node group.
- security
Group List<String>Ids - List of security group selector terms for the node group.
- subnet
Ids List<String> - List of subnet selector terms for the node group.
- ami
Family 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
DisruptionConfig, DisruptionConfigArgs
- Budgets
List<Lbrlabs.
Pulumi Package. Eks. Inputs. Budget Config> - Budgets control the speed Karpenter can scale down nodes.
- Consolidate
After 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.
- Consolidation
Policy string - Describes which types of Nodes Karpenter should consider for consolidation.
- Expire
After string - The amount of time a Node can live on the cluster before being removed.
- Budgets
[]Budget
Config - Budgets control the speed Karpenter can scale down nodes.
- Consolidate
After 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.
- Consolidation
Policy string - Describes which types of Nodes Karpenter should consider for consolidation.
- Expire
After string - The amount of time a Node can live on the cluster before being removed.
- budgets
List<Budget
Config> - Budgets control the speed Karpenter can scale down nodes.
- consolidate
After 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.
- consolidation
Policy String - Describes which types of Nodes Karpenter should consider for consolidation.
- expire
After String - The amount of time a Node can live on the cluster before being removed.
- budgets
Budget
Config[] - Budgets control the speed Karpenter can scale down nodes.
- consolidate
After 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.
- consolidation
Policy string - Describes which types of Nodes Karpenter should consider for consolidation.
- expire
After string - The amount of time a Node can live on the cluster before being removed.
- budgets
Sequence[Budget
Config] - 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.
- consolidate
After 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.
- consolidation
Policy String - Describes which types of Nodes Karpenter should consider for consolidation.
- expire
After String - The amount of time a Node can live on the cluster before being removed.
Requirement, RequirementArgs
Package Details
- Repository
- lbrlabs-eks lbrlabs/pulumi-lbrlabs-eks
- License