1. Packages
  2. Ionoscloud Provider
  3. API Docs
  4. AutoscalingGroup
ionoscloud 6.7.6 published on Monday, Apr 14, 2025 by ionos-cloud

ionoscloud.AutoscalingGroup

Explore with Pulumi AI

ionoscloud logo
ionoscloud 6.7.6 published on Monday, Apr 14, 2025 by ionos-cloud

    Manages an Autoscaling Group on IonosCloud.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as ionoscloud from "@pulumi/ionoscloud";
    import * as random from "@pulumi/random";
    
    const datacenterExample = new ionoscloud.Datacenter("datacenterExample", {location: "de/fra"});
    const lanExample1 = new ionoscloud.Lan("lanExample1", {
        datacenterId: datacenterExample.datacenterId,
        "public": false,
    });
    const lanExample2 = new ionoscloud.Lan("lanExample2", {
        datacenterId: datacenterExample.datacenterId,
        "public": false,
    });
    const autoscalingTargetGroup = new ionoscloud.TargetGroup("autoscalingTargetGroup", {
        algorithm: "ROUND_ROBIN",
        protocol: "HTTP",
    });
    const serverImagePassword = new random.index.Random_password("serverImagePassword", {
        length: 16,
        special: false,
    });
    const autoscalingGroupExample = new ionoscloud.AutoscalingGroup("autoscalingGroupExample", {
        datacenterId: datacenterExample.datacenterId,
        maxReplicaCount: 2,
        minReplicaCount: 1,
        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.lanId,
                    name: "nic_example_1",
                    dhcp: true,
                },
                {
                    lan: lanExample2.lanId,
                    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.targetGroupId,
                        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.Datacenter("datacenterExample", location="de/fra")
    lan_example1 = ionoscloud.Lan("lanExample1",
        datacenter_id=datacenter_example.datacenter_id,
        public=False)
    lan_example2 = ionoscloud.Lan("lanExample2",
        datacenter_id=datacenter_example.datacenter_id,
        public=False)
    autoscaling_target_group = ionoscloud.TargetGroup("autoscalingTargetGroup",
        algorithm="ROUND_ROBIN",
        protocol="HTTP")
    server_image_password = random.index.Random_password("serverImagePassword",
        length=16,
        special=False)
    autoscaling_group_example = ionoscloud.AutoscalingGroup("autoscalingGroupExample",
        datacenter_id=datacenter_example.datacenter_id,
        max_replica_count=2,
        min_replica_count=1,
        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.lan_id,
                    "name": "nic_example_1",
                    "dhcp": True,
                },
                {
                    "lan": lan_example2.lan_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.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/pulumi/pulumi-random/sdk/go/random"
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/ionoscloud/v6/ionoscloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		datacenterExample, err := ionoscloud.NewDatacenter(ctx, "datacenterExample", &ionoscloud.DatacenterArgs{
    			Location: pulumi.String("de/fra"),
    		})
    		if err != nil {
    			return err
    		}
    		lanExample1, err := ionoscloud.NewLan(ctx, "lanExample1", &ionoscloud.LanArgs{
    			DatacenterId: datacenterExample.DatacenterId,
    			Public:       pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		lanExample2, err := ionoscloud.NewLan(ctx, "lanExample2", &ionoscloud.LanArgs{
    			DatacenterId: datacenterExample.DatacenterId,
    			Public:       pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		autoscalingTargetGroup, err := ionoscloud.NewTargetGroup(ctx, "autoscalingTargetGroup", &ionoscloud.TargetGroupArgs{
    			Algorithm: pulumi.String("ROUND_ROBIN"),
    			Protocol:  pulumi.String("HTTP"),
    		})
    		if err != nil {
    			return err
    		}
    		serverImagePassword, err := random.NewRandom_password(ctx, "serverImagePassword", &random.Random_passwordArgs{
    			Length:  16,
    			Special: false,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = ionoscloud.NewAutoscalingGroup(ctx, "autoscalingGroupExample", &ionoscloud.AutoscalingGroupArgs{
    			DatacenterId:    datacenterExample.DatacenterId,
    			MaxReplicaCount: pulumi.Float64(2),
    			MinReplicaCount: pulumi.Float64(1),
    			Policy: &ionoscloud.AutoscalingGroupPolicyArgs{
    				Metric: pulumi.String("INSTANCE_CPU_UTILIZATION_AVERAGE"),
    				Range:  pulumi.String("PT24H"),
    				ScaleInAction: &ionoscloud.AutoscalingGroupPolicyScaleInActionArgs{
    					Amount:                pulumi.Float64(1),
    					AmountType:            pulumi.String("ABSOLUTE"),
    					TerminationPolicyType: pulumi.String("OLDEST_SERVER_FIRST"),
    					CooldownPeriod:        pulumi.String("PT5M"),
    					DeleteVolumes:         pulumi.Bool(true),
    				},
    				ScaleInThreshold: pulumi.Float64(33),
    				ScaleOutAction: &ionoscloud.AutoscalingGroupPolicyScaleOutActionArgs{
    					Amount:         pulumi.Float64(1),
    					AmountType:     pulumi.String("ABSOLUTE"),
    					CooldownPeriod: pulumi.String("PT5M"),
    				},
    				ScaleOutThreshold: pulumi.Float64(77),
    				Unit:              pulumi.String("PER_HOUR"),
    			},
    			ReplicaConfiguration: &ionoscloud.AutoscalingGroupReplicaConfigurationArgs{
    				AvailabilityZone: pulumi.String("AUTO"),
    				Cores:            pulumi.Float64(2),
    				CpuFamily:        pulumi.String("INTEL_SKYLAKE"),
    				Ram:              pulumi.Float64(2048),
    				Nics: ionoscloud.AutoscalingGroupReplicaConfigurationNicArray{
    					&ionoscloud.AutoscalingGroupReplicaConfigurationNicArgs{
    						Lan:  lanExample1.LanId,
    						Name: pulumi.String("nic_example_1"),
    						Dhcp: pulumi.Bool(true),
    					},
    					&ionoscloud.AutoscalingGroupReplicaConfigurationNicArgs{
    						Lan:            lanExample2.LanId,
    						Name:           pulumi.String("nic_example_2"),
    						Dhcp:           pulumi.Bool(true),
    						FirewallActive: pulumi.Bool(true),
    						FirewallType:   pulumi.String("INGRESS"),
    						FirewallRules: ionoscloud.AutoscalingGroupReplicaConfigurationNicFirewallRuleArray{
    							&ionoscloud.AutoscalingGroupReplicaConfigurationNicFirewallRuleArgs{
    								Name:           pulumi.String("rule_1"),
    								Protocol:       pulumi.String("TCP"),
    								PortRangeStart: pulumi.Float64(1),
    								PortRangeEnd:   pulumi.Float64(1000),
    								Type:           pulumi.String("INGRESS"),
    							},
    						},
    						FlowLogs: ionoscloud.AutoscalingGroupReplicaConfigurationNicFlowLogArray{
    							&ionoscloud.AutoscalingGroupReplicaConfigurationNicFlowLogArgs{
    								Name:      pulumi.String("flow_log_1"),
    								Bucket:    pulumi.String("test-de-bucket"),
    								Action:    pulumi.String("ALL"),
    								Direction: pulumi.String("BIDIRECTIONAL"),
    							},
    						},
    						TargetGroup: &ionoscloud.AutoscalingGroupReplicaConfigurationNicTargetGroupArgs{
    							TargetGroupId: autoscalingTargetGroup.TargetGroupId,
    							Port:          pulumi.Float64(80),
    							Weight:        pulumi.Float64(50),
    						},
    					},
    				},
    				Volumes: ionoscloud.AutoscalingGroupReplicaConfigurationVolumeArray{
    					&ionoscloud.AutoscalingGroupReplicaConfigurationVolumeArgs{
    						ImageAlias:    pulumi.String("ubuntu:latest"),
    						Name:          pulumi.String("volume_example"),
    						Size:          pulumi.Float64(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 = Pulumi.Ionoscloud;
    using Random = Pulumi.Random;
    
    return await Deployment.RunAsync(() => 
    {
        var datacenterExample = new Ionoscloud.Datacenter("datacenterExample", new()
        {
            Location = "de/fra",
        });
    
        var lanExample1 = new Ionoscloud.Lan("lanExample1", new()
        {
            DatacenterId = datacenterExample.DatacenterId,
            Public = false,
        });
    
        var lanExample2 = new Ionoscloud.Lan("lanExample2", new()
        {
            DatacenterId = datacenterExample.DatacenterId,
            Public = false,
        });
    
        var autoscalingTargetGroup = new Ionoscloud.TargetGroup("autoscalingTargetGroup", new()
        {
            Algorithm = "ROUND_ROBIN",
            Protocol = "HTTP",
        });
    
        var serverImagePassword = new Random.Index.Random_password("serverImagePassword", new()
        {
            Length = 16,
            Special = false,
        });
    
        var autoscalingGroupExample = new Ionoscloud.AutoscalingGroup("autoscalingGroupExample", new()
        {
            DatacenterId = datacenterExample.DatacenterId,
            MaxReplicaCount = 2,
            MinReplicaCount = 1,
            Policy = new Ionoscloud.Inputs.AutoscalingGroupPolicyArgs
            {
                Metric = "INSTANCE_CPU_UTILIZATION_AVERAGE",
                Range = "PT24H",
                ScaleInAction = new Ionoscloud.Inputs.AutoscalingGroupPolicyScaleInActionArgs
                {
                    Amount = 1,
                    AmountType = "ABSOLUTE",
                    TerminationPolicyType = "OLDEST_SERVER_FIRST",
                    CooldownPeriod = "PT5M",
                    DeleteVolumes = true,
                },
                ScaleInThreshold = 33,
                ScaleOutAction = new Ionoscloud.Inputs.AutoscalingGroupPolicyScaleOutActionArgs
                {
                    Amount = 1,
                    AmountType = "ABSOLUTE",
                    CooldownPeriod = "PT5M",
                },
                ScaleOutThreshold = 77,
                Unit = "PER_HOUR",
            },
            ReplicaConfiguration = new Ionoscloud.Inputs.AutoscalingGroupReplicaConfigurationArgs
            {
                AvailabilityZone = "AUTO",
                Cores = 2,
                CpuFamily = "INTEL_SKYLAKE",
                Ram = 2048,
                Nics = new[]
                {
                    new Ionoscloud.Inputs.AutoscalingGroupReplicaConfigurationNicArgs
                    {
                        Lan = lanExample1.LanId,
                        Name = "nic_example_1",
                        Dhcp = true,
                    },
                    new Ionoscloud.Inputs.AutoscalingGroupReplicaConfigurationNicArgs
                    {
                        Lan = lanExample2.LanId,
                        Name = "nic_example_2",
                        Dhcp = true,
                        FirewallActive = true,
                        FirewallType = "INGRESS",
                        FirewallRules = new[]
                        {
                            new Ionoscloud.Inputs.AutoscalingGroupReplicaConfigurationNicFirewallRuleArgs
                            {
                                Name = "rule_1",
                                Protocol = "TCP",
                                PortRangeStart = 1,
                                PortRangeEnd = 1000,
                                Type = "INGRESS",
                            },
                        },
                        FlowLogs = new[]
                        {
                            new Ionoscloud.Inputs.AutoscalingGroupReplicaConfigurationNicFlowLogArgs
                            {
                                Name = "flow_log_1",
                                Bucket = "test-de-bucket",
                                Action = "ALL",
                                Direction = "BIDIRECTIONAL",
                            },
                        },
                        TargetGroup = new Ionoscloud.Inputs.AutoscalingGroupReplicaConfigurationNicTargetGroupArgs
                        {
                            TargetGroupId = autoscalingTargetGroup.TargetGroupId,
                            Port = 80,
                            Weight = 50,
                        },
                    },
                },
                Volumes = new[]
                {
                    new Ionoscloud.Inputs.AutoscalingGroupReplicaConfigurationVolumeArgs
                    {
                        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.Datacenter;
    import com.pulumi.ionoscloud.DatacenterArgs;
    import com.pulumi.ionoscloud.Lan;
    import com.pulumi.ionoscloud.LanArgs;
    import com.pulumi.ionoscloud.TargetGroup;
    import com.pulumi.ionoscloud.TargetGroupArgs;
    import com.pulumi.random.random_password;
    import com.pulumi.random.Random_passwordArgs;
    import com.pulumi.ionoscloud.AutoscalingGroup;
    import com.pulumi.ionoscloud.AutoscalingGroupArgs;
    import com.pulumi.ionoscloud.inputs.AutoscalingGroupPolicyArgs;
    import com.pulumi.ionoscloud.inputs.AutoscalingGroupPolicyScaleInActionArgs;
    import com.pulumi.ionoscloud.inputs.AutoscalingGroupPolicyScaleOutActionArgs;
    import com.pulumi.ionoscloud.inputs.AutoscalingGroupReplicaConfigurationArgs;
    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()
                .location("de/fra")
                .build());
    
            var lanExample1 = new Lan("lanExample1", LanArgs.builder()
                .datacenterId(datacenterExample.datacenterId())
                .public_(false)
                .build());
    
            var lanExample2 = new Lan("lanExample2", LanArgs.builder()
                .datacenterId(datacenterExample.datacenterId())
                .public_(false)
                .build());
    
            var autoscalingTargetGroup = new TargetGroup("autoscalingTargetGroup", TargetGroupArgs.builder()
                .algorithm("ROUND_ROBIN")
                .protocol("HTTP")
                .build());
    
            var serverImagePassword = new Random_password("serverImagePassword", Random_passwordArgs.builder()
                .length(16)
                .special(false)
                .build());
    
            var autoscalingGroupExample = new AutoscalingGroup("autoscalingGroupExample", AutoscalingGroupArgs.builder()
                .datacenterId(datacenterExample.datacenterId())
                .maxReplicaCount(2)
                .minReplicaCount(1)
                .policy(AutoscalingGroupPolicyArgs.builder()
                    .metric("INSTANCE_CPU_UTILIZATION_AVERAGE")
                    .range("PT24H")
                    .scaleInAction(AutoscalingGroupPolicyScaleInActionArgs.builder()
                        .amount(1)
                        .amountType("ABSOLUTE")
                        .terminationPolicyType("OLDEST_SERVER_FIRST")
                        .cooldownPeriod("PT5M")
                        .deleteVolumes(true)
                        .build())
                    .scaleInThreshold(33)
                    .scaleOutAction(AutoscalingGroupPolicyScaleOutActionArgs.builder()
                        .amount(1)
                        .amountType("ABSOLUTE")
                        .cooldownPeriod("PT5M")
                        .build())
                    .scaleOutThreshold(77)
                    .unit("PER_HOUR")
                    .build())
                .replicaConfiguration(AutoscalingGroupReplicaConfigurationArgs.builder()
                    .availabilityZone("AUTO")
                    .cores("2")
                    .cpuFamily("INTEL_SKYLAKE")
                    .ram(2048)
                    .nics(                
                        AutoscalingGroupReplicaConfigurationNicArgs.builder()
                            .lan(lanExample1.lanId())
                            .name("nic_example_1")
                            .dhcp(true)
                            .build(),
                        AutoscalingGroupReplicaConfigurationNicArgs.builder()
                            .lan(lanExample2.lanId())
                            .name("nic_example_2")
                            .dhcp(true)
                            .firewallActive(true)
                            .firewallType("INGRESS")
                            .firewallRules(AutoscalingGroupReplicaConfigurationNicFirewallRuleArgs.builder()
                                .name("rule_1")
                                .protocol("TCP")
                                .portRangeStart(1)
                                .portRangeEnd(1000)
                                .type("INGRESS")
                                .build())
                            .flowLogs(AutoscalingGroupReplicaConfigurationNicFlowLogArgs.builder()
                                .name("flow_log_1")
                                .bucket("test-de-bucket")
                                .action("ALL")
                                .direction("BIDIRECTIONAL")
                                .build())
                            .targetGroup(AutoscalingGroupReplicaConfigurationNicTargetGroupArgs.builder()
                                .targetGroupId(autoscalingTargetGroup.targetGroupId())
                                .port(80)
                                .weight(50)
                                .build())
                            .build())
                    .volumes(AutoscalingGroupReplicaConfigurationVolumeArgs.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:Datacenter
        properties:
          location: de/fra
      lanExample1:
        type: ionoscloud:Lan
        properties:
          datacenterId: ${datacenterExample.datacenterId}
          public: false
      lanExample2:
        type: ionoscloud:Lan
        properties:
          datacenterId: ${datacenterExample.datacenterId}
          public: false
      autoscalingTargetGroup:
        type: ionoscloud:TargetGroup
        properties:
          algorithm: ROUND_ROBIN
          protocol: HTTP
      autoscalingGroupExample:
        type: ionoscloud:AutoscalingGroup
        properties:
          datacenterId: ${datacenterExample.datacenterId}
          maxReplicaCount: 2
          minReplicaCount: 1
          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.lanId}
                name: nic_example_1
                dhcp: true
              - lan: ${lanExample2.lanId}
                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.targetGroupId}
                  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:random_password
        properties:
          length: 16
          special: false
    

    Create AutoscalingGroup Resource

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

    Constructor syntax

    new AutoscalingGroup(name: string, args: AutoscalingGroupArgs, opts?: CustomResourceOptions);
    @overload
    def AutoscalingGroup(resource_name: str,
                         args: AutoscalingGroupArgs,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def AutoscalingGroup(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         datacenter_id: Optional[str] = None,
                         max_replica_count: Optional[float] = None,
                         min_replica_count: Optional[float] = None,
                         policy: Optional[AutoscalingGroupPolicyArgs] = None,
                         replica_configuration: Optional[AutoscalingGroupReplicaConfigurationArgs] = None,
                         autoscaling_group_id: Optional[str] = None,
                         name: Optional[str] = None,
                         timeouts: Optional[AutoscalingGroupTimeoutsArgs] = None)
    func NewAutoscalingGroup(ctx *Context, name string, args AutoscalingGroupArgs, opts ...ResourceOption) (*AutoscalingGroup, error)
    public AutoscalingGroup(string name, AutoscalingGroupArgs args, CustomResourceOptions? opts = null)
    public AutoscalingGroup(String name, AutoscalingGroupArgs args)
    public AutoscalingGroup(String name, AutoscalingGroupArgs args, CustomResourceOptions options)
    
    type: ionoscloud:AutoscalingGroup
    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 AutoscalingGroupArgs
    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 AutoscalingGroupArgs
    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 AutoscalingGroupArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args AutoscalingGroupArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args AutoscalingGroupArgs
    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 autoscalingGroupResource = new Ionoscloud.AutoscalingGroup("autoscalingGroupResource", new()
    {
        DatacenterId = "string",
        MaxReplicaCount = 0,
        MinReplicaCount = 0,
        Policy = new Ionoscloud.Inputs.AutoscalingGroupPolicyArgs
        {
            Metric = "string",
            ScaleInAction = new Ionoscloud.Inputs.AutoscalingGroupPolicyScaleInActionArgs
            {
                Amount = 0,
                AmountType = "string",
                DeleteVolumes = false,
                CooldownPeriod = "string",
                TerminationPolicyType = "string",
            },
            ScaleInThreshold = 0,
            ScaleOutAction = new Ionoscloud.Inputs.AutoscalingGroupPolicyScaleOutActionArgs
            {
                Amount = 0,
                AmountType = "string",
                CooldownPeriod = "string",
            },
            ScaleOutThreshold = 0,
            Unit = "string",
            Range = "string",
        },
        ReplicaConfiguration = new Ionoscloud.Inputs.AutoscalingGroupReplicaConfigurationArgs
        {
            AvailabilityZone = "string",
            Cores = 0,
            Ram = 0,
            CpuFamily = "string",
            Nics = new[]
            {
                new Ionoscloud.Inputs.AutoscalingGroupReplicaConfigurationNicArgs
                {
                    Lan = 0,
                    Name = "string",
                    Dhcp = false,
                    FirewallActive = false,
                    FirewallRules = new[]
                    {
                        new Ionoscloud.Inputs.AutoscalingGroupReplicaConfigurationNicFirewallRuleArgs
                        {
                            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.Inputs.AutoscalingGroupReplicaConfigurationNicFlowLogArgs
                        {
                            Action = "string",
                            Bucket = "string",
                            Direction = "string",
                            Name = "string",
                            Id = "string",
                        },
                    },
                    TargetGroup = new Ionoscloud.Inputs.AutoscalingGroupReplicaConfigurationNicTargetGroupArgs
                    {
                        Port = 0,
                        TargetGroupId = "string",
                        Weight = 0,
                    },
                },
            },
            Volumes = new[]
            {
                new Ionoscloud.Inputs.AutoscalingGroupReplicaConfigurationVolumeArgs
                {
                    BootOrder = "string",
                    Name = "string",
                    Size = 0,
                    Type = "string",
                    BackupUnitId = "string",
                    Bus = "string",
                    Image = "string",
                    ImageAlias = "string",
                    ImagePassword = "string",
                    SshKeys = new[]
                    {
                        "string",
                    },
                    UserData = "string",
                },
            },
        },
        AutoscalingGroupId = "string",
        Name = "string",
        Timeouts = new Ionoscloud.Inputs.AutoscalingGroupTimeoutsArgs
        {
            Create = "string",
            Default = "string",
            Delete = "string",
            Update = "string",
        },
    });
    
    example, err := ionoscloud.NewAutoscalingGroup(ctx, "autoscalingGroupResource", &ionoscloud.AutoscalingGroupArgs{
    	DatacenterId:    pulumi.String("string"),
    	MaxReplicaCount: pulumi.Float64(0),
    	MinReplicaCount: pulumi.Float64(0),
    	Policy: &ionoscloud.AutoscalingGroupPolicyArgs{
    		Metric: pulumi.String("string"),
    		ScaleInAction: &ionoscloud.AutoscalingGroupPolicyScaleInActionArgs{
    			Amount:                pulumi.Float64(0),
    			AmountType:            pulumi.String("string"),
    			DeleteVolumes:         pulumi.Bool(false),
    			CooldownPeriod:        pulumi.String("string"),
    			TerminationPolicyType: pulumi.String("string"),
    		},
    		ScaleInThreshold: pulumi.Float64(0),
    		ScaleOutAction: &ionoscloud.AutoscalingGroupPolicyScaleOutActionArgs{
    			Amount:         pulumi.Float64(0),
    			AmountType:     pulumi.String("string"),
    			CooldownPeriod: pulumi.String("string"),
    		},
    		ScaleOutThreshold: pulumi.Float64(0),
    		Unit:              pulumi.String("string"),
    		Range:             pulumi.String("string"),
    	},
    	ReplicaConfiguration: &ionoscloud.AutoscalingGroupReplicaConfigurationArgs{
    		AvailabilityZone: pulumi.String("string"),
    		Cores:            pulumi.Float64(0),
    		Ram:              pulumi.Float64(0),
    		CpuFamily:        pulumi.String("string"),
    		Nics: ionoscloud.AutoscalingGroupReplicaConfigurationNicArray{
    			&ionoscloud.AutoscalingGroupReplicaConfigurationNicArgs{
    				Lan:            pulumi.Float64(0),
    				Name:           pulumi.String("string"),
    				Dhcp:           pulumi.Bool(false),
    				FirewallActive: pulumi.Bool(false),
    				FirewallRules: ionoscloud.AutoscalingGroupReplicaConfigurationNicFirewallRuleArray{
    					&ionoscloud.AutoscalingGroupReplicaConfigurationNicFirewallRuleArgs{
    						Protocol:       pulumi.String("string"),
    						IcmpCode:       pulumi.Float64(0),
    						IcmpType:       pulumi.Float64(0),
    						Name:           pulumi.String("string"),
    						PortRangeEnd:   pulumi.Float64(0),
    						PortRangeStart: pulumi.Float64(0),
    						SourceIp:       pulumi.String("string"),
    						SourceMac:      pulumi.String("string"),
    						TargetIp:       pulumi.String("string"),
    						Type:           pulumi.String("string"),
    					},
    				},
    				FirewallType: pulumi.String("string"),
    				FlowLogs: ionoscloud.AutoscalingGroupReplicaConfigurationNicFlowLogArray{
    					&ionoscloud.AutoscalingGroupReplicaConfigurationNicFlowLogArgs{
    						Action:    pulumi.String("string"),
    						Bucket:    pulumi.String("string"),
    						Direction: pulumi.String("string"),
    						Name:      pulumi.String("string"),
    						Id:        pulumi.String("string"),
    					},
    				},
    				TargetGroup: &ionoscloud.AutoscalingGroupReplicaConfigurationNicTargetGroupArgs{
    					Port:          pulumi.Float64(0),
    					TargetGroupId: pulumi.String("string"),
    					Weight:        pulumi.Float64(0),
    				},
    			},
    		},
    		Volumes: ionoscloud.AutoscalingGroupReplicaConfigurationVolumeArray{
    			&ionoscloud.AutoscalingGroupReplicaConfigurationVolumeArgs{
    				BootOrder:     pulumi.String("string"),
    				Name:          pulumi.String("string"),
    				Size:          pulumi.Float64(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"),
    			},
    		},
    	},
    	AutoscalingGroupId: pulumi.String("string"),
    	Name:               pulumi.String("string"),
    	Timeouts: &ionoscloud.AutoscalingGroupTimeoutsArgs{
    		Create:  pulumi.String("string"),
    		Default: pulumi.String("string"),
    		Delete:  pulumi.String("string"),
    		Update:  pulumi.String("string"),
    	},
    })
    
    var autoscalingGroupResource = new AutoscalingGroup("autoscalingGroupResource", AutoscalingGroupArgs.builder()
        .datacenterId("string")
        .maxReplicaCount(0)
        .minReplicaCount(0)
        .policy(AutoscalingGroupPolicyArgs.builder()
            .metric("string")
            .scaleInAction(AutoscalingGroupPolicyScaleInActionArgs.builder()
                .amount(0)
                .amountType("string")
                .deleteVolumes(false)
                .cooldownPeriod("string")
                .terminationPolicyType("string")
                .build())
            .scaleInThreshold(0)
            .scaleOutAction(AutoscalingGroupPolicyScaleOutActionArgs.builder()
                .amount(0)
                .amountType("string")
                .cooldownPeriod("string")
                .build())
            .scaleOutThreshold(0)
            .unit("string")
            .range("string")
            .build())
        .replicaConfiguration(AutoscalingGroupReplicaConfigurationArgs.builder()
            .availabilityZone("string")
            .cores(0)
            .ram(0)
            .cpuFamily("string")
            .nics(AutoscalingGroupReplicaConfigurationNicArgs.builder()
                .lan(0)
                .name("string")
                .dhcp(false)
                .firewallActive(false)
                .firewallRules(AutoscalingGroupReplicaConfigurationNicFirewallRuleArgs.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(AutoscalingGroupReplicaConfigurationNicFlowLogArgs.builder()
                    .action("string")
                    .bucket("string")
                    .direction("string")
                    .name("string")
                    .id("string")
                    .build())
                .targetGroup(AutoscalingGroupReplicaConfigurationNicTargetGroupArgs.builder()
                    .port(0)
                    .targetGroupId("string")
                    .weight(0)
                    .build())
                .build())
            .volumes(AutoscalingGroupReplicaConfigurationVolumeArgs.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())
        .autoscalingGroupId("string")
        .name("string")
        .timeouts(AutoscalingGroupTimeoutsArgs.builder()
            .create("string")
            .default_("string")
            .delete("string")
            .update("string")
            .build())
        .build());
    
    autoscaling_group_resource = ionoscloud.AutoscalingGroup("autoscalingGroupResource",
        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",
            }],
        },
        autoscaling_group_id="string",
        name="string",
        timeouts={
            "create": "string",
            "default": "string",
            "delete": "string",
            "update": "string",
        })
    
    const autoscalingGroupResource = new ionoscloud.AutoscalingGroup("autoscalingGroupResource", {
        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",
            }],
        },
        autoscalingGroupId: "string",
        name: "string",
        timeouts: {
            create: "string",
            "default": "string",
            "delete": "string",
            update: "string",
        },
    });
    
    type: ionoscloud:AutoscalingGroup
    properties:
        autoscalingGroupId: string
        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
        timeouts:
            create: string
            default: string
            delete: string
            update: string
    

    AutoscalingGroup 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 AutoscalingGroup resource accepts the following input properties:

    DatacenterId string
    [string] Unique identifier for the resource
    MaxReplicaCount double
    [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 double
    [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 AutoscalingGroupPolicy
    [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 AutoscalingGroupReplicaConfiguration
    [List]
    AutoscalingGroupId string
    Name string
    [string] User-defined name for the Autoscaling Group.
    Timeouts AutoscalingGroupTimeouts
    DatacenterId string
    [string] Unique identifier for the resource
    MaxReplicaCount float64
    [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 float64
    [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 AutoscalingGroupPolicyArgs
    [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 AutoscalingGroupReplicaConfigurationArgs
    [List]
    AutoscalingGroupId string
    Name string
    [string] User-defined name for the Autoscaling Group.
    Timeouts AutoscalingGroupTimeoutsArgs
    datacenterId String
    [string] Unique identifier for the resource
    maxReplicaCount Double
    [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 Double
    [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 AutoscalingGroupPolicy
    [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 AutoscalingGroupReplicaConfiguration
    [List]
    autoscalingGroupId String
    name String
    [string] User-defined name for the Autoscaling Group.
    timeouts AutoscalingGroupTimeouts
    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 AutoscalingGroupPolicy
    [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 AutoscalingGroupReplicaConfiguration
    [List]
    autoscalingGroupId string
    name string
    [string] User-defined name for the Autoscaling Group.
    timeouts AutoscalingGroupTimeouts
    datacenter_id str
    [string] Unique identifier for the resource
    max_replica_count float
    [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 float
    [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 AutoscalingGroupPolicyArgs
    [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 AutoscalingGroupReplicaConfigurationArgs
    [List]
    autoscaling_group_id str
    name str
    [string] User-defined name for the Autoscaling Group.
    timeouts AutoscalingGroupTimeoutsArgs
    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]
    autoscalingGroupId String
    name String
    [string] User-defined name for the Autoscaling Group.
    timeouts Property Map

    Outputs

    All input properties are implicitly available as output properties. Additionally, the AutoscalingGroup 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 AutoscalingGroup Resource

    Get an existing AutoscalingGroup 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?: AutoscalingGroupState, opts?: CustomResourceOptions): AutoscalingGroup
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            autoscaling_group_id: Optional[str] = None,
            datacenter_id: Optional[str] = None,
            location: Optional[str] = None,
            max_replica_count: Optional[float] = None,
            min_replica_count: Optional[float] = None,
            name: Optional[str] = None,
            policy: Optional[AutoscalingGroupPolicyArgs] = None,
            replica_configuration: Optional[AutoscalingGroupReplicaConfigurationArgs] = None,
            timeouts: Optional[AutoscalingGroupTimeoutsArgs] = None) -> AutoscalingGroup
    func GetAutoscalingGroup(ctx *Context, name string, id IDInput, state *AutoscalingGroupState, opts ...ResourceOption) (*AutoscalingGroup, error)
    public static AutoscalingGroup Get(string name, Input<string> id, AutoscalingGroupState? state, CustomResourceOptions? opts = null)
    public static AutoscalingGroup get(String name, Output<String> id, AutoscalingGroupState state, CustomResourceOptions options)
    resources:  _:    type: ionoscloud:AutoscalingGroup    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:
    AutoscalingGroupId string
    DatacenterId string
    [string] Unique identifier for the resource
    Location string
    Location of the data center.
    MaxReplicaCount double
    [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 double
    [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 AutoscalingGroupPolicy
    [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 AutoscalingGroupReplicaConfiguration
    [List]
    Timeouts AutoscalingGroupTimeouts
    AutoscalingGroupId string
    DatacenterId string
    [string] Unique identifier for the resource
    Location string
    Location of the data center.
    MaxReplicaCount float64
    [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 float64
    [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 AutoscalingGroupPolicyArgs
    [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 AutoscalingGroupReplicaConfigurationArgs
    [List]
    Timeouts AutoscalingGroupTimeoutsArgs
    autoscalingGroupId String
    datacenterId String
    [string] Unique identifier for the resource
    location String
    Location of the data center.
    maxReplicaCount Double
    [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 Double
    [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 AutoscalingGroupPolicy
    [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 AutoscalingGroupReplicaConfiguration
    [List]
    timeouts AutoscalingGroupTimeouts
    autoscalingGroupId string
    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 AutoscalingGroupPolicy
    [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 AutoscalingGroupReplicaConfiguration
    [List]
    timeouts AutoscalingGroupTimeouts
    autoscaling_group_id str
    datacenter_id str
    [string] Unique identifier for the resource
    location str
    Location of the data center.
    max_replica_count float
    [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 float
    [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 AutoscalingGroupPolicyArgs
    [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 AutoscalingGroupReplicaConfigurationArgs
    [List]
    timeouts AutoscalingGroupTimeoutsArgs
    autoscalingGroupId String
    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]
    timeouts Property Map

    Supporting Types

    AutoscalingGroupPolicy, AutoscalingGroupPolicyArgs

    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 AutoscalingGroupPolicyScaleInAction
    [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 double
    [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 AutoscalingGroupPolicyScaleOutAction
    [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 double
    [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 AutoscalingGroupPolicyScaleInAction
    [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 float64
    [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 AutoscalingGroupPolicyScaleOutAction
    [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 float64
    [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 AutoscalingGroupPolicyScaleInAction
    [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 Double
    [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 AutoscalingGroupPolicyScaleOutAction
    [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 Double
    [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 AutoscalingGroupPolicyScaleInAction
    [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 AutoscalingGroupPolicyScaleOutAction
    [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 AutoscalingGroupPolicyScaleInAction
    [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 float
    [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 AutoscalingGroupPolicyScaleOutAction
    [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 float
    [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.

    AutoscalingGroupPolicyScaleInAction, AutoscalingGroupPolicyScaleInActionArgs

    Amount double
    [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 float64
    [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 Double
    [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 float
    [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

    AutoscalingGroupPolicyScaleOutAction, AutoscalingGroupPolicyScaleOutActionArgs

    Amount double
    [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 float64
    [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 Double
    [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 float
    [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.

    AutoscalingGroupReplicaConfiguration, AutoscalingGroupReplicaConfigurationArgs

    AvailabilityZone string
    [string] The zone where the VMs are created using this configuration. Possible values are: AUTO, ZONE_1, ZONE_2.
    Cores double
    [int] The total number of cores for the VMs.
    Ram double
    [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] CPU 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<AutoscalingGroupReplicaConfigurationNic>
    Set of NICs associated with this Replica.
    Volumes List<AutoscalingGroupReplicaConfigurationVolume>
    [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 float64
    [int] The total number of cores for the VMs.
    Ram float64
    [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] CPU 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 []AutoscalingGroupReplicaConfigurationNic
    Set of NICs associated with this Replica.
    Volumes []AutoscalingGroupReplicaConfigurationVolume
    [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 Double
    [int] The total number of cores for the VMs.
    ram Double
    [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] CPU 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<AutoscalingGroupReplicaConfigurationNic>
    Set of NICs associated with this Replica.
    volumes List<AutoscalingGroupReplicaConfigurationVolume>
    [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] CPU 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 AutoscalingGroupReplicaConfigurationNic[]
    Set of NICs associated with this Replica.
    volumes AutoscalingGroupReplicaConfigurationVolume[]
    [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 float
    [int] The total number of cores for the VMs.
    ram float
    [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] CPU 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[AutoscalingGroupReplicaConfigurationNic]
    Set of NICs associated with this Replica.
    volumes Sequence[AutoscalingGroupReplicaConfigurationVolume]
    [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] CPU 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.

    AutoscalingGroupReplicaConfigurationNic, AutoscalingGroupReplicaConfigurationNicArgs

    Lan double
    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<AutoscalingGroupReplicaConfigurationNicFirewallRule>
    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<AutoscalingGroupReplicaConfigurationNicFlowLog>
    List of all flow logs for the specified NIC.
    TargetGroup AutoscalingGroupReplicaConfigurationNicTargetGroup
    In order to link VM to ALB, target group must be provided.
    Lan float64
    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 []AutoscalingGroupReplicaConfigurationNicFirewallRule
    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 []AutoscalingGroupReplicaConfigurationNicFlowLog
    List of all flow logs for the specified NIC.
    TargetGroup AutoscalingGroupReplicaConfigurationNicTargetGroup
    In order to link VM to ALB, target group must be provided.
    lan Double
    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<AutoscalingGroupReplicaConfigurationNicFirewallRule>
    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<AutoscalingGroupReplicaConfigurationNicFlowLog>
    List of all flow logs for the specified NIC.
    targetGroup AutoscalingGroupReplicaConfigurationNicTargetGroup
    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 AutoscalingGroupReplicaConfigurationNicFirewallRule[]
    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 AutoscalingGroupReplicaConfigurationNicFlowLog[]
    List of all flow logs for the specified NIC.
    targetGroup AutoscalingGroupReplicaConfigurationNicTargetGroup
    In order to link VM to ALB, target group must be provided.
    lan float
    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[AutoscalingGroupReplicaConfigurationNicFirewallRule]
    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[AutoscalingGroupReplicaConfigurationNicFlowLog]
    List of all flow logs for the specified NIC.
    target_group AutoscalingGroupReplicaConfigurationNicTargetGroup
    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.

    AutoscalingGroupReplicaConfigurationNicFirewallRule, AutoscalingGroupReplicaConfigurationNicFirewallRuleArgs

    Protocol string
    The protocol for the rule. The property cannot be modified after its creation (not allowed in update requests).
    IcmpCode double
    Sets the allowed code (from 0 to 254) when ICMP protocol is selected. The value 'null' allows all codes.
    IcmpType double
    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 double
    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 double
    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 float64
    Sets the allowed code (from 0 to 254) when ICMP protocol is selected. The value 'null' allows all codes.
    IcmpType float64
    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 float64
    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 float64
    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 Double
    Sets the allowed code (from 0 to 254) when ICMP protocol is selected. The value 'null' allows all codes.
    icmpType Double
    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 Double
    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 Double
    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 float
    Sets the allowed code (from 0 to 254) when ICMP protocol is selected. The value 'null' allows all codes.
    icmp_type float
    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 float
    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 float
    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.

    AutoscalingGroupReplicaConfigurationNicFlowLog, AutoscalingGroupReplicaConfigurationNicFlowLogArgs

    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.

    AutoscalingGroupReplicaConfigurationNicTargetGroup, AutoscalingGroupReplicaConfigurationNicTargetGroupArgs

    Port double
    The port for the target group.
    TargetGroupId string
    The ID of the target group.
    Weight double
    The weight for the target group.
    Port float64
    The port for the target group.
    TargetGroupId string
    The ID of the target group.
    Weight float64
    The weight for the target group.
    port Double
    The port for the target group.
    targetGroupId String
    The ID of the target group.
    weight Double
    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 float
    The port for the target group.
    target_group_id str
    The ID of the target group.
    weight float
    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.

    AutoscalingGroupReplicaConfigurationVolume, AutoscalingGroupReplicaConfigurationVolumeArgs

    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 double
    [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 float64
    [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 Double
    [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 float
    [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.

    AutoscalingGroupTimeouts, AutoscalingGroupTimeoutsArgs

    Create string
    Default string
    Delete string
    Update string
    Create string
    Default string
    Delete string
    Update string
    create String
    default_ String
    delete String
    update String
    create string
    default string
    delete string
    update string
    create String
    default String
    delete String
    update String

    Package Details

    Repository
    ionoscloud ionos-cloud/terraform-provider-ionoscloud
    License
    Notes
    This Pulumi package is based on the ionoscloud Terraform Provider.
    ionoscloud logo
    ionoscloud 6.7.6 published on Monday, Apr 14, 2025 by ionos-cloud