1. Packages
  2. Ionoscloud
  3. API Docs
  4. autoscaling
  5. Group
IonosCloud v0.2.2 published on Monday, May 12, 2025 by ionos-cloud

ionoscloud.autoscaling.Group

Explore with Pulumi AI

ionoscloud logo
IonosCloud v0.2.2 published on Monday, May 12, 2025 by ionos-cloud

    Manages an Autoscaling Group on IonosCloud.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as ionoscloud from "@ionos-cloud/sdk-pulumi";
    import * as random from "@pulumi/random";
    
    const datacenterExample = new ionoscloud.compute.Datacenter("datacenter_example", {
        name: "datacenter_example",
        location: "de/fra",
    });
    const lanExample1 = new ionoscloud.compute.Lan("lan_example_1", {
        datacenterId: datacenterExample.id,
        "public": false,
        name: "lan_example_1",
    });
    const lanExample2 = new ionoscloud.compute.Lan("lan_example_2", {
        datacenterId: datacenterExample.id,
        "public": false,
        name: "lan_example_2",
    });
    const autoscalingTargetGroup = new ionoscloud.compute.TargetGroup("autoscaling_target_group", {
        name: "Target Group Example",
        algorithm: "ROUND_ROBIN",
        protocol: "HTTP",
    });
    const serverImagePassword = new random.index.Password("server_image_password", {
        length: 16,
        special: false,
    });
    const autoscalingGroupExample = new ionoscloud.autoscaling.Group("autoscaling_group_example", {
        datacenterId: datacenterExample.id,
        maxReplicaCount: 2,
        minReplicaCount: 1,
        name: "autoscaling_group_example",
        policy: {
            metric: "INSTANCE_CPU_UTILIZATION_AVERAGE",
            range: "PT24H",
            scaleInAction: {
                amount: 1,
                amountType: "ABSOLUTE",
                terminationPolicyType: "OLDEST_SERVER_FIRST",
                cooldownPeriod: "PT5M",
                deleteVolumes: true,
            },
            scaleInThreshold: 33,
            scaleOutAction: {
                amount: 1,
                amountType: "ABSOLUTE",
                cooldownPeriod: "PT5M",
            },
            scaleOutThreshold: 77,
            unit: "PER_HOUR",
        },
        replicaConfiguration: {
            availabilityZone: "AUTO",
            cores: 2,
            cpuFamily: "INTEL_SKYLAKE",
            ram: 2048,
            nics: [
                {
                    lan: lanExample1.id,
                    name: "nic_example_1",
                    dhcp: true,
                },
                {
                    lan: lanExample2.id,
                    name: "nic_example_2",
                    dhcp: true,
                    firewallActive: true,
                    firewallType: "INGRESS",
                    firewallRules: [{
                        name: "rule_1",
                        protocol: "TCP",
                        portRangeStart: 1,
                        portRangeEnd: 1000,
                        type: "INGRESS",
                    }],
                    flowLogs: [{
                        name: "flow_log_1",
                        bucket: "test-de-bucket",
                        action: "ALL",
                        direction: "BIDIRECTIONAL",
                    }],
                    targetGroup: {
                        targetGroupId: autoscalingTargetGroup.id,
                        port: 80,
                        weight: 50,
                    },
                },
            ],
            volumes: [{
                imageAlias: "ubuntu:latest",
                name: "volume_example",
                size: 10,
                type: "HDD",
                userData: "ZWNobyAiSGVsbG8sIFdvcmxkIgo=",
                imagePassword: serverImagePassword.result,
                bootOrder: "AUTO",
            }],
        },
    });
    
    import pulumi
    import pulumi_ionoscloud as ionoscloud
    import pulumi_random as random
    
    datacenter_example = ionoscloud.compute.Datacenter("datacenter_example",
        name="datacenter_example",
        location="de/fra")
    lan_example1 = ionoscloud.compute.Lan("lan_example_1",
        datacenter_id=datacenter_example.id,
        public=False,
        name="lan_example_1")
    lan_example2 = ionoscloud.compute.Lan("lan_example_2",
        datacenter_id=datacenter_example.id,
        public=False,
        name="lan_example_2")
    autoscaling_target_group = ionoscloud.compute.TargetGroup("autoscaling_target_group",
        name="Target Group Example",
        algorithm="ROUND_ROBIN",
        protocol="HTTP")
    server_image_password = random.index.Password("server_image_password",
        length=16,
        special=False)
    autoscaling_group_example = ionoscloud.autoscaling.Group("autoscaling_group_example",
        datacenter_id=datacenter_example.id,
        max_replica_count=2,
        min_replica_count=1,
        name="autoscaling_group_example",
        policy={
            "metric": "INSTANCE_CPU_UTILIZATION_AVERAGE",
            "range": "PT24H",
            "scale_in_action": {
                "amount": 1,
                "amount_type": "ABSOLUTE",
                "termination_policy_type": "OLDEST_SERVER_FIRST",
                "cooldown_period": "PT5M",
                "delete_volumes": True,
            },
            "scale_in_threshold": 33,
            "scale_out_action": {
                "amount": 1,
                "amount_type": "ABSOLUTE",
                "cooldown_period": "PT5M",
            },
            "scale_out_threshold": 77,
            "unit": "PER_HOUR",
        },
        replica_configuration={
            "availability_zone": "AUTO",
            "cores": 2,
            "cpu_family": "INTEL_SKYLAKE",
            "ram": 2048,
            "nics": [
                {
                    "lan": lan_example1.id,
                    "name": "nic_example_1",
                    "dhcp": True,
                },
                {
                    "lan": lan_example2.id,
                    "name": "nic_example_2",
                    "dhcp": True,
                    "firewall_active": True,
                    "firewall_type": "INGRESS",
                    "firewall_rules": [{
                        "name": "rule_1",
                        "protocol": "TCP",
                        "port_range_start": 1,
                        "port_range_end": 1000,
                        "type": "INGRESS",
                    }],
                    "flow_logs": [{
                        "name": "flow_log_1",
                        "bucket": "test-de-bucket",
                        "action": "ALL",
                        "direction": "BIDIRECTIONAL",
                    }],
                    "target_group": {
                        "target_group_id": autoscaling_target_group.id,
                        "port": 80,
                        "weight": 50,
                    },
                },
            ],
            "volumes": [{
                "image_alias": "ubuntu:latest",
                "name": "volume_example",
                "size": 10,
                "type": "HDD",
                "user_data": "ZWNobyAiSGVsbG8sIFdvcmxkIgo=",
                "image_password": server_image_password["result"],
                "boot_order": "AUTO",
            }],
        })
    
    package main
    
    import (
    	"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/autoscaling"
    	"github.com/ionos-cloud/pulumi-ionoscloud/sdk/go/ionoscloud/compute"
    	"github.com/pulumi/pulumi-random/sdk/go/random"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		datacenterExample, err := compute.NewDatacenter(ctx, "datacenter_example", &compute.DatacenterArgs{
    			Name:     pulumi.String("datacenter_example"),
    			Location: pulumi.String("de/fra"),
    		})
    		if err != nil {
    			return err
    		}
    		lanExample1, err := compute.NewLan(ctx, "lan_example_1", &compute.LanArgs{
    			DatacenterId: datacenterExample.ID(),
    			Public:       pulumi.Bool(false),
    			Name:         pulumi.String("lan_example_1"),
    		})
    		if err != nil {
    			return err
    		}
    		lanExample2, err := compute.NewLan(ctx, "lan_example_2", &compute.LanArgs{
    			DatacenterId: datacenterExample.ID(),
    			Public:       pulumi.Bool(false),
    			Name:         pulumi.String("lan_example_2"),
    		})
    		if err != nil {
    			return err
    		}
    		autoscalingTargetGroup, err := compute.NewTargetGroup(ctx, "autoscaling_target_group", &compute.TargetGroupArgs{
    			Name:      pulumi.String("Target Group Example"),
    			Algorithm: pulumi.String("ROUND_ROBIN"),
    			Protocol:  pulumi.String("HTTP"),
    		})
    		if err != nil {
    			return err
    		}
    		serverImagePassword, err := random.NewPassword(ctx, "server_image_password", &random.PasswordArgs{
    			Length:  16,
    			Special: false,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = autoscaling.NewGroup(ctx, "autoscaling_group_example", &autoscaling.GroupArgs{
    			DatacenterId:    datacenterExample.ID(),
    			MaxReplicaCount: pulumi.Int(2),
    			MinReplicaCount: pulumi.Int(1),
    			Name:            pulumi.String("autoscaling_group_example"),
    			Policy: &autoscaling.GroupPolicyArgs{
    				Metric: pulumi.String("INSTANCE_CPU_UTILIZATION_AVERAGE"),
    				Range:  pulumi.String("PT24H"),
    				ScaleInAction: &autoscaling.GroupPolicyScaleInActionArgs{
    					Amount:                pulumi.Int(1),
    					AmountType:            pulumi.String("ABSOLUTE"),
    					TerminationPolicyType: pulumi.String("OLDEST_SERVER_FIRST"),
    					CooldownPeriod:        pulumi.String("PT5M"),
    					DeleteVolumes:         pulumi.Bool(true),
    				},
    				ScaleInThreshold: pulumi.Int(33),
    				ScaleOutAction: &autoscaling.GroupPolicyScaleOutActionArgs{
    					Amount:         pulumi.Int(1),
    					AmountType:     pulumi.String("ABSOLUTE"),
    					CooldownPeriod: pulumi.String("PT5M"),
    				},
    				ScaleOutThreshold: pulumi.Int(77),
    				Unit:              pulumi.String("PER_HOUR"),
    			},
    			ReplicaConfiguration: &autoscaling.GroupReplicaConfigurationArgs{
    				AvailabilityZone: pulumi.String("AUTO"),
    				Cores:            pulumi.Int(2),
    				CpuFamily:        pulumi.String("INTEL_SKYLAKE"),
    				Ram:              pulumi.Int(2048),
    				Nics: autoscaling.GroupReplicaConfigurationNicArray{
    					&autoscaling.GroupReplicaConfigurationNicArgs{
    						Lan:  lanExample1.ID(),
    						Name: pulumi.String("nic_example_1"),
    						Dhcp: pulumi.Bool(true),
    					},
    					&autoscaling.GroupReplicaConfigurationNicArgs{
    						Lan:            lanExample2.ID(),
    						Name:           pulumi.String("nic_example_2"),
    						Dhcp:           pulumi.Bool(true),
    						FirewallActive: pulumi.Bool(true),
    						FirewallType:   pulumi.String("INGRESS"),
    						FirewallRules: autoscaling.GroupReplicaConfigurationNicFirewallRuleArray{
    							&autoscaling.GroupReplicaConfigurationNicFirewallRuleArgs{
    								Name:           pulumi.String("rule_1"),
    								Protocol:       pulumi.String("TCP"),
    								PortRangeStart: pulumi.Int(1),
    								PortRangeEnd:   pulumi.Int(1000),
    								Type:           pulumi.String("INGRESS"),
    							},
    						},
    						FlowLogs: autoscaling.GroupReplicaConfigurationNicFlowLogArray{
    							&autoscaling.GroupReplicaConfigurationNicFlowLogArgs{
    								Name:      pulumi.String("flow_log_1"),
    								Bucket:    pulumi.String("test-de-bucket"),
    								Action:    pulumi.String("ALL"),
    								Direction: pulumi.String("BIDIRECTIONAL"),
    							},
    						},
    						TargetGroup: &autoscaling.GroupReplicaConfigurationNicTargetGroupArgs{
    							TargetGroupId: autoscalingTargetGroup.ID(),
    							Port:          pulumi.Int(80),
    							Weight:        pulumi.Int(50),
    						},
    					},
    				},
    				Volumes: autoscaling.GroupReplicaConfigurationVolumeArray{
    					&autoscaling.GroupReplicaConfigurationVolumeArgs{
    						ImageAlias:    pulumi.String("ubuntu:latest"),
    						Name:          pulumi.String("volume_example"),
    						Size:          pulumi.Int(10),
    						Type:          pulumi.String("HDD"),
    						UserData:      pulumi.String("ZWNobyAiSGVsbG8sIFdvcmxkIgo="),
    						ImagePassword: serverImagePassword.Result,
    						BootOrder:     pulumi.String("AUTO"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Ionoscloud = Ionoscloud.Pulumi.Ionoscloud;
    using Random = Pulumi.Random;
    
    return await Deployment.RunAsync(() => 
    {
        var datacenterExample = new Ionoscloud.Compute.Datacenter("datacenter_example", new()
        {
            Name = "datacenter_example",
            Location = "de/fra",
        });
    
        var lanExample1 = new Ionoscloud.Compute.Lan("lan_example_1", new()
        {
            DatacenterId = datacenterExample.Id,
            Public = false,
            Name = "lan_example_1",
        });
    
        var lanExample2 = new Ionoscloud.Compute.Lan("lan_example_2", new()
        {
            DatacenterId = datacenterExample.Id,
            Public = false,
            Name = "lan_example_2",
        });
    
        var autoscalingTargetGroup = new Ionoscloud.Compute.TargetGroup("autoscaling_target_group", new()
        {
            Name = "Target Group Example",
            Algorithm = "ROUND_ROBIN",
            Protocol = "HTTP",
        });
    
        var serverImagePassword = new Random.Index.Password("server_image_password", new()
        {
            Length = 16,
            Special = false,
        });
    
        var autoscalingGroupExample = new Ionoscloud.Autoscaling.Group("autoscaling_group_example", new()
        {
            DatacenterId = datacenterExample.Id,
            MaxReplicaCount = 2,
            MinReplicaCount = 1,
            Name = "autoscaling_group_example",
            Policy = new Ionoscloud.Autoscaling.Inputs.GroupPolicyArgs
            {
                Metric = "INSTANCE_CPU_UTILIZATION_AVERAGE",
                Range = "PT24H",
                ScaleInAction = new Ionoscloud.Autoscaling.Inputs.GroupPolicyScaleInActionArgs
                {
                    Amount = 1,
                    AmountType = "ABSOLUTE",
                    TerminationPolicyType = "OLDEST_SERVER_FIRST",
                    CooldownPeriod = "PT5M",
                    DeleteVolumes = true,
                },
                ScaleInThreshold = 33,
                ScaleOutAction = new Ionoscloud.Autoscaling.Inputs.GroupPolicyScaleOutActionArgs
                {
                    Amount = 1,
                    AmountType = "ABSOLUTE",
                    CooldownPeriod = "PT5M",
                },
                ScaleOutThreshold = 77,
                Unit = "PER_HOUR",
            },
            ReplicaConfiguration = new Ionoscloud.Autoscaling.Inputs.GroupReplicaConfigurationArgs
            {
                AvailabilityZone = "AUTO",
                Cores = 2,
                CpuFamily = "INTEL_SKYLAKE",
                Ram = 2048,
                Nics = new[]
                {
                    new Ionoscloud.Autoscaling.Inputs.GroupReplicaConfigurationNicArgs
                    {
                        Lan = lanExample1.Id,
                        Name = "nic_example_1",
                        Dhcp = true,
                    },
                    new Ionoscloud.Autoscaling.Inputs.GroupReplicaConfigurationNicArgs
                    {
                        Lan = lanExample2.Id,
                        Name = "nic_example_2",
                        Dhcp = true,
                        FirewallActive = true,
                        FirewallType = "INGRESS",
                        FirewallRules = new[]
                        {
                            new Ionoscloud.Autoscaling.Inputs.GroupReplicaConfigurationNicFirewallRuleArgs
                            {
                                Name = "rule_1",
                                Protocol = "TCP",
                                PortRangeStart = 1,
                                PortRangeEnd = 1000,
                                Type = "INGRESS",
                            },
                        },
                        FlowLogs = new[]
                        {
                            new Ionoscloud.Autoscaling.Inputs.GroupReplicaConfigurationNicFlowLogArgs
                            {
                                Name = "flow_log_1",
                                Bucket = "test-de-bucket",
                                Action = "ALL",
                                Direction = "BIDIRECTIONAL",
                            },
                        },
                        TargetGroup = new Ionoscloud.Autoscaling.Inputs.GroupReplicaConfigurationNicTargetGroupArgs
                        {
                            TargetGroupId = autoscalingTargetGroup.Id,
                            Port = 80,
                            Weight = 50,
                        },
                    },
                },
                Volumes = new[]
                {
                    new Ionoscloud.Autoscaling.Inputs.GroupReplicaConfigurationVolumeArgs
                    {
                        ImageAlias = "ubuntu:latest",
                        Name = "volume_example",
                        Size = 10,
                        Type = "HDD",
                        UserData = "ZWNobyAiSGVsbG8sIFdvcmxkIgo=",
                        ImagePassword = serverImagePassword.Result,
                        BootOrder = "AUTO",
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.ionoscloud.compute.Datacenter;
    import com.pulumi.ionoscloud.compute.DatacenterArgs;
    import com.pulumi.ionoscloud.compute.Lan;
    import com.pulumi.ionoscloud.compute.LanArgs;
    import com.pulumi.ionoscloud.compute.TargetGroup;
    import com.pulumi.ionoscloud.compute.TargetGroupArgs;
    import com.pulumi.random.password;
    import com.pulumi.random.PasswordArgs;
    import com.pulumi.ionoscloud.autoscaling.Group;
    import com.pulumi.ionoscloud.autoscaling.GroupArgs;
    import com.pulumi.ionoscloud.autoscaling.inputs.GroupPolicyArgs;
    import com.pulumi.ionoscloud.autoscaling.inputs.GroupPolicyScaleInActionArgs;
    import com.pulumi.ionoscloud.autoscaling.inputs.GroupPolicyScaleOutActionArgs;
    import com.pulumi.ionoscloud.autoscaling.inputs.GroupReplicaConfigurationArgs;
    import java.util.List;
    import java.util.ArrayList;
    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 datacenterExample = new Datacenter("datacenterExample", DatacenterArgs.builder()
                .name("datacenter_example")
                .location("de/fra")
                .build());
    
            var lanExample1 = new Lan("lanExample1", LanArgs.builder()
                .datacenterId(datacenterExample.id())
                .public_(false)
                .name("lan_example_1")
                .build());
    
            var lanExample2 = new Lan("lanExample2", LanArgs.builder()
                .datacenterId(datacenterExample.id())
                .public_(false)
                .name("lan_example_2")
                .build());
    
            var autoscalingTargetGroup = new TargetGroup("autoscalingTargetGroup", TargetGroupArgs.builder()
                .name("Target Group Example")
                .algorithm("ROUND_ROBIN")
                .protocol("HTTP")
                .build());
    
            var serverImagePassword = new Password("serverImagePassword", PasswordArgs.builder()
                .length(16)
                .special(false)
                .build());
    
            var autoscalingGroupExample = new Group("autoscalingGroupExample", GroupArgs.builder()
                .datacenterId(datacenterExample.id())
                .maxReplicaCount(2)
                .minReplicaCount(1)
                .name("autoscaling_group_example")
                .policy(GroupPolicyArgs.builder()
                    .metric("INSTANCE_CPU_UTILIZATION_AVERAGE")
                    .range("PT24H")
                    .scaleInAction(GroupPolicyScaleInActionArgs.builder()
                        .amount(1)
                        .amountType("ABSOLUTE")
                        .terminationPolicyType("OLDEST_SERVER_FIRST")
                        .cooldownPeriod("PT5M")
                        .deleteVolumes(true)
                        .build())
                    .scaleInThreshold(33)
                    .scaleOutAction(GroupPolicyScaleOutActionArgs.builder()
                        .amount(1)
                        .amountType("ABSOLUTE")
                        .cooldownPeriod("PT5M")
                        .build())
                    .scaleOutThreshold(77)
                    .unit("PER_HOUR")
                    .build())
                .replicaConfiguration(GroupReplicaConfigurationArgs.builder()
                    .availabilityZone("AUTO")
                    .cores("2")
                    .cpuFamily("INTEL_SKYLAKE")
                    .ram(2048)
                    .nics(                
                        GroupReplicaConfigurationNicArgs.builder()
                            .lan(lanExample1.id())
                            .name("nic_example_1")
                            .dhcp(true)
                            .build(),
                        GroupReplicaConfigurationNicArgs.builder()
                            .lan(lanExample2.id())
                            .name("nic_example_2")
                            .dhcp(true)
                            .firewallActive(true)
                            .firewallType("INGRESS")
                            .firewallRules(GroupReplicaConfigurationNicFirewallRuleArgs.builder()
                                .name("rule_1")
                                .protocol("TCP")
                                .portRangeStart(1)
                                .portRangeEnd(1000)
                                .type("INGRESS")
                                .build())
                            .flowLogs(GroupReplicaConfigurationNicFlowLogArgs.builder()
                                .name("flow_log_1")
                                .bucket("test-de-bucket")
                                .action("ALL")
                                .direction("BIDIRECTIONAL")
                                .build())
                            .targetGroup(GroupReplicaConfigurationNicTargetGroupArgs.builder()
                                .targetGroupId(autoscalingTargetGroup.id())
                                .port(80)
                                .weight(50)
                                .build())
                            .build())
                    .volumes(GroupReplicaConfigurationVolumeArgs.builder()
                        .imageAlias("ubuntu:latest")
                        .name("volume_example")
                        .size(10)
                        .type("HDD")
                        .userData("ZWNobyAiSGVsbG8sIFdvcmxkIgo=")
                        .imagePassword(serverImagePassword.result())
                        .bootOrder("AUTO")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      datacenterExample:
        type: ionoscloud:compute:Datacenter
        name: datacenter_example
        properties:
          name: datacenter_example
          location: de/fra
      lanExample1:
        type: ionoscloud:compute:Lan
        name: lan_example_1
        properties:
          datacenterId: ${datacenterExample.id}
          public: false
          name: lan_example_1
      lanExample2:
        type: ionoscloud:compute:Lan
        name: lan_example_2
        properties:
          datacenterId: ${datacenterExample.id}
          public: false
          name: lan_example_2
      autoscalingTargetGroup:
        type: ionoscloud:compute:TargetGroup
        name: autoscaling_target_group
        properties:
          name: Target Group Example
          algorithm: ROUND_ROBIN
          protocol: HTTP
      autoscalingGroupExample:
        type: ionoscloud:autoscaling:Group
        name: autoscaling_group_example
        properties:
          datacenterId: ${datacenterExample.id}
          maxReplicaCount: 2
          minReplicaCount: 1
          name: autoscaling_group_example
          policy:
            metric: INSTANCE_CPU_UTILIZATION_AVERAGE
            range: PT24H
            scaleInAction:
              amount: 1
              amountType: ABSOLUTE
              terminationPolicyType: OLDEST_SERVER_FIRST
              cooldownPeriod: PT5M
              deleteVolumes: true
            scaleInThreshold: 33
            scaleOutAction:
              amount: 1
              amountType: ABSOLUTE
              cooldownPeriod: PT5M
            scaleOutThreshold: 77
            unit: PER_HOUR
          replicaConfiguration:
            availabilityZone: AUTO
            cores: '2'
            cpuFamily: INTEL_SKYLAKE
            ram: 2048
            nics:
              - lan: ${lanExample1.id}
                name: nic_example_1
                dhcp: true
              - lan: ${lanExample2.id}
                name: nic_example_2
                dhcp: true
                firewallActive: true
                firewallType: INGRESS
                firewallRules:
                  - name: rule_1
                    protocol: TCP
                    portRangeStart: 1
                    portRangeEnd: 1000
                    type: INGRESS
                flowLogs:
                  - name: flow_log_1
                    bucket: test-de-bucket
                    action: ALL
                    direction: BIDIRECTIONAL
                targetGroup:
                  targetGroupId: ${autoscalingTargetGroup.id}
                  port: 80
                  weight: 50
            volumes:
              - imageAlias: ubuntu:latest
                name: volume_example
                size: 10
                type: HDD
                userData: ZWNobyAiSGVsbG8sIFdvcmxkIgo=
                imagePassword: ${serverImagePassword.result}
                bootOrder: AUTO
      serverImagePassword:
        type: random:password
        name: server_image_password
        properties:
          length: 16
          special: false
    

    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,
              datacenter_id: Optional[str] = None,
              max_replica_count: Optional[int] = None,
              min_replica_count: Optional[int] = None,
              policy: Optional[GroupPolicyArgs] = None,
              replica_configuration: Optional[GroupReplicaConfigurationArgs] = None,
              name: Optional[str] = None)
    func NewGroup(ctx *Context, name string, args GroupArgs, opts ...ResourceOption) (*Group, error)
    public Group(string name, GroupArgs args, CustomResourceOptions? opts = null)
    public Group(String name, GroupArgs args)
    public Group(String name, GroupArgs args, CustomResourceOptions options)
    
    type: ionoscloud:autoscaling:Group
    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 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 Ionoscloud.Autoscaling.Group("groupResource", new()
    {
        DatacenterId = "string",
        MaxReplicaCount = 0,
        MinReplicaCount = 0,
        Policy = new Ionoscloud.Autoscaling.Inputs.GroupPolicyArgs
        {
            Metric = "string",
            ScaleInAction = new Ionoscloud.Autoscaling.Inputs.GroupPolicyScaleInActionArgs
            {
                Amount = 0,
                AmountType = "string",
                DeleteVolumes = false,
                CooldownPeriod = "string",
                TerminationPolicyType = "string",
            },
            ScaleInThreshold = 0,
            ScaleOutAction = new Ionoscloud.Autoscaling.Inputs.GroupPolicyScaleOutActionArgs
            {
                Amount = 0,
                AmountType = "string",
                CooldownPeriod = "string",
            },
            ScaleOutThreshold = 0,
            Unit = "string",
            Range = "string",
        },
        ReplicaConfiguration = new Ionoscloud.Autoscaling.Inputs.GroupReplicaConfigurationArgs
        {
            AvailabilityZone = "string",
            Cores = 0,
            Ram = 0,
            CpuFamily = "string",
            Nics = new[]
            {
                new Ionoscloud.Autoscaling.Inputs.GroupReplicaConfigurationNicArgs
                {
                    Lan = 0,
                    Name = "string",
                    Dhcp = false,
                    FirewallActive = false,
                    FirewallRules = new[]
                    {
                        new Ionoscloud.Autoscaling.Inputs.GroupReplicaConfigurationNicFirewallRuleArgs
                        {
                            Protocol = "string",
                            IcmpCode = 0,
                            IcmpType = 0,
                            Name = "string",
                            PortRangeEnd = 0,
                            PortRangeStart = 0,
                            SourceIp = "string",
                            SourceMac = "string",
                            TargetIp = "string",
                            Type = "string",
                        },
                    },
                    FirewallType = "string",
                    FlowLogs = new[]
                    {
                        new Ionoscloud.Autoscaling.Inputs.GroupReplicaConfigurationNicFlowLogArgs
                        {
                            Action = "string",
                            Bucket = "string",
                            Direction = "string",
                            Name = "string",
                            Id = "string",
                        },
                    },
                    TargetGroup = new Ionoscloud.Autoscaling.Inputs.GroupReplicaConfigurationNicTargetGroupArgs
                    {
                        Port = 0,
                        TargetGroupId = "string",
                        Weight = 0,
                    },
                },
            },
            Volumes = new[]
            {
                new Ionoscloud.Autoscaling.Inputs.GroupReplicaConfigurationVolumeArgs
                {
                    BootOrder = "string",
                    Name = "string",
                    Size = 0,
                    Type = "string",
                    BackupUnitId = "string",
                    Bus = "string",
                    Image = "string",
                    ImageAlias = "string",
                    ImagePassword = "string",
                    SshKeys = new[]
                    {
                        "string",
                    },
                    UserData = "string",
                },
            },
        },
        Name = "string",
    });
    
    example, err := autoscaling.NewGroup(ctx, "groupResource", &autoscaling.GroupArgs{
    	DatacenterId:    pulumi.String("string"),
    	MaxReplicaCount: pulumi.Int(0),
    	MinReplicaCount: pulumi.Int(0),
    	Policy: &autoscaling.GroupPolicyArgs{
    		Metric: pulumi.String("string"),
    		ScaleInAction: &autoscaling.GroupPolicyScaleInActionArgs{
    			Amount:                pulumi.Int(0),
    			AmountType:            pulumi.String("string"),
    			DeleteVolumes:         pulumi.Bool(false),
    			CooldownPeriod:        pulumi.String("string"),
    			TerminationPolicyType: pulumi.String("string"),
    		},
    		ScaleInThreshold: pulumi.Int(0),
    		ScaleOutAction: &autoscaling.GroupPolicyScaleOutActionArgs{
    			Amount:         pulumi.Int(0),
    			AmountType:     pulumi.String("string"),
    			CooldownPeriod: pulumi.String("string"),
    		},
    		ScaleOutThreshold: pulumi.Int(0),
    		Unit:              pulumi.String("string"),
    		Range:             pulumi.String("string"),
    	},
    	ReplicaConfiguration: &autoscaling.GroupReplicaConfigurationArgs{
    		AvailabilityZone: pulumi.String("string"),
    		Cores:            pulumi.Int(0),
    		Ram:              pulumi.Int(0),
    		CpuFamily:        pulumi.String("string"),
    		Nics: autoscaling.GroupReplicaConfigurationNicArray{
    			&autoscaling.GroupReplicaConfigurationNicArgs{
    				Lan:            pulumi.Int(0),
    				Name:           pulumi.String("string"),
    				Dhcp:           pulumi.Bool(false),
    				FirewallActive: pulumi.Bool(false),
    				FirewallRules: autoscaling.GroupReplicaConfigurationNicFirewallRuleArray{
    					&autoscaling.GroupReplicaConfigurationNicFirewallRuleArgs{
    						Protocol:       pulumi.String("string"),
    						IcmpCode:       pulumi.Int(0),
    						IcmpType:       pulumi.Int(0),
    						Name:           pulumi.String("string"),
    						PortRangeEnd:   pulumi.Int(0),
    						PortRangeStart: pulumi.Int(0),
    						SourceIp:       pulumi.String("string"),
    						SourceMac:      pulumi.String("string"),
    						TargetIp:       pulumi.String("string"),
    						Type:           pulumi.String("string"),
    					},
    				},
    				FirewallType: pulumi.String("string"),
    				FlowLogs: autoscaling.GroupReplicaConfigurationNicFlowLogArray{
    					&autoscaling.GroupReplicaConfigurationNicFlowLogArgs{
    						Action:    pulumi.String("string"),
    						Bucket:    pulumi.String("string"),
    						Direction: pulumi.String("string"),
    						Name:      pulumi.String("string"),
    						Id:        pulumi.String("string"),
    					},
    				},
    				TargetGroup: &autoscaling.GroupReplicaConfigurationNicTargetGroupArgs{
    					Port:          pulumi.Int(0),
    					TargetGroupId: pulumi.String("string"),
    					Weight:        pulumi.Int(0),
    				},
    			},
    		},
    		Volumes: autoscaling.GroupReplicaConfigurationVolumeArray{
    			&autoscaling.GroupReplicaConfigurationVolumeArgs{
    				BootOrder:     pulumi.String("string"),
    				Name:          pulumi.String("string"),
    				Size:          pulumi.Int(0),
    				Type:          pulumi.String("string"),
    				BackupUnitId:  pulumi.String("string"),
    				Bus:           pulumi.String("string"),
    				Image:         pulumi.String("string"),
    				ImageAlias:    pulumi.String("string"),
    				ImagePassword: pulumi.String("string"),
    				SshKeys: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				UserData: pulumi.String("string"),
    			},
    		},
    	},
    	Name: pulumi.String("string"),
    })
    
    var groupResource = new com.ionoscloud.pulumi.ionoscloud.autoscaling.Group("groupResource", com.ionoscloud.pulumi.ionoscloud.autoscaling.GroupArgs.builder()
        .datacenterId("string")
        .maxReplicaCount(0)
        .minReplicaCount(0)
        .policy(GroupPolicyArgs.builder()
            .metric("string")
            .scaleInAction(GroupPolicyScaleInActionArgs.builder()
                .amount(0)
                .amountType("string")
                .deleteVolumes(false)
                .cooldownPeriod("string")
                .terminationPolicyType("string")
                .build())
            .scaleInThreshold(0)
            .scaleOutAction(GroupPolicyScaleOutActionArgs.builder()
                .amount(0)
                .amountType("string")
                .cooldownPeriod("string")
                .build())
            .scaleOutThreshold(0)
            .unit("string")
            .range("string")
            .build())
        .replicaConfiguration(GroupReplicaConfigurationArgs.builder()
            .availabilityZone("string")
            .cores(0)
            .ram(0)
            .cpuFamily("string")
            .nics(GroupReplicaConfigurationNicArgs.builder()
                .lan(0)
                .name("string")
                .dhcp(false)
                .firewallActive(false)
                .firewallRules(GroupReplicaConfigurationNicFirewallRuleArgs.builder()
                    .protocol("string")
                    .icmpCode(0)
                    .icmpType(0)
                    .name("string")
                    .portRangeEnd(0)
                    .portRangeStart(0)
                    .sourceIp("string")
                    .sourceMac("string")
                    .targetIp("string")
                    .type("string")
                    .build())
                .firewallType("string")
                .flowLogs(GroupReplicaConfigurationNicFlowLogArgs.builder()
                    .action("string")
                    .bucket("string")
                    .direction("string")
                    .name("string")
                    .id("string")
                    .build())
                .targetGroup(GroupReplicaConfigurationNicTargetGroupArgs.builder()
                    .port(0)
                    .targetGroupId("string")
                    .weight(0)
                    .build())
                .build())
            .volumes(GroupReplicaConfigurationVolumeArgs.builder()
                .bootOrder("string")
                .name("string")
                .size(0)
                .type("string")
                .backupUnitId("string")
                .bus("string")
                .image("string")
                .imageAlias("string")
                .imagePassword("string")
                .sshKeys("string")
                .userData("string")
                .build())
            .build())
        .name("string")
        .build());
    
    group_resource = ionoscloud.autoscaling.Group("groupResource",
        datacenter_id="string",
        max_replica_count=0,
        min_replica_count=0,
        policy={
            "metric": "string",
            "scale_in_action": {
                "amount": 0,
                "amount_type": "string",
                "delete_volumes": False,
                "cooldown_period": "string",
                "termination_policy_type": "string",
            },
            "scale_in_threshold": 0,
            "scale_out_action": {
                "amount": 0,
                "amount_type": "string",
                "cooldown_period": "string",
            },
            "scale_out_threshold": 0,
            "unit": "string",
            "range": "string",
        },
        replica_configuration={
            "availability_zone": "string",
            "cores": 0,
            "ram": 0,
            "cpu_family": "string",
            "nics": [{
                "lan": 0,
                "name": "string",
                "dhcp": False,
                "firewall_active": False,
                "firewall_rules": [{
                    "protocol": "string",
                    "icmp_code": 0,
                    "icmp_type": 0,
                    "name": "string",
                    "port_range_end": 0,
                    "port_range_start": 0,
                    "source_ip": "string",
                    "source_mac": "string",
                    "target_ip": "string",
                    "type": "string",
                }],
                "firewall_type": "string",
                "flow_logs": [{
                    "action": "string",
                    "bucket": "string",
                    "direction": "string",
                    "name": "string",
                    "id": "string",
                }],
                "target_group": {
                    "port": 0,
                    "target_group_id": "string",
                    "weight": 0,
                },
            }],
            "volumes": [{
                "boot_order": "string",
                "name": "string",
                "size": 0,
                "type": "string",
                "backup_unit_id": "string",
                "bus": "string",
                "image": "string",
                "image_alias": "string",
                "image_password": "string",
                "ssh_keys": ["string"],
                "user_data": "string",
            }],
        },
        name="string")
    
    const groupResource = new ionoscloud.autoscaling.Group("groupResource", {
        datacenterId: "string",
        maxReplicaCount: 0,
        minReplicaCount: 0,
        policy: {
            metric: "string",
            scaleInAction: {
                amount: 0,
                amountType: "string",
                deleteVolumes: false,
                cooldownPeriod: "string",
                terminationPolicyType: "string",
            },
            scaleInThreshold: 0,
            scaleOutAction: {
                amount: 0,
                amountType: "string",
                cooldownPeriod: "string",
            },
            scaleOutThreshold: 0,
            unit: "string",
            range: "string",
        },
        replicaConfiguration: {
            availabilityZone: "string",
            cores: 0,
            ram: 0,
            cpuFamily: "string",
            nics: [{
                lan: 0,
                name: "string",
                dhcp: false,
                firewallActive: false,
                firewallRules: [{
                    protocol: "string",
                    icmpCode: 0,
                    icmpType: 0,
                    name: "string",
                    portRangeEnd: 0,
                    portRangeStart: 0,
                    sourceIp: "string",
                    sourceMac: "string",
                    targetIp: "string",
                    type: "string",
                }],
                firewallType: "string",
                flowLogs: [{
                    action: "string",
                    bucket: "string",
                    direction: "string",
                    name: "string",
                    id: "string",
                }],
                targetGroup: {
                    port: 0,
                    targetGroupId: "string",
                    weight: 0,
                },
            }],
            volumes: [{
                bootOrder: "string",
                name: "string",
                size: 0,
                type: "string",
                backupUnitId: "string",
                bus: "string",
                image: "string",
                imageAlias: "string",
                imagePassword: "string",
                sshKeys: ["string"],
                userData: "string",
            }],
        },
        name: "string",
    });
    
    type: ionoscloud:autoscaling:Group
    properties:
        datacenterId: string
        maxReplicaCount: 0
        minReplicaCount: 0
        name: string
        policy:
            metric: string
            range: string
            scaleInAction:
                amount: 0
                amountType: string
                cooldownPeriod: string
                deleteVolumes: false
                terminationPolicyType: string
            scaleInThreshold: 0
            scaleOutAction:
                amount: 0
                amountType: string
                cooldownPeriod: string
            scaleOutThreshold: 0
            unit: string
        replicaConfiguration:
            availabilityZone: string
            cores: 0
            cpuFamily: string
            nics:
                - dhcp: false
                  firewallActive: false
                  firewallRules:
                    - icmpCode: 0
                      icmpType: 0
                      name: string
                      portRangeEnd: 0
                      portRangeStart: 0
                      protocol: string
                      sourceIp: string
                      sourceMac: string
                      targetIp: string
                      type: string
                  firewallType: string
                  flowLogs:
                    - action: string
                      bucket: string
                      direction: string
                      id: string
                      name: string
                  lan: 0
                  name: string
                  targetGroup:
                    port: 0
                    targetGroupId: string
                    weight: 0
            ram: 0
            volumes:
                - backupUnitId: string
                  bootOrder: string
                  bus: string
                  image: string
                  imageAlias: string
                  imagePassword: string
                  name: string
                  size: 0
                  sshKeys:
                    - string
                  type: string
                  userData: 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:

    DatacenterId string
    [string] Unique identifier for the resource
    MaxReplicaCount int
    [int] The maximum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    MinReplicaCount int
    [int] The minimum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    Policy Ionoscloud.GroupPolicy
    [List] Specifies the behavior of this Autoscaling Group. A policy consists of Triggers and Actions, whereby an Action is some kind of automated behavior, and a Trigger is defined by the circumstances under which the Action is triggered. Currently, two separate Actions, namely Scaling In and Out are supported, triggered through Thresholds defined on a given Metric.
    ReplicaConfiguration Ionoscloud.GroupReplicaConfiguration
    [List]
    Name string
    [string] User-defined name for the Autoscaling Group.
    DatacenterId string
    [string] Unique identifier for the resource
    MaxReplicaCount int
    [int] The maximum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    MinReplicaCount int
    [int] The minimum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    Policy GroupPolicyArgs
    [List] Specifies the behavior of this Autoscaling Group. A policy consists of Triggers and Actions, whereby an Action is some kind of automated behavior, and a Trigger is defined by the circumstances under which the Action is triggered. Currently, two separate Actions, namely Scaling In and Out are supported, triggered through Thresholds defined on a given Metric.
    ReplicaConfiguration GroupReplicaConfigurationArgs
    [List]
    Name string
    [string] User-defined name for the Autoscaling Group.
    datacenterId String
    [string] Unique identifier for the resource
    maxReplicaCount Integer
    [int] The maximum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    minReplicaCount Integer
    [int] The minimum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    policy GroupPolicy
    [List] Specifies the behavior of this Autoscaling Group. A policy consists of Triggers and Actions, whereby an Action is some kind of automated behavior, and a Trigger is defined by the circumstances under which the Action is triggered. Currently, two separate Actions, namely Scaling In and Out are supported, triggered through Thresholds defined on a given Metric.
    replicaConfiguration GroupReplicaConfiguration
    [List]
    name String
    [string] User-defined name for the Autoscaling Group.
    datacenterId string
    [string] Unique identifier for the resource
    maxReplicaCount number
    [int] The maximum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    minReplicaCount number
    [int] The minimum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    policy GroupPolicy
    [List] Specifies the behavior of this Autoscaling Group. A policy consists of Triggers and Actions, whereby an Action is some kind of automated behavior, and a Trigger is defined by the circumstances under which the Action is triggered. Currently, two separate Actions, namely Scaling In and Out are supported, triggered through Thresholds defined on a given Metric.
    replicaConfiguration GroupReplicaConfiguration
    [List]
    name string
    [string] User-defined name for the Autoscaling Group.
    datacenter_id str
    [string] Unique identifier for the resource
    max_replica_count int
    [int] The maximum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    min_replica_count int
    [int] The minimum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    policy GroupPolicyArgs
    [List] Specifies the behavior of this Autoscaling Group. A policy consists of Triggers and Actions, whereby an Action is some kind of automated behavior, and a Trigger is defined by the circumstances under which the Action is triggered. Currently, two separate Actions, namely Scaling In and Out are supported, triggered through Thresholds defined on a given Metric.
    replica_configuration GroupReplicaConfigurationArgs
    [List]
    name str
    [string] User-defined name for the Autoscaling Group.
    datacenterId String
    [string] Unique identifier for the resource
    maxReplicaCount Number
    [int] The maximum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    minReplicaCount Number
    [int] The minimum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    policy Property Map
    [List] Specifies the behavior of this Autoscaling Group. A policy consists of Triggers and Actions, whereby an Action is some kind of automated behavior, and a Trigger is defined by the circumstances under which the Action is triggered. Currently, two separate Actions, namely Scaling In and Out are supported, triggered through Thresholds defined on a given Metric.
    replicaConfiguration Property Map
    [List]
    name String
    [string] User-defined name for the Autoscaling Group.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Location string
    Location of the data center.
    Id string
    The provider-assigned unique ID for this managed resource.
    Location string
    Location of the data center.
    id String
    The provider-assigned unique ID for this managed resource.
    location String
    Location of the data center.
    id string
    The provider-assigned unique ID for this managed resource.
    location string
    Location of the data center.
    id str
    The provider-assigned unique ID for this managed resource.
    location str
    Location of the data center.
    id String
    The provider-assigned unique ID for this managed resource.
    location String
    Location of the data center.

    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,
            datacenter_id: Optional[str] = None,
            location: Optional[str] = None,
            max_replica_count: Optional[int] = None,
            min_replica_count: Optional[int] = None,
            name: Optional[str] = None,
            policy: Optional[GroupPolicyArgs] = None,
            replica_configuration: Optional[GroupReplicaConfigurationArgs] = None) -> Group
    func 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: ionoscloud:autoscaling:Group    get:      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.
    The following state arguments are supported:
    DatacenterId string
    [string] Unique identifier for the resource
    Location string
    Location of the data center.
    MaxReplicaCount int
    [int] The maximum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    MinReplicaCount int
    [int] The minimum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    Name string
    [string] User-defined name for the Autoscaling Group.
    Policy Ionoscloud.GroupPolicy
    [List] Specifies the behavior of this Autoscaling Group. A policy consists of Triggers and Actions, whereby an Action is some kind of automated behavior, and a Trigger is defined by the circumstances under which the Action is triggered. Currently, two separate Actions, namely Scaling In and Out are supported, triggered through Thresholds defined on a given Metric.
    ReplicaConfiguration Ionoscloud.GroupReplicaConfiguration
    [List]
    DatacenterId string
    [string] Unique identifier for the resource
    Location string
    Location of the data center.
    MaxReplicaCount int
    [int] The maximum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    MinReplicaCount int
    [int] The minimum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    Name string
    [string] User-defined name for the Autoscaling Group.
    Policy GroupPolicyArgs
    [List] Specifies the behavior of this Autoscaling Group. A policy consists of Triggers and Actions, whereby an Action is some kind of automated behavior, and a Trigger is defined by the circumstances under which the Action is triggered. Currently, two separate Actions, namely Scaling In and Out are supported, triggered through Thresholds defined on a given Metric.
    ReplicaConfiguration GroupReplicaConfigurationArgs
    [List]
    datacenterId String
    [string] Unique identifier for the resource
    location String
    Location of the data center.
    maxReplicaCount Integer
    [int] The maximum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    minReplicaCount Integer
    [int] The minimum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    name String
    [string] User-defined name for the Autoscaling Group.
    policy GroupPolicy
    [List] Specifies the behavior of this Autoscaling Group. A policy consists of Triggers and Actions, whereby an Action is some kind of automated behavior, and a Trigger is defined by the circumstances under which the Action is triggered. Currently, two separate Actions, namely Scaling In and Out are supported, triggered through Thresholds defined on a given Metric.
    replicaConfiguration GroupReplicaConfiguration
    [List]
    datacenterId string
    [string] Unique identifier for the resource
    location string
    Location of the data center.
    maxReplicaCount number
    [int] The maximum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    minReplicaCount number
    [int] The minimum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    name string
    [string] User-defined name for the Autoscaling Group.
    policy GroupPolicy
    [List] Specifies the behavior of this Autoscaling Group. A policy consists of Triggers and Actions, whereby an Action is some kind of automated behavior, and a Trigger is defined by the circumstances under which the Action is triggered. Currently, two separate Actions, namely Scaling In and Out are supported, triggered through Thresholds defined on a given Metric.
    replicaConfiguration GroupReplicaConfiguration
    [List]
    datacenter_id str
    [string] Unique identifier for the resource
    location str
    Location of the data center.
    max_replica_count int
    [int] The maximum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    min_replica_count int
    [int] The minimum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    name str
    [string] User-defined name for the Autoscaling Group.
    policy GroupPolicyArgs
    [List] Specifies the behavior of this Autoscaling Group. A policy consists of Triggers and Actions, whereby an Action is some kind of automated behavior, and a Trigger is defined by the circumstances under which the Action is triggered. Currently, two separate Actions, namely Scaling In and Out are supported, triggered through Thresholds defined on a given Metric.
    replica_configuration GroupReplicaConfigurationArgs
    [List]
    datacenterId String
    [string] Unique identifier for the resource
    location String
    Location of the data center.
    maxReplicaCount Number
    [int] The maximum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    minReplicaCount Number
    [int] The minimum value for the number of replicas on a VM Auto Scaling Group. Must be >= 0 and <= 200. Will be enforced for both automatic and manual changes.
    name String
    [string] User-defined name for the Autoscaling Group.
    policy Property Map
    [List] Specifies the behavior of this Autoscaling Group. A policy consists of Triggers and Actions, whereby an Action is some kind of automated behavior, and a Trigger is defined by the circumstances under which the Action is triggered. Currently, two separate Actions, namely Scaling In and Out are supported, triggered through Thresholds defined on a given Metric.
    replicaConfiguration Property Map
    [List]

    Supporting Types

    GroupPolicy, GroupPolicyArgs

    Metric string
    [string] The Metric that should trigger the scaling actions. Metric values are checked at fixed intervals. Possible values: INSTANCE_CPU_UTILIZATION_AVERAGE, INSTANCE_NETWORK_IN_BYTES, INSTANCE_NETWORK_IN_PACKETS, INSTANCE_NETWORK_OUT_BYTES, INSTANCE_NETWORK_OUT_PACKETS
    ScaleInAction Ionoscloud.GroupPolicyScaleInAction
    [list] Specifies the action to take when the scaleInThreshold is exceeded. Hereby, scaling in is always about removing VMs that are currently associated with this autoscaling group. Default termination policy is OLDEST_SERVER_FIRST.
    ScaleInThreshold int
    [int] A lower threshold on the value of metric. Will be used with less than (<) operator. Exceeding this will start a Scale-In Action as specified by the scaleInAction property. The value must have a higher minimum delta to the scaleOutThreshold depending on the metric to avoid competitive actions at the same time.
    ScaleOutAction Ionoscloud.GroupPolicyScaleOutAction
    [list] Specifies the action to take when the scaleOutThreshold is exceeded. Hereby, scaling out is always about adding new VMs to this autoscaling group.
    ScaleOutThreshold int
    [int] The upper threshold for the value of the metric. Used with the greater than (>) operator. A scale-out action is triggered when this value is exceeded, specified by the scaleOutAction property. The value must have a lower minimum delta to the scaleInThreshold, depending on the metric, to avoid competing for actions simultaneously. If properties.policy.unit=TOTAL, a value >= 40 must be chosen.
    Unit string
    [string] Units of the applied Metric. Possible values are: PER_HOUR, PER_MINUTE, PER_SECOND, TOTAL.
    Range string
    [string] Defines the time range, for which the samples will be aggregated. Default is 120s. Note that when you set it to values like 5m the API will automatically transform it in PT5M, so the plan will show you a diff in state that should be ignored.
    Metric string
    [string] The Metric that should trigger the scaling actions. Metric values are checked at fixed intervals. Possible values: INSTANCE_CPU_UTILIZATION_AVERAGE, INSTANCE_NETWORK_IN_BYTES, INSTANCE_NETWORK_IN_PACKETS, INSTANCE_NETWORK_OUT_BYTES, INSTANCE_NETWORK_OUT_PACKETS
    ScaleInAction GroupPolicyScaleInAction
    [list] Specifies the action to take when the scaleInThreshold is exceeded. Hereby, scaling in is always about removing VMs that are currently associated with this autoscaling group. Default termination policy is OLDEST_SERVER_FIRST.
    ScaleInThreshold int
    [int] A lower threshold on the value of metric. Will be used with less than (<) operator. Exceeding this will start a Scale-In Action as specified by the scaleInAction property. The value must have a higher minimum delta to the scaleOutThreshold depending on the metric to avoid competitive actions at the same time.
    ScaleOutAction GroupPolicyScaleOutAction
    [list] Specifies the action to take when the scaleOutThreshold is exceeded. Hereby, scaling out is always about adding new VMs to this autoscaling group.
    ScaleOutThreshold int
    [int] The upper threshold for the value of the metric. Used with the greater than (>) operator. A scale-out action is triggered when this value is exceeded, specified by the scaleOutAction property. The value must have a lower minimum delta to the scaleInThreshold, depending on the metric, to avoid competing for actions simultaneously. If properties.policy.unit=TOTAL, a value >= 40 must be chosen.
    Unit string
    [string] Units of the applied Metric. Possible values are: PER_HOUR, PER_MINUTE, PER_SECOND, TOTAL.
    Range string
    [string] Defines the time range, for which the samples will be aggregated. Default is 120s. Note that when you set it to values like 5m the API will automatically transform it in PT5M, so the plan will show you a diff in state that should be ignored.
    metric String
    [string] The Metric that should trigger the scaling actions. Metric values are checked at fixed intervals. Possible values: INSTANCE_CPU_UTILIZATION_AVERAGE, INSTANCE_NETWORK_IN_BYTES, INSTANCE_NETWORK_IN_PACKETS, INSTANCE_NETWORK_OUT_BYTES, INSTANCE_NETWORK_OUT_PACKETS
    scaleInAction GroupPolicyScaleInAction
    [list] Specifies the action to take when the scaleInThreshold is exceeded. Hereby, scaling in is always about removing VMs that are currently associated with this autoscaling group. Default termination policy is OLDEST_SERVER_FIRST.
    scaleInThreshold Integer
    [int] A lower threshold on the value of metric. Will be used with less than (<) operator. Exceeding this will start a Scale-In Action as specified by the scaleInAction property. The value must have a higher minimum delta to the scaleOutThreshold depending on the metric to avoid competitive actions at the same time.
    scaleOutAction GroupPolicyScaleOutAction
    [list] Specifies the action to take when the scaleOutThreshold is exceeded. Hereby, scaling out is always about adding new VMs to this autoscaling group.
    scaleOutThreshold Integer
    [int] The upper threshold for the value of the metric. Used with the greater than (>) operator. A scale-out action is triggered when this value is exceeded, specified by the scaleOutAction property. The value must have a lower minimum delta to the scaleInThreshold, depending on the metric, to avoid competing for actions simultaneously. If properties.policy.unit=TOTAL, a value >= 40 must be chosen.
    unit String
    [string] Units of the applied Metric. Possible values are: PER_HOUR, PER_MINUTE, PER_SECOND, TOTAL.
    range String
    [string] Defines the time range, for which the samples will be aggregated. Default is 120s. Note that when you set it to values like 5m the API will automatically transform it in PT5M, so the plan will show you a diff in state that should be ignored.
    metric string
    [string] The Metric that should trigger the scaling actions. Metric values are checked at fixed intervals. Possible values: INSTANCE_CPU_UTILIZATION_AVERAGE, INSTANCE_NETWORK_IN_BYTES, INSTANCE_NETWORK_IN_PACKETS, INSTANCE_NETWORK_OUT_BYTES, INSTANCE_NETWORK_OUT_PACKETS
    scaleInAction GroupPolicyScaleInAction
    [list] Specifies the action to take when the scaleInThreshold is exceeded. Hereby, scaling in is always about removing VMs that are currently associated with this autoscaling group. Default termination policy is OLDEST_SERVER_FIRST.
    scaleInThreshold number
    [int] A lower threshold on the value of metric. Will be used with less than (<) operator. Exceeding this will start a Scale-In Action as specified by the scaleInAction property. The value must have a higher minimum delta to the scaleOutThreshold depending on the metric to avoid competitive actions at the same time.
    scaleOutAction GroupPolicyScaleOutAction
    [list] Specifies the action to take when the scaleOutThreshold is exceeded. Hereby, scaling out is always about adding new VMs to this autoscaling group.
    scaleOutThreshold number
    [int] The upper threshold for the value of the metric. Used with the greater than (>) operator. A scale-out action is triggered when this value is exceeded, specified by the scaleOutAction property. The value must have a lower minimum delta to the scaleInThreshold, depending on the metric, to avoid competing for actions simultaneously. If properties.policy.unit=TOTAL, a value >= 40 must be chosen.
    unit string
    [string] Units of the applied Metric. Possible values are: PER_HOUR, PER_MINUTE, PER_SECOND, TOTAL.
    range string
    [string] Defines the time range, for which the samples will be aggregated. Default is 120s. Note that when you set it to values like 5m the API will automatically transform it in PT5M, so the plan will show you a diff in state that should be ignored.
    metric str
    [string] The Metric that should trigger the scaling actions. Metric values are checked at fixed intervals. Possible values: INSTANCE_CPU_UTILIZATION_AVERAGE, INSTANCE_NETWORK_IN_BYTES, INSTANCE_NETWORK_IN_PACKETS, INSTANCE_NETWORK_OUT_BYTES, INSTANCE_NETWORK_OUT_PACKETS
    scale_in_action GroupPolicyScaleInAction
    [list] Specifies the action to take when the scaleInThreshold is exceeded. Hereby, scaling in is always about removing VMs that are currently associated with this autoscaling group. Default termination policy is OLDEST_SERVER_FIRST.
    scale_in_threshold int
    [int] A lower threshold on the value of metric. Will be used with less than (<) operator. Exceeding this will start a Scale-In Action as specified by the scaleInAction property. The value must have a higher minimum delta to the scaleOutThreshold depending on the metric to avoid competitive actions at the same time.
    scale_out_action GroupPolicyScaleOutAction
    [list] Specifies the action to take when the scaleOutThreshold is exceeded. Hereby, scaling out is always about adding new VMs to this autoscaling group.
    scale_out_threshold int
    [int] The upper threshold for the value of the metric. Used with the greater than (>) operator. A scale-out action is triggered when this value is exceeded, specified by the scaleOutAction property. The value must have a lower minimum delta to the scaleInThreshold, depending on the metric, to avoid competing for actions simultaneously. If properties.policy.unit=TOTAL, a value >= 40 must be chosen.
    unit str
    [string] Units of the applied Metric. Possible values are: PER_HOUR, PER_MINUTE, PER_SECOND, TOTAL.
    range str
    [string] Defines the time range, for which the samples will be aggregated. Default is 120s. Note that when you set it to values like 5m the API will automatically transform it in PT5M, so the plan will show you a diff in state that should be ignored.
    metric String
    [string] The Metric that should trigger the scaling actions. Metric values are checked at fixed intervals. Possible values: INSTANCE_CPU_UTILIZATION_AVERAGE, INSTANCE_NETWORK_IN_BYTES, INSTANCE_NETWORK_IN_PACKETS, INSTANCE_NETWORK_OUT_BYTES, INSTANCE_NETWORK_OUT_PACKETS
    scaleInAction Property Map
    [list] Specifies the action to take when the scaleInThreshold is exceeded. Hereby, scaling in is always about removing VMs that are currently associated with this autoscaling group. Default termination policy is OLDEST_SERVER_FIRST.
    scaleInThreshold Number
    [int] A lower threshold on the value of metric. Will be used with less than (<) operator. Exceeding this will start a Scale-In Action as specified by the scaleInAction property. The value must have a higher minimum delta to the scaleOutThreshold depending on the metric to avoid competitive actions at the same time.
    scaleOutAction Property Map
    [list] Specifies the action to take when the scaleOutThreshold is exceeded. Hereby, scaling out is always about adding new VMs to this autoscaling group.
    scaleOutThreshold Number
    [int] The upper threshold for the value of the metric. Used with the greater than (>) operator. A scale-out action is triggered when this value is exceeded, specified by the scaleOutAction property. The value must have a lower minimum delta to the scaleInThreshold, depending on the metric, to avoid competing for actions simultaneously. If properties.policy.unit=TOTAL, a value >= 40 must be chosen.
    unit String
    [string] Units of the applied Metric. Possible values are: PER_HOUR, PER_MINUTE, PER_SECOND, TOTAL.
    range String
    [string] Defines the time range, for which the samples will be aggregated. Default is 120s. Note that when you set it to values like 5m the API will automatically transform it in PT5M, so the plan will show you a diff in state that should be ignored.

    GroupPolicyScaleInAction, GroupPolicyScaleInActionArgs

    Amount int
    [int] When amountType == ABSOLUTE, this is the number of VMs removed in one step. When amountType == PERCENTAGE, this is a percentage value, which will be applied to the autoscaling group's current targetReplicaCount in order to derive the number of VMs that will be removed in one step. There will always be at least one VM removed. For SCALE_IN operation new volumes are NOT deleted after the server deletion.
    AmountType string
    [string] The type for the given amount. Possible values are: ABSOLUTE, PERCENTAGE.
    DeleteVolumes bool
    [bool] If set to true, when deleting a replica during scale in, any attached volume will also be deleted. When set to false, all volumes remain in the datacenter and must be deleted manually. Note that every scale-out creates new volumes. When they are not deleted, they will eventually use all of your contracts resource limits. At this point, scaling out would not be possible anymore.
    CooldownPeriod string
    [string] Minimum time to pass after this Scaling action has started, until the next Scaling action will be started. Additionally, if a Scaling action is currently in progress, no second Scaling action will be started for the same autoscaling group. Instead, the Metric will be re-evaluated after the current Scaling action is completed (either successfully or with failures). This is validated with a minimum value of 2 minutes and a maximum of 24 hours currently. Default value is 5 minutes if not given. Note that when you set it to values like 5m the API will automatically transform it in PT5M, so the plan will show you a diff in state that should be ignored.
    TerminationPolicyType string
    [string] The type of the termination policy for the autoscaling group so that a specific pattern is followed for Scaling-In replicas. Default termination policy is OLDEST_SERVER_FIRST. Possible values are: OLDEST_SERVER_FIRST, NEWEST_SERVER_FIRST, RANDOM
    Amount int
    [int] When amountType == ABSOLUTE, this is the number of VMs removed in one step. When amountType == PERCENTAGE, this is a percentage value, which will be applied to the autoscaling group's current targetReplicaCount in order to derive the number of VMs that will be removed in one step. There will always be at least one VM removed. For SCALE_IN operation new volumes are NOT deleted after the server deletion.
    AmountType string
    [string] The type for the given amount. Possible values are: ABSOLUTE, PERCENTAGE.
    DeleteVolumes bool
    [bool] If set to true, when deleting a replica during scale in, any attached volume will also be deleted. When set to false, all volumes remain in the datacenter and must be deleted manually. Note that every scale-out creates new volumes. When they are not deleted, they will eventually use all of your contracts resource limits. At this point, scaling out would not be possible anymore.
    CooldownPeriod string
    [string] Minimum time to pass after this Scaling action has started, until the next Scaling action will be started. Additionally, if a Scaling action is currently in progress, no second Scaling action will be started for the same autoscaling group. Instead, the Metric will be re-evaluated after the current Scaling action is completed (either successfully or with failures). This is validated with a minimum value of 2 minutes and a maximum of 24 hours currently. Default value is 5 minutes if not given. Note that when you set it to values like 5m the API will automatically transform it in PT5M, so the plan will show you a diff in state that should be ignored.
    TerminationPolicyType string
    [string] The type of the termination policy for the autoscaling group so that a specific pattern is followed for Scaling-In replicas. Default termination policy is OLDEST_SERVER_FIRST. Possible values are: OLDEST_SERVER_FIRST, NEWEST_SERVER_FIRST, RANDOM
    amount Integer
    [int] When amountType == ABSOLUTE, this is the number of VMs removed in one step. When amountType == PERCENTAGE, this is a percentage value, which will be applied to the autoscaling group's current targetReplicaCount in order to derive the number of VMs that will be removed in one step. There will always be at least one VM removed. For SCALE_IN operation new volumes are NOT deleted after the server deletion.
    amountType String
    [string] The type for the given amount. Possible values are: ABSOLUTE, PERCENTAGE.
    deleteVolumes Boolean
    [bool] If set to true, when deleting a replica during scale in, any attached volume will also be deleted. When set to false, all volumes remain in the datacenter and must be deleted manually. Note that every scale-out creates new volumes. When they are not deleted, they will eventually use all of your contracts resource limits. At this point, scaling out would not be possible anymore.
    cooldownPeriod String
    [string] Minimum time to pass after this Scaling action has started, until the next Scaling action will be started. Additionally, if a Scaling action is currently in progress, no second Scaling action will be started for the same autoscaling group. Instead, the Metric will be re-evaluated after the current Scaling action is completed (either successfully or with failures). This is validated with a minimum value of 2 minutes and a maximum of 24 hours currently. Default value is 5 minutes if not given. Note that when you set it to values like 5m the API will automatically transform it in PT5M, so the plan will show you a diff in state that should be ignored.
    terminationPolicyType String
    [string] The type of the termination policy for the autoscaling group so that a specific pattern is followed for Scaling-In replicas. Default termination policy is OLDEST_SERVER_FIRST. Possible values are: OLDEST_SERVER_FIRST, NEWEST_SERVER_FIRST, RANDOM
    amount number
    [int] When amountType == ABSOLUTE, this is the number of VMs removed in one step. When amountType == PERCENTAGE, this is a percentage value, which will be applied to the autoscaling group's current targetReplicaCount in order to derive the number of VMs that will be removed in one step. There will always be at least one VM removed. For SCALE_IN operation new volumes are NOT deleted after the server deletion.
    amountType string
    [string] The type for the given amount. Possible values are: ABSOLUTE, PERCENTAGE.
    deleteVolumes boolean
    [bool] If set to true, when deleting a replica during scale in, any attached volume will also be deleted. When set to false, all volumes remain in the datacenter and must be deleted manually. Note that every scale-out creates new volumes. When they are not deleted, they will eventually use all of your contracts resource limits. At this point, scaling out would not be possible anymore.
    cooldownPeriod string
    [string] Minimum time to pass after this Scaling action has started, until the next Scaling action will be started. Additionally, if a Scaling action is currently in progress, no second Scaling action will be started for the same autoscaling group. Instead, the Metric will be re-evaluated after the current Scaling action is completed (either successfully or with failures). This is validated with a minimum value of 2 minutes and a maximum of 24 hours currently. Default value is 5 minutes if not given. Note that when you set it to values like 5m the API will automatically transform it in PT5M, so the plan will show you a diff in state that should be ignored.
    terminationPolicyType string
    [string] The type of the termination policy for the autoscaling group so that a specific pattern is followed for Scaling-In replicas. Default termination policy is OLDEST_SERVER_FIRST. Possible values are: OLDEST_SERVER_FIRST, NEWEST_SERVER_FIRST, RANDOM
    amount int
    [int] When amountType == ABSOLUTE, this is the number of VMs removed in one step. When amountType == PERCENTAGE, this is a percentage value, which will be applied to the autoscaling group's current targetReplicaCount in order to derive the number of VMs that will be removed in one step. There will always be at least one VM removed. For SCALE_IN operation new volumes are NOT deleted after the server deletion.
    amount_type str
    [string] The type for the given amount. Possible values are: ABSOLUTE, PERCENTAGE.
    delete_volumes bool
    [bool] If set to true, when deleting a replica during scale in, any attached volume will also be deleted. When set to false, all volumes remain in the datacenter and must be deleted manually. Note that every scale-out creates new volumes. When they are not deleted, they will eventually use all of your contracts resource limits. At this point, scaling out would not be possible anymore.
    cooldown_period str
    [string] Minimum time to pass after this Scaling action has started, until the next Scaling action will be started. Additionally, if a Scaling action is currently in progress, no second Scaling action will be started for the same autoscaling group. Instead, the Metric will be re-evaluated after the current Scaling action is completed (either successfully or with failures). This is validated with a minimum value of 2 minutes and a maximum of 24 hours currently. Default value is 5 minutes if not given. Note that when you set it to values like 5m the API will automatically transform it in PT5M, so the plan will show you a diff in state that should be ignored.
    termination_policy_type str
    [string] The type of the termination policy for the autoscaling group so that a specific pattern is followed for Scaling-In replicas. Default termination policy is OLDEST_SERVER_FIRST. Possible values are: OLDEST_SERVER_FIRST, NEWEST_SERVER_FIRST, RANDOM
    amount Number
    [int] When amountType == ABSOLUTE, this is the number of VMs removed in one step. When amountType == PERCENTAGE, this is a percentage value, which will be applied to the autoscaling group's current targetReplicaCount in order to derive the number of VMs that will be removed in one step. There will always be at least one VM removed. For SCALE_IN operation new volumes are NOT deleted after the server deletion.
    amountType String
    [string] The type for the given amount. Possible values are: ABSOLUTE, PERCENTAGE.
    deleteVolumes Boolean
    [bool] If set to true, when deleting a replica during scale in, any attached volume will also be deleted. When set to false, all volumes remain in the datacenter and must be deleted manually. Note that every scale-out creates new volumes. When they are not deleted, they will eventually use all of your contracts resource limits. At this point, scaling out would not be possible anymore.
    cooldownPeriod String
    [string] Minimum time to pass after this Scaling action has started, until the next Scaling action will be started. Additionally, if a Scaling action is currently in progress, no second Scaling action will be started for the same autoscaling group. Instead, the Metric will be re-evaluated after the current Scaling action is completed (either successfully or with failures). This is validated with a minimum value of 2 minutes and a maximum of 24 hours currently. Default value is 5 minutes if not given. Note that when you set it to values like 5m the API will automatically transform it in PT5M, so the plan will show you a diff in state that should be ignored.
    terminationPolicyType String
    [string] The type of the termination policy for the autoscaling group so that a specific pattern is followed for Scaling-In replicas. Default termination policy is OLDEST_SERVER_FIRST. Possible values are: OLDEST_SERVER_FIRST, NEWEST_SERVER_FIRST, RANDOM

    GroupPolicyScaleOutAction, GroupPolicyScaleOutActionArgs

    Amount int
    [int] When amountType=ABSOLUTE specifies the absolute number of VMs that are added. The value must be between 1 to 10. amountType=PERCENTAGE specifies the percentage value that is applied to the current number of replicas of the VM Auto Scaling Group. The value must be between 1 to 200. At least one VM is always added.
    AmountType string
    [string] The type for the given amount. Possible values are: ABSOLUTE, PERCENTAGE.
    CooldownPeriod string
    [string] Minimum time to pass after this Scaling action has started, until the next Scaling action will be started. Additionally, if a Scaling action is currently in progress, no second Scaling action will be started for the same autoscaling group. Instead, the Metric will be re-evaluated after the current Scaling action is completed (either successfully or with failures). This is validated with a minimum value of 2 minutes and a maximum of 24 hours currently. Default value is 5 minutes if not given. Note that when you set it to values like 5m the API will automatically transform it in PT5M, so the plan will show you a diff in state that should be ignored.
    Amount int
    [int] When amountType=ABSOLUTE specifies the absolute number of VMs that are added. The value must be between 1 to 10. amountType=PERCENTAGE specifies the percentage value that is applied to the current number of replicas of the VM Auto Scaling Group. The value must be between 1 to 200. At least one VM is always added.
    AmountType string
    [string] The type for the given amount. Possible values are: ABSOLUTE, PERCENTAGE.
    CooldownPeriod string
    [string] Minimum time to pass after this Scaling action has started, until the next Scaling action will be started. Additionally, if a Scaling action is currently in progress, no second Scaling action will be started for the same autoscaling group. Instead, the Metric will be re-evaluated after the current Scaling action is completed (either successfully or with failures). This is validated with a minimum value of 2 minutes and a maximum of 24 hours currently. Default value is 5 minutes if not given. Note that when you set it to values like 5m the API will automatically transform it in PT5M, so the plan will show you a diff in state that should be ignored.
    amount Integer
    [int] When amountType=ABSOLUTE specifies the absolute number of VMs that are added. The value must be between 1 to 10. amountType=PERCENTAGE specifies the percentage value that is applied to the current number of replicas of the VM Auto Scaling Group. The value must be between 1 to 200. At least one VM is always added.
    amountType String
    [string] The type for the given amount. Possible values are: ABSOLUTE, PERCENTAGE.
    cooldownPeriod String
    [string] Minimum time to pass after this Scaling action has started, until the next Scaling action will be started. Additionally, if a Scaling action is currently in progress, no second Scaling action will be started for the same autoscaling group. Instead, the Metric will be re-evaluated after the current Scaling action is completed (either successfully or with failures). This is validated with a minimum value of 2 minutes and a maximum of 24 hours currently. Default value is 5 minutes if not given. Note that when you set it to values like 5m the API will automatically transform it in PT5M, so the plan will show you a diff in state that should be ignored.
    amount number
    [int] When amountType=ABSOLUTE specifies the absolute number of VMs that are added. The value must be between 1 to 10. amountType=PERCENTAGE specifies the percentage value that is applied to the current number of replicas of the VM Auto Scaling Group. The value must be between 1 to 200. At least one VM is always added.
    amountType string
    [string] The type for the given amount. Possible values are: ABSOLUTE, PERCENTAGE.
    cooldownPeriod string
    [string] Minimum time to pass after this Scaling action has started, until the next Scaling action will be started. Additionally, if a Scaling action is currently in progress, no second Scaling action will be started for the same autoscaling group. Instead, the Metric will be re-evaluated after the current Scaling action is completed (either successfully or with failures). This is validated with a minimum value of 2 minutes and a maximum of 24 hours currently. Default value is 5 minutes if not given. Note that when you set it to values like 5m the API will automatically transform it in PT5M, so the plan will show you a diff in state that should be ignored.
    amount int
    [int] When amountType=ABSOLUTE specifies the absolute number of VMs that are added. The value must be between 1 to 10. amountType=PERCENTAGE specifies the percentage value that is applied to the current number of replicas of the VM Auto Scaling Group. The value must be between 1 to 200. At least one VM is always added.
    amount_type str
    [string] The type for the given amount. Possible values are: ABSOLUTE, PERCENTAGE.
    cooldown_period str
    [string] Minimum time to pass after this Scaling action has started, until the next Scaling action will be started. Additionally, if a Scaling action is currently in progress, no second Scaling action will be started for the same autoscaling group. Instead, the Metric will be re-evaluated after the current Scaling action is completed (either successfully or with failures). This is validated with a minimum value of 2 minutes and a maximum of 24 hours currently. Default value is 5 minutes if not given. Note that when you set it to values like 5m the API will automatically transform it in PT5M, so the plan will show you a diff in state that should be ignored.
    amount Number
    [int] When amountType=ABSOLUTE specifies the absolute number of VMs that are added. The value must be between 1 to 10. amountType=PERCENTAGE specifies the percentage value that is applied to the current number of replicas of the VM Auto Scaling Group. The value must be between 1 to 200. At least one VM is always added.
    amountType String
    [string] The type for the given amount. Possible values are: ABSOLUTE, PERCENTAGE.
    cooldownPeriod String
    [string] Minimum time to pass after this Scaling action has started, until the next Scaling action will be started. Additionally, if a Scaling action is currently in progress, no second Scaling action will be started for the same autoscaling group. Instead, the Metric will be re-evaluated after the current Scaling action is completed (either successfully or with failures). This is validated with a minimum value of 2 minutes and a maximum of 24 hours currently. Default value is 5 minutes if not given. Note that when you set it to values like 5m the API will automatically transform it in PT5M, so the plan will show you a diff in state that should be ignored.

    GroupReplicaConfiguration, GroupReplicaConfigurationArgs

    AvailabilityZone string
    [string] The zone where the VMs are created using this configuration. Possible values are: AUTO, ZONE_1, ZONE_2.
    Cores int
    [int] The total number of cores for the VMs.
    Ram int
    [int] The amount of memory for the VMs in MB, e.g. 2048. Size must be specified in multiples of 256 MB with a minimum of 256 MB; however, if you set ramHotPlug to TRUE then you must use a minimum of 1024 MB. If you set the RAM size more than 240GB, then ramHotPlug will be set to FALSE and can not be set to TRUE unless RAM size not set to less than 240GB.
    CpuFamily string
    [string] PU family for the VMs created using this configuration. If null, the VM will be created with the default CPU family for the assigned location. Possible values are: INTEL_SKYLAKE, INTEL_XEON.
    Nics List<Ionoscloud.GroupReplicaConfigurationNic>
    Set of NICs associated with this Replica.
    Volumes List<Ionoscloud.GroupReplicaConfigurationVolume>
    [list] List of volumes associated with this Replica.
    AvailabilityZone string
    [string] The zone where the VMs are created using this configuration. Possible values are: AUTO, ZONE_1, ZONE_2.
    Cores int
    [int] The total number of cores for the VMs.
    Ram int
    [int] The amount of memory for the VMs in MB, e.g. 2048. Size must be specified in multiples of 256 MB with a minimum of 256 MB; however, if you set ramHotPlug to TRUE then you must use a minimum of 1024 MB. If you set the RAM size more than 240GB, then ramHotPlug will be set to FALSE and can not be set to TRUE unless RAM size not set to less than 240GB.
    CpuFamily string
    [string] PU family for the VMs created using this configuration. If null, the VM will be created with the default CPU family for the assigned location. Possible values are: INTEL_SKYLAKE, INTEL_XEON.
    Nics []GroupReplicaConfigurationNic
    Set of NICs associated with this Replica.
    Volumes []GroupReplicaConfigurationVolume
    [list] List of volumes associated with this Replica.
    availabilityZone String
    [string] The zone where the VMs are created using this configuration. Possible values are: AUTO, ZONE_1, ZONE_2.
    cores Integer
    [int] The total number of cores for the VMs.
    ram Integer
    [int] The amount of memory for the VMs in MB, e.g. 2048. Size must be specified in multiples of 256 MB with a minimum of 256 MB; however, if you set ramHotPlug to TRUE then you must use a minimum of 1024 MB. If you set the RAM size more than 240GB, then ramHotPlug will be set to FALSE and can not be set to TRUE unless RAM size not set to less than 240GB.
    cpuFamily String
    [string] PU family for the VMs created using this configuration. If null, the VM will be created with the default CPU family for the assigned location. Possible values are: INTEL_SKYLAKE, INTEL_XEON.
    nics List<GroupReplicaConfigurationNic>
    Set of NICs associated with this Replica.
    volumes List<GroupReplicaConfigurationVolume>
    [list] List of volumes associated with this Replica.
    availabilityZone string
    [string] The zone where the VMs are created using this configuration. Possible values are: AUTO, ZONE_1, ZONE_2.
    cores number
    [int] The total number of cores for the VMs.
    ram number
    [int] The amount of memory for the VMs in MB, e.g. 2048. Size must be specified in multiples of 256 MB with a minimum of 256 MB; however, if you set ramHotPlug to TRUE then you must use a minimum of 1024 MB. If you set the RAM size more than 240GB, then ramHotPlug will be set to FALSE and can not be set to TRUE unless RAM size not set to less than 240GB.
    cpuFamily string
    [string] PU family for the VMs created using this configuration. If null, the VM will be created with the default CPU family for the assigned location. Possible values are: INTEL_SKYLAKE, INTEL_XEON.
    nics GroupReplicaConfigurationNic[]
    Set of NICs associated with this Replica.
    volumes GroupReplicaConfigurationVolume[]
    [list] List of volumes associated with this Replica.
    availability_zone str
    [string] The zone where the VMs are created using this configuration. Possible values are: AUTO, ZONE_1, ZONE_2.
    cores int
    [int] The total number of cores for the VMs.
    ram int
    [int] The amount of memory for the VMs in MB, e.g. 2048. Size must be specified in multiples of 256 MB with a minimum of 256 MB; however, if you set ramHotPlug to TRUE then you must use a minimum of 1024 MB. If you set the RAM size more than 240GB, then ramHotPlug will be set to FALSE and can not be set to TRUE unless RAM size not set to less than 240GB.
    cpu_family str
    [string] PU family for the VMs created using this configuration. If null, the VM will be created with the default CPU family for the assigned location. Possible values are: INTEL_SKYLAKE, INTEL_XEON.
    nics Sequence[GroupReplicaConfigurationNic]
    Set of NICs associated with this Replica.
    volumes Sequence[GroupReplicaConfigurationVolume]
    [list] List of volumes associated with this Replica.
    availabilityZone String
    [string] The zone where the VMs are created using this configuration. Possible values are: AUTO, ZONE_1, ZONE_2.
    cores Number
    [int] The total number of cores for the VMs.
    ram Number
    [int] The amount of memory for the VMs in MB, e.g. 2048. Size must be specified in multiples of 256 MB with a minimum of 256 MB; however, if you set ramHotPlug to TRUE then you must use a minimum of 1024 MB. If you set the RAM size more than 240GB, then ramHotPlug will be set to FALSE and can not be set to TRUE unless RAM size not set to less than 240GB.
    cpuFamily String
    [string] PU family for the VMs created using this configuration. If null, the VM will be created with the default CPU family for the assigned location. Possible values are: INTEL_SKYLAKE, INTEL_XEON.
    nics List<Property Map>
    Set of NICs associated with this Replica.
    volumes List<Property Map>
    [list] List of volumes associated with this Replica.

    GroupReplicaConfigurationNic, GroupReplicaConfigurationNicArgs

    Lan int
    Lan ID for this replica Nic.
    Name string
    [string] User-defined name for the Autoscaling Group.
    Dhcp bool
    Dhcp flag for this replica Nic. This is an optional attribute with default value of 'true' if not given in the request payload or given as null.
    FirewallActive bool
    Activate or deactivate the firewall. By default, an active firewall without any defined rules will block all incoming network traffic except for the firewall rules that explicitly allows certain protocols, IP addresses and ports.
    FirewallRules List<Ionoscloud.GroupReplicaConfigurationNicFirewallRule>
    List of all firewall rules for the specified NIC.
    FirewallType string
    The type of firewall rules that will be allowed on the NIC. If not specified, the default INGRESS value is used.
    FlowLogs List<Ionoscloud.GroupReplicaConfigurationNicFlowLog>
    List of all flow logs for the specified NIC.
    TargetGroup Ionoscloud.GroupReplicaConfigurationNicTargetGroup
    In order to link VM to ALB, target group must be provided.
    Lan int
    Lan ID for this replica Nic.
    Name string
    [string] User-defined name for the Autoscaling Group.
    Dhcp bool
    Dhcp flag for this replica Nic. This is an optional attribute with default value of 'true' if not given in the request payload or given as null.
    FirewallActive bool
    Activate or deactivate the firewall. By default, an active firewall without any defined rules will block all incoming network traffic except for the firewall rules that explicitly allows certain protocols, IP addresses and ports.
    FirewallRules []GroupReplicaConfigurationNicFirewallRule
    List of all firewall rules for the specified NIC.
    FirewallType string
    The type of firewall rules that will be allowed on the NIC. If not specified, the default INGRESS value is used.
    FlowLogs []GroupReplicaConfigurationNicFlowLog
    List of all flow logs for the specified NIC.
    TargetGroup GroupReplicaConfigurationNicTargetGroup
    In order to link VM to ALB, target group must be provided.
    lan Integer
    Lan ID for this replica Nic.
    name String
    [string] User-defined name for the Autoscaling Group.
    dhcp Boolean
    Dhcp flag for this replica Nic. This is an optional attribute with default value of 'true' if not given in the request payload or given as null.
    firewallActive Boolean
    Activate or deactivate the firewall. By default, an active firewall without any defined rules will block all incoming network traffic except for the firewall rules that explicitly allows certain protocols, IP addresses and ports.
    firewallRules List<GroupReplicaConfigurationNicFirewallRule>
    List of all firewall rules for the specified NIC.
    firewallType String
    The type of firewall rules that will be allowed on the NIC. If not specified, the default INGRESS value is used.
    flowLogs List<GroupReplicaConfigurationNicFlowLog>
    List of all flow logs for the specified NIC.
    targetGroup GroupReplicaConfigurationNicTargetGroup
    In order to link VM to ALB, target group must be provided.
    lan number
    Lan ID for this replica Nic.
    name string
    [string] User-defined name for the Autoscaling Group.
    dhcp boolean
    Dhcp flag for this replica Nic. This is an optional attribute with default value of 'true' if not given in the request payload or given as null.
    firewallActive boolean
    Activate or deactivate the firewall. By default, an active firewall without any defined rules will block all incoming network traffic except for the firewall rules that explicitly allows certain protocols, IP addresses and ports.
    firewallRules GroupReplicaConfigurationNicFirewallRule[]
    List of all firewall rules for the specified NIC.
    firewallType string
    The type of firewall rules that will be allowed on the NIC. If not specified, the default INGRESS value is used.
    flowLogs GroupReplicaConfigurationNicFlowLog[]
    List of all flow logs for the specified NIC.
    targetGroup GroupReplicaConfigurationNicTargetGroup
    In order to link VM to ALB, target group must be provided.
    lan int
    Lan ID for this replica Nic.
    name str
    [string] User-defined name for the Autoscaling Group.
    dhcp bool
    Dhcp flag for this replica Nic. This is an optional attribute with default value of 'true' if not given in the request payload or given as null.
    firewall_active bool
    Activate or deactivate the firewall. By default, an active firewall without any defined rules will block all incoming network traffic except for the firewall rules that explicitly allows certain protocols, IP addresses and ports.
    firewall_rules Sequence[GroupReplicaConfigurationNicFirewallRule]
    List of all firewall rules for the specified NIC.
    firewall_type str
    The type of firewall rules that will be allowed on the NIC. If not specified, the default INGRESS value is used.
    flow_logs Sequence[GroupReplicaConfigurationNicFlowLog]
    List of all flow logs for the specified NIC.
    target_group GroupReplicaConfigurationNicTargetGroup
    In order to link VM to ALB, target group must be provided.
    lan Number
    Lan ID for this replica Nic.
    name String
    [string] User-defined name for the Autoscaling Group.
    dhcp Boolean
    Dhcp flag for this replica Nic. This is an optional attribute with default value of 'true' if not given in the request payload or given as null.
    firewallActive Boolean
    Activate or deactivate the firewall. By default, an active firewall without any defined rules will block all incoming network traffic except for the firewall rules that explicitly allows certain protocols, IP addresses and ports.
    firewallRules List<Property Map>
    List of all firewall rules for the specified NIC.
    firewallType String
    The type of firewall rules that will be allowed on the NIC. If not specified, the default INGRESS value is used.
    flowLogs List<Property Map>
    List of all flow logs for the specified NIC.
    targetGroup Property Map
    In order to link VM to ALB, target group must be provided.

    GroupReplicaConfigurationNicFirewallRule, GroupReplicaConfigurationNicFirewallRuleArgs

    Protocol string
    The protocol for the rule. The property cannot be modified after its creation (not allowed in update requests).
    IcmpCode int
    Sets the allowed code (from 0 to 254) when ICMP protocol is selected. The value 'null' allows all codes.
    IcmpType int
    Sets the allowed type (from 0 to 254) if the protocol ICMP is selected. The value 'null' allows all types.
    Name string
    [string] User-defined name for the Autoscaling Group.
    PortRangeEnd int
    Sets the end range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is selected. The value 'null' for 'port_range_start' and 'port_range_end' allows all ports.
    PortRangeStart int
    Sets the initial range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is selected. The value 'null' for 'port_range_start' and 'port_range_end' allows all ports.
    SourceIp string
    Only traffic originating from the respective IPv4 address is permitted. The value 'null' allows traffic from any IP address.
    SourceMac string
    Only traffic originating from the respective MAC address is permitted. Valid format: 'aa:bb:cc:dd:ee:ff'. The value 'null' allows traffic from any MAC address.
    TargetIp string
    If the target NIC has multiple IP addresses, only the traffic directed to the respective IP address of the NIC is allowed. The value 'null' allows traffic to any target IP address.
    Type string
    The firewall rule type. If not specified, the default value 'INGRESS' is used.
    Protocol string
    The protocol for the rule. The property cannot be modified after its creation (not allowed in update requests).
    IcmpCode int
    Sets the allowed code (from 0 to 254) when ICMP protocol is selected. The value 'null' allows all codes.
    IcmpType int
    Sets the allowed type (from 0 to 254) if the protocol ICMP is selected. The value 'null' allows all types.
    Name string
    [string] User-defined name for the Autoscaling Group.
    PortRangeEnd int
    Sets the end range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is selected. The value 'null' for 'port_range_start' and 'port_range_end' allows all ports.
    PortRangeStart int
    Sets the initial range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is selected. The value 'null' for 'port_range_start' and 'port_range_end' allows all ports.
    SourceIp string
    Only traffic originating from the respective IPv4 address is permitted. The value 'null' allows traffic from any IP address.
    SourceMac string
    Only traffic originating from the respective MAC address is permitted. Valid format: 'aa:bb:cc:dd:ee:ff'. The value 'null' allows traffic from any MAC address.
    TargetIp string
    If the target NIC has multiple IP addresses, only the traffic directed to the respective IP address of the NIC is allowed. The value 'null' allows traffic to any target IP address.
    Type string
    The firewall rule type. If not specified, the default value 'INGRESS' is used.
    protocol String
    The protocol for the rule. The property cannot be modified after its creation (not allowed in update requests).
    icmpCode Integer
    Sets the allowed code (from 0 to 254) when ICMP protocol is selected. The value 'null' allows all codes.
    icmpType Integer
    Sets the allowed type (from 0 to 254) if the protocol ICMP is selected. The value 'null' allows all types.
    name String
    [string] User-defined name for the Autoscaling Group.
    portRangeEnd Integer
    Sets the end range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is selected. The value 'null' for 'port_range_start' and 'port_range_end' allows all ports.
    portRangeStart Integer
    Sets the initial range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is selected. The value 'null' for 'port_range_start' and 'port_range_end' allows all ports.
    sourceIp String
    Only traffic originating from the respective IPv4 address is permitted. The value 'null' allows traffic from any IP address.
    sourceMac String
    Only traffic originating from the respective MAC address is permitted. Valid format: 'aa:bb:cc:dd:ee:ff'. The value 'null' allows traffic from any MAC address.
    targetIp String
    If the target NIC has multiple IP addresses, only the traffic directed to the respective IP address of the NIC is allowed. The value 'null' allows traffic to any target IP address.
    type String
    The firewall rule type. If not specified, the default value 'INGRESS' is used.
    protocol string
    The protocol for the rule. The property cannot be modified after its creation (not allowed in update requests).
    icmpCode number
    Sets the allowed code (from 0 to 254) when ICMP protocol is selected. The value 'null' allows all codes.
    icmpType number
    Sets the allowed type (from 0 to 254) if the protocol ICMP is selected. The value 'null' allows all types.
    name string
    [string] User-defined name for the Autoscaling Group.
    portRangeEnd number
    Sets the end range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is selected. The value 'null' for 'port_range_start' and 'port_range_end' allows all ports.
    portRangeStart number
    Sets the initial range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is selected. The value 'null' for 'port_range_start' and 'port_range_end' allows all ports.
    sourceIp string
    Only traffic originating from the respective IPv4 address is permitted. The value 'null' allows traffic from any IP address.
    sourceMac string
    Only traffic originating from the respective MAC address is permitted. Valid format: 'aa:bb:cc:dd:ee:ff'. The value 'null' allows traffic from any MAC address.
    targetIp string
    If the target NIC has multiple IP addresses, only the traffic directed to the respective IP address of the NIC is allowed. The value 'null' allows traffic to any target IP address.
    type string
    The firewall rule type. If not specified, the default value 'INGRESS' is used.
    protocol str
    The protocol for the rule. The property cannot be modified after its creation (not allowed in update requests).
    icmp_code int
    Sets the allowed code (from 0 to 254) when ICMP protocol is selected. The value 'null' allows all codes.
    icmp_type int
    Sets the allowed type (from 0 to 254) if the protocol ICMP is selected. The value 'null' allows all types.
    name str
    [string] User-defined name for the Autoscaling Group.
    port_range_end int
    Sets the end range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is selected. The value 'null' for 'port_range_start' and 'port_range_end' allows all ports.
    port_range_start int
    Sets the initial range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is selected. The value 'null' for 'port_range_start' and 'port_range_end' allows all ports.
    source_ip str
    Only traffic originating from the respective IPv4 address is permitted. The value 'null' allows traffic from any IP address.
    source_mac str
    Only traffic originating from the respective MAC address is permitted. Valid format: 'aa:bb:cc:dd:ee:ff'. The value 'null' allows traffic from any MAC address.
    target_ip str
    If the target NIC has multiple IP addresses, only the traffic directed to the respective IP address of the NIC is allowed. The value 'null' allows traffic to any target IP address.
    type str
    The firewall rule type. If not specified, the default value 'INGRESS' is used.
    protocol String
    The protocol for the rule. The property cannot be modified after its creation (not allowed in update requests).
    icmpCode Number
    Sets the allowed code (from 0 to 254) when ICMP protocol is selected. The value 'null' allows all codes.
    icmpType Number
    Sets the allowed type (from 0 to 254) if the protocol ICMP is selected. The value 'null' allows all types.
    name String
    [string] User-defined name for the Autoscaling Group.
    portRangeEnd Number
    Sets the end range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is selected. The value 'null' for 'port_range_start' and 'port_range_end' allows all ports.
    portRangeStart Number
    Sets the initial range of the allowed port (from 1 to 65535) if the protocol TCP or UDP is selected. The value 'null' for 'port_range_start' and 'port_range_end' allows all ports.
    sourceIp String
    Only traffic originating from the respective IPv4 address is permitted. The value 'null' allows traffic from any IP address.
    sourceMac String
    Only traffic originating from the respective MAC address is permitted. Valid format: 'aa:bb:cc:dd:ee:ff'. The value 'null' allows traffic from any MAC address.
    targetIp String
    If the target NIC has multiple IP addresses, only the traffic directed to the respective IP address of the NIC is allowed. The value 'null' allows traffic to any target IP address.
    type String
    The firewall rule type. If not specified, the default value 'INGRESS' is used.

    GroupReplicaConfigurationNicFlowLog, GroupReplicaConfigurationNicFlowLogArgs

    Action string
    Specifies the traffic direction pattern. Valid values: ACCEPTED, REJECTED, ALL. Immutable, forces re-recreation of the nic resource.
    Bucket string
    The bucket name of an existing IONOS Object Storage bucket. Immutable, forces re-recreation of the nic resource.
    Direction string
    Specifies the traffic direction pattern. Valid values: INGRESS, EGRESS, BIDIRECTIONAL. Immutable, forces re-recreation of the nic resource.
    Name string
    [string] User-defined name for the Autoscaling Group.
    Id string
    The resource's unique identifier.
    Action string
    Specifies the traffic direction pattern. Valid values: ACCEPTED, REJECTED, ALL. Immutable, forces re-recreation of the nic resource.
    Bucket string
    The bucket name of an existing IONOS Object Storage bucket. Immutable, forces re-recreation of the nic resource.
    Direction string
    Specifies the traffic direction pattern. Valid values: INGRESS, EGRESS, BIDIRECTIONAL. Immutable, forces re-recreation of the nic resource.
    Name string
    [string] User-defined name for the Autoscaling Group.
    Id string
    The resource's unique identifier.
    action String
    Specifies the traffic direction pattern. Valid values: ACCEPTED, REJECTED, ALL. Immutable, forces re-recreation of the nic resource.
    bucket String
    The bucket name of an existing IONOS Object Storage bucket. Immutable, forces re-recreation of the nic resource.
    direction String
    Specifies the traffic direction pattern. Valid values: INGRESS, EGRESS, BIDIRECTIONAL. Immutable, forces re-recreation of the nic resource.
    name String
    [string] User-defined name for the Autoscaling Group.
    id String
    The resource's unique identifier.
    action string
    Specifies the traffic direction pattern. Valid values: ACCEPTED, REJECTED, ALL. Immutable, forces re-recreation of the nic resource.
    bucket string
    The bucket name of an existing IONOS Object Storage bucket. Immutable, forces re-recreation of the nic resource.
    direction string
    Specifies the traffic direction pattern. Valid values: INGRESS, EGRESS, BIDIRECTIONAL. Immutable, forces re-recreation of the nic resource.
    name string
    [string] User-defined name for the Autoscaling Group.
    id string
    The resource's unique identifier.
    action str
    Specifies the traffic direction pattern. Valid values: ACCEPTED, REJECTED, ALL. Immutable, forces re-recreation of the nic resource.
    bucket str
    The bucket name of an existing IONOS Object Storage bucket. Immutable, forces re-recreation of the nic resource.
    direction str
    Specifies the traffic direction pattern. Valid values: INGRESS, EGRESS, BIDIRECTIONAL. Immutable, forces re-recreation of the nic resource.
    name str
    [string] User-defined name for the Autoscaling Group.
    id str
    The resource's unique identifier.
    action String
    Specifies the traffic direction pattern. Valid values: ACCEPTED, REJECTED, ALL. Immutable, forces re-recreation of the nic resource.
    bucket String
    The bucket name of an existing IONOS Object Storage bucket. Immutable, forces re-recreation of the nic resource.
    direction String
    Specifies the traffic direction pattern. Valid values: INGRESS, EGRESS, BIDIRECTIONAL. Immutable, forces re-recreation of the nic resource.
    name String
    [string] User-defined name for the Autoscaling Group.
    id String
    The resource's unique identifier.

    GroupReplicaConfigurationNicTargetGroup, GroupReplicaConfigurationNicTargetGroupArgs

    Port int
    The port for the target group.
    TargetGroupId string
    The ID of the target group.
    Weight int
    The weight for the target group.
    Port int
    The port for the target group.
    TargetGroupId string
    The ID of the target group.
    Weight int
    The weight for the target group.
    port Integer
    The port for the target group.
    targetGroupId String
    The ID of the target group.
    weight Integer
    The weight for the target group.
    port number
    The port for the target group.
    targetGroupId string
    The ID of the target group.
    weight number
    The weight for the target group.
    port int
    The port for the target group.
    target_group_id str
    The ID of the target group.
    weight int
    The weight for the target group.
    port Number
    The port for the target group.
    targetGroupId String
    The ID of the target group.
    weight Number
    The weight for the target group.

    GroupReplicaConfigurationVolume, GroupReplicaConfigurationVolumeArgs

    BootOrder string
    [string] Determines whether the volume will be used as a boot volume. Set to NONE, the volume will not be used as boot volume. Set to PRIMARY, the volume will be used as boot volume and set to AUTO will delegate the decision to the provisioning engine to decide whether to use the volume as boot volume. Notice that exactly one volume can be set to PRIMARY or all of them set to AUTO.
    Name string
    [string] Name for this replica volume.
    Size int
    [int] Name for this replica volume.
    Type string
    [string] Storage Type for this replica volume. Possible values: SSD, HDD, SSD_STANDARD or SSD_PREMIUM.
    BackupUnitId string
    [string] The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either public image or imageAlias in conjunction with this property.
    Bus string
    [string] The bus type of the volume. Default setting is VIRTIO. The bus type IDE is also supported.
    Image string
    [string] The image installed on the volume. Only the UUID of the image is presently supported.
    ImageAlias string
    [string] The image installed on the volume. Must be an imageAlias as specified via the images API. Note that one of image or imageAlias must be set, but not both.
    ImagePassword string
    [string] Image password for this replica volume.
    SshKeys List<string>
    List of ssh keys, supports values or paths to files. Cannot be changed at update.
    UserData string
    [string] User-data (Cloud Init) for this replica volume. Make sure you provide a Cloud Init compatible image in conjunction with this parameter.
    BootOrder string
    [string] Determines whether the volume will be used as a boot volume. Set to NONE, the volume will not be used as boot volume. Set to PRIMARY, the volume will be used as boot volume and set to AUTO will delegate the decision to the provisioning engine to decide whether to use the volume as boot volume. Notice that exactly one volume can be set to PRIMARY or all of them set to AUTO.
    Name string
    [string] Name for this replica volume.
    Size int
    [int] Name for this replica volume.
    Type string
    [string] Storage Type for this replica volume. Possible values: SSD, HDD, SSD_STANDARD or SSD_PREMIUM.
    BackupUnitId string
    [string] The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either public image or imageAlias in conjunction with this property.
    Bus string
    [string] The bus type of the volume. Default setting is VIRTIO. The bus type IDE is also supported.
    Image string
    [string] The image installed on the volume. Only the UUID of the image is presently supported.
    ImageAlias string
    [string] The image installed on the volume. Must be an imageAlias as specified via the images API. Note that one of image or imageAlias must be set, but not both.
    ImagePassword string
    [string] Image password for this replica volume.
    SshKeys []string
    List of ssh keys, supports values or paths to files. Cannot be changed at update.
    UserData string
    [string] User-data (Cloud Init) for this replica volume. Make sure you provide a Cloud Init compatible image in conjunction with this parameter.
    bootOrder String
    [string] Determines whether the volume will be used as a boot volume. Set to NONE, the volume will not be used as boot volume. Set to PRIMARY, the volume will be used as boot volume and set to AUTO will delegate the decision to the provisioning engine to decide whether to use the volume as boot volume. Notice that exactly one volume can be set to PRIMARY or all of them set to AUTO.
    name String
    [string] Name for this replica volume.
    size Integer
    [int] Name for this replica volume.
    type String
    [string] Storage Type for this replica volume. Possible values: SSD, HDD, SSD_STANDARD or SSD_PREMIUM.
    backupUnitId String
    [string] The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either public image or imageAlias in conjunction with this property.
    bus String
    [string] The bus type of the volume. Default setting is VIRTIO. The bus type IDE is also supported.
    image String
    [string] The image installed on the volume. Only the UUID of the image is presently supported.
    imageAlias String
    [string] The image installed on the volume. Must be an imageAlias as specified via the images API. Note that one of image or imageAlias must be set, but not both.
    imagePassword String
    [string] Image password for this replica volume.
    sshKeys List<String>
    List of ssh keys, supports values or paths to files. Cannot be changed at update.
    userData String
    [string] User-data (Cloud Init) for this replica volume. Make sure you provide a Cloud Init compatible image in conjunction with this parameter.
    bootOrder string
    [string] Determines whether the volume will be used as a boot volume. Set to NONE, the volume will not be used as boot volume. Set to PRIMARY, the volume will be used as boot volume and set to AUTO will delegate the decision to the provisioning engine to decide whether to use the volume as boot volume. Notice that exactly one volume can be set to PRIMARY or all of them set to AUTO.
    name string
    [string] Name for this replica volume.
    size number
    [int] Name for this replica volume.
    type string
    [string] Storage Type for this replica volume. Possible values: SSD, HDD, SSD_STANDARD or SSD_PREMIUM.
    backupUnitId string
    [string] The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either public image or imageAlias in conjunction with this property.
    bus string
    [string] The bus type of the volume. Default setting is VIRTIO. The bus type IDE is also supported.
    image string
    [string] The image installed on the volume. Only the UUID of the image is presently supported.
    imageAlias string
    [string] The image installed on the volume. Must be an imageAlias as specified via the images API. Note that one of image or imageAlias must be set, but not both.
    imagePassword string
    [string] Image password for this replica volume.
    sshKeys string[]
    List of ssh keys, supports values or paths to files. Cannot be changed at update.
    userData string
    [string] User-data (Cloud Init) for this replica volume. Make sure you provide a Cloud Init compatible image in conjunction with this parameter.
    boot_order str
    [string] Determines whether the volume will be used as a boot volume. Set to NONE, the volume will not be used as boot volume. Set to PRIMARY, the volume will be used as boot volume and set to AUTO will delegate the decision to the provisioning engine to decide whether to use the volume as boot volume. Notice that exactly one volume can be set to PRIMARY or all of them set to AUTO.
    name str
    [string] Name for this replica volume.
    size int
    [int] Name for this replica volume.
    type str
    [string] Storage Type for this replica volume. Possible values: SSD, HDD, SSD_STANDARD or SSD_PREMIUM.
    backup_unit_id str
    [string] The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either public image or imageAlias in conjunction with this property.
    bus str
    [string] The bus type of the volume. Default setting is VIRTIO. The bus type IDE is also supported.
    image str
    [string] The image installed on the volume. Only the UUID of the image is presently supported.
    image_alias str
    [string] The image installed on the volume. Must be an imageAlias as specified via the images API. Note that one of image or imageAlias must be set, but not both.
    image_password str
    [string] Image password for this replica volume.
    ssh_keys Sequence[str]
    List of ssh keys, supports values or paths to files. Cannot be changed at update.
    user_data str
    [string] User-data (Cloud Init) for this replica volume. Make sure you provide a Cloud Init compatible image in conjunction with this parameter.
    bootOrder String
    [string] Determines whether the volume will be used as a boot volume. Set to NONE, the volume will not be used as boot volume. Set to PRIMARY, the volume will be used as boot volume and set to AUTO will delegate the decision to the provisioning engine to decide whether to use the volume as boot volume. Notice that exactly one volume can be set to PRIMARY or all of them set to AUTO.
    name String
    [string] Name for this replica volume.
    size Number
    [int] Name for this replica volume.
    type String
    [string] Storage Type for this replica volume. Possible values: SSD, HDD, SSD_STANDARD or SSD_PREMIUM.
    backupUnitId String
    [string] The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either public image or imageAlias in conjunction with this property.
    bus String
    [string] The bus type of the volume. Default setting is VIRTIO. The bus type IDE is also supported.
    image String
    [string] The image installed on the volume. Only the UUID of the image is presently supported.
    imageAlias String
    [string] The image installed on the volume. Must be an imageAlias as specified via the images API. Note that one of image or imageAlias must be set, but not both.
    imagePassword String
    [string] Image password for this replica volume.
    sshKeys List<String>
    List of ssh keys, supports values or paths to files. Cannot be changed at update.
    userData String
    [string] User-data (Cloud Init) for this replica volume. Make sure you provide a Cloud Init compatible image in conjunction with this parameter.

    Package Details

    Repository
    ionoscloud ionos-cloud/pulumi-ionoscloud
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the ionoscloud Terraform Provider.
    ionoscloud logo
    IonosCloud v0.2.2 published on Monday, May 12, 2025 by ionos-cloud