published on Wednesday, Sep 9, 2026 by pulumiverse
published on Wednesday, Sep 9, 2026 by pulumiverse
Manages Autoscaling Groups.
Example Usage
CPU Target
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const main = new scaleway.instance.Template("main", {serverType: "GP1-L"});
const mainGroup = new scaleway.autoscaling.Group("main", {
templateId: main.id,
tags: [
"tf-examples",
"scaleway_autoscaling_group",
"cpu-target",
],
name: "asg-cpu-target",
scalingPolicy: {
minimumSize: 0,
maximumSize: 25,
scaleInCooldown: "2m",
scaleOutCooldown: "1m",
scaleInStep: 5,
scaleOutStep: 5,
cpuTarget: 92,
},
});
import pulumi
import pulumiverse_scaleway as scaleway
main = scaleway.instance.Template("main", server_type="GP1-L")
main_group = scaleway.autoscaling.Group("main",
template_id=main.id,
tags=[
"tf-examples",
"scaleway_autoscaling_group",
"cpu-target",
],
name="asg-cpu-target",
scaling_policy={
"minimum_size": 0,
"maximum_size": 25,
"scale_in_cooldown": "2m",
"scale_out_cooldown": "1m",
"scale_in_step": 5,
"scale_out_step": 5,
"cpu_target": 92,
})
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/autoscaling"
"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/instance"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
main, err := instance.NewTemplate(ctx, "main", &instance.TemplateArgs{
ServerType: pulumi.String("GP1-L"),
})
if err != nil {
return err
}
_, err = autoscaling.NewGroup(ctx, "main", &autoscaling.GroupArgs{
TemplateId: main.ID().ToIDOutput().ToStringOutput(),
Tags: pulumi.StringArray{
pulumi.String("tf-examples"),
pulumi.String("scaleway_autoscaling_group"),
pulumi.String("cpu-target"),
},
Name: pulumi.String("asg-cpu-target"),
ScalingPolicy: &autoscaling.GroupScalingPolicyArgs{
MinimumSize: pulumi.Int(0),
MaximumSize: pulumi.Int(25),
ScaleInCooldown: pulumi.String("2m"),
ScaleOutCooldown: pulumi.String("1m"),
ScaleInStep: pulumi.Int(5),
ScaleOutStep: pulumi.Int(5),
CpuTarget: pulumi.Int(92),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() =>
{
var main = new Scaleway.Instance.Template("main", new()
{
ServerType = "GP1-L",
});
var mainGroup = new Scaleway.Autoscaling.Group("main", new()
{
TemplateId = main.Id,
Tags = new[]
{
"tf-examples",
"scaleway_autoscaling_group",
"cpu-target",
},
Name = "asg-cpu-target",
ScalingPolicy = new Scaleway.Autoscaling.Inputs.GroupScalingPolicyArgs
{
MinimumSize = 0,
MaximumSize = 25,
ScaleInCooldown = "2m",
ScaleOutCooldown = "1m",
ScaleInStep = 5,
ScaleOutStep = 5,
CpuTarget = 92,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.instance.Template;
import com.pulumi.scaleway.instance.TemplateArgs;
import com.pulumi.scaleway.autoscaling.Group;
import com.pulumi.scaleway.autoscaling.GroupArgs;
import com.pulumi.scaleway.autoscaling.inputs.GroupScalingPolicyArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var main = new Template("main", TemplateArgs.builder()
.serverType("GP1-L")
.build());
var mainGroup = new Group("mainGroup", GroupArgs.builder()
.templateId(main.id())
.tags(
"tf-examples",
"scaleway_autoscaling_group",
"cpu-target")
.name("asg-cpu-target")
.scalingPolicy(GroupScalingPolicyArgs.builder()
.minimumSize(0)
.maximumSize(25)
.scaleInCooldown("2m")
.scaleOutCooldown("1m")
.scaleInStep(5)
.scaleOutStep(5)
.cpuTarget(92)
.build())
.build());
}
}
resources:
main:
type: scaleway:instance:Template
properties:
serverType: GP1-L
mainGroup:
type: scaleway:autoscaling:Group
name: main
properties:
templateId: ${main.id}
tags:
- tf-examples
- scaleway_autoscaling_group
- cpu-target
name: asg-cpu-target
scalingPolicy:
minimumSize: 0
maximumSize: 25
scaleInCooldown: 2m
scaleOutCooldown: 1m
scaleInStep: 5
scaleOutStep: 5
cpuTarget: 92
pulumi {
required_providers {
scaleway = {
source = "pulumi/scaleway"
}
}
}
resource "scaleway_instance_template" "main" {
server_type = "GP1-L"
}
resource "scaleway_autoscaling_group" "main" {
template_id = scaleway_instance_template.main.id
tags = ["tf-examples", "scaleway_autoscaling_group", "cpu-target"]
name = "asg-cpu-target"
scaling_policy = {
minimum_size = 0
maximum_size = 25
scale_in_cooldown = "2m"
scale_out_cooldown = "1m"
scale_in_step = 5
scale_out_step = 5
cpu_target = 92
}
}
Fixed size
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const main = new scaleway.instance.Template("main", {serverType: "PRO2-M"});
const mainGroup = new scaleway.autoscaling.Group("main", {
templateId: main.id,
tags: [
"tf-examples",
"scaleway_autoscaling_group",
"fixed-size",
],
name: "asg-fixed-size",
scalingPolicy: {
minimumSize: 1,
maximumSize: 20,
scaleInCooldown: "7m",
scaleOutCooldown: "30s",
fixedSize: 10,
},
});
import pulumi
import pulumiverse_scaleway as scaleway
main = scaleway.instance.Template("main", server_type="PRO2-M")
main_group = scaleway.autoscaling.Group("main",
template_id=main.id,
tags=[
"tf-examples",
"scaleway_autoscaling_group",
"fixed-size",
],
name="asg-fixed-size",
scaling_policy={
"minimum_size": 1,
"maximum_size": 20,
"scale_in_cooldown": "7m",
"scale_out_cooldown": "30s",
"fixed_size": 10,
})
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/autoscaling"
"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/instance"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
main, err := instance.NewTemplate(ctx, "main", &instance.TemplateArgs{
ServerType: pulumi.String("PRO2-M"),
})
if err != nil {
return err
}
_, err = autoscaling.NewGroup(ctx, "main", &autoscaling.GroupArgs{
TemplateId: main.ID().ToIDOutput().ToStringOutput(),
Tags: pulumi.StringArray{
pulumi.String("tf-examples"),
pulumi.String("scaleway_autoscaling_group"),
pulumi.String("fixed-size"),
},
Name: pulumi.String("asg-fixed-size"),
ScalingPolicy: &autoscaling.GroupScalingPolicyArgs{
MinimumSize: pulumi.Int(1),
MaximumSize: pulumi.Int(20),
ScaleInCooldown: pulumi.String("7m"),
ScaleOutCooldown: pulumi.String("30s"),
FixedSize: pulumi.Int(10),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() =>
{
var main = new Scaleway.Instance.Template("main", new()
{
ServerType = "PRO2-M",
});
var mainGroup = new Scaleway.Autoscaling.Group("main", new()
{
TemplateId = main.Id,
Tags = new[]
{
"tf-examples",
"scaleway_autoscaling_group",
"fixed-size",
},
Name = "asg-fixed-size",
ScalingPolicy = new Scaleway.Autoscaling.Inputs.GroupScalingPolicyArgs
{
MinimumSize = 1,
MaximumSize = 20,
ScaleInCooldown = "7m",
ScaleOutCooldown = "30s",
FixedSize = 10,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.instance.Template;
import com.pulumi.scaleway.instance.TemplateArgs;
import com.pulumi.scaleway.autoscaling.Group;
import com.pulumi.scaleway.autoscaling.GroupArgs;
import com.pulumi.scaleway.autoscaling.inputs.GroupScalingPolicyArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var main = new Template("main", TemplateArgs.builder()
.serverType("PRO2-M")
.build());
var mainGroup = new Group("mainGroup", GroupArgs.builder()
.templateId(main.id())
.tags(
"tf-examples",
"scaleway_autoscaling_group",
"fixed-size")
.name("asg-fixed-size")
.scalingPolicy(GroupScalingPolicyArgs.builder()
.minimumSize(1)
.maximumSize(20)
.scaleInCooldown("7m")
.scaleOutCooldown("30s")
.fixedSize(10)
.build())
.build());
}
}
resources:
main:
type: scaleway:instance:Template
properties:
serverType: PRO2-M
mainGroup:
type: scaleway:autoscaling:Group
name: main
properties:
templateId: ${main.id}
tags:
- tf-examples
- scaleway_autoscaling_group
- fixed-size
name: asg-fixed-size
scalingPolicy:
minimumSize: 1
maximumSize: 20
scaleInCooldown: 7m
scaleOutCooldown: 30s
fixedSize: 10
pulumi {
required_providers {
scaleway = {
source = "pulumi/scaleway"
}
}
}
resource "scaleway_instance_template" "main" {
server_type = "PRO2-M"
}
resource "scaleway_autoscaling_group" "main" {
template_id = scaleway_instance_template.main.id
tags = ["tf-examples", "scaleway_autoscaling_group", "fixed-size"]
name = "asg-fixed-size"
scaling_policy = {
minimum_size = 1
maximum_size = 20
scale_in_cooldown = "7m"
scale_out_cooldown = "30s"
fixed_size = 10
}
}
Load Balancer Configuration
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
// VPC resources
const vpc = new scaleway.network.Vpc("vpc", {});
const pn = new scaleway.network.PrivateNetwork("pn", {vpcId: vpc.id});
// LB resources
const lb = new scaleway.loadbalancers.LoadBalancer("lb", {type: "LB-S"});
const back0 = new scaleway.loadbalancers.Backend("back0", {
lbId: lb.id,
forwardProtocol: "http",
forwardPort: 80,
});
const back1 = new scaleway.loadbalancers.Backend("back1", {
lbId: lb.id,
forwardProtocol: "tcp",
forwardPort: 81,
});
// Template
const main = new scaleway.instance.Template("main", {
tags: [
"terraform-test",
"scaleway_autoscaling_group",
"lb_config",
],
serverType: "PRO2-M",
});
// AutoScaling Group
const mainGroup = new scaleway.autoscaling.Group("main", {
templateId: main.id,
scalingPolicy: {
minimumSize: 0,
maximumSize: 25,
memoryTarget: 75,
},
loadBalancerConfiguration: {
loadBalancerId: lb.id,
backends: [
{
backendId: back0.id,
addressFamily: "ipv6",
},
{
backendId: back1.id,
addressFamily: "ipv4",
privateNetworkId: pn.id,
},
],
autoHealing: {
enabled: true,
gracePeriod: "10m",
},
},
});
import pulumi
import pulumiverse_scaleway as scaleway
# VPC resources
vpc = scaleway.network.Vpc("vpc")
pn = scaleway.network.PrivateNetwork("pn", vpc_id=vpc.id)
# LB resources
lb = scaleway.loadbalancers.LoadBalancer("lb", type="LB-S")
back0 = scaleway.loadbalancers.Backend("back0",
lb_id=lb.id,
forward_protocol="http",
forward_port=80)
back1 = scaleway.loadbalancers.Backend("back1",
lb_id=lb.id,
forward_protocol="tcp",
forward_port=81)
# Template
main = scaleway.instance.Template("main",
tags=[
"terraform-test",
"scaleway_autoscaling_group",
"lb_config",
],
server_type="PRO2-M")
# AutoScaling Group
main_group = scaleway.autoscaling.Group("main",
template_id=main.id,
scaling_policy={
"minimum_size": 0,
"maximum_size": 25,
"memory_target": 75,
},
load_balancer_configuration={
"load_balancer_id": lb.id,
"backends": [
{
"backend_id": back0.id,
"address_family": "ipv6",
},
{
"backend_id": back1.id,
"address_family": "ipv4",
"private_network_id": pn.id,
},
],
"auto_healing": {
"enabled": True,
"grace_period": "10m",
},
})
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/autoscaling"
"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/instance"
"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/loadbalancers"
"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/network"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// VPC resources
vpc, err := network.NewVpc(ctx, "vpc", nil)
if err != nil {
return err
}
pn, err := network.NewPrivateNetwork(ctx, "pn", &network.PrivateNetworkArgs{
VpcId: vpc.ID().ToIDOutput().ToStringOutput(),
})
if err != nil {
return err
}
// LB resources
lb, err := loadbalancers.NewLoadBalancer(ctx, "lb", &loadbalancers.LoadBalancerArgs{
Type: pulumi.String("LB-S"),
})
if err != nil {
return err
}
back0, err := loadbalancers.NewBackend(ctx, "back0", &loadbalancers.BackendArgs{
LbId: lb.ID().ToIDOutput().ToStringOutput(),
ForwardProtocol: pulumi.String("http"),
ForwardPort: pulumi.Int(80),
})
if err != nil {
return err
}
back1, err := loadbalancers.NewBackend(ctx, "back1", &loadbalancers.BackendArgs{
LbId: lb.ID().ToIDOutput().ToStringOutput(),
ForwardProtocol: pulumi.String("tcp"),
ForwardPort: pulumi.Int(81),
})
if err != nil {
return err
}
// Template
main, err := instance.NewTemplate(ctx, "main", &instance.TemplateArgs{
Tags: pulumi.StringArray{
pulumi.String("terraform-test"),
pulumi.String("scaleway_autoscaling_group"),
pulumi.String("lb_config"),
},
ServerType: pulumi.String("PRO2-M"),
})
if err != nil {
return err
}
// AutoScaling Group
_, err = autoscaling.NewGroup(ctx, "main", &autoscaling.GroupArgs{
TemplateId: main.ID().ToIDOutput().ToStringOutput(),
ScalingPolicy: &autoscaling.GroupScalingPolicyArgs{
MinimumSize: pulumi.Int(0),
MaximumSize: pulumi.Int(25),
MemoryTarget: pulumi.Int(75),
},
LoadBalancerConfiguration: &autoscaling.GroupLoadBalancerConfigurationArgs{
LoadBalancerId: lb.ID().ToIDOutput().ToStringOutput(),
Backends: autoscaling.GroupLoadBalancerConfigurationBackendArray{
&autoscaling.GroupLoadBalancerConfigurationBackendArgs{
BackendId: back0.ID().ToIDOutput().ToStringOutput(),
AddressFamily: pulumi.String("ipv6"),
},
&autoscaling.GroupLoadBalancerConfigurationBackendArgs{
BackendId: back1.ID().ToIDOutput().ToStringOutput(),
AddressFamily: pulumi.String("ipv4"),
PrivateNetworkId: pn.ID().ToIDOutput().ToStringOutput(),
},
},
AutoHealing: &autoscaling.GroupLoadBalancerConfigurationAutoHealingArgs{
Enabled: pulumi.Bool(true),
GracePeriod: pulumi.String("10m"),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() =>
{
// VPC resources
var vpc = new Scaleway.Network.Vpc("vpc");
var pn = new Scaleway.Network.PrivateNetwork("pn", new()
{
VpcId = vpc.Id,
});
// LB resources
var lb = new Scaleway.Loadbalancers.LoadBalancer("lb", new()
{
Type = "LB-S",
});
var back0 = new Scaleway.Loadbalancers.Backend("back0", new()
{
LbId = lb.Id,
ForwardProtocol = "http",
ForwardPort = 80,
});
var back1 = new Scaleway.Loadbalancers.Backend("back1", new()
{
LbId = lb.Id,
ForwardProtocol = "tcp",
ForwardPort = 81,
});
// Template
var main = new Scaleway.Instance.Template("main", new()
{
Tags = new[]
{
"terraform-test",
"scaleway_autoscaling_group",
"lb_config",
},
ServerType = "PRO2-M",
});
// AutoScaling Group
var mainGroup = new Scaleway.Autoscaling.Group("main", new()
{
TemplateId = main.Id,
ScalingPolicy = new Scaleway.Autoscaling.Inputs.GroupScalingPolicyArgs
{
MinimumSize = 0,
MaximumSize = 25,
MemoryTarget = 75,
},
LoadBalancerConfiguration = new Scaleway.Autoscaling.Inputs.GroupLoadBalancerConfigurationArgs
{
LoadBalancerId = lb.Id,
Backends = new[]
{
new Scaleway.Autoscaling.Inputs.GroupLoadBalancerConfigurationBackendArgs
{
BackendId = back0.Id,
AddressFamily = "ipv6",
},
new Scaleway.Autoscaling.Inputs.GroupLoadBalancerConfigurationBackendArgs
{
BackendId = back1.Id,
AddressFamily = "ipv4",
PrivateNetworkId = pn.Id,
},
},
AutoHealing = new Scaleway.Autoscaling.Inputs.GroupLoadBalancerConfigurationAutoHealingArgs
{
Enabled = true,
GracePeriod = "10m",
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.network.Vpc;
import com.pulumi.scaleway.network.PrivateNetwork;
import com.pulumi.scaleway.network.PrivateNetworkArgs;
import com.pulumi.scaleway.loadbalancers.LoadBalancer;
import com.pulumi.scaleway.loadbalancers.LoadBalancerArgs;
import com.pulumi.scaleway.loadbalancers.Backend;
import com.pulumi.scaleway.loadbalancers.BackendArgs;
import com.pulumi.scaleway.instance.Template;
import com.pulumi.scaleway.instance.TemplateArgs;
import com.pulumi.scaleway.autoscaling.Group;
import com.pulumi.scaleway.autoscaling.GroupArgs;
import com.pulumi.scaleway.autoscaling.inputs.GroupScalingPolicyArgs;
import com.pulumi.scaleway.autoscaling.inputs.GroupLoadBalancerConfigurationArgs;
import com.pulumi.scaleway.autoscaling.inputs.GroupLoadBalancerConfigurationBackendArgs;
import com.pulumi.scaleway.autoscaling.inputs.GroupLoadBalancerConfigurationAutoHealingArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
// VPC resources
var vpc = new Vpc("vpc");
var pn = new PrivateNetwork("pn", PrivateNetworkArgs.builder()
.vpcId(vpc.id())
.build());
// LB resources
var lb = new LoadBalancer("lb", LoadBalancerArgs.builder()
.type("LB-S")
.build());
var back0 = new Backend("back0", BackendArgs.builder()
.lbId(lb.id())
.forwardProtocol("http")
.forwardPort(80)
.build());
var back1 = new Backend("back1", BackendArgs.builder()
.lbId(lb.id())
.forwardProtocol("tcp")
.forwardPort(81)
.build());
// Template
var main = new Template("main", TemplateArgs.builder()
.tags(
"terraform-test",
"scaleway_autoscaling_group",
"lb_config")
.serverType("PRO2-M")
.build());
// AutoScaling Group
var mainGroup = new Group("mainGroup", GroupArgs.builder()
.templateId(main.id())
.scalingPolicy(GroupScalingPolicyArgs.builder()
.minimumSize(0)
.maximumSize(25)
.memoryTarget(75)
.build())
.loadBalancerConfiguration(GroupLoadBalancerConfigurationArgs.builder()
.loadBalancerId(lb.id())
.backends(
GroupLoadBalancerConfigurationBackendArgs.builder()
.backendId(back0.id())
.addressFamily("ipv6")
.build(),
GroupLoadBalancerConfigurationBackendArgs.builder()
.backendId(back1.id())
.addressFamily("ipv4")
.privateNetworkId(pn.id())
.build())
.autoHealing(GroupLoadBalancerConfigurationAutoHealingArgs.builder()
.enabled(true)
.gracePeriod("10m")
.build())
.build())
.build());
}
}
resources:
# VPC resources
vpc:
type: scaleway:network:Vpc
pn:
type: scaleway:network:PrivateNetwork
properties:
vpcId: ${vpc.id}
# LB resources
lb:
type: scaleway:loadbalancers:LoadBalancer
properties:
type: LB-S
back0:
type: scaleway:loadbalancers:Backend
properties:
lbId: ${lb.id}
forwardProtocol: http
forwardPort: 80
back1:
type: scaleway:loadbalancers:Backend
properties:
lbId: ${lb.id}
forwardProtocol: tcp
forwardPort: 81
# Template
main:
type: scaleway:instance:Template
properties:
tags:
- terraform-test
- scaleway_autoscaling_group
- lb_config
serverType: PRO2-M
# AutoScaling Group
mainGroup:
type: scaleway:autoscaling:Group
name: main
properties:
templateId: ${main.id}
scalingPolicy:
minimumSize: 0
maximumSize: 25
memoryTarget: 75
loadBalancerConfiguration:
loadBalancerId: ${lb.id}
backends:
- backendId: ${back0.id}
addressFamily: ipv6
- backendId: ${back1.id}
addressFamily: ipv4
privateNetworkId: ${pn.id}
autoHealing:
enabled: true
gracePeriod: 10m
pulumi {
required_providers {
scaleway = {
source = "pulumi/scaleway"
}
}
}
# VPC resources
resource "scaleway_network_vpc" "vpc" {
}
resource "scaleway_network_privatenetwork" "pn" {
vpc_id = scaleway_network_vpc.vpc.id
}
# LB resources
resource "scaleway_loadbalancers_loadbalancer" "lb" {
type = "LB-S"
}
resource "scaleway_loadbalancers_backend" "back0" {
lb_id = scaleway_loadbalancers_loadbalancer.lb.id
forward_protocol = "http"
forward_port = 80
}
resource "scaleway_loadbalancers_backend" "back1" {
lb_id = scaleway_loadbalancers_loadbalancer.lb.id
forward_protocol = "tcp"
forward_port = 81
}
# Template
resource "scaleway_instance_template" "main" {
tags = ["terraform-test", "scaleway_autoscaling_group", "lb_config"]
server_type = "PRO2-M"
}
# AutoScaling Group
resource "scaleway_autoscaling_group" "main" {
template_id = scaleway_instance_template.main.id
scaling_policy = {
minimum_size = 0
maximum_size = 25
memory_target = 75
}
load_balancer_configuration = {
load_balancer_id = scaleway_loadbalancers_loadbalancer.lb.id
backends = [{
"backendId" = scaleway_loadbalancers_backend.back0.id
"addressFamily" = "ipv6"
}, {
"backendId" = scaleway_loadbalancers_backend.back1.id
"addressFamily" = "ipv4"
"privateNetworkId" = scaleway_network_privatenetwork.pn.id
}]
auto_healing = {
enabled = true
grace_period = "10m"
}
}
}
Create Group Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Group(name: string, args: GroupArgs, opts?: CustomResourceOptions);@overload
def Group(resource_name: str,
args: GroupArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Group(resource_name: str,
opts: Optional[ResourceOptions] = None,
scaling_policy: Optional[GroupScalingPolicyArgs] = None,
template_id: Optional[str] = None,
load_balancer_configuration: Optional[GroupLoadBalancerConfigurationArgs] = None,
name: Optional[str] = None,
project_id: Optional[str] = None,
tags: Optional[Sequence[str]] = None,
zone: Optional[str] = None)func NewGroup(ctx *Context, name string, args GroupArgs, opts ...ResourceOption) (*Group, error)public Group(string name, GroupArgs args, CustomResourceOptions? opts = null)type: scaleway:autoscaling:Group
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "scaleway_autoscaling_group" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args GroupArgs
- 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 GroupArgs
- 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 GroupArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args GroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args GroupArgs
- 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 groupResource = new Scaleway.Autoscaling.Group("groupResource", new()
{
ScalingPolicy = new Scaleway.Autoscaling.Inputs.GroupScalingPolicyArgs
{
MaximumSize = 0,
MinimumSize = 0,
CpuTarget = 0,
FixedSize = 0,
MemoryTarget = 0,
ScaleInCooldown = "string",
ScaleInStep = 0,
ScaleOutCooldown = "string",
ScaleOutStep = 0,
},
TemplateId = "string",
LoadBalancerConfiguration = new Scaleway.Autoscaling.Inputs.GroupLoadBalancerConfigurationArgs
{
Backends = new[]
{
new Scaleway.Autoscaling.Inputs.GroupLoadBalancerConfigurationBackendArgs
{
AddressFamily = "string",
BackendId = "string",
PrivateNetworkId = "string",
},
},
LoadBalancerId = "string",
AutoHealing = new Scaleway.Autoscaling.Inputs.GroupLoadBalancerConfigurationAutoHealingArgs
{
Enabled = false,
GracePeriod = "string",
},
},
Name = "string",
ProjectId = "string",
Tags = new[]
{
"string",
},
Zone = "string",
});
example, err := autoscaling.NewGroup(ctx, "groupResource", &autoscaling.GroupArgs{
ScalingPolicy: &autoscaling.GroupScalingPolicyArgs{
MaximumSize: pulumi.Int(0),
MinimumSize: pulumi.Int(0),
CpuTarget: pulumi.Int(0),
FixedSize: pulumi.Int(0),
MemoryTarget: pulumi.Int(0),
ScaleInCooldown: pulumi.String("string"),
ScaleInStep: pulumi.Int(0),
ScaleOutCooldown: pulumi.String("string"),
ScaleOutStep: pulumi.Int(0),
},
TemplateId: pulumi.String("string"),
LoadBalancerConfiguration: &autoscaling.GroupLoadBalancerConfigurationArgs{
Backends: autoscaling.GroupLoadBalancerConfigurationBackendArray{
&autoscaling.GroupLoadBalancerConfigurationBackendArgs{
AddressFamily: pulumi.String("string"),
BackendId: pulumi.String("string"),
PrivateNetworkId: pulumi.String("string"),
},
},
LoadBalancerId: pulumi.String("string"),
AutoHealing: &autoscaling.GroupLoadBalancerConfigurationAutoHealingArgs{
Enabled: pulumi.Bool(false),
GracePeriod: pulumi.String("string"),
},
},
Name: pulumi.String("string"),
ProjectId: pulumi.String("string"),
Tags: pulumi.StringArray{
pulumi.String("string"),
},
Zone: pulumi.String("string"),
})
resource "scaleway_autoscaling_group" "groupResource" {
lifecycle {
create_before_destroy = true
}
scaling_policy = {
maximum_size = 0
minimum_size = 0
cpu_target = 0
fixed_size = 0
memory_target = 0
scale_in_cooldown = "string"
scale_in_step = 0
scale_out_cooldown = "string"
scale_out_step = 0
}
template_id = "string"
load_balancer_configuration = {
backends = [{
address_family = "string"
backend_id = "string"
private_network_id = "string"
}]
load_balancer_id = "string"
auto_healing = {
enabled = false
grace_period = "string"
}
}
name = "string"
project_id = "string"
tags = ["string"]
zone = "string"
}
var groupResource = new com.pulumi.scaleway.autoscaling.Group("groupResource", com.pulumi.scaleway.autoscaling.GroupArgs.builder()
.scalingPolicy(GroupScalingPolicyArgs.builder()
.maximumSize(0)
.minimumSize(0)
.cpuTarget(0)
.fixedSize(0)
.memoryTarget(0)
.scaleInCooldown("string")
.scaleInStep(0)
.scaleOutCooldown("string")
.scaleOutStep(0)
.build())
.templateId("string")
.loadBalancerConfiguration(GroupLoadBalancerConfigurationArgs.builder()
.backends(GroupLoadBalancerConfigurationBackendArgs.builder()
.addressFamily("string")
.backendId("string")
.privateNetworkId("string")
.build())
.loadBalancerId("string")
.autoHealing(GroupLoadBalancerConfigurationAutoHealingArgs.builder()
.enabled(false)
.gracePeriod("string")
.build())
.build())
.name("string")
.projectId("string")
.tags("string")
.zone("string")
.build());
group_resource = scaleway.autoscaling.Group("groupResource",
scaling_policy={
"maximum_size": 0,
"minimum_size": 0,
"cpu_target": 0,
"fixed_size": 0,
"memory_target": 0,
"scale_in_cooldown": "string",
"scale_in_step": 0,
"scale_out_cooldown": "string",
"scale_out_step": 0,
},
template_id="string",
load_balancer_configuration={
"backends": [{
"address_family": "string",
"backend_id": "string",
"private_network_id": "string",
}],
"load_balancer_id": "string",
"auto_healing": {
"enabled": False,
"grace_period": "string",
},
},
name="string",
project_id="string",
tags=["string"],
zone="string")
const groupResource = new scaleway.autoscaling.Group("groupResource", {
scalingPolicy: {
maximumSize: 0,
minimumSize: 0,
cpuTarget: 0,
fixedSize: 0,
memoryTarget: 0,
scaleInCooldown: "string",
scaleInStep: 0,
scaleOutCooldown: "string",
scaleOutStep: 0,
},
templateId: "string",
loadBalancerConfiguration: {
backends: [{
addressFamily: "string",
backendId: "string",
privateNetworkId: "string",
}],
loadBalancerId: "string",
autoHealing: {
enabled: false,
gracePeriod: "string",
},
},
name: "string",
projectId: "string",
tags: ["string"],
zone: "string",
});
type: scaleway:autoscaling:Group
properties:
loadBalancerConfiguration:
autoHealing:
enabled: false
gracePeriod: string
backends:
- addressFamily: string
backendId: string
privateNetworkId: string
loadBalancerId: string
name: string
projectId: string
scalingPolicy:
cpuTarget: 0
fixedSize: 0
maximumSize: 0
memoryTarget: 0
minimumSize: 0
scaleInCooldown: string
scaleInStep: 0
scaleOutCooldown: string
scaleOutStep: 0
tags:
- string
templateId: string
zone: string
Group Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Group resource accepts the following input properties:
- Scaling
Policy Pulumiverse.Scaleway. Autoscaling. Inputs. Group Scaling Policy The scaling policy configuration.
The
scalingPolicyblock contains:- Template
Id string - The ID of the Instance Template used to create instances in this group.
- Load
Balancer Pulumiverse.Configuration Scaleway. Autoscaling. Inputs. Group Load Balancer Configuration The load balancer configuration.
Important: Due to current limitations, this block cannot be unset. To remove it once it has been set, the resource needs to be recreated.
The
loadBalancerConfigurationblock contains:- Name string
- The name of the AutoScaling Group. If not set, a name will be generated.
- Project
Id string - The ID of the project the AutoScaling Group is associated with.
- List<string>
- The tags associated with the AutoScaling Group.
- Zone string
- The zone in which the AutoScaling Group should be created.
- Scaling
Policy GroupScaling Policy Args The scaling policy configuration.
The
scalingPolicyblock contains:- Template
Id string - The ID of the Instance Template used to create instances in this group.
- Load
Balancer GroupConfiguration Load Balancer Configuration Args The load balancer configuration.
Important: Due to current limitations, this block cannot be unset. To remove it once it has been set, the resource needs to be recreated.
The
loadBalancerConfigurationblock contains:- Name string
- The name of the AutoScaling Group. If not set, a name will be generated.
- Project
Id string - The ID of the project the AutoScaling Group is associated with.
- []string
- The tags associated with the AutoScaling Group.
- Zone string
- The zone in which the AutoScaling Group should be created.
- scaling_
policy object The scaling policy configuration.
The
scalingPolicyblock contains:- template_
id string - The ID of the Instance Template used to create instances in this group.
- load_
balancer_ objectconfiguration The load balancer configuration.
Important: Due to current limitations, this block cannot be unset. To remove it once it has been set, the resource needs to be recreated.
The
loadBalancerConfigurationblock contains:- name string
- The name of the AutoScaling Group. If not set, a name will be generated.
- project_
id string - The ID of the project the AutoScaling Group is associated with.
- list(string)
- The tags associated with the AutoScaling Group.
- zone string
- The zone in which the AutoScaling Group should be created.
- scaling
Policy GroupScaling Policy The scaling policy configuration.
The
scalingPolicyblock contains:- template
Id String - The ID of the Instance Template used to create instances in this group.
- load
Balancer GroupConfiguration Load Balancer Configuration The load balancer configuration.
Important: Due to current limitations, this block cannot be unset. To remove it once it has been set, the resource needs to be recreated.
The
loadBalancerConfigurationblock contains:- name String
- The name of the AutoScaling Group. If not set, a name will be generated.
- project
Id String - The ID of the project the AutoScaling Group is associated with.
- List<String>
- The tags associated with the AutoScaling Group.
- zone String
- The zone in which the AutoScaling Group should be created.
- scaling
Policy GroupScaling Policy The scaling policy configuration.
The
scalingPolicyblock contains:- template
Id string - The ID of the Instance Template used to create instances in this group.
- load
Balancer GroupConfiguration Load Balancer Configuration The load balancer configuration.
Important: Due to current limitations, this block cannot be unset. To remove it once it has been set, the resource needs to be recreated.
The
loadBalancerConfigurationblock contains:- name string
- The name of the AutoScaling Group. If not set, a name will be generated.
- project
Id string - The ID of the project the AutoScaling Group is associated with.
- string[]
- The tags associated with the AutoScaling Group.
- zone string
- The zone in which the AutoScaling Group should be created.
- scaling_
policy GroupScaling Policy Args The scaling policy configuration.
The
scalingPolicyblock contains:- template_
id str - The ID of the Instance Template used to create instances in this group.
- load_
balancer_ Groupconfiguration Load Balancer Configuration Args The load balancer configuration.
Important: Due to current limitations, this block cannot be unset. To remove it once it has been set, the resource needs to be recreated.
The
loadBalancerConfigurationblock contains:- name str
- The name of the AutoScaling Group. If not set, a name will be generated.
- project_
id str - The ID of the project the AutoScaling Group is associated with.
- Sequence[str]
- The tags associated with the AutoScaling Group.
- zone str
- The zone in which the AutoScaling Group should be created.
- scaling
Policy Property Map The scaling policy configuration.
The
scalingPolicyblock contains:- template
Id String - The ID of the Instance Template used to create instances in this group.
- load
Balancer Property MapConfiguration The load balancer configuration.
Important: Due to current limitations, this block cannot be unset. To remove it once it has been set, the resource needs to be recreated.
The
loadBalancerConfigurationblock contains:- name String
- The name of the AutoScaling Group. If not set, a name will be generated.
- project
Id String - The ID of the project the AutoScaling Group is associated with.
- List<String>
- The tags associated with the AutoScaling Group.
- zone String
- The zone in which the AutoScaling Group should be created.
Outputs
All input properties are implicitly available as output properties. Additionally, the Group resource produces the following output properties:
- created_
at string - The creation timestamp of the AutoScaling Group.
- id string
- The provider-assigned unique ID for this managed resource.
- status string
- The current status of the AutoScaling Group.
- updated_
at string - The last update timestamp of the AutoScaling Group.
- created_
at str - The creation timestamp of the AutoScaling Group.
- id str
- The provider-assigned unique ID for this managed resource.
- status str
- The current status of the AutoScaling Group.
- updated_
at str - The last update timestamp of the AutoScaling Group.
Look up Existing Group Resource
Get an existing Group resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: GroupState, opts?: CustomResourceOptions): Group@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
created_at: Optional[str] = None,
load_balancer_configuration: Optional[GroupLoadBalancerConfigurationArgs] = None,
name: Optional[str] = None,
project_id: Optional[str] = None,
scaling_policy: Optional[GroupScalingPolicyArgs] = None,
status: Optional[str] = None,
tags: Optional[Sequence[str]] = None,
template_id: Optional[str] = None,
updated_at: Optional[str] = None,
zone: Optional[str] = None) -> Groupfunc GetGroup(ctx *Context, name string, id IDInput, state *GroupState, opts ...ResourceOption) (*Group, error)public static Group Get(string name, Input<string> id, GroupState? state, CustomResourceOptions? opts = null)public static Group get(String name, Output<String> id, GroupState state, CustomResourceOptions options)resources: _: type: scaleway:autoscaling:Group get: id: ${id}import {
to = scaleway_autoscaling_group.example
id = "${id}"
}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Created
At string - The creation timestamp of the AutoScaling Group.
- Load
Balancer Pulumiverse.Configuration Scaleway. Autoscaling. Inputs. Group Load Balancer Configuration The load balancer configuration.
Important: Due to current limitations, this block cannot be unset. To remove it once it has been set, the resource needs to be recreated.
The
loadBalancerConfigurationblock contains:- Name string
- The name of the AutoScaling Group. If not set, a name will be generated.
- Project
Id string - The ID of the project the AutoScaling Group is associated with.
- Scaling
Policy Pulumiverse.Scaleway. Autoscaling. Inputs. Group Scaling Policy The scaling policy configuration.
The
scalingPolicyblock contains:- Status string
- The current status of the AutoScaling Group.
- List<string>
- The tags associated with the AutoScaling Group.
- Template
Id string - The ID of the Instance Template used to create instances in this group.
- Updated
At string - The last update timestamp of the AutoScaling Group.
- Zone string
- The zone in which the AutoScaling Group should be created.
- Created
At string - The creation timestamp of the AutoScaling Group.
- Load
Balancer GroupConfiguration Load Balancer Configuration Args The load balancer configuration.
Important: Due to current limitations, this block cannot be unset. To remove it once it has been set, the resource needs to be recreated.
The
loadBalancerConfigurationblock contains:- Name string
- The name of the AutoScaling Group. If not set, a name will be generated.
- Project
Id string - The ID of the project the AutoScaling Group is associated with.
- Scaling
Policy GroupScaling Policy Args The scaling policy configuration.
The
scalingPolicyblock contains:- Status string
- The current status of the AutoScaling Group.
- []string
- The tags associated with the AutoScaling Group.
- Template
Id string - The ID of the Instance Template used to create instances in this group.
- Updated
At string - The last update timestamp of the AutoScaling Group.
- Zone string
- The zone in which the AutoScaling Group should be created.
- created_
at string - The creation timestamp of the AutoScaling Group.
- load_
balancer_ objectconfiguration The load balancer configuration.
Important: Due to current limitations, this block cannot be unset. To remove it once it has been set, the resource needs to be recreated.
The
loadBalancerConfigurationblock contains:- name string
- The name of the AutoScaling Group. If not set, a name will be generated.
- project_
id string - The ID of the project the AutoScaling Group is associated with.
- scaling_
policy object The scaling policy configuration.
The
scalingPolicyblock contains:- status string
- The current status of the AutoScaling Group.
- list(string)
- The tags associated with the AutoScaling Group.
- template_
id string - The ID of the Instance Template used to create instances in this group.
- updated_
at string - The last update timestamp of the AutoScaling Group.
- zone string
- The zone in which the AutoScaling Group should be created.
- created
At String - The creation timestamp of the AutoScaling Group.
- load
Balancer GroupConfiguration Load Balancer Configuration The load balancer configuration.
Important: Due to current limitations, this block cannot be unset. To remove it once it has been set, the resource needs to be recreated.
The
loadBalancerConfigurationblock contains:- name String
- The name of the AutoScaling Group. If not set, a name will be generated.
- project
Id String - The ID of the project the AutoScaling Group is associated with.
- scaling
Policy GroupScaling Policy The scaling policy configuration.
The
scalingPolicyblock contains:- status String
- The current status of the AutoScaling Group.
- List<String>
- The tags associated with the AutoScaling Group.
- template
Id String - The ID of the Instance Template used to create instances in this group.
- updated
At String - The last update timestamp of the AutoScaling Group.
- zone String
- The zone in which the AutoScaling Group should be created.
- created
At string - The creation timestamp of the AutoScaling Group.
- load
Balancer GroupConfiguration Load Balancer Configuration The load balancer configuration.
Important: Due to current limitations, this block cannot be unset. To remove it once it has been set, the resource needs to be recreated.
The
loadBalancerConfigurationblock contains:- name string
- The name of the AutoScaling Group. If not set, a name will be generated.
- project
Id string - The ID of the project the AutoScaling Group is associated with.
- scaling
Policy GroupScaling Policy The scaling policy configuration.
The
scalingPolicyblock contains:- status string
- The current status of the AutoScaling Group.
- string[]
- The tags associated with the AutoScaling Group.
- template
Id string - The ID of the Instance Template used to create instances in this group.
- updated
At string - The last update timestamp of the AutoScaling Group.
- zone string
- The zone in which the AutoScaling Group should be created.
- created_
at str - The creation timestamp of the AutoScaling Group.
- load_
balancer_ Groupconfiguration Load Balancer Configuration Args The load balancer configuration.
Important: Due to current limitations, this block cannot be unset. To remove it once it has been set, the resource needs to be recreated.
The
loadBalancerConfigurationblock contains:- name str
- The name of the AutoScaling Group. If not set, a name will be generated.
- project_
id str - The ID of the project the AutoScaling Group is associated with.
- scaling_
policy GroupScaling Policy Args The scaling policy configuration.
The
scalingPolicyblock contains:- status str
- The current status of the AutoScaling Group.
- Sequence[str]
- The tags associated with the AutoScaling Group.
- template_
id str - The ID of the Instance Template used to create instances in this group.
- updated_
at str - The last update timestamp of the AutoScaling Group.
- zone str
- The zone in which the AutoScaling Group should be created.
- created
At String - The creation timestamp of the AutoScaling Group.
- load
Balancer Property MapConfiguration The load balancer configuration.
Important: Due to current limitations, this block cannot be unset. To remove it once it has been set, the resource needs to be recreated.
The
loadBalancerConfigurationblock contains:- name String
- The name of the AutoScaling Group. If not set, a name will be generated.
- project
Id String - The ID of the project the AutoScaling Group is associated with.
- scaling
Policy Property Map The scaling policy configuration.
The
scalingPolicyblock contains:- status String
- The current status of the AutoScaling Group.
- List<String>
- The tags associated with the AutoScaling Group.
- template
Id String - The ID of the Instance Template used to create instances in this group.
- updated
At String - The last update timestamp of the AutoScaling Group.
- zone String
- The zone in which the AutoScaling Group should be created.
Supporting Types
GroupLoadBalancerConfiguration, GroupLoadBalancerConfigurationArgs
- Backends
List<Pulumiverse.
Scaleway. Autoscaling. Inputs. Group Load Balancer Configuration Backend> The list of load balancer backend configurations.
The
backendsblock contains:- Load
Balancer stringId - The ID of the load balancer.
- Auto
Healing Pulumiverse.Scaleway. Autoscaling. Inputs. Group Load Balancer Configuration Auto Healing The auto-healing configuration.
The
autoHealingblock contains:
- Backends
[]Group
Load Balancer Configuration Backend The list of load balancer backend configurations.
The
backendsblock contains:- Load
Balancer stringId - The ID of the load balancer.
- Auto
Healing GroupLoad Balancer Configuration Auto Healing The auto-healing configuration.
The
autoHealingblock contains:
- backends list(object)
The list of load balancer backend configurations.
The
backendsblock contains:- load_
balancer_ stringid - The ID of the load balancer.
- auto_
healing object The auto-healing configuration.
The
autoHealingblock contains:
- backends
List<Group
Load Balancer Configuration Backend> The list of load balancer backend configurations.
The
backendsblock contains:- load
Balancer StringId - The ID of the load balancer.
- auto
Healing GroupLoad Balancer Configuration Auto Healing The auto-healing configuration.
The
autoHealingblock contains:
- backends
Group
Load Balancer Configuration Backend[] The list of load balancer backend configurations.
The
backendsblock contains:- load
Balancer stringId - The ID of the load balancer.
- auto
Healing GroupLoad Balancer Configuration Auto Healing The auto-healing configuration.
The
autoHealingblock contains:
- backends
Sequence[Group
Load Balancer Configuration Backend] The list of load balancer backend configurations.
The
backendsblock contains:- load_
balancer_ strid - The ID of the load balancer.
- auto_
healing GroupLoad Balancer Configuration Auto Healing The auto-healing configuration.
The
autoHealingblock contains:
- backends List<Property Map>
The list of load balancer backend configurations.
The
backendsblock contains:- load
Balancer StringId - The ID of the load balancer.
- auto
Healing Property Map The auto-healing configuration.
The
autoHealingblock contains:
GroupLoadBalancerConfigurationAutoHealing, GroupLoadBalancerConfigurationAutoHealingArgs
- Enabled bool
- Whether auto-healing is enabled.
- Grace
Period string - The grace period for health checks.
- Enabled bool
- Whether auto-healing is enabled.
- Grace
Period string - The grace period for health checks.
- enabled bool
- Whether auto-healing is enabled.
- grace_
period string - The grace period for health checks.
- enabled Boolean
- Whether auto-healing is enabled.
- grace
Period String - The grace period for health checks.
- enabled boolean
- Whether auto-healing is enabled.
- grace
Period string - The grace period for health checks.
- enabled bool
- Whether auto-healing is enabled.
- grace_
period str - The grace period for health checks.
- enabled Boolean
- Whether auto-healing is enabled.
- grace
Period String - The grace period for health checks.
GroupLoadBalancerConfigurationBackend, GroupLoadBalancerConfigurationBackendArgs
- Address
Family string - The IP address family (IPv4 or IPv6).
- Backend
Id string - The ID of the load balancer backend.
- Private
Network stringId - The ID of the private network.
- Address
Family string - The IP address family (IPv4 or IPv6).
- Backend
Id string - The ID of the load balancer backend.
- Private
Network stringId - The ID of the private network.
- address_
family string - The IP address family (IPv4 or IPv6).
- backend_
id string - The ID of the load balancer backend.
- private_
network_ stringid - The ID of the private network.
- address
Family String - The IP address family (IPv4 or IPv6).
- backend
Id String - The ID of the load balancer backend.
- private
Network StringId - The ID of the private network.
- address
Family string - The IP address family (IPv4 or IPv6).
- backend
Id string - The ID of the load balancer backend.
- private
Network stringId - The ID of the private network.
- address_
family str - The IP address family (IPv4 or IPv6).
- backend_
id str - The ID of the load balancer backend.
- private_
network_ strid - The ID of the private network.
- address
Family String - The IP address family (IPv4 or IPv6).
- backend
Id String - The ID of the load balancer backend.
- private
Network StringId - The ID of the private network.
GroupScalingPolicy, GroupScalingPolicyArgs
- Maximum
Size int - The maximum number of instances in the group.
- Minimum
Size int - The minimum number of instances in the group.
- Cpu
Target int - The target CPU utilization percentage to trigger scaling events.
- Fixed
Size int - The fixed number of instances for the group.
- Memory
Target int The target memory utilization percentage to trigger scaling events.
Important: Exactly one of
fixedSize,cpuTargetandmemoryTargetmust be defined.- Scale
In stringCooldown - The cooldown duration after a scale-in event.
- Scale
In intStep - The number of instances to remove during scale-in event.
- Scale
Out stringCooldown - The cooldown duration after a scale-out event.
- Scale
Out intStep - The number of instances to add during scale-out event.
- Maximum
Size int - The maximum number of instances in the group.
- Minimum
Size int - The minimum number of instances in the group.
- Cpu
Target int - The target CPU utilization percentage to trigger scaling events.
- Fixed
Size int - The fixed number of instances for the group.
- Memory
Target int The target memory utilization percentage to trigger scaling events.
Important: Exactly one of
fixedSize,cpuTargetandmemoryTargetmust be defined.- Scale
In stringCooldown - The cooldown duration after a scale-in event.
- Scale
In intStep - The number of instances to remove during scale-in event.
- Scale
Out stringCooldown - The cooldown duration after a scale-out event.
- Scale
Out intStep - The number of instances to add during scale-out event.
- maximum_
size number - The maximum number of instances in the group.
- minimum_
size number - The minimum number of instances in the group.
- cpu_
target number - The target CPU utilization percentage to trigger scaling events.
- fixed_
size number - The fixed number of instances for the group.
- memory_
target number The target memory utilization percentage to trigger scaling events.
Important: Exactly one of
fixedSize,cpuTargetandmemoryTargetmust be defined.- scale_
in_ stringcooldown - The cooldown duration after a scale-in event.
- scale_
in_ numberstep - The number of instances to remove during scale-in event.
- scale_
out_ stringcooldown - The cooldown duration after a scale-out event.
- scale_
out_ numberstep - The number of instances to add during scale-out event.
- maximum
Size Integer - The maximum number of instances in the group.
- minimum
Size Integer - The minimum number of instances in the group.
- cpu
Target Integer - The target CPU utilization percentage to trigger scaling events.
- fixed
Size Integer - The fixed number of instances for the group.
- memory
Target Integer The target memory utilization percentage to trigger scaling events.
Important: Exactly one of
fixedSize,cpuTargetandmemoryTargetmust be defined.- scale
In StringCooldown - The cooldown duration after a scale-in event.
- scale
In IntegerStep - The number of instances to remove during scale-in event.
- scale
Out StringCooldown - The cooldown duration after a scale-out event.
- scale
Out IntegerStep - The number of instances to add during scale-out event.
- maximum
Size number - The maximum number of instances in the group.
- minimum
Size number - The minimum number of instances in the group.
- cpu
Target number - The target CPU utilization percentage to trigger scaling events.
- fixed
Size number - The fixed number of instances for the group.
- memory
Target number The target memory utilization percentage to trigger scaling events.
Important: Exactly one of
fixedSize,cpuTargetandmemoryTargetmust be defined.- scale
In stringCooldown - The cooldown duration after a scale-in event.
- scale
In numberStep - The number of instances to remove during scale-in event.
- scale
Out stringCooldown - The cooldown duration after a scale-out event.
- scale
Out numberStep - The number of instances to add during scale-out event.
- maximum_
size int - The maximum number of instances in the group.
- minimum_
size int - The minimum number of instances in the group.
- cpu_
target int - The target CPU utilization percentage to trigger scaling events.
- fixed_
size int - The fixed number of instances for the group.
- memory_
target int The target memory utilization percentage to trigger scaling events.
Important: Exactly one of
fixedSize,cpuTargetandmemoryTargetmust be defined.- scale_
in_ strcooldown - The cooldown duration after a scale-in event.
- scale_
in_ intstep - The number of instances to remove during scale-in event.
- scale_
out_ strcooldown - The cooldown duration after a scale-out event.
- scale_
out_ intstep - The number of instances to add during scale-out event.
- maximum
Size Number - The maximum number of instances in the group.
- minimum
Size Number - The minimum number of instances in the group.
- cpu
Target Number - The target CPU utilization percentage to trigger scaling events.
- fixed
Size Number - The fixed number of instances for the group.
- memory
Target Number The target memory utilization percentage to trigger scaling events.
Important: Exactly one of
fixedSize,cpuTargetandmemoryTargetmust be defined.- scale
In StringCooldown - The cooldown duration after a scale-in event.
- scale
In NumberStep - The number of instances to remove during scale-in event.
- scale
Out StringCooldown - The cooldown duration after a scale-out event.
- scale
Out NumberStep - The number of instances to add during scale-out event.
Import
AutoScaling Groups can be imported using their id:
$ pulumi import scaleway:autoscaling/group:Group main <group_id>
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- scaleway pulumiverse/pulumi-scaleway
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
scalewayTerraform Provider.
published on Wednesday, Sep 9, 2026 by pulumiverse