ess

package
v3.55.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Alarm

type Alarm struct {
	pulumi.CustomResourceState

	// The list of actions to execute when this alarm transition into an ALARM state. Each action is specified as ess scaling rule ari.
	AlarmActions pulumi.StringArrayOutput `pulumi:"alarmActions"`
	// Defines the application group id defined by CMS which is assigned when you upload custom metric to CMS, only available for custom metirc.
	CloudMonitorGroupId pulumi.IntPtrOutput `pulumi:"cloudMonitorGroupId"`
	// The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Supported value: >=, <=, >, <. Defaults to >=.
	ComparisonOperator pulumi.StringPtrOutput `pulumi:"comparisonOperator"`
	// The description for the alarm.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The dimension map for the alarm's associated metric. For all metrics, you can not set the dimension key as "scalingGroup" or "userId", which is set by default, the second dimension for metric, such as "device" for "PackagesNetIn", need to be set by users. See `dimensions` below.
	Dimensions pulumi.MapOutput `pulumi:"dimensions"`
	// Whether to enable specific ess alarm. Default to true.
	Enable pulumi.BoolPtrOutput `pulumi:"enable"`
	// The number of times that needs to satisfies comparison condition before transition into ALARM state. Defaults to 3.
	EvaluationCount pulumi.IntPtrOutput `pulumi:"evaluationCount"`
	// The name for the alarm's associated metric. See `dimensions` below for details.
	MetricName pulumi.StringOutput `pulumi:"metricName"`
	// The type for the alarm's associated metric. Supported value: system, custom. "system" means the metric data is collected by Aliyun Cloud Monitor Service(CMS), "custom" means the metric data is upload to CMS by users. Defaults to system.
	MetricType pulumi.StringPtrOutput `pulumi:"metricType"`
	// The name for ess alarm.
	Name pulumi.StringOutput `pulumi:"name"`
	// The period in seconds over which the specified statistic is applied. Supported value: 60, 120, 300, 900. Defaults to 300.
	Period pulumi.IntPtrOutput `pulumi:"period"`
	// The scaling group associated with this alarm, the 'ForceNew' attribute is available in 1.56.0+.
	ScalingGroupId pulumi.StringOutput `pulumi:"scalingGroupId"`
	// The status of the event-triggered task. Valid values:
	// - ALARM: The alert condition is met and an alert is triggered.
	// - OK: The alert condition is not met.
	// - INSUFFICIENT_DATA: Auto Scaling cannot determine whether the alert condition is met due to insufficient data.
	State pulumi.StringOutput `pulumi:"state"`
	// The statistic to apply to the alarm's associated metric. Supported value: Average, Minimum, Maximum. Defaults to Average.
	Statistics pulumi.StringPtrOutput `pulumi:"statistics"`
	// The value against which the specified statistics is compared.
	Threshold pulumi.StringOutput `pulumi:"threshold"`
}

Provides a ESS alarm task resource.

For information about ess alarm, see [CreateAlarm](https://www.alibabacloud.com/help/en/auto-scaling/latest/createalarm).

> **NOTE:** Available since v1.15.0.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultInteger, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
			Min: 10000,
			Max: 99999,
		})
		if err != nil {
			return err
		}
		myName := fmt.Sprintf("%v-%v", name, defaultInteger.Result)
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableDiskCategory:     pulumi.StringRef("cloud_efficiency"),
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),
			CpuCoreCount:     pulumi.IntRef(2),
			MemorySize:       pulumi.Float64Ref(4),
		}, nil)
		if err != nil {
			return err
		}
		_, err = ecs.GetImages(ctx, &ecs.GetImagesArgs{
			NameRegex:  pulumi.StringRef("^ubuntu_18.*64"),
			MostRecent: pulumi.BoolRef(true),
			Owners:     pulumi.StringRef("system"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(myName),
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/24"),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
			VswitchName: pulumi.String(myName),
		})
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			Name:  pulumi.String(myName),
			VpcId: defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewSecurityGroupRule(ctx, "default", &ecs.SecurityGroupRuleArgs{
			Type:            pulumi.String("ingress"),
			IpProtocol:      pulumi.String("tcp"),
			NicType:         pulumi.String("intranet"),
			Policy:          pulumi.String("accept"),
			PortRange:       pulumi.String("22/22"),
			Priority:        pulumi.Int(1),
			SecurityGroupId: defaultSecurityGroup.ID(),
			CidrIp:          pulumi.String("172.16.0.0/24"),
		})
		if err != nil {
			return err
		}
		default2, err := vpc.NewSwitch(ctx, "default2", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.1.0/24"),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
			VswitchName: pulumi.String(fmt.Sprintf("%v-bar", name)),
		})
		if err != nil {
			return err
		}
		defaultScalingGroup, err := ess.NewScalingGroup(ctx, "default", &ess.ScalingGroupArgs{
			MinSize:          pulumi.Int(1),
			MaxSize:          pulumi.Int(1),
			ScalingGroupName: pulumi.String(myName),
			DefaultCooldown:  pulumi.Int(20),
			VswitchIds: pulumi.StringArray{
				defaultSwitch.ID(),
				default2.ID(),
			},
			RemovalPolicies: pulumi.StringArray{
				pulumi.String("OldestInstance"),
				pulumi.String("NewestInstance"),
			},
		})
		if err != nil {
			return err
		}
		defaultScalingRule, err := ess.NewScalingRule(ctx, "default", &ess.ScalingRuleArgs{
			ScalingRuleName: pulumi.String(myName),
			ScalingGroupId:  defaultScalingGroup.ID(),
			AdjustmentType:  pulumi.String("TotalCapacity"),
			AdjustmentValue: pulumi.Int(2),
			Cooldown:        pulumi.Int(60),
		})
		if err != nil {
			return err
		}
		_, err = ess.NewAlarm(ctx, "default", &ess.AlarmArgs{
			Name:        pulumi.String(myName),
			Description: pulumi.String(name),
			AlarmActions: pulumi.StringArray{
				defaultScalingRule.Ari,
			},
			ScalingGroupId:     defaultScalingGroup.ID(),
			MetricType:         pulumi.String("system"),
			MetricName:         pulumi.String("CpuUtilization"),
			Period:             pulumi.Int(300),
			Statistics:         pulumi.String("Average"),
			Threshold:          pulumi.String("200.3"),
			ComparisonOperator: pulumi.String(">="),
			EvaluationCount:    pulumi.Int(2),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Module Support

You can use to the existing autoscaling-rule module to create alarm task, different type rules and scheduled task one-click.

## Import

Ess alarm can be imported using the id, e.g.

```sh $ pulumi import alicloud:ess/alarm:Alarm example asg-2ze500_045efffe-4d05 ```

func GetAlarm

func GetAlarm(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AlarmState, opts ...pulumi.ResourceOption) (*Alarm, error)

GetAlarm gets an existing Alarm resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAlarm

func NewAlarm(ctx *pulumi.Context,
	name string, args *AlarmArgs, opts ...pulumi.ResourceOption) (*Alarm, error)

NewAlarm registers a new resource with the given unique name, arguments, and options.

func (*Alarm) ElementType

func (*Alarm) ElementType() reflect.Type

func (*Alarm) ToAlarmOutput

func (i *Alarm) ToAlarmOutput() AlarmOutput

func (*Alarm) ToAlarmOutputWithContext

func (i *Alarm) ToAlarmOutputWithContext(ctx context.Context) AlarmOutput

type AlarmArgs

type AlarmArgs struct {
	// The list of actions to execute when this alarm transition into an ALARM state. Each action is specified as ess scaling rule ari.
	AlarmActions pulumi.StringArrayInput
	// Defines the application group id defined by CMS which is assigned when you upload custom metric to CMS, only available for custom metirc.
	CloudMonitorGroupId pulumi.IntPtrInput
	// The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Supported value: >=, <=, >, <. Defaults to >=.
	ComparisonOperator pulumi.StringPtrInput
	// The description for the alarm.
	Description pulumi.StringPtrInput
	// The dimension map for the alarm's associated metric. For all metrics, you can not set the dimension key as "scalingGroup" or "userId", which is set by default, the second dimension for metric, such as "device" for "PackagesNetIn", need to be set by users. See `dimensions` below.
	Dimensions pulumi.MapInput
	// Whether to enable specific ess alarm. Default to true.
	Enable pulumi.BoolPtrInput
	// The number of times that needs to satisfies comparison condition before transition into ALARM state. Defaults to 3.
	EvaluationCount pulumi.IntPtrInput
	// The name for the alarm's associated metric. See `dimensions` below for details.
	MetricName pulumi.StringInput
	// The type for the alarm's associated metric. Supported value: system, custom. "system" means the metric data is collected by Aliyun Cloud Monitor Service(CMS), "custom" means the metric data is upload to CMS by users. Defaults to system.
	MetricType pulumi.StringPtrInput
	// The name for ess alarm.
	Name pulumi.StringPtrInput
	// The period in seconds over which the specified statistic is applied. Supported value: 60, 120, 300, 900. Defaults to 300.
	Period pulumi.IntPtrInput
	// The scaling group associated with this alarm, the 'ForceNew' attribute is available in 1.56.0+.
	ScalingGroupId pulumi.StringInput
	// The statistic to apply to the alarm's associated metric. Supported value: Average, Minimum, Maximum. Defaults to Average.
	Statistics pulumi.StringPtrInput
	// The value against which the specified statistics is compared.
	Threshold pulumi.StringInput
}

The set of arguments for constructing a Alarm resource.

func (AlarmArgs) ElementType

func (AlarmArgs) ElementType() reflect.Type

type AlarmArray

type AlarmArray []AlarmInput

func (AlarmArray) ElementType

func (AlarmArray) ElementType() reflect.Type

func (AlarmArray) ToAlarmArrayOutput

func (i AlarmArray) ToAlarmArrayOutput() AlarmArrayOutput

func (AlarmArray) ToAlarmArrayOutputWithContext

func (i AlarmArray) ToAlarmArrayOutputWithContext(ctx context.Context) AlarmArrayOutput

type AlarmArrayInput

type AlarmArrayInput interface {
	pulumi.Input

	ToAlarmArrayOutput() AlarmArrayOutput
	ToAlarmArrayOutputWithContext(context.Context) AlarmArrayOutput
}

AlarmArrayInput is an input type that accepts AlarmArray and AlarmArrayOutput values. You can construct a concrete instance of `AlarmArrayInput` via:

AlarmArray{ AlarmArgs{...} }

type AlarmArrayOutput

type AlarmArrayOutput struct{ *pulumi.OutputState }

func (AlarmArrayOutput) ElementType

func (AlarmArrayOutput) ElementType() reflect.Type

func (AlarmArrayOutput) Index

func (AlarmArrayOutput) ToAlarmArrayOutput

func (o AlarmArrayOutput) ToAlarmArrayOutput() AlarmArrayOutput

func (AlarmArrayOutput) ToAlarmArrayOutputWithContext

func (o AlarmArrayOutput) ToAlarmArrayOutputWithContext(ctx context.Context) AlarmArrayOutput

type AlarmInput

type AlarmInput interface {
	pulumi.Input

	ToAlarmOutput() AlarmOutput
	ToAlarmOutputWithContext(ctx context.Context) AlarmOutput
}

type AlarmMap

type AlarmMap map[string]AlarmInput

func (AlarmMap) ElementType

func (AlarmMap) ElementType() reflect.Type

func (AlarmMap) ToAlarmMapOutput

func (i AlarmMap) ToAlarmMapOutput() AlarmMapOutput

func (AlarmMap) ToAlarmMapOutputWithContext

func (i AlarmMap) ToAlarmMapOutputWithContext(ctx context.Context) AlarmMapOutput

type AlarmMapInput

type AlarmMapInput interface {
	pulumi.Input

	ToAlarmMapOutput() AlarmMapOutput
	ToAlarmMapOutputWithContext(context.Context) AlarmMapOutput
}

AlarmMapInput is an input type that accepts AlarmMap and AlarmMapOutput values. You can construct a concrete instance of `AlarmMapInput` via:

AlarmMap{ "key": AlarmArgs{...} }

type AlarmMapOutput

type AlarmMapOutput struct{ *pulumi.OutputState }

func (AlarmMapOutput) ElementType

func (AlarmMapOutput) ElementType() reflect.Type

func (AlarmMapOutput) MapIndex

func (AlarmMapOutput) ToAlarmMapOutput

func (o AlarmMapOutput) ToAlarmMapOutput() AlarmMapOutput

func (AlarmMapOutput) ToAlarmMapOutputWithContext

func (o AlarmMapOutput) ToAlarmMapOutputWithContext(ctx context.Context) AlarmMapOutput

type AlarmOutput

type AlarmOutput struct{ *pulumi.OutputState }

func (AlarmOutput) AlarmActions added in v3.27.0

func (o AlarmOutput) AlarmActions() pulumi.StringArrayOutput

The list of actions to execute when this alarm transition into an ALARM state. Each action is specified as ess scaling rule ari.

func (AlarmOutput) CloudMonitorGroupId added in v3.27.0

func (o AlarmOutput) CloudMonitorGroupId() pulumi.IntPtrOutput

Defines the application group id defined by CMS which is assigned when you upload custom metric to CMS, only available for custom metirc.

func (AlarmOutput) ComparisonOperator added in v3.27.0

func (o AlarmOutput) ComparisonOperator() pulumi.StringPtrOutput

The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Supported value: >=, <=, >, <. Defaults to >=.

func (AlarmOutput) Description added in v3.27.0

func (o AlarmOutput) Description() pulumi.StringPtrOutput

The description for the alarm.

func (AlarmOutput) Dimensions added in v3.27.0

func (o AlarmOutput) Dimensions() pulumi.MapOutput

The dimension map for the alarm's associated metric. For all metrics, you can not set the dimension key as "scalingGroup" or "userId", which is set by default, the second dimension for metric, such as "device" for "PackagesNetIn", need to be set by users. See `dimensions` below.

func (AlarmOutput) ElementType

func (AlarmOutput) ElementType() reflect.Type

func (AlarmOutput) Enable added in v3.27.0

func (o AlarmOutput) Enable() pulumi.BoolPtrOutput

Whether to enable specific ess alarm. Default to true.

func (AlarmOutput) EvaluationCount added in v3.27.0

func (o AlarmOutput) EvaluationCount() pulumi.IntPtrOutput

The number of times that needs to satisfies comparison condition before transition into ALARM state. Defaults to 3.

func (AlarmOutput) MetricName added in v3.27.0

func (o AlarmOutput) MetricName() pulumi.StringOutput

The name for the alarm's associated metric. See `dimensions` below for details.

func (AlarmOutput) MetricType added in v3.27.0

func (o AlarmOutput) MetricType() pulumi.StringPtrOutput

The type for the alarm's associated metric. Supported value: system, custom. "system" means the metric data is collected by Aliyun Cloud Monitor Service(CMS), "custom" means the metric data is upload to CMS by users. Defaults to system.

func (AlarmOutput) Name added in v3.27.0

func (o AlarmOutput) Name() pulumi.StringOutput

The name for ess alarm.

func (AlarmOutput) Period added in v3.27.0

func (o AlarmOutput) Period() pulumi.IntPtrOutput

The period in seconds over which the specified statistic is applied. Supported value: 60, 120, 300, 900. Defaults to 300.

func (AlarmOutput) ScalingGroupId added in v3.27.0

func (o AlarmOutput) ScalingGroupId() pulumi.StringOutput

The scaling group associated with this alarm, the 'ForceNew' attribute is available in 1.56.0+.

func (AlarmOutput) State added in v3.27.0

func (o AlarmOutput) State() pulumi.StringOutput

The status of the event-triggered task. Valid values: - ALARM: The alert condition is met and an alert is triggered. - OK: The alert condition is not met. - INSUFFICIENT_DATA: Auto Scaling cannot determine whether the alert condition is met due to insufficient data.

func (AlarmOutput) Statistics added in v3.27.0

func (o AlarmOutput) Statistics() pulumi.StringPtrOutput

The statistic to apply to the alarm's associated metric. Supported value: Average, Minimum, Maximum. Defaults to Average.

func (AlarmOutput) Threshold added in v3.27.0

func (o AlarmOutput) Threshold() pulumi.StringOutput

The value against which the specified statistics is compared.

func (AlarmOutput) ToAlarmOutput

func (o AlarmOutput) ToAlarmOutput() AlarmOutput

func (AlarmOutput) ToAlarmOutputWithContext

func (o AlarmOutput) ToAlarmOutputWithContext(ctx context.Context) AlarmOutput

type AlarmState

type AlarmState struct {
	// The list of actions to execute when this alarm transition into an ALARM state. Each action is specified as ess scaling rule ari.
	AlarmActions pulumi.StringArrayInput
	// Defines the application group id defined by CMS which is assigned when you upload custom metric to CMS, only available for custom metirc.
	CloudMonitorGroupId pulumi.IntPtrInput
	// The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Supported value: >=, <=, >, <. Defaults to >=.
	ComparisonOperator pulumi.StringPtrInput
	// The description for the alarm.
	Description pulumi.StringPtrInput
	// The dimension map for the alarm's associated metric. For all metrics, you can not set the dimension key as "scalingGroup" or "userId", which is set by default, the second dimension for metric, such as "device" for "PackagesNetIn", need to be set by users. See `dimensions` below.
	Dimensions pulumi.MapInput
	// Whether to enable specific ess alarm. Default to true.
	Enable pulumi.BoolPtrInput
	// The number of times that needs to satisfies comparison condition before transition into ALARM state. Defaults to 3.
	EvaluationCount pulumi.IntPtrInput
	// The name for the alarm's associated metric. See `dimensions` below for details.
	MetricName pulumi.StringPtrInput
	// The type for the alarm's associated metric. Supported value: system, custom. "system" means the metric data is collected by Aliyun Cloud Monitor Service(CMS), "custom" means the metric data is upload to CMS by users. Defaults to system.
	MetricType pulumi.StringPtrInput
	// The name for ess alarm.
	Name pulumi.StringPtrInput
	// The period in seconds over which the specified statistic is applied. Supported value: 60, 120, 300, 900. Defaults to 300.
	Period pulumi.IntPtrInput
	// The scaling group associated with this alarm, the 'ForceNew' attribute is available in 1.56.0+.
	ScalingGroupId pulumi.StringPtrInput
	// The status of the event-triggered task. Valid values:
	// - ALARM: The alert condition is met and an alert is triggered.
	// - OK: The alert condition is not met.
	// - INSUFFICIENT_DATA: Auto Scaling cannot determine whether the alert condition is met due to insufficient data.
	State pulumi.StringPtrInput
	// The statistic to apply to the alarm's associated metric. Supported value: Average, Minimum, Maximum. Defaults to Average.
	Statistics pulumi.StringPtrInput
	// The value against which the specified statistics is compared.
	Threshold pulumi.StringPtrInput
}

func (AlarmState) ElementType

func (AlarmState) ElementType() reflect.Type

type AlbServerGroupAttachment added in v3.18.0

type AlbServerGroupAttachment struct {
	pulumi.CustomResourceState

	// ID of Alb Server Group.
	AlbServerGroupId pulumi.StringOutput `pulumi:"albServerGroupId"`
	// If instances of scaling group are attached/removed from slb backend server when attach/detach alb
	// server group from scaling group. Default to false.
	ForceAttach pulumi.BoolPtrOutput `pulumi:"forceAttach"`
	// The port will be used for Alb Server Group backend server.
	Port pulumi.IntOutput `pulumi:"port"`
	// ID of the scaling group.
	ScalingGroupId pulumi.StringOutput `pulumi:"scalingGroupId"`
	// The weight of an ECS instance attached to the Alb Server Group.
	Weight pulumi.IntOutput `pulumi:"weight"`
}

Attaches/Detaches alb server group to a specified scaling group.

For information about alb server group attachment, see [AttachAlbServerGroups](https://www.alibabacloud.com/help/en/doc-detail/266800.html).

> **NOTE:** If scaling group's network type is `VPC`, the alb server groups must be in the same `VPC`.

> **NOTE:** Alb server group attachment is defined uniquely by `scalingGroupId`, `albServerGroupId`, `port`.

> **NOTE:** Resource `ess.AlbServerGroupAttachment` don't support modification.

> **NOTE:** Available since v1.158.0.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultInteger, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
			Min: 10000,
			Max: 99999,
		})
		if err != nil {
			return err
		}
		myName := fmt.Sprintf("%v-%v", name, defaultInteger.Result)
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableDiskCategory:     pulumi.StringRef("cloud_efficiency"),
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),
			CpuCoreCount:     pulumi.IntRef(2),
			MemorySize:       pulumi.Float64Ref(4),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
			NameRegex:  pulumi.StringRef("^ubuntu_18.*64"),
			MostRecent: pulumi.BoolRef(true),
			Owners:     pulumi.StringRef("system"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(myName),
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/24"),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
			VswitchName: pulumi.String(myName),
		})
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			Name:  pulumi.String(myName),
			VpcId: defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		defaultScalingGroup, err := ess.NewScalingGroup(ctx, "default", &ess.ScalingGroupArgs{
			MinSize:          pulumi.Int(0),
			MaxSize:          pulumi.Int(2),
			ScalingGroupName: pulumi.String(myName),
			DefaultCooldown:  pulumi.Int(200),
			RemovalPolicies: pulumi.StringArray{
				pulumi.String("OldestInstance"),
			},
			VswitchIds: pulumi.StringArray{
				defaultSwitch.ID(),
			},
		})
		if err != nil {
			return err
		}
		defaultScalingConfiguration, err := ess.NewScalingConfiguration(ctx, "default", &ess.ScalingConfigurationArgs{
			ScalingGroupId:  defaultScalingGroup.ID(),
			ImageId:         pulumi.String(defaultGetImages.Images[0].Id),
			InstanceType:    pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),
			SecurityGroupId: defaultSecurityGroup.ID(),
			ForceDelete:     pulumi.Bool(true),
			Active:          pulumi.Bool(true),
			Enable:          pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		defaultServerGroup, err := alb.NewServerGroup(ctx, "default", &alb.ServerGroupArgs{
			ServerGroupName: pulumi.String(myName),
			VpcId:           defaultNetwork.ID(),
			HealthCheckConfig: &alb.ServerGroupHealthCheckConfigArgs{
				HealthCheckEnabled: pulumi.Bool(false),
			},
			StickySessionConfig: &alb.ServerGroupStickySessionConfigArgs{
				StickySessionEnabled: pulumi.Bool(true),
				Cookie:               pulumi.String("tf-example"),
				StickySessionType:    pulumi.String("Server"),
			},
		})
		if err != nil {
			return err
		}
		_, err = ess.NewAlbServerGroupAttachment(ctx, "default", &ess.AlbServerGroupAttachmentArgs{
			ScalingGroupId:   defaultScalingConfiguration.ScalingGroupId,
			AlbServerGroupId: defaultServerGroup.ID(),
			Port:             pulumi.Int(9000),
			Weight:           pulumi.Int(50),
			ForceAttach:      pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESS alb server groups can be imported using the id, e.g.

```sh $ pulumi import alicloud:ess/albServerGroupAttachment:AlbServerGroupAttachment example asg-xxx:sgp-xxx:5000 ```

func GetAlbServerGroupAttachment added in v3.18.0

func GetAlbServerGroupAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AlbServerGroupAttachmentState, opts ...pulumi.ResourceOption) (*AlbServerGroupAttachment, error)

GetAlbServerGroupAttachment gets an existing AlbServerGroupAttachment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAlbServerGroupAttachment added in v3.18.0

func NewAlbServerGroupAttachment(ctx *pulumi.Context,
	name string, args *AlbServerGroupAttachmentArgs, opts ...pulumi.ResourceOption) (*AlbServerGroupAttachment, error)

NewAlbServerGroupAttachment registers a new resource with the given unique name, arguments, and options.

func (*AlbServerGroupAttachment) ElementType added in v3.18.0

func (*AlbServerGroupAttachment) ElementType() reflect.Type

func (*AlbServerGroupAttachment) ToAlbServerGroupAttachmentOutput added in v3.18.0

func (i *AlbServerGroupAttachment) ToAlbServerGroupAttachmentOutput() AlbServerGroupAttachmentOutput

func (*AlbServerGroupAttachment) ToAlbServerGroupAttachmentOutputWithContext added in v3.18.0

func (i *AlbServerGroupAttachment) ToAlbServerGroupAttachmentOutputWithContext(ctx context.Context) AlbServerGroupAttachmentOutput

type AlbServerGroupAttachmentArgs added in v3.18.0

type AlbServerGroupAttachmentArgs struct {
	// ID of Alb Server Group.
	AlbServerGroupId pulumi.StringInput
	// If instances of scaling group are attached/removed from slb backend server when attach/detach alb
	// server group from scaling group. Default to false.
	ForceAttach pulumi.BoolPtrInput
	// The port will be used for Alb Server Group backend server.
	Port pulumi.IntInput
	// ID of the scaling group.
	ScalingGroupId pulumi.StringInput
	// The weight of an ECS instance attached to the Alb Server Group.
	Weight pulumi.IntInput
}

The set of arguments for constructing a AlbServerGroupAttachment resource.

func (AlbServerGroupAttachmentArgs) ElementType added in v3.18.0

type AlbServerGroupAttachmentArray added in v3.18.0

type AlbServerGroupAttachmentArray []AlbServerGroupAttachmentInput

func (AlbServerGroupAttachmentArray) ElementType added in v3.18.0

func (AlbServerGroupAttachmentArray) ToAlbServerGroupAttachmentArrayOutput added in v3.18.0

func (i AlbServerGroupAttachmentArray) ToAlbServerGroupAttachmentArrayOutput() AlbServerGroupAttachmentArrayOutput

func (AlbServerGroupAttachmentArray) ToAlbServerGroupAttachmentArrayOutputWithContext added in v3.18.0

func (i AlbServerGroupAttachmentArray) ToAlbServerGroupAttachmentArrayOutputWithContext(ctx context.Context) AlbServerGroupAttachmentArrayOutput

type AlbServerGroupAttachmentArrayInput added in v3.18.0

type AlbServerGroupAttachmentArrayInput interface {
	pulumi.Input

	ToAlbServerGroupAttachmentArrayOutput() AlbServerGroupAttachmentArrayOutput
	ToAlbServerGroupAttachmentArrayOutputWithContext(context.Context) AlbServerGroupAttachmentArrayOutput
}

AlbServerGroupAttachmentArrayInput is an input type that accepts AlbServerGroupAttachmentArray and AlbServerGroupAttachmentArrayOutput values. You can construct a concrete instance of `AlbServerGroupAttachmentArrayInput` via:

AlbServerGroupAttachmentArray{ AlbServerGroupAttachmentArgs{...} }

type AlbServerGroupAttachmentArrayOutput added in v3.18.0

type AlbServerGroupAttachmentArrayOutput struct{ *pulumi.OutputState }

func (AlbServerGroupAttachmentArrayOutput) ElementType added in v3.18.0

func (AlbServerGroupAttachmentArrayOutput) Index added in v3.18.0

func (AlbServerGroupAttachmentArrayOutput) ToAlbServerGroupAttachmentArrayOutput added in v3.18.0

func (o AlbServerGroupAttachmentArrayOutput) ToAlbServerGroupAttachmentArrayOutput() AlbServerGroupAttachmentArrayOutput

func (AlbServerGroupAttachmentArrayOutput) ToAlbServerGroupAttachmentArrayOutputWithContext added in v3.18.0

func (o AlbServerGroupAttachmentArrayOutput) ToAlbServerGroupAttachmentArrayOutputWithContext(ctx context.Context) AlbServerGroupAttachmentArrayOutput

type AlbServerGroupAttachmentInput added in v3.18.0

type AlbServerGroupAttachmentInput interface {
	pulumi.Input

	ToAlbServerGroupAttachmentOutput() AlbServerGroupAttachmentOutput
	ToAlbServerGroupAttachmentOutputWithContext(ctx context.Context) AlbServerGroupAttachmentOutput
}

type AlbServerGroupAttachmentMap added in v3.18.0

type AlbServerGroupAttachmentMap map[string]AlbServerGroupAttachmentInput

func (AlbServerGroupAttachmentMap) ElementType added in v3.18.0

func (AlbServerGroupAttachmentMap) ToAlbServerGroupAttachmentMapOutput added in v3.18.0

func (i AlbServerGroupAttachmentMap) ToAlbServerGroupAttachmentMapOutput() AlbServerGroupAttachmentMapOutput

func (AlbServerGroupAttachmentMap) ToAlbServerGroupAttachmentMapOutputWithContext added in v3.18.0

func (i AlbServerGroupAttachmentMap) ToAlbServerGroupAttachmentMapOutputWithContext(ctx context.Context) AlbServerGroupAttachmentMapOutput

type AlbServerGroupAttachmentMapInput added in v3.18.0

type AlbServerGroupAttachmentMapInput interface {
	pulumi.Input

	ToAlbServerGroupAttachmentMapOutput() AlbServerGroupAttachmentMapOutput
	ToAlbServerGroupAttachmentMapOutputWithContext(context.Context) AlbServerGroupAttachmentMapOutput
}

AlbServerGroupAttachmentMapInput is an input type that accepts AlbServerGroupAttachmentMap and AlbServerGroupAttachmentMapOutput values. You can construct a concrete instance of `AlbServerGroupAttachmentMapInput` via:

AlbServerGroupAttachmentMap{ "key": AlbServerGroupAttachmentArgs{...} }

type AlbServerGroupAttachmentMapOutput added in v3.18.0

type AlbServerGroupAttachmentMapOutput struct{ *pulumi.OutputState }

func (AlbServerGroupAttachmentMapOutput) ElementType added in v3.18.0

func (AlbServerGroupAttachmentMapOutput) MapIndex added in v3.18.0

func (AlbServerGroupAttachmentMapOutput) ToAlbServerGroupAttachmentMapOutput added in v3.18.0

func (o AlbServerGroupAttachmentMapOutput) ToAlbServerGroupAttachmentMapOutput() AlbServerGroupAttachmentMapOutput

func (AlbServerGroupAttachmentMapOutput) ToAlbServerGroupAttachmentMapOutputWithContext added in v3.18.0

func (o AlbServerGroupAttachmentMapOutput) ToAlbServerGroupAttachmentMapOutputWithContext(ctx context.Context) AlbServerGroupAttachmentMapOutput

type AlbServerGroupAttachmentOutput added in v3.18.0

type AlbServerGroupAttachmentOutput struct{ *pulumi.OutputState }

func (AlbServerGroupAttachmentOutput) AlbServerGroupId added in v3.27.0

func (o AlbServerGroupAttachmentOutput) AlbServerGroupId() pulumi.StringOutput

ID of Alb Server Group.

func (AlbServerGroupAttachmentOutput) ElementType added in v3.18.0

func (AlbServerGroupAttachmentOutput) ForceAttach added in v3.27.0

If instances of scaling group are attached/removed from slb backend server when attach/detach alb server group from scaling group. Default to false.

func (AlbServerGroupAttachmentOutput) Port added in v3.27.0

The port will be used for Alb Server Group backend server.

func (AlbServerGroupAttachmentOutput) ScalingGroupId added in v3.27.0

ID of the scaling group.

func (AlbServerGroupAttachmentOutput) ToAlbServerGroupAttachmentOutput added in v3.18.0

func (o AlbServerGroupAttachmentOutput) ToAlbServerGroupAttachmentOutput() AlbServerGroupAttachmentOutput

func (AlbServerGroupAttachmentOutput) ToAlbServerGroupAttachmentOutputWithContext added in v3.18.0

func (o AlbServerGroupAttachmentOutput) ToAlbServerGroupAttachmentOutputWithContext(ctx context.Context) AlbServerGroupAttachmentOutput

func (AlbServerGroupAttachmentOutput) Weight added in v3.27.0

The weight of an ECS instance attached to the Alb Server Group.

type AlbServerGroupAttachmentState added in v3.18.0

type AlbServerGroupAttachmentState struct {
	// ID of Alb Server Group.
	AlbServerGroupId pulumi.StringPtrInput
	// If instances of scaling group are attached/removed from slb backend server when attach/detach alb
	// server group from scaling group. Default to false.
	ForceAttach pulumi.BoolPtrInput
	// The port will be used for Alb Server Group backend server.
	Port pulumi.IntPtrInput
	// ID of the scaling group.
	ScalingGroupId pulumi.StringPtrInput
	// The weight of an ECS instance attached to the Alb Server Group.
	Weight pulumi.IntPtrInput
}

func (AlbServerGroupAttachmentState) ElementType added in v3.18.0

type Attachment

type Attachment struct {
	pulumi.CustomResourceState

	// Specifies whether the scaling group manages the lifecycles of the instances that are manually added to the scaling group.
	Entrusted pulumi.BoolPtrOutput `pulumi:"entrusted"`
	// Whether to remove forcibly "AutoCreated" ECS instances in order to release scaling group capacity "MaxSize" for attaching ECS instances. Default to false.
	Force pulumi.BoolPtrOutput `pulumi:"force"`
	// ID of the ECS instance to be attached to the scaling group. You can input up to 20 IDs.
	InstanceIds pulumi.StringArrayOutput `pulumi:"instanceIds"`
	// Specifies whether to trigger a lifecycle hook for the scaling group to which instances are being added.
	LifecycleHook pulumi.BoolPtrOutput `pulumi:"lifecycleHook"`
	// The weight of ECS instance N or elastic container instance N as a backend server of the associated Server Load Balancer (SLB) instance. Valid values of N: 1 to 20. Valid values of this parameter: 1 to 100.
	//
	// > **NOTE:** "AutoCreated" ECS instance will be deleted after it is removed from scaling group, but "Attached" will be not.
	//
	// > **NOTE:** Restrictions on attaching ECS instances:
	//
	// - The attached ECS instances and the scaling group must have the same region and network type(`Classic` or `VPC`).
	// - The attached ECS instances and the instance with active scaling configurations must have the same instance type.
	// - The attached ECS instances must in the running state.
	// - The attached ECS instances has not been attached to other scaling groups.
	// - The attached ECS instances supports Subscription and Pay-As-You-Go payment methods.
	LoadBalancerWeights pulumi.IntArrayOutput `pulumi:"loadBalancerWeights"`
	// ID of the scaling group of a scaling configuration.
	ScalingGroupId pulumi.StringOutput `pulumi:"scalingGroupId"`
}

Attaches several ECS instances to a specified scaling group or remove them from it.

> **NOTE:** ECS instances can be attached or remove only when the scaling group is active, and it has no scaling activity in progress.

> **NOTE:** There are two types ECS instances in a scaling group: "AutoCreated" and "Attached". The total number of them can not larger than the scaling group "MaxSize".

> **NOTE:** Available since v1.6.0.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultInteger, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
			Min: 10000,
			Max: 99999,
		})
		if err != nil {
			return err
		}
		myName := fmt.Sprintf("%v-%v", name, defaultInteger.Result)
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableDiskCategory:     pulumi.StringRef("cloud_efficiency"),
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),
			CpuCoreCount:     pulumi.IntRef(2),
			MemorySize:       pulumi.Float64Ref(4),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
			NameRegex:  pulumi.StringRef("^ubuntu_18.*64"),
			MostRecent: pulumi.BoolRef(true),
			Owners:     pulumi.StringRef("system"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("^default-NODELETING$"),
			CidrBlock: pulumi.StringRef("10.4.0.0/16"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			CidrBlock: pulumi.StringRef("10.4.0.0/24"),
			VpcId:     pulumi.StringRef(defaultGetNetworks.Ids[0]),
			ZoneId:    pulumi.StringRef(_default.Zones[0].Id),
		}, nil)
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			VpcId: pulumi.String(defaultGetNetworks.Ids[0]),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewSecurityGroupRule(ctx, "default", &ecs.SecurityGroupRuleArgs{
			Type:            pulumi.String("ingress"),
			IpProtocol:      pulumi.String("tcp"),
			NicType:         pulumi.String("intranet"),
			Policy:          pulumi.String("accept"),
			PortRange:       pulumi.String("22/22"),
			Priority:        pulumi.Int(1),
			SecurityGroupId: defaultSecurityGroup.ID(),
			CidrIp:          pulumi.String("172.16.0.0/24"),
		})
		if err != nil {
			return err
		}
		defaultScalingGroup, err := ess.NewScalingGroup(ctx, "default", &ess.ScalingGroupArgs{
			MinSize:          pulumi.Int(0),
			MaxSize:          pulumi.Int(2),
			ScalingGroupName: pulumi.String(myName),
			RemovalPolicies: pulumi.StringArray{
				pulumi.String("OldestInstance"),
				pulumi.String("NewestInstance"),
			},
			VswitchIds: pulumi.StringArray{
				pulumi.String(defaultGetSwitches.Ids[0]),
			},
		})
		if err != nil {
			return err
		}
		_, err = ess.NewScalingConfiguration(ctx, "default", &ess.ScalingConfigurationArgs{
			ScalingGroupId:  defaultScalingGroup.ID(),
			ImageId:         pulumi.String(defaultGetImages.Images[0].Id),
			InstanceType:    pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),
			SecurityGroupId: defaultSecurityGroup.ID(),
			ForceDelete:     pulumi.Bool(true),
			Active:          pulumi.Bool(true),
			Enable:          pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		var defaultInstance []*ecs.Instance
		for index := 0; index < 2; index++ {
			key0 := index
			_ := index
			__res, err := ecs.NewInstance(ctx, fmt.Sprintf("default-%v", key0), &ecs.InstanceArgs{
				ImageId:      pulumi.String(defaultGetImages.Images[0].Id),
				InstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),
				SecurityGroups: pulumi.StringArray{
					defaultSecurityGroup.ID(),
				},
				InternetChargeType:      pulumi.String("PayByTraffic"),
				InternetMaxBandwidthOut: pulumi.Int(10),
				InstanceChargeType:      pulumi.String("PostPaid"),
				SystemDiskCategory:      pulumi.String("cloud_efficiency"),
				VswitchId:               pulumi.String(defaultGetSwitches.Ids[0]),
				InstanceName:            pulumi.String(name),
			})
			if err != nil {
				return err
			}
			defaultInstance = append(defaultInstance, __res)
		}
		_, err = ess.NewAttachment(ctx, "default", &ess.AttachmentArgs{
			ScalingGroupId: defaultScalingGroup.ID(),
			InstanceIds: pulumi.StringArray{
				defaultInstance[0].ID(),
				defaultInstance[1].ID(),
			},
			Force: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESS attachment can be imported using the id or scaling group id, e.g.

```sh $ pulumi import alicloud:ess/attachment:Attachment example asg-abc123456 ```

func GetAttachment

func GetAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AttachmentState, opts ...pulumi.ResourceOption) (*Attachment, error)

GetAttachment gets an existing Attachment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAttachment

func NewAttachment(ctx *pulumi.Context,
	name string, args *AttachmentArgs, opts ...pulumi.ResourceOption) (*Attachment, error)

NewAttachment registers a new resource with the given unique name, arguments, and options.

func (*Attachment) ElementType

func (*Attachment) ElementType() reflect.Type

func (*Attachment) ToAttachmentOutput

func (i *Attachment) ToAttachmentOutput() AttachmentOutput

func (*Attachment) ToAttachmentOutputWithContext

func (i *Attachment) ToAttachmentOutputWithContext(ctx context.Context) AttachmentOutput

type AttachmentArgs

type AttachmentArgs struct {
	// Specifies whether the scaling group manages the lifecycles of the instances that are manually added to the scaling group.
	Entrusted pulumi.BoolPtrInput
	// Whether to remove forcibly "AutoCreated" ECS instances in order to release scaling group capacity "MaxSize" for attaching ECS instances. Default to false.
	Force pulumi.BoolPtrInput
	// ID of the ECS instance to be attached to the scaling group. You can input up to 20 IDs.
	InstanceIds pulumi.StringArrayInput
	// Specifies whether to trigger a lifecycle hook for the scaling group to which instances are being added.
	LifecycleHook pulumi.BoolPtrInput
	// The weight of ECS instance N or elastic container instance N as a backend server of the associated Server Load Balancer (SLB) instance. Valid values of N: 1 to 20. Valid values of this parameter: 1 to 100.
	//
	// > **NOTE:** "AutoCreated" ECS instance will be deleted after it is removed from scaling group, but "Attached" will be not.
	//
	// > **NOTE:** Restrictions on attaching ECS instances:
	//
	// - The attached ECS instances and the scaling group must have the same region and network type(`Classic` or `VPC`).
	// - The attached ECS instances and the instance with active scaling configurations must have the same instance type.
	// - The attached ECS instances must in the running state.
	// - The attached ECS instances has not been attached to other scaling groups.
	// - The attached ECS instances supports Subscription and Pay-As-You-Go payment methods.
	LoadBalancerWeights pulumi.IntArrayInput
	// ID of the scaling group of a scaling configuration.
	ScalingGroupId pulumi.StringInput
}

The set of arguments for constructing a Attachment resource.

func (AttachmentArgs) ElementType

func (AttachmentArgs) ElementType() reflect.Type

type AttachmentArray

type AttachmentArray []AttachmentInput

func (AttachmentArray) ElementType

func (AttachmentArray) ElementType() reflect.Type

func (AttachmentArray) ToAttachmentArrayOutput

func (i AttachmentArray) ToAttachmentArrayOutput() AttachmentArrayOutput

func (AttachmentArray) ToAttachmentArrayOutputWithContext

func (i AttachmentArray) ToAttachmentArrayOutputWithContext(ctx context.Context) AttachmentArrayOutput

type AttachmentArrayInput

type AttachmentArrayInput interface {
	pulumi.Input

	ToAttachmentArrayOutput() AttachmentArrayOutput
	ToAttachmentArrayOutputWithContext(context.Context) AttachmentArrayOutput
}

AttachmentArrayInput is an input type that accepts AttachmentArray and AttachmentArrayOutput values. You can construct a concrete instance of `AttachmentArrayInput` via:

AttachmentArray{ AttachmentArgs{...} }

type AttachmentArrayOutput

type AttachmentArrayOutput struct{ *pulumi.OutputState }

func (AttachmentArrayOutput) ElementType

func (AttachmentArrayOutput) ElementType() reflect.Type

func (AttachmentArrayOutput) Index

func (AttachmentArrayOutput) ToAttachmentArrayOutput

func (o AttachmentArrayOutput) ToAttachmentArrayOutput() AttachmentArrayOutput

func (AttachmentArrayOutput) ToAttachmentArrayOutputWithContext

func (o AttachmentArrayOutput) ToAttachmentArrayOutputWithContext(ctx context.Context) AttachmentArrayOutput

type AttachmentInput

type AttachmentInput interface {
	pulumi.Input

	ToAttachmentOutput() AttachmentOutput
	ToAttachmentOutputWithContext(ctx context.Context) AttachmentOutput
}

type AttachmentMap

type AttachmentMap map[string]AttachmentInput

func (AttachmentMap) ElementType

func (AttachmentMap) ElementType() reflect.Type

func (AttachmentMap) ToAttachmentMapOutput

func (i AttachmentMap) ToAttachmentMapOutput() AttachmentMapOutput

func (AttachmentMap) ToAttachmentMapOutputWithContext

func (i AttachmentMap) ToAttachmentMapOutputWithContext(ctx context.Context) AttachmentMapOutput

type AttachmentMapInput

type AttachmentMapInput interface {
	pulumi.Input

	ToAttachmentMapOutput() AttachmentMapOutput
	ToAttachmentMapOutputWithContext(context.Context) AttachmentMapOutput
}

AttachmentMapInput is an input type that accepts AttachmentMap and AttachmentMapOutput values. You can construct a concrete instance of `AttachmentMapInput` via:

AttachmentMap{ "key": AttachmentArgs{...} }

type AttachmentMapOutput

type AttachmentMapOutput struct{ *pulumi.OutputState }

func (AttachmentMapOutput) ElementType

func (AttachmentMapOutput) ElementType() reflect.Type

func (AttachmentMapOutput) MapIndex

func (AttachmentMapOutput) ToAttachmentMapOutput

func (o AttachmentMapOutput) ToAttachmentMapOutput() AttachmentMapOutput

func (AttachmentMapOutput) ToAttachmentMapOutputWithContext

func (o AttachmentMapOutput) ToAttachmentMapOutputWithContext(ctx context.Context) AttachmentMapOutput

type AttachmentOutput

type AttachmentOutput struct{ *pulumi.OutputState }

func (AttachmentOutput) ElementType

func (AttachmentOutput) ElementType() reflect.Type

func (AttachmentOutput) Entrusted added in v3.52.0

func (o AttachmentOutput) Entrusted() pulumi.BoolPtrOutput

Specifies whether the scaling group manages the lifecycles of the instances that are manually added to the scaling group.

func (AttachmentOutput) Force added in v3.27.0

Whether to remove forcibly "AutoCreated" ECS instances in order to release scaling group capacity "MaxSize" for attaching ECS instances. Default to false.

func (AttachmentOutput) InstanceIds added in v3.27.0

func (o AttachmentOutput) InstanceIds() pulumi.StringArrayOutput

ID of the ECS instance to be attached to the scaling group. You can input up to 20 IDs.

func (AttachmentOutput) LifecycleHook added in v3.52.0

func (o AttachmentOutput) LifecycleHook() pulumi.BoolPtrOutput

Specifies whether to trigger a lifecycle hook for the scaling group to which instances are being added.

func (AttachmentOutput) LoadBalancerWeights added in v3.52.0

func (o AttachmentOutput) LoadBalancerWeights() pulumi.IntArrayOutput

The weight of ECS instance N or elastic container instance N as a backend server of the associated Server Load Balancer (SLB) instance. Valid values of N: 1 to 20. Valid values of this parameter: 1 to 100.

> **NOTE:** "AutoCreated" ECS instance will be deleted after it is removed from scaling group, but "Attached" will be not.

> **NOTE:** Restrictions on attaching ECS instances:

- The attached ECS instances and the scaling group must have the same region and network type(`Classic` or `VPC`). - The attached ECS instances and the instance with active scaling configurations must have the same instance type. - The attached ECS instances must in the running state. - The attached ECS instances has not been attached to other scaling groups. - The attached ECS instances supports Subscription and Pay-As-You-Go payment methods.

func (AttachmentOutput) ScalingGroupId added in v3.27.0

func (o AttachmentOutput) ScalingGroupId() pulumi.StringOutput

ID of the scaling group of a scaling configuration.

func (AttachmentOutput) ToAttachmentOutput

func (o AttachmentOutput) ToAttachmentOutput() AttachmentOutput

func (AttachmentOutput) ToAttachmentOutputWithContext

func (o AttachmentOutput) ToAttachmentOutputWithContext(ctx context.Context) AttachmentOutput

type AttachmentState

type AttachmentState struct {
	// Specifies whether the scaling group manages the lifecycles of the instances that are manually added to the scaling group.
	Entrusted pulumi.BoolPtrInput
	// Whether to remove forcibly "AutoCreated" ECS instances in order to release scaling group capacity "MaxSize" for attaching ECS instances. Default to false.
	Force pulumi.BoolPtrInput
	// ID of the ECS instance to be attached to the scaling group. You can input up to 20 IDs.
	InstanceIds pulumi.StringArrayInput
	// Specifies whether to trigger a lifecycle hook for the scaling group to which instances are being added.
	LifecycleHook pulumi.BoolPtrInput
	// The weight of ECS instance N or elastic container instance N as a backend server of the associated Server Load Balancer (SLB) instance. Valid values of N: 1 to 20. Valid values of this parameter: 1 to 100.
	//
	// > **NOTE:** "AutoCreated" ECS instance will be deleted after it is removed from scaling group, but "Attached" will be not.
	//
	// > **NOTE:** Restrictions on attaching ECS instances:
	//
	// - The attached ECS instances and the scaling group must have the same region and network type(`Classic` or `VPC`).
	// - The attached ECS instances and the instance with active scaling configurations must have the same instance type.
	// - The attached ECS instances must in the running state.
	// - The attached ECS instances has not been attached to other scaling groups.
	// - The attached ECS instances supports Subscription and Pay-As-You-Go payment methods.
	LoadBalancerWeights pulumi.IntArrayInput
	// ID of the scaling group of a scaling configuration.
	ScalingGroupId pulumi.StringPtrInput
}

func (AttachmentState) ElementType

func (AttachmentState) ElementType() reflect.Type

type EciScalingConfiguration added in v3.20.0

type EciScalingConfiguration struct {
	pulumi.CustomResourceState

	// Information about the Container Registry Enterprise Edition instance. See `acrRegistryInfos` below for details.
	AcrRegistryInfos EciScalingConfigurationAcrRegistryInfoArrayOutput `pulumi:"acrRegistryInfos"`
	// Whether active current eci scaling configuration in the specified scaling group. Note that only
	// one configuration can be active. Default to `false`.
	Active pulumi.BoolPtrOutput `pulumi:"active"`
	// The duration in seconds relative to the startTime that the job may be active before the system tries to terminate it.
	ActiveDeadlineSeconds pulumi.IntPtrOutput `pulumi:"activeDeadlineSeconds"`
	// Whether create eip automatically.
	AutoCreateEip pulumi.BoolPtrOutput `pulumi:"autoCreateEip"`
	// Whether to automatically match the image cache.
	AutoMatchImageCache pulumi.BoolPtrOutput `pulumi:"autoMatchImageCache"`
	// The name of the container group. which must contain 2-128 characters (
	// English), starting with numbers, English lowercase letters , and can contain number, and hypens `-`.
	ContainerGroupName pulumi.StringPtrOutput `pulumi:"containerGroupName"`
	// The list of containers. See `containers` below for details.
	Containers EciScalingConfigurationContainerArrayOutput `pulumi:"containers"`
	// The amount of CPU resources allocated to the container group.
	Cpu pulumi.Float64PtrOutput `pulumi:"cpu"`
	// The description of data disk N. Valid values of N: 1 to 16. The description must be 2 to
	// 256 characters in length and cannot start with http:// or https://.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// dns policy of contain group.
	DnsPolicy pulumi.StringPtrOutput `pulumi:"dnsPolicy"`
	// egress bandwidth.
	EgressBandwidth pulumi.IntPtrOutput `pulumi:"egressBandwidth"`
	// Eip bandwidth.
	EipBandwidth pulumi.IntPtrOutput `pulumi:"eipBandwidth"`
	// Enable sls log service.
	EnableSls pulumi.BoolPtrOutput `pulumi:"enableSls"`
	// The size of ephemeral storage.
	EphemeralStorage pulumi.IntPtrOutput `pulumi:"ephemeralStorage"`
	// The eci scaling configuration will be deleted forcibly with deleting its scaling group.
	// Default to false.
	ForceDelete pulumi.BoolPtrOutput `pulumi:"forceDelete"`
	// HostAliases. See `hostAliases` below.
	HostAliases EciScalingConfigurationHostAliasArrayOutput `pulumi:"hostAliases"`
	// Hostname of an ECI instance.
	HostName pulumi.StringPtrOutput `pulumi:"hostName"`
	// The image registry credential.   See `imageRegistryCredentials` below for
	// details.
	ImageRegistryCredentials EciScalingConfigurationImageRegistryCredentialArrayOutput `pulumi:"imageRegistryCredentials"`
	// The ID of image cache.
	ImageSnapshotId pulumi.StringPtrOutput `pulumi:"imageSnapshotId"`
	// Ingress bandwidth.
	IngressBandwidth pulumi.IntPtrOutput `pulumi:"ingressBandwidth"`
	// The list of initContainers. See `initContainers` below for details.
	InitContainers EciScalingConfigurationInitContainerArrayOutput `pulumi:"initContainers"`
	// The specified ECS instance types. You can specify up to five ECS instance types.
	InstanceTypes pulumi.StringArrayOutput `pulumi:"instanceTypes"`
	// Number of IPv6 addresses.
	Ipv6AddressCount pulumi.IntPtrOutput `pulumi:"ipv6AddressCount"`
	// The weight of an ECI instance attached to the Server Group.
	LoadBalancerWeight pulumi.IntPtrOutput `pulumi:"loadBalancerWeight"`
	// The amount of memory resources allocated to the container group.
	Memory pulumi.Float64PtrOutput `pulumi:"memory"`
	// The RAM role that the container group assumes. ECI and ECS share the same RAM role.
	RamRoleName pulumi.StringPtrOutput `pulumi:"ramRoleName"`
	// ID of resource group.
	ResourceGroupId pulumi.StringPtrOutput `pulumi:"resourceGroupId"`
	// The restart policy of the container group. Default to `Always`.
	RestartPolicy pulumi.StringPtrOutput `pulumi:"restartPolicy"`
	// Name shown for the scheduled task. which must contain 2-64 characters (
	// English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number,
	// underscores `_`, hypens `-`, and decimal point `.`. If this parameter value is not specified, the default value is
	// EciScalingConfigurationId.
	ScalingConfigurationName pulumi.StringOutput `pulumi:"scalingConfigurationName"`
	// ID of the scaling group of a eci scaling configuration.
	ScalingGroupId pulumi.StringOutput `pulumi:"scalingGroupId"`
	// ID of the security group used to create new instance. It is conflict
	// with `securityGroupIds`.
	SecurityGroupId pulumi.StringPtrOutput `pulumi:"securityGroupId"`
	// The maximum price hourly for spot instance.
	SpotPriceLimit pulumi.Float64PtrOutput `pulumi:"spotPriceLimit"`
	// The spot strategy for a Pay-As-You-Go instance. Valid values: `NoSpot`, `SpotAsPriceGo`
	// , `SpotWithPriceLimit`.
	SpotStrategy pulumi.StringPtrOutput `pulumi:"spotStrategy"`
	// A mapping of tags to assign to the resource. It will be applied for ECI instances finally.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "http://", or "https://". It cannot
	//   be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "http://", or "https://" It can be
	//   a null string.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The program's buffering time before closing.
	TerminationGracePeriodSeconds pulumi.IntPtrOutput `pulumi:"terminationGracePeriodSeconds"`
	// The list of volumes. See `volumes` below for details.
	Volumes EciScalingConfigurationVolumeArrayOutput `pulumi:"volumes"`
}

Provides a ESS eci scaling configuration resource.

For information about ess eci scaling configuration, see [CreateEciScalingConfiguration](https://www.alibabacloud.com/help/en/auto-scaling/latest/create-eci-scaling-configuration).

> **NOTE:** Available since v1.164.0.

## Example Usage

Basic Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultInteger, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
			Min: 10000,
			Max: 99999,
		})
		if err != nil {
			return err
		}
		myName := fmt.Sprintf("%v-%v", name, defaultInteger.Result)
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableDiskCategory:     pulumi.StringRef("cloud_efficiency"),
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(myName),
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/24"),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
			VswitchName: pulumi.String(myName),
		})
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			Name:  pulumi.String(myName),
			VpcId: defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		defaultScalingGroup, err := ess.NewScalingGroup(ctx, "default", &ess.ScalingGroupArgs{
			MinSize:          pulumi.Int(0),
			MaxSize:          pulumi.Int(1),
			ScalingGroupName: pulumi.String(myName),
			RemovalPolicies: pulumi.StringArray{
				pulumi.String("OldestInstance"),
				pulumi.String("NewestInstance"),
			},
			VswitchIds: pulumi.StringArray{
				defaultSwitch.ID(),
			},
			GroupType: pulumi.String("ECI"),
		})
		if err != nil {
			return err
		}
		_, err = ess.NewEciScalingConfiguration(ctx, "default", &ess.EciScalingConfigurationArgs{
			ScalingGroupId:     defaultScalingGroup.ID(),
			Cpu:                pulumi.Float64(2),
			Memory:             pulumi.Float64(4),
			SecurityGroupId:    defaultSecurityGroup.ID(),
			ForceDelete:        pulumi.Bool(true),
			Active:             pulumi.Bool(true),
			ContainerGroupName: pulumi.String("container-group-1649839595174"),
			Containers: ess.EciScalingConfigurationContainerArray{
				&ess.EciScalingConfigurationContainerArgs{
					Name:  pulumi.String("container-1"),
					Image: pulumi.String("registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/alpine:3.5"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESS eci scaling configuration can be imported using the id, e.g.

```sh $ pulumi import alicloud:ess/eciScalingConfiguration:EciScalingConfiguration example asc-abc123456 ```

func GetEciScalingConfiguration added in v3.20.0

func GetEciScalingConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EciScalingConfigurationState, opts ...pulumi.ResourceOption) (*EciScalingConfiguration, error)

GetEciScalingConfiguration gets an existing EciScalingConfiguration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewEciScalingConfiguration added in v3.20.0

func NewEciScalingConfiguration(ctx *pulumi.Context,
	name string, args *EciScalingConfigurationArgs, opts ...pulumi.ResourceOption) (*EciScalingConfiguration, error)

NewEciScalingConfiguration registers a new resource with the given unique name, arguments, and options.

func (*EciScalingConfiguration) ElementType added in v3.20.0

func (*EciScalingConfiguration) ElementType() reflect.Type

func (*EciScalingConfiguration) ToEciScalingConfigurationOutput added in v3.20.0

func (i *EciScalingConfiguration) ToEciScalingConfigurationOutput() EciScalingConfigurationOutput

func (*EciScalingConfiguration) ToEciScalingConfigurationOutputWithContext added in v3.20.0

func (i *EciScalingConfiguration) ToEciScalingConfigurationOutputWithContext(ctx context.Context) EciScalingConfigurationOutput

type EciScalingConfigurationAcrRegistryInfo added in v3.29.0

type EciScalingConfigurationAcrRegistryInfo struct {
	// Endpoint of Container Registry Enterprise Edition instance. By default, all endpoints of the Container Registry Enterprise Edition instance are displayed. It is required
	// when `acrRegistryInfo` is configured.
	Domains []string `pulumi:"domains"`
	// The ID of Container Registry Enterprise Edition instance. It is required
	// when `acrRegistryInfo` is configured.
	InstanceId *string `pulumi:"instanceId"`
	// The name of Container Registry Enterprise Edition instance. It is required when `acrRegistryInfo` is
	// configured.
	InstanceName *string `pulumi:"instanceName"`
	// The region ID of Container Registry Enterprise Edition instance. It is required
	// when `acrRegistryInfo` is configured.
	RegionId *string `pulumi:"regionId"`
}

type EciScalingConfigurationAcrRegistryInfoArgs added in v3.29.0

type EciScalingConfigurationAcrRegistryInfoArgs struct {
	// Endpoint of Container Registry Enterprise Edition instance. By default, all endpoints of the Container Registry Enterprise Edition instance are displayed. It is required
	// when `acrRegistryInfo` is configured.
	Domains pulumi.StringArrayInput `pulumi:"domains"`
	// The ID of Container Registry Enterprise Edition instance. It is required
	// when `acrRegistryInfo` is configured.
	InstanceId pulumi.StringPtrInput `pulumi:"instanceId"`
	// The name of Container Registry Enterprise Edition instance. It is required when `acrRegistryInfo` is
	// configured.
	InstanceName pulumi.StringPtrInput `pulumi:"instanceName"`
	// The region ID of Container Registry Enterprise Edition instance. It is required
	// when `acrRegistryInfo` is configured.
	RegionId pulumi.StringPtrInput `pulumi:"regionId"`
}

func (EciScalingConfigurationAcrRegistryInfoArgs) ElementType added in v3.29.0

func (EciScalingConfigurationAcrRegistryInfoArgs) ToEciScalingConfigurationAcrRegistryInfoOutput added in v3.29.0

func (i EciScalingConfigurationAcrRegistryInfoArgs) ToEciScalingConfigurationAcrRegistryInfoOutput() EciScalingConfigurationAcrRegistryInfoOutput

func (EciScalingConfigurationAcrRegistryInfoArgs) ToEciScalingConfigurationAcrRegistryInfoOutputWithContext added in v3.29.0

func (i EciScalingConfigurationAcrRegistryInfoArgs) ToEciScalingConfigurationAcrRegistryInfoOutputWithContext(ctx context.Context) EciScalingConfigurationAcrRegistryInfoOutput

type EciScalingConfigurationAcrRegistryInfoArray added in v3.29.0

type EciScalingConfigurationAcrRegistryInfoArray []EciScalingConfigurationAcrRegistryInfoInput

func (EciScalingConfigurationAcrRegistryInfoArray) ElementType added in v3.29.0

func (EciScalingConfigurationAcrRegistryInfoArray) ToEciScalingConfigurationAcrRegistryInfoArrayOutput added in v3.29.0

func (i EciScalingConfigurationAcrRegistryInfoArray) ToEciScalingConfigurationAcrRegistryInfoArrayOutput() EciScalingConfigurationAcrRegistryInfoArrayOutput

func (EciScalingConfigurationAcrRegistryInfoArray) ToEciScalingConfigurationAcrRegistryInfoArrayOutputWithContext added in v3.29.0

func (i EciScalingConfigurationAcrRegistryInfoArray) ToEciScalingConfigurationAcrRegistryInfoArrayOutputWithContext(ctx context.Context) EciScalingConfigurationAcrRegistryInfoArrayOutput

type EciScalingConfigurationAcrRegistryInfoArrayInput added in v3.29.0

type EciScalingConfigurationAcrRegistryInfoArrayInput interface {
	pulumi.Input

	ToEciScalingConfigurationAcrRegistryInfoArrayOutput() EciScalingConfigurationAcrRegistryInfoArrayOutput
	ToEciScalingConfigurationAcrRegistryInfoArrayOutputWithContext(context.Context) EciScalingConfigurationAcrRegistryInfoArrayOutput
}

EciScalingConfigurationAcrRegistryInfoArrayInput is an input type that accepts EciScalingConfigurationAcrRegistryInfoArray and EciScalingConfigurationAcrRegistryInfoArrayOutput values. You can construct a concrete instance of `EciScalingConfigurationAcrRegistryInfoArrayInput` via:

EciScalingConfigurationAcrRegistryInfoArray{ EciScalingConfigurationAcrRegistryInfoArgs{...} }

type EciScalingConfigurationAcrRegistryInfoArrayOutput added in v3.29.0

type EciScalingConfigurationAcrRegistryInfoArrayOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationAcrRegistryInfoArrayOutput) ElementType added in v3.29.0

func (EciScalingConfigurationAcrRegistryInfoArrayOutput) Index added in v3.29.0

func (EciScalingConfigurationAcrRegistryInfoArrayOutput) ToEciScalingConfigurationAcrRegistryInfoArrayOutput added in v3.29.0

func (o EciScalingConfigurationAcrRegistryInfoArrayOutput) ToEciScalingConfigurationAcrRegistryInfoArrayOutput() EciScalingConfigurationAcrRegistryInfoArrayOutput

func (EciScalingConfigurationAcrRegistryInfoArrayOutput) ToEciScalingConfigurationAcrRegistryInfoArrayOutputWithContext added in v3.29.0

func (o EciScalingConfigurationAcrRegistryInfoArrayOutput) ToEciScalingConfigurationAcrRegistryInfoArrayOutputWithContext(ctx context.Context) EciScalingConfigurationAcrRegistryInfoArrayOutput

type EciScalingConfigurationAcrRegistryInfoInput added in v3.29.0

type EciScalingConfigurationAcrRegistryInfoInput interface {
	pulumi.Input

	ToEciScalingConfigurationAcrRegistryInfoOutput() EciScalingConfigurationAcrRegistryInfoOutput
	ToEciScalingConfigurationAcrRegistryInfoOutputWithContext(context.Context) EciScalingConfigurationAcrRegistryInfoOutput
}

EciScalingConfigurationAcrRegistryInfoInput is an input type that accepts EciScalingConfigurationAcrRegistryInfoArgs and EciScalingConfigurationAcrRegistryInfoOutput values. You can construct a concrete instance of `EciScalingConfigurationAcrRegistryInfoInput` via:

EciScalingConfigurationAcrRegistryInfoArgs{...}

type EciScalingConfigurationAcrRegistryInfoOutput added in v3.29.0

type EciScalingConfigurationAcrRegistryInfoOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationAcrRegistryInfoOutput) Domains added in v3.29.0

Endpoint of Container Registry Enterprise Edition instance. By default, all endpoints of the Container Registry Enterprise Edition instance are displayed. It is required when `acrRegistryInfo` is configured.

func (EciScalingConfigurationAcrRegistryInfoOutput) ElementType added in v3.29.0

func (EciScalingConfigurationAcrRegistryInfoOutput) InstanceId added in v3.29.0

The ID of Container Registry Enterprise Edition instance. It is required when `acrRegistryInfo` is configured.

func (EciScalingConfigurationAcrRegistryInfoOutput) InstanceName added in v3.29.0

The name of Container Registry Enterprise Edition instance. It is required when `acrRegistryInfo` is configured.

func (EciScalingConfigurationAcrRegistryInfoOutput) RegionId added in v3.29.0

The region ID of Container Registry Enterprise Edition instance. It is required when `acrRegistryInfo` is configured.

func (EciScalingConfigurationAcrRegistryInfoOutput) ToEciScalingConfigurationAcrRegistryInfoOutput added in v3.29.0

func (o EciScalingConfigurationAcrRegistryInfoOutput) ToEciScalingConfigurationAcrRegistryInfoOutput() EciScalingConfigurationAcrRegistryInfoOutput

func (EciScalingConfigurationAcrRegistryInfoOutput) ToEciScalingConfigurationAcrRegistryInfoOutputWithContext added in v3.29.0

func (o EciScalingConfigurationAcrRegistryInfoOutput) ToEciScalingConfigurationAcrRegistryInfoOutputWithContext(ctx context.Context) EciScalingConfigurationAcrRegistryInfoOutput

type EciScalingConfigurationArgs added in v3.20.0

type EciScalingConfigurationArgs struct {
	// Information about the Container Registry Enterprise Edition instance. See `acrRegistryInfos` below for details.
	AcrRegistryInfos EciScalingConfigurationAcrRegistryInfoArrayInput
	// Whether active current eci scaling configuration in the specified scaling group. Note that only
	// one configuration can be active. Default to `false`.
	Active pulumi.BoolPtrInput
	// The duration in seconds relative to the startTime that the job may be active before the system tries to terminate it.
	ActiveDeadlineSeconds pulumi.IntPtrInput
	// Whether create eip automatically.
	AutoCreateEip pulumi.BoolPtrInput
	// Whether to automatically match the image cache.
	AutoMatchImageCache pulumi.BoolPtrInput
	// The name of the container group. which must contain 2-128 characters (
	// English), starting with numbers, English lowercase letters , and can contain number, and hypens `-`.
	ContainerGroupName pulumi.StringPtrInput
	// The list of containers. See `containers` below for details.
	Containers EciScalingConfigurationContainerArrayInput
	// The amount of CPU resources allocated to the container group.
	Cpu pulumi.Float64PtrInput
	// The description of data disk N. Valid values of N: 1 to 16. The description must be 2 to
	// 256 characters in length and cannot start with http:// or https://.
	Description pulumi.StringPtrInput
	// dns policy of contain group.
	DnsPolicy pulumi.StringPtrInput
	// egress bandwidth.
	EgressBandwidth pulumi.IntPtrInput
	// Eip bandwidth.
	EipBandwidth pulumi.IntPtrInput
	// Enable sls log service.
	EnableSls pulumi.BoolPtrInput
	// The size of ephemeral storage.
	EphemeralStorage pulumi.IntPtrInput
	// The eci scaling configuration will be deleted forcibly with deleting its scaling group.
	// Default to false.
	ForceDelete pulumi.BoolPtrInput
	// HostAliases. See `hostAliases` below.
	HostAliases EciScalingConfigurationHostAliasArrayInput
	// Hostname of an ECI instance.
	HostName pulumi.StringPtrInput
	// The image registry credential.   See `imageRegistryCredentials` below for
	// details.
	ImageRegistryCredentials EciScalingConfigurationImageRegistryCredentialArrayInput
	// The ID of image cache.
	ImageSnapshotId pulumi.StringPtrInput
	// Ingress bandwidth.
	IngressBandwidth pulumi.IntPtrInput
	// The list of initContainers. See `initContainers` below for details.
	InitContainers EciScalingConfigurationInitContainerArrayInput
	// The specified ECS instance types. You can specify up to five ECS instance types.
	InstanceTypes pulumi.StringArrayInput
	// Number of IPv6 addresses.
	Ipv6AddressCount pulumi.IntPtrInput
	// The weight of an ECI instance attached to the Server Group.
	LoadBalancerWeight pulumi.IntPtrInput
	// The amount of memory resources allocated to the container group.
	Memory pulumi.Float64PtrInput
	// The RAM role that the container group assumes. ECI and ECS share the same RAM role.
	RamRoleName pulumi.StringPtrInput
	// ID of resource group.
	ResourceGroupId pulumi.StringPtrInput
	// The restart policy of the container group. Default to `Always`.
	RestartPolicy pulumi.StringPtrInput
	// Name shown for the scheduled task. which must contain 2-64 characters (
	// English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number,
	// underscores `_`, hypens `-`, and decimal point `.`. If this parameter value is not specified, the default value is
	// EciScalingConfigurationId.
	ScalingConfigurationName pulumi.StringPtrInput
	// ID of the scaling group of a eci scaling configuration.
	ScalingGroupId pulumi.StringInput
	// ID of the security group used to create new instance. It is conflict
	// with `securityGroupIds`.
	SecurityGroupId pulumi.StringPtrInput
	// The maximum price hourly for spot instance.
	SpotPriceLimit pulumi.Float64PtrInput
	// The spot strategy for a Pay-As-You-Go instance. Valid values: `NoSpot`, `SpotAsPriceGo`
	// , `SpotWithPriceLimit`.
	SpotStrategy pulumi.StringPtrInput
	// A mapping of tags to assign to the resource. It will be applied for ECI instances finally.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "http://", or "https://". It cannot
	//   be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "http://", or "https://" It can be
	//   a null string.
	Tags pulumi.MapInput
	// The program's buffering time before closing.
	TerminationGracePeriodSeconds pulumi.IntPtrInput
	// The list of volumes. See `volumes` below for details.
	Volumes EciScalingConfigurationVolumeArrayInput
}

The set of arguments for constructing a EciScalingConfiguration resource.

func (EciScalingConfigurationArgs) ElementType added in v3.20.0

type EciScalingConfigurationArray added in v3.20.0

type EciScalingConfigurationArray []EciScalingConfigurationInput

func (EciScalingConfigurationArray) ElementType added in v3.20.0

func (EciScalingConfigurationArray) ToEciScalingConfigurationArrayOutput added in v3.20.0

func (i EciScalingConfigurationArray) ToEciScalingConfigurationArrayOutput() EciScalingConfigurationArrayOutput

func (EciScalingConfigurationArray) ToEciScalingConfigurationArrayOutputWithContext added in v3.20.0

func (i EciScalingConfigurationArray) ToEciScalingConfigurationArrayOutputWithContext(ctx context.Context) EciScalingConfigurationArrayOutput

type EciScalingConfigurationArrayInput added in v3.20.0

type EciScalingConfigurationArrayInput interface {
	pulumi.Input

	ToEciScalingConfigurationArrayOutput() EciScalingConfigurationArrayOutput
	ToEciScalingConfigurationArrayOutputWithContext(context.Context) EciScalingConfigurationArrayOutput
}

EciScalingConfigurationArrayInput is an input type that accepts EciScalingConfigurationArray and EciScalingConfigurationArrayOutput values. You can construct a concrete instance of `EciScalingConfigurationArrayInput` via:

EciScalingConfigurationArray{ EciScalingConfigurationArgs{...} }

type EciScalingConfigurationArrayOutput added in v3.20.0

type EciScalingConfigurationArrayOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationArrayOutput) ElementType added in v3.20.0

func (EciScalingConfigurationArrayOutput) Index added in v3.20.0

func (EciScalingConfigurationArrayOutput) ToEciScalingConfigurationArrayOutput added in v3.20.0

func (o EciScalingConfigurationArrayOutput) ToEciScalingConfigurationArrayOutput() EciScalingConfigurationArrayOutput

func (EciScalingConfigurationArrayOutput) ToEciScalingConfigurationArrayOutputWithContext added in v3.20.0

func (o EciScalingConfigurationArrayOutput) ToEciScalingConfigurationArrayOutputWithContext(ctx context.Context) EciScalingConfigurationArrayOutput

type EciScalingConfigurationContainer added in v3.20.0

type EciScalingConfigurationContainer struct {
	// The arguments passed to the commands.
	Args []string `pulumi:"args"`
	// The commands run by the init container.
	Commands []string `pulumi:"commands"`
	// The amount of CPU resources allocated to the container.
	Cpu *float64 `pulumi:"cpu"`
	// The structure of environmentVars.
	// See `environmentVars` below for details.
	EnvironmentVars []EciScalingConfigurationContainerEnvironmentVar `pulumi:"environmentVars"`
	// The number GPUs.
	Gpu *int `pulumi:"gpu"`
	// The image of the container.
	Image *string `pulumi:"image"`
	// The restart policy of the image.
	ImagePullPolicy *string `pulumi:"imagePullPolicy"`
	// The commands to be executed in containers when you use the CLI to specify the preStop callback function.
	LifecyclePreStopHandlerExecs []string `pulumi:"lifecyclePreStopHandlerExecs"`
	// Commands that you want to run in containers when you use the CLI to perform liveness probes.
	LivenessProbeExecCommands []string `pulumi:"livenessProbeExecCommands"`
	// The minimum number of consecutive failures for the liveness probe to be considered failed after having been successful. Default value: 3.
	LivenessProbeFailureThreshold *int `pulumi:"livenessProbeFailureThreshold"`
	// The path to which HTTP GET requests are sent when you use HTTP requests to perform liveness probes.
	LivenessProbeHttpGetPath *string `pulumi:"livenessProbeHttpGetPath"`
	// The port to which HTTP GET requests are sent when you use HTTP requests to perform liveness probes.
	LivenessProbeHttpGetPort *int `pulumi:"livenessProbeHttpGetPort"`
	// The protocol type of HTTP GET requests when you use HTTP requests for liveness probes.Valid values:HTTP and HTTPS.
	LivenessProbeHttpGetScheme *string `pulumi:"livenessProbeHttpGetScheme"`
	// The number of seconds after container has started before liveness probes are initiated.
	LivenessProbeInitialDelaySeconds *int `pulumi:"livenessProbeInitialDelaySeconds"`
	// The interval at which the liveness probe is performed. Unit: seconds. Default value: 10. Minimum value: 1.
	LivenessProbePeriodSeconds *int `pulumi:"livenessProbePeriodSeconds"`
	// The minimum number of consecutive successes for the liveness probe to be considered successful after having failed. Default value: 1. Set the value to 1.
	LivenessProbeSuccessThreshold *int `pulumi:"livenessProbeSuccessThreshold"`
	// The port detected by TCP sockets when you use TCP sockets to perform liveness probes.
	LivenessProbeTcpSocketPort *int `pulumi:"livenessProbeTcpSocketPort"`
	// The timeout period for the liveness probe. Unit: seconds. Default value: 1. Minimum value: 1.
	LivenessProbeTimeoutSeconds *int `pulumi:"livenessProbeTimeoutSeconds"`
	// The amount of memory resources allocated to the container.
	Memory *float64 `pulumi:"memory"`
	// The name of the mounted volume.
	Name *string `pulumi:"name"`
	// The structure of port. See `ports` below for details.
	Ports []EciScalingConfigurationContainerPort `pulumi:"ports"`
	// Commands that you want to run in containers when you use the CLI to perform readiness probes.
	ReadinessProbeExecCommands []string `pulumi:"readinessProbeExecCommands"`
	// The minimum number of consecutive failures for the readiness probe to be considered failed after having been successful. Default value: 3.
	ReadinessProbeFailureThreshold *int `pulumi:"readinessProbeFailureThreshold"`
	// The path to which HTTP GET requests are sent when you use HTTP requests to perform readiness probes.
	ReadinessProbeHttpGetPath *string `pulumi:"readinessProbeHttpGetPath"`
	// The port to which HTTP GET requests are sent when you use HTTP requests to perform readiness probes.
	ReadinessProbeHttpGetPort *int `pulumi:"readinessProbeHttpGetPort"`
	// The protocol type of HTTP GET requests when you use HTTP requests for readiness probes. Valid values: HTTP and HTTPS.
	ReadinessProbeHttpGetScheme *string `pulumi:"readinessProbeHttpGetScheme"`
	// The number of seconds after container N has started before readiness probes are initiated.
	ReadinessProbeInitialDelaySeconds *int `pulumi:"readinessProbeInitialDelaySeconds"`
	// The interval at which the readiness probe is performed. Unit: seconds. Default value: 10. Minimum value: 1.
	ReadinessProbePeriodSeconds *int `pulumi:"readinessProbePeriodSeconds"`
	// The minimum number of consecutive successes for the readiness probe to be considered successful after having failed. Default value: 1. Set the value to 1.
	ReadinessProbeSuccessThreshold *int `pulumi:"readinessProbeSuccessThreshold"`
	// The port detected by Transmission Control Protocol (TCP) sockets when you use TCP sockets to perform readiness probes.
	ReadinessProbeTcpSocketPort *int `pulumi:"readinessProbeTcpSocketPort"`
	// The timeout period for the readiness probe. Unit: seconds. Default value: 1. Minimum value: 1.
	ReadinessProbeTimeoutSeconds *int `pulumi:"readinessProbeTimeoutSeconds"`
	// Grant certain permissions to processes within container. Optional values:
	// - NET_ADMIN: Allow network management tasks to be performed.
	// - NET_RAW: Allow raw sockets.
	SecurityContextCapabilityAdds []string `pulumi:"securityContextCapabilityAdds"`
	// Mounts the container's root filesystem as read-only.
	SecurityContextReadOnlyRootFileSystem *bool `pulumi:"securityContextReadOnlyRootFileSystem"`
	// Specifies user ID  under which all processes run.
	SecurityContextRunAsUser *int `pulumi:"securityContextRunAsUser"`
	// The structure of volumeMounts.
	// See `volumeMounts` below for details.
	VolumeMounts []EciScalingConfigurationContainerVolumeMount `pulumi:"volumeMounts"`
	// The working directory of the container.
	WorkingDir *string `pulumi:"workingDir"`
}

type EciScalingConfigurationContainerArgs added in v3.20.0

type EciScalingConfigurationContainerArgs struct {
	// The arguments passed to the commands.
	Args pulumi.StringArrayInput `pulumi:"args"`
	// The commands run by the init container.
	Commands pulumi.StringArrayInput `pulumi:"commands"`
	// The amount of CPU resources allocated to the container.
	Cpu pulumi.Float64PtrInput `pulumi:"cpu"`
	// The structure of environmentVars.
	// See `environmentVars` below for details.
	EnvironmentVars EciScalingConfigurationContainerEnvironmentVarArrayInput `pulumi:"environmentVars"`
	// The number GPUs.
	Gpu pulumi.IntPtrInput `pulumi:"gpu"`
	// The image of the container.
	Image pulumi.StringPtrInput `pulumi:"image"`
	// The restart policy of the image.
	ImagePullPolicy pulumi.StringPtrInput `pulumi:"imagePullPolicy"`
	// The commands to be executed in containers when you use the CLI to specify the preStop callback function.
	LifecyclePreStopHandlerExecs pulumi.StringArrayInput `pulumi:"lifecyclePreStopHandlerExecs"`
	// Commands that you want to run in containers when you use the CLI to perform liveness probes.
	LivenessProbeExecCommands pulumi.StringArrayInput `pulumi:"livenessProbeExecCommands"`
	// The minimum number of consecutive failures for the liveness probe to be considered failed after having been successful. Default value: 3.
	LivenessProbeFailureThreshold pulumi.IntPtrInput `pulumi:"livenessProbeFailureThreshold"`
	// The path to which HTTP GET requests are sent when you use HTTP requests to perform liveness probes.
	LivenessProbeHttpGetPath pulumi.StringPtrInput `pulumi:"livenessProbeHttpGetPath"`
	// The port to which HTTP GET requests are sent when you use HTTP requests to perform liveness probes.
	LivenessProbeHttpGetPort pulumi.IntPtrInput `pulumi:"livenessProbeHttpGetPort"`
	// The protocol type of HTTP GET requests when you use HTTP requests for liveness probes.Valid values:HTTP and HTTPS.
	LivenessProbeHttpGetScheme pulumi.StringPtrInput `pulumi:"livenessProbeHttpGetScheme"`
	// The number of seconds after container has started before liveness probes are initiated.
	LivenessProbeInitialDelaySeconds pulumi.IntPtrInput `pulumi:"livenessProbeInitialDelaySeconds"`
	// The interval at which the liveness probe is performed. Unit: seconds. Default value: 10. Minimum value: 1.
	LivenessProbePeriodSeconds pulumi.IntPtrInput `pulumi:"livenessProbePeriodSeconds"`
	// The minimum number of consecutive successes for the liveness probe to be considered successful after having failed. Default value: 1. Set the value to 1.
	LivenessProbeSuccessThreshold pulumi.IntPtrInput `pulumi:"livenessProbeSuccessThreshold"`
	// The port detected by TCP sockets when you use TCP sockets to perform liveness probes.
	LivenessProbeTcpSocketPort pulumi.IntPtrInput `pulumi:"livenessProbeTcpSocketPort"`
	// The timeout period for the liveness probe. Unit: seconds. Default value: 1. Minimum value: 1.
	LivenessProbeTimeoutSeconds pulumi.IntPtrInput `pulumi:"livenessProbeTimeoutSeconds"`
	// The amount of memory resources allocated to the container.
	Memory pulumi.Float64PtrInput `pulumi:"memory"`
	// The name of the mounted volume.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The structure of port. See `ports` below for details.
	Ports EciScalingConfigurationContainerPortArrayInput `pulumi:"ports"`
	// Commands that you want to run in containers when you use the CLI to perform readiness probes.
	ReadinessProbeExecCommands pulumi.StringArrayInput `pulumi:"readinessProbeExecCommands"`
	// The minimum number of consecutive failures for the readiness probe to be considered failed after having been successful. Default value: 3.
	ReadinessProbeFailureThreshold pulumi.IntPtrInput `pulumi:"readinessProbeFailureThreshold"`
	// The path to which HTTP GET requests are sent when you use HTTP requests to perform readiness probes.
	ReadinessProbeHttpGetPath pulumi.StringPtrInput `pulumi:"readinessProbeHttpGetPath"`
	// The port to which HTTP GET requests are sent when you use HTTP requests to perform readiness probes.
	ReadinessProbeHttpGetPort pulumi.IntPtrInput `pulumi:"readinessProbeHttpGetPort"`
	// The protocol type of HTTP GET requests when you use HTTP requests for readiness probes. Valid values: HTTP and HTTPS.
	ReadinessProbeHttpGetScheme pulumi.StringPtrInput `pulumi:"readinessProbeHttpGetScheme"`
	// The number of seconds after container N has started before readiness probes are initiated.
	ReadinessProbeInitialDelaySeconds pulumi.IntPtrInput `pulumi:"readinessProbeInitialDelaySeconds"`
	// The interval at which the readiness probe is performed. Unit: seconds. Default value: 10. Minimum value: 1.
	ReadinessProbePeriodSeconds pulumi.IntPtrInput `pulumi:"readinessProbePeriodSeconds"`
	// The minimum number of consecutive successes for the readiness probe to be considered successful after having failed. Default value: 1. Set the value to 1.
	ReadinessProbeSuccessThreshold pulumi.IntPtrInput `pulumi:"readinessProbeSuccessThreshold"`
	// The port detected by Transmission Control Protocol (TCP) sockets when you use TCP sockets to perform readiness probes.
	ReadinessProbeTcpSocketPort pulumi.IntPtrInput `pulumi:"readinessProbeTcpSocketPort"`
	// The timeout period for the readiness probe. Unit: seconds. Default value: 1. Minimum value: 1.
	ReadinessProbeTimeoutSeconds pulumi.IntPtrInput `pulumi:"readinessProbeTimeoutSeconds"`
	// Grant certain permissions to processes within container. Optional values:
	// - NET_ADMIN: Allow network management tasks to be performed.
	// - NET_RAW: Allow raw sockets.
	SecurityContextCapabilityAdds pulumi.StringArrayInput `pulumi:"securityContextCapabilityAdds"`
	// Mounts the container's root filesystem as read-only.
	SecurityContextReadOnlyRootFileSystem pulumi.BoolPtrInput `pulumi:"securityContextReadOnlyRootFileSystem"`
	// Specifies user ID  under which all processes run.
	SecurityContextRunAsUser pulumi.IntPtrInput `pulumi:"securityContextRunAsUser"`
	// The structure of volumeMounts.
	// See `volumeMounts` below for details.
	VolumeMounts EciScalingConfigurationContainerVolumeMountArrayInput `pulumi:"volumeMounts"`
	// The working directory of the container.
	WorkingDir pulumi.StringPtrInput `pulumi:"workingDir"`
}

func (EciScalingConfigurationContainerArgs) ElementType added in v3.20.0

func (EciScalingConfigurationContainerArgs) ToEciScalingConfigurationContainerOutput added in v3.20.0

func (i EciScalingConfigurationContainerArgs) ToEciScalingConfigurationContainerOutput() EciScalingConfigurationContainerOutput

func (EciScalingConfigurationContainerArgs) ToEciScalingConfigurationContainerOutputWithContext added in v3.20.0

func (i EciScalingConfigurationContainerArgs) ToEciScalingConfigurationContainerOutputWithContext(ctx context.Context) EciScalingConfigurationContainerOutput

type EciScalingConfigurationContainerArray added in v3.20.0

type EciScalingConfigurationContainerArray []EciScalingConfigurationContainerInput

func (EciScalingConfigurationContainerArray) ElementType added in v3.20.0

func (EciScalingConfigurationContainerArray) ToEciScalingConfigurationContainerArrayOutput added in v3.20.0

func (i EciScalingConfigurationContainerArray) ToEciScalingConfigurationContainerArrayOutput() EciScalingConfigurationContainerArrayOutput

func (EciScalingConfigurationContainerArray) ToEciScalingConfigurationContainerArrayOutputWithContext added in v3.20.0

func (i EciScalingConfigurationContainerArray) ToEciScalingConfigurationContainerArrayOutputWithContext(ctx context.Context) EciScalingConfigurationContainerArrayOutput

type EciScalingConfigurationContainerArrayInput added in v3.20.0

type EciScalingConfigurationContainerArrayInput interface {
	pulumi.Input

	ToEciScalingConfigurationContainerArrayOutput() EciScalingConfigurationContainerArrayOutput
	ToEciScalingConfigurationContainerArrayOutputWithContext(context.Context) EciScalingConfigurationContainerArrayOutput
}

EciScalingConfigurationContainerArrayInput is an input type that accepts EciScalingConfigurationContainerArray and EciScalingConfigurationContainerArrayOutput values. You can construct a concrete instance of `EciScalingConfigurationContainerArrayInput` via:

EciScalingConfigurationContainerArray{ EciScalingConfigurationContainerArgs{...} }

type EciScalingConfigurationContainerArrayOutput added in v3.20.0

type EciScalingConfigurationContainerArrayOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationContainerArrayOutput) ElementType added in v3.20.0

func (EciScalingConfigurationContainerArrayOutput) Index added in v3.20.0

func (EciScalingConfigurationContainerArrayOutput) ToEciScalingConfigurationContainerArrayOutput added in v3.20.0

func (o EciScalingConfigurationContainerArrayOutput) ToEciScalingConfigurationContainerArrayOutput() EciScalingConfigurationContainerArrayOutput

func (EciScalingConfigurationContainerArrayOutput) ToEciScalingConfigurationContainerArrayOutputWithContext added in v3.20.0

func (o EciScalingConfigurationContainerArrayOutput) ToEciScalingConfigurationContainerArrayOutputWithContext(ctx context.Context) EciScalingConfigurationContainerArrayOutput

type EciScalingConfigurationContainerEnvironmentVar added in v3.20.0

type EciScalingConfigurationContainerEnvironmentVar struct {
	FieldRefFieldPath *string `pulumi:"fieldRefFieldPath"`
	Key               *string `pulumi:"key"`
	Value             *string `pulumi:"value"`
}

type EciScalingConfigurationContainerEnvironmentVarArgs added in v3.20.0

type EciScalingConfigurationContainerEnvironmentVarArgs struct {
	FieldRefFieldPath pulumi.StringPtrInput `pulumi:"fieldRefFieldPath"`
	Key               pulumi.StringPtrInput `pulumi:"key"`
	Value             pulumi.StringPtrInput `pulumi:"value"`
}

func (EciScalingConfigurationContainerEnvironmentVarArgs) ElementType added in v3.20.0

func (EciScalingConfigurationContainerEnvironmentVarArgs) ToEciScalingConfigurationContainerEnvironmentVarOutput added in v3.20.0

func (i EciScalingConfigurationContainerEnvironmentVarArgs) ToEciScalingConfigurationContainerEnvironmentVarOutput() EciScalingConfigurationContainerEnvironmentVarOutput

func (EciScalingConfigurationContainerEnvironmentVarArgs) ToEciScalingConfigurationContainerEnvironmentVarOutputWithContext added in v3.20.0

func (i EciScalingConfigurationContainerEnvironmentVarArgs) ToEciScalingConfigurationContainerEnvironmentVarOutputWithContext(ctx context.Context) EciScalingConfigurationContainerEnvironmentVarOutput

type EciScalingConfigurationContainerEnvironmentVarArray added in v3.20.0

type EciScalingConfigurationContainerEnvironmentVarArray []EciScalingConfigurationContainerEnvironmentVarInput

func (EciScalingConfigurationContainerEnvironmentVarArray) ElementType added in v3.20.0

func (EciScalingConfigurationContainerEnvironmentVarArray) ToEciScalingConfigurationContainerEnvironmentVarArrayOutput added in v3.20.0

func (i EciScalingConfigurationContainerEnvironmentVarArray) ToEciScalingConfigurationContainerEnvironmentVarArrayOutput() EciScalingConfigurationContainerEnvironmentVarArrayOutput

func (EciScalingConfigurationContainerEnvironmentVarArray) ToEciScalingConfigurationContainerEnvironmentVarArrayOutputWithContext added in v3.20.0

func (i EciScalingConfigurationContainerEnvironmentVarArray) ToEciScalingConfigurationContainerEnvironmentVarArrayOutputWithContext(ctx context.Context) EciScalingConfigurationContainerEnvironmentVarArrayOutput

type EciScalingConfigurationContainerEnvironmentVarArrayInput added in v3.20.0

type EciScalingConfigurationContainerEnvironmentVarArrayInput interface {
	pulumi.Input

	ToEciScalingConfigurationContainerEnvironmentVarArrayOutput() EciScalingConfigurationContainerEnvironmentVarArrayOutput
	ToEciScalingConfigurationContainerEnvironmentVarArrayOutputWithContext(context.Context) EciScalingConfigurationContainerEnvironmentVarArrayOutput
}

EciScalingConfigurationContainerEnvironmentVarArrayInput is an input type that accepts EciScalingConfigurationContainerEnvironmentVarArray and EciScalingConfigurationContainerEnvironmentVarArrayOutput values. You can construct a concrete instance of `EciScalingConfigurationContainerEnvironmentVarArrayInput` via:

EciScalingConfigurationContainerEnvironmentVarArray{ EciScalingConfigurationContainerEnvironmentVarArgs{...} }

type EciScalingConfigurationContainerEnvironmentVarArrayOutput added in v3.20.0

type EciScalingConfigurationContainerEnvironmentVarArrayOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationContainerEnvironmentVarArrayOutput) ElementType added in v3.20.0

func (EciScalingConfigurationContainerEnvironmentVarArrayOutput) Index added in v3.20.0

func (EciScalingConfigurationContainerEnvironmentVarArrayOutput) ToEciScalingConfigurationContainerEnvironmentVarArrayOutput added in v3.20.0

func (EciScalingConfigurationContainerEnvironmentVarArrayOutput) ToEciScalingConfigurationContainerEnvironmentVarArrayOutputWithContext added in v3.20.0

func (o EciScalingConfigurationContainerEnvironmentVarArrayOutput) ToEciScalingConfigurationContainerEnvironmentVarArrayOutputWithContext(ctx context.Context) EciScalingConfigurationContainerEnvironmentVarArrayOutput

type EciScalingConfigurationContainerEnvironmentVarInput added in v3.20.0

type EciScalingConfigurationContainerEnvironmentVarInput interface {
	pulumi.Input

	ToEciScalingConfigurationContainerEnvironmentVarOutput() EciScalingConfigurationContainerEnvironmentVarOutput
	ToEciScalingConfigurationContainerEnvironmentVarOutputWithContext(context.Context) EciScalingConfigurationContainerEnvironmentVarOutput
}

EciScalingConfigurationContainerEnvironmentVarInput is an input type that accepts EciScalingConfigurationContainerEnvironmentVarArgs and EciScalingConfigurationContainerEnvironmentVarOutput values. You can construct a concrete instance of `EciScalingConfigurationContainerEnvironmentVarInput` via:

EciScalingConfigurationContainerEnvironmentVarArgs{...}

type EciScalingConfigurationContainerEnvironmentVarOutput added in v3.20.0

type EciScalingConfigurationContainerEnvironmentVarOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationContainerEnvironmentVarOutput) ElementType added in v3.20.0

func (EciScalingConfigurationContainerEnvironmentVarOutput) FieldRefFieldPath added in v3.46.1

func (EciScalingConfigurationContainerEnvironmentVarOutput) Key added in v3.20.0

func (EciScalingConfigurationContainerEnvironmentVarOutput) ToEciScalingConfigurationContainerEnvironmentVarOutput added in v3.20.0

func (EciScalingConfigurationContainerEnvironmentVarOutput) ToEciScalingConfigurationContainerEnvironmentVarOutputWithContext added in v3.20.0

func (o EciScalingConfigurationContainerEnvironmentVarOutput) ToEciScalingConfigurationContainerEnvironmentVarOutputWithContext(ctx context.Context) EciScalingConfigurationContainerEnvironmentVarOutput

func (EciScalingConfigurationContainerEnvironmentVarOutput) Value added in v3.20.0

type EciScalingConfigurationContainerInput added in v3.20.0

type EciScalingConfigurationContainerInput interface {
	pulumi.Input

	ToEciScalingConfigurationContainerOutput() EciScalingConfigurationContainerOutput
	ToEciScalingConfigurationContainerOutputWithContext(context.Context) EciScalingConfigurationContainerOutput
}

EciScalingConfigurationContainerInput is an input type that accepts EciScalingConfigurationContainerArgs and EciScalingConfigurationContainerOutput values. You can construct a concrete instance of `EciScalingConfigurationContainerInput` via:

EciScalingConfigurationContainerArgs{...}

type EciScalingConfigurationContainerOutput added in v3.20.0

type EciScalingConfigurationContainerOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationContainerOutput) Args added in v3.20.0

The arguments passed to the commands.

func (EciScalingConfigurationContainerOutput) Commands added in v3.20.0

The commands run by the init container.

func (EciScalingConfigurationContainerOutput) Cpu added in v3.20.0

The amount of CPU resources allocated to the container.

func (EciScalingConfigurationContainerOutput) ElementType added in v3.20.0

func (EciScalingConfigurationContainerOutput) EnvironmentVars added in v3.20.0

The structure of environmentVars. See `environmentVars` below for details.

func (EciScalingConfigurationContainerOutput) Gpu added in v3.20.0

The number GPUs.

func (EciScalingConfigurationContainerOutput) Image added in v3.20.0

The image of the container.

func (EciScalingConfigurationContainerOutput) ImagePullPolicy added in v3.20.0

The restart policy of the image.

func (EciScalingConfigurationContainerOutput) LifecyclePreStopHandlerExecs added in v3.48.0

func (o EciScalingConfigurationContainerOutput) LifecyclePreStopHandlerExecs() pulumi.StringArrayOutput

The commands to be executed in containers when you use the CLI to specify the preStop callback function.

func (EciScalingConfigurationContainerOutput) LivenessProbeExecCommands added in v3.29.0

func (o EciScalingConfigurationContainerOutput) LivenessProbeExecCommands() pulumi.StringArrayOutput

Commands that you want to run in containers when you use the CLI to perform liveness probes.

func (EciScalingConfigurationContainerOutput) LivenessProbeFailureThreshold added in v3.29.0

func (o EciScalingConfigurationContainerOutput) LivenessProbeFailureThreshold() pulumi.IntPtrOutput

The minimum number of consecutive failures for the liveness probe to be considered failed after having been successful. Default value: 3.

func (EciScalingConfigurationContainerOutput) LivenessProbeHttpGetPath added in v3.29.0

func (o EciScalingConfigurationContainerOutput) LivenessProbeHttpGetPath() pulumi.StringPtrOutput

The path to which HTTP GET requests are sent when you use HTTP requests to perform liveness probes.

func (EciScalingConfigurationContainerOutput) LivenessProbeHttpGetPort added in v3.29.0

func (o EciScalingConfigurationContainerOutput) LivenessProbeHttpGetPort() pulumi.IntPtrOutput

The port to which HTTP GET requests are sent when you use HTTP requests to perform liveness probes.

func (EciScalingConfigurationContainerOutput) LivenessProbeHttpGetScheme added in v3.29.0

func (o EciScalingConfigurationContainerOutput) LivenessProbeHttpGetScheme() pulumi.StringPtrOutput

The protocol type of HTTP GET requests when you use HTTP requests for liveness probes.Valid values:HTTP and HTTPS.

func (EciScalingConfigurationContainerOutput) LivenessProbeInitialDelaySeconds added in v3.29.0

func (o EciScalingConfigurationContainerOutput) LivenessProbeInitialDelaySeconds() pulumi.IntPtrOutput

The number of seconds after container has started before liveness probes are initiated.

func (EciScalingConfigurationContainerOutput) LivenessProbePeriodSeconds added in v3.29.0

func (o EciScalingConfigurationContainerOutput) LivenessProbePeriodSeconds() pulumi.IntPtrOutput

The interval at which the liveness probe is performed. Unit: seconds. Default value: 10. Minimum value: 1.

func (EciScalingConfigurationContainerOutput) LivenessProbeSuccessThreshold added in v3.29.0

func (o EciScalingConfigurationContainerOutput) LivenessProbeSuccessThreshold() pulumi.IntPtrOutput

The minimum number of consecutive successes for the liveness probe to be considered successful after having failed. Default value: 1. Set the value to 1.

func (EciScalingConfigurationContainerOutput) LivenessProbeTcpSocketPort added in v3.29.0

func (o EciScalingConfigurationContainerOutput) LivenessProbeTcpSocketPort() pulumi.IntPtrOutput

The port detected by TCP sockets when you use TCP sockets to perform liveness probes.

func (EciScalingConfigurationContainerOutput) LivenessProbeTimeoutSeconds added in v3.29.0

func (o EciScalingConfigurationContainerOutput) LivenessProbeTimeoutSeconds() pulumi.IntPtrOutput

The timeout period for the liveness probe. Unit: seconds. Default value: 1. Minimum value: 1.

func (EciScalingConfigurationContainerOutput) Memory added in v3.20.0

The amount of memory resources allocated to the container.

func (EciScalingConfigurationContainerOutput) Name added in v3.20.0

The name of the mounted volume.

func (EciScalingConfigurationContainerOutput) Ports added in v3.20.0

The structure of port. See `ports` below for details.

func (EciScalingConfigurationContainerOutput) ReadinessProbeExecCommands added in v3.29.0

func (o EciScalingConfigurationContainerOutput) ReadinessProbeExecCommands() pulumi.StringArrayOutput

Commands that you want to run in containers when you use the CLI to perform readiness probes.

func (EciScalingConfigurationContainerOutput) ReadinessProbeFailureThreshold added in v3.29.0

func (o EciScalingConfigurationContainerOutput) ReadinessProbeFailureThreshold() pulumi.IntPtrOutput

The minimum number of consecutive failures for the readiness probe to be considered failed after having been successful. Default value: 3.

func (EciScalingConfigurationContainerOutput) ReadinessProbeHttpGetPath added in v3.29.0

func (o EciScalingConfigurationContainerOutput) ReadinessProbeHttpGetPath() pulumi.StringPtrOutput

The path to which HTTP GET requests are sent when you use HTTP requests to perform readiness probes.

func (EciScalingConfigurationContainerOutput) ReadinessProbeHttpGetPort added in v3.29.0

func (o EciScalingConfigurationContainerOutput) ReadinessProbeHttpGetPort() pulumi.IntPtrOutput

The port to which HTTP GET requests are sent when you use HTTP requests to perform readiness probes.

func (EciScalingConfigurationContainerOutput) ReadinessProbeHttpGetScheme added in v3.29.0

func (o EciScalingConfigurationContainerOutput) ReadinessProbeHttpGetScheme() pulumi.StringPtrOutput

The protocol type of HTTP GET requests when you use HTTP requests for readiness probes. Valid values: HTTP and HTTPS.

func (EciScalingConfigurationContainerOutput) ReadinessProbeInitialDelaySeconds added in v3.29.0

func (o EciScalingConfigurationContainerOutput) ReadinessProbeInitialDelaySeconds() pulumi.IntPtrOutput

The number of seconds after container N has started before readiness probes are initiated.

func (EciScalingConfigurationContainerOutput) ReadinessProbePeriodSeconds added in v3.29.0

func (o EciScalingConfigurationContainerOutput) ReadinessProbePeriodSeconds() pulumi.IntPtrOutput

The interval at which the readiness probe is performed. Unit: seconds. Default value: 10. Minimum value: 1.

func (EciScalingConfigurationContainerOutput) ReadinessProbeSuccessThreshold added in v3.29.0

func (o EciScalingConfigurationContainerOutput) ReadinessProbeSuccessThreshold() pulumi.IntPtrOutput

The minimum number of consecutive successes for the readiness probe to be considered successful after having failed. Default value: 1. Set the value to 1.

func (EciScalingConfigurationContainerOutput) ReadinessProbeTcpSocketPort added in v3.29.0

func (o EciScalingConfigurationContainerOutput) ReadinessProbeTcpSocketPort() pulumi.IntPtrOutput

The port detected by Transmission Control Protocol (TCP) sockets when you use TCP sockets to perform readiness probes.

func (EciScalingConfigurationContainerOutput) ReadinessProbeTimeoutSeconds added in v3.29.0

func (o EciScalingConfigurationContainerOutput) ReadinessProbeTimeoutSeconds() pulumi.IntPtrOutput

The timeout period for the readiness probe. Unit: seconds. Default value: 1. Minimum value: 1.

func (EciScalingConfigurationContainerOutput) SecurityContextCapabilityAdds added in v3.46.1

func (o EciScalingConfigurationContainerOutput) SecurityContextCapabilityAdds() pulumi.StringArrayOutput

Grant certain permissions to processes within container. Optional values: - NET_ADMIN: Allow network management tasks to be performed. - NET_RAW: Allow raw sockets.

func (EciScalingConfigurationContainerOutput) SecurityContextReadOnlyRootFileSystem added in v3.46.1

func (o EciScalingConfigurationContainerOutput) SecurityContextReadOnlyRootFileSystem() pulumi.BoolPtrOutput

Mounts the container's root filesystem as read-only.

func (EciScalingConfigurationContainerOutput) SecurityContextRunAsUser added in v3.46.1

func (o EciScalingConfigurationContainerOutput) SecurityContextRunAsUser() pulumi.IntPtrOutput

Specifies user ID under which all processes run.

func (EciScalingConfigurationContainerOutput) ToEciScalingConfigurationContainerOutput added in v3.20.0

func (o EciScalingConfigurationContainerOutput) ToEciScalingConfigurationContainerOutput() EciScalingConfigurationContainerOutput

func (EciScalingConfigurationContainerOutput) ToEciScalingConfigurationContainerOutputWithContext added in v3.20.0

func (o EciScalingConfigurationContainerOutput) ToEciScalingConfigurationContainerOutputWithContext(ctx context.Context) EciScalingConfigurationContainerOutput

func (EciScalingConfigurationContainerOutput) VolumeMounts added in v3.20.0

The structure of volumeMounts. See `volumeMounts` below for details.

func (EciScalingConfigurationContainerOutput) WorkingDir added in v3.20.0

The working directory of the container.

type EciScalingConfigurationContainerPort added in v3.20.0

type EciScalingConfigurationContainerPort struct {
	Port     *int    `pulumi:"port"`
	Protocol *string `pulumi:"protocol"`
}

type EciScalingConfigurationContainerPortArgs added in v3.20.0

type EciScalingConfigurationContainerPortArgs struct {
	Port     pulumi.IntPtrInput    `pulumi:"port"`
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
}

func (EciScalingConfigurationContainerPortArgs) ElementType added in v3.20.0

func (EciScalingConfigurationContainerPortArgs) ToEciScalingConfigurationContainerPortOutput added in v3.20.0

func (i EciScalingConfigurationContainerPortArgs) ToEciScalingConfigurationContainerPortOutput() EciScalingConfigurationContainerPortOutput

func (EciScalingConfigurationContainerPortArgs) ToEciScalingConfigurationContainerPortOutputWithContext added in v3.20.0

func (i EciScalingConfigurationContainerPortArgs) ToEciScalingConfigurationContainerPortOutputWithContext(ctx context.Context) EciScalingConfigurationContainerPortOutput

type EciScalingConfigurationContainerPortArray added in v3.20.0

type EciScalingConfigurationContainerPortArray []EciScalingConfigurationContainerPortInput

func (EciScalingConfigurationContainerPortArray) ElementType added in v3.20.0

func (EciScalingConfigurationContainerPortArray) ToEciScalingConfigurationContainerPortArrayOutput added in v3.20.0

func (i EciScalingConfigurationContainerPortArray) ToEciScalingConfigurationContainerPortArrayOutput() EciScalingConfigurationContainerPortArrayOutput

func (EciScalingConfigurationContainerPortArray) ToEciScalingConfigurationContainerPortArrayOutputWithContext added in v3.20.0

func (i EciScalingConfigurationContainerPortArray) ToEciScalingConfigurationContainerPortArrayOutputWithContext(ctx context.Context) EciScalingConfigurationContainerPortArrayOutput

type EciScalingConfigurationContainerPortArrayInput added in v3.20.0

type EciScalingConfigurationContainerPortArrayInput interface {
	pulumi.Input

	ToEciScalingConfigurationContainerPortArrayOutput() EciScalingConfigurationContainerPortArrayOutput
	ToEciScalingConfigurationContainerPortArrayOutputWithContext(context.Context) EciScalingConfigurationContainerPortArrayOutput
}

EciScalingConfigurationContainerPortArrayInput is an input type that accepts EciScalingConfigurationContainerPortArray and EciScalingConfigurationContainerPortArrayOutput values. You can construct a concrete instance of `EciScalingConfigurationContainerPortArrayInput` via:

EciScalingConfigurationContainerPortArray{ EciScalingConfigurationContainerPortArgs{...} }

type EciScalingConfigurationContainerPortArrayOutput added in v3.20.0

type EciScalingConfigurationContainerPortArrayOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationContainerPortArrayOutput) ElementType added in v3.20.0

func (EciScalingConfigurationContainerPortArrayOutput) Index added in v3.20.0

func (EciScalingConfigurationContainerPortArrayOutput) ToEciScalingConfigurationContainerPortArrayOutput added in v3.20.0

func (o EciScalingConfigurationContainerPortArrayOutput) ToEciScalingConfigurationContainerPortArrayOutput() EciScalingConfigurationContainerPortArrayOutput

func (EciScalingConfigurationContainerPortArrayOutput) ToEciScalingConfigurationContainerPortArrayOutputWithContext added in v3.20.0

func (o EciScalingConfigurationContainerPortArrayOutput) ToEciScalingConfigurationContainerPortArrayOutputWithContext(ctx context.Context) EciScalingConfigurationContainerPortArrayOutput

type EciScalingConfigurationContainerPortInput added in v3.20.0

type EciScalingConfigurationContainerPortInput interface {
	pulumi.Input

	ToEciScalingConfigurationContainerPortOutput() EciScalingConfigurationContainerPortOutput
	ToEciScalingConfigurationContainerPortOutputWithContext(context.Context) EciScalingConfigurationContainerPortOutput
}

EciScalingConfigurationContainerPortInput is an input type that accepts EciScalingConfigurationContainerPortArgs and EciScalingConfigurationContainerPortOutput values. You can construct a concrete instance of `EciScalingConfigurationContainerPortInput` via:

EciScalingConfigurationContainerPortArgs{...}

type EciScalingConfigurationContainerPortOutput added in v3.20.0

type EciScalingConfigurationContainerPortOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationContainerPortOutput) ElementType added in v3.20.0

func (EciScalingConfigurationContainerPortOutput) Port added in v3.20.0

func (EciScalingConfigurationContainerPortOutput) Protocol added in v3.20.0

func (EciScalingConfigurationContainerPortOutput) ToEciScalingConfigurationContainerPortOutput added in v3.20.0

func (o EciScalingConfigurationContainerPortOutput) ToEciScalingConfigurationContainerPortOutput() EciScalingConfigurationContainerPortOutput

func (EciScalingConfigurationContainerPortOutput) ToEciScalingConfigurationContainerPortOutputWithContext added in v3.20.0

func (o EciScalingConfigurationContainerPortOutput) ToEciScalingConfigurationContainerPortOutputWithContext(ctx context.Context) EciScalingConfigurationContainerPortOutput

type EciScalingConfigurationContainerVolumeMount added in v3.20.0

type EciScalingConfigurationContainerVolumeMount struct {
	MountPath *string `pulumi:"mountPath"`
	Name      *string `pulumi:"name"`
	ReadOnly  *bool   `pulumi:"readOnly"`
}

type EciScalingConfigurationContainerVolumeMountArgs added in v3.20.0

type EciScalingConfigurationContainerVolumeMountArgs struct {
	MountPath pulumi.StringPtrInput `pulumi:"mountPath"`
	Name      pulumi.StringPtrInput `pulumi:"name"`
	ReadOnly  pulumi.BoolPtrInput   `pulumi:"readOnly"`
}

func (EciScalingConfigurationContainerVolumeMountArgs) ElementType added in v3.20.0

func (EciScalingConfigurationContainerVolumeMountArgs) ToEciScalingConfigurationContainerVolumeMountOutput added in v3.20.0

func (i EciScalingConfigurationContainerVolumeMountArgs) ToEciScalingConfigurationContainerVolumeMountOutput() EciScalingConfigurationContainerVolumeMountOutput

func (EciScalingConfigurationContainerVolumeMountArgs) ToEciScalingConfigurationContainerVolumeMountOutputWithContext added in v3.20.0

func (i EciScalingConfigurationContainerVolumeMountArgs) ToEciScalingConfigurationContainerVolumeMountOutputWithContext(ctx context.Context) EciScalingConfigurationContainerVolumeMountOutput

type EciScalingConfigurationContainerVolumeMountArray added in v3.20.0

type EciScalingConfigurationContainerVolumeMountArray []EciScalingConfigurationContainerVolumeMountInput

func (EciScalingConfigurationContainerVolumeMountArray) ElementType added in v3.20.0

func (EciScalingConfigurationContainerVolumeMountArray) ToEciScalingConfigurationContainerVolumeMountArrayOutput added in v3.20.0

func (i EciScalingConfigurationContainerVolumeMountArray) ToEciScalingConfigurationContainerVolumeMountArrayOutput() EciScalingConfigurationContainerVolumeMountArrayOutput

func (EciScalingConfigurationContainerVolumeMountArray) ToEciScalingConfigurationContainerVolumeMountArrayOutputWithContext added in v3.20.0

func (i EciScalingConfigurationContainerVolumeMountArray) ToEciScalingConfigurationContainerVolumeMountArrayOutputWithContext(ctx context.Context) EciScalingConfigurationContainerVolumeMountArrayOutput

type EciScalingConfigurationContainerVolumeMountArrayInput added in v3.20.0

type EciScalingConfigurationContainerVolumeMountArrayInput interface {
	pulumi.Input

	ToEciScalingConfigurationContainerVolumeMountArrayOutput() EciScalingConfigurationContainerVolumeMountArrayOutput
	ToEciScalingConfigurationContainerVolumeMountArrayOutputWithContext(context.Context) EciScalingConfigurationContainerVolumeMountArrayOutput
}

EciScalingConfigurationContainerVolumeMountArrayInput is an input type that accepts EciScalingConfigurationContainerVolumeMountArray and EciScalingConfigurationContainerVolumeMountArrayOutput values. You can construct a concrete instance of `EciScalingConfigurationContainerVolumeMountArrayInput` via:

EciScalingConfigurationContainerVolumeMountArray{ EciScalingConfigurationContainerVolumeMountArgs{...} }

type EciScalingConfigurationContainerVolumeMountArrayOutput added in v3.20.0

type EciScalingConfigurationContainerVolumeMountArrayOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationContainerVolumeMountArrayOutput) ElementType added in v3.20.0

func (EciScalingConfigurationContainerVolumeMountArrayOutput) Index added in v3.20.0

func (EciScalingConfigurationContainerVolumeMountArrayOutput) ToEciScalingConfigurationContainerVolumeMountArrayOutput added in v3.20.0

func (EciScalingConfigurationContainerVolumeMountArrayOutput) ToEciScalingConfigurationContainerVolumeMountArrayOutputWithContext added in v3.20.0

func (o EciScalingConfigurationContainerVolumeMountArrayOutput) ToEciScalingConfigurationContainerVolumeMountArrayOutputWithContext(ctx context.Context) EciScalingConfigurationContainerVolumeMountArrayOutput

type EciScalingConfigurationContainerVolumeMountInput added in v3.20.0

type EciScalingConfigurationContainerVolumeMountInput interface {
	pulumi.Input

	ToEciScalingConfigurationContainerVolumeMountOutput() EciScalingConfigurationContainerVolumeMountOutput
	ToEciScalingConfigurationContainerVolumeMountOutputWithContext(context.Context) EciScalingConfigurationContainerVolumeMountOutput
}

EciScalingConfigurationContainerVolumeMountInput is an input type that accepts EciScalingConfigurationContainerVolumeMountArgs and EciScalingConfigurationContainerVolumeMountOutput values. You can construct a concrete instance of `EciScalingConfigurationContainerVolumeMountInput` via:

EciScalingConfigurationContainerVolumeMountArgs{...}

type EciScalingConfigurationContainerVolumeMountOutput added in v3.20.0

type EciScalingConfigurationContainerVolumeMountOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationContainerVolumeMountOutput) ElementType added in v3.20.0

func (EciScalingConfigurationContainerVolumeMountOutput) MountPath added in v3.20.0

func (EciScalingConfigurationContainerVolumeMountOutput) Name added in v3.20.0

func (EciScalingConfigurationContainerVolumeMountOutput) ReadOnly added in v3.20.0

func (EciScalingConfigurationContainerVolumeMountOutput) ToEciScalingConfigurationContainerVolumeMountOutput added in v3.20.0

func (o EciScalingConfigurationContainerVolumeMountOutput) ToEciScalingConfigurationContainerVolumeMountOutput() EciScalingConfigurationContainerVolumeMountOutput

func (EciScalingConfigurationContainerVolumeMountOutput) ToEciScalingConfigurationContainerVolumeMountOutputWithContext added in v3.20.0

func (o EciScalingConfigurationContainerVolumeMountOutput) ToEciScalingConfigurationContainerVolumeMountOutputWithContext(ctx context.Context) EciScalingConfigurationContainerVolumeMountOutput

type EciScalingConfigurationHostAlias added in v3.20.0

type EciScalingConfigurationHostAlias struct {
	// Adds a host name.
	Hostnames []string `pulumi:"hostnames"`
	// Adds an IP address.
	Ip *string `pulumi:"ip"`
}

type EciScalingConfigurationHostAliasArgs added in v3.20.0

type EciScalingConfigurationHostAliasArgs struct {
	// Adds a host name.
	Hostnames pulumi.StringArrayInput `pulumi:"hostnames"`
	// Adds an IP address.
	Ip pulumi.StringPtrInput `pulumi:"ip"`
}

func (EciScalingConfigurationHostAliasArgs) ElementType added in v3.20.0

func (EciScalingConfigurationHostAliasArgs) ToEciScalingConfigurationHostAliasOutput added in v3.20.0

func (i EciScalingConfigurationHostAliasArgs) ToEciScalingConfigurationHostAliasOutput() EciScalingConfigurationHostAliasOutput

func (EciScalingConfigurationHostAliasArgs) ToEciScalingConfigurationHostAliasOutputWithContext added in v3.20.0

func (i EciScalingConfigurationHostAliasArgs) ToEciScalingConfigurationHostAliasOutputWithContext(ctx context.Context) EciScalingConfigurationHostAliasOutput

type EciScalingConfigurationHostAliasArray added in v3.20.0

type EciScalingConfigurationHostAliasArray []EciScalingConfigurationHostAliasInput

func (EciScalingConfigurationHostAliasArray) ElementType added in v3.20.0

func (EciScalingConfigurationHostAliasArray) ToEciScalingConfigurationHostAliasArrayOutput added in v3.20.0

func (i EciScalingConfigurationHostAliasArray) ToEciScalingConfigurationHostAliasArrayOutput() EciScalingConfigurationHostAliasArrayOutput

func (EciScalingConfigurationHostAliasArray) ToEciScalingConfigurationHostAliasArrayOutputWithContext added in v3.20.0

func (i EciScalingConfigurationHostAliasArray) ToEciScalingConfigurationHostAliasArrayOutputWithContext(ctx context.Context) EciScalingConfigurationHostAliasArrayOutput

type EciScalingConfigurationHostAliasArrayInput added in v3.20.0

type EciScalingConfigurationHostAliasArrayInput interface {
	pulumi.Input

	ToEciScalingConfigurationHostAliasArrayOutput() EciScalingConfigurationHostAliasArrayOutput
	ToEciScalingConfigurationHostAliasArrayOutputWithContext(context.Context) EciScalingConfigurationHostAliasArrayOutput
}

EciScalingConfigurationHostAliasArrayInput is an input type that accepts EciScalingConfigurationHostAliasArray and EciScalingConfigurationHostAliasArrayOutput values. You can construct a concrete instance of `EciScalingConfigurationHostAliasArrayInput` via:

EciScalingConfigurationHostAliasArray{ EciScalingConfigurationHostAliasArgs{...} }

type EciScalingConfigurationHostAliasArrayOutput added in v3.20.0

type EciScalingConfigurationHostAliasArrayOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationHostAliasArrayOutput) ElementType added in v3.20.0

func (EciScalingConfigurationHostAliasArrayOutput) Index added in v3.20.0

func (EciScalingConfigurationHostAliasArrayOutput) ToEciScalingConfigurationHostAliasArrayOutput added in v3.20.0

func (o EciScalingConfigurationHostAliasArrayOutput) ToEciScalingConfigurationHostAliasArrayOutput() EciScalingConfigurationHostAliasArrayOutput

func (EciScalingConfigurationHostAliasArrayOutput) ToEciScalingConfigurationHostAliasArrayOutputWithContext added in v3.20.0

func (o EciScalingConfigurationHostAliasArrayOutput) ToEciScalingConfigurationHostAliasArrayOutputWithContext(ctx context.Context) EciScalingConfigurationHostAliasArrayOutput

type EciScalingConfigurationHostAliasInput added in v3.20.0

type EciScalingConfigurationHostAliasInput interface {
	pulumi.Input

	ToEciScalingConfigurationHostAliasOutput() EciScalingConfigurationHostAliasOutput
	ToEciScalingConfigurationHostAliasOutputWithContext(context.Context) EciScalingConfigurationHostAliasOutput
}

EciScalingConfigurationHostAliasInput is an input type that accepts EciScalingConfigurationHostAliasArgs and EciScalingConfigurationHostAliasOutput values. You can construct a concrete instance of `EciScalingConfigurationHostAliasInput` via:

EciScalingConfigurationHostAliasArgs{...}

type EciScalingConfigurationHostAliasOutput added in v3.20.0

type EciScalingConfigurationHostAliasOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationHostAliasOutput) ElementType added in v3.20.0

func (EciScalingConfigurationHostAliasOutput) Hostnames added in v3.20.0

Adds a host name.

func (EciScalingConfigurationHostAliasOutput) Ip added in v3.20.0

Adds an IP address.

func (EciScalingConfigurationHostAliasOutput) ToEciScalingConfigurationHostAliasOutput added in v3.20.0

func (o EciScalingConfigurationHostAliasOutput) ToEciScalingConfigurationHostAliasOutput() EciScalingConfigurationHostAliasOutput

func (EciScalingConfigurationHostAliasOutput) ToEciScalingConfigurationHostAliasOutputWithContext added in v3.20.0

func (o EciScalingConfigurationHostAliasOutput) ToEciScalingConfigurationHostAliasOutputWithContext(ctx context.Context) EciScalingConfigurationHostAliasOutput

type EciScalingConfigurationImageRegistryCredential added in v3.20.0

type EciScalingConfigurationImageRegistryCredential struct {
	// The password used to log on to the image repository. It is required
	// when `imageRegistryCredential` is configured.
	Password *string `pulumi:"password"`
	// The address of the image repository. It is required when `imageRegistryCredential` is
	// configured.
	Server *string `pulumi:"server"`
	// The username used to log on to the image repository. It is required
	// when `imageRegistryCredential` is configured.
	Username *string `pulumi:"username"`
}

type EciScalingConfigurationImageRegistryCredentialArgs added in v3.20.0

type EciScalingConfigurationImageRegistryCredentialArgs struct {
	// The password used to log on to the image repository. It is required
	// when `imageRegistryCredential` is configured.
	Password pulumi.StringPtrInput `pulumi:"password"`
	// The address of the image repository. It is required when `imageRegistryCredential` is
	// configured.
	Server pulumi.StringPtrInput `pulumi:"server"`
	// The username used to log on to the image repository. It is required
	// when `imageRegistryCredential` is configured.
	Username pulumi.StringPtrInput `pulumi:"username"`
}

func (EciScalingConfigurationImageRegistryCredentialArgs) ElementType added in v3.20.0

func (EciScalingConfigurationImageRegistryCredentialArgs) ToEciScalingConfigurationImageRegistryCredentialOutput added in v3.20.0

func (i EciScalingConfigurationImageRegistryCredentialArgs) ToEciScalingConfigurationImageRegistryCredentialOutput() EciScalingConfigurationImageRegistryCredentialOutput

func (EciScalingConfigurationImageRegistryCredentialArgs) ToEciScalingConfigurationImageRegistryCredentialOutputWithContext added in v3.20.0

func (i EciScalingConfigurationImageRegistryCredentialArgs) ToEciScalingConfigurationImageRegistryCredentialOutputWithContext(ctx context.Context) EciScalingConfigurationImageRegistryCredentialOutput

type EciScalingConfigurationImageRegistryCredentialArray added in v3.20.0

type EciScalingConfigurationImageRegistryCredentialArray []EciScalingConfigurationImageRegistryCredentialInput

func (EciScalingConfigurationImageRegistryCredentialArray) ElementType added in v3.20.0

func (EciScalingConfigurationImageRegistryCredentialArray) ToEciScalingConfigurationImageRegistryCredentialArrayOutput added in v3.20.0

func (i EciScalingConfigurationImageRegistryCredentialArray) ToEciScalingConfigurationImageRegistryCredentialArrayOutput() EciScalingConfigurationImageRegistryCredentialArrayOutput

func (EciScalingConfigurationImageRegistryCredentialArray) ToEciScalingConfigurationImageRegistryCredentialArrayOutputWithContext added in v3.20.0

func (i EciScalingConfigurationImageRegistryCredentialArray) ToEciScalingConfigurationImageRegistryCredentialArrayOutputWithContext(ctx context.Context) EciScalingConfigurationImageRegistryCredentialArrayOutput

type EciScalingConfigurationImageRegistryCredentialArrayInput added in v3.20.0

type EciScalingConfigurationImageRegistryCredentialArrayInput interface {
	pulumi.Input

	ToEciScalingConfigurationImageRegistryCredentialArrayOutput() EciScalingConfigurationImageRegistryCredentialArrayOutput
	ToEciScalingConfigurationImageRegistryCredentialArrayOutputWithContext(context.Context) EciScalingConfigurationImageRegistryCredentialArrayOutput
}

EciScalingConfigurationImageRegistryCredentialArrayInput is an input type that accepts EciScalingConfigurationImageRegistryCredentialArray and EciScalingConfigurationImageRegistryCredentialArrayOutput values. You can construct a concrete instance of `EciScalingConfigurationImageRegistryCredentialArrayInput` via:

EciScalingConfigurationImageRegistryCredentialArray{ EciScalingConfigurationImageRegistryCredentialArgs{...} }

type EciScalingConfigurationImageRegistryCredentialArrayOutput added in v3.20.0

type EciScalingConfigurationImageRegistryCredentialArrayOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationImageRegistryCredentialArrayOutput) ElementType added in v3.20.0

func (EciScalingConfigurationImageRegistryCredentialArrayOutput) Index added in v3.20.0

func (EciScalingConfigurationImageRegistryCredentialArrayOutput) ToEciScalingConfigurationImageRegistryCredentialArrayOutput added in v3.20.0

func (EciScalingConfigurationImageRegistryCredentialArrayOutput) ToEciScalingConfigurationImageRegistryCredentialArrayOutputWithContext added in v3.20.0

func (o EciScalingConfigurationImageRegistryCredentialArrayOutput) ToEciScalingConfigurationImageRegistryCredentialArrayOutputWithContext(ctx context.Context) EciScalingConfigurationImageRegistryCredentialArrayOutput

type EciScalingConfigurationImageRegistryCredentialInput added in v3.20.0

type EciScalingConfigurationImageRegistryCredentialInput interface {
	pulumi.Input

	ToEciScalingConfigurationImageRegistryCredentialOutput() EciScalingConfigurationImageRegistryCredentialOutput
	ToEciScalingConfigurationImageRegistryCredentialOutputWithContext(context.Context) EciScalingConfigurationImageRegistryCredentialOutput
}

EciScalingConfigurationImageRegistryCredentialInput is an input type that accepts EciScalingConfigurationImageRegistryCredentialArgs and EciScalingConfigurationImageRegistryCredentialOutput values. You can construct a concrete instance of `EciScalingConfigurationImageRegistryCredentialInput` via:

EciScalingConfigurationImageRegistryCredentialArgs{...}

type EciScalingConfigurationImageRegistryCredentialOutput added in v3.20.0

type EciScalingConfigurationImageRegistryCredentialOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationImageRegistryCredentialOutput) ElementType added in v3.20.0

func (EciScalingConfigurationImageRegistryCredentialOutput) Password added in v3.20.0

The password used to log on to the image repository. It is required when `imageRegistryCredential` is configured.

func (EciScalingConfigurationImageRegistryCredentialOutput) Server added in v3.20.0

The address of the image repository. It is required when `imageRegistryCredential` is configured.

func (EciScalingConfigurationImageRegistryCredentialOutput) ToEciScalingConfigurationImageRegistryCredentialOutput added in v3.20.0

func (EciScalingConfigurationImageRegistryCredentialOutput) ToEciScalingConfigurationImageRegistryCredentialOutputWithContext added in v3.20.0

func (o EciScalingConfigurationImageRegistryCredentialOutput) ToEciScalingConfigurationImageRegistryCredentialOutputWithContext(ctx context.Context) EciScalingConfigurationImageRegistryCredentialOutput

func (EciScalingConfigurationImageRegistryCredentialOutput) Username added in v3.20.0

The username used to log on to the image repository. It is required when `imageRegistryCredential` is configured.

type EciScalingConfigurationInitContainer added in v3.20.0

type EciScalingConfigurationInitContainer struct {
	// The arguments passed to the commands.
	Args []string `pulumi:"args"`
	// The commands run by the init container.
	Commands []string `pulumi:"commands"`
	// The amount of CPU resources allocated to the container.
	Cpu *float64 `pulumi:"cpu"`
	// The structure of environmentVars.
	// See `environmentVars` below for details.
	EnvironmentVars []EciScalingConfigurationInitContainerEnvironmentVar `pulumi:"environmentVars"`
	// The number GPUs.
	Gpu *int `pulumi:"gpu"`
	// The image of the container.
	Image *string `pulumi:"image"`
	// The restart policy of the image.
	ImagePullPolicy *string `pulumi:"imagePullPolicy"`
	// The amount of memory resources allocated to the container.
	Memory *float64 `pulumi:"memory"`
	// The name of the mounted volume.
	Name *string `pulumi:"name"`
	// The structure of port. See `ports` below for details.
	Ports []EciScalingConfigurationInitContainerPort `pulumi:"ports"`
	// Grant certain permissions to processes within container. Optional values:
	// - NET_ADMIN: Allow network management tasks to be performed.
	// - NET_RAW: Allow raw sockets.
	SecurityContextCapabilityAdds []string `pulumi:"securityContextCapabilityAdds"`
	// Mounts the container's root filesystem as read-only.
	SecurityContextReadOnlyRootFileSystem *bool `pulumi:"securityContextReadOnlyRootFileSystem"`
	// Specifies user ID  under which all processes run.
	SecurityContextRunAsUser *int `pulumi:"securityContextRunAsUser"`
	// The structure of volumeMounts. See `volumeMounts` below for details.
	VolumeMounts []EciScalingConfigurationInitContainerVolumeMount `pulumi:"volumeMounts"`
	// The working directory of the container.
	WorkingDir *string `pulumi:"workingDir"`
}

type EciScalingConfigurationInitContainerArgs added in v3.20.0

type EciScalingConfigurationInitContainerArgs struct {
	// The arguments passed to the commands.
	Args pulumi.StringArrayInput `pulumi:"args"`
	// The commands run by the init container.
	Commands pulumi.StringArrayInput `pulumi:"commands"`
	// The amount of CPU resources allocated to the container.
	Cpu pulumi.Float64PtrInput `pulumi:"cpu"`
	// The structure of environmentVars.
	// See `environmentVars` below for details.
	EnvironmentVars EciScalingConfigurationInitContainerEnvironmentVarArrayInput `pulumi:"environmentVars"`
	// The number GPUs.
	Gpu pulumi.IntPtrInput `pulumi:"gpu"`
	// The image of the container.
	Image pulumi.StringPtrInput `pulumi:"image"`
	// The restart policy of the image.
	ImagePullPolicy pulumi.StringPtrInput `pulumi:"imagePullPolicy"`
	// The amount of memory resources allocated to the container.
	Memory pulumi.Float64PtrInput `pulumi:"memory"`
	// The name of the mounted volume.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The structure of port. See `ports` below for details.
	Ports EciScalingConfigurationInitContainerPortArrayInput `pulumi:"ports"`
	// Grant certain permissions to processes within container. Optional values:
	// - NET_ADMIN: Allow network management tasks to be performed.
	// - NET_RAW: Allow raw sockets.
	SecurityContextCapabilityAdds pulumi.StringArrayInput `pulumi:"securityContextCapabilityAdds"`
	// Mounts the container's root filesystem as read-only.
	SecurityContextReadOnlyRootFileSystem pulumi.BoolPtrInput `pulumi:"securityContextReadOnlyRootFileSystem"`
	// Specifies user ID  under which all processes run.
	SecurityContextRunAsUser pulumi.IntPtrInput `pulumi:"securityContextRunAsUser"`
	// The structure of volumeMounts. See `volumeMounts` below for details.
	VolumeMounts EciScalingConfigurationInitContainerVolumeMountArrayInput `pulumi:"volumeMounts"`
	// The working directory of the container.
	WorkingDir pulumi.StringPtrInput `pulumi:"workingDir"`
}

func (EciScalingConfigurationInitContainerArgs) ElementType added in v3.20.0

func (EciScalingConfigurationInitContainerArgs) ToEciScalingConfigurationInitContainerOutput added in v3.20.0

func (i EciScalingConfigurationInitContainerArgs) ToEciScalingConfigurationInitContainerOutput() EciScalingConfigurationInitContainerOutput

func (EciScalingConfigurationInitContainerArgs) ToEciScalingConfigurationInitContainerOutputWithContext added in v3.20.0

func (i EciScalingConfigurationInitContainerArgs) ToEciScalingConfigurationInitContainerOutputWithContext(ctx context.Context) EciScalingConfigurationInitContainerOutput

type EciScalingConfigurationInitContainerArray added in v3.20.0

type EciScalingConfigurationInitContainerArray []EciScalingConfigurationInitContainerInput

func (EciScalingConfigurationInitContainerArray) ElementType added in v3.20.0

func (EciScalingConfigurationInitContainerArray) ToEciScalingConfigurationInitContainerArrayOutput added in v3.20.0

func (i EciScalingConfigurationInitContainerArray) ToEciScalingConfigurationInitContainerArrayOutput() EciScalingConfigurationInitContainerArrayOutput

func (EciScalingConfigurationInitContainerArray) ToEciScalingConfigurationInitContainerArrayOutputWithContext added in v3.20.0

func (i EciScalingConfigurationInitContainerArray) ToEciScalingConfigurationInitContainerArrayOutputWithContext(ctx context.Context) EciScalingConfigurationInitContainerArrayOutput

type EciScalingConfigurationInitContainerArrayInput added in v3.20.0

type EciScalingConfigurationInitContainerArrayInput interface {
	pulumi.Input

	ToEciScalingConfigurationInitContainerArrayOutput() EciScalingConfigurationInitContainerArrayOutput
	ToEciScalingConfigurationInitContainerArrayOutputWithContext(context.Context) EciScalingConfigurationInitContainerArrayOutput
}

EciScalingConfigurationInitContainerArrayInput is an input type that accepts EciScalingConfigurationInitContainerArray and EciScalingConfigurationInitContainerArrayOutput values. You can construct a concrete instance of `EciScalingConfigurationInitContainerArrayInput` via:

EciScalingConfigurationInitContainerArray{ EciScalingConfigurationInitContainerArgs{...} }

type EciScalingConfigurationInitContainerArrayOutput added in v3.20.0

type EciScalingConfigurationInitContainerArrayOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationInitContainerArrayOutput) ElementType added in v3.20.0

func (EciScalingConfigurationInitContainerArrayOutput) Index added in v3.20.0

func (EciScalingConfigurationInitContainerArrayOutput) ToEciScalingConfigurationInitContainerArrayOutput added in v3.20.0

func (o EciScalingConfigurationInitContainerArrayOutput) ToEciScalingConfigurationInitContainerArrayOutput() EciScalingConfigurationInitContainerArrayOutput

func (EciScalingConfigurationInitContainerArrayOutput) ToEciScalingConfigurationInitContainerArrayOutputWithContext added in v3.20.0

func (o EciScalingConfigurationInitContainerArrayOutput) ToEciScalingConfigurationInitContainerArrayOutputWithContext(ctx context.Context) EciScalingConfigurationInitContainerArrayOutput

type EciScalingConfigurationInitContainerEnvironmentVar added in v3.20.0

type EciScalingConfigurationInitContainerEnvironmentVar struct {
	FieldRefFieldPath *string `pulumi:"fieldRefFieldPath"`
	Key               *string `pulumi:"key"`
	Value             *string `pulumi:"value"`
}

type EciScalingConfigurationInitContainerEnvironmentVarArgs added in v3.20.0

type EciScalingConfigurationInitContainerEnvironmentVarArgs struct {
	FieldRefFieldPath pulumi.StringPtrInput `pulumi:"fieldRefFieldPath"`
	Key               pulumi.StringPtrInput `pulumi:"key"`
	Value             pulumi.StringPtrInput `pulumi:"value"`
}

func (EciScalingConfigurationInitContainerEnvironmentVarArgs) ElementType added in v3.20.0

func (EciScalingConfigurationInitContainerEnvironmentVarArgs) ToEciScalingConfigurationInitContainerEnvironmentVarOutput added in v3.20.0

func (EciScalingConfigurationInitContainerEnvironmentVarArgs) ToEciScalingConfigurationInitContainerEnvironmentVarOutputWithContext added in v3.20.0

func (i EciScalingConfigurationInitContainerEnvironmentVarArgs) ToEciScalingConfigurationInitContainerEnvironmentVarOutputWithContext(ctx context.Context) EciScalingConfigurationInitContainerEnvironmentVarOutput

type EciScalingConfigurationInitContainerEnvironmentVarArray added in v3.20.0

type EciScalingConfigurationInitContainerEnvironmentVarArray []EciScalingConfigurationInitContainerEnvironmentVarInput

func (EciScalingConfigurationInitContainerEnvironmentVarArray) ElementType added in v3.20.0

func (EciScalingConfigurationInitContainerEnvironmentVarArray) ToEciScalingConfigurationInitContainerEnvironmentVarArrayOutput added in v3.20.0

func (i EciScalingConfigurationInitContainerEnvironmentVarArray) ToEciScalingConfigurationInitContainerEnvironmentVarArrayOutput() EciScalingConfigurationInitContainerEnvironmentVarArrayOutput

func (EciScalingConfigurationInitContainerEnvironmentVarArray) ToEciScalingConfigurationInitContainerEnvironmentVarArrayOutputWithContext added in v3.20.0

func (i EciScalingConfigurationInitContainerEnvironmentVarArray) ToEciScalingConfigurationInitContainerEnvironmentVarArrayOutputWithContext(ctx context.Context) EciScalingConfigurationInitContainerEnvironmentVarArrayOutput

type EciScalingConfigurationInitContainerEnvironmentVarArrayInput added in v3.20.0

type EciScalingConfigurationInitContainerEnvironmentVarArrayInput interface {
	pulumi.Input

	ToEciScalingConfigurationInitContainerEnvironmentVarArrayOutput() EciScalingConfigurationInitContainerEnvironmentVarArrayOutput
	ToEciScalingConfigurationInitContainerEnvironmentVarArrayOutputWithContext(context.Context) EciScalingConfigurationInitContainerEnvironmentVarArrayOutput
}

EciScalingConfigurationInitContainerEnvironmentVarArrayInput is an input type that accepts EciScalingConfigurationInitContainerEnvironmentVarArray and EciScalingConfigurationInitContainerEnvironmentVarArrayOutput values. You can construct a concrete instance of `EciScalingConfigurationInitContainerEnvironmentVarArrayInput` via:

EciScalingConfigurationInitContainerEnvironmentVarArray{ EciScalingConfigurationInitContainerEnvironmentVarArgs{...} }

type EciScalingConfigurationInitContainerEnvironmentVarArrayOutput added in v3.20.0

type EciScalingConfigurationInitContainerEnvironmentVarArrayOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationInitContainerEnvironmentVarArrayOutput) ElementType added in v3.20.0

func (EciScalingConfigurationInitContainerEnvironmentVarArrayOutput) Index added in v3.20.0

func (EciScalingConfigurationInitContainerEnvironmentVarArrayOutput) ToEciScalingConfigurationInitContainerEnvironmentVarArrayOutput added in v3.20.0

func (EciScalingConfigurationInitContainerEnvironmentVarArrayOutput) ToEciScalingConfigurationInitContainerEnvironmentVarArrayOutputWithContext added in v3.20.0

func (o EciScalingConfigurationInitContainerEnvironmentVarArrayOutput) ToEciScalingConfigurationInitContainerEnvironmentVarArrayOutputWithContext(ctx context.Context) EciScalingConfigurationInitContainerEnvironmentVarArrayOutput

type EciScalingConfigurationInitContainerEnvironmentVarInput added in v3.20.0

type EciScalingConfigurationInitContainerEnvironmentVarInput interface {
	pulumi.Input

	ToEciScalingConfigurationInitContainerEnvironmentVarOutput() EciScalingConfigurationInitContainerEnvironmentVarOutput
	ToEciScalingConfigurationInitContainerEnvironmentVarOutputWithContext(context.Context) EciScalingConfigurationInitContainerEnvironmentVarOutput
}

EciScalingConfigurationInitContainerEnvironmentVarInput is an input type that accepts EciScalingConfigurationInitContainerEnvironmentVarArgs and EciScalingConfigurationInitContainerEnvironmentVarOutput values. You can construct a concrete instance of `EciScalingConfigurationInitContainerEnvironmentVarInput` via:

EciScalingConfigurationInitContainerEnvironmentVarArgs{...}

type EciScalingConfigurationInitContainerEnvironmentVarOutput added in v3.20.0

type EciScalingConfigurationInitContainerEnvironmentVarOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationInitContainerEnvironmentVarOutput) ElementType added in v3.20.0

func (EciScalingConfigurationInitContainerEnvironmentVarOutput) FieldRefFieldPath added in v3.46.1

func (EciScalingConfigurationInitContainerEnvironmentVarOutput) Key added in v3.20.0

func (EciScalingConfigurationInitContainerEnvironmentVarOutput) ToEciScalingConfigurationInitContainerEnvironmentVarOutput added in v3.20.0

func (EciScalingConfigurationInitContainerEnvironmentVarOutput) ToEciScalingConfigurationInitContainerEnvironmentVarOutputWithContext added in v3.20.0

func (o EciScalingConfigurationInitContainerEnvironmentVarOutput) ToEciScalingConfigurationInitContainerEnvironmentVarOutputWithContext(ctx context.Context) EciScalingConfigurationInitContainerEnvironmentVarOutput

func (EciScalingConfigurationInitContainerEnvironmentVarOutput) Value added in v3.20.0

type EciScalingConfigurationInitContainerInput added in v3.20.0

type EciScalingConfigurationInitContainerInput interface {
	pulumi.Input

	ToEciScalingConfigurationInitContainerOutput() EciScalingConfigurationInitContainerOutput
	ToEciScalingConfigurationInitContainerOutputWithContext(context.Context) EciScalingConfigurationInitContainerOutput
}

EciScalingConfigurationInitContainerInput is an input type that accepts EciScalingConfigurationInitContainerArgs and EciScalingConfigurationInitContainerOutput values. You can construct a concrete instance of `EciScalingConfigurationInitContainerInput` via:

EciScalingConfigurationInitContainerArgs{...}

type EciScalingConfigurationInitContainerOutput added in v3.20.0

type EciScalingConfigurationInitContainerOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationInitContainerOutput) Args added in v3.20.0

The arguments passed to the commands.

func (EciScalingConfigurationInitContainerOutput) Commands added in v3.20.0

The commands run by the init container.

func (EciScalingConfigurationInitContainerOutput) Cpu added in v3.20.0

The amount of CPU resources allocated to the container.

func (EciScalingConfigurationInitContainerOutput) ElementType added in v3.20.0

func (EciScalingConfigurationInitContainerOutput) EnvironmentVars added in v3.20.0

The structure of environmentVars. See `environmentVars` below for details.

func (EciScalingConfigurationInitContainerOutput) Gpu added in v3.20.0

The number GPUs.

func (EciScalingConfigurationInitContainerOutput) Image added in v3.20.0

The image of the container.

func (EciScalingConfigurationInitContainerOutput) ImagePullPolicy added in v3.20.0

The restart policy of the image.

func (EciScalingConfigurationInitContainerOutput) Memory added in v3.20.0

The amount of memory resources allocated to the container.

func (EciScalingConfigurationInitContainerOutput) Name added in v3.20.0

The name of the mounted volume.

func (EciScalingConfigurationInitContainerOutput) Ports added in v3.20.0

The structure of port. See `ports` below for details.

func (EciScalingConfigurationInitContainerOutput) SecurityContextCapabilityAdds added in v3.46.1

func (o EciScalingConfigurationInitContainerOutput) SecurityContextCapabilityAdds() pulumi.StringArrayOutput

Grant certain permissions to processes within container. Optional values: - NET_ADMIN: Allow network management tasks to be performed. - NET_RAW: Allow raw sockets.

func (EciScalingConfigurationInitContainerOutput) SecurityContextReadOnlyRootFileSystem added in v3.46.1

func (o EciScalingConfigurationInitContainerOutput) SecurityContextReadOnlyRootFileSystem() pulumi.BoolPtrOutput

Mounts the container's root filesystem as read-only.

func (EciScalingConfigurationInitContainerOutput) SecurityContextRunAsUser added in v3.46.1

func (o EciScalingConfigurationInitContainerOutput) SecurityContextRunAsUser() pulumi.IntPtrOutput

Specifies user ID under which all processes run.

func (EciScalingConfigurationInitContainerOutput) ToEciScalingConfigurationInitContainerOutput added in v3.20.0

func (o EciScalingConfigurationInitContainerOutput) ToEciScalingConfigurationInitContainerOutput() EciScalingConfigurationInitContainerOutput

func (EciScalingConfigurationInitContainerOutput) ToEciScalingConfigurationInitContainerOutputWithContext added in v3.20.0

func (o EciScalingConfigurationInitContainerOutput) ToEciScalingConfigurationInitContainerOutputWithContext(ctx context.Context) EciScalingConfigurationInitContainerOutput

func (EciScalingConfigurationInitContainerOutput) VolumeMounts added in v3.20.0

The structure of volumeMounts. See `volumeMounts` below for details.

func (EciScalingConfigurationInitContainerOutput) WorkingDir added in v3.20.0

The working directory of the container.

type EciScalingConfigurationInitContainerPort added in v3.20.0

type EciScalingConfigurationInitContainerPort struct {
	Port     *int    `pulumi:"port"`
	Protocol *string `pulumi:"protocol"`
}

type EciScalingConfigurationInitContainerPortArgs added in v3.20.0

type EciScalingConfigurationInitContainerPortArgs struct {
	Port     pulumi.IntPtrInput    `pulumi:"port"`
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
}

func (EciScalingConfigurationInitContainerPortArgs) ElementType added in v3.20.0

func (EciScalingConfigurationInitContainerPortArgs) ToEciScalingConfigurationInitContainerPortOutput added in v3.20.0

func (i EciScalingConfigurationInitContainerPortArgs) ToEciScalingConfigurationInitContainerPortOutput() EciScalingConfigurationInitContainerPortOutput

func (EciScalingConfigurationInitContainerPortArgs) ToEciScalingConfigurationInitContainerPortOutputWithContext added in v3.20.0

func (i EciScalingConfigurationInitContainerPortArgs) ToEciScalingConfigurationInitContainerPortOutputWithContext(ctx context.Context) EciScalingConfigurationInitContainerPortOutput

type EciScalingConfigurationInitContainerPortArray added in v3.20.0

type EciScalingConfigurationInitContainerPortArray []EciScalingConfigurationInitContainerPortInput

func (EciScalingConfigurationInitContainerPortArray) ElementType added in v3.20.0

func (EciScalingConfigurationInitContainerPortArray) ToEciScalingConfigurationInitContainerPortArrayOutput added in v3.20.0

func (i EciScalingConfigurationInitContainerPortArray) ToEciScalingConfigurationInitContainerPortArrayOutput() EciScalingConfigurationInitContainerPortArrayOutput

func (EciScalingConfigurationInitContainerPortArray) ToEciScalingConfigurationInitContainerPortArrayOutputWithContext added in v3.20.0

func (i EciScalingConfigurationInitContainerPortArray) ToEciScalingConfigurationInitContainerPortArrayOutputWithContext(ctx context.Context) EciScalingConfigurationInitContainerPortArrayOutput

type EciScalingConfigurationInitContainerPortArrayInput added in v3.20.0

type EciScalingConfigurationInitContainerPortArrayInput interface {
	pulumi.Input

	ToEciScalingConfigurationInitContainerPortArrayOutput() EciScalingConfigurationInitContainerPortArrayOutput
	ToEciScalingConfigurationInitContainerPortArrayOutputWithContext(context.Context) EciScalingConfigurationInitContainerPortArrayOutput
}

EciScalingConfigurationInitContainerPortArrayInput is an input type that accepts EciScalingConfigurationInitContainerPortArray and EciScalingConfigurationInitContainerPortArrayOutput values. You can construct a concrete instance of `EciScalingConfigurationInitContainerPortArrayInput` via:

EciScalingConfigurationInitContainerPortArray{ EciScalingConfigurationInitContainerPortArgs{...} }

type EciScalingConfigurationInitContainerPortArrayOutput added in v3.20.0

type EciScalingConfigurationInitContainerPortArrayOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationInitContainerPortArrayOutput) ElementType added in v3.20.0

func (EciScalingConfigurationInitContainerPortArrayOutput) Index added in v3.20.0

func (EciScalingConfigurationInitContainerPortArrayOutput) ToEciScalingConfigurationInitContainerPortArrayOutput added in v3.20.0

func (o EciScalingConfigurationInitContainerPortArrayOutput) ToEciScalingConfigurationInitContainerPortArrayOutput() EciScalingConfigurationInitContainerPortArrayOutput

func (EciScalingConfigurationInitContainerPortArrayOutput) ToEciScalingConfigurationInitContainerPortArrayOutputWithContext added in v3.20.0

func (o EciScalingConfigurationInitContainerPortArrayOutput) ToEciScalingConfigurationInitContainerPortArrayOutputWithContext(ctx context.Context) EciScalingConfigurationInitContainerPortArrayOutput

type EciScalingConfigurationInitContainerPortInput added in v3.20.0

type EciScalingConfigurationInitContainerPortInput interface {
	pulumi.Input

	ToEciScalingConfigurationInitContainerPortOutput() EciScalingConfigurationInitContainerPortOutput
	ToEciScalingConfigurationInitContainerPortOutputWithContext(context.Context) EciScalingConfigurationInitContainerPortOutput
}

EciScalingConfigurationInitContainerPortInput is an input type that accepts EciScalingConfigurationInitContainerPortArgs and EciScalingConfigurationInitContainerPortOutput values. You can construct a concrete instance of `EciScalingConfigurationInitContainerPortInput` via:

EciScalingConfigurationInitContainerPortArgs{...}

type EciScalingConfigurationInitContainerPortOutput added in v3.20.0

type EciScalingConfigurationInitContainerPortOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationInitContainerPortOutput) ElementType added in v3.20.0

func (EciScalingConfigurationInitContainerPortOutput) Port added in v3.20.0

func (EciScalingConfigurationInitContainerPortOutput) Protocol added in v3.20.0

func (EciScalingConfigurationInitContainerPortOutput) ToEciScalingConfigurationInitContainerPortOutput added in v3.20.0

func (o EciScalingConfigurationInitContainerPortOutput) ToEciScalingConfigurationInitContainerPortOutput() EciScalingConfigurationInitContainerPortOutput

func (EciScalingConfigurationInitContainerPortOutput) ToEciScalingConfigurationInitContainerPortOutputWithContext added in v3.20.0

func (o EciScalingConfigurationInitContainerPortOutput) ToEciScalingConfigurationInitContainerPortOutputWithContext(ctx context.Context) EciScalingConfigurationInitContainerPortOutput

type EciScalingConfigurationInitContainerVolumeMount added in v3.20.0

type EciScalingConfigurationInitContainerVolumeMount struct {
	MountPath *string `pulumi:"mountPath"`
	Name      *string `pulumi:"name"`
	ReadOnly  *bool   `pulumi:"readOnly"`
}

type EciScalingConfigurationInitContainerVolumeMountArgs added in v3.20.0

type EciScalingConfigurationInitContainerVolumeMountArgs struct {
	MountPath pulumi.StringPtrInput `pulumi:"mountPath"`
	Name      pulumi.StringPtrInput `pulumi:"name"`
	ReadOnly  pulumi.BoolPtrInput   `pulumi:"readOnly"`
}

func (EciScalingConfigurationInitContainerVolumeMountArgs) ElementType added in v3.20.0

func (EciScalingConfigurationInitContainerVolumeMountArgs) ToEciScalingConfigurationInitContainerVolumeMountOutput added in v3.20.0

func (i EciScalingConfigurationInitContainerVolumeMountArgs) ToEciScalingConfigurationInitContainerVolumeMountOutput() EciScalingConfigurationInitContainerVolumeMountOutput

func (EciScalingConfigurationInitContainerVolumeMountArgs) ToEciScalingConfigurationInitContainerVolumeMountOutputWithContext added in v3.20.0

func (i EciScalingConfigurationInitContainerVolumeMountArgs) ToEciScalingConfigurationInitContainerVolumeMountOutputWithContext(ctx context.Context) EciScalingConfigurationInitContainerVolumeMountOutput

type EciScalingConfigurationInitContainerVolumeMountArray added in v3.20.0

type EciScalingConfigurationInitContainerVolumeMountArray []EciScalingConfigurationInitContainerVolumeMountInput

func (EciScalingConfigurationInitContainerVolumeMountArray) ElementType added in v3.20.0

func (EciScalingConfigurationInitContainerVolumeMountArray) ToEciScalingConfigurationInitContainerVolumeMountArrayOutput added in v3.20.0

func (i EciScalingConfigurationInitContainerVolumeMountArray) ToEciScalingConfigurationInitContainerVolumeMountArrayOutput() EciScalingConfigurationInitContainerVolumeMountArrayOutput

func (EciScalingConfigurationInitContainerVolumeMountArray) ToEciScalingConfigurationInitContainerVolumeMountArrayOutputWithContext added in v3.20.0

func (i EciScalingConfigurationInitContainerVolumeMountArray) ToEciScalingConfigurationInitContainerVolumeMountArrayOutputWithContext(ctx context.Context) EciScalingConfigurationInitContainerVolumeMountArrayOutput

type EciScalingConfigurationInitContainerVolumeMountArrayInput added in v3.20.0

type EciScalingConfigurationInitContainerVolumeMountArrayInput interface {
	pulumi.Input

	ToEciScalingConfigurationInitContainerVolumeMountArrayOutput() EciScalingConfigurationInitContainerVolumeMountArrayOutput
	ToEciScalingConfigurationInitContainerVolumeMountArrayOutputWithContext(context.Context) EciScalingConfigurationInitContainerVolumeMountArrayOutput
}

EciScalingConfigurationInitContainerVolumeMountArrayInput is an input type that accepts EciScalingConfigurationInitContainerVolumeMountArray and EciScalingConfigurationInitContainerVolumeMountArrayOutput values. You can construct a concrete instance of `EciScalingConfigurationInitContainerVolumeMountArrayInput` via:

EciScalingConfigurationInitContainerVolumeMountArray{ EciScalingConfigurationInitContainerVolumeMountArgs{...} }

type EciScalingConfigurationInitContainerVolumeMountArrayOutput added in v3.20.0

type EciScalingConfigurationInitContainerVolumeMountArrayOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationInitContainerVolumeMountArrayOutput) ElementType added in v3.20.0

func (EciScalingConfigurationInitContainerVolumeMountArrayOutput) Index added in v3.20.0

func (EciScalingConfigurationInitContainerVolumeMountArrayOutput) ToEciScalingConfigurationInitContainerVolumeMountArrayOutput added in v3.20.0

func (EciScalingConfigurationInitContainerVolumeMountArrayOutput) ToEciScalingConfigurationInitContainerVolumeMountArrayOutputWithContext added in v3.20.0

func (o EciScalingConfigurationInitContainerVolumeMountArrayOutput) ToEciScalingConfigurationInitContainerVolumeMountArrayOutputWithContext(ctx context.Context) EciScalingConfigurationInitContainerVolumeMountArrayOutput

type EciScalingConfigurationInitContainerVolumeMountInput added in v3.20.0

type EciScalingConfigurationInitContainerVolumeMountInput interface {
	pulumi.Input

	ToEciScalingConfigurationInitContainerVolumeMountOutput() EciScalingConfigurationInitContainerVolumeMountOutput
	ToEciScalingConfigurationInitContainerVolumeMountOutputWithContext(context.Context) EciScalingConfigurationInitContainerVolumeMountOutput
}

EciScalingConfigurationInitContainerVolumeMountInput is an input type that accepts EciScalingConfigurationInitContainerVolumeMountArgs and EciScalingConfigurationInitContainerVolumeMountOutput values. You can construct a concrete instance of `EciScalingConfigurationInitContainerVolumeMountInput` via:

EciScalingConfigurationInitContainerVolumeMountArgs{...}

type EciScalingConfigurationInitContainerVolumeMountOutput added in v3.20.0

type EciScalingConfigurationInitContainerVolumeMountOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationInitContainerVolumeMountOutput) ElementType added in v3.20.0

func (EciScalingConfigurationInitContainerVolumeMountOutput) MountPath added in v3.20.0

func (EciScalingConfigurationInitContainerVolumeMountOutput) Name added in v3.20.0

func (EciScalingConfigurationInitContainerVolumeMountOutput) ReadOnly added in v3.20.0

func (EciScalingConfigurationInitContainerVolumeMountOutput) ToEciScalingConfigurationInitContainerVolumeMountOutput added in v3.20.0

func (EciScalingConfigurationInitContainerVolumeMountOutput) ToEciScalingConfigurationInitContainerVolumeMountOutputWithContext added in v3.20.0

func (o EciScalingConfigurationInitContainerVolumeMountOutput) ToEciScalingConfigurationInitContainerVolumeMountOutputWithContext(ctx context.Context) EciScalingConfigurationInitContainerVolumeMountOutput

type EciScalingConfigurationInput added in v3.20.0

type EciScalingConfigurationInput interface {
	pulumi.Input

	ToEciScalingConfigurationOutput() EciScalingConfigurationOutput
	ToEciScalingConfigurationOutputWithContext(ctx context.Context) EciScalingConfigurationOutput
}

type EciScalingConfigurationMap added in v3.20.0

type EciScalingConfigurationMap map[string]EciScalingConfigurationInput

func (EciScalingConfigurationMap) ElementType added in v3.20.0

func (EciScalingConfigurationMap) ElementType() reflect.Type

func (EciScalingConfigurationMap) ToEciScalingConfigurationMapOutput added in v3.20.0

func (i EciScalingConfigurationMap) ToEciScalingConfigurationMapOutput() EciScalingConfigurationMapOutput

func (EciScalingConfigurationMap) ToEciScalingConfigurationMapOutputWithContext added in v3.20.0

func (i EciScalingConfigurationMap) ToEciScalingConfigurationMapOutputWithContext(ctx context.Context) EciScalingConfigurationMapOutput

type EciScalingConfigurationMapInput added in v3.20.0

type EciScalingConfigurationMapInput interface {
	pulumi.Input

	ToEciScalingConfigurationMapOutput() EciScalingConfigurationMapOutput
	ToEciScalingConfigurationMapOutputWithContext(context.Context) EciScalingConfigurationMapOutput
}

EciScalingConfigurationMapInput is an input type that accepts EciScalingConfigurationMap and EciScalingConfigurationMapOutput values. You can construct a concrete instance of `EciScalingConfigurationMapInput` via:

EciScalingConfigurationMap{ "key": EciScalingConfigurationArgs{...} }

type EciScalingConfigurationMapOutput added in v3.20.0

type EciScalingConfigurationMapOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationMapOutput) ElementType added in v3.20.0

func (EciScalingConfigurationMapOutput) MapIndex added in v3.20.0

func (EciScalingConfigurationMapOutput) ToEciScalingConfigurationMapOutput added in v3.20.0

func (o EciScalingConfigurationMapOutput) ToEciScalingConfigurationMapOutput() EciScalingConfigurationMapOutput

func (EciScalingConfigurationMapOutput) ToEciScalingConfigurationMapOutputWithContext added in v3.20.0

func (o EciScalingConfigurationMapOutput) ToEciScalingConfigurationMapOutputWithContext(ctx context.Context) EciScalingConfigurationMapOutput

type EciScalingConfigurationOutput added in v3.20.0

type EciScalingConfigurationOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationOutput) AcrRegistryInfos added in v3.29.0

Information about the Container Registry Enterprise Edition instance. See `acrRegistryInfos` below for details.

func (EciScalingConfigurationOutput) Active added in v3.27.0

Whether active current eci scaling configuration in the specified scaling group. Note that only one configuration can be active. Default to `false`.

func (EciScalingConfigurationOutput) ActiveDeadlineSeconds added in v3.46.1

func (o EciScalingConfigurationOutput) ActiveDeadlineSeconds() pulumi.IntPtrOutput

The duration in seconds relative to the startTime that the job may be active before the system tries to terminate it.

func (EciScalingConfigurationOutput) AutoCreateEip added in v3.27.0

Whether create eip automatically.

func (EciScalingConfigurationOutput) AutoMatchImageCache added in v3.46.1

func (o EciScalingConfigurationOutput) AutoMatchImageCache() pulumi.BoolPtrOutput

Whether to automatically match the image cache.

func (EciScalingConfigurationOutput) ContainerGroupName added in v3.27.0

func (o EciScalingConfigurationOutput) ContainerGroupName() pulumi.StringPtrOutput

The name of the container group. which must contain 2-128 characters ( English), starting with numbers, English lowercase letters , and can contain number, and hypens `-`.

func (EciScalingConfigurationOutput) Containers added in v3.27.0

The list of containers. See `containers` below for details.

func (EciScalingConfigurationOutput) Cpu added in v3.27.0

The amount of CPU resources allocated to the container group.

func (EciScalingConfigurationOutput) Description added in v3.27.0

The description of data disk N. Valid values of N: 1 to 16. The description must be 2 to 256 characters in length and cannot start with http:// or https://.

func (EciScalingConfigurationOutput) DnsPolicy added in v3.27.0

dns policy of contain group.

func (EciScalingConfigurationOutput) EgressBandwidth added in v3.27.0

egress bandwidth.

func (EciScalingConfigurationOutput) EipBandwidth added in v3.27.0

Eip bandwidth.

func (EciScalingConfigurationOutput) ElementType added in v3.20.0

func (EciScalingConfigurationOutput) EnableSls added in v3.27.0

Enable sls log service.

func (EciScalingConfigurationOutput) EphemeralStorage added in v3.46.1

func (o EciScalingConfigurationOutput) EphemeralStorage() pulumi.IntPtrOutput

The size of ephemeral storage.

func (EciScalingConfigurationOutput) ForceDelete added in v3.27.0

The eci scaling configuration will be deleted forcibly with deleting its scaling group. Default to false.

func (EciScalingConfigurationOutput) HostAliases added in v3.27.0

HostAliases. See `hostAliases` below.

func (EciScalingConfigurationOutput) HostName added in v3.27.0

Hostname of an ECI instance.

func (EciScalingConfigurationOutput) ImageRegistryCredentials added in v3.27.0

The image registry credential. See `imageRegistryCredentials` below for details.

func (EciScalingConfigurationOutput) ImageSnapshotId added in v3.46.1

The ID of image cache.

func (EciScalingConfigurationOutput) IngressBandwidth added in v3.27.0

func (o EciScalingConfigurationOutput) IngressBandwidth() pulumi.IntPtrOutput

Ingress bandwidth.

func (EciScalingConfigurationOutput) InitContainers added in v3.27.0

The list of initContainers. See `initContainers` below for details.

func (EciScalingConfigurationOutput) InstanceTypes added in v3.55.0

The specified ECS instance types. You can specify up to five ECS instance types.

func (EciScalingConfigurationOutput) Ipv6AddressCount added in v3.46.1

func (o EciScalingConfigurationOutput) Ipv6AddressCount() pulumi.IntPtrOutput

Number of IPv6 addresses.

func (EciScalingConfigurationOutput) LoadBalancerWeight added in v3.46.1

func (o EciScalingConfigurationOutput) LoadBalancerWeight() pulumi.IntPtrOutput

The weight of an ECI instance attached to the Server Group.

func (EciScalingConfigurationOutput) Memory added in v3.27.0

The amount of memory resources allocated to the container group.

func (EciScalingConfigurationOutput) RamRoleName added in v3.27.0

The RAM role that the container group assumes. ECI and ECS share the same RAM role.

func (EciScalingConfigurationOutput) ResourceGroupId added in v3.27.0

ID of resource group.

func (EciScalingConfigurationOutput) RestartPolicy added in v3.27.0

The restart policy of the container group. Default to `Always`.

func (EciScalingConfigurationOutput) ScalingConfigurationName added in v3.27.0

func (o EciScalingConfigurationOutput) ScalingConfigurationName() pulumi.StringOutput

Name shown for the scheduled task. which must contain 2-64 characters ( English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores `_`, hypens `-`, and decimal point `.`. If this parameter value is not specified, the default value is EciScalingConfigurationId.

func (EciScalingConfigurationOutput) ScalingGroupId added in v3.27.0

ID of the scaling group of a eci scaling configuration.

func (EciScalingConfigurationOutput) SecurityGroupId added in v3.27.0

ID of the security group used to create new instance. It is conflict with `securityGroupIds`.

func (EciScalingConfigurationOutput) SpotPriceLimit added in v3.27.0

The maximum price hourly for spot instance.

func (EciScalingConfigurationOutput) SpotStrategy added in v3.27.0

The spot strategy for a Pay-As-You-Go instance. Valid values: `NoSpot`, `SpotAsPriceGo` , `SpotWithPriceLimit`.

func (EciScalingConfigurationOutput) Tags added in v3.27.0

A mapping of tags to assign to the resource. It will be applied for ECI instances finally.

  • Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "http://", or "https://". It cannot be a null string.
  • Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "http://", or "https://" It can be a null string.

func (EciScalingConfigurationOutput) TerminationGracePeriodSeconds added in v3.46.1

func (o EciScalingConfigurationOutput) TerminationGracePeriodSeconds() pulumi.IntPtrOutput

The program's buffering time before closing.

func (EciScalingConfigurationOutput) ToEciScalingConfigurationOutput added in v3.20.0

func (o EciScalingConfigurationOutput) ToEciScalingConfigurationOutput() EciScalingConfigurationOutput

func (EciScalingConfigurationOutput) ToEciScalingConfigurationOutputWithContext added in v3.20.0

func (o EciScalingConfigurationOutput) ToEciScalingConfigurationOutputWithContext(ctx context.Context) EciScalingConfigurationOutput

func (EciScalingConfigurationOutput) Volumes added in v3.27.0

The list of volumes. See `volumes` below for details.

type EciScalingConfigurationState added in v3.20.0

type EciScalingConfigurationState struct {
	// Information about the Container Registry Enterprise Edition instance. See `acrRegistryInfos` below for details.
	AcrRegistryInfos EciScalingConfigurationAcrRegistryInfoArrayInput
	// Whether active current eci scaling configuration in the specified scaling group. Note that only
	// one configuration can be active. Default to `false`.
	Active pulumi.BoolPtrInput
	// The duration in seconds relative to the startTime that the job may be active before the system tries to terminate it.
	ActiveDeadlineSeconds pulumi.IntPtrInput
	// Whether create eip automatically.
	AutoCreateEip pulumi.BoolPtrInput
	// Whether to automatically match the image cache.
	AutoMatchImageCache pulumi.BoolPtrInput
	// The name of the container group. which must contain 2-128 characters (
	// English), starting with numbers, English lowercase letters , and can contain number, and hypens `-`.
	ContainerGroupName pulumi.StringPtrInput
	// The list of containers. See `containers` below for details.
	Containers EciScalingConfigurationContainerArrayInput
	// The amount of CPU resources allocated to the container group.
	Cpu pulumi.Float64PtrInput
	// The description of data disk N. Valid values of N: 1 to 16. The description must be 2 to
	// 256 characters in length and cannot start with http:// or https://.
	Description pulumi.StringPtrInput
	// dns policy of contain group.
	DnsPolicy pulumi.StringPtrInput
	// egress bandwidth.
	EgressBandwidth pulumi.IntPtrInput
	// Eip bandwidth.
	EipBandwidth pulumi.IntPtrInput
	// Enable sls log service.
	EnableSls pulumi.BoolPtrInput
	// The size of ephemeral storage.
	EphemeralStorage pulumi.IntPtrInput
	// The eci scaling configuration will be deleted forcibly with deleting its scaling group.
	// Default to false.
	ForceDelete pulumi.BoolPtrInput
	// HostAliases. See `hostAliases` below.
	HostAliases EciScalingConfigurationHostAliasArrayInput
	// Hostname of an ECI instance.
	HostName pulumi.StringPtrInput
	// The image registry credential.   See `imageRegistryCredentials` below for
	// details.
	ImageRegistryCredentials EciScalingConfigurationImageRegistryCredentialArrayInput
	// The ID of image cache.
	ImageSnapshotId pulumi.StringPtrInput
	// Ingress bandwidth.
	IngressBandwidth pulumi.IntPtrInput
	// The list of initContainers. See `initContainers` below for details.
	InitContainers EciScalingConfigurationInitContainerArrayInput
	// The specified ECS instance types. You can specify up to five ECS instance types.
	InstanceTypes pulumi.StringArrayInput
	// Number of IPv6 addresses.
	Ipv6AddressCount pulumi.IntPtrInput
	// The weight of an ECI instance attached to the Server Group.
	LoadBalancerWeight pulumi.IntPtrInput
	// The amount of memory resources allocated to the container group.
	Memory pulumi.Float64PtrInput
	// The RAM role that the container group assumes. ECI and ECS share the same RAM role.
	RamRoleName pulumi.StringPtrInput
	// ID of resource group.
	ResourceGroupId pulumi.StringPtrInput
	// The restart policy of the container group. Default to `Always`.
	RestartPolicy pulumi.StringPtrInput
	// Name shown for the scheduled task. which must contain 2-64 characters (
	// English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number,
	// underscores `_`, hypens `-`, and decimal point `.`. If this parameter value is not specified, the default value is
	// EciScalingConfigurationId.
	ScalingConfigurationName pulumi.StringPtrInput
	// ID of the scaling group of a eci scaling configuration.
	ScalingGroupId pulumi.StringPtrInput
	// ID of the security group used to create new instance. It is conflict
	// with `securityGroupIds`.
	SecurityGroupId pulumi.StringPtrInput
	// The maximum price hourly for spot instance.
	SpotPriceLimit pulumi.Float64PtrInput
	// The spot strategy for a Pay-As-You-Go instance. Valid values: `NoSpot`, `SpotAsPriceGo`
	// , `SpotWithPriceLimit`.
	SpotStrategy pulumi.StringPtrInput
	// A mapping of tags to assign to the resource. It will be applied for ECI instances finally.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "http://", or "https://". It cannot
	//   be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "http://", or "https://" It can be
	//   a null string.
	Tags pulumi.MapInput
	// The program's buffering time before closing.
	TerminationGracePeriodSeconds pulumi.IntPtrInput
	// The list of volumes. See `volumes` below for details.
	Volumes EciScalingConfigurationVolumeArrayInput
}

func (EciScalingConfigurationState) ElementType added in v3.20.0

type EciScalingConfigurationVolume added in v3.20.0

type EciScalingConfigurationVolume struct {
	// ConfigFileVolumeConfigFileToPaths.
	// See `configFileVolumeConfigFileToPaths` below for details.
	ConfigFileVolumeConfigFileToPaths []EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPath `pulumi:"configFileVolumeConfigFileToPaths"`
	// The ID of DiskVolume.
	DiskVolumeDiskId *string `pulumi:"diskVolumeDiskId"`
	// The disk size of DiskVolume.
	DiskVolumeDiskSize *int `pulumi:"diskVolumeDiskSize"`
	// The system type of DiskVolume.
	DiskVolumeFsType *string `pulumi:"diskVolumeFsType"`
	// The name of the FlexVolume driver.
	FlexVolumeDriver *string `pulumi:"flexVolumeDriver"`
	// The type of the mounted file system. The default value is determined by the script
	// of FlexVolume.
	FlexVolumeFsType *string `pulumi:"flexVolumeFsType"`
	// The list of FlexVolume objects. Each object is a key-value pair contained in a JSON
	// string.
	FlexVolumeOptions *string `pulumi:"flexVolumeOptions"`
	// The name of the volume.
	Name *string `pulumi:"name"`
	// The path to the NFS volume.
	NfsVolumePath *string `pulumi:"nfsVolumePath"`
	// The nfs volume read only. Default to `false`.
	NfsVolumeReadOnly *bool `pulumi:"nfsVolumeReadOnly"`
	// The address of the NFS server.
	//
	// > **NOTE:** Every volume mounted must have a name and type attributes.
	NfsVolumeServer *string `pulumi:"nfsVolumeServer"`
	// The type of the volume.
	Type *string `pulumi:"type"`
}

type EciScalingConfigurationVolumeArgs added in v3.20.0

type EciScalingConfigurationVolumeArgs struct {
	// ConfigFileVolumeConfigFileToPaths.
	// See `configFileVolumeConfigFileToPaths` below for details.
	ConfigFileVolumeConfigFileToPaths EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayInput `pulumi:"configFileVolumeConfigFileToPaths"`
	// The ID of DiskVolume.
	DiskVolumeDiskId pulumi.StringPtrInput `pulumi:"diskVolumeDiskId"`
	// The disk size of DiskVolume.
	DiskVolumeDiskSize pulumi.IntPtrInput `pulumi:"diskVolumeDiskSize"`
	// The system type of DiskVolume.
	DiskVolumeFsType pulumi.StringPtrInput `pulumi:"diskVolumeFsType"`
	// The name of the FlexVolume driver.
	FlexVolumeDriver pulumi.StringPtrInput `pulumi:"flexVolumeDriver"`
	// The type of the mounted file system. The default value is determined by the script
	// of FlexVolume.
	FlexVolumeFsType pulumi.StringPtrInput `pulumi:"flexVolumeFsType"`
	// The list of FlexVolume objects. Each object is a key-value pair contained in a JSON
	// string.
	FlexVolumeOptions pulumi.StringPtrInput `pulumi:"flexVolumeOptions"`
	// The name of the volume.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The path to the NFS volume.
	NfsVolumePath pulumi.StringPtrInput `pulumi:"nfsVolumePath"`
	// The nfs volume read only. Default to `false`.
	NfsVolumeReadOnly pulumi.BoolPtrInput `pulumi:"nfsVolumeReadOnly"`
	// The address of the NFS server.
	//
	// > **NOTE:** Every volume mounted must have a name and type attributes.
	NfsVolumeServer pulumi.StringPtrInput `pulumi:"nfsVolumeServer"`
	// The type of the volume.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (EciScalingConfigurationVolumeArgs) ElementType added in v3.20.0

func (EciScalingConfigurationVolumeArgs) ToEciScalingConfigurationVolumeOutput added in v3.20.0

func (i EciScalingConfigurationVolumeArgs) ToEciScalingConfigurationVolumeOutput() EciScalingConfigurationVolumeOutput

func (EciScalingConfigurationVolumeArgs) ToEciScalingConfigurationVolumeOutputWithContext added in v3.20.0

func (i EciScalingConfigurationVolumeArgs) ToEciScalingConfigurationVolumeOutputWithContext(ctx context.Context) EciScalingConfigurationVolumeOutput

type EciScalingConfigurationVolumeArray added in v3.20.0

type EciScalingConfigurationVolumeArray []EciScalingConfigurationVolumeInput

func (EciScalingConfigurationVolumeArray) ElementType added in v3.20.0

func (EciScalingConfigurationVolumeArray) ToEciScalingConfigurationVolumeArrayOutput added in v3.20.0

func (i EciScalingConfigurationVolumeArray) ToEciScalingConfigurationVolumeArrayOutput() EciScalingConfigurationVolumeArrayOutput

func (EciScalingConfigurationVolumeArray) ToEciScalingConfigurationVolumeArrayOutputWithContext added in v3.20.0

func (i EciScalingConfigurationVolumeArray) ToEciScalingConfigurationVolumeArrayOutputWithContext(ctx context.Context) EciScalingConfigurationVolumeArrayOutput

type EciScalingConfigurationVolumeArrayInput added in v3.20.0

type EciScalingConfigurationVolumeArrayInput interface {
	pulumi.Input

	ToEciScalingConfigurationVolumeArrayOutput() EciScalingConfigurationVolumeArrayOutput
	ToEciScalingConfigurationVolumeArrayOutputWithContext(context.Context) EciScalingConfigurationVolumeArrayOutput
}

EciScalingConfigurationVolumeArrayInput is an input type that accepts EciScalingConfigurationVolumeArray and EciScalingConfigurationVolumeArrayOutput values. You can construct a concrete instance of `EciScalingConfigurationVolumeArrayInput` via:

EciScalingConfigurationVolumeArray{ EciScalingConfigurationVolumeArgs{...} }

type EciScalingConfigurationVolumeArrayOutput added in v3.20.0

type EciScalingConfigurationVolumeArrayOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationVolumeArrayOutput) ElementType added in v3.20.0

func (EciScalingConfigurationVolumeArrayOutput) Index added in v3.20.0

func (EciScalingConfigurationVolumeArrayOutput) ToEciScalingConfigurationVolumeArrayOutput added in v3.20.0

func (o EciScalingConfigurationVolumeArrayOutput) ToEciScalingConfigurationVolumeArrayOutput() EciScalingConfigurationVolumeArrayOutput

func (EciScalingConfigurationVolumeArrayOutput) ToEciScalingConfigurationVolumeArrayOutputWithContext added in v3.20.0

func (o EciScalingConfigurationVolumeArrayOutput) ToEciScalingConfigurationVolumeArrayOutputWithContext(ctx context.Context) EciScalingConfigurationVolumeArrayOutput

type EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPath added in v3.20.0

type EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPath struct {
	Content *string `pulumi:"content"`
	Path    *string `pulumi:"path"`
}

type EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArgs added in v3.20.0

type EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArgs struct {
	Content pulumi.StringPtrInput `pulumi:"content"`
	Path    pulumi.StringPtrInput `pulumi:"path"`
}

func (EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArgs) ElementType added in v3.20.0

func (EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArgs) ToEciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutput added in v3.20.0

func (EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArgs) ToEciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutputWithContext added in v3.20.0

func (i EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArgs) ToEciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutputWithContext(ctx context.Context) EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutput

type EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArray added in v3.20.0

type EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArray []EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathInput

func (EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArray) ElementType added in v3.20.0

func (EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArray) ToEciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayOutput added in v3.20.0

func (EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArray) ToEciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayOutputWithContext added in v3.20.0

func (i EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArray) ToEciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayOutputWithContext(ctx context.Context) EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayOutput

type EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayInput added in v3.20.0

type EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayInput interface {
	pulumi.Input

	ToEciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayOutput() EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayOutput
	ToEciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayOutputWithContext(context.Context) EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayOutput
}

EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayInput is an input type that accepts EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArray and EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayOutput values. You can construct a concrete instance of `EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayInput` via:

EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArray{ EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArgs{...} }

type EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayOutput added in v3.20.0

type EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayOutput) ElementType added in v3.20.0

func (EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayOutput) Index added in v3.20.0

func (EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayOutput) ToEciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayOutput added in v3.20.0

func (EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayOutput) ToEciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArrayOutputWithContext added in v3.20.0

type EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathInput added in v3.20.0

type EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathInput interface {
	pulumi.Input

	ToEciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutput() EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutput
	ToEciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutputWithContext(context.Context) EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutput
}

EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathInput is an input type that accepts EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArgs and EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutput values. You can construct a concrete instance of `EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathInput` via:

EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathArgs{...}

type EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutput added in v3.20.0

type EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutput) Content added in v3.20.0

func (EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutput) ElementType added in v3.20.0

func (EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutput) Path added in v3.20.0

func (EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutput) ToEciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutput added in v3.20.0

func (EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutput) ToEciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutputWithContext added in v3.20.0

func (o EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutput) ToEciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutputWithContext(ctx context.Context) EciScalingConfigurationVolumeConfigFileVolumeConfigFileToPathOutput

type EciScalingConfigurationVolumeInput added in v3.20.0

type EciScalingConfigurationVolumeInput interface {
	pulumi.Input

	ToEciScalingConfigurationVolumeOutput() EciScalingConfigurationVolumeOutput
	ToEciScalingConfigurationVolumeOutputWithContext(context.Context) EciScalingConfigurationVolumeOutput
}

EciScalingConfigurationVolumeInput is an input type that accepts EciScalingConfigurationVolumeArgs and EciScalingConfigurationVolumeOutput values. You can construct a concrete instance of `EciScalingConfigurationVolumeInput` via:

EciScalingConfigurationVolumeArgs{...}

type EciScalingConfigurationVolumeOutput added in v3.20.0

type EciScalingConfigurationVolumeOutput struct{ *pulumi.OutputState }

func (EciScalingConfigurationVolumeOutput) ConfigFileVolumeConfigFileToPaths added in v3.20.0

ConfigFileVolumeConfigFileToPaths. See `configFileVolumeConfigFileToPaths` below for details.

func (EciScalingConfigurationVolumeOutput) DiskVolumeDiskId added in v3.20.0

The ID of DiskVolume.

func (EciScalingConfigurationVolumeOutput) DiskVolumeDiskSize added in v3.20.0

The disk size of DiskVolume.

func (EciScalingConfigurationVolumeOutput) DiskVolumeFsType added in v3.20.0

The system type of DiskVolume.

func (EciScalingConfigurationVolumeOutput) ElementType added in v3.20.0

func (EciScalingConfigurationVolumeOutput) FlexVolumeDriver added in v3.20.0

The name of the FlexVolume driver.

func (EciScalingConfigurationVolumeOutput) FlexVolumeFsType added in v3.20.0

The type of the mounted file system. The default value is determined by the script of FlexVolume.

func (EciScalingConfigurationVolumeOutput) FlexVolumeOptions added in v3.20.0

The list of FlexVolume objects. Each object is a key-value pair contained in a JSON string.

func (EciScalingConfigurationVolumeOutput) Name added in v3.20.0

The name of the volume.

func (EciScalingConfigurationVolumeOutput) NfsVolumePath added in v3.20.0

The path to the NFS volume.

func (EciScalingConfigurationVolumeOutput) NfsVolumeReadOnly added in v3.20.0

The nfs volume read only. Default to `false`.

func (EciScalingConfigurationVolumeOutput) NfsVolumeServer added in v3.20.0

The address of the NFS server.

> **NOTE:** Every volume mounted must have a name and type attributes.

func (EciScalingConfigurationVolumeOutput) ToEciScalingConfigurationVolumeOutput added in v3.20.0

func (o EciScalingConfigurationVolumeOutput) ToEciScalingConfigurationVolumeOutput() EciScalingConfigurationVolumeOutput

func (EciScalingConfigurationVolumeOutput) ToEciScalingConfigurationVolumeOutputWithContext added in v3.20.0

func (o EciScalingConfigurationVolumeOutput) ToEciScalingConfigurationVolumeOutputWithContext(ctx context.Context) EciScalingConfigurationVolumeOutput

func (EciScalingConfigurationVolumeOutput) Type added in v3.20.0

The type of the volume.

type GetAlarmsAlarm

type GetAlarmsAlarm struct {
	// The list of actions to execute when this alarm transition into an ALARM state. Each action is specified as ess scaling rule ari.
	AlarmActions []string `pulumi:"alarmActions"`
	// Defines the application group id defined by CMS which is assigned when you upload custom metric to CMS, only available for custom metirc.
	CloudMonitorGroupId int `pulumi:"cloudMonitorGroupId"`
	// The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand.
	ComparisonOperator string `pulumi:"comparisonOperator"`
	// The description for the alarm.
	Description string `pulumi:"description"`
	// The dimension map for the alarm's associated metric.
	Dimensions map[string]interface{} `pulumi:"dimensions"`
	// Whether to enable specific ess alarm.
	Enable bool `pulumi:"enable"`
	// The number of times that needs to satisfies comparison condition before transition into ALARM state.
	EvaluationCount int `pulumi:"evaluationCount"`
	// The id of alarm.
	Id string `pulumi:"id"`
	// The name for the alarm's associated metric.
	MetricName string `pulumi:"metricName"`
	// The type for the alarm's associated metric. Supported value: system, custom. "system" means the metric data is collected by Aliyun Cloud Monitor Service(CMS), "custom" means the metric data is upload to CMS by users. Defaults to system.
	MetricType string `pulumi:"metricType"`
	// The name for ess alarm.
	Name string `pulumi:"name"`
	// The period in seconds over which the specified statistic is applied.
	Period int `pulumi:"period"`
	// Scaling group id the alarms belong to.
	ScalingGroupId string `pulumi:"scalingGroupId"`
	// The state of alarm task.
	State string `pulumi:"state"`
	// The statistic to apply to the alarm's associated metric.
	Statistics string `pulumi:"statistics"`
	// The value against which the specified statistics is compared.
	Threshold string `pulumi:"threshold"`
}

type GetAlarmsAlarmArgs

type GetAlarmsAlarmArgs struct {
	// The list of actions to execute when this alarm transition into an ALARM state. Each action is specified as ess scaling rule ari.
	AlarmActions pulumi.StringArrayInput `pulumi:"alarmActions"`
	// Defines the application group id defined by CMS which is assigned when you upload custom metric to CMS, only available for custom metirc.
	CloudMonitorGroupId pulumi.IntInput `pulumi:"cloudMonitorGroupId"`
	// The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand.
	ComparisonOperator pulumi.StringInput `pulumi:"comparisonOperator"`
	// The description for the alarm.
	Description pulumi.StringInput `pulumi:"description"`
	// The dimension map for the alarm's associated metric.
	Dimensions pulumi.MapInput `pulumi:"dimensions"`
	// Whether to enable specific ess alarm.
	Enable pulumi.BoolInput `pulumi:"enable"`
	// The number of times that needs to satisfies comparison condition before transition into ALARM state.
	EvaluationCount pulumi.IntInput `pulumi:"evaluationCount"`
	// The id of alarm.
	Id pulumi.StringInput `pulumi:"id"`
	// The name for the alarm's associated metric.
	MetricName pulumi.StringInput `pulumi:"metricName"`
	// The type for the alarm's associated metric. Supported value: system, custom. "system" means the metric data is collected by Aliyun Cloud Monitor Service(CMS), "custom" means the metric data is upload to CMS by users. Defaults to system.
	MetricType pulumi.StringInput `pulumi:"metricType"`
	// The name for ess alarm.
	Name pulumi.StringInput `pulumi:"name"`
	// The period in seconds over which the specified statistic is applied.
	Period pulumi.IntInput `pulumi:"period"`
	// Scaling group id the alarms belong to.
	ScalingGroupId pulumi.StringInput `pulumi:"scalingGroupId"`
	// The state of alarm task.
	State pulumi.StringInput `pulumi:"state"`
	// The statistic to apply to the alarm's associated metric.
	Statistics pulumi.StringInput `pulumi:"statistics"`
	// The value against which the specified statistics is compared.
	Threshold pulumi.StringInput `pulumi:"threshold"`
}

func (GetAlarmsAlarmArgs) ElementType

func (GetAlarmsAlarmArgs) ElementType() reflect.Type

func (GetAlarmsAlarmArgs) ToGetAlarmsAlarmOutput

func (i GetAlarmsAlarmArgs) ToGetAlarmsAlarmOutput() GetAlarmsAlarmOutput

func (GetAlarmsAlarmArgs) ToGetAlarmsAlarmOutputWithContext

func (i GetAlarmsAlarmArgs) ToGetAlarmsAlarmOutputWithContext(ctx context.Context) GetAlarmsAlarmOutput

type GetAlarmsAlarmArray

type GetAlarmsAlarmArray []GetAlarmsAlarmInput

func (GetAlarmsAlarmArray) ElementType

func (GetAlarmsAlarmArray) ElementType() reflect.Type

func (GetAlarmsAlarmArray) ToGetAlarmsAlarmArrayOutput

func (i GetAlarmsAlarmArray) ToGetAlarmsAlarmArrayOutput() GetAlarmsAlarmArrayOutput

func (GetAlarmsAlarmArray) ToGetAlarmsAlarmArrayOutputWithContext

func (i GetAlarmsAlarmArray) ToGetAlarmsAlarmArrayOutputWithContext(ctx context.Context) GetAlarmsAlarmArrayOutput

type GetAlarmsAlarmArrayInput

type GetAlarmsAlarmArrayInput interface {
	pulumi.Input

	ToGetAlarmsAlarmArrayOutput() GetAlarmsAlarmArrayOutput
	ToGetAlarmsAlarmArrayOutputWithContext(context.Context) GetAlarmsAlarmArrayOutput
}

GetAlarmsAlarmArrayInput is an input type that accepts GetAlarmsAlarmArray and GetAlarmsAlarmArrayOutput values. You can construct a concrete instance of `GetAlarmsAlarmArrayInput` via:

GetAlarmsAlarmArray{ GetAlarmsAlarmArgs{...} }

type GetAlarmsAlarmArrayOutput

type GetAlarmsAlarmArrayOutput struct{ *pulumi.OutputState }

func (GetAlarmsAlarmArrayOutput) ElementType

func (GetAlarmsAlarmArrayOutput) ElementType() reflect.Type

func (GetAlarmsAlarmArrayOutput) Index

func (GetAlarmsAlarmArrayOutput) ToGetAlarmsAlarmArrayOutput

func (o GetAlarmsAlarmArrayOutput) ToGetAlarmsAlarmArrayOutput() GetAlarmsAlarmArrayOutput

func (GetAlarmsAlarmArrayOutput) ToGetAlarmsAlarmArrayOutputWithContext

func (o GetAlarmsAlarmArrayOutput) ToGetAlarmsAlarmArrayOutputWithContext(ctx context.Context) GetAlarmsAlarmArrayOutput

type GetAlarmsAlarmInput

type GetAlarmsAlarmInput interface {
	pulumi.Input

	ToGetAlarmsAlarmOutput() GetAlarmsAlarmOutput
	ToGetAlarmsAlarmOutputWithContext(context.Context) GetAlarmsAlarmOutput
}

GetAlarmsAlarmInput is an input type that accepts GetAlarmsAlarmArgs and GetAlarmsAlarmOutput values. You can construct a concrete instance of `GetAlarmsAlarmInput` via:

GetAlarmsAlarmArgs{...}

type GetAlarmsAlarmOutput

type GetAlarmsAlarmOutput struct{ *pulumi.OutputState }

func (GetAlarmsAlarmOutput) AlarmActions

The list of actions to execute when this alarm transition into an ALARM state. Each action is specified as ess scaling rule ari.

func (GetAlarmsAlarmOutput) CloudMonitorGroupId

func (o GetAlarmsAlarmOutput) CloudMonitorGroupId() pulumi.IntOutput

Defines the application group id defined by CMS which is assigned when you upload custom metric to CMS, only available for custom metirc.

func (GetAlarmsAlarmOutput) ComparisonOperator

func (o GetAlarmsAlarmOutput) ComparisonOperator() pulumi.StringOutput

The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand.

func (GetAlarmsAlarmOutput) Description

func (o GetAlarmsAlarmOutput) Description() pulumi.StringOutput

The description for the alarm.

func (GetAlarmsAlarmOutput) Dimensions

func (o GetAlarmsAlarmOutput) Dimensions() pulumi.MapOutput

The dimension map for the alarm's associated metric.

func (GetAlarmsAlarmOutput) ElementType

func (GetAlarmsAlarmOutput) ElementType() reflect.Type

func (GetAlarmsAlarmOutput) Enable

Whether to enable specific ess alarm.

func (GetAlarmsAlarmOutput) EvaluationCount

func (o GetAlarmsAlarmOutput) EvaluationCount() pulumi.IntOutput

The number of times that needs to satisfies comparison condition before transition into ALARM state.

func (GetAlarmsAlarmOutput) Id

The id of alarm.

func (GetAlarmsAlarmOutput) MetricName

func (o GetAlarmsAlarmOutput) MetricName() pulumi.StringOutput

The name for the alarm's associated metric.

func (GetAlarmsAlarmOutput) MetricType

func (o GetAlarmsAlarmOutput) MetricType() pulumi.StringOutput

The type for the alarm's associated metric. Supported value: system, custom. "system" means the metric data is collected by Aliyun Cloud Monitor Service(CMS), "custom" means the metric data is upload to CMS by users. Defaults to system.

func (GetAlarmsAlarmOutput) Name

The name for ess alarm.

func (GetAlarmsAlarmOutput) Period

The period in seconds over which the specified statistic is applied.

func (GetAlarmsAlarmOutput) ScalingGroupId

func (o GetAlarmsAlarmOutput) ScalingGroupId() pulumi.StringOutput

Scaling group id the alarms belong to.

func (GetAlarmsAlarmOutput) State

The state of alarm task.

func (GetAlarmsAlarmOutput) Statistics

func (o GetAlarmsAlarmOutput) Statistics() pulumi.StringOutput

The statistic to apply to the alarm's associated metric.

func (GetAlarmsAlarmOutput) Threshold

The value against which the specified statistics is compared.

func (GetAlarmsAlarmOutput) ToGetAlarmsAlarmOutput

func (o GetAlarmsAlarmOutput) ToGetAlarmsAlarmOutput() GetAlarmsAlarmOutput

func (GetAlarmsAlarmOutput) ToGetAlarmsAlarmOutputWithContext

func (o GetAlarmsAlarmOutput) ToGetAlarmsAlarmOutputWithContext(ctx context.Context) GetAlarmsAlarmOutput

type GetAlarmsArgs

type GetAlarmsArgs struct {
	// A list of alarm IDs.
	Ids []string `pulumi:"ids"`
	// The type for the alarm's associated metric. Supported value: system, custom. "system" means the metric data is collected by Aliyun Cloud Monitor Service(CMS), "custom" means the metric data is upload to CMS by users. Defaults to system.
	MetricType *string `pulumi:"metricType"`
	// A regex string to filter resulting alarms by name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// Scaling group id the alarms belong to.
	ScalingGroupId *string `pulumi:"scalingGroupId"`
}

A collection of arguments for invoking getAlarms.

type GetAlarmsOutputArgs added in v3.9.0

type GetAlarmsOutputArgs struct {
	// A list of alarm IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The type for the alarm's associated metric. Supported value: system, custom. "system" means the metric data is collected by Aliyun Cloud Monitor Service(CMS), "custom" means the metric data is upload to CMS by users. Defaults to system.
	MetricType pulumi.StringPtrInput `pulumi:"metricType"`
	// A regex string to filter resulting alarms by name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// Scaling group id the alarms belong to.
	ScalingGroupId pulumi.StringPtrInput `pulumi:"scalingGroupId"`
}

A collection of arguments for invoking getAlarms.

func (GetAlarmsOutputArgs) ElementType added in v3.9.0

func (GetAlarmsOutputArgs) ElementType() reflect.Type

type GetAlarmsResult

type GetAlarmsResult struct {
	// A list of alarms. Each element contains the following attributes:
	Alarms []GetAlarmsAlarm `pulumi:"alarms"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of alarm ids.
	Ids []string `pulumi:"ids"`
	// The type for the alarm's associated metric.
	MetricType *string `pulumi:"metricType"`
	NameRegex  *string `pulumi:"nameRegex"`
	// A list of alarm names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// The scaling group associated with this alarm.
	ScalingGroupId *string `pulumi:"scalingGroupId"`
}

A collection of values returned by getAlarms.

func GetAlarms

func GetAlarms(ctx *pulumi.Context, args *GetAlarmsArgs, opts ...pulumi.InvokeOption) (*GetAlarmsResult, error)

This data source provides available alarm resources.

> **NOTE** Available in 1.72.0+

type GetAlarmsResultOutput added in v3.9.0

type GetAlarmsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAlarms.

func GetAlarmsOutput added in v3.9.0

func GetAlarmsOutput(ctx *pulumi.Context, args GetAlarmsOutputArgs, opts ...pulumi.InvokeOption) GetAlarmsResultOutput

func (GetAlarmsResultOutput) Alarms added in v3.9.0

A list of alarms. Each element contains the following attributes:

func (GetAlarmsResultOutput) ElementType added in v3.9.0

func (GetAlarmsResultOutput) ElementType() reflect.Type

func (GetAlarmsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetAlarmsResultOutput) Ids added in v3.9.0

A list of alarm ids.

func (GetAlarmsResultOutput) MetricType added in v3.9.0

The type for the alarm's associated metric.

func (GetAlarmsResultOutput) NameRegex added in v3.9.0

func (GetAlarmsResultOutput) Names added in v3.9.0

A list of alarm names.

func (GetAlarmsResultOutput) OutputFile added in v3.9.0

func (GetAlarmsResultOutput) ScalingGroupId added in v3.9.0

func (o GetAlarmsResultOutput) ScalingGroupId() pulumi.StringPtrOutput

The scaling group associated with this alarm.

func (GetAlarmsResultOutput) ToGetAlarmsResultOutput added in v3.9.0

func (o GetAlarmsResultOutput) ToGetAlarmsResultOutput() GetAlarmsResultOutput

func (GetAlarmsResultOutput) ToGetAlarmsResultOutputWithContext added in v3.9.0

func (o GetAlarmsResultOutput) ToGetAlarmsResultOutputWithContext(ctx context.Context) GetAlarmsResultOutput

type GetLifecycleHooksArgs

type GetLifecycleHooksArgs struct {
	// A list of lifecycle hook IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter resulting lifecycle hook by name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// Scaling group id the lifecycle hooks belong to.
	ScalingGroupId *string `pulumi:"scalingGroupId"`
}

A collection of arguments for invoking getLifecycleHooks.

type GetLifecycleHooksHook

type GetLifecycleHooksHook struct {
	// Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses.
	DefaultResult string `pulumi:"defaultResult"`
	// Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action defined in the defaultResult parameter.
	HeartbeatTimeout int `pulumi:"heartbeatTimeout"`
	// ID of the lifecycle hook.
	Id string `pulumi:"id"`
	// Type of Scaling activity attached to lifecycle hook.
	LifecycleTransition string `pulumi:"lifecycleTransition"`
	// Name of the lifecycle hook.
	Name string `pulumi:"name"`
	// The Arn of notification target.
	NotificationArn string `pulumi:"notificationArn"`
	// Additional information that you want to include when Auto Scaling sends a message to the notification target.
	NotificationMetadata string `pulumi:"notificationMetadata"`
	// Scaling group id the lifecycle hooks belong to.
	ScalingGroupId string `pulumi:"scalingGroupId"`
}

type GetLifecycleHooksHookArgs

type GetLifecycleHooksHookArgs struct {
	// Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses.
	DefaultResult pulumi.StringInput `pulumi:"defaultResult"`
	// Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action defined in the defaultResult parameter.
	HeartbeatTimeout pulumi.IntInput `pulumi:"heartbeatTimeout"`
	// ID of the lifecycle hook.
	Id pulumi.StringInput `pulumi:"id"`
	// Type of Scaling activity attached to lifecycle hook.
	LifecycleTransition pulumi.StringInput `pulumi:"lifecycleTransition"`
	// Name of the lifecycle hook.
	Name pulumi.StringInput `pulumi:"name"`
	// The Arn of notification target.
	NotificationArn pulumi.StringInput `pulumi:"notificationArn"`
	// Additional information that you want to include when Auto Scaling sends a message to the notification target.
	NotificationMetadata pulumi.StringInput `pulumi:"notificationMetadata"`
	// Scaling group id the lifecycle hooks belong to.
	ScalingGroupId pulumi.StringInput `pulumi:"scalingGroupId"`
}

func (GetLifecycleHooksHookArgs) ElementType

func (GetLifecycleHooksHookArgs) ElementType() reflect.Type

func (GetLifecycleHooksHookArgs) ToGetLifecycleHooksHookOutput

func (i GetLifecycleHooksHookArgs) ToGetLifecycleHooksHookOutput() GetLifecycleHooksHookOutput

func (GetLifecycleHooksHookArgs) ToGetLifecycleHooksHookOutputWithContext

func (i GetLifecycleHooksHookArgs) ToGetLifecycleHooksHookOutputWithContext(ctx context.Context) GetLifecycleHooksHookOutput

type GetLifecycleHooksHookArray

type GetLifecycleHooksHookArray []GetLifecycleHooksHookInput

func (GetLifecycleHooksHookArray) ElementType

func (GetLifecycleHooksHookArray) ElementType() reflect.Type

func (GetLifecycleHooksHookArray) ToGetLifecycleHooksHookArrayOutput

func (i GetLifecycleHooksHookArray) ToGetLifecycleHooksHookArrayOutput() GetLifecycleHooksHookArrayOutput

func (GetLifecycleHooksHookArray) ToGetLifecycleHooksHookArrayOutputWithContext

func (i GetLifecycleHooksHookArray) ToGetLifecycleHooksHookArrayOutputWithContext(ctx context.Context) GetLifecycleHooksHookArrayOutput

type GetLifecycleHooksHookArrayInput

type GetLifecycleHooksHookArrayInput interface {
	pulumi.Input

	ToGetLifecycleHooksHookArrayOutput() GetLifecycleHooksHookArrayOutput
	ToGetLifecycleHooksHookArrayOutputWithContext(context.Context) GetLifecycleHooksHookArrayOutput
}

GetLifecycleHooksHookArrayInput is an input type that accepts GetLifecycleHooksHookArray and GetLifecycleHooksHookArrayOutput values. You can construct a concrete instance of `GetLifecycleHooksHookArrayInput` via:

GetLifecycleHooksHookArray{ GetLifecycleHooksHookArgs{...} }

type GetLifecycleHooksHookArrayOutput

type GetLifecycleHooksHookArrayOutput struct{ *pulumi.OutputState }

func (GetLifecycleHooksHookArrayOutput) ElementType

func (GetLifecycleHooksHookArrayOutput) Index

func (GetLifecycleHooksHookArrayOutput) ToGetLifecycleHooksHookArrayOutput

func (o GetLifecycleHooksHookArrayOutput) ToGetLifecycleHooksHookArrayOutput() GetLifecycleHooksHookArrayOutput

func (GetLifecycleHooksHookArrayOutput) ToGetLifecycleHooksHookArrayOutputWithContext

func (o GetLifecycleHooksHookArrayOutput) ToGetLifecycleHooksHookArrayOutputWithContext(ctx context.Context) GetLifecycleHooksHookArrayOutput

type GetLifecycleHooksHookInput

type GetLifecycleHooksHookInput interface {
	pulumi.Input

	ToGetLifecycleHooksHookOutput() GetLifecycleHooksHookOutput
	ToGetLifecycleHooksHookOutputWithContext(context.Context) GetLifecycleHooksHookOutput
}

GetLifecycleHooksHookInput is an input type that accepts GetLifecycleHooksHookArgs and GetLifecycleHooksHookOutput values. You can construct a concrete instance of `GetLifecycleHooksHookInput` via:

GetLifecycleHooksHookArgs{...}

type GetLifecycleHooksHookOutput

type GetLifecycleHooksHookOutput struct{ *pulumi.OutputState }

func (GetLifecycleHooksHookOutput) DefaultResult

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses.

func (GetLifecycleHooksHookOutput) ElementType

func (GetLifecycleHooksHookOutput) HeartbeatTimeout

func (o GetLifecycleHooksHookOutput) HeartbeatTimeout() pulumi.IntOutput

Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action defined in the defaultResult parameter.

func (GetLifecycleHooksHookOutput) Id

ID of the lifecycle hook.

func (GetLifecycleHooksHookOutput) LifecycleTransition

func (o GetLifecycleHooksHookOutput) LifecycleTransition() pulumi.StringOutput

Type of Scaling activity attached to lifecycle hook.

func (GetLifecycleHooksHookOutput) Name

Name of the lifecycle hook.

func (GetLifecycleHooksHookOutput) NotificationArn

func (o GetLifecycleHooksHookOutput) NotificationArn() pulumi.StringOutput

The Arn of notification target.

func (GetLifecycleHooksHookOutput) NotificationMetadata

func (o GetLifecycleHooksHookOutput) NotificationMetadata() pulumi.StringOutput

Additional information that you want to include when Auto Scaling sends a message to the notification target.

func (GetLifecycleHooksHookOutput) ScalingGroupId

func (o GetLifecycleHooksHookOutput) ScalingGroupId() pulumi.StringOutput

Scaling group id the lifecycle hooks belong to.

func (GetLifecycleHooksHookOutput) ToGetLifecycleHooksHookOutput

func (o GetLifecycleHooksHookOutput) ToGetLifecycleHooksHookOutput() GetLifecycleHooksHookOutput

func (GetLifecycleHooksHookOutput) ToGetLifecycleHooksHookOutputWithContext

func (o GetLifecycleHooksHookOutput) ToGetLifecycleHooksHookOutputWithContext(ctx context.Context) GetLifecycleHooksHookOutput

type GetLifecycleHooksOutputArgs added in v3.9.0

type GetLifecycleHooksOutputArgs struct {
	// A list of lifecycle hook IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter resulting lifecycle hook by name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// Scaling group id the lifecycle hooks belong to.
	ScalingGroupId pulumi.StringPtrInput `pulumi:"scalingGroupId"`
}

A collection of arguments for invoking getLifecycleHooks.

func (GetLifecycleHooksOutputArgs) ElementType added in v3.9.0

type GetLifecycleHooksResult

type GetLifecycleHooksResult struct {
	// A list of lifecycle hooks. Each element contains the following attributes:
	Hooks []GetLifecycleHooksHook `pulumi:"hooks"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of lifecycle hook ids.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// A list of lifecycle hook names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// ID of the scaling group.
	ScalingGroupId *string `pulumi:"scalingGroupId"`
}

A collection of values returned by getLifecycleHooks.

func GetLifecycleHooks

func GetLifecycleHooks(ctx *pulumi.Context, args *GetLifecycleHooksArgs, opts ...pulumi.InvokeOption) (*GetLifecycleHooksResult, error)

This data source provides available lifecycle hook resources.

> **NOTE:** Available in 1.72.0+

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ds, err := ess.GetLifecycleHooks(ctx, &ess.GetLifecycleHooksArgs{
			ScalingGroupId: pulumi.StringRef("scaling_group_id"),
			NameRegex:      pulumi.StringRef("lifecyclehook_name"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstLifecycleHook", ds.Hooks[0].Id)
		return nil
	})
}

```

type GetLifecycleHooksResultOutput added in v3.9.0

type GetLifecycleHooksResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getLifecycleHooks.

func GetLifecycleHooksOutput added in v3.9.0

func (GetLifecycleHooksResultOutput) ElementType added in v3.9.0

func (GetLifecycleHooksResultOutput) Hooks added in v3.9.0

A list of lifecycle hooks. Each element contains the following attributes:

func (GetLifecycleHooksResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetLifecycleHooksResultOutput) Ids added in v3.9.0

A list of lifecycle hook ids.

func (GetLifecycleHooksResultOutput) NameRegex added in v3.9.0

func (GetLifecycleHooksResultOutput) Names added in v3.9.0

A list of lifecycle hook names.

func (GetLifecycleHooksResultOutput) OutputFile added in v3.9.0

func (GetLifecycleHooksResultOutput) ScalingGroupId added in v3.9.0

ID of the scaling group.

func (GetLifecycleHooksResultOutput) ToGetLifecycleHooksResultOutput added in v3.9.0

func (o GetLifecycleHooksResultOutput) ToGetLifecycleHooksResultOutput() GetLifecycleHooksResultOutput

func (GetLifecycleHooksResultOutput) ToGetLifecycleHooksResultOutputWithContext added in v3.9.0

func (o GetLifecycleHooksResultOutput) ToGetLifecycleHooksResultOutputWithContext(ctx context.Context) GetLifecycleHooksResultOutput

type GetNotificationsArgs

type GetNotificationsArgs struct {
	// A list of notification ids.
	Ids []string `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// Scaling group id the notifications belong to.
	ScalingGroupId string `pulumi:"scalingGroupId"`
}

A collection of arguments for invoking getNotifications.

type GetNotificationsNotification

type GetNotificationsNotification struct {
	// ID of the notification.
	Id string `pulumi:"id"`
	// The Alibaba Cloud Resource Name (ARN) for the notification object.
	NotificationArn string `pulumi:"notificationArn"`
	// The notification types of Auto Scaling events and resource changes.
	NotificationTypes []string `pulumi:"notificationTypes"`
	// Scaling group id the notifications belong to.
	ScalingGroupId string `pulumi:"scalingGroupId"`
}

type GetNotificationsNotificationArgs

type GetNotificationsNotificationArgs struct {
	// ID of the notification.
	Id pulumi.StringInput `pulumi:"id"`
	// The Alibaba Cloud Resource Name (ARN) for the notification object.
	NotificationArn pulumi.StringInput `pulumi:"notificationArn"`
	// The notification types of Auto Scaling events and resource changes.
	NotificationTypes pulumi.StringArrayInput `pulumi:"notificationTypes"`
	// Scaling group id the notifications belong to.
	ScalingGroupId pulumi.StringInput `pulumi:"scalingGroupId"`
}

func (GetNotificationsNotificationArgs) ElementType

func (GetNotificationsNotificationArgs) ToGetNotificationsNotificationOutput

func (i GetNotificationsNotificationArgs) ToGetNotificationsNotificationOutput() GetNotificationsNotificationOutput

func (GetNotificationsNotificationArgs) ToGetNotificationsNotificationOutputWithContext

func (i GetNotificationsNotificationArgs) ToGetNotificationsNotificationOutputWithContext(ctx context.Context) GetNotificationsNotificationOutput

type GetNotificationsNotificationArray

type GetNotificationsNotificationArray []GetNotificationsNotificationInput

func (GetNotificationsNotificationArray) ElementType

func (GetNotificationsNotificationArray) ToGetNotificationsNotificationArrayOutput

func (i GetNotificationsNotificationArray) ToGetNotificationsNotificationArrayOutput() GetNotificationsNotificationArrayOutput

func (GetNotificationsNotificationArray) ToGetNotificationsNotificationArrayOutputWithContext

func (i GetNotificationsNotificationArray) ToGetNotificationsNotificationArrayOutputWithContext(ctx context.Context) GetNotificationsNotificationArrayOutput

type GetNotificationsNotificationArrayInput

type GetNotificationsNotificationArrayInput interface {
	pulumi.Input

	ToGetNotificationsNotificationArrayOutput() GetNotificationsNotificationArrayOutput
	ToGetNotificationsNotificationArrayOutputWithContext(context.Context) GetNotificationsNotificationArrayOutput
}

GetNotificationsNotificationArrayInput is an input type that accepts GetNotificationsNotificationArray and GetNotificationsNotificationArrayOutput values. You can construct a concrete instance of `GetNotificationsNotificationArrayInput` via:

GetNotificationsNotificationArray{ GetNotificationsNotificationArgs{...} }

type GetNotificationsNotificationArrayOutput

type GetNotificationsNotificationArrayOutput struct{ *pulumi.OutputState }

func (GetNotificationsNotificationArrayOutput) ElementType

func (GetNotificationsNotificationArrayOutput) Index

func (GetNotificationsNotificationArrayOutput) ToGetNotificationsNotificationArrayOutput

func (o GetNotificationsNotificationArrayOutput) ToGetNotificationsNotificationArrayOutput() GetNotificationsNotificationArrayOutput

func (GetNotificationsNotificationArrayOutput) ToGetNotificationsNotificationArrayOutputWithContext

func (o GetNotificationsNotificationArrayOutput) ToGetNotificationsNotificationArrayOutputWithContext(ctx context.Context) GetNotificationsNotificationArrayOutput

type GetNotificationsNotificationInput

type GetNotificationsNotificationInput interface {
	pulumi.Input

	ToGetNotificationsNotificationOutput() GetNotificationsNotificationOutput
	ToGetNotificationsNotificationOutputWithContext(context.Context) GetNotificationsNotificationOutput
}

GetNotificationsNotificationInput is an input type that accepts GetNotificationsNotificationArgs and GetNotificationsNotificationOutput values. You can construct a concrete instance of `GetNotificationsNotificationInput` via:

GetNotificationsNotificationArgs{...}

type GetNotificationsNotificationOutput

type GetNotificationsNotificationOutput struct{ *pulumi.OutputState }

func (GetNotificationsNotificationOutput) ElementType

func (GetNotificationsNotificationOutput) Id

ID of the notification.

func (GetNotificationsNotificationOutput) NotificationArn

The Alibaba Cloud Resource Name (ARN) for the notification object.

func (GetNotificationsNotificationOutput) NotificationTypes

The notification types of Auto Scaling events and resource changes.

func (GetNotificationsNotificationOutput) ScalingGroupId

Scaling group id the notifications belong to.

func (GetNotificationsNotificationOutput) ToGetNotificationsNotificationOutput

func (o GetNotificationsNotificationOutput) ToGetNotificationsNotificationOutput() GetNotificationsNotificationOutput

func (GetNotificationsNotificationOutput) ToGetNotificationsNotificationOutputWithContext

func (o GetNotificationsNotificationOutput) ToGetNotificationsNotificationOutputWithContext(ctx context.Context) GetNotificationsNotificationOutput

type GetNotificationsOutputArgs added in v3.9.0

type GetNotificationsOutputArgs struct {
	// A list of notification ids.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// Scaling group id the notifications belong to.
	ScalingGroupId pulumi.StringInput `pulumi:"scalingGroupId"`
}

A collection of arguments for invoking getNotifications.

func (GetNotificationsOutputArgs) ElementType added in v3.9.0

func (GetNotificationsOutputArgs) ElementType() reflect.Type

type GetNotificationsResult

type GetNotificationsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of notification ids.
	Ids []string `pulumi:"ids"`
	// A list of notifications. Each element contains the following attributes:
	Notifications []GetNotificationsNotification `pulumi:"notifications"`
	OutputFile    *string                        `pulumi:"outputFile"`
	// ID of the scaling group.
	ScalingGroupId string `pulumi:"scalingGroupId"`
}

A collection of values returned by getNotifications.

func GetNotifications

func GetNotifications(ctx *pulumi.Context, args *GetNotificationsArgs, opts ...pulumi.InvokeOption) (*GetNotificationsResult, error)

This data source provides available notification resources.

> **NOTE:** Available in 1.72.0+

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ds, err := ess.GetNotifications(ctx, &ess.GetNotificationsArgs{
			ScalingGroupId: "scaling_group_id",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstNotification", ds.Notifications[0].Id)
		return nil
	})
}

```

type GetNotificationsResultOutput added in v3.9.0

type GetNotificationsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNotifications.

func GetNotificationsOutput added in v3.9.0

func (GetNotificationsResultOutput) ElementType added in v3.9.0

func (GetNotificationsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetNotificationsResultOutput) Ids added in v3.9.0

A list of notification ids.

func (GetNotificationsResultOutput) Notifications added in v3.9.0

A list of notifications. Each element contains the following attributes:

func (GetNotificationsResultOutput) OutputFile added in v3.9.0

func (GetNotificationsResultOutput) ScalingGroupId added in v3.9.0

ID of the scaling group.

func (GetNotificationsResultOutput) ToGetNotificationsResultOutput added in v3.9.0

func (o GetNotificationsResultOutput) ToGetNotificationsResultOutput() GetNotificationsResultOutput

func (GetNotificationsResultOutput) ToGetNotificationsResultOutputWithContext added in v3.9.0

func (o GetNotificationsResultOutput) ToGetNotificationsResultOutputWithContext(ctx context.Context) GetNotificationsResultOutput

type GetScalingConfigurationsArgs

type GetScalingConfigurationsArgs struct {
	// A list of scaling configuration IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter resulting scaling configurations by name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// Scaling group id the scaling configurations belong to.
	ScalingGroupId *string `pulumi:"scalingGroupId"`
}

A collection of arguments for invoking getScalingConfigurations.

type GetScalingConfigurationsConfiguration

type GetScalingConfigurationsConfiguration struct {
	// Creation time of the scaling configuration.
	CreationTime string `pulumi:"creationTime"`
	// Performance mode of the t5 burstable instance.
	CreditSpecification string `pulumi:"creditSpecification"`
	// Data disks of the scaling configuration.
	DataDisks []GetScalingConfigurationsConfigurationDataDisk `pulumi:"dataDisks"`
	// (Optional,Available in 1.143.0+) Hostname of an ECS instance.
	HostName string `pulumi:"hostName"`
	// ID of the scaling rule.
	Id string `pulumi:"id"`
	// Image ID of the scaling configuration.
	ImageId string `pulumi:"imageId"`
	// (Optional,Available in 1.143.0+) InstanceName of an ECS instance.
	InstanceName string `pulumi:"instanceName"`
	// Resource type of an ECS instance.
	InstanceType string `pulumi:"instanceType"`
	// Internet charge type of the scaling configuration.
	InternetChargeType string `pulumi:"internetChargeType"`
	// Internet max bandwidth in of the scaling configuration.
	InternetMaxBandwidthIn int `pulumi:"internetMaxBandwidthIn"`
	// Internet max bandwidth of the scaling configuration.
	InternetMaxBandwidthOut int `pulumi:"internetMaxBandwidthOut"`
	// Lifecycle state of the scaling configuration.
	LifecycleState string `pulumi:"lifecycleState"`
	// Name of the scaling configuration.
	Name string `pulumi:"name"`
	// Scaling group id the scaling configurations belong to.
	ScalingGroupId string `pulumi:"scalingGroupId"`
	// Security group ID of the scaling configuration.
	SecurityGroupId string `pulumi:"securityGroupId"`
	// (Optional, Available in 1.151.0+) The maximum price hourly for instance types.
	SpotPriceLimits []GetScalingConfigurationsConfigurationSpotPriceLimit `pulumi:"spotPriceLimits"`
	// (Optional, Available in 1.151.0+) The spot strategy for a Pay-As-You-Go instance.
	SpotStrategy string `pulumi:"spotStrategy"`
	// System disk category of the scaling configuration.
	SystemDiskCategory string `pulumi:"systemDiskCategory"`
	// The performance level of the ESSD used as the system disk.
	SystemDiskPerformanceLevel string `pulumi:"systemDiskPerformanceLevel"`
	// System disk size of the scaling configuration.
	SystemDiskSize int `pulumi:"systemDiskSize"`
}

type GetScalingConfigurationsConfigurationArgs

type GetScalingConfigurationsConfigurationArgs struct {
	// Creation time of the scaling configuration.
	CreationTime pulumi.StringInput `pulumi:"creationTime"`
	// Performance mode of the t5 burstable instance.
	CreditSpecification pulumi.StringInput `pulumi:"creditSpecification"`
	// Data disks of the scaling configuration.
	DataDisks GetScalingConfigurationsConfigurationDataDiskArrayInput `pulumi:"dataDisks"`
	// (Optional,Available in 1.143.0+) Hostname of an ECS instance.
	HostName pulumi.StringInput `pulumi:"hostName"`
	// ID of the scaling rule.
	Id pulumi.StringInput `pulumi:"id"`
	// Image ID of the scaling configuration.
	ImageId pulumi.StringInput `pulumi:"imageId"`
	// (Optional,Available in 1.143.0+) InstanceName of an ECS instance.
	InstanceName pulumi.StringInput `pulumi:"instanceName"`
	// Resource type of an ECS instance.
	InstanceType pulumi.StringInput `pulumi:"instanceType"`
	// Internet charge type of the scaling configuration.
	InternetChargeType pulumi.StringInput `pulumi:"internetChargeType"`
	// Internet max bandwidth in of the scaling configuration.
	InternetMaxBandwidthIn pulumi.IntInput `pulumi:"internetMaxBandwidthIn"`
	// Internet max bandwidth of the scaling configuration.
	InternetMaxBandwidthOut pulumi.IntInput `pulumi:"internetMaxBandwidthOut"`
	// Lifecycle state of the scaling configuration.
	LifecycleState pulumi.StringInput `pulumi:"lifecycleState"`
	// Name of the scaling configuration.
	Name pulumi.StringInput `pulumi:"name"`
	// Scaling group id the scaling configurations belong to.
	ScalingGroupId pulumi.StringInput `pulumi:"scalingGroupId"`
	// Security group ID of the scaling configuration.
	SecurityGroupId pulumi.StringInput `pulumi:"securityGroupId"`
	// (Optional, Available in 1.151.0+) The maximum price hourly for instance types.
	SpotPriceLimits GetScalingConfigurationsConfigurationSpotPriceLimitArrayInput `pulumi:"spotPriceLimits"`
	// (Optional, Available in 1.151.0+) The spot strategy for a Pay-As-You-Go instance.
	SpotStrategy pulumi.StringInput `pulumi:"spotStrategy"`
	// System disk category of the scaling configuration.
	SystemDiskCategory pulumi.StringInput `pulumi:"systemDiskCategory"`
	// The performance level of the ESSD used as the system disk.
	SystemDiskPerformanceLevel pulumi.StringInput `pulumi:"systemDiskPerformanceLevel"`
	// System disk size of the scaling configuration.
	SystemDiskSize pulumi.IntInput `pulumi:"systemDiskSize"`
}

func (GetScalingConfigurationsConfigurationArgs) ElementType

func (GetScalingConfigurationsConfigurationArgs) ToGetScalingConfigurationsConfigurationOutput

func (i GetScalingConfigurationsConfigurationArgs) ToGetScalingConfigurationsConfigurationOutput() GetScalingConfigurationsConfigurationOutput

func (GetScalingConfigurationsConfigurationArgs) ToGetScalingConfigurationsConfigurationOutputWithContext

func (i GetScalingConfigurationsConfigurationArgs) ToGetScalingConfigurationsConfigurationOutputWithContext(ctx context.Context) GetScalingConfigurationsConfigurationOutput

type GetScalingConfigurationsConfigurationArray

type GetScalingConfigurationsConfigurationArray []GetScalingConfigurationsConfigurationInput

func (GetScalingConfigurationsConfigurationArray) ElementType

func (GetScalingConfigurationsConfigurationArray) ToGetScalingConfigurationsConfigurationArrayOutput

func (i GetScalingConfigurationsConfigurationArray) ToGetScalingConfigurationsConfigurationArrayOutput() GetScalingConfigurationsConfigurationArrayOutput

func (GetScalingConfigurationsConfigurationArray) ToGetScalingConfigurationsConfigurationArrayOutputWithContext

func (i GetScalingConfigurationsConfigurationArray) ToGetScalingConfigurationsConfigurationArrayOutputWithContext(ctx context.Context) GetScalingConfigurationsConfigurationArrayOutput

type GetScalingConfigurationsConfigurationArrayInput

type GetScalingConfigurationsConfigurationArrayInput interface {
	pulumi.Input

	ToGetScalingConfigurationsConfigurationArrayOutput() GetScalingConfigurationsConfigurationArrayOutput
	ToGetScalingConfigurationsConfigurationArrayOutputWithContext(context.Context) GetScalingConfigurationsConfigurationArrayOutput
}

GetScalingConfigurationsConfigurationArrayInput is an input type that accepts GetScalingConfigurationsConfigurationArray and GetScalingConfigurationsConfigurationArrayOutput values. You can construct a concrete instance of `GetScalingConfigurationsConfigurationArrayInput` via:

GetScalingConfigurationsConfigurationArray{ GetScalingConfigurationsConfigurationArgs{...} }

type GetScalingConfigurationsConfigurationArrayOutput

type GetScalingConfigurationsConfigurationArrayOutput struct{ *pulumi.OutputState }

func (GetScalingConfigurationsConfigurationArrayOutput) ElementType

func (GetScalingConfigurationsConfigurationArrayOutput) Index

func (GetScalingConfigurationsConfigurationArrayOutput) ToGetScalingConfigurationsConfigurationArrayOutput

func (o GetScalingConfigurationsConfigurationArrayOutput) ToGetScalingConfigurationsConfigurationArrayOutput() GetScalingConfigurationsConfigurationArrayOutput

func (GetScalingConfigurationsConfigurationArrayOutput) ToGetScalingConfigurationsConfigurationArrayOutputWithContext

func (o GetScalingConfigurationsConfigurationArrayOutput) ToGetScalingConfigurationsConfigurationArrayOutputWithContext(ctx context.Context) GetScalingConfigurationsConfigurationArrayOutput

type GetScalingConfigurationsConfigurationDataDisk

type GetScalingConfigurationsConfigurationDataDisk struct {
	// Category of data disk.
	Category string `pulumi:"category"`
	// Delete_with_instance attribute of data disk.
	DeleteWithInstance bool `pulumi:"deleteWithInstance"`
	// Device attribute of data disk.
	Device string `pulumi:"device"`
	// The performance level of the ESSD used as data disk.
	PerformanceLevel string `pulumi:"performanceLevel"`
	// Size of data disk.
	Size int `pulumi:"size"`
	// Size of data disk.
	SnapshotId string `pulumi:"snapshotId"`
}

type GetScalingConfigurationsConfigurationDataDiskArgs

type GetScalingConfigurationsConfigurationDataDiskArgs struct {
	// Category of data disk.
	Category pulumi.StringInput `pulumi:"category"`
	// Delete_with_instance attribute of data disk.
	DeleteWithInstance pulumi.BoolInput `pulumi:"deleteWithInstance"`
	// Device attribute of data disk.
	Device pulumi.StringInput `pulumi:"device"`
	// The performance level of the ESSD used as data disk.
	PerformanceLevel pulumi.StringInput `pulumi:"performanceLevel"`
	// Size of data disk.
	Size pulumi.IntInput `pulumi:"size"`
	// Size of data disk.
	SnapshotId pulumi.StringInput `pulumi:"snapshotId"`
}

func (GetScalingConfigurationsConfigurationDataDiskArgs) ElementType

func (GetScalingConfigurationsConfigurationDataDiskArgs) ToGetScalingConfigurationsConfigurationDataDiskOutput

func (i GetScalingConfigurationsConfigurationDataDiskArgs) ToGetScalingConfigurationsConfigurationDataDiskOutput() GetScalingConfigurationsConfigurationDataDiskOutput

func (GetScalingConfigurationsConfigurationDataDiskArgs) ToGetScalingConfigurationsConfigurationDataDiskOutputWithContext

func (i GetScalingConfigurationsConfigurationDataDiskArgs) ToGetScalingConfigurationsConfigurationDataDiskOutputWithContext(ctx context.Context) GetScalingConfigurationsConfigurationDataDiskOutput

type GetScalingConfigurationsConfigurationDataDiskArray

type GetScalingConfigurationsConfigurationDataDiskArray []GetScalingConfigurationsConfigurationDataDiskInput

func (GetScalingConfigurationsConfigurationDataDiskArray) ElementType

func (GetScalingConfigurationsConfigurationDataDiskArray) ToGetScalingConfigurationsConfigurationDataDiskArrayOutput

func (i GetScalingConfigurationsConfigurationDataDiskArray) ToGetScalingConfigurationsConfigurationDataDiskArrayOutput() GetScalingConfigurationsConfigurationDataDiskArrayOutput

func (GetScalingConfigurationsConfigurationDataDiskArray) ToGetScalingConfigurationsConfigurationDataDiskArrayOutputWithContext

func (i GetScalingConfigurationsConfigurationDataDiskArray) ToGetScalingConfigurationsConfigurationDataDiskArrayOutputWithContext(ctx context.Context) GetScalingConfigurationsConfigurationDataDiskArrayOutput

type GetScalingConfigurationsConfigurationDataDiskArrayInput

type GetScalingConfigurationsConfigurationDataDiskArrayInput interface {
	pulumi.Input

	ToGetScalingConfigurationsConfigurationDataDiskArrayOutput() GetScalingConfigurationsConfigurationDataDiskArrayOutput
	ToGetScalingConfigurationsConfigurationDataDiskArrayOutputWithContext(context.Context) GetScalingConfigurationsConfigurationDataDiskArrayOutput
}

GetScalingConfigurationsConfigurationDataDiskArrayInput is an input type that accepts GetScalingConfigurationsConfigurationDataDiskArray and GetScalingConfigurationsConfigurationDataDiskArrayOutput values. You can construct a concrete instance of `GetScalingConfigurationsConfigurationDataDiskArrayInput` via:

GetScalingConfigurationsConfigurationDataDiskArray{ GetScalingConfigurationsConfigurationDataDiskArgs{...} }

type GetScalingConfigurationsConfigurationDataDiskArrayOutput

type GetScalingConfigurationsConfigurationDataDiskArrayOutput struct{ *pulumi.OutputState }

func (GetScalingConfigurationsConfigurationDataDiskArrayOutput) ElementType

func (GetScalingConfigurationsConfigurationDataDiskArrayOutput) Index

func (GetScalingConfigurationsConfigurationDataDiskArrayOutput) ToGetScalingConfigurationsConfigurationDataDiskArrayOutput

func (GetScalingConfigurationsConfigurationDataDiskArrayOutput) ToGetScalingConfigurationsConfigurationDataDiskArrayOutputWithContext

func (o GetScalingConfigurationsConfigurationDataDiskArrayOutput) ToGetScalingConfigurationsConfigurationDataDiskArrayOutputWithContext(ctx context.Context) GetScalingConfigurationsConfigurationDataDiskArrayOutput

type GetScalingConfigurationsConfigurationDataDiskInput

type GetScalingConfigurationsConfigurationDataDiskInput interface {
	pulumi.Input

	ToGetScalingConfigurationsConfigurationDataDiskOutput() GetScalingConfigurationsConfigurationDataDiskOutput
	ToGetScalingConfigurationsConfigurationDataDiskOutputWithContext(context.Context) GetScalingConfigurationsConfigurationDataDiskOutput
}

GetScalingConfigurationsConfigurationDataDiskInput is an input type that accepts GetScalingConfigurationsConfigurationDataDiskArgs and GetScalingConfigurationsConfigurationDataDiskOutput values. You can construct a concrete instance of `GetScalingConfigurationsConfigurationDataDiskInput` via:

GetScalingConfigurationsConfigurationDataDiskArgs{...}

type GetScalingConfigurationsConfigurationDataDiskOutput

type GetScalingConfigurationsConfigurationDataDiskOutput struct{ *pulumi.OutputState }

func (GetScalingConfigurationsConfigurationDataDiskOutput) Category

Category of data disk.

func (GetScalingConfigurationsConfigurationDataDiskOutput) DeleteWithInstance

Delete_with_instance attribute of data disk.

func (GetScalingConfigurationsConfigurationDataDiskOutput) Device

Device attribute of data disk.

func (GetScalingConfigurationsConfigurationDataDiskOutput) ElementType

func (GetScalingConfigurationsConfigurationDataDiskOutput) PerformanceLevel added in v3.3.0

The performance level of the ESSD used as data disk.

func (GetScalingConfigurationsConfigurationDataDiskOutput) Size

Size of data disk.

func (GetScalingConfigurationsConfigurationDataDiskOutput) SnapshotId

Size of data disk.

func (GetScalingConfigurationsConfigurationDataDiskOutput) ToGetScalingConfigurationsConfigurationDataDiskOutput

func (o GetScalingConfigurationsConfigurationDataDiskOutput) ToGetScalingConfigurationsConfigurationDataDiskOutput() GetScalingConfigurationsConfigurationDataDiskOutput

func (GetScalingConfigurationsConfigurationDataDiskOutput) ToGetScalingConfigurationsConfigurationDataDiskOutputWithContext

func (o GetScalingConfigurationsConfigurationDataDiskOutput) ToGetScalingConfigurationsConfigurationDataDiskOutputWithContext(ctx context.Context) GetScalingConfigurationsConfigurationDataDiskOutput

type GetScalingConfigurationsConfigurationInput

type GetScalingConfigurationsConfigurationInput interface {
	pulumi.Input

	ToGetScalingConfigurationsConfigurationOutput() GetScalingConfigurationsConfigurationOutput
	ToGetScalingConfigurationsConfigurationOutputWithContext(context.Context) GetScalingConfigurationsConfigurationOutput
}

GetScalingConfigurationsConfigurationInput is an input type that accepts GetScalingConfigurationsConfigurationArgs and GetScalingConfigurationsConfigurationOutput values. You can construct a concrete instance of `GetScalingConfigurationsConfigurationInput` via:

GetScalingConfigurationsConfigurationArgs{...}

type GetScalingConfigurationsConfigurationOutput

type GetScalingConfigurationsConfigurationOutput struct{ *pulumi.OutputState }

func (GetScalingConfigurationsConfigurationOutput) CreationTime

Creation time of the scaling configuration.

func (GetScalingConfigurationsConfigurationOutput) CreditSpecification

Performance mode of the t5 burstable instance.

func (GetScalingConfigurationsConfigurationOutput) DataDisks

Data disks of the scaling configuration.

func (GetScalingConfigurationsConfigurationOutput) ElementType

func (GetScalingConfigurationsConfigurationOutput) HostName added in v3.10.0

(Optional,Available in 1.143.0+) Hostname of an ECS instance.

func (GetScalingConfigurationsConfigurationOutput) Id

ID of the scaling rule.

func (GetScalingConfigurationsConfigurationOutput) ImageId

Image ID of the scaling configuration.

func (GetScalingConfigurationsConfigurationOutput) InstanceName added in v3.10.0

(Optional,Available in 1.143.0+) InstanceName of an ECS instance.

func (GetScalingConfigurationsConfigurationOutput) InstanceType

Resource type of an ECS instance.

func (GetScalingConfigurationsConfigurationOutput) InternetChargeType

Internet charge type of the scaling configuration.

func (GetScalingConfigurationsConfigurationOutput) InternetMaxBandwidthIn

Internet max bandwidth in of the scaling configuration.

func (GetScalingConfigurationsConfigurationOutput) InternetMaxBandwidthOut

func (o GetScalingConfigurationsConfigurationOutput) InternetMaxBandwidthOut() pulumi.IntOutput

Internet max bandwidth of the scaling configuration.

func (GetScalingConfigurationsConfigurationOutput) LifecycleState

Lifecycle state of the scaling configuration.

func (GetScalingConfigurationsConfigurationOutput) Name

Name of the scaling configuration.

func (GetScalingConfigurationsConfigurationOutput) ScalingGroupId

Scaling group id the scaling configurations belong to.

func (GetScalingConfigurationsConfigurationOutput) SecurityGroupId

Security group ID of the scaling configuration.

func (GetScalingConfigurationsConfigurationOutput) SpotPriceLimits added in v3.15.0

(Optional, Available in 1.151.0+) The maximum price hourly for instance types.

func (GetScalingConfigurationsConfigurationOutput) SpotStrategy added in v3.15.0

(Optional, Available in 1.151.0+) The spot strategy for a Pay-As-You-Go instance.

func (GetScalingConfigurationsConfigurationOutput) SystemDiskCategory

System disk category of the scaling configuration.

func (GetScalingConfigurationsConfigurationOutput) SystemDiskPerformanceLevel added in v3.3.0

func (o GetScalingConfigurationsConfigurationOutput) SystemDiskPerformanceLevel() pulumi.StringOutput

The performance level of the ESSD used as the system disk.

func (GetScalingConfigurationsConfigurationOutput) SystemDiskSize

System disk size of the scaling configuration.

func (GetScalingConfigurationsConfigurationOutput) ToGetScalingConfigurationsConfigurationOutput

func (o GetScalingConfigurationsConfigurationOutput) ToGetScalingConfigurationsConfigurationOutput() GetScalingConfigurationsConfigurationOutput

func (GetScalingConfigurationsConfigurationOutput) ToGetScalingConfigurationsConfigurationOutputWithContext

func (o GetScalingConfigurationsConfigurationOutput) ToGetScalingConfigurationsConfigurationOutputWithContext(ctx context.Context) GetScalingConfigurationsConfigurationOutput

type GetScalingConfigurationsConfigurationSpotPriceLimit added in v3.15.0

type GetScalingConfigurationsConfigurationSpotPriceLimit struct {
	// Resource type of an ECS instance.
	InstanceType string `pulumi:"instanceType"`
	// Price limit hourly of instance type.
	PriceLimit float64 `pulumi:"priceLimit"`
}

type GetScalingConfigurationsConfigurationSpotPriceLimitArgs added in v3.15.0

type GetScalingConfigurationsConfigurationSpotPriceLimitArgs struct {
	// Resource type of an ECS instance.
	InstanceType pulumi.StringInput `pulumi:"instanceType"`
	// Price limit hourly of instance type.
	PriceLimit pulumi.Float64Input `pulumi:"priceLimit"`
}

func (GetScalingConfigurationsConfigurationSpotPriceLimitArgs) ElementType added in v3.15.0

func (GetScalingConfigurationsConfigurationSpotPriceLimitArgs) ToGetScalingConfigurationsConfigurationSpotPriceLimitOutput added in v3.15.0

func (GetScalingConfigurationsConfigurationSpotPriceLimitArgs) ToGetScalingConfigurationsConfigurationSpotPriceLimitOutputWithContext added in v3.15.0

func (i GetScalingConfigurationsConfigurationSpotPriceLimitArgs) ToGetScalingConfigurationsConfigurationSpotPriceLimitOutputWithContext(ctx context.Context) GetScalingConfigurationsConfigurationSpotPriceLimitOutput

type GetScalingConfigurationsConfigurationSpotPriceLimitArray added in v3.15.0

type GetScalingConfigurationsConfigurationSpotPriceLimitArray []GetScalingConfigurationsConfigurationSpotPriceLimitInput

func (GetScalingConfigurationsConfigurationSpotPriceLimitArray) ElementType added in v3.15.0

func (GetScalingConfigurationsConfigurationSpotPriceLimitArray) ToGetScalingConfigurationsConfigurationSpotPriceLimitArrayOutput added in v3.15.0

func (i GetScalingConfigurationsConfigurationSpotPriceLimitArray) ToGetScalingConfigurationsConfigurationSpotPriceLimitArrayOutput() GetScalingConfigurationsConfigurationSpotPriceLimitArrayOutput

func (GetScalingConfigurationsConfigurationSpotPriceLimitArray) ToGetScalingConfigurationsConfigurationSpotPriceLimitArrayOutputWithContext added in v3.15.0

func (i GetScalingConfigurationsConfigurationSpotPriceLimitArray) ToGetScalingConfigurationsConfigurationSpotPriceLimitArrayOutputWithContext(ctx context.Context) GetScalingConfigurationsConfigurationSpotPriceLimitArrayOutput

type GetScalingConfigurationsConfigurationSpotPriceLimitArrayInput added in v3.15.0

type GetScalingConfigurationsConfigurationSpotPriceLimitArrayInput interface {
	pulumi.Input

	ToGetScalingConfigurationsConfigurationSpotPriceLimitArrayOutput() GetScalingConfigurationsConfigurationSpotPriceLimitArrayOutput
	ToGetScalingConfigurationsConfigurationSpotPriceLimitArrayOutputWithContext(context.Context) GetScalingConfigurationsConfigurationSpotPriceLimitArrayOutput
}

GetScalingConfigurationsConfigurationSpotPriceLimitArrayInput is an input type that accepts GetScalingConfigurationsConfigurationSpotPriceLimitArray and GetScalingConfigurationsConfigurationSpotPriceLimitArrayOutput values. You can construct a concrete instance of `GetScalingConfigurationsConfigurationSpotPriceLimitArrayInput` via:

GetScalingConfigurationsConfigurationSpotPriceLimitArray{ GetScalingConfigurationsConfigurationSpotPriceLimitArgs{...} }

type GetScalingConfigurationsConfigurationSpotPriceLimitArrayOutput added in v3.15.0

type GetScalingConfigurationsConfigurationSpotPriceLimitArrayOutput struct{ *pulumi.OutputState }

func (GetScalingConfigurationsConfigurationSpotPriceLimitArrayOutput) ElementType added in v3.15.0

func (GetScalingConfigurationsConfigurationSpotPriceLimitArrayOutput) Index added in v3.15.0

func (GetScalingConfigurationsConfigurationSpotPriceLimitArrayOutput) ToGetScalingConfigurationsConfigurationSpotPriceLimitArrayOutput added in v3.15.0

func (GetScalingConfigurationsConfigurationSpotPriceLimitArrayOutput) ToGetScalingConfigurationsConfigurationSpotPriceLimitArrayOutputWithContext added in v3.15.0

func (o GetScalingConfigurationsConfigurationSpotPriceLimitArrayOutput) ToGetScalingConfigurationsConfigurationSpotPriceLimitArrayOutputWithContext(ctx context.Context) GetScalingConfigurationsConfigurationSpotPriceLimitArrayOutput

type GetScalingConfigurationsConfigurationSpotPriceLimitInput added in v3.15.0

type GetScalingConfigurationsConfigurationSpotPriceLimitInput interface {
	pulumi.Input

	ToGetScalingConfigurationsConfigurationSpotPriceLimitOutput() GetScalingConfigurationsConfigurationSpotPriceLimitOutput
	ToGetScalingConfigurationsConfigurationSpotPriceLimitOutputWithContext(context.Context) GetScalingConfigurationsConfigurationSpotPriceLimitOutput
}

GetScalingConfigurationsConfigurationSpotPriceLimitInput is an input type that accepts GetScalingConfigurationsConfigurationSpotPriceLimitArgs and GetScalingConfigurationsConfigurationSpotPriceLimitOutput values. You can construct a concrete instance of `GetScalingConfigurationsConfigurationSpotPriceLimitInput` via:

GetScalingConfigurationsConfigurationSpotPriceLimitArgs{...}

type GetScalingConfigurationsConfigurationSpotPriceLimitOutput added in v3.15.0

type GetScalingConfigurationsConfigurationSpotPriceLimitOutput struct{ *pulumi.OutputState }

func (GetScalingConfigurationsConfigurationSpotPriceLimitOutput) ElementType added in v3.15.0

func (GetScalingConfigurationsConfigurationSpotPriceLimitOutput) InstanceType added in v3.15.0

Resource type of an ECS instance.

func (GetScalingConfigurationsConfigurationSpotPriceLimitOutput) PriceLimit added in v3.15.0

Price limit hourly of instance type.

func (GetScalingConfigurationsConfigurationSpotPriceLimitOutput) ToGetScalingConfigurationsConfigurationSpotPriceLimitOutput added in v3.15.0

func (GetScalingConfigurationsConfigurationSpotPriceLimitOutput) ToGetScalingConfigurationsConfigurationSpotPriceLimitOutputWithContext added in v3.15.0

func (o GetScalingConfigurationsConfigurationSpotPriceLimitOutput) ToGetScalingConfigurationsConfigurationSpotPriceLimitOutputWithContext(ctx context.Context) GetScalingConfigurationsConfigurationSpotPriceLimitOutput

type GetScalingConfigurationsOutputArgs added in v3.9.0

type GetScalingConfigurationsOutputArgs struct {
	// A list of scaling configuration IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter resulting scaling configurations by name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// Scaling group id the scaling configurations belong to.
	ScalingGroupId pulumi.StringPtrInput `pulumi:"scalingGroupId"`
}

A collection of arguments for invoking getScalingConfigurations.

func (GetScalingConfigurationsOutputArgs) ElementType added in v3.9.0

type GetScalingConfigurationsResult

type GetScalingConfigurationsResult struct {
	// A list of scaling rules. Each element contains the following attributes:
	Configurations []GetScalingConfigurationsConfiguration `pulumi:"configurations"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of scaling configuration ids.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// A list of scaling configuration names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// ID of the scaling group.
	ScalingGroupId *string `pulumi:"scalingGroupId"`
}

A collection of values returned by getScalingConfigurations.

func GetScalingConfigurations

func GetScalingConfigurations(ctx *pulumi.Context, args *GetScalingConfigurationsArgs, opts ...pulumi.InvokeOption) (*GetScalingConfigurationsResult, error)

This data source provides available scaling configuration resources.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		scalingconfigurationsDs, err := ess.GetScalingConfigurations(ctx, &ess.GetScalingConfigurationsArgs{
			ScalingGroupId: pulumi.StringRef("scaling_group_id"),
			Ids: []string{
				"scaling_configuration_id1",
				"scaling_configuration_id2",
			},
			NameRegex: pulumi.StringRef("scaling_configuration_name"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstScalingRule", scalingconfigurationsDs.Configurations[0].Id)
		return nil
	})
}

```

type GetScalingConfigurationsResultOutput added in v3.9.0

type GetScalingConfigurationsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getScalingConfigurations.

func (GetScalingConfigurationsResultOutput) Configurations added in v3.9.0

A list of scaling rules. Each element contains the following attributes:

func (GetScalingConfigurationsResultOutput) ElementType added in v3.9.0

func (GetScalingConfigurationsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetScalingConfigurationsResultOutput) Ids added in v3.9.0

A list of scaling configuration ids.

func (GetScalingConfigurationsResultOutput) NameRegex added in v3.9.0

func (GetScalingConfigurationsResultOutput) Names added in v3.9.0

A list of scaling configuration names.

func (GetScalingConfigurationsResultOutput) OutputFile added in v3.9.0

func (GetScalingConfigurationsResultOutput) ScalingGroupId added in v3.9.0

ID of the scaling group.

func (GetScalingConfigurationsResultOutput) ToGetScalingConfigurationsResultOutput added in v3.9.0

func (o GetScalingConfigurationsResultOutput) ToGetScalingConfigurationsResultOutput() GetScalingConfigurationsResultOutput

func (GetScalingConfigurationsResultOutput) ToGetScalingConfigurationsResultOutputWithContext added in v3.9.0

func (o GetScalingConfigurationsResultOutput) ToGetScalingConfigurationsResultOutputWithContext(ctx context.Context) GetScalingConfigurationsResultOutput

type GetScalingGroupsArgs

type GetScalingGroupsArgs struct {
	// A list of scaling group IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter resulting scaling groups by name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getScalingGroups.

type GetScalingGroupsGroup

type GetScalingGroupsGroup struct {
	// Number of active instances in scaling group.
	ActiveCapacity int `pulumi:"activeCapacity"`
	// Active scaling configuration for scaling group.
	ActiveScalingConfiguration string `pulumi:"activeScalingConfiguration"`
	// Default cooldown time of scaling group.
	CooldownTime int `pulumi:"cooldownTime"`
	// Creation time of scaling group.
	CreationTime string `pulumi:"creationTime"`
	// Db instances id which the ECS instance attached to.
	DbInstanceIds []string `pulumi:"dbInstanceIds"`
	// Whether the scaling group deletion protection is enabled.
	GroupDeletionProtection bool `pulumi:"groupDeletionProtection"`
	// The health check method of the scaling group.
	HealthCheckType string `pulumi:"healthCheckType"`
	// ID of the scaling group.
	Id string `pulumi:"id"`
	// Active launch template ID for scaling group.
	LaunchTemplateId string `pulumi:"launchTemplateId"`
	// Version of active launch template.
	LaunchTemplateVersion string `pulumi:"launchTemplateVersion"`
	// Lifecycle state of scaling group.
	LifecycleState string `pulumi:"lifecycleState"`
	// Slb instances id which the ECS instance attached to.
	LoadBalancerIds []string `pulumi:"loadBalancerIds"`
	// The maximum number of ECS instances.
	MaxSize int `pulumi:"maxSize"`
	// The minimum number of ECS instances.
	MinSize int `pulumi:"minSize"`
	// The modification time.
	ModificationTime string `pulumi:"modificationTime"`
	// Name of the scaling group.
	Name string `pulumi:"name"`
	// Number of pending instances in scaling group.
	PendingCapacity int `pulumi:"pendingCapacity"`
	// Region ID the scaling group belongs to.
	RegionId string `pulumi:"regionId"`
	// Removal policy used to select the ECS instance to remove from the scaling group.
	RemovalPolicies []string `pulumi:"removalPolicies"`
	// Number of removing instances in scaling group.
	RemovingCapacity int `pulumi:"removingCapacity"`
	// The Process in suspension.
	SuspendedProcesses []string `pulumi:"suspendedProcesses"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
	// Number of instances in scaling group.
	TotalCapacity int `pulumi:"totalCapacity"`
	// The number of all ECS instances in the scaling group.
	TotalInstanceCount int `pulumi:"totalInstanceCount"`
	// The ID of the VPC to which the scaling group belongs.
	VpcId string `pulumi:"vpcId"`
	// The ID of the vSwitch to which the scaling group belongs.
	VswitchId string `pulumi:"vswitchId"`
	// Vswitches id in which the ECS instance launched.
	VswitchIds []string `pulumi:"vswitchIds"`
}

type GetScalingGroupsGroupArgs

type GetScalingGroupsGroupArgs struct {
	// Number of active instances in scaling group.
	ActiveCapacity pulumi.IntInput `pulumi:"activeCapacity"`
	// Active scaling configuration for scaling group.
	ActiveScalingConfiguration pulumi.StringInput `pulumi:"activeScalingConfiguration"`
	// Default cooldown time of scaling group.
	CooldownTime pulumi.IntInput `pulumi:"cooldownTime"`
	// Creation time of scaling group.
	CreationTime pulumi.StringInput `pulumi:"creationTime"`
	// Db instances id which the ECS instance attached to.
	DbInstanceIds pulumi.StringArrayInput `pulumi:"dbInstanceIds"`
	// Whether the scaling group deletion protection is enabled.
	GroupDeletionProtection pulumi.BoolInput `pulumi:"groupDeletionProtection"`
	// The health check method of the scaling group.
	HealthCheckType pulumi.StringInput `pulumi:"healthCheckType"`
	// ID of the scaling group.
	Id pulumi.StringInput `pulumi:"id"`
	// Active launch template ID for scaling group.
	LaunchTemplateId pulumi.StringInput `pulumi:"launchTemplateId"`
	// Version of active launch template.
	LaunchTemplateVersion pulumi.StringInput `pulumi:"launchTemplateVersion"`
	// Lifecycle state of scaling group.
	LifecycleState pulumi.StringInput `pulumi:"lifecycleState"`
	// Slb instances id which the ECS instance attached to.
	LoadBalancerIds pulumi.StringArrayInput `pulumi:"loadBalancerIds"`
	// The maximum number of ECS instances.
	MaxSize pulumi.IntInput `pulumi:"maxSize"`
	// The minimum number of ECS instances.
	MinSize pulumi.IntInput `pulumi:"minSize"`
	// The modification time.
	ModificationTime pulumi.StringInput `pulumi:"modificationTime"`
	// Name of the scaling group.
	Name pulumi.StringInput `pulumi:"name"`
	// Number of pending instances in scaling group.
	PendingCapacity pulumi.IntInput `pulumi:"pendingCapacity"`
	// Region ID the scaling group belongs to.
	RegionId pulumi.StringInput `pulumi:"regionId"`
	// Removal policy used to select the ECS instance to remove from the scaling group.
	RemovalPolicies pulumi.StringArrayInput `pulumi:"removalPolicies"`
	// Number of removing instances in scaling group.
	RemovingCapacity pulumi.IntInput `pulumi:"removingCapacity"`
	// The Process in suspension.
	SuspendedProcesses pulumi.StringArrayInput `pulumi:"suspendedProcesses"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput `pulumi:"tags"`
	// Number of instances in scaling group.
	TotalCapacity pulumi.IntInput `pulumi:"totalCapacity"`
	// The number of all ECS instances in the scaling group.
	TotalInstanceCount pulumi.IntInput `pulumi:"totalInstanceCount"`
	// The ID of the VPC to which the scaling group belongs.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
	// The ID of the vSwitch to which the scaling group belongs.
	VswitchId pulumi.StringInput `pulumi:"vswitchId"`
	// Vswitches id in which the ECS instance launched.
	VswitchIds pulumi.StringArrayInput `pulumi:"vswitchIds"`
}

func (GetScalingGroupsGroupArgs) ElementType

func (GetScalingGroupsGroupArgs) ElementType() reflect.Type

func (GetScalingGroupsGroupArgs) ToGetScalingGroupsGroupOutput

func (i GetScalingGroupsGroupArgs) ToGetScalingGroupsGroupOutput() GetScalingGroupsGroupOutput

func (GetScalingGroupsGroupArgs) ToGetScalingGroupsGroupOutputWithContext

func (i GetScalingGroupsGroupArgs) ToGetScalingGroupsGroupOutputWithContext(ctx context.Context) GetScalingGroupsGroupOutput

type GetScalingGroupsGroupArray

type GetScalingGroupsGroupArray []GetScalingGroupsGroupInput

func (GetScalingGroupsGroupArray) ElementType

func (GetScalingGroupsGroupArray) ElementType() reflect.Type

func (GetScalingGroupsGroupArray) ToGetScalingGroupsGroupArrayOutput

func (i GetScalingGroupsGroupArray) ToGetScalingGroupsGroupArrayOutput() GetScalingGroupsGroupArrayOutput

func (GetScalingGroupsGroupArray) ToGetScalingGroupsGroupArrayOutputWithContext

func (i GetScalingGroupsGroupArray) ToGetScalingGroupsGroupArrayOutputWithContext(ctx context.Context) GetScalingGroupsGroupArrayOutput

type GetScalingGroupsGroupArrayInput

type GetScalingGroupsGroupArrayInput interface {
	pulumi.Input

	ToGetScalingGroupsGroupArrayOutput() GetScalingGroupsGroupArrayOutput
	ToGetScalingGroupsGroupArrayOutputWithContext(context.Context) GetScalingGroupsGroupArrayOutput
}

GetScalingGroupsGroupArrayInput is an input type that accepts GetScalingGroupsGroupArray and GetScalingGroupsGroupArrayOutput values. You can construct a concrete instance of `GetScalingGroupsGroupArrayInput` via:

GetScalingGroupsGroupArray{ GetScalingGroupsGroupArgs{...} }

type GetScalingGroupsGroupArrayOutput

type GetScalingGroupsGroupArrayOutput struct{ *pulumi.OutputState }

func (GetScalingGroupsGroupArrayOutput) ElementType

func (GetScalingGroupsGroupArrayOutput) Index

func (GetScalingGroupsGroupArrayOutput) ToGetScalingGroupsGroupArrayOutput

func (o GetScalingGroupsGroupArrayOutput) ToGetScalingGroupsGroupArrayOutput() GetScalingGroupsGroupArrayOutput

func (GetScalingGroupsGroupArrayOutput) ToGetScalingGroupsGroupArrayOutputWithContext

func (o GetScalingGroupsGroupArrayOutput) ToGetScalingGroupsGroupArrayOutputWithContext(ctx context.Context) GetScalingGroupsGroupArrayOutput

type GetScalingGroupsGroupInput

type GetScalingGroupsGroupInput interface {
	pulumi.Input

	ToGetScalingGroupsGroupOutput() GetScalingGroupsGroupOutput
	ToGetScalingGroupsGroupOutputWithContext(context.Context) GetScalingGroupsGroupOutput
}

GetScalingGroupsGroupInput is an input type that accepts GetScalingGroupsGroupArgs and GetScalingGroupsGroupOutput values. You can construct a concrete instance of `GetScalingGroupsGroupInput` via:

GetScalingGroupsGroupArgs{...}

type GetScalingGroupsGroupOutput

type GetScalingGroupsGroupOutput struct{ *pulumi.OutputState }

func (GetScalingGroupsGroupOutput) ActiveCapacity

func (o GetScalingGroupsGroupOutput) ActiveCapacity() pulumi.IntOutput

Number of active instances in scaling group.

func (GetScalingGroupsGroupOutput) ActiveScalingConfiguration

func (o GetScalingGroupsGroupOutput) ActiveScalingConfiguration() pulumi.StringOutput

Active scaling configuration for scaling group.

func (GetScalingGroupsGroupOutput) CooldownTime

func (o GetScalingGroupsGroupOutput) CooldownTime() pulumi.IntOutput

Default cooldown time of scaling group.

func (GetScalingGroupsGroupOutput) CreationTime

Creation time of scaling group.

func (GetScalingGroupsGroupOutput) DbInstanceIds

Db instances id which the ECS instance attached to.

func (GetScalingGroupsGroupOutput) ElementType

func (GetScalingGroupsGroupOutput) GroupDeletionProtection added in v3.18.0

func (o GetScalingGroupsGroupOutput) GroupDeletionProtection() pulumi.BoolOutput

Whether the scaling group deletion protection is enabled.

func (GetScalingGroupsGroupOutput) HealthCheckType added in v3.18.0

func (o GetScalingGroupsGroupOutput) HealthCheckType() pulumi.StringOutput

The health check method of the scaling group.

func (GetScalingGroupsGroupOutput) Id

ID of the scaling group.

func (GetScalingGroupsGroupOutput) LaunchTemplateId

func (o GetScalingGroupsGroupOutput) LaunchTemplateId() pulumi.StringOutput

Active launch template ID for scaling group.

func (GetScalingGroupsGroupOutput) LaunchTemplateVersion

func (o GetScalingGroupsGroupOutput) LaunchTemplateVersion() pulumi.StringOutput

Version of active launch template.

func (GetScalingGroupsGroupOutput) LifecycleState

func (o GetScalingGroupsGroupOutput) LifecycleState() pulumi.StringOutput

Lifecycle state of scaling group.

func (GetScalingGroupsGroupOutput) LoadBalancerIds

Slb instances id which the ECS instance attached to.

func (GetScalingGroupsGroupOutput) MaxSize

The maximum number of ECS instances.

func (GetScalingGroupsGroupOutput) MinSize

The minimum number of ECS instances.

func (GetScalingGroupsGroupOutput) ModificationTime added in v3.18.0

func (o GetScalingGroupsGroupOutput) ModificationTime() pulumi.StringOutput

The modification time.

func (GetScalingGroupsGroupOutput) Name

Name of the scaling group.

func (GetScalingGroupsGroupOutput) PendingCapacity

func (o GetScalingGroupsGroupOutput) PendingCapacity() pulumi.IntOutput

Number of pending instances in scaling group.

func (GetScalingGroupsGroupOutput) RegionId

Region ID the scaling group belongs to.

func (GetScalingGroupsGroupOutput) RemovalPolicies

Removal policy used to select the ECS instance to remove from the scaling group.

func (GetScalingGroupsGroupOutput) RemovingCapacity

func (o GetScalingGroupsGroupOutput) RemovingCapacity() pulumi.IntOutput

Number of removing instances in scaling group.

func (GetScalingGroupsGroupOutput) SuspendedProcesses added in v3.18.0

func (o GetScalingGroupsGroupOutput) SuspendedProcesses() pulumi.StringArrayOutput

The Process in suspension.

func (GetScalingGroupsGroupOutput) Tags added in v3.19.0

A mapping of tags to assign to the resource.

func (GetScalingGroupsGroupOutput) ToGetScalingGroupsGroupOutput

func (o GetScalingGroupsGroupOutput) ToGetScalingGroupsGroupOutput() GetScalingGroupsGroupOutput

func (GetScalingGroupsGroupOutput) ToGetScalingGroupsGroupOutputWithContext

func (o GetScalingGroupsGroupOutput) ToGetScalingGroupsGroupOutputWithContext(ctx context.Context) GetScalingGroupsGroupOutput

func (GetScalingGroupsGroupOutput) TotalCapacity

func (o GetScalingGroupsGroupOutput) TotalCapacity() pulumi.IntOutput

Number of instances in scaling group.

func (GetScalingGroupsGroupOutput) TotalInstanceCount added in v3.18.0

func (o GetScalingGroupsGroupOutput) TotalInstanceCount() pulumi.IntOutput

The number of all ECS instances in the scaling group.

func (GetScalingGroupsGroupOutput) VpcId added in v3.18.0

The ID of the VPC to which the scaling group belongs.

func (GetScalingGroupsGroupOutput) VswitchId added in v3.18.0

The ID of the vSwitch to which the scaling group belongs.

func (GetScalingGroupsGroupOutput) VswitchIds

Vswitches id in which the ECS instance launched.

type GetScalingGroupsOutputArgs added in v3.9.0

type GetScalingGroupsOutputArgs struct {
	// A list of scaling group IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter resulting scaling groups by name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getScalingGroups.

func (GetScalingGroupsOutputArgs) ElementType added in v3.9.0

func (GetScalingGroupsOutputArgs) ElementType() reflect.Type

type GetScalingGroupsResult

type GetScalingGroupsResult struct {
	// A list of scaling groups. Each element contains the following attributes:
	Groups []GetScalingGroupsGroup `pulumi:"groups"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of scaling group ids.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// A list of scaling group names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
}

A collection of values returned by getScalingGroups.

func GetScalingGroups

func GetScalingGroups(ctx *pulumi.Context, args *GetScalingGroupsArgs, opts ...pulumi.InvokeOption) (*GetScalingGroupsResult, error)

This data source provides available scaling group resources.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		scalinggroupsDs, err := ess.GetScalingGroups(ctx, &ess.GetScalingGroupsArgs{
			Ids: []string{
				"scaling_group_id1",
				"scaling_group_id2",
			},
			NameRegex: pulumi.StringRef("scaling_group_name"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstScalingGroup", scalinggroupsDs.Groups[0].Id)
		return nil
	})
}

```

type GetScalingGroupsResultOutput added in v3.9.0

type GetScalingGroupsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getScalingGroups.

func GetScalingGroupsOutput added in v3.9.0

func (GetScalingGroupsResultOutput) ElementType added in v3.9.0

func (GetScalingGroupsResultOutput) Groups added in v3.9.0

A list of scaling groups. Each element contains the following attributes:

func (GetScalingGroupsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetScalingGroupsResultOutput) Ids added in v3.9.0

A list of scaling group ids.

func (GetScalingGroupsResultOutput) NameRegex added in v3.9.0

func (GetScalingGroupsResultOutput) Names added in v3.9.0

A list of scaling group names.

func (GetScalingGroupsResultOutput) OutputFile added in v3.9.0

func (GetScalingGroupsResultOutput) ToGetScalingGroupsResultOutput added in v3.9.0

func (o GetScalingGroupsResultOutput) ToGetScalingGroupsResultOutput() GetScalingGroupsResultOutput

func (GetScalingGroupsResultOutput) ToGetScalingGroupsResultOutputWithContext added in v3.9.0

func (o GetScalingGroupsResultOutput) ToGetScalingGroupsResultOutputWithContext(ctx context.Context) GetScalingGroupsResultOutput

type GetScalingRulesArgs

type GetScalingRulesArgs struct {
	// A list of scaling rule IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter resulting scaling rules by name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// Scaling group id the scaling rules belong to.
	ScalingGroupId *string `pulumi:"scalingGroupId"`
	// Type of scaling rule.
	Type *string `pulumi:"type"`
}

A collection of arguments for invoking getScalingRules.

type GetScalingRulesOutputArgs added in v3.9.0

type GetScalingRulesOutputArgs struct {
	// A list of scaling rule IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter resulting scaling rules by name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// Scaling group id the scaling rules belong to.
	ScalingGroupId pulumi.StringPtrInput `pulumi:"scalingGroupId"`
	// Type of scaling rule.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

A collection of arguments for invoking getScalingRules.

func (GetScalingRulesOutputArgs) ElementType added in v3.9.0

func (GetScalingRulesOutputArgs) ElementType() reflect.Type

type GetScalingRulesResult

type GetScalingRulesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of scaling rule ids.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// A list of scaling rule names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// A list of scaling rules. Each element contains the following attributes:
	Rules []GetScalingRulesRule `pulumi:"rules"`
	// ID of the scaling group.
	ScalingGroupId *string `pulumi:"scalingGroupId"`
	// Type of the scaling rule.
	Type *string `pulumi:"type"`
}

A collection of values returned by getScalingRules.

func GetScalingRules

func GetScalingRules(ctx *pulumi.Context, args *GetScalingRulesArgs, opts ...pulumi.InvokeOption) (*GetScalingRulesResult, error)

This data source provides available scaling rule resources.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		scalingrulesDs, err := ess.GetScalingRules(ctx, &ess.GetScalingRulesArgs{
			ScalingGroupId: pulumi.StringRef("scaling_group_id"),
			Ids: []string{
				"scaling_rule_id1",
				"scaling_rule_id2",
			},
			NameRegex: pulumi.StringRef("scaling_rule_name"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstScalingRule", scalingrulesDs.Rules[0].Id)
		return nil
	})
}

```

type GetScalingRulesResultOutput added in v3.9.0

type GetScalingRulesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getScalingRules.

func GetScalingRulesOutput added in v3.9.0

func (GetScalingRulesResultOutput) ElementType added in v3.9.0

func (GetScalingRulesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetScalingRulesResultOutput) Ids added in v3.9.0

A list of scaling rule ids.

func (GetScalingRulesResultOutput) NameRegex added in v3.9.0

func (GetScalingRulesResultOutput) Names added in v3.9.0

A list of scaling rule names.

func (GetScalingRulesResultOutput) OutputFile added in v3.9.0

func (GetScalingRulesResultOutput) Rules added in v3.9.0

A list of scaling rules. Each element contains the following attributes:

func (GetScalingRulesResultOutput) ScalingGroupId added in v3.9.0

ID of the scaling group.

func (GetScalingRulesResultOutput) ToGetScalingRulesResultOutput added in v3.9.0

func (o GetScalingRulesResultOutput) ToGetScalingRulesResultOutput() GetScalingRulesResultOutput

func (GetScalingRulesResultOutput) ToGetScalingRulesResultOutputWithContext added in v3.9.0

func (o GetScalingRulesResultOutput) ToGetScalingRulesResultOutputWithContext(ctx context.Context) GetScalingRulesResultOutput

func (GetScalingRulesResultOutput) Type added in v3.9.0

Type of the scaling rule.

type GetScalingRulesRule

type GetScalingRulesRule struct {
	// Adjustment type of the scaling rule.
	AdjustmentType string `pulumi:"adjustmentType"`
	// Adjustment value of the scaling rule.
	AdjustmentValue int `pulumi:"adjustmentValue"`
	// Cooldown time of the scaling rule.
	Cooldown int `pulumi:"cooldown"`
	// ID of the scaling rule.
	Id string `pulumi:"id"`
	// Min adjustment magnitude of scaling rule.
	MinAdjustmentMagnitude int `pulumi:"minAdjustmentMagnitude"`
	// Name of the scaling rule.
	Name string `pulumi:"name"`
	// Scaling group id the scaling rules belong to.
	ScalingGroupId string `pulumi:"scalingGroupId"`
	// Ari of scaling rule.
	ScalingRuleAri string `pulumi:"scalingRuleAri"`
	// Type of scaling rule.
	Type string `pulumi:"type"`
}

type GetScalingRulesRuleArgs

type GetScalingRulesRuleArgs struct {
	// Adjustment type of the scaling rule.
	AdjustmentType pulumi.StringInput `pulumi:"adjustmentType"`
	// Adjustment value of the scaling rule.
	AdjustmentValue pulumi.IntInput `pulumi:"adjustmentValue"`
	// Cooldown time of the scaling rule.
	Cooldown pulumi.IntInput `pulumi:"cooldown"`
	// ID of the scaling rule.
	Id pulumi.StringInput `pulumi:"id"`
	// Min adjustment magnitude of scaling rule.
	MinAdjustmentMagnitude pulumi.IntInput `pulumi:"minAdjustmentMagnitude"`
	// Name of the scaling rule.
	Name pulumi.StringInput `pulumi:"name"`
	// Scaling group id the scaling rules belong to.
	ScalingGroupId pulumi.StringInput `pulumi:"scalingGroupId"`
	// Ari of scaling rule.
	ScalingRuleAri pulumi.StringInput `pulumi:"scalingRuleAri"`
	// Type of scaling rule.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetScalingRulesRuleArgs) ElementType

func (GetScalingRulesRuleArgs) ElementType() reflect.Type

func (GetScalingRulesRuleArgs) ToGetScalingRulesRuleOutput

func (i GetScalingRulesRuleArgs) ToGetScalingRulesRuleOutput() GetScalingRulesRuleOutput

func (GetScalingRulesRuleArgs) ToGetScalingRulesRuleOutputWithContext

func (i GetScalingRulesRuleArgs) ToGetScalingRulesRuleOutputWithContext(ctx context.Context) GetScalingRulesRuleOutput

type GetScalingRulesRuleArray

type GetScalingRulesRuleArray []GetScalingRulesRuleInput

func (GetScalingRulesRuleArray) ElementType

func (GetScalingRulesRuleArray) ElementType() reflect.Type

func (GetScalingRulesRuleArray) ToGetScalingRulesRuleArrayOutput

func (i GetScalingRulesRuleArray) ToGetScalingRulesRuleArrayOutput() GetScalingRulesRuleArrayOutput

func (GetScalingRulesRuleArray) ToGetScalingRulesRuleArrayOutputWithContext

func (i GetScalingRulesRuleArray) ToGetScalingRulesRuleArrayOutputWithContext(ctx context.Context) GetScalingRulesRuleArrayOutput

type GetScalingRulesRuleArrayInput

type GetScalingRulesRuleArrayInput interface {
	pulumi.Input

	ToGetScalingRulesRuleArrayOutput() GetScalingRulesRuleArrayOutput
	ToGetScalingRulesRuleArrayOutputWithContext(context.Context) GetScalingRulesRuleArrayOutput
}

GetScalingRulesRuleArrayInput is an input type that accepts GetScalingRulesRuleArray and GetScalingRulesRuleArrayOutput values. You can construct a concrete instance of `GetScalingRulesRuleArrayInput` via:

GetScalingRulesRuleArray{ GetScalingRulesRuleArgs{...} }

type GetScalingRulesRuleArrayOutput

type GetScalingRulesRuleArrayOutput struct{ *pulumi.OutputState }

func (GetScalingRulesRuleArrayOutput) ElementType

func (GetScalingRulesRuleArrayOutput) Index

func (GetScalingRulesRuleArrayOutput) ToGetScalingRulesRuleArrayOutput

func (o GetScalingRulesRuleArrayOutput) ToGetScalingRulesRuleArrayOutput() GetScalingRulesRuleArrayOutput

func (GetScalingRulesRuleArrayOutput) ToGetScalingRulesRuleArrayOutputWithContext

func (o GetScalingRulesRuleArrayOutput) ToGetScalingRulesRuleArrayOutputWithContext(ctx context.Context) GetScalingRulesRuleArrayOutput

type GetScalingRulesRuleInput

type GetScalingRulesRuleInput interface {
	pulumi.Input

	ToGetScalingRulesRuleOutput() GetScalingRulesRuleOutput
	ToGetScalingRulesRuleOutputWithContext(context.Context) GetScalingRulesRuleOutput
}

GetScalingRulesRuleInput is an input type that accepts GetScalingRulesRuleArgs and GetScalingRulesRuleOutput values. You can construct a concrete instance of `GetScalingRulesRuleInput` via:

GetScalingRulesRuleArgs{...}

type GetScalingRulesRuleOutput

type GetScalingRulesRuleOutput struct{ *pulumi.OutputState }

func (GetScalingRulesRuleOutput) AdjustmentType

func (o GetScalingRulesRuleOutput) AdjustmentType() pulumi.StringOutput

Adjustment type of the scaling rule.

func (GetScalingRulesRuleOutput) AdjustmentValue

func (o GetScalingRulesRuleOutput) AdjustmentValue() pulumi.IntOutput

Adjustment value of the scaling rule.

func (GetScalingRulesRuleOutput) Cooldown

Cooldown time of the scaling rule.

func (GetScalingRulesRuleOutput) ElementType

func (GetScalingRulesRuleOutput) ElementType() reflect.Type

func (GetScalingRulesRuleOutput) Id

ID of the scaling rule.

func (GetScalingRulesRuleOutput) MinAdjustmentMagnitude

func (o GetScalingRulesRuleOutput) MinAdjustmentMagnitude() pulumi.IntOutput

Min adjustment magnitude of scaling rule.

func (GetScalingRulesRuleOutput) Name

Name of the scaling rule.

func (GetScalingRulesRuleOutput) ScalingGroupId

func (o GetScalingRulesRuleOutput) ScalingGroupId() pulumi.StringOutput

Scaling group id the scaling rules belong to.

func (GetScalingRulesRuleOutput) ScalingRuleAri

func (o GetScalingRulesRuleOutput) ScalingRuleAri() pulumi.StringOutput

Ari of scaling rule.

func (GetScalingRulesRuleOutput) ToGetScalingRulesRuleOutput

func (o GetScalingRulesRuleOutput) ToGetScalingRulesRuleOutput() GetScalingRulesRuleOutput

func (GetScalingRulesRuleOutput) ToGetScalingRulesRuleOutputWithContext

func (o GetScalingRulesRuleOutput) ToGetScalingRulesRuleOutputWithContext(ctx context.Context) GetScalingRulesRuleOutput

func (GetScalingRulesRuleOutput) Type

Type of scaling rule.

type GetScheduledTasksArgs

type GetScheduledTasksArgs struct {
	// A list of scheduled task IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter resulting scheduled tasks by name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// The operation to be performed when a scheduled task is triggered.
	ScheduledAction *string `pulumi:"scheduledAction"`
	// The id of the scheduled task.
	ScheduledTaskId *string `pulumi:"scheduledTaskId"`
}

A collection of arguments for invoking getScheduledTasks.

type GetScheduledTasksOutputArgs added in v3.9.0

type GetScheduledTasksOutputArgs struct {
	// A list of scheduled task IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter resulting scheduled tasks by name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The operation to be performed when a scheduled task is triggered.
	ScheduledAction pulumi.StringPtrInput `pulumi:"scheduledAction"`
	// The id of the scheduled task.
	ScheduledTaskId pulumi.StringPtrInput `pulumi:"scheduledTaskId"`
}

A collection of arguments for invoking getScheduledTasks.

func (GetScheduledTasksOutputArgs) ElementType added in v3.9.0

type GetScheduledTasksResult

type GetScheduledTasksResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of scheduled task ids.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// A list of scheduled task names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// The operation to be performed when a scheduled task is triggered.
	ScheduledAction *string `pulumi:"scheduledAction"`
	ScheduledTaskId *string `pulumi:"scheduledTaskId"`
	// A list of scheduled tasks. Each element contains the following attributes:
	Tasks []GetScheduledTasksTask `pulumi:"tasks"`
}

A collection of values returned by getScheduledTasks.

func GetScheduledTasks

func GetScheduledTasks(ctx *pulumi.Context, args *GetScheduledTasksArgs, opts ...pulumi.InvokeOption) (*GetScheduledTasksResult, error)

This data source provides available scheduled task resources.

> **NOTE:** Available in 1.72.0+

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ds, err := ess.GetScheduledTasks(ctx, &ess.GetScheduledTasksArgs{
			ScheduledTaskId: pulumi.StringRef("scheduled_task_id"),
			NameRegex:       pulumi.StringRef("scheduled_task_name"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstScheduledTask", ds.Tasks[0].Id)
		return nil
	})
}

```

type GetScheduledTasksResultOutput added in v3.9.0

type GetScheduledTasksResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getScheduledTasks.

func GetScheduledTasksOutput added in v3.9.0

func (GetScheduledTasksResultOutput) ElementType added in v3.9.0

func (GetScheduledTasksResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetScheduledTasksResultOutput) Ids added in v3.9.0

A list of scheduled task ids.

func (GetScheduledTasksResultOutput) NameRegex added in v3.9.0

func (GetScheduledTasksResultOutput) Names added in v3.9.0

A list of scheduled task names.

func (GetScheduledTasksResultOutput) OutputFile added in v3.9.0

func (GetScheduledTasksResultOutput) ScheduledAction added in v3.9.0

The operation to be performed when a scheduled task is triggered.

func (GetScheduledTasksResultOutput) ScheduledTaskId added in v3.9.0

func (GetScheduledTasksResultOutput) Tasks added in v3.9.0

A list of scheduled tasks. Each element contains the following attributes:

func (GetScheduledTasksResultOutput) ToGetScheduledTasksResultOutput added in v3.9.0

func (o GetScheduledTasksResultOutput) ToGetScheduledTasksResultOutput() GetScheduledTasksResultOutput

func (GetScheduledTasksResultOutput) ToGetScheduledTasksResultOutputWithContext added in v3.9.0

func (o GetScheduledTasksResultOutput) ToGetScheduledTasksResultOutputWithContext(ctx context.Context) GetScheduledTasksResultOutput

type GetScheduledTasksTask

type GetScheduledTasksTask struct {
	// Description of the scheduled task.
	Description string `pulumi:"description"`
	// ID of the scheduled task id.
	Id string `pulumi:"id"`
	// The time period during which a failed scheduled task is retried.
	LaunchExpirationTime int `pulumi:"launchExpirationTime"`
	// The time at which the scheduled task is triggered.
	LaunchTime string `pulumi:"launchTime"`
	MaxValue   int    `pulumi:"maxValue"`
	MinValue   int    `pulumi:"minValue"`
	// Name of the scheduled task name.
	Name string `pulumi:"name"`
	// Specifies the end time after which the scheduled task is no longer repeated.
	RecurrenceEndTime string `pulumi:"recurrenceEndTime"`
	// Specifies the recurrence type of the scheduled task.
	RecurrenceType string `pulumi:"recurrenceType"`
	// Specifies how often a scheduled task recurs.
	RecurrenceValue string `pulumi:"recurrenceValue"`
	// The operation to be performed when a scheduled task is triggered.
	ScheduledAction string `pulumi:"scheduledAction"`
	TaskEnabled     bool   `pulumi:"taskEnabled"`
}

type GetScheduledTasksTaskArgs

type GetScheduledTasksTaskArgs struct {
	// Description of the scheduled task.
	Description pulumi.StringInput `pulumi:"description"`
	// ID of the scheduled task id.
	Id pulumi.StringInput `pulumi:"id"`
	// The time period during which a failed scheduled task is retried.
	LaunchExpirationTime pulumi.IntInput `pulumi:"launchExpirationTime"`
	// The time at which the scheduled task is triggered.
	LaunchTime pulumi.StringInput `pulumi:"launchTime"`
	MaxValue   pulumi.IntInput    `pulumi:"maxValue"`
	MinValue   pulumi.IntInput    `pulumi:"minValue"`
	// Name of the scheduled task name.
	Name pulumi.StringInput `pulumi:"name"`
	// Specifies the end time after which the scheduled task is no longer repeated.
	RecurrenceEndTime pulumi.StringInput `pulumi:"recurrenceEndTime"`
	// Specifies the recurrence type of the scheduled task.
	RecurrenceType pulumi.StringInput `pulumi:"recurrenceType"`
	// Specifies how often a scheduled task recurs.
	RecurrenceValue pulumi.StringInput `pulumi:"recurrenceValue"`
	// The operation to be performed when a scheduled task is triggered.
	ScheduledAction pulumi.StringInput `pulumi:"scheduledAction"`
	TaskEnabled     pulumi.BoolInput   `pulumi:"taskEnabled"`
}

func (GetScheduledTasksTaskArgs) ElementType

func (GetScheduledTasksTaskArgs) ElementType() reflect.Type

func (GetScheduledTasksTaskArgs) ToGetScheduledTasksTaskOutput

func (i GetScheduledTasksTaskArgs) ToGetScheduledTasksTaskOutput() GetScheduledTasksTaskOutput

func (GetScheduledTasksTaskArgs) ToGetScheduledTasksTaskOutputWithContext

func (i GetScheduledTasksTaskArgs) ToGetScheduledTasksTaskOutputWithContext(ctx context.Context) GetScheduledTasksTaskOutput

type GetScheduledTasksTaskArray

type GetScheduledTasksTaskArray []GetScheduledTasksTaskInput

func (GetScheduledTasksTaskArray) ElementType

func (GetScheduledTasksTaskArray) ElementType() reflect.Type

func (GetScheduledTasksTaskArray) ToGetScheduledTasksTaskArrayOutput

func (i GetScheduledTasksTaskArray) ToGetScheduledTasksTaskArrayOutput() GetScheduledTasksTaskArrayOutput

func (GetScheduledTasksTaskArray) ToGetScheduledTasksTaskArrayOutputWithContext

func (i GetScheduledTasksTaskArray) ToGetScheduledTasksTaskArrayOutputWithContext(ctx context.Context) GetScheduledTasksTaskArrayOutput

type GetScheduledTasksTaskArrayInput

type GetScheduledTasksTaskArrayInput interface {
	pulumi.Input

	ToGetScheduledTasksTaskArrayOutput() GetScheduledTasksTaskArrayOutput
	ToGetScheduledTasksTaskArrayOutputWithContext(context.Context) GetScheduledTasksTaskArrayOutput
}

GetScheduledTasksTaskArrayInput is an input type that accepts GetScheduledTasksTaskArray and GetScheduledTasksTaskArrayOutput values. You can construct a concrete instance of `GetScheduledTasksTaskArrayInput` via:

GetScheduledTasksTaskArray{ GetScheduledTasksTaskArgs{...} }

type GetScheduledTasksTaskArrayOutput

type GetScheduledTasksTaskArrayOutput struct{ *pulumi.OutputState }

func (GetScheduledTasksTaskArrayOutput) ElementType

func (GetScheduledTasksTaskArrayOutput) Index

func (GetScheduledTasksTaskArrayOutput) ToGetScheduledTasksTaskArrayOutput

func (o GetScheduledTasksTaskArrayOutput) ToGetScheduledTasksTaskArrayOutput() GetScheduledTasksTaskArrayOutput

func (GetScheduledTasksTaskArrayOutput) ToGetScheduledTasksTaskArrayOutputWithContext

func (o GetScheduledTasksTaskArrayOutput) ToGetScheduledTasksTaskArrayOutputWithContext(ctx context.Context) GetScheduledTasksTaskArrayOutput

type GetScheduledTasksTaskInput

type GetScheduledTasksTaskInput interface {
	pulumi.Input

	ToGetScheduledTasksTaskOutput() GetScheduledTasksTaskOutput
	ToGetScheduledTasksTaskOutputWithContext(context.Context) GetScheduledTasksTaskOutput
}

GetScheduledTasksTaskInput is an input type that accepts GetScheduledTasksTaskArgs and GetScheduledTasksTaskOutput values. You can construct a concrete instance of `GetScheduledTasksTaskInput` via:

GetScheduledTasksTaskArgs{...}

type GetScheduledTasksTaskOutput

type GetScheduledTasksTaskOutput struct{ *pulumi.OutputState }

func (GetScheduledTasksTaskOutput) Description

Description of the scheduled task.

func (GetScheduledTasksTaskOutput) ElementType

func (GetScheduledTasksTaskOutput) Id

ID of the scheduled task id.

func (GetScheduledTasksTaskOutput) LaunchExpirationTime

func (o GetScheduledTasksTaskOutput) LaunchExpirationTime() pulumi.IntOutput

The time period during which a failed scheduled task is retried.

func (GetScheduledTasksTaskOutput) LaunchTime

The time at which the scheduled task is triggered.

func (GetScheduledTasksTaskOutput) MaxValue

func (GetScheduledTasksTaskOutput) MinValue

func (GetScheduledTasksTaskOutput) Name

Name of the scheduled task name.

func (GetScheduledTasksTaskOutput) RecurrenceEndTime

func (o GetScheduledTasksTaskOutput) RecurrenceEndTime() pulumi.StringOutput

Specifies the end time after which the scheduled task is no longer repeated.

func (GetScheduledTasksTaskOutput) RecurrenceType

func (o GetScheduledTasksTaskOutput) RecurrenceType() pulumi.StringOutput

Specifies the recurrence type of the scheduled task.

func (GetScheduledTasksTaskOutput) RecurrenceValue

func (o GetScheduledTasksTaskOutput) RecurrenceValue() pulumi.StringOutput

Specifies how often a scheduled task recurs.

func (GetScheduledTasksTaskOutput) ScheduledAction

func (o GetScheduledTasksTaskOutput) ScheduledAction() pulumi.StringOutput

The operation to be performed when a scheduled task is triggered.

func (GetScheduledTasksTaskOutput) TaskEnabled

func (GetScheduledTasksTaskOutput) ToGetScheduledTasksTaskOutput

func (o GetScheduledTasksTaskOutput) ToGetScheduledTasksTaskOutput() GetScheduledTasksTaskOutput

func (GetScheduledTasksTaskOutput) ToGetScheduledTasksTaskOutputWithContext

func (o GetScheduledTasksTaskOutput) ToGetScheduledTasksTaskOutputWithContext(ctx context.Context) GetScheduledTasksTaskOutput

type LifecycleHook

type LifecycleHook struct {
	pulumi.CustomResourceState

	// Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses. Applicable value: CONTINUE, ABANDON, ROLLBACK, default value: CONTINUE.
	DefaultResult pulumi.StringPtrOutput `pulumi:"defaultResult"`
	// Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action defined in the defaultResult parameter. Default value: 600.
	HeartbeatTimeout pulumi.IntPtrOutput `pulumi:"heartbeatTimeout"`
	// Type of Scaling activity attached to lifecycle hook. Supported value: SCALE_OUT, SCALE_IN.
	LifecycleTransition pulumi.StringOutput `pulumi:"lifecycleTransition"`
	// The name of the lifecycle hook, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores `_`, hypens `-`, and decimal point `.`. If this parameter value is not specified, the default value is lifecycle hook id.
	Name pulumi.StringOutput `pulumi:"name"`
	// The Arn of notification target.
	NotificationArn pulumi.StringOutput `pulumi:"notificationArn"`
	// Additional information that you want to include when Auto Scaling sends a message to the notification target.
	NotificationMetadata pulumi.StringOutput `pulumi:"notificationMetadata"`
	// The ID of the Auto Scaling group to which you want to assign the lifecycle hook.
	ScalingGroupId pulumi.StringOutput `pulumi:"scalingGroupId"`
}

Provides a ESS lifecycle hook resource. More about Ess lifecycle hook, see LifecycleHook(https://www.alibabacloud.com/help/doc-detail/73839.htm).

> **NOTE:** Available since v1.13.0.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultInteger, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
			Min: 10000,
			Max: 99999,
		})
		if err != nil {
			return err
		}
		myName := fmt.Sprintf("%v-%v", name, defaultInteger.Result)
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableDiskCategory:     pulumi.StringRef("cloud_efficiency"),
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(myName),
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/24"),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
			VswitchName: pulumi.String(myName),
		})
		if err != nil {
			return err
		}
		default2, err := vpc.NewSwitch(ctx, "default2", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.1.0/24"),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
			VswitchName: pulumi.String(fmt.Sprintf("%v-bar", name)),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			Name:  pulumi.String(myName),
			VpcId: defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		defaultScalingGroup, err := ess.NewScalingGroup(ctx, "default", &ess.ScalingGroupArgs{
			MinSize:          pulumi.Int(1),
			MaxSize:          pulumi.Int(1),
			ScalingGroupName: pulumi.String(myName),
			DefaultCooldown:  pulumi.Int(200),
			RemovalPolicies: pulumi.StringArray{
				pulumi.String("OldestInstance"),
				pulumi.String("NewestInstance"),
			},
			VswitchIds: pulumi.StringArray{
				defaultSwitch.ID(),
				default2.ID(),
			},
		})
		if err != nil {
			return err
		}
		_, err = ess.NewLifecycleHook(ctx, "default", &ess.LifecycleHookArgs{
			ScalingGroupId:       defaultScalingGroup.ID(),
			Name:                 pulumi.String(myName),
			LifecycleTransition:  pulumi.String("SCALE_OUT"),
			HeartbeatTimeout:     pulumi.Int(400),
			NotificationMetadata: pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Module Support

You can use to the existing autoscaling module to create a lifecycle hook, scaling group and configuration one-click.

## Import

Ess lifecycle hook can be imported using the id, e.g.

```sh $ pulumi import alicloud:ess/lifecycleHook:LifecycleHook example ash-l12345 ```

func GetLifecycleHook

func GetLifecycleHook(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LifecycleHookState, opts ...pulumi.ResourceOption) (*LifecycleHook, error)

GetLifecycleHook gets an existing LifecycleHook resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLifecycleHook

func NewLifecycleHook(ctx *pulumi.Context,
	name string, args *LifecycleHookArgs, opts ...pulumi.ResourceOption) (*LifecycleHook, error)

NewLifecycleHook registers a new resource with the given unique name, arguments, and options.

func (*LifecycleHook) ElementType

func (*LifecycleHook) ElementType() reflect.Type

func (*LifecycleHook) ToLifecycleHookOutput

func (i *LifecycleHook) ToLifecycleHookOutput() LifecycleHookOutput

func (*LifecycleHook) ToLifecycleHookOutputWithContext

func (i *LifecycleHook) ToLifecycleHookOutputWithContext(ctx context.Context) LifecycleHookOutput

type LifecycleHookArgs

type LifecycleHookArgs struct {
	// Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses. Applicable value: CONTINUE, ABANDON, ROLLBACK, default value: CONTINUE.
	DefaultResult pulumi.StringPtrInput
	// Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action defined in the defaultResult parameter. Default value: 600.
	HeartbeatTimeout pulumi.IntPtrInput
	// Type of Scaling activity attached to lifecycle hook. Supported value: SCALE_OUT, SCALE_IN.
	LifecycleTransition pulumi.StringInput
	// The name of the lifecycle hook, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores `_`, hypens `-`, and decimal point `.`. If this parameter value is not specified, the default value is lifecycle hook id.
	Name pulumi.StringPtrInput
	// The Arn of notification target.
	NotificationArn pulumi.StringPtrInput
	// Additional information that you want to include when Auto Scaling sends a message to the notification target.
	NotificationMetadata pulumi.StringPtrInput
	// The ID of the Auto Scaling group to which you want to assign the lifecycle hook.
	ScalingGroupId pulumi.StringInput
}

The set of arguments for constructing a LifecycleHook resource.

func (LifecycleHookArgs) ElementType

func (LifecycleHookArgs) ElementType() reflect.Type

type LifecycleHookArray

type LifecycleHookArray []LifecycleHookInput

func (LifecycleHookArray) ElementType

func (LifecycleHookArray) ElementType() reflect.Type

func (LifecycleHookArray) ToLifecycleHookArrayOutput

func (i LifecycleHookArray) ToLifecycleHookArrayOutput() LifecycleHookArrayOutput

func (LifecycleHookArray) ToLifecycleHookArrayOutputWithContext

func (i LifecycleHookArray) ToLifecycleHookArrayOutputWithContext(ctx context.Context) LifecycleHookArrayOutput

type LifecycleHookArrayInput

type LifecycleHookArrayInput interface {
	pulumi.Input

	ToLifecycleHookArrayOutput() LifecycleHookArrayOutput
	ToLifecycleHookArrayOutputWithContext(context.Context) LifecycleHookArrayOutput
}

LifecycleHookArrayInput is an input type that accepts LifecycleHookArray and LifecycleHookArrayOutput values. You can construct a concrete instance of `LifecycleHookArrayInput` via:

LifecycleHookArray{ LifecycleHookArgs{...} }

type LifecycleHookArrayOutput

type LifecycleHookArrayOutput struct{ *pulumi.OutputState }

func (LifecycleHookArrayOutput) ElementType

func (LifecycleHookArrayOutput) ElementType() reflect.Type

func (LifecycleHookArrayOutput) Index

func (LifecycleHookArrayOutput) ToLifecycleHookArrayOutput

func (o LifecycleHookArrayOutput) ToLifecycleHookArrayOutput() LifecycleHookArrayOutput

func (LifecycleHookArrayOutput) ToLifecycleHookArrayOutputWithContext

func (o LifecycleHookArrayOutput) ToLifecycleHookArrayOutputWithContext(ctx context.Context) LifecycleHookArrayOutput

type LifecycleHookInput

type LifecycleHookInput interface {
	pulumi.Input

	ToLifecycleHookOutput() LifecycleHookOutput
	ToLifecycleHookOutputWithContext(ctx context.Context) LifecycleHookOutput
}

type LifecycleHookMap

type LifecycleHookMap map[string]LifecycleHookInput

func (LifecycleHookMap) ElementType

func (LifecycleHookMap) ElementType() reflect.Type

func (LifecycleHookMap) ToLifecycleHookMapOutput

func (i LifecycleHookMap) ToLifecycleHookMapOutput() LifecycleHookMapOutput

func (LifecycleHookMap) ToLifecycleHookMapOutputWithContext

func (i LifecycleHookMap) ToLifecycleHookMapOutputWithContext(ctx context.Context) LifecycleHookMapOutput

type LifecycleHookMapInput

type LifecycleHookMapInput interface {
	pulumi.Input

	ToLifecycleHookMapOutput() LifecycleHookMapOutput
	ToLifecycleHookMapOutputWithContext(context.Context) LifecycleHookMapOutput
}

LifecycleHookMapInput is an input type that accepts LifecycleHookMap and LifecycleHookMapOutput values. You can construct a concrete instance of `LifecycleHookMapInput` via:

LifecycleHookMap{ "key": LifecycleHookArgs{...} }

type LifecycleHookMapOutput

type LifecycleHookMapOutput struct{ *pulumi.OutputState }

func (LifecycleHookMapOutput) ElementType

func (LifecycleHookMapOutput) ElementType() reflect.Type

func (LifecycleHookMapOutput) MapIndex

func (LifecycleHookMapOutput) ToLifecycleHookMapOutput

func (o LifecycleHookMapOutput) ToLifecycleHookMapOutput() LifecycleHookMapOutput

func (LifecycleHookMapOutput) ToLifecycleHookMapOutputWithContext

func (o LifecycleHookMapOutput) ToLifecycleHookMapOutputWithContext(ctx context.Context) LifecycleHookMapOutput

type LifecycleHookOutput

type LifecycleHookOutput struct{ *pulumi.OutputState }

func (LifecycleHookOutput) DefaultResult added in v3.27.0

func (o LifecycleHookOutput) DefaultResult() pulumi.StringPtrOutput

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses. Applicable value: CONTINUE, ABANDON, ROLLBACK, default value: CONTINUE.

func (LifecycleHookOutput) ElementType

func (LifecycleHookOutput) ElementType() reflect.Type

func (LifecycleHookOutput) HeartbeatTimeout added in v3.27.0

func (o LifecycleHookOutput) HeartbeatTimeout() pulumi.IntPtrOutput

Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action defined in the defaultResult parameter. Default value: 600.

func (LifecycleHookOutput) LifecycleTransition added in v3.27.0

func (o LifecycleHookOutput) LifecycleTransition() pulumi.StringOutput

Type of Scaling activity attached to lifecycle hook. Supported value: SCALE_OUT, SCALE_IN.

func (LifecycleHookOutput) Name added in v3.27.0

The name of the lifecycle hook, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores `_`, hypens `-`, and decimal point `.`. If this parameter value is not specified, the default value is lifecycle hook id.

func (LifecycleHookOutput) NotificationArn added in v3.27.0

func (o LifecycleHookOutput) NotificationArn() pulumi.StringOutput

The Arn of notification target.

func (LifecycleHookOutput) NotificationMetadata added in v3.27.0

func (o LifecycleHookOutput) NotificationMetadata() pulumi.StringOutput

Additional information that you want to include when Auto Scaling sends a message to the notification target.

func (LifecycleHookOutput) ScalingGroupId added in v3.27.0

func (o LifecycleHookOutput) ScalingGroupId() pulumi.StringOutput

The ID of the Auto Scaling group to which you want to assign the lifecycle hook.

func (LifecycleHookOutput) ToLifecycleHookOutput

func (o LifecycleHookOutput) ToLifecycleHookOutput() LifecycleHookOutput

func (LifecycleHookOutput) ToLifecycleHookOutputWithContext

func (o LifecycleHookOutput) ToLifecycleHookOutputWithContext(ctx context.Context) LifecycleHookOutput

type LifecycleHookState

type LifecycleHookState struct {
	// Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses. Applicable value: CONTINUE, ABANDON, ROLLBACK, default value: CONTINUE.
	DefaultResult pulumi.StringPtrInput
	// Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action defined in the defaultResult parameter. Default value: 600.
	HeartbeatTimeout pulumi.IntPtrInput
	// Type of Scaling activity attached to lifecycle hook. Supported value: SCALE_OUT, SCALE_IN.
	LifecycleTransition pulumi.StringPtrInput
	// The name of the lifecycle hook, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores `_`, hypens `-`, and decimal point `.`. If this parameter value is not specified, the default value is lifecycle hook id.
	Name pulumi.StringPtrInput
	// The Arn of notification target.
	NotificationArn pulumi.StringPtrInput
	// Additional information that you want to include when Auto Scaling sends a message to the notification target.
	NotificationMetadata pulumi.StringPtrInput
	// The ID of the Auto Scaling group to which you want to assign the lifecycle hook.
	ScalingGroupId pulumi.StringPtrInput
}

func (LifecycleHookState) ElementType

func (LifecycleHookState) ElementType() reflect.Type

type Notification

type Notification struct {
	pulumi.CustomResourceState

	// The Alibaba Cloud Resource Name (ARN) of the notification object, The value must be in `acs:ess:{region}:{account-id}:{resource-relative-id}` format.
	// * region: the region ID of the scaling group. For more information, see `Regions and zones`
	// * account-id: the ID of your account.
	// * resource-relative-id: the notification method. Valid values : `cloudmonitor`, MNS queue: `queue/{queuename}`, Replace the queuename with the specific MNS queue name, MNS topic: `topic/{topicname}`, Replace the topicname with the specific MNS topic name.
	NotificationArn pulumi.StringOutput `pulumi:"notificationArn"`
	// The notification types of Auto Scaling events and resource changes. Supported notification types: 'AUTOSCALING:SCALE_OUT_SUCCESS', 'AUTOSCALING:SCALE_IN_SUCCESS', 'AUTOSCALING:SCALE_OUT_ERROR', 'AUTOSCALING:SCALE_IN_ERROR', 'AUTOSCALING:SCALE_REJECT', 'AUTOSCALING:SCALE_OUT_START', 'AUTOSCALING:SCALE_IN_START', 'AUTOSCALING:SCHEDULE_TASK_EXPIRING'.
	NotificationTypes pulumi.StringArrayOutput `pulumi:"notificationTypes"`
	// The ID of the Auto Scaling group.
	ScalingGroupId pulumi.StringOutput `pulumi:"scalingGroupId"`
}

Provides a ESS notification resource. More about Ess notification, see [Autoscaling Notification](https://www.alibabacloud.com/help/doc-detail/71114.htm).

> **NOTE:** Available since v1.55.0.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultInteger, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
			Min: 10000,
			Max: 99999,
		})
		if err != nil {
			return err
		}
		myName := fmt.Sprintf("%v-%v", name, defaultInteger.Result)
		_default, err := alicloud.GetRegions(ctx, &alicloud.GetRegionsArgs{
			Current: pulumi.BoolRef(true),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetAccount, err := alicloud.GetAccount(ctx, nil, nil)
		if err != nil {
			return err
		}
		defaultGetZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableDiskCategory:     pulumi.StringRef("cloud_efficiency"),
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(myName),
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/24"),
			ZoneId:      pulumi.String(defaultGetZones.Zones[0].Id),
			VswitchName: pulumi.String(myName),
		})
		if err != nil {
			return err
		}
		defaultScalingGroup, err := ess.NewScalingGroup(ctx, "default", &ess.ScalingGroupArgs{
			MinSize:          pulumi.Int(1),
			MaxSize:          pulumi.Int(1),
			ScalingGroupName: pulumi.String(myName),
			RemovalPolicies: pulumi.StringArray{
				pulumi.String("OldestInstance"),
				pulumi.String("NewestInstance"),
			},
			VswitchIds: pulumi.StringArray{
				defaultSwitch.ID(),
			},
		})
		if err != nil {
			return err
		}
		defaultQueue, err := mns.NewQueue(ctx, "default", &mns.QueueArgs{
			Name: pulumi.String(myName),
		})
		if err != nil {
			return err
		}
		_, err = ess.NewNotification(ctx, "default", &ess.NotificationArgs{
			ScalingGroupId: defaultScalingGroup.ID(),
			NotificationTypes: pulumi.StringArray{
				pulumi.String("AUTOSCALING:SCALE_OUT_SUCCESS"),
				pulumi.String("AUTOSCALING:SCALE_OUT_ERROR"),
			},
			NotificationArn: defaultQueue.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("acs:ess:%v:%v:queue/%v", _default.Regions[0].Id, defaultGetAccount.Id, name), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Ess notification can be imported using the id, e.g.

```sh $ pulumi import alicloud:ess/notification:Notification example 'scaling_group_id:notification_arn' ```

func GetNotification

func GetNotification(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NotificationState, opts ...pulumi.ResourceOption) (*Notification, error)

GetNotification gets an existing Notification resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNotification

func NewNotification(ctx *pulumi.Context,
	name string, args *NotificationArgs, opts ...pulumi.ResourceOption) (*Notification, error)

NewNotification registers a new resource with the given unique name, arguments, and options.

func (*Notification) ElementType

func (*Notification) ElementType() reflect.Type

func (*Notification) ToNotificationOutput

func (i *Notification) ToNotificationOutput() NotificationOutput

func (*Notification) ToNotificationOutputWithContext

func (i *Notification) ToNotificationOutputWithContext(ctx context.Context) NotificationOutput

type NotificationArgs

type NotificationArgs struct {
	// The Alibaba Cloud Resource Name (ARN) of the notification object, The value must be in `acs:ess:{region}:{account-id}:{resource-relative-id}` format.
	// * region: the region ID of the scaling group. For more information, see `Regions and zones`
	// * account-id: the ID of your account.
	// * resource-relative-id: the notification method. Valid values : `cloudmonitor`, MNS queue: `queue/{queuename}`, Replace the queuename with the specific MNS queue name, MNS topic: `topic/{topicname}`, Replace the topicname with the specific MNS topic name.
	NotificationArn pulumi.StringInput
	// The notification types of Auto Scaling events and resource changes. Supported notification types: 'AUTOSCALING:SCALE_OUT_SUCCESS', 'AUTOSCALING:SCALE_IN_SUCCESS', 'AUTOSCALING:SCALE_OUT_ERROR', 'AUTOSCALING:SCALE_IN_ERROR', 'AUTOSCALING:SCALE_REJECT', 'AUTOSCALING:SCALE_OUT_START', 'AUTOSCALING:SCALE_IN_START', 'AUTOSCALING:SCHEDULE_TASK_EXPIRING'.
	NotificationTypes pulumi.StringArrayInput
	// The ID of the Auto Scaling group.
	ScalingGroupId pulumi.StringInput
}

The set of arguments for constructing a Notification resource.

func (NotificationArgs) ElementType

func (NotificationArgs) ElementType() reflect.Type

type NotificationArray

type NotificationArray []NotificationInput

func (NotificationArray) ElementType

func (NotificationArray) ElementType() reflect.Type

func (NotificationArray) ToNotificationArrayOutput

func (i NotificationArray) ToNotificationArrayOutput() NotificationArrayOutput

func (NotificationArray) ToNotificationArrayOutputWithContext

func (i NotificationArray) ToNotificationArrayOutputWithContext(ctx context.Context) NotificationArrayOutput

type NotificationArrayInput

type NotificationArrayInput interface {
	pulumi.Input

	ToNotificationArrayOutput() NotificationArrayOutput
	ToNotificationArrayOutputWithContext(context.Context) NotificationArrayOutput
}

NotificationArrayInput is an input type that accepts NotificationArray and NotificationArrayOutput values. You can construct a concrete instance of `NotificationArrayInput` via:

NotificationArray{ NotificationArgs{...} }

type NotificationArrayOutput

type NotificationArrayOutput struct{ *pulumi.OutputState }

func (NotificationArrayOutput) ElementType

func (NotificationArrayOutput) ElementType() reflect.Type

func (NotificationArrayOutput) Index

func (NotificationArrayOutput) ToNotificationArrayOutput

func (o NotificationArrayOutput) ToNotificationArrayOutput() NotificationArrayOutput

func (NotificationArrayOutput) ToNotificationArrayOutputWithContext

func (o NotificationArrayOutput) ToNotificationArrayOutputWithContext(ctx context.Context) NotificationArrayOutput

type NotificationInput

type NotificationInput interface {
	pulumi.Input

	ToNotificationOutput() NotificationOutput
	ToNotificationOutputWithContext(ctx context.Context) NotificationOutput
}

type NotificationMap

type NotificationMap map[string]NotificationInput

func (NotificationMap) ElementType

func (NotificationMap) ElementType() reflect.Type

func (NotificationMap) ToNotificationMapOutput

func (i NotificationMap) ToNotificationMapOutput() NotificationMapOutput

func (NotificationMap) ToNotificationMapOutputWithContext

func (i NotificationMap) ToNotificationMapOutputWithContext(ctx context.Context) NotificationMapOutput

type NotificationMapInput

type NotificationMapInput interface {
	pulumi.Input

	ToNotificationMapOutput() NotificationMapOutput
	ToNotificationMapOutputWithContext(context.Context) NotificationMapOutput
}

NotificationMapInput is an input type that accepts NotificationMap and NotificationMapOutput values. You can construct a concrete instance of `NotificationMapInput` via:

NotificationMap{ "key": NotificationArgs{...} }

type NotificationMapOutput

type NotificationMapOutput struct{ *pulumi.OutputState }

func (NotificationMapOutput) ElementType

func (NotificationMapOutput) ElementType() reflect.Type

func (NotificationMapOutput) MapIndex

func (NotificationMapOutput) ToNotificationMapOutput

func (o NotificationMapOutput) ToNotificationMapOutput() NotificationMapOutput

func (NotificationMapOutput) ToNotificationMapOutputWithContext

func (o NotificationMapOutput) ToNotificationMapOutputWithContext(ctx context.Context) NotificationMapOutput

type NotificationOutput

type NotificationOutput struct{ *pulumi.OutputState }

func (NotificationOutput) ElementType

func (NotificationOutput) ElementType() reflect.Type

func (NotificationOutput) NotificationArn added in v3.27.0

func (o NotificationOutput) NotificationArn() pulumi.StringOutput

The Alibaba Cloud Resource Name (ARN) of the notification object, The value must be in `acs:ess:{region}:{account-id}:{resource-relative-id}` format. * region: the region ID of the scaling group. For more information, see `Regions and zones` * account-id: the ID of your account. * resource-relative-id: the notification method. Valid values : `cloudmonitor`, MNS queue: `queue/{queuename}`, Replace the queuename with the specific MNS queue name, MNS topic: `topic/{topicname}`, Replace the topicname with the specific MNS topic name.

func (NotificationOutput) NotificationTypes added in v3.27.0

func (o NotificationOutput) NotificationTypes() pulumi.StringArrayOutput

The notification types of Auto Scaling events and resource changes. Supported notification types: 'AUTOSCALING:SCALE_OUT_SUCCESS', 'AUTOSCALING:SCALE_IN_SUCCESS', 'AUTOSCALING:SCALE_OUT_ERROR', 'AUTOSCALING:SCALE_IN_ERROR', 'AUTOSCALING:SCALE_REJECT', 'AUTOSCALING:SCALE_OUT_START', 'AUTOSCALING:SCALE_IN_START', 'AUTOSCALING:SCHEDULE_TASK_EXPIRING'.

func (NotificationOutput) ScalingGroupId added in v3.27.0

func (o NotificationOutput) ScalingGroupId() pulumi.StringOutput

The ID of the Auto Scaling group.

func (NotificationOutput) ToNotificationOutput

func (o NotificationOutput) ToNotificationOutput() NotificationOutput

func (NotificationOutput) ToNotificationOutputWithContext

func (o NotificationOutput) ToNotificationOutputWithContext(ctx context.Context) NotificationOutput

type NotificationState

type NotificationState struct {
	// The Alibaba Cloud Resource Name (ARN) of the notification object, The value must be in `acs:ess:{region}:{account-id}:{resource-relative-id}` format.
	// * region: the region ID of the scaling group. For more information, see `Regions and zones`
	// * account-id: the ID of your account.
	// * resource-relative-id: the notification method. Valid values : `cloudmonitor`, MNS queue: `queue/{queuename}`, Replace the queuename with the specific MNS queue name, MNS topic: `topic/{topicname}`, Replace the topicname with the specific MNS topic name.
	NotificationArn pulumi.StringPtrInput
	// The notification types of Auto Scaling events and resource changes. Supported notification types: 'AUTOSCALING:SCALE_OUT_SUCCESS', 'AUTOSCALING:SCALE_IN_SUCCESS', 'AUTOSCALING:SCALE_OUT_ERROR', 'AUTOSCALING:SCALE_IN_ERROR', 'AUTOSCALING:SCALE_REJECT', 'AUTOSCALING:SCALE_OUT_START', 'AUTOSCALING:SCALE_IN_START', 'AUTOSCALING:SCHEDULE_TASK_EXPIRING'.
	NotificationTypes pulumi.StringArrayInput
	// The ID of the Auto Scaling group.
	ScalingGroupId pulumi.StringPtrInput
}

func (NotificationState) ElementType

func (NotificationState) ElementType() reflect.Type

type ScalingConfiguration

type ScalingConfiguration struct {
	pulumi.CustomResourceState

	// Whether active current scaling configuration in the specified scaling group. Default to `false`.
	Active pulumi.BoolOutput `pulumi:"active"`
	// Performance mode of the t5 burstable instance. Valid values: 'Standard', 'Unlimited'.
	CreditSpecification pulumi.StringPtrOutput `pulumi:"creditSpecification"`
	// DataDisk mappings to attach to ecs instance. See `dataDisk` below for details.
	DataDisks ScalingConfigurationDataDiskArrayOutput `pulumi:"dataDisks"`
	// Whether enable the specified scaling group(make it active) to which the current scaling configuration belongs.
	Enable pulumi.BoolPtrOutput `pulumi:"enable"`
	// The last scaling configuration will be deleted forcibly with deleting its scaling group. Default to false.
	ForceDelete pulumi.BoolPtrOutput `pulumi:"forceDelete"`
	// Hostname of an ECS instance.
	HostName pulumi.StringPtrOutput `pulumi:"hostName"`
	// ID of an image file, indicating the image resource selected when an instance is enabled.
	ImageId pulumi.StringPtrOutput `pulumi:"imageId"`
	// Name of an image file, indicating the image resource selected when an instance is enabled.
	ImageName pulumi.StringPtrOutput `pulumi:"imageName"`
	// It has been deprecated from version 1.6.0. New resource `ess.Attachment` replaces it.
	//
	// Deprecated: Field 'instance_ids' has been deprecated from provider version 1.6.0. New resource 'alicloud_ess_attachment' replaces it.
	InstanceIds pulumi.StringArrayOutput `pulumi:"instanceIds"`
	// Name of an ECS instance. Default to "ESS-Instance". It is valid from version 1.7.1.
	InstanceName pulumi.StringPtrOutput `pulumi:"instanceName"`
	// intelligent configuration mode. In this mode, you only need to specify the number of vCPUs, memory size, instance family, and maximum price. The system selects an instance type that is provided at the lowest price based on your configurations to create ECS instances. This mode is available only for scaling groups that reside in virtual private clouds (VPCs). This mode helps reduce the failures of scale-out activities caused by insufficient inventory of instance types.  See `instancePatternInfo` below for details.
	InstancePatternInfos ScalingConfigurationInstancePatternInfoArrayOutput `pulumi:"instancePatternInfos"`
	// Resource type of an ECS instance.
	InstanceType pulumi.StringPtrOutput `pulumi:"instanceType"`
	// specify the weight of instance type.  See `instanceTypeOverride` below for details.
	InstanceTypeOverrides ScalingConfigurationInstanceTypeOverrideArrayOutput `pulumi:"instanceTypeOverrides"`
	// Resource types of an ECS instance.
	InstanceTypes pulumi.StringArrayOutput `pulumi:"instanceTypes"`
	// Network billing type, Values: PayByBandwidth or PayByTraffic. Default to `PayByBandwidth`.
	InternetChargeType pulumi.StringPtrOutput `pulumi:"internetChargeType"`
	// Maximum incoming bandwidth from the public network, measured in Mbps (Mega bit per second). The value range is [1,200].
	InternetMaxBandwidthIn pulumi.IntOutput `pulumi:"internetMaxBandwidthIn"`
	// Maximum outgoing bandwidth from the public network, measured in Mbps (Mega bit per second). The value range for PayByBandwidth is [0,1024].
	InternetMaxBandwidthOut pulumi.IntPtrOutput `pulumi:"internetMaxBandwidthOut"`
	// It has been deprecated on instance resource. All the launched alicloud instances will be I/O optimized.
	//
	// Deprecated: Attribute ioOptimized has been deprecated on instance resource. All the launched alicloud instances will be IO optimized. Suggest to remove it from your template.
	IoOptimized pulumi.StringPtrOutput `pulumi:"ioOptimized"`
	// Whether to use outdated instance type. Default to false.
	IsOutdated pulumi.BoolPtrOutput `pulumi:"isOutdated"`
	// The name of key pair that can login ECS instance successfully without password. If it is specified, the password would be invalid.
	KeyName pulumi.StringPtrOutput `pulumi:"keyName"`
	// An KMS encrypts password used to a db account. If the `password` is filled in, this field will be ignored.
	KmsEncryptedPassword pulumi.StringPtrOutput `pulumi:"kmsEncryptedPassword"`
	// An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a db account with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set.
	KmsEncryptionContext pulumi.MapOutput `pulumi:"kmsEncryptionContext"`
	// Indicates whether to overwrite the existing data. Default to false.
	Override pulumi.BoolPtrOutput `pulumi:"override"`
	// The password of the ECS instance. The password must be 8 to 30 characters in length. It must contains at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. Special characters include `() ~!@#$%^&*-_+=\|{}[]:;'<>,.?/`, The password of Windows-based instances cannot start with a forward slash (/).
	Password pulumi.StringPtrOutput `pulumi:"password"`
	// Specifies whether to use the password that is predefined in the image. If the PasswordInherit parameter is set to true, the `password` and `kmsEncryptedPassword` will be ignored. You must ensure that the selected image has a password configured.
	PasswordInherit pulumi.BoolPtrOutput `pulumi:"passwordInherit"`
	// ID of resource group.
	ResourceGroupId pulumi.StringPtrOutput `pulumi:"resourceGroupId"`
	// Instance RAM role name. The name is provided and maintained by RAM. You can use `ram.Role` to create a new one.
	RoleName pulumi.StringPtrOutput `pulumi:"roleName"`
	// Name shown for the scheduled task. which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores `_`, hypens `-`, and decimal point `.`. If this parameter value is not specified, the default value is ScalingConfigurationId.
	ScalingConfigurationName pulumi.StringOutput `pulumi:"scalingConfigurationName"`
	// ID of the scaling group of a scaling configuration.
	ScalingGroupId pulumi.StringOutput `pulumi:"scalingGroupId"`
	// ID of the security group used to create new instance. It is conflict with `securityGroupIds`.
	SecurityGroupId pulumi.StringPtrOutput `pulumi:"securityGroupId"`
	// List IDs of the security group used to create new instances. It is conflict with `securityGroupId`.
	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	// Sets the maximum price hourly for instance types. See `spotPriceLimit` below for details.
	//
	// > **NOTE:** Before enabling the scaling group, it must have a active scaling configuration.
	//
	// > **NOTE:** If the number of attached ECS instances by `instanceIds` is smaller than MinSize, the Auto Scaling Service will automatically create ECS Pay-As-You-Go instance to cater to MinSize. For example, MinSize=5 and 2 existing ECS instances has been attached to the scaling group. When the scaling group is enabled, it will create 3 instnaces automatically based on its current active scaling configuration.
	//
	// > **NOTE:** Restrictions on attaching ECS instances:
	//
	// - The attached ECS instances and the scaling group must have the same region and network type(`Classic` or `VPC`).
	// - The attached ECS instances and the instance with active scaling configurations must have the same instance type.
	// - The attached ECS instances must in the running state.
	// - The attached ECS instances has not been attached to other scaling groups.
	// - The attached ECS instances supports Subscription and Pay-As-You-Go payment methods.
	//
	// > **NOTE:** The last scaling configuration can't be set to inactive and deleted alone.
	SpotPriceLimits ScalingConfigurationSpotPriceLimitArrayOutput `pulumi:"spotPriceLimits"`
	// The spot strategy for a Pay-As-You-Go instance. Valid values: `NoSpot`, `SpotAsPriceGo`, `SpotWithPriceLimit`.
	SpotStrategy pulumi.StringPtrOutput `pulumi:"spotStrategy"`
	// The another scaling configuration which will be active automatically and replace current configuration when setting `active` to 'false'. It is invalid when `active` is 'true'.
	Substitute pulumi.StringOutput `pulumi:"substitute"`
	// The id of auto snapshot policy for system disk.
	SystemDiskAutoSnapshotPolicyId pulumi.StringPtrOutput `pulumi:"systemDiskAutoSnapshotPolicyId"`
	// Category of the system disk. The parameter value options are `ephemeralSsd`, `cloudEfficiency`, `cloudSsd`, `cloudEssd` and `cloud`. `cloud` only is used to some no I/O optimized instance. Default to `cloudEfficiency`.
	SystemDiskCategory pulumi.StringPtrOutput `pulumi:"systemDiskCategory"`
	// The description of the system disk. The description must be 2 to 256 characters in length and cannot start with http:// or https://.
	SystemDiskDescription pulumi.StringPtrOutput `pulumi:"systemDiskDescription"`
	// Whether to encrypt the system disk.
	SystemDiskEncrypted pulumi.BoolPtrOutput `pulumi:"systemDiskEncrypted"`
	// The name of the system disk. It must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), and hyphens (-). Default value: null.
	SystemDiskName pulumi.StringPtrOutput `pulumi:"systemDiskName"`
	// The performance level of the ESSD used as the system disk.
	SystemDiskPerformanceLevel pulumi.StringPtrOutput `pulumi:"systemDiskPerformanceLevel"`
	// Size of system disk, in GiB. Optional values: cloud: 20-500, cloud_efficiency: 20-500, cloud_ssd: 20-500, ephemeral_ssd: 20-500 The default value is max{40, ImageSize}. If this parameter is set, the system disk size must be greater than or equal to max{40, ImageSize}.
	SystemDiskSize pulumi.IntPtrOutput `pulumi:"systemDiskSize"`
	// A mapping of tags to assign to the resource. It will be applied for ECS instances finally.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "http://", or "https://" It can be a null string.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// User-defined data to customize the startup behaviors of the ECS instance and to pass data into the ECS instance.
	UserData pulumi.StringPtrOutput `pulumi:"userData"`
}

Provides a ESS scaling configuration resource.

> **NOTE:** Several instance types have outdated in some regions and availability zones, such as `ecs.t1.*`, `ecs.s2.*`, `ecs.n1.*` and so on. If you want to keep them, you should set `isOutdated` to true. For more about the upgraded instance type, refer to `ecs.getInstanceTypes` datasource.

> **NOTE:** Available since v1.39.0.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultInteger, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
			Min: 10000,
			Max: 99999,
		})
		if err != nil {
			return err
		}
		myName := fmt.Sprintf("%v-%v", name, defaultInteger.Result)
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableDiskCategory:     pulumi.StringRef("cloud_efficiency"),
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),
			CpuCoreCount:     pulumi.IntRef(2),
			MemorySize:       pulumi.Float64Ref(4),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
			NameRegex:  pulumi.StringRef("^ubuntu_18.*64"),
			MostRecent: pulumi.BoolRef(true),
			Owners:     pulumi.StringRef("system"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(myName),
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/24"),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
			VswitchName: pulumi.String(myName),
		})
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			Name:  pulumi.String(myName),
			VpcId: defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewSecurityGroupRule(ctx, "default", &ecs.SecurityGroupRuleArgs{
			Type:            pulumi.String("ingress"),
			IpProtocol:      pulumi.String("tcp"),
			NicType:         pulumi.String("intranet"),
			Policy:          pulumi.String("accept"),
			PortRange:       pulumi.String("22/22"),
			Priority:        pulumi.Int(1),
			SecurityGroupId: defaultSecurityGroup.ID(),
			CidrIp:          pulumi.String("172.16.0.0/24"),
		})
		if err != nil {
			return err
		}
		defaultScalingGroup, err := ess.NewScalingGroup(ctx, "default", &ess.ScalingGroupArgs{
			MinSize:          pulumi.Int(1),
			MaxSize:          pulumi.Int(1),
			ScalingGroupName: pulumi.String(myName),
			RemovalPolicies: pulumi.StringArray{
				pulumi.String("OldestInstance"),
				pulumi.String("NewestInstance"),
			},
			VswitchIds: pulumi.StringArray{
				defaultSwitch.ID(),
			},
		})
		if err != nil {
			return err
		}
		_, err = ess.NewScalingConfiguration(ctx, "default", &ess.ScalingConfigurationArgs{
			ScalingGroupId:  defaultScalingGroup.ID(),
			ImageId:         pulumi.String(defaultGetImages.Images[0].Id),
			InstanceType:    pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),
			SecurityGroupId: defaultSecurityGroup.ID(),
			ForceDelete:     pulumi.Bool(true),
			Active:          pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Module Support

You can use to the existing autoscaling module to create a configuration, scaling group and lifecycle hook one-click.

## Import

ESS scaling configuration can be imported using the id, e.g.

```sh $ pulumi import alicloud:ess/scalingConfiguration:ScalingConfiguration example asg-abc123456 ```

func GetScalingConfiguration

func GetScalingConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ScalingConfigurationState, opts ...pulumi.ResourceOption) (*ScalingConfiguration, error)

GetScalingConfiguration gets an existing ScalingConfiguration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewScalingConfiguration

func NewScalingConfiguration(ctx *pulumi.Context,
	name string, args *ScalingConfigurationArgs, opts ...pulumi.ResourceOption) (*ScalingConfiguration, error)

NewScalingConfiguration registers a new resource with the given unique name, arguments, and options.

func (*ScalingConfiguration) ElementType

func (*ScalingConfiguration) ElementType() reflect.Type

func (*ScalingConfiguration) ToScalingConfigurationOutput

func (i *ScalingConfiguration) ToScalingConfigurationOutput() ScalingConfigurationOutput

func (*ScalingConfiguration) ToScalingConfigurationOutputWithContext

func (i *ScalingConfiguration) ToScalingConfigurationOutputWithContext(ctx context.Context) ScalingConfigurationOutput

type ScalingConfigurationArgs

type ScalingConfigurationArgs struct {
	// Whether active current scaling configuration in the specified scaling group. Default to `false`.
	Active pulumi.BoolPtrInput
	// Performance mode of the t5 burstable instance. Valid values: 'Standard', 'Unlimited'.
	CreditSpecification pulumi.StringPtrInput
	// DataDisk mappings to attach to ecs instance. See `dataDisk` below for details.
	DataDisks ScalingConfigurationDataDiskArrayInput
	// Whether enable the specified scaling group(make it active) to which the current scaling configuration belongs.
	Enable pulumi.BoolPtrInput
	// The last scaling configuration will be deleted forcibly with deleting its scaling group. Default to false.
	ForceDelete pulumi.BoolPtrInput
	// Hostname of an ECS instance.
	HostName pulumi.StringPtrInput
	// ID of an image file, indicating the image resource selected when an instance is enabled.
	ImageId pulumi.StringPtrInput
	// Name of an image file, indicating the image resource selected when an instance is enabled.
	ImageName pulumi.StringPtrInput
	// It has been deprecated from version 1.6.0. New resource `ess.Attachment` replaces it.
	//
	// Deprecated: Field 'instance_ids' has been deprecated from provider version 1.6.0. New resource 'alicloud_ess_attachment' replaces it.
	InstanceIds pulumi.StringArrayInput
	// Name of an ECS instance. Default to "ESS-Instance". It is valid from version 1.7.1.
	InstanceName pulumi.StringPtrInput
	// intelligent configuration mode. In this mode, you only need to specify the number of vCPUs, memory size, instance family, and maximum price. The system selects an instance type that is provided at the lowest price based on your configurations to create ECS instances. This mode is available only for scaling groups that reside in virtual private clouds (VPCs). This mode helps reduce the failures of scale-out activities caused by insufficient inventory of instance types.  See `instancePatternInfo` below for details.
	InstancePatternInfos ScalingConfigurationInstancePatternInfoArrayInput
	// Resource type of an ECS instance.
	InstanceType pulumi.StringPtrInput
	// specify the weight of instance type.  See `instanceTypeOverride` below for details.
	InstanceTypeOverrides ScalingConfigurationInstanceTypeOverrideArrayInput
	// Resource types of an ECS instance.
	InstanceTypes pulumi.StringArrayInput
	// Network billing type, Values: PayByBandwidth or PayByTraffic. Default to `PayByBandwidth`.
	InternetChargeType pulumi.StringPtrInput
	// Maximum incoming bandwidth from the public network, measured in Mbps (Mega bit per second). The value range is [1,200].
	InternetMaxBandwidthIn pulumi.IntPtrInput
	// Maximum outgoing bandwidth from the public network, measured in Mbps (Mega bit per second). The value range for PayByBandwidth is [0,1024].
	InternetMaxBandwidthOut pulumi.IntPtrInput
	// It has been deprecated on instance resource. All the launched alicloud instances will be I/O optimized.
	//
	// Deprecated: Attribute ioOptimized has been deprecated on instance resource. All the launched alicloud instances will be IO optimized. Suggest to remove it from your template.
	IoOptimized pulumi.StringPtrInput
	// Whether to use outdated instance type. Default to false.
	IsOutdated pulumi.BoolPtrInput
	// The name of key pair that can login ECS instance successfully without password. If it is specified, the password would be invalid.
	KeyName pulumi.StringPtrInput
	// An KMS encrypts password used to a db account. If the `password` is filled in, this field will be ignored.
	KmsEncryptedPassword pulumi.StringPtrInput
	// An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a db account with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set.
	KmsEncryptionContext pulumi.MapInput
	// Indicates whether to overwrite the existing data. Default to false.
	Override pulumi.BoolPtrInput
	// The password of the ECS instance. The password must be 8 to 30 characters in length. It must contains at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. Special characters include `() ~!@#$%^&*-_+=\|{}[]:;'<>,.?/`, The password of Windows-based instances cannot start with a forward slash (/).
	Password pulumi.StringPtrInput
	// Specifies whether to use the password that is predefined in the image. If the PasswordInherit parameter is set to true, the `password` and `kmsEncryptedPassword` will be ignored. You must ensure that the selected image has a password configured.
	PasswordInherit pulumi.BoolPtrInput
	// ID of resource group.
	ResourceGroupId pulumi.StringPtrInput
	// Instance RAM role name. The name is provided and maintained by RAM. You can use `ram.Role` to create a new one.
	RoleName pulumi.StringPtrInput
	// Name shown for the scheduled task. which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores `_`, hypens `-`, and decimal point `.`. If this parameter value is not specified, the default value is ScalingConfigurationId.
	ScalingConfigurationName pulumi.StringPtrInput
	// ID of the scaling group of a scaling configuration.
	ScalingGroupId pulumi.StringInput
	// ID of the security group used to create new instance. It is conflict with `securityGroupIds`.
	SecurityGroupId pulumi.StringPtrInput
	// List IDs of the security group used to create new instances. It is conflict with `securityGroupId`.
	SecurityGroupIds pulumi.StringArrayInput
	// Sets the maximum price hourly for instance types. See `spotPriceLimit` below for details.
	//
	// > **NOTE:** Before enabling the scaling group, it must have a active scaling configuration.
	//
	// > **NOTE:** If the number of attached ECS instances by `instanceIds` is smaller than MinSize, the Auto Scaling Service will automatically create ECS Pay-As-You-Go instance to cater to MinSize. For example, MinSize=5 and 2 existing ECS instances has been attached to the scaling group. When the scaling group is enabled, it will create 3 instnaces automatically based on its current active scaling configuration.
	//
	// > **NOTE:** Restrictions on attaching ECS instances:
	//
	// - The attached ECS instances and the scaling group must have the same region and network type(`Classic` or `VPC`).
	// - The attached ECS instances and the instance with active scaling configurations must have the same instance type.
	// - The attached ECS instances must in the running state.
	// - The attached ECS instances has not been attached to other scaling groups.
	// - The attached ECS instances supports Subscription and Pay-As-You-Go payment methods.
	//
	// > **NOTE:** The last scaling configuration can't be set to inactive and deleted alone.
	SpotPriceLimits ScalingConfigurationSpotPriceLimitArrayInput
	// The spot strategy for a Pay-As-You-Go instance. Valid values: `NoSpot`, `SpotAsPriceGo`, `SpotWithPriceLimit`.
	SpotStrategy pulumi.StringPtrInput
	// The another scaling configuration which will be active automatically and replace current configuration when setting `active` to 'false'. It is invalid when `active` is 'true'.
	Substitute pulumi.StringPtrInput
	// The id of auto snapshot policy for system disk.
	SystemDiskAutoSnapshotPolicyId pulumi.StringPtrInput
	// Category of the system disk. The parameter value options are `ephemeralSsd`, `cloudEfficiency`, `cloudSsd`, `cloudEssd` and `cloud`. `cloud` only is used to some no I/O optimized instance. Default to `cloudEfficiency`.
	SystemDiskCategory pulumi.StringPtrInput
	// The description of the system disk. The description must be 2 to 256 characters in length and cannot start with http:// or https://.
	SystemDiskDescription pulumi.StringPtrInput
	// Whether to encrypt the system disk.
	SystemDiskEncrypted pulumi.BoolPtrInput
	// The name of the system disk. It must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), and hyphens (-). Default value: null.
	SystemDiskName pulumi.StringPtrInput
	// The performance level of the ESSD used as the system disk.
	SystemDiskPerformanceLevel pulumi.StringPtrInput
	// Size of system disk, in GiB. Optional values: cloud: 20-500, cloud_efficiency: 20-500, cloud_ssd: 20-500, ephemeral_ssd: 20-500 The default value is max{40, ImageSize}. If this parameter is set, the system disk size must be greater than or equal to max{40, ImageSize}.
	SystemDiskSize pulumi.IntPtrInput
	// A mapping of tags to assign to the resource. It will be applied for ECS instances finally.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "http://", or "https://" It can be a null string.
	Tags pulumi.MapInput
	// User-defined data to customize the startup behaviors of the ECS instance and to pass data into the ECS instance.
	UserData pulumi.StringPtrInput
}

The set of arguments for constructing a ScalingConfiguration resource.

func (ScalingConfigurationArgs) ElementType

func (ScalingConfigurationArgs) ElementType() reflect.Type

type ScalingConfigurationArray

type ScalingConfigurationArray []ScalingConfigurationInput

func (ScalingConfigurationArray) ElementType

func (ScalingConfigurationArray) ElementType() reflect.Type

func (ScalingConfigurationArray) ToScalingConfigurationArrayOutput

func (i ScalingConfigurationArray) ToScalingConfigurationArrayOutput() ScalingConfigurationArrayOutput

func (ScalingConfigurationArray) ToScalingConfigurationArrayOutputWithContext

func (i ScalingConfigurationArray) ToScalingConfigurationArrayOutputWithContext(ctx context.Context) ScalingConfigurationArrayOutput

type ScalingConfigurationArrayInput

type ScalingConfigurationArrayInput interface {
	pulumi.Input

	ToScalingConfigurationArrayOutput() ScalingConfigurationArrayOutput
	ToScalingConfigurationArrayOutputWithContext(context.Context) ScalingConfigurationArrayOutput
}

ScalingConfigurationArrayInput is an input type that accepts ScalingConfigurationArray and ScalingConfigurationArrayOutput values. You can construct a concrete instance of `ScalingConfigurationArrayInput` via:

ScalingConfigurationArray{ ScalingConfigurationArgs{...} }

type ScalingConfigurationArrayOutput

type ScalingConfigurationArrayOutput struct{ *pulumi.OutputState }

func (ScalingConfigurationArrayOutput) ElementType

func (ScalingConfigurationArrayOutput) Index

func (ScalingConfigurationArrayOutput) ToScalingConfigurationArrayOutput

func (o ScalingConfigurationArrayOutput) ToScalingConfigurationArrayOutput() ScalingConfigurationArrayOutput

func (ScalingConfigurationArrayOutput) ToScalingConfigurationArrayOutputWithContext

func (o ScalingConfigurationArrayOutput) ToScalingConfigurationArrayOutputWithContext(ctx context.Context) ScalingConfigurationArrayOutput

type ScalingConfigurationDataDisk

type ScalingConfigurationDataDisk struct {
	// The id of auto snapshot policy for data disk.
	AutoSnapshotPolicyId *string `pulumi:"autoSnapshotPolicyId"`
	// Category of data disk. The parameter value options are `ephemeralSsd`, `cloudEfficiency`, `cloudSsd` and `cloud`.
	Category *string `pulumi:"category"`
	// Whether to delete data disks attached on ecs when release ecs instance. Optional value: `true` or `false`, default to `true`.
	DeleteWithInstance *bool `pulumi:"deleteWithInstance"`
	// The description of data disk N. Valid values of N: 1 to 16. The description must be 2 to 256 characters in length and cannot start with http:// or https://.
	Description *string `pulumi:"description"`
	// The mount point of data disk N. Valid values of N: 1 to 16. If this parameter is not specified, the system automatically allocates a mount point to created ECS instances. The name of the mount point ranges from /dev/xvdb to /dev/xvdz in alphabetical order.
	//
	// Deprecated: Attribute device has been deprecated on disk attachment resource. Suggest to remove it from your template.
	Device *string `pulumi:"device"`
	// Specifies whether data disk N is to be encrypted. Valid values of N: 1 to 16. Valid values: `true`: encrypted, `false`: not encrypted. Default value: `false`.
	Encrypted *bool `pulumi:"encrypted"`
	// The CMK ID for data disk N. Valid values of N: 1 to 16.
	KmsKeyId *string `pulumi:"kmsKeyId"`
	// The name of data disk N. Valid values of N: 1 to 16. It must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), and hyphens (-). Default value: null.
	Name *string `pulumi:"name"`
	// The performance level of the ESSD used as data disk.
	PerformanceLevel *string `pulumi:"performanceLevel"`
	// Size of data disk, in GB. The value ranges [5,2000] for a cloud disk, [5,1024] for an ephemeral disk, [5,800] for an ephemeralSsd disk, [20,32768] for cloud_efficiency, cloud_ssd, cloudEssd disk.
	Size *int `pulumi:"size"`
	// Snapshot used for creating the data disk. If this parameter is specified, the size parameter is neglected, and the size of the created disk is the size of the snapshot.
	SnapshotId *string `pulumi:"snapshotId"`
}

type ScalingConfigurationDataDiskArgs

type ScalingConfigurationDataDiskArgs struct {
	// The id of auto snapshot policy for data disk.
	AutoSnapshotPolicyId pulumi.StringPtrInput `pulumi:"autoSnapshotPolicyId"`
	// Category of data disk. The parameter value options are `ephemeralSsd`, `cloudEfficiency`, `cloudSsd` and `cloud`.
	Category pulumi.StringPtrInput `pulumi:"category"`
	// Whether to delete data disks attached on ecs when release ecs instance. Optional value: `true` or `false`, default to `true`.
	DeleteWithInstance pulumi.BoolPtrInput `pulumi:"deleteWithInstance"`
	// The description of data disk N. Valid values of N: 1 to 16. The description must be 2 to 256 characters in length and cannot start with http:// or https://.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The mount point of data disk N. Valid values of N: 1 to 16. If this parameter is not specified, the system automatically allocates a mount point to created ECS instances. The name of the mount point ranges from /dev/xvdb to /dev/xvdz in alphabetical order.
	//
	// Deprecated: Attribute device has been deprecated on disk attachment resource. Suggest to remove it from your template.
	Device pulumi.StringPtrInput `pulumi:"device"`
	// Specifies whether data disk N is to be encrypted. Valid values of N: 1 to 16. Valid values: `true`: encrypted, `false`: not encrypted. Default value: `false`.
	Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"`
	// The CMK ID for data disk N. Valid values of N: 1 to 16.
	KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"`
	// The name of data disk N. Valid values of N: 1 to 16. It must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), and hyphens (-). Default value: null.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The performance level of the ESSD used as data disk.
	PerformanceLevel pulumi.StringPtrInput `pulumi:"performanceLevel"`
	// Size of data disk, in GB. The value ranges [5,2000] for a cloud disk, [5,1024] for an ephemeral disk, [5,800] for an ephemeralSsd disk, [20,32768] for cloud_efficiency, cloud_ssd, cloudEssd disk.
	Size pulumi.IntPtrInput `pulumi:"size"`
	// Snapshot used for creating the data disk. If this parameter is specified, the size parameter is neglected, and the size of the created disk is the size of the snapshot.
	SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"`
}

func (ScalingConfigurationDataDiskArgs) ElementType

func (ScalingConfigurationDataDiskArgs) ToScalingConfigurationDataDiskOutput

func (i ScalingConfigurationDataDiskArgs) ToScalingConfigurationDataDiskOutput() ScalingConfigurationDataDiskOutput

func (ScalingConfigurationDataDiskArgs) ToScalingConfigurationDataDiskOutputWithContext

func (i ScalingConfigurationDataDiskArgs) ToScalingConfigurationDataDiskOutputWithContext(ctx context.Context) ScalingConfigurationDataDiskOutput

type ScalingConfigurationDataDiskArray

type ScalingConfigurationDataDiskArray []ScalingConfigurationDataDiskInput

func (ScalingConfigurationDataDiskArray) ElementType

func (ScalingConfigurationDataDiskArray) ToScalingConfigurationDataDiskArrayOutput

func (i ScalingConfigurationDataDiskArray) ToScalingConfigurationDataDiskArrayOutput() ScalingConfigurationDataDiskArrayOutput

func (ScalingConfigurationDataDiskArray) ToScalingConfigurationDataDiskArrayOutputWithContext

func (i ScalingConfigurationDataDiskArray) ToScalingConfigurationDataDiskArrayOutputWithContext(ctx context.Context) ScalingConfigurationDataDiskArrayOutput

type ScalingConfigurationDataDiskArrayInput

type ScalingConfigurationDataDiskArrayInput interface {
	pulumi.Input

	ToScalingConfigurationDataDiskArrayOutput() ScalingConfigurationDataDiskArrayOutput
	ToScalingConfigurationDataDiskArrayOutputWithContext(context.Context) ScalingConfigurationDataDiskArrayOutput
}

ScalingConfigurationDataDiskArrayInput is an input type that accepts ScalingConfigurationDataDiskArray and ScalingConfigurationDataDiskArrayOutput values. You can construct a concrete instance of `ScalingConfigurationDataDiskArrayInput` via:

ScalingConfigurationDataDiskArray{ ScalingConfigurationDataDiskArgs{...} }

type ScalingConfigurationDataDiskArrayOutput

type ScalingConfigurationDataDiskArrayOutput struct{ *pulumi.OutputState }

func (ScalingConfigurationDataDiskArrayOutput) ElementType

func (ScalingConfigurationDataDiskArrayOutput) Index

func (ScalingConfigurationDataDiskArrayOutput) ToScalingConfigurationDataDiskArrayOutput

func (o ScalingConfigurationDataDiskArrayOutput) ToScalingConfigurationDataDiskArrayOutput() ScalingConfigurationDataDiskArrayOutput

func (ScalingConfigurationDataDiskArrayOutput) ToScalingConfigurationDataDiskArrayOutputWithContext

func (o ScalingConfigurationDataDiskArrayOutput) ToScalingConfigurationDataDiskArrayOutputWithContext(ctx context.Context) ScalingConfigurationDataDiskArrayOutput

type ScalingConfigurationDataDiskInput

type ScalingConfigurationDataDiskInput interface {
	pulumi.Input

	ToScalingConfigurationDataDiskOutput() ScalingConfigurationDataDiskOutput
	ToScalingConfigurationDataDiskOutputWithContext(context.Context) ScalingConfigurationDataDiskOutput
}

ScalingConfigurationDataDiskInput is an input type that accepts ScalingConfigurationDataDiskArgs and ScalingConfigurationDataDiskOutput values. You can construct a concrete instance of `ScalingConfigurationDataDiskInput` via:

ScalingConfigurationDataDiskArgs{...}

type ScalingConfigurationDataDiskOutput

type ScalingConfigurationDataDiskOutput struct{ *pulumi.OutputState }

func (ScalingConfigurationDataDiskOutput) AutoSnapshotPolicyId

The id of auto snapshot policy for data disk.

func (ScalingConfigurationDataDiskOutput) Category

Category of data disk. The parameter value options are `ephemeralSsd`, `cloudEfficiency`, `cloudSsd` and `cloud`.

func (ScalingConfigurationDataDiskOutput) DeleteWithInstance

Whether to delete data disks attached on ecs when release ecs instance. Optional value: `true` or `false`, default to `true`.

func (ScalingConfigurationDataDiskOutput) Description

The description of data disk N. Valid values of N: 1 to 16. The description must be 2 to 256 characters in length and cannot start with http:// or https://.

func (ScalingConfigurationDataDiskOutput) Device deprecated

The mount point of data disk N. Valid values of N: 1 to 16. If this parameter is not specified, the system automatically allocates a mount point to created ECS instances. The name of the mount point ranges from /dev/xvdb to /dev/xvdz in alphabetical order.

Deprecated: Attribute device has been deprecated on disk attachment resource. Suggest to remove it from your template.

func (ScalingConfigurationDataDiskOutput) ElementType

func (ScalingConfigurationDataDiskOutput) Encrypted

Specifies whether data disk N is to be encrypted. Valid values of N: 1 to 16. Valid values: `true`: encrypted, `false`: not encrypted. Default value: `false`.

func (ScalingConfigurationDataDiskOutput) KmsKeyId

The CMK ID for data disk N. Valid values of N: 1 to 16.

func (ScalingConfigurationDataDiskOutput) Name

The name of data disk N. Valid values of N: 1 to 16. It must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), and hyphens (-). Default value: null.

func (ScalingConfigurationDataDiskOutput) PerformanceLevel added in v3.3.0

The performance level of the ESSD used as data disk.

func (ScalingConfigurationDataDiskOutput) Size

Size of data disk, in GB. The value ranges [5,2000] for a cloud disk, [5,1024] for an ephemeral disk, [5,800] for an ephemeralSsd disk, [20,32768] for cloud_efficiency, cloud_ssd, cloudEssd disk.

func (ScalingConfigurationDataDiskOutput) SnapshotId

Snapshot used for creating the data disk. If this parameter is specified, the size parameter is neglected, and the size of the created disk is the size of the snapshot.

func (ScalingConfigurationDataDiskOutput) ToScalingConfigurationDataDiskOutput

func (o ScalingConfigurationDataDiskOutput) ToScalingConfigurationDataDiskOutput() ScalingConfigurationDataDiskOutput

func (ScalingConfigurationDataDiskOutput) ToScalingConfigurationDataDiskOutputWithContext

func (o ScalingConfigurationDataDiskOutput) ToScalingConfigurationDataDiskOutputWithContext(ctx context.Context) ScalingConfigurationDataDiskOutput

type ScalingConfigurationInput

type ScalingConfigurationInput interface {
	pulumi.Input

	ToScalingConfigurationOutput() ScalingConfigurationOutput
	ToScalingConfigurationOutputWithContext(ctx context.Context) ScalingConfigurationOutput
}

type ScalingConfigurationInstancePatternInfo added in v3.26.0

type ScalingConfigurationInstancePatternInfo struct {
	// Architecture N of instance type N. Valid values: X86, Heterogeneous, BareMetal, Arm, SuperComputeCluster.
	Architectures []string `pulumi:"architectures"`
	// Specifies whether to include burstable instance types.  Valid values: Exclude, Include, Required.
	BurstablePerformance *string `pulumi:"burstablePerformance"`
	// The number of vCPUs that are specified for an instance type in instancePatternInfo.
	Cores *int `pulumi:"cores"`
	// Instance type N that you want to exclude. You can use wildcard characters, such as an asterisk (*), to exclude an instance type or an instance family.
	ExcludedInstanceTypes []string `pulumi:"excludedInstanceTypes"`
	// The instance family level in instancePatternInfo.
	InstanceFamilyLevel *string `pulumi:"instanceFamilyLevel"`
	// The maximum hourly price for a pay-as-you-go instance or a preemptible instance in instancePatternInfo.
	MaxPrice *float64 `pulumi:"maxPrice"`
	// The memory size that is specified for an instance type in instancePatternInfo.
	Memory *float64 `pulumi:"memory"`
}

type ScalingConfigurationInstancePatternInfoArgs added in v3.26.0

type ScalingConfigurationInstancePatternInfoArgs struct {
	// Architecture N of instance type N. Valid values: X86, Heterogeneous, BareMetal, Arm, SuperComputeCluster.
	Architectures pulumi.StringArrayInput `pulumi:"architectures"`
	// Specifies whether to include burstable instance types.  Valid values: Exclude, Include, Required.
	BurstablePerformance pulumi.StringPtrInput `pulumi:"burstablePerformance"`
	// The number of vCPUs that are specified for an instance type in instancePatternInfo.
	Cores pulumi.IntPtrInput `pulumi:"cores"`
	// Instance type N that you want to exclude. You can use wildcard characters, such as an asterisk (*), to exclude an instance type or an instance family.
	ExcludedInstanceTypes pulumi.StringArrayInput `pulumi:"excludedInstanceTypes"`
	// The instance family level in instancePatternInfo.
	InstanceFamilyLevel pulumi.StringPtrInput `pulumi:"instanceFamilyLevel"`
	// The maximum hourly price for a pay-as-you-go instance or a preemptible instance in instancePatternInfo.
	MaxPrice pulumi.Float64PtrInput `pulumi:"maxPrice"`
	// The memory size that is specified for an instance type in instancePatternInfo.
	Memory pulumi.Float64PtrInput `pulumi:"memory"`
}

func (ScalingConfigurationInstancePatternInfoArgs) ElementType added in v3.26.0

func (ScalingConfigurationInstancePatternInfoArgs) ToScalingConfigurationInstancePatternInfoOutput added in v3.26.0

func (i ScalingConfigurationInstancePatternInfoArgs) ToScalingConfigurationInstancePatternInfoOutput() ScalingConfigurationInstancePatternInfoOutput

func (ScalingConfigurationInstancePatternInfoArgs) ToScalingConfigurationInstancePatternInfoOutputWithContext added in v3.26.0

func (i ScalingConfigurationInstancePatternInfoArgs) ToScalingConfigurationInstancePatternInfoOutputWithContext(ctx context.Context) ScalingConfigurationInstancePatternInfoOutput

type ScalingConfigurationInstancePatternInfoArray added in v3.26.0

type ScalingConfigurationInstancePatternInfoArray []ScalingConfigurationInstancePatternInfoInput

func (ScalingConfigurationInstancePatternInfoArray) ElementType added in v3.26.0

func (ScalingConfigurationInstancePatternInfoArray) ToScalingConfigurationInstancePatternInfoArrayOutput added in v3.26.0

func (i ScalingConfigurationInstancePatternInfoArray) ToScalingConfigurationInstancePatternInfoArrayOutput() ScalingConfigurationInstancePatternInfoArrayOutput

func (ScalingConfigurationInstancePatternInfoArray) ToScalingConfigurationInstancePatternInfoArrayOutputWithContext added in v3.26.0

func (i ScalingConfigurationInstancePatternInfoArray) ToScalingConfigurationInstancePatternInfoArrayOutputWithContext(ctx context.Context) ScalingConfigurationInstancePatternInfoArrayOutput

type ScalingConfigurationInstancePatternInfoArrayInput added in v3.26.0

type ScalingConfigurationInstancePatternInfoArrayInput interface {
	pulumi.Input

	ToScalingConfigurationInstancePatternInfoArrayOutput() ScalingConfigurationInstancePatternInfoArrayOutput
	ToScalingConfigurationInstancePatternInfoArrayOutputWithContext(context.Context) ScalingConfigurationInstancePatternInfoArrayOutput
}

ScalingConfigurationInstancePatternInfoArrayInput is an input type that accepts ScalingConfigurationInstancePatternInfoArray and ScalingConfigurationInstancePatternInfoArrayOutput values. You can construct a concrete instance of `ScalingConfigurationInstancePatternInfoArrayInput` via:

ScalingConfigurationInstancePatternInfoArray{ ScalingConfigurationInstancePatternInfoArgs{...} }

type ScalingConfigurationInstancePatternInfoArrayOutput added in v3.26.0

type ScalingConfigurationInstancePatternInfoArrayOutput struct{ *pulumi.OutputState }

func (ScalingConfigurationInstancePatternInfoArrayOutput) ElementType added in v3.26.0

func (ScalingConfigurationInstancePatternInfoArrayOutput) Index added in v3.26.0

func (ScalingConfigurationInstancePatternInfoArrayOutput) ToScalingConfigurationInstancePatternInfoArrayOutput added in v3.26.0

func (o ScalingConfigurationInstancePatternInfoArrayOutput) ToScalingConfigurationInstancePatternInfoArrayOutput() ScalingConfigurationInstancePatternInfoArrayOutput

func (ScalingConfigurationInstancePatternInfoArrayOutput) ToScalingConfigurationInstancePatternInfoArrayOutputWithContext added in v3.26.0

func (o ScalingConfigurationInstancePatternInfoArrayOutput) ToScalingConfigurationInstancePatternInfoArrayOutputWithContext(ctx context.Context) ScalingConfigurationInstancePatternInfoArrayOutput

type ScalingConfigurationInstancePatternInfoInput added in v3.26.0

type ScalingConfigurationInstancePatternInfoInput interface {
	pulumi.Input

	ToScalingConfigurationInstancePatternInfoOutput() ScalingConfigurationInstancePatternInfoOutput
	ToScalingConfigurationInstancePatternInfoOutputWithContext(context.Context) ScalingConfigurationInstancePatternInfoOutput
}

ScalingConfigurationInstancePatternInfoInput is an input type that accepts ScalingConfigurationInstancePatternInfoArgs and ScalingConfigurationInstancePatternInfoOutput values. You can construct a concrete instance of `ScalingConfigurationInstancePatternInfoInput` via:

ScalingConfigurationInstancePatternInfoArgs{...}

type ScalingConfigurationInstancePatternInfoOutput added in v3.26.0

type ScalingConfigurationInstancePatternInfoOutput struct{ *pulumi.OutputState }

func (ScalingConfigurationInstancePatternInfoOutput) Architectures added in v3.52.0

Architecture N of instance type N. Valid values: X86, Heterogeneous, BareMetal, Arm, SuperComputeCluster.

func (ScalingConfigurationInstancePatternInfoOutput) BurstablePerformance added in v3.52.0

Specifies whether to include burstable instance types. Valid values: Exclude, Include, Required.

func (ScalingConfigurationInstancePatternInfoOutput) Cores added in v3.26.0

The number of vCPUs that are specified for an instance type in instancePatternInfo.

func (ScalingConfigurationInstancePatternInfoOutput) ElementType added in v3.26.0

func (ScalingConfigurationInstancePatternInfoOutput) ExcludedInstanceTypes added in v3.52.0

Instance type N that you want to exclude. You can use wildcard characters, such as an asterisk (*), to exclude an instance type or an instance family.

func (ScalingConfigurationInstancePatternInfoOutput) InstanceFamilyLevel added in v3.26.0

The instance family level in instancePatternInfo.

func (ScalingConfigurationInstancePatternInfoOutput) MaxPrice added in v3.26.0

The maximum hourly price for a pay-as-you-go instance or a preemptible instance in instancePatternInfo.

func (ScalingConfigurationInstancePatternInfoOutput) Memory added in v3.26.0

The memory size that is specified for an instance type in instancePatternInfo.

func (ScalingConfigurationInstancePatternInfoOutput) ToScalingConfigurationInstancePatternInfoOutput added in v3.26.0

func (o ScalingConfigurationInstancePatternInfoOutput) ToScalingConfigurationInstancePatternInfoOutput() ScalingConfigurationInstancePatternInfoOutput

func (ScalingConfigurationInstancePatternInfoOutput) ToScalingConfigurationInstancePatternInfoOutputWithContext added in v3.26.0

func (o ScalingConfigurationInstancePatternInfoOutput) ToScalingConfigurationInstancePatternInfoOutputWithContext(ctx context.Context) ScalingConfigurationInstancePatternInfoOutput

type ScalingConfigurationInstanceTypeOverride added in v3.48.0

type ScalingConfigurationInstanceTypeOverride struct {
	// The is specified for an instance type in instanceTypeOverride.
	InstanceType *string `pulumi:"instanceType"`
	// The weight of instance type in instanceTypeOverride.
	WeightedCapacity *int `pulumi:"weightedCapacity"`
}

type ScalingConfigurationInstanceTypeOverrideArgs added in v3.48.0

type ScalingConfigurationInstanceTypeOverrideArgs struct {
	// The is specified for an instance type in instanceTypeOverride.
	InstanceType pulumi.StringPtrInput `pulumi:"instanceType"`
	// The weight of instance type in instanceTypeOverride.
	WeightedCapacity pulumi.IntPtrInput `pulumi:"weightedCapacity"`
}

func (ScalingConfigurationInstanceTypeOverrideArgs) ElementType added in v3.48.0

func (ScalingConfigurationInstanceTypeOverrideArgs) ToScalingConfigurationInstanceTypeOverrideOutput added in v3.48.0

func (i ScalingConfigurationInstanceTypeOverrideArgs) ToScalingConfigurationInstanceTypeOverrideOutput() ScalingConfigurationInstanceTypeOverrideOutput

func (ScalingConfigurationInstanceTypeOverrideArgs) ToScalingConfigurationInstanceTypeOverrideOutputWithContext added in v3.48.0

func (i ScalingConfigurationInstanceTypeOverrideArgs) ToScalingConfigurationInstanceTypeOverrideOutputWithContext(ctx context.Context) ScalingConfigurationInstanceTypeOverrideOutput

type ScalingConfigurationInstanceTypeOverrideArray added in v3.48.0

type ScalingConfigurationInstanceTypeOverrideArray []ScalingConfigurationInstanceTypeOverrideInput

func (ScalingConfigurationInstanceTypeOverrideArray) ElementType added in v3.48.0

func (ScalingConfigurationInstanceTypeOverrideArray) ToScalingConfigurationInstanceTypeOverrideArrayOutput added in v3.48.0

func (i ScalingConfigurationInstanceTypeOverrideArray) ToScalingConfigurationInstanceTypeOverrideArrayOutput() ScalingConfigurationInstanceTypeOverrideArrayOutput

func (ScalingConfigurationInstanceTypeOverrideArray) ToScalingConfigurationInstanceTypeOverrideArrayOutputWithContext added in v3.48.0

func (i ScalingConfigurationInstanceTypeOverrideArray) ToScalingConfigurationInstanceTypeOverrideArrayOutputWithContext(ctx context.Context) ScalingConfigurationInstanceTypeOverrideArrayOutput

type ScalingConfigurationInstanceTypeOverrideArrayInput added in v3.48.0

type ScalingConfigurationInstanceTypeOverrideArrayInput interface {
	pulumi.Input

	ToScalingConfigurationInstanceTypeOverrideArrayOutput() ScalingConfigurationInstanceTypeOverrideArrayOutput
	ToScalingConfigurationInstanceTypeOverrideArrayOutputWithContext(context.Context) ScalingConfigurationInstanceTypeOverrideArrayOutput
}

ScalingConfigurationInstanceTypeOverrideArrayInput is an input type that accepts ScalingConfigurationInstanceTypeOverrideArray and ScalingConfigurationInstanceTypeOverrideArrayOutput values. You can construct a concrete instance of `ScalingConfigurationInstanceTypeOverrideArrayInput` via:

ScalingConfigurationInstanceTypeOverrideArray{ ScalingConfigurationInstanceTypeOverrideArgs{...} }

type ScalingConfigurationInstanceTypeOverrideArrayOutput added in v3.48.0

type ScalingConfigurationInstanceTypeOverrideArrayOutput struct{ *pulumi.OutputState }

func (ScalingConfigurationInstanceTypeOverrideArrayOutput) ElementType added in v3.48.0

func (ScalingConfigurationInstanceTypeOverrideArrayOutput) Index added in v3.48.0

func (ScalingConfigurationInstanceTypeOverrideArrayOutput) ToScalingConfigurationInstanceTypeOverrideArrayOutput added in v3.48.0

func (o ScalingConfigurationInstanceTypeOverrideArrayOutput) ToScalingConfigurationInstanceTypeOverrideArrayOutput() ScalingConfigurationInstanceTypeOverrideArrayOutput

func (ScalingConfigurationInstanceTypeOverrideArrayOutput) ToScalingConfigurationInstanceTypeOverrideArrayOutputWithContext added in v3.48.0

func (o ScalingConfigurationInstanceTypeOverrideArrayOutput) ToScalingConfigurationInstanceTypeOverrideArrayOutputWithContext(ctx context.Context) ScalingConfigurationInstanceTypeOverrideArrayOutput

type ScalingConfigurationInstanceTypeOverrideInput added in v3.48.0

type ScalingConfigurationInstanceTypeOverrideInput interface {
	pulumi.Input

	ToScalingConfigurationInstanceTypeOverrideOutput() ScalingConfigurationInstanceTypeOverrideOutput
	ToScalingConfigurationInstanceTypeOverrideOutputWithContext(context.Context) ScalingConfigurationInstanceTypeOverrideOutput
}

ScalingConfigurationInstanceTypeOverrideInput is an input type that accepts ScalingConfigurationInstanceTypeOverrideArgs and ScalingConfigurationInstanceTypeOverrideOutput values. You can construct a concrete instance of `ScalingConfigurationInstanceTypeOverrideInput` via:

ScalingConfigurationInstanceTypeOverrideArgs{...}

type ScalingConfigurationInstanceTypeOverrideOutput added in v3.48.0

type ScalingConfigurationInstanceTypeOverrideOutput struct{ *pulumi.OutputState }

func (ScalingConfigurationInstanceTypeOverrideOutput) ElementType added in v3.48.0

func (ScalingConfigurationInstanceTypeOverrideOutput) InstanceType added in v3.48.0

The is specified for an instance type in instanceTypeOverride.

func (ScalingConfigurationInstanceTypeOverrideOutput) ToScalingConfigurationInstanceTypeOverrideOutput added in v3.48.0

func (o ScalingConfigurationInstanceTypeOverrideOutput) ToScalingConfigurationInstanceTypeOverrideOutput() ScalingConfigurationInstanceTypeOverrideOutput

func (ScalingConfigurationInstanceTypeOverrideOutput) ToScalingConfigurationInstanceTypeOverrideOutputWithContext added in v3.48.0

func (o ScalingConfigurationInstanceTypeOverrideOutput) ToScalingConfigurationInstanceTypeOverrideOutputWithContext(ctx context.Context) ScalingConfigurationInstanceTypeOverrideOutput

func (ScalingConfigurationInstanceTypeOverrideOutput) WeightedCapacity added in v3.48.0

The weight of instance type in instanceTypeOverride.

type ScalingConfigurationMap

type ScalingConfigurationMap map[string]ScalingConfigurationInput

func (ScalingConfigurationMap) ElementType

func (ScalingConfigurationMap) ElementType() reflect.Type

func (ScalingConfigurationMap) ToScalingConfigurationMapOutput

func (i ScalingConfigurationMap) ToScalingConfigurationMapOutput() ScalingConfigurationMapOutput

func (ScalingConfigurationMap) ToScalingConfigurationMapOutputWithContext

func (i ScalingConfigurationMap) ToScalingConfigurationMapOutputWithContext(ctx context.Context) ScalingConfigurationMapOutput

type ScalingConfigurationMapInput

type ScalingConfigurationMapInput interface {
	pulumi.Input

	ToScalingConfigurationMapOutput() ScalingConfigurationMapOutput
	ToScalingConfigurationMapOutputWithContext(context.Context) ScalingConfigurationMapOutput
}

ScalingConfigurationMapInput is an input type that accepts ScalingConfigurationMap and ScalingConfigurationMapOutput values. You can construct a concrete instance of `ScalingConfigurationMapInput` via:

ScalingConfigurationMap{ "key": ScalingConfigurationArgs{...} }

type ScalingConfigurationMapOutput

type ScalingConfigurationMapOutput struct{ *pulumi.OutputState }

func (ScalingConfigurationMapOutput) ElementType

func (ScalingConfigurationMapOutput) MapIndex

func (ScalingConfigurationMapOutput) ToScalingConfigurationMapOutput

func (o ScalingConfigurationMapOutput) ToScalingConfigurationMapOutput() ScalingConfigurationMapOutput

func (ScalingConfigurationMapOutput) ToScalingConfigurationMapOutputWithContext

func (o ScalingConfigurationMapOutput) ToScalingConfigurationMapOutputWithContext(ctx context.Context) ScalingConfigurationMapOutput

type ScalingConfigurationOutput

type ScalingConfigurationOutput struct{ *pulumi.OutputState }

func (ScalingConfigurationOutput) Active added in v3.27.0

Whether active current scaling configuration in the specified scaling group. Default to `false`.

func (ScalingConfigurationOutput) CreditSpecification added in v3.27.0

func (o ScalingConfigurationOutput) CreditSpecification() pulumi.StringPtrOutput

Performance mode of the t5 burstable instance. Valid values: 'Standard', 'Unlimited'.

func (ScalingConfigurationOutput) DataDisks added in v3.27.0

DataDisk mappings to attach to ecs instance. See `dataDisk` below for details.

func (ScalingConfigurationOutput) ElementType

func (ScalingConfigurationOutput) ElementType() reflect.Type

func (ScalingConfigurationOutput) Enable added in v3.27.0

Whether enable the specified scaling group(make it active) to which the current scaling configuration belongs.

func (ScalingConfigurationOutput) ForceDelete added in v3.27.0

The last scaling configuration will be deleted forcibly with deleting its scaling group. Default to false.

func (ScalingConfigurationOutput) HostName added in v3.27.0

Hostname of an ECS instance.

func (ScalingConfigurationOutput) ImageId added in v3.27.0

ID of an image file, indicating the image resource selected when an instance is enabled.

func (ScalingConfigurationOutput) ImageName added in v3.27.0

Name of an image file, indicating the image resource selected when an instance is enabled.

func (ScalingConfigurationOutput) InstanceIds deprecated added in v3.27.0

It has been deprecated from version 1.6.0. New resource `ess.Attachment` replaces it.

Deprecated: Field 'instance_ids' has been deprecated from provider version 1.6.0. New resource 'alicloud_ess_attachment' replaces it.

func (ScalingConfigurationOutput) InstanceName added in v3.27.0

Name of an ECS instance. Default to "ESS-Instance". It is valid from version 1.7.1.

func (ScalingConfigurationOutput) InstancePatternInfos added in v3.27.0

intelligent configuration mode. In this mode, you only need to specify the number of vCPUs, memory size, instance family, and maximum price. The system selects an instance type that is provided at the lowest price based on your configurations to create ECS instances. This mode is available only for scaling groups that reside in virtual private clouds (VPCs). This mode helps reduce the failures of scale-out activities caused by insufficient inventory of instance types. See `instancePatternInfo` below for details.

func (ScalingConfigurationOutput) InstanceType added in v3.27.0

Resource type of an ECS instance.

func (ScalingConfigurationOutput) InstanceTypeOverrides added in v3.48.0

specify the weight of instance type. See `instanceTypeOverride` below for details.

func (ScalingConfigurationOutput) InstanceTypes added in v3.27.0

Resource types of an ECS instance.

func (ScalingConfigurationOutput) InternetChargeType added in v3.27.0

func (o ScalingConfigurationOutput) InternetChargeType() pulumi.StringPtrOutput

Network billing type, Values: PayByBandwidth or PayByTraffic. Default to `PayByBandwidth`.

func (ScalingConfigurationOutput) InternetMaxBandwidthIn added in v3.27.0

func (o ScalingConfigurationOutput) InternetMaxBandwidthIn() pulumi.IntOutput

Maximum incoming bandwidth from the public network, measured in Mbps (Mega bit per second). The value range is [1,200].

func (ScalingConfigurationOutput) InternetMaxBandwidthOut added in v3.27.0

func (o ScalingConfigurationOutput) InternetMaxBandwidthOut() pulumi.IntPtrOutput

Maximum outgoing bandwidth from the public network, measured in Mbps (Mega bit per second). The value range for PayByBandwidth is [0,1024].

func (ScalingConfigurationOutput) IoOptimized deprecated added in v3.27.0

It has been deprecated on instance resource. All the launched alicloud instances will be I/O optimized.

Deprecated: Attribute ioOptimized has been deprecated on instance resource. All the launched alicloud instances will be IO optimized. Suggest to remove it from your template.

func (ScalingConfigurationOutput) IsOutdated added in v3.27.0

Whether to use outdated instance type. Default to false.

func (ScalingConfigurationOutput) KeyName added in v3.27.0

The name of key pair that can login ECS instance successfully without password. If it is specified, the password would be invalid.

func (ScalingConfigurationOutput) KmsEncryptedPassword added in v3.27.0

func (o ScalingConfigurationOutput) KmsEncryptedPassword() pulumi.StringPtrOutput

An KMS encrypts password used to a db account. If the `password` is filled in, this field will be ignored.

func (ScalingConfigurationOutput) KmsEncryptionContext added in v3.27.0

func (o ScalingConfigurationOutput) KmsEncryptionContext() pulumi.MapOutput

An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a db account with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set.

func (ScalingConfigurationOutput) Override added in v3.27.0

Indicates whether to overwrite the existing data. Default to false.

func (ScalingConfigurationOutput) Password added in v3.27.0

The password of the ECS instance. The password must be 8 to 30 characters in length. It must contains at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. Special characters include `() ~!@#$%^&*-_+=\|{}[]:;'<>,.?/`, The password of Windows-based instances cannot start with a forward slash (/).

func (ScalingConfigurationOutput) PasswordInherit added in v3.27.0

func (o ScalingConfigurationOutput) PasswordInherit() pulumi.BoolPtrOutput

Specifies whether to use the password that is predefined in the image. If the PasswordInherit parameter is set to true, the `password` and `kmsEncryptedPassword` will be ignored. You must ensure that the selected image has a password configured.

func (ScalingConfigurationOutput) ResourceGroupId added in v3.27.0

ID of resource group.

func (ScalingConfigurationOutput) RoleName added in v3.27.0

Instance RAM role name. The name is provided and maintained by RAM. You can use `ram.Role` to create a new one.

func (ScalingConfigurationOutput) ScalingConfigurationName added in v3.27.0

func (o ScalingConfigurationOutput) ScalingConfigurationName() pulumi.StringOutput

Name shown for the scheduled task. which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores `_`, hypens `-`, and decimal point `.`. If this parameter value is not specified, the default value is ScalingConfigurationId.

func (ScalingConfigurationOutput) ScalingGroupId added in v3.27.0

func (o ScalingConfigurationOutput) ScalingGroupId() pulumi.StringOutput

ID of the scaling group of a scaling configuration.

func (ScalingConfigurationOutput) SecurityGroupId added in v3.27.0

ID of the security group used to create new instance. It is conflict with `securityGroupIds`.

func (ScalingConfigurationOutput) SecurityGroupIds added in v3.27.0

List IDs of the security group used to create new instances. It is conflict with `securityGroupId`.

func (ScalingConfigurationOutput) SpotPriceLimits added in v3.27.0

Sets the maximum price hourly for instance types. See `spotPriceLimit` below for details.

> **NOTE:** Before enabling the scaling group, it must have a active scaling configuration.

> **NOTE:** If the number of attached ECS instances by `instanceIds` is smaller than MinSize, the Auto Scaling Service will automatically create ECS Pay-As-You-Go instance to cater to MinSize. For example, MinSize=5 and 2 existing ECS instances has been attached to the scaling group. When the scaling group is enabled, it will create 3 instnaces automatically based on its current active scaling configuration.

> **NOTE:** Restrictions on attaching ECS instances:

- The attached ECS instances and the scaling group must have the same region and network type(`Classic` or `VPC`). - The attached ECS instances and the instance with active scaling configurations must have the same instance type. - The attached ECS instances must in the running state. - The attached ECS instances has not been attached to other scaling groups. - The attached ECS instances supports Subscription and Pay-As-You-Go payment methods.

> **NOTE:** The last scaling configuration can't be set to inactive and deleted alone.

func (ScalingConfigurationOutput) SpotStrategy added in v3.27.0

The spot strategy for a Pay-As-You-Go instance. Valid values: `NoSpot`, `SpotAsPriceGo`, `SpotWithPriceLimit`.

func (ScalingConfigurationOutput) Substitute added in v3.27.0

The another scaling configuration which will be active automatically and replace current configuration when setting `active` to 'false'. It is invalid when `active` is 'true'.

func (ScalingConfigurationOutput) SystemDiskAutoSnapshotPolicyId added in v3.27.0

func (o ScalingConfigurationOutput) SystemDiskAutoSnapshotPolicyId() pulumi.StringPtrOutput

The id of auto snapshot policy for system disk.

func (ScalingConfigurationOutput) SystemDiskCategory added in v3.27.0

func (o ScalingConfigurationOutput) SystemDiskCategory() pulumi.StringPtrOutput

Category of the system disk. The parameter value options are `ephemeralSsd`, `cloudEfficiency`, `cloudSsd`, `cloudEssd` and `cloud`. `cloud` only is used to some no I/O optimized instance. Default to `cloudEfficiency`.

func (ScalingConfigurationOutput) SystemDiskDescription added in v3.27.0

func (o ScalingConfigurationOutput) SystemDiskDescription() pulumi.StringPtrOutput

The description of the system disk. The description must be 2 to 256 characters in length and cannot start with http:// or https://.

func (ScalingConfigurationOutput) SystemDiskEncrypted added in v3.33.0

func (o ScalingConfigurationOutput) SystemDiskEncrypted() pulumi.BoolPtrOutput

Whether to encrypt the system disk.

func (ScalingConfigurationOutput) SystemDiskName added in v3.27.0

The name of the system disk. It must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), and hyphens (-). Default value: null.

func (ScalingConfigurationOutput) SystemDiskPerformanceLevel added in v3.27.0

func (o ScalingConfigurationOutput) SystemDiskPerformanceLevel() pulumi.StringPtrOutput

The performance level of the ESSD used as the system disk.

func (ScalingConfigurationOutput) SystemDiskSize added in v3.27.0

func (o ScalingConfigurationOutput) SystemDiskSize() pulumi.IntPtrOutput

Size of system disk, in GiB. Optional values: cloud: 20-500, cloud_efficiency: 20-500, cloud_ssd: 20-500, ephemeral_ssd: 20-500 The default value is max{40, ImageSize}. If this parameter is set, the system disk size must be greater than or equal to max{40, ImageSize}.

func (ScalingConfigurationOutput) Tags added in v3.27.0

A mapping of tags to assign to the resource. It will be applied for ECS instances finally. - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "http://", or "https://". It cannot be a null string. - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "http://", or "https://" It can be a null string.

func (ScalingConfigurationOutput) ToScalingConfigurationOutput

func (o ScalingConfigurationOutput) ToScalingConfigurationOutput() ScalingConfigurationOutput

func (ScalingConfigurationOutput) ToScalingConfigurationOutputWithContext

func (o ScalingConfigurationOutput) ToScalingConfigurationOutputWithContext(ctx context.Context) ScalingConfigurationOutput

func (ScalingConfigurationOutput) UserData added in v3.27.0

User-defined data to customize the startup behaviors of the ECS instance and to pass data into the ECS instance.

type ScalingConfigurationSpotPriceLimit added in v3.15.0

type ScalingConfigurationSpotPriceLimit struct {
	// Resource type of an ECS instance.
	InstanceType *string `pulumi:"instanceType"`
	// Price limit hourly of instance type, 2 decimals is allowed at most.
	PriceLimit *float64 `pulumi:"priceLimit"`
}

type ScalingConfigurationSpotPriceLimitArgs added in v3.15.0

type ScalingConfigurationSpotPriceLimitArgs struct {
	// Resource type of an ECS instance.
	InstanceType pulumi.StringPtrInput `pulumi:"instanceType"`
	// Price limit hourly of instance type, 2 decimals is allowed at most.
	PriceLimit pulumi.Float64PtrInput `pulumi:"priceLimit"`
}

func (ScalingConfigurationSpotPriceLimitArgs) ElementType added in v3.15.0

func (ScalingConfigurationSpotPriceLimitArgs) ToScalingConfigurationSpotPriceLimitOutput added in v3.15.0

func (i ScalingConfigurationSpotPriceLimitArgs) ToScalingConfigurationSpotPriceLimitOutput() ScalingConfigurationSpotPriceLimitOutput

func (ScalingConfigurationSpotPriceLimitArgs) ToScalingConfigurationSpotPriceLimitOutputWithContext added in v3.15.0

func (i ScalingConfigurationSpotPriceLimitArgs) ToScalingConfigurationSpotPriceLimitOutputWithContext(ctx context.Context) ScalingConfigurationSpotPriceLimitOutput

type ScalingConfigurationSpotPriceLimitArray added in v3.15.0

type ScalingConfigurationSpotPriceLimitArray []ScalingConfigurationSpotPriceLimitInput

func (ScalingConfigurationSpotPriceLimitArray) ElementType added in v3.15.0

func (ScalingConfigurationSpotPriceLimitArray) ToScalingConfigurationSpotPriceLimitArrayOutput added in v3.15.0

func (i ScalingConfigurationSpotPriceLimitArray) ToScalingConfigurationSpotPriceLimitArrayOutput() ScalingConfigurationSpotPriceLimitArrayOutput

func (ScalingConfigurationSpotPriceLimitArray) ToScalingConfigurationSpotPriceLimitArrayOutputWithContext added in v3.15.0

func (i ScalingConfigurationSpotPriceLimitArray) ToScalingConfigurationSpotPriceLimitArrayOutputWithContext(ctx context.Context) ScalingConfigurationSpotPriceLimitArrayOutput

type ScalingConfigurationSpotPriceLimitArrayInput added in v3.15.0

type ScalingConfigurationSpotPriceLimitArrayInput interface {
	pulumi.Input

	ToScalingConfigurationSpotPriceLimitArrayOutput() ScalingConfigurationSpotPriceLimitArrayOutput
	ToScalingConfigurationSpotPriceLimitArrayOutputWithContext(context.Context) ScalingConfigurationSpotPriceLimitArrayOutput
}

ScalingConfigurationSpotPriceLimitArrayInput is an input type that accepts ScalingConfigurationSpotPriceLimitArray and ScalingConfigurationSpotPriceLimitArrayOutput values. You can construct a concrete instance of `ScalingConfigurationSpotPriceLimitArrayInput` via:

ScalingConfigurationSpotPriceLimitArray{ ScalingConfigurationSpotPriceLimitArgs{...} }

type ScalingConfigurationSpotPriceLimitArrayOutput added in v3.15.0

type ScalingConfigurationSpotPriceLimitArrayOutput struct{ *pulumi.OutputState }

func (ScalingConfigurationSpotPriceLimitArrayOutput) ElementType added in v3.15.0

func (ScalingConfigurationSpotPriceLimitArrayOutput) Index added in v3.15.0

func (ScalingConfigurationSpotPriceLimitArrayOutput) ToScalingConfigurationSpotPriceLimitArrayOutput added in v3.15.0

func (o ScalingConfigurationSpotPriceLimitArrayOutput) ToScalingConfigurationSpotPriceLimitArrayOutput() ScalingConfigurationSpotPriceLimitArrayOutput

func (ScalingConfigurationSpotPriceLimitArrayOutput) ToScalingConfigurationSpotPriceLimitArrayOutputWithContext added in v3.15.0

func (o ScalingConfigurationSpotPriceLimitArrayOutput) ToScalingConfigurationSpotPriceLimitArrayOutputWithContext(ctx context.Context) ScalingConfigurationSpotPriceLimitArrayOutput

type ScalingConfigurationSpotPriceLimitInput added in v3.15.0

type ScalingConfigurationSpotPriceLimitInput interface {
	pulumi.Input

	ToScalingConfigurationSpotPriceLimitOutput() ScalingConfigurationSpotPriceLimitOutput
	ToScalingConfigurationSpotPriceLimitOutputWithContext(context.Context) ScalingConfigurationSpotPriceLimitOutput
}

ScalingConfigurationSpotPriceLimitInput is an input type that accepts ScalingConfigurationSpotPriceLimitArgs and ScalingConfigurationSpotPriceLimitOutput values. You can construct a concrete instance of `ScalingConfigurationSpotPriceLimitInput` via:

ScalingConfigurationSpotPriceLimitArgs{...}

type ScalingConfigurationSpotPriceLimitOutput added in v3.15.0

type ScalingConfigurationSpotPriceLimitOutput struct{ *pulumi.OutputState }

func (ScalingConfigurationSpotPriceLimitOutput) ElementType added in v3.15.0

func (ScalingConfigurationSpotPriceLimitOutput) InstanceType added in v3.15.0

Resource type of an ECS instance.

func (ScalingConfigurationSpotPriceLimitOutput) PriceLimit added in v3.15.0

Price limit hourly of instance type, 2 decimals is allowed at most.

func (ScalingConfigurationSpotPriceLimitOutput) ToScalingConfigurationSpotPriceLimitOutput added in v3.15.0

func (o ScalingConfigurationSpotPriceLimitOutput) ToScalingConfigurationSpotPriceLimitOutput() ScalingConfigurationSpotPriceLimitOutput

func (ScalingConfigurationSpotPriceLimitOutput) ToScalingConfigurationSpotPriceLimitOutputWithContext added in v3.15.0

func (o ScalingConfigurationSpotPriceLimitOutput) ToScalingConfigurationSpotPriceLimitOutputWithContext(ctx context.Context) ScalingConfigurationSpotPriceLimitOutput

type ScalingConfigurationState

type ScalingConfigurationState struct {
	// Whether active current scaling configuration in the specified scaling group. Default to `false`.
	Active pulumi.BoolPtrInput
	// Performance mode of the t5 burstable instance. Valid values: 'Standard', 'Unlimited'.
	CreditSpecification pulumi.StringPtrInput
	// DataDisk mappings to attach to ecs instance. See `dataDisk` below for details.
	DataDisks ScalingConfigurationDataDiskArrayInput
	// Whether enable the specified scaling group(make it active) to which the current scaling configuration belongs.
	Enable pulumi.BoolPtrInput
	// The last scaling configuration will be deleted forcibly with deleting its scaling group. Default to false.
	ForceDelete pulumi.BoolPtrInput
	// Hostname of an ECS instance.
	HostName pulumi.StringPtrInput
	// ID of an image file, indicating the image resource selected when an instance is enabled.
	ImageId pulumi.StringPtrInput
	// Name of an image file, indicating the image resource selected when an instance is enabled.
	ImageName pulumi.StringPtrInput
	// It has been deprecated from version 1.6.0. New resource `ess.Attachment` replaces it.
	//
	// Deprecated: Field 'instance_ids' has been deprecated from provider version 1.6.0. New resource 'alicloud_ess_attachment' replaces it.
	InstanceIds pulumi.StringArrayInput
	// Name of an ECS instance. Default to "ESS-Instance". It is valid from version 1.7.1.
	InstanceName pulumi.StringPtrInput
	// intelligent configuration mode. In this mode, you only need to specify the number of vCPUs, memory size, instance family, and maximum price. The system selects an instance type that is provided at the lowest price based on your configurations to create ECS instances. This mode is available only for scaling groups that reside in virtual private clouds (VPCs). This mode helps reduce the failures of scale-out activities caused by insufficient inventory of instance types.  See `instancePatternInfo` below for details.
	InstancePatternInfos ScalingConfigurationInstancePatternInfoArrayInput
	// Resource type of an ECS instance.
	InstanceType pulumi.StringPtrInput
	// specify the weight of instance type.  See `instanceTypeOverride` below for details.
	InstanceTypeOverrides ScalingConfigurationInstanceTypeOverrideArrayInput
	// Resource types of an ECS instance.
	InstanceTypes pulumi.StringArrayInput
	// Network billing type, Values: PayByBandwidth or PayByTraffic. Default to `PayByBandwidth`.
	InternetChargeType pulumi.StringPtrInput
	// Maximum incoming bandwidth from the public network, measured in Mbps (Mega bit per second). The value range is [1,200].
	InternetMaxBandwidthIn pulumi.IntPtrInput
	// Maximum outgoing bandwidth from the public network, measured in Mbps (Mega bit per second). The value range for PayByBandwidth is [0,1024].
	InternetMaxBandwidthOut pulumi.IntPtrInput
	// It has been deprecated on instance resource. All the launched alicloud instances will be I/O optimized.
	//
	// Deprecated: Attribute ioOptimized has been deprecated on instance resource. All the launched alicloud instances will be IO optimized. Suggest to remove it from your template.
	IoOptimized pulumi.StringPtrInput
	// Whether to use outdated instance type. Default to false.
	IsOutdated pulumi.BoolPtrInput
	// The name of key pair that can login ECS instance successfully without password. If it is specified, the password would be invalid.
	KeyName pulumi.StringPtrInput
	// An KMS encrypts password used to a db account. If the `password` is filled in, this field will be ignored.
	KmsEncryptedPassword pulumi.StringPtrInput
	// An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a db account with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set.
	KmsEncryptionContext pulumi.MapInput
	// Indicates whether to overwrite the existing data. Default to false.
	Override pulumi.BoolPtrInput
	// The password of the ECS instance. The password must be 8 to 30 characters in length. It must contains at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. Special characters include `() ~!@#$%^&*-_+=\|{}[]:;'<>,.?/`, The password of Windows-based instances cannot start with a forward slash (/).
	Password pulumi.StringPtrInput
	// Specifies whether to use the password that is predefined in the image. If the PasswordInherit parameter is set to true, the `password` and `kmsEncryptedPassword` will be ignored. You must ensure that the selected image has a password configured.
	PasswordInherit pulumi.BoolPtrInput
	// ID of resource group.
	ResourceGroupId pulumi.StringPtrInput
	// Instance RAM role name. The name is provided and maintained by RAM. You can use `ram.Role` to create a new one.
	RoleName pulumi.StringPtrInput
	// Name shown for the scheduled task. which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores `_`, hypens `-`, and decimal point `.`. If this parameter value is not specified, the default value is ScalingConfigurationId.
	ScalingConfigurationName pulumi.StringPtrInput
	// ID of the scaling group of a scaling configuration.
	ScalingGroupId pulumi.StringPtrInput
	// ID of the security group used to create new instance. It is conflict with `securityGroupIds`.
	SecurityGroupId pulumi.StringPtrInput
	// List IDs of the security group used to create new instances. It is conflict with `securityGroupId`.
	SecurityGroupIds pulumi.StringArrayInput
	// Sets the maximum price hourly for instance types. See `spotPriceLimit` below for details.
	//
	// > **NOTE:** Before enabling the scaling group, it must have a active scaling configuration.
	//
	// > **NOTE:** If the number of attached ECS instances by `instanceIds` is smaller than MinSize, the Auto Scaling Service will automatically create ECS Pay-As-You-Go instance to cater to MinSize. For example, MinSize=5 and 2 existing ECS instances has been attached to the scaling group. When the scaling group is enabled, it will create 3 instnaces automatically based on its current active scaling configuration.
	//
	// > **NOTE:** Restrictions on attaching ECS instances:
	//
	// - The attached ECS instances and the scaling group must have the same region and network type(`Classic` or `VPC`).
	// - The attached ECS instances and the instance with active scaling configurations must have the same instance type.
	// - The attached ECS instances must in the running state.
	// - The attached ECS instances has not been attached to other scaling groups.
	// - The attached ECS instances supports Subscription and Pay-As-You-Go payment methods.
	//
	// > **NOTE:** The last scaling configuration can't be set to inactive and deleted alone.
	SpotPriceLimits ScalingConfigurationSpotPriceLimitArrayInput
	// The spot strategy for a Pay-As-You-Go instance. Valid values: `NoSpot`, `SpotAsPriceGo`, `SpotWithPriceLimit`.
	SpotStrategy pulumi.StringPtrInput
	// The another scaling configuration which will be active automatically and replace current configuration when setting `active` to 'false'. It is invalid when `active` is 'true'.
	Substitute pulumi.StringPtrInput
	// The id of auto snapshot policy for system disk.
	SystemDiskAutoSnapshotPolicyId pulumi.StringPtrInput
	// Category of the system disk. The parameter value options are `ephemeralSsd`, `cloudEfficiency`, `cloudSsd`, `cloudEssd` and `cloud`. `cloud` only is used to some no I/O optimized instance. Default to `cloudEfficiency`.
	SystemDiskCategory pulumi.StringPtrInput
	// The description of the system disk. The description must be 2 to 256 characters in length and cannot start with http:// or https://.
	SystemDiskDescription pulumi.StringPtrInput
	// Whether to encrypt the system disk.
	SystemDiskEncrypted pulumi.BoolPtrInput
	// The name of the system disk. It must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), and hyphens (-). Default value: null.
	SystemDiskName pulumi.StringPtrInput
	// The performance level of the ESSD used as the system disk.
	SystemDiskPerformanceLevel pulumi.StringPtrInput
	// Size of system disk, in GiB. Optional values: cloud: 20-500, cloud_efficiency: 20-500, cloud_ssd: 20-500, ephemeral_ssd: 20-500 The default value is max{40, ImageSize}. If this parameter is set, the system disk size must be greater than or equal to max{40, ImageSize}.
	SystemDiskSize pulumi.IntPtrInput
	// A mapping of tags to assign to the resource. It will be applied for ECS instances finally.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "http://", or "https://" It can be a null string.
	Tags pulumi.MapInput
	// User-defined data to customize the startup behaviors of the ECS instance and to pass data into the ECS instance.
	UserData pulumi.StringPtrInput
}

func (ScalingConfigurationState) ElementType

func (ScalingConfigurationState) ElementType() reflect.Type

type ScalingGroup

type ScalingGroup struct {
	pulumi.CustomResourceState

	// If an RDS instance is specified in the scaling group, the scaling group automatically attaches the Intranet IP addresses of its ECS instances to the RDS access whitelist.
	// - The specified RDS instance must be in running status.
	// - The specified RDS instance’s whitelist must have room for more IP addresses.
	DbInstanceIds pulumi.StringArrayOutput `pulumi:"dbInstanceIds"`
	// Default cool-down time (in seconds) of the scaling group. Value range: [0, 86400]. The default value is 300s.
	DefaultCooldown pulumi.IntPtrOutput `pulumi:"defaultCooldown"`
	// Expected number of ECS instances in the scaling group. Value range: [min_size, maxSize].
	DesiredCapacity pulumi.IntPtrOutput `pulumi:"desiredCapacity"`
	// Specifies whether the scaling group deletion protection is enabled. `true` or `false`, Default value: `false`.
	GroupDeletionProtection pulumi.BoolPtrOutput `pulumi:"groupDeletionProtection"`
	// Resource type within scaling group. Optional values: ECS, ECI. Default to ECS.
	GroupType pulumi.StringOutput `pulumi:"groupType"`
	// Resource type within scaling group. Optional values: ECS, NONE. Default to ECS.
	HealthCheckType pulumi.StringOutput `pulumi:"healthCheckType"`
	// Instance launch template ID, scaling group obtains launch configuration from instance launch template, see [Launch Template](https://www.alibabacloud.com/help/doc-detail/73916.html). Creating scaling group from launch template enable group automatically.
	LaunchTemplateId pulumi.StringPtrOutput `pulumi:"launchTemplateId"`
	// The details of the instance types that are specified by using the Extend Instance Type of Launch Template feature..  See `launchTemplateOverride` below for details.
	LaunchTemplateOverrides ScalingGroupLaunchTemplateOverrideArrayOutput `pulumi:"launchTemplateOverrides"`
	// The version number of the launch template. Valid values are the version number, `Latest`, or `Default`, Default value: `Default`.
	LaunchTemplateVersion pulumi.StringPtrOutput `pulumi:"launchTemplateVersion"`
	// If a Server Load Balancer instance is specified in the scaling group, the scaling group automatically attaches its ECS instances to the Server Load Balancer instance.
	// - The Server Load Balancer instance must be enabled.
	// - At least one listener must be configured for each Server Load Balancer and it HealthCheck must be on. Otherwise, creation will fail (it may be useful to add a `dependsOn` argument
	//   targeting your `slb.Listener` in order to make sure the listener with its HealthCheck configuration is ready before creating your scaling group).
	// - The Server Load Balancer instance attached with VPC-type ECS instances cannot be attached to the scaling group.
	// - The default weight of an ECS instance attached to the Server Load Balancer instance is 50.
	LoadbalancerIds pulumi.StringArrayOutput `pulumi:"loadbalancerIds"`
	// Maximum number of ECS instances in the scaling group. Value range: [0, 2000].
	// **NOTE:** From version 1.204.1, `maxSize` can be set to `2000`.
	MaxSize pulumi.IntOutput `pulumi:"maxSize"`
	// Minimum number of ECS instances in the scaling group. Value range: [0, 2000].
	// **NOTE:** From version 1.204.1, `minSize` can be set to `2000`.
	MinSize pulumi.IntOutput `pulumi:"minSize"`
	// Multi-AZ scaling group ECS instance expansion and contraction strategy. PRIORITY, BALANCE or COST_OPTIMIZED(Available since v1.54.0).
	MultiAzPolicy pulumi.StringPtrOutput `pulumi:"multiAzPolicy"`
	// The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances. This base portion is provisioned first as your group scales.
	OnDemandBaseCapacity pulumi.IntOutput `pulumi:"onDemandBaseCapacity"`
	// Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond OnDemandBaseCapacity.
	OnDemandPercentageAboveBaseCapacity pulumi.IntOutput `pulumi:"onDemandPercentageAboveBaseCapacity"`
	// Set or unset instances within group into protected status.
	ProtectedInstances pulumi.StringArrayOutput `pulumi:"protectedInstances"`
	// RemovalPolicy is used to select the ECS instances you want to remove from the scaling group when multiple candidates for removal exist. Optional values:
	// - OldestInstance: removes the ECS instance that is added to the scaling group at the earliest point in time.
	// - NewestInstance: removes the ECS instance that is added to the scaling group at the latest point in time.
	// - OldestScalingConfiguration: removes the ECS instance that is created based on the earliest scaling configuration.
	// - Default values: Default value of RemovalPolicy.1: OldestScalingConfiguration. Default value of RemovalPolicy.2: OldestInstance.
	RemovalPolicies pulumi.StringArrayOutput `pulumi:"removalPolicies"`
	// Name shown for the scaling group, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain numbers, underscores `_`, hyphens `-`, and decimal points `.`. If this parameter is not specified, the default value is ScalingGroupId.
	ScalingGroupName pulumi.StringPtrOutput `pulumi:"scalingGroupName"`
	// The number of Spot pools to use to allocate your Spot capacity. The Spot pools is composed of instance types of lowest price.
	SpotInstancePools pulumi.IntOutput `pulumi:"spotInstancePools"`
	// Whether to replace spot instances with newly created spot/onDemand instance when receive a spot recycling message.
	SpotInstanceRemedy pulumi.BoolOutput `pulumi:"spotInstanceRemedy"`
	// A mapping of tags to assign to the resource.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// It has been deprecated from version 1.7.1 and new field 'vswitch_ids' replaces it.
	//
	// Deprecated: Field 'vswitch_id' has been deprecated from provider version 1.7.1, and new field 'vswitch_ids' can replace it.
	VswitchId pulumi.StringPtrOutput `pulumi:"vswitchId"`
	// List of virtual switch IDs in which the ecs instances to be launched.
	VswitchIds pulumi.StringArrayOutput `pulumi:"vswitchIds"`
}

Provides a ESS scaling group resource which is a collection of ECS instances with the same application scenarios.

It defines the maximum and minimum numbers of ECS instances in the group, and their associated Server Load Balancer instances, RDS instances, and other attributes.

> **NOTE:** You can launch an ESS scaling group for a VPC network via specifying parameter `vswitchIds`.

For information about ess scaling rule, see [CreateScalingGroup](https://www.alibabacloud.com/help/en/auto-scaling/latest/createscalinggroup).

> **NOTE:** Available since v1.39.0.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultInteger, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
			Min: 10000,
			Max: 99999,
		})
		if err != nil {
			return err
		}
		myName := fmt.Sprintf("%v-%v", name, defaultInteger.Result)
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableDiskCategory:     pulumi.StringRef("cloud_efficiency"),
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),
			CpuCoreCount:     pulumi.IntRef(2),
			MemorySize:       pulumi.Float64Ref(4),
		}, nil)
		if err != nil {
			return err
		}
		_, err = ecs.GetImages(ctx, &ecs.GetImagesArgs{
			NameRegex:  pulumi.StringRef("^ubuntu_18.*64"),
			MostRecent: pulumi.BoolRef(true),
			Owners:     pulumi.StringRef("system"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(myName),
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/24"),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
			VswitchName: pulumi.String(myName),
		})
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			Name:  pulumi.String(myName),
			VpcId: defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewSecurityGroupRule(ctx, "default", &ecs.SecurityGroupRuleArgs{
			Type:            pulumi.String("ingress"),
			IpProtocol:      pulumi.String("tcp"),
			NicType:         pulumi.String("intranet"),
			Policy:          pulumi.String("accept"),
			PortRange:       pulumi.String("22/22"),
			Priority:        pulumi.Int(1),
			SecurityGroupId: defaultSecurityGroup.ID(),
			CidrIp:          pulumi.String("172.16.0.0/24"),
		})
		if err != nil {
			return err
		}
		default2, err := vpc.NewSwitch(ctx, "default2", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.1.0/24"),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
			VswitchName: pulumi.String(fmt.Sprintf("%v-bar", name)),
		})
		if err != nil {
			return err
		}
		_, err = ess.NewScalingGroup(ctx, "default", &ess.ScalingGroupArgs{
			MinSize:          pulumi.Int(1),
			MaxSize:          pulumi.Int(1),
			ScalingGroupName: pulumi.String(myName),
			DefaultCooldown:  pulumi.Int(20),
			VswitchIds: pulumi.StringArray{
				defaultSwitch.ID(),
				default2.ID(),
			},
			RemovalPolicies: pulumi.StringArray{
				pulumi.String("OldestInstance"),
				pulumi.String("NewestInstance"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Module Support

You can use to the existing autoscaling module to create a scaling group, configuration and lifecycle hook one-click.

## Import

ESS scaling group can be imported using the id, e.g.

```sh $ pulumi import alicloud:ess/scalingGroup:ScalingGroup example asg-abc123456 ```

func GetScalingGroup

func GetScalingGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ScalingGroupState, opts ...pulumi.ResourceOption) (*ScalingGroup, error)

GetScalingGroup gets an existing ScalingGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewScalingGroup

func NewScalingGroup(ctx *pulumi.Context,
	name string, args *ScalingGroupArgs, opts ...pulumi.ResourceOption) (*ScalingGroup, error)

NewScalingGroup registers a new resource with the given unique name, arguments, and options.

func (*ScalingGroup) ElementType

func (*ScalingGroup) ElementType() reflect.Type

func (*ScalingGroup) ToScalingGroupOutput

func (i *ScalingGroup) ToScalingGroupOutput() ScalingGroupOutput

func (*ScalingGroup) ToScalingGroupOutputWithContext

func (i *ScalingGroup) ToScalingGroupOutputWithContext(ctx context.Context) ScalingGroupOutput

type ScalingGroupArgs

type ScalingGroupArgs struct {
	// If an RDS instance is specified in the scaling group, the scaling group automatically attaches the Intranet IP addresses of its ECS instances to the RDS access whitelist.
	// - The specified RDS instance must be in running status.
	// - The specified RDS instance’s whitelist must have room for more IP addresses.
	DbInstanceIds pulumi.StringArrayInput
	// Default cool-down time (in seconds) of the scaling group. Value range: [0, 86400]. The default value is 300s.
	DefaultCooldown pulumi.IntPtrInput
	// Expected number of ECS instances in the scaling group. Value range: [min_size, maxSize].
	DesiredCapacity pulumi.IntPtrInput
	// Specifies whether the scaling group deletion protection is enabled. `true` or `false`, Default value: `false`.
	GroupDeletionProtection pulumi.BoolPtrInput
	// Resource type within scaling group. Optional values: ECS, ECI. Default to ECS.
	GroupType pulumi.StringPtrInput
	// Resource type within scaling group. Optional values: ECS, NONE. Default to ECS.
	HealthCheckType pulumi.StringPtrInput
	// Instance launch template ID, scaling group obtains launch configuration from instance launch template, see [Launch Template](https://www.alibabacloud.com/help/doc-detail/73916.html). Creating scaling group from launch template enable group automatically.
	LaunchTemplateId pulumi.StringPtrInput
	// The details of the instance types that are specified by using the Extend Instance Type of Launch Template feature..  See `launchTemplateOverride` below for details.
	LaunchTemplateOverrides ScalingGroupLaunchTemplateOverrideArrayInput
	// The version number of the launch template. Valid values are the version number, `Latest`, or `Default`, Default value: `Default`.
	LaunchTemplateVersion pulumi.StringPtrInput
	// If a Server Load Balancer instance is specified in the scaling group, the scaling group automatically attaches its ECS instances to the Server Load Balancer instance.
	// - The Server Load Balancer instance must be enabled.
	// - At least one listener must be configured for each Server Load Balancer and it HealthCheck must be on. Otherwise, creation will fail (it may be useful to add a `dependsOn` argument
	//   targeting your `slb.Listener` in order to make sure the listener with its HealthCheck configuration is ready before creating your scaling group).
	// - The Server Load Balancer instance attached with VPC-type ECS instances cannot be attached to the scaling group.
	// - The default weight of an ECS instance attached to the Server Load Balancer instance is 50.
	LoadbalancerIds pulumi.StringArrayInput
	// Maximum number of ECS instances in the scaling group. Value range: [0, 2000].
	// **NOTE:** From version 1.204.1, `maxSize` can be set to `2000`.
	MaxSize pulumi.IntInput
	// Minimum number of ECS instances in the scaling group. Value range: [0, 2000].
	// **NOTE:** From version 1.204.1, `minSize` can be set to `2000`.
	MinSize pulumi.IntInput
	// Multi-AZ scaling group ECS instance expansion and contraction strategy. PRIORITY, BALANCE or COST_OPTIMIZED(Available since v1.54.0).
	MultiAzPolicy pulumi.StringPtrInput
	// The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances. This base portion is provisioned first as your group scales.
	OnDemandBaseCapacity pulumi.IntPtrInput
	// Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond OnDemandBaseCapacity.
	OnDemandPercentageAboveBaseCapacity pulumi.IntPtrInput
	// Set or unset instances within group into protected status.
	ProtectedInstances pulumi.StringArrayInput
	// RemovalPolicy is used to select the ECS instances you want to remove from the scaling group when multiple candidates for removal exist. Optional values:
	// - OldestInstance: removes the ECS instance that is added to the scaling group at the earliest point in time.
	// - NewestInstance: removes the ECS instance that is added to the scaling group at the latest point in time.
	// - OldestScalingConfiguration: removes the ECS instance that is created based on the earliest scaling configuration.
	// - Default values: Default value of RemovalPolicy.1: OldestScalingConfiguration. Default value of RemovalPolicy.2: OldestInstance.
	RemovalPolicies pulumi.StringArrayInput
	// Name shown for the scaling group, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain numbers, underscores `_`, hyphens `-`, and decimal points `.`. If this parameter is not specified, the default value is ScalingGroupId.
	ScalingGroupName pulumi.StringPtrInput
	// The number of Spot pools to use to allocate your Spot capacity. The Spot pools is composed of instance types of lowest price.
	SpotInstancePools pulumi.IntPtrInput
	// Whether to replace spot instances with newly created spot/onDemand instance when receive a spot recycling message.
	SpotInstanceRemedy pulumi.BoolPtrInput
	// A mapping of tags to assign to the resource.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
	Tags pulumi.MapInput
	// It has been deprecated from version 1.7.1 and new field 'vswitch_ids' replaces it.
	//
	// Deprecated: Field 'vswitch_id' has been deprecated from provider version 1.7.1, and new field 'vswitch_ids' can replace it.
	VswitchId pulumi.StringPtrInput
	// List of virtual switch IDs in which the ecs instances to be launched.
	VswitchIds pulumi.StringArrayInput
}

The set of arguments for constructing a ScalingGroup resource.

func (ScalingGroupArgs) ElementType

func (ScalingGroupArgs) ElementType() reflect.Type

type ScalingGroupArray

type ScalingGroupArray []ScalingGroupInput

func (ScalingGroupArray) ElementType

func (ScalingGroupArray) ElementType() reflect.Type

func (ScalingGroupArray) ToScalingGroupArrayOutput

func (i ScalingGroupArray) ToScalingGroupArrayOutput() ScalingGroupArrayOutput

func (ScalingGroupArray) ToScalingGroupArrayOutputWithContext

func (i ScalingGroupArray) ToScalingGroupArrayOutputWithContext(ctx context.Context) ScalingGroupArrayOutput

type ScalingGroupArrayInput

type ScalingGroupArrayInput interface {
	pulumi.Input

	ToScalingGroupArrayOutput() ScalingGroupArrayOutput
	ToScalingGroupArrayOutputWithContext(context.Context) ScalingGroupArrayOutput
}

ScalingGroupArrayInput is an input type that accepts ScalingGroupArray and ScalingGroupArrayOutput values. You can construct a concrete instance of `ScalingGroupArrayInput` via:

ScalingGroupArray{ ScalingGroupArgs{...} }

type ScalingGroupArrayOutput

type ScalingGroupArrayOutput struct{ *pulumi.OutputState }

func (ScalingGroupArrayOutput) ElementType

func (ScalingGroupArrayOutput) ElementType() reflect.Type

func (ScalingGroupArrayOutput) Index

func (ScalingGroupArrayOutput) ToScalingGroupArrayOutput

func (o ScalingGroupArrayOutput) ToScalingGroupArrayOutput() ScalingGroupArrayOutput

func (ScalingGroupArrayOutput) ToScalingGroupArrayOutputWithContext

func (o ScalingGroupArrayOutput) ToScalingGroupArrayOutputWithContext(ctx context.Context) ScalingGroupArrayOutput

type ScalingGroupInput

type ScalingGroupInput interface {
	pulumi.Input

	ToScalingGroupOutput() ScalingGroupOutput
	ToScalingGroupOutputWithContext(ctx context.Context) ScalingGroupOutput
}

type ScalingGroupLaunchTemplateOverride added in v3.48.0

type ScalingGroupLaunchTemplateOverride struct {
	// The instance type in launchTemplateOverride.
	InstanceType *string `pulumi:"instanceType"`
	// The maximum bid price of instance type in launchTemplateOverride.
	//
	// > **NOTE:** When detach loadbalancers, instances in group will be remove from loadbalancer's `Default Server Group`; On the contrary, When attach loadbalancers, instances in group will be added to loadbalancer's `Default Server Group`.
	//
	// > **NOTE:** When detach dbInstances, private ip of instances in group will be remove from dbInstance's `WhiteList`; On the contrary, When attach dbInstances, private ip of instances in group will be added to dbInstance's `WhiteList`.
	//
	// > **NOTE:** `onDemandBaseCapacity`,`onDemandPercentageAboveBaseCapacity`,`spotInstancePools`,`spotInstanceRemedy` are valid only if `multiAzPolicy` is 'COST_OPTIMIZED'.
	SpotPriceLimit *float64 `pulumi:"spotPriceLimit"`
	// The weight of the instance type in launchTemplateOverride.
	WeightedCapacity *int `pulumi:"weightedCapacity"`
}

type ScalingGroupLaunchTemplateOverrideArgs added in v3.48.0

type ScalingGroupLaunchTemplateOverrideArgs struct {
	// The instance type in launchTemplateOverride.
	InstanceType pulumi.StringPtrInput `pulumi:"instanceType"`
	// The maximum bid price of instance type in launchTemplateOverride.
	//
	// > **NOTE:** When detach loadbalancers, instances in group will be remove from loadbalancer's `Default Server Group`; On the contrary, When attach loadbalancers, instances in group will be added to loadbalancer's `Default Server Group`.
	//
	// > **NOTE:** When detach dbInstances, private ip of instances in group will be remove from dbInstance's `WhiteList`; On the contrary, When attach dbInstances, private ip of instances in group will be added to dbInstance's `WhiteList`.
	//
	// > **NOTE:** `onDemandBaseCapacity`,`onDemandPercentageAboveBaseCapacity`,`spotInstancePools`,`spotInstanceRemedy` are valid only if `multiAzPolicy` is 'COST_OPTIMIZED'.
	SpotPriceLimit pulumi.Float64PtrInput `pulumi:"spotPriceLimit"`
	// The weight of the instance type in launchTemplateOverride.
	WeightedCapacity pulumi.IntPtrInput `pulumi:"weightedCapacity"`
}

func (ScalingGroupLaunchTemplateOverrideArgs) ElementType added in v3.48.0

func (ScalingGroupLaunchTemplateOverrideArgs) ToScalingGroupLaunchTemplateOverrideOutput added in v3.48.0

func (i ScalingGroupLaunchTemplateOverrideArgs) ToScalingGroupLaunchTemplateOverrideOutput() ScalingGroupLaunchTemplateOverrideOutput

func (ScalingGroupLaunchTemplateOverrideArgs) ToScalingGroupLaunchTemplateOverrideOutputWithContext added in v3.48.0

func (i ScalingGroupLaunchTemplateOverrideArgs) ToScalingGroupLaunchTemplateOverrideOutputWithContext(ctx context.Context) ScalingGroupLaunchTemplateOverrideOutput

type ScalingGroupLaunchTemplateOverrideArray added in v3.48.0

type ScalingGroupLaunchTemplateOverrideArray []ScalingGroupLaunchTemplateOverrideInput

func (ScalingGroupLaunchTemplateOverrideArray) ElementType added in v3.48.0

func (ScalingGroupLaunchTemplateOverrideArray) ToScalingGroupLaunchTemplateOverrideArrayOutput added in v3.48.0

func (i ScalingGroupLaunchTemplateOverrideArray) ToScalingGroupLaunchTemplateOverrideArrayOutput() ScalingGroupLaunchTemplateOverrideArrayOutput

func (ScalingGroupLaunchTemplateOverrideArray) ToScalingGroupLaunchTemplateOverrideArrayOutputWithContext added in v3.48.0

func (i ScalingGroupLaunchTemplateOverrideArray) ToScalingGroupLaunchTemplateOverrideArrayOutputWithContext(ctx context.Context) ScalingGroupLaunchTemplateOverrideArrayOutput

type ScalingGroupLaunchTemplateOverrideArrayInput added in v3.48.0

type ScalingGroupLaunchTemplateOverrideArrayInput interface {
	pulumi.Input

	ToScalingGroupLaunchTemplateOverrideArrayOutput() ScalingGroupLaunchTemplateOverrideArrayOutput
	ToScalingGroupLaunchTemplateOverrideArrayOutputWithContext(context.Context) ScalingGroupLaunchTemplateOverrideArrayOutput
}

ScalingGroupLaunchTemplateOverrideArrayInput is an input type that accepts ScalingGroupLaunchTemplateOverrideArray and ScalingGroupLaunchTemplateOverrideArrayOutput values. You can construct a concrete instance of `ScalingGroupLaunchTemplateOverrideArrayInput` via:

ScalingGroupLaunchTemplateOverrideArray{ ScalingGroupLaunchTemplateOverrideArgs{...} }

type ScalingGroupLaunchTemplateOverrideArrayOutput added in v3.48.0

type ScalingGroupLaunchTemplateOverrideArrayOutput struct{ *pulumi.OutputState }

func (ScalingGroupLaunchTemplateOverrideArrayOutput) ElementType added in v3.48.0

func (ScalingGroupLaunchTemplateOverrideArrayOutput) Index added in v3.48.0

func (ScalingGroupLaunchTemplateOverrideArrayOutput) ToScalingGroupLaunchTemplateOverrideArrayOutput added in v3.48.0

func (o ScalingGroupLaunchTemplateOverrideArrayOutput) ToScalingGroupLaunchTemplateOverrideArrayOutput() ScalingGroupLaunchTemplateOverrideArrayOutput

func (ScalingGroupLaunchTemplateOverrideArrayOutput) ToScalingGroupLaunchTemplateOverrideArrayOutputWithContext added in v3.48.0

func (o ScalingGroupLaunchTemplateOverrideArrayOutput) ToScalingGroupLaunchTemplateOverrideArrayOutputWithContext(ctx context.Context) ScalingGroupLaunchTemplateOverrideArrayOutput

type ScalingGroupLaunchTemplateOverrideInput added in v3.48.0

type ScalingGroupLaunchTemplateOverrideInput interface {
	pulumi.Input

	ToScalingGroupLaunchTemplateOverrideOutput() ScalingGroupLaunchTemplateOverrideOutput
	ToScalingGroupLaunchTemplateOverrideOutputWithContext(context.Context) ScalingGroupLaunchTemplateOverrideOutput
}

ScalingGroupLaunchTemplateOverrideInput is an input type that accepts ScalingGroupLaunchTemplateOverrideArgs and ScalingGroupLaunchTemplateOverrideOutput values. You can construct a concrete instance of `ScalingGroupLaunchTemplateOverrideInput` via:

ScalingGroupLaunchTemplateOverrideArgs{...}

type ScalingGroupLaunchTemplateOverrideOutput added in v3.48.0

type ScalingGroupLaunchTemplateOverrideOutput struct{ *pulumi.OutputState }

func (ScalingGroupLaunchTemplateOverrideOutput) ElementType added in v3.48.0

func (ScalingGroupLaunchTemplateOverrideOutput) InstanceType added in v3.48.0

The instance type in launchTemplateOverride.

func (ScalingGroupLaunchTemplateOverrideOutput) SpotPriceLimit added in v3.48.0

The maximum bid price of instance type in launchTemplateOverride.

> **NOTE:** When detach loadbalancers, instances in group will be remove from loadbalancer's `Default Server Group`; On the contrary, When attach loadbalancers, instances in group will be added to loadbalancer's `Default Server Group`.

> **NOTE:** When detach dbInstances, private ip of instances in group will be remove from dbInstance's `WhiteList`; On the contrary, When attach dbInstances, private ip of instances in group will be added to dbInstance's `WhiteList`.

> **NOTE:** `onDemandBaseCapacity`,`onDemandPercentageAboveBaseCapacity`,`spotInstancePools`,`spotInstanceRemedy` are valid only if `multiAzPolicy` is 'COST_OPTIMIZED'.

func (ScalingGroupLaunchTemplateOverrideOutput) ToScalingGroupLaunchTemplateOverrideOutput added in v3.48.0

func (o ScalingGroupLaunchTemplateOverrideOutput) ToScalingGroupLaunchTemplateOverrideOutput() ScalingGroupLaunchTemplateOverrideOutput

func (ScalingGroupLaunchTemplateOverrideOutput) ToScalingGroupLaunchTemplateOverrideOutputWithContext added in v3.48.0

func (o ScalingGroupLaunchTemplateOverrideOutput) ToScalingGroupLaunchTemplateOverrideOutputWithContext(ctx context.Context) ScalingGroupLaunchTemplateOverrideOutput

func (ScalingGroupLaunchTemplateOverrideOutput) WeightedCapacity added in v3.48.0

The weight of the instance type in launchTemplateOverride.

type ScalingGroupMap

type ScalingGroupMap map[string]ScalingGroupInput

func (ScalingGroupMap) ElementType

func (ScalingGroupMap) ElementType() reflect.Type

func (ScalingGroupMap) ToScalingGroupMapOutput

func (i ScalingGroupMap) ToScalingGroupMapOutput() ScalingGroupMapOutput

func (ScalingGroupMap) ToScalingGroupMapOutputWithContext

func (i ScalingGroupMap) ToScalingGroupMapOutputWithContext(ctx context.Context) ScalingGroupMapOutput

type ScalingGroupMapInput

type ScalingGroupMapInput interface {
	pulumi.Input

	ToScalingGroupMapOutput() ScalingGroupMapOutput
	ToScalingGroupMapOutputWithContext(context.Context) ScalingGroupMapOutput
}

ScalingGroupMapInput is an input type that accepts ScalingGroupMap and ScalingGroupMapOutput values. You can construct a concrete instance of `ScalingGroupMapInput` via:

ScalingGroupMap{ "key": ScalingGroupArgs{...} }

type ScalingGroupMapOutput

type ScalingGroupMapOutput struct{ *pulumi.OutputState }

func (ScalingGroupMapOutput) ElementType

func (ScalingGroupMapOutput) ElementType() reflect.Type

func (ScalingGroupMapOutput) MapIndex

func (ScalingGroupMapOutput) ToScalingGroupMapOutput

func (o ScalingGroupMapOutput) ToScalingGroupMapOutput() ScalingGroupMapOutput

func (ScalingGroupMapOutput) ToScalingGroupMapOutputWithContext

func (o ScalingGroupMapOutput) ToScalingGroupMapOutputWithContext(ctx context.Context) ScalingGroupMapOutput

type ScalingGroupOutput

type ScalingGroupOutput struct{ *pulumi.OutputState }

func (ScalingGroupOutput) DbInstanceIds added in v3.27.0

func (o ScalingGroupOutput) DbInstanceIds() pulumi.StringArrayOutput

If an RDS instance is specified in the scaling group, the scaling group automatically attaches the Intranet IP addresses of its ECS instances to the RDS access whitelist. - The specified RDS instance must be in running status. - The specified RDS instance’s whitelist must have room for more IP addresses.

func (ScalingGroupOutput) DefaultCooldown added in v3.27.0

func (o ScalingGroupOutput) DefaultCooldown() pulumi.IntPtrOutput

Default cool-down time (in seconds) of the scaling group. Value range: [0, 86400]. The default value is 300s.

func (ScalingGroupOutput) DesiredCapacity added in v3.27.0

func (o ScalingGroupOutput) DesiredCapacity() pulumi.IntPtrOutput

Expected number of ECS instances in the scaling group. Value range: [min_size, maxSize].

func (ScalingGroupOutput) ElementType

func (ScalingGroupOutput) ElementType() reflect.Type

func (ScalingGroupOutput) GroupDeletionProtection added in v3.27.0

func (o ScalingGroupOutput) GroupDeletionProtection() pulumi.BoolPtrOutput

Specifies whether the scaling group deletion protection is enabled. `true` or `false`, Default value: `false`.

func (ScalingGroupOutput) GroupType added in v3.27.0

func (o ScalingGroupOutput) GroupType() pulumi.StringOutput

Resource type within scaling group. Optional values: ECS, ECI. Default to ECS.

func (ScalingGroupOutput) HealthCheckType added in v3.29.0

func (o ScalingGroupOutput) HealthCheckType() pulumi.StringOutput

Resource type within scaling group. Optional values: ECS, NONE. Default to ECS.

func (ScalingGroupOutput) LaunchTemplateId added in v3.27.0

func (o ScalingGroupOutput) LaunchTemplateId() pulumi.StringPtrOutput

Instance launch template ID, scaling group obtains launch configuration from instance launch template, see [Launch Template](https://www.alibabacloud.com/help/doc-detail/73916.html). Creating scaling group from launch template enable group automatically.

func (ScalingGroupOutput) LaunchTemplateOverrides added in v3.48.0

The details of the instance types that are specified by using the Extend Instance Type of Launch Template feature.. See `launchTemplateOverride` below for details.

func (ScalingGroupOutput) LaunchTemplateVersion added in v3.27.0

func (o ScalingGroupOutput) LaunchTemplateVersion() pulumi.StringPtrOutput

The version number of the launch template. Valid values are the version number, `Latest`, or `Default`, Default value: `Default`.

func (ScalingGroupOutput) LoadbalancerIds added in v3.27.0

func (o ScalingGroupOutput) LoadbalancerIds() pulumi.StringArrayOutput

If a Server Load Balancer instance is specified in the scaling group, the scaling group automatically attaches its ECS instances to the Server Load Balancer instance.

  • The Server Load Balancer instance must be enabled.
  • At least one listener must be configured for each Server Load Balancer and it HealthCheck must be on. Otherwise, creation will fail (it may be useful to add a `dependsOn` argument targeting your `slb.Listener` in order to make sure the listener with its HealthCheck configuration is ready before creating your scaling group).
  • The Server Load Balancer instance attached with VPC-type ECS instances cannot be attached to the scaling group.
  • The default weight of an ECS instance attached to the Server Load Balancer instance is 50.

func (ScalingGroupOutput) MaxSize added in v3.27.0

func (o ScalingGroupOutput) MaxSize() pulumi.IntOutput

Maximum number of ECS instances in the scaling group. Value range: [0, 2000]. **NOTE:** From version 1.204.1, `maxSize` can be set to `2000`.

func (ScalingGroupOutput) MinSize added in v3.27.0

func (o ScalingGroupOutput) MinSize() pulumi.IntOutput

Minimum number of ECS instances in the scaling group. Value range: [0, 2000]. **NOTE:** From version 1.204.1, `minSize` can be set to `2000`.

func (ScalingGroupOutput) MultiAzPolicy added in v3.27.0

func (o ScalingGroupOutput) MultiAzPolicy() pulumi.StringPtrOutput

Multi-AZ scaling group ECS instance expansion and contraction strategy. PRIORITY, BALANCE or COST_OPTIMIZED(Available since v1.54.0).

func (ScalingGroupOutput) OnDemandBaseCapacity added in v3.27.0

func (o ScalingGroupOutput) OnDemandBaseCapacity() pulumi.IntOutput

The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances. This base portion is provisioned first as your group scales.

func (ScalingGroupOutput) OnDemandPercentageAboveBaseCapacity added in v3.27.0

func (o ScalingGroupOutput) OnDemandPercentageAboveBaseCapacity() pulumi.IntOutput

Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond OnDemandBaseCapacity.

func (ScalingGroupOutput) ProtectedInstances added in v3.29.0

func (o ScalingGroupOutput) ProtectedInstances() pulumi.StringArrayOutput

Set or unset instances within group into protected status.

func (ScalingGroupOutput) RemovalPolicies added in v3.27.0

func (o ScalingGroupOutput) RemovalPolicies() pulumi.StringArrayOutput

RemovalPolicy is used to select the ECS instances you want to remove from the scaling group when multiple candidates for removal exist. Optional values: - OldestInstance: removes the ECS instance that is added to the scaling group at the earliest point in time. - NewestInstance: removes the ECS instance that is added to the scaling group at the latest point in time. - OldestScalingConfiguration: removes the ECS instance that is created based on the earliest scaling configuration. - Default values: Default value of RemovalPolicy.1: OldestScalingConfiguration. Default value of RemovalPolicy.2: OldestInstance.

func (ScalingGroupOutput) ScalingGroupName added in v3.27.0

func (o ScalingGroupOutput) ScalingGroupName() pulumi.StringPtrOutput

Name shown for the scaling group, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain numbers, underscores `_`, hyphens `-`, and decimal points `.`. If this parameter is not specified, the default value is ScalingGroupId.

func (ScalingGroupOutput) SpotInstancePools added in v3.27.0

func (o ScalingGroupOutput) SpotInstancePools() pulumi.IntOutput

The number of Spot pools to use to allocate your Spot capacity. The Spot pools is composed of instance types of lowest price.

func (ScalingGroupOutput) SpotInstanceRemedy added in v3.27.0

func (o ScalingGroupOutput) SpotInstanceRemedy() pulumi.BoolOutput

Whether to replace spot instances with newly created spot/onDemand instance when receive a spot recycling message.

func (ScalingGroupOutput) Tags added in v3.27.0

A mapping of tags to assign to the resource. - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string. - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.

func (ScalingGroupOutput) ToScalingGroupOutput

func (o ScalingGroupOutput) ToScalingGroupOutput() ScalingGroupOutput

func (ScalingGroupOutput) ToScalingGroupOutputWithContext

func (o ScalingGroupOutput) ToScalingGroupOutputWithContext(ctx context.Context) ScalingGroupOutput

func (ScalingGroupOutput) VswitchId deprecated added in v3.27.0

It has been deprecated from version 1.7.1 and new field 'vswitch_ids' replaces it.

Deprecated: Field 'vswitch_id' has been deprecated from provider version 1.7.1, and new field 'vswitch_ids' can replace it.

func (ScalingGroupOutput) VswitchIds added in v3.27.0

List of virtual switch IDs in which the ecs instances to be launched.

type ScalingGroupState

type ScalingGroupState struct {
	// If an RDS instance is specified in the scaling group, the scaling group automatically attaches the Intranet IP addresses of its ECS instances to the RDS access whitelist.
	// - The specified RDS instance must be in running status.
	// - The specified RDS instance’s whitelist must have room for more IP addresses.
	DbInstanceIds pulumi.StringArrayInput
	// Default cool-down time (in seconds) of the scaling group. Value range: [0, 86400]. The default value is 300s.
	DefaultCooldown pulumi.IntPtrInput
	// Expected number of ECS instances in the scaling group. Value range: [min_size, maxSize].
	DesiredCapacity pulumi.IntPtrInput
	// Specifies whether the scaling group deletion protection is enabled. `true` or `false`, Default value: `false`.
	GroupDeletionProtection pulumi.BoolPtrInput
	// Resource type within scaling group. Optional values: ECS, ECI. Default to ECS.
	GroupType pulumi.StringPtrInput
	// Resource type within scaling group. Optional values: ECS, NONE. Default to ECS.
	HealthCheckType pulumi.StringPtrInput
	// Instance launch template ID, scaling group obtains launch configuration from instance launch template, see [Launch Template](https://www.alibabacloud.com/help/doc-detail/73916.html). Creating scaling group from launch template enable group automatically.
	LaunchTemplateId pulumi.StringPtrInput
	// The details of the instance types that are specified by using the Extend Instance Type of Launch Template feature..  See `launchTemplateOverride` below for details.
	LaunchTemplateOverrides ScalingGroupLaunchTemplateOverrideArrayInput
	// The version number of the launch template. Valid values are the version number, `Latest`, or `Default`, Default value: `Default`.
	LaunchTemplateVersion pulumi.StringPtrInput
	// If a Server Load Balancer instance is specified in the scaling group, the scaling group automatically attaches its ECS instances to the Server Load Balancer instance.
	// - The Server Load Balancer instance must be enabled.
	// - At least one listener must be configured for each Server Load Balancer and it HealthCheck must be on. Otherwise, creation will fail (it may be useful to add a `dependsOn` argument
	//   targeting your `slb.Listener` in order to make sure the listener with its HealthCheck configuration is ready before creating your scaling group).
	// - The Server Load Balancer instance attached with VPC-type ECS instances cannot be attached to the scaling group.
	// - The default weight of an ECS instance attached to the Server Load Balancer instance is 50.
	LoadbalancerIds pulumi.StringArrayInput
	// Maximum number of ECS instances in the scaling group. Value range: [0, 2000].
	// **NOTE:** From version 1.204.1, `maxSize` can be set to `2000`.
	MaxSize pulumi.IntPtrInput
	// Minimum number of ECS instances in the scaling group. Value range: [0, 2000].
	// **NOTE:** From version 1.204.1, `minSize` can be set to `2000`.
	MinSize pulumi.IntPtrInput
	// Multi-AZ scaling group ECS instance expansion and contraction strategy. PRIORITY, BALANCE or COST_OPTIMIZED(Available since v1.54.0).
	MultiAzPolicy pulumi.StringPtrInput
	// The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances. This base portion is provisioned first as your group scales.
	OnDemandBaseCapacity pulumi.IntPtrInput
	// Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond OnDemandBaseCapacity.
	OnDemandPercentageAboveBaseCapacity pulumi.IntPtrInput
	// Set or unset instances within group into protected status.
	ProtectedInstances pulumi.StringArrayInput
	// RemovalPolicy is used to select the ECS instances you want to remove from the scaling group when multiple candidates for removal exist. Optional values:
	// - OldestInstance: removes the ECS instance that is added to the scaling group at the earliest point in time.
	// - NewestInstance: removes the ECS instance that is added to the scaling group at the latest point in time.
	// - OldestScalingConfiguration: removes the ECS instance that is created based on the earliest scaling configuration.
	// - Default values: Default value of RemovalPolicy.1: OldestScalingConfiguration. Default value of RemovalPolicy.2: OldestInstance.
	RemovalPolicies pulumi.StringArrayInput
	// Name shown for the scaling group, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain numbers, underscores `_`, hyphens `-`, and decimal points `.`. If this parameter is not specified, the default value is ScalingGroupId.
	ScalingGroupName pulumi.StringPtrInput
	// The number of Spot pools to use to allocate your Spot capacity. The Spot pools is composed of instance types of lowest price.
	SpotInstancePools pulumi.IntPtrInput
	// Whether to replace spot instances with newly created spot/onDemand instance when receive a spot recycling message.
	SpotInstanceRemedy pulumi.BoolPtrInput
	// A mapping of tags to assign to the resource.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
	Tags pulumi.MapInput
	// It has been deprecated from version 1.7.1 and new field 'vswitch_ids' replaces it.
	//
	// Deprecated: Field 'vswitch_id' has been deprecated from provider version 1.7.1, and new field 'vswitch_ids' can replace it.
	VswitchId pulumi.StringPtrInput
	// List of virtual switch IDs in which the ecs instances to be launched.
	VswitchIds pulumi.StringArrayInput
}

func (ScalingGroupState) ElementType

func (ScalingGroupState) ElementType() reflect.Type

type ScalingGroupVServerGroups

type ScalingGroupVServerGroups struct {
	pulumi.CustomResourceState

	// If instances of scaling group are attached/removed from slb backend server when attach/detach vserver group from scaling group. Default to true.
	Force pulumi.BoolPtrOutput `pulumi:"force"`
	// ID of the scaling group.
	ScalingGroupId pulumi.StringOutput `pulumi:"scalingGroupId"`
	// A list of vserver groups attached on scaling group. See `vserverGroups` below.
	VserverGroups ScalingGroupVServerGroupsVserverGroupArrayOutput `pulumi:"vserverGroups"`
}

Attaches/Detaches vserver groups to a specified scaling group.

> **NOTE:** The load balancer of which vserver groups belongs to must be in `active` status.

> **NOTE:** If scaling group's network type is `VPC`, the vserver groups must be in the same `VPC`.

> **NOTE:** A scaling group can have at most 5 vserver groups attached by default.

> **NOTE:** Vserver groups and the default group of loadbalancer share the same backend server quota.

> **NOTE:** When attach vserver groups to scaling group, existing ECS instances will be added to vserver groups; Instead, ECS instances will be removed from vserver group when detach.

> **NOTE:** Detach action will be executed before attach action.

> **NOTE:** Vserver group is defined uniquely by `loadbalancerId`, `vserverGroupId`, `port`.

> **NOTE:** Modifing `weight` attribute means detach vserver group first and then, attach with new weight parameter.

> **NOTE:** Available since v1.53.0.

## Import

ESS vserver groups can be imported using the id, e.g.

```sh $ pulumi import alicloud:ess/scalingGroupVServerGroups:ScalingGroupVServerGroups example abc123456 ```

func GetScalingGroupVServerGroups

func GetScalingGroupVServerGroups(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ScalingGroupVServerGroupsState, opts ...pulumi.ResourceOption) (*ScalingGroupVServerGroups, error)

GetScalingGroupVServerGroups gets an existing ScalingGroupVServerGroups resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewScalingGroupVServerGroups

func NewScalingGroupVServerGroups(ctx *pulumi.Context,
	name string, args *ScalingGroupVServerGroupsArgs, opts ...pulumi.ResourceOption) (*ScalingGroupVServerGroups, error)

NewScalingGroupVServerGroups registers a new resource with the given unique name, arguments, and options.

func (*ScalingGroupVServerGroups) ElementType

func (*ScalingGroupVServerGroups) ElementType() reflect.Type

func (*ScalingGroupVServerGroups) ToScalingGroupVServerGroupsOutput

func (i *ScalingGroupVServerGroups) ToScalingGroupVServerGroupsOutput() ScalingGroupVServerGroupsOutput

func (*ScalingGroupVServerGroups) ToScalingGroupVServerGroupsOutputWithContext

func (i *ScalingGroupVServerGroups) ToScalingGroupVServerGroupsOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsOutput

type ScalingGroupVServerGroupsArgs

type ScalingGroupVServerGroupsArgs struct {
	// If instances of scaling group are attached/removed from slb backend server when attach/detach vserver group from scaling group. Default to true.
	Force pulumi.BoolPtrInput
	// ID of the scaling group.
	ScalingGroupId pulumi.StringInput
	// A list of vserver groups attached on scaling group. See `vserverGroups` below.
	VserverGroups ScalingGroupVServerGroupsVserverGroupArrayInput
}

The set of arguments for constructing a ScalingGroupVServerGroups resource.

func (ScalingGroupVServerGroupsArgs) ElementType

type ScalingGroupVServerGroupsArray

type ScalingGroupVServerGroupsArray []ScalingGroupVServerGroupsInput

func (ScalingGroupVServerGroupsArray) ElementType

func (ScalingGroupVServerGroupsArray) ToScalingGroupVServerGroupsArrayOutput

func (i ScalingGroupVServerGroupsArray) ToScalingGroupVServerGroupsArrayOutput() ScalingGroupVServerGroupsArrayOutput

func (ScalingGroupVServerGroupsArray) ToScalingGroupVServerGroupsArrayOutputWithContext

func (i ScalingGroupVServerGroupsArray) ToScalingGroupVServerGroupsArrayOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsArrayOutput

type ScalingGroupVServerGroupsArrayInput

type ScalingGroupVServerGroupsArrayInput interface {
	pulumi.Input

	ToScalingGroupVServerGroupsArrayOutput() ScalingGroupVServerGroupsArrayOutput
	ToScalingGroupVServerGroupsArrayOutputWithContext(context.Context) ScalingGroupVServerGroupsArrayOutput
}

ScalingGroupVServerGroupsArrayInput is an input type that accepts ScalingGroupVServerGroupsArray and ScalingGroupVServerGroupsArrayOutput values. You can construct a concrete instance of `ScalingGroupVServerGroupsArrayInput` via:

ScalingGroupVServerGroupsArray{ ScalingGroupVServerGroupsArgs{...} }

type ScalingGroupVServerGroupsArrayOutput

type ScalingGroupVServerGroupsArrayOutput struct{ *pulumi.OutputState }

func (ScalingGroupVServerGroupsArrayOutput) ElementType

func (ScalingGroupVServerGroupsArrayOutput) Index

func (ScalingGroupVServerGroupsArrayOutput) ToScalingGroupVServerGroupsArrayOutput

func (o ScalingGroupVServerGroupsArrayOutput) ToScalingGroupVServerGroupsArrayOutput() ScalingGroupVServerGroupsArrayOutput

func (ScalingGroupVServerGroupsArrayOutput) ToScalingGroupVServerGroupsArrayOutputWithContext

func (o ScalingGroupVServerGroupsArrayOutput) ToScalingGroupVServerGroupsArrayOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsArrayOutput

type ScalingGroupVServerGroupsInput

type ScalingGroupVServerGroupsInput interface {
	pulumi.Input

	ToScalingGroupVServerGroupsOutput() ScalingGroupVServerGroupsOutput
	ToScalingGroupVServerGroupsOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsOutput
}

type ScalingGroupVServerGroupsMap

type ScalingGroupVServerGroupsMap map[string]ScalingGroupVServerGroupsInput

func (ScalingGroupVServerGroupsMap) ElementType

func (ScalingGroupVServerGroupsMap) ToScalingGroupVServerGroupsMapOutput

func (i ScalingGroupVServerGroupsMap) ToScalingGroupVServerGroupsMapOutput() ScalingGroupVServerGroupsMapOutput

func (ScalingGroupVServerGroupsMap) ToScalingGroupVServerGroupsMapOutputWithContext

func (i ScalingGroupVServerGroupsMap) ToScalingGroupVServerGroupsMapOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsMapOutput

type ScalingGroupVServerGroupsMapInput

type ScalingGroupVServerGroupsMapInput interface {
	pulumi.Input

	ToScalingGroupVServerGroupsMapOutput() ScalingGroupVServerGroupsMapOutput
	ToScalingGroupVServerGroupsMapOutputWithContext(context.Context) ScalingGroupVServerGroupsMapOutput
}

ScalingGroupVServerGroupsMapInput is an input type that accepts ScalingGroupVServerGroupsMap and ScalingGroupVServerGroupsMapOutput values. You can construct a concrete instance of `ScalingGroupVServerGroupsMapInput` via:

ScalingGroupVServerGroupsMap{ "key": ScalingGroupVServerGroupsArgs{...} }

type ScalingGroupVServerGroupsMapOutput

type ScalingGroupVServerGroupsMapOutput struct{ *pulumi.OutputState }

func (ScalingGroupVServerGroupsMapOutput) ElementType

func (ScalingGroupVServerGroupsMapOutput) MapIndex

func (ScalingGroupVServerGroupsMapOutput) ToScalingGroupVServerGroupsMapOutput

func (o ScalingGroupVServerGroupsMapOutput) ToScalingGroupVServerGroupsMapOutput() ScalingGroupVServerGroupsMapOutput

func (ScalingGroupVServerGroupsMapOutput) ToScalingGroupVServerGroupsMapOutputWithContext

func (o ScalingGroupVServerGroupsMapOutput) ToScalingGroupVServerGroupsMapOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsMapOutput

type ScalingGroupVServerGroupsOutput

type ScalingGroupVServerGroupsOutput struct{ *pulumi.OutputState }

func (ScalingGroupVServerGroupsOutput) ElementType

func (ScalingGroupVServerGroupsOutput) Force added in v3.27.0

If instances of scaling group are attached/removed from slb backend server when attach/detach vserver group from scaling group. Default to true.

func (ScalingGroupVServerGroupsOutput) ScalingGroupId added in v3.27.0

ID of the scaling group.

func (ScalingGroupVServerGroupsOutput) ToScalingGroupVServerGroupsOutput

func (o ScalingGroupVServerGroupsOutput) ToScalingGroupVServerGroupsOutput() ScalingGroupVServerGroupsOutput

func (ScalingGroupVServerGroupsOutput) ToScalingGroupVServerGroupsOutputWithContext

func (o ScalingGroupVServerGroupsOutput) ToScalingGroupVServerGroupsOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsOutput

func (ScalingGroupVServerGroupsOutput) VserverGroups added in v3.27.0

A list of vserver groups attached on scaling group. See `vserverGroups` below.

type ScalingGroupVServerGroupsState

type ScalingGroupVServerGroupsState struct {
	// If instances of scaling group are attached/removed from slb backend server when attach/detach vserver group from scaling group. Default to true.
	Force pulumi.BoolPtrInput
	// ID of the scaling group.
	ScalingGroupId pulumi.StringPtrInput
	// A list of vserver groups attached on scaling group. See `vserverGroups` below.
	VserverGroups ScalingGroupVServerGroupsVserverGroupArrayInput
}

func (ScalingGroupVServerGroupsState) ElementType

type ScalingGroupVServerGroupsVserverGroup

type ScalingGroupVServerGroupsVserverGroup struct {
	// Loadbalancer server ID of VServer Group.
	LoadbalancerId string `pulumi:"loadbalancerId"`
	// A list of VServer Group attributes. See `vserverAttributes` below.
	VserverAttributes []ScalingGroupVServerGroupsVserverGroupVserverAttribute `pulumi:"vserverAttributes"`
}

type ScalingGroupVServerGroupsVserverGroupArgs

type ScalingGroupVServerGroupsVserverGroupArgs struct {
	// Loadbalancer server ID of VServer Group.
	LoadbalancerId pulumi.StringInput `pulumi:"loadbalancerId"`
	// A list of VServer Group attributes. See `vserverAttributes` below.
	VserverAttributes ScalingGroupVServerGroupsVserverGroupVserverAttributeArrayInput `pulumi:"vserverAttributes"`
}

func (ScalingGroupVServerGroupsVserverGroupArgs) ElementType

func (ScalingGroupVServerGroupsVserverGroupArgs) ToScalingGroupVServerGroupsVserverGroupOutput

func (i ScalingGroupVServerGroupsVserverGroupArgs) ToScalingGroupVServerGroupsVserverGroupOutput() ScalingGroupVServerGroupsVserverGroupOutput

func (ScalingGroupVServerGroupsVserverGroupArgs) ToScalingGroupVServerGroupsVserverGroupOutputWithContext

func (i ScalingGroupVServerGroupsVserverGroupArgs) ToScalingGroupVServerGroupsVserverGroupOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsVserverGroupOutput

type ScalingGroupVServerGroupsVserverGroupArray

type ScalingGroupVServerGroupsVserverGroupArray []ScalingGroupVServerGroupsVserverGroupInput

func (ScalingGroupVServerGroupsVserverGroupArray) ElementType

func (ScalingGroupVServerGroupsVserverGroupArray) ToScalingGroupVServerGroupsVserverGroupArrayOutput

func (i ScalingGroupVServerGroupsVserverGroupArray) ToScalingGroupVServerGroupsVserverGroupArrayOutput() ScalingGroupVServerGroupsVserverGroupArrayOutput

func (ScalingGroupVServerGroupsVserverGroupArray) ToScalingGroupVServerGroupsVserverGroupArrayOutputWithContext

func (i ScalingGroupVServerGroupsVserverGroupArray) ToScalingGroupVServerGroupsVserverGroupArrayOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsVserverGroupArrayOutput

type ScalingGroupVServerGroupsVserverGroupArrayInput

type ScalingGroupVServerGroupsVserverGroupArrayInput interface {
	pulumi.Input

	ToScalingGroupVServerGroupsVserverGroupArrayOutput() ScalingGroupVServerGroupsVserverGroupArrayOutput
	ToScalingGroupVServerGroupsVserverGroupArrayOutputWithContext(context.Context) ScalingGroupVServerGroupsVserverGroupArrayOutput
}

ScalingGroupVServerGroupsVserverGroupArrayInput is an input type that accepts ScalingGroupVServerGroupsVserverGroupArray and ScalingGroupVServerGroupsVserverGroupArrayOutput values. You can construct a concrete instance of `ScalingGroupVServerGroupsVserverGroupArrayInput` via:

ScalingGroupVServerGroupsVserverGroupArray{ ScalingGroupVServerGroupsVserverGroupArgs{...} }

type ScalingGroupVServerGroupsVserverGroupArrayOutput

type ScalingGroupVServerGroupsVserverGroupArrayOutput struct{ *pulumi.OutputState }

func (ScalingGroupVServerGroupsVserverGroupArrayOutput) ElementType

func (ScalingGroupVServerGroupsVserverGroupArrayOutput) Index

func (ScalingGroupVServerGroupsVserverGroupArrayOutput) ToScalingGroupVServerGroupsVserverGroupArrayOutput

func (o ScalingGroupVServerGroupsVserverGroupArrayOutput) ToScalingGroupVServerGroupsVserverGroupArrayOutput() ScalingGroupVServerGroupsVserverGroupArrayOutput

func (ScalingGroupVServerGroupsVserverGroupArrayOutput) ToScalingGroupVServerGroupsVserverGroupArrayOutputWithContext

func (o ScalingGroupVServerGroupsVserverGroupArrayOutput) ToScalingGroupVServerGroupsVserverGroupArrayOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsVserverGroupArrayOutput

type ScalingGroupVServerGroupsVserverGroupInput

type ScalingGroupVServerGroupsVserverGroupInput interface {
	pulumi.Input

	ToScalingGroupVServerGroupsVserverGroupOutput() ScalingGroupVServerGroupsVserverGroupOutput
	ToScalingGroupVServerGroupsVserverGroupOutputWithContext(context.Context) ScalingGroupVServerGroupsVserverGroupOutput
}

ScalingGroupVServerGroupsVserverGroupInput is an input type that accepts ScalingGroupVServerGroupsVserverGroupArgs and ScalingGroupVServerGroupsVserverGroupOutput values. You can construct a concrete instance of `ScalingGroupVServerGroupsVserverGroupInput` via:

ScalingGroupVServerGroupsVserverGroupArgs{...}

type ScalingGroupVServerGroupsVserverGroupOutput

type ScalingGroupVServerGroupsVserverGroupOutput struct{ *pulumi.OutputState }

func (ScalingGroupVServerGroupsVserverGroupOutput) ElementType

func (ScalingGroupVServerGroupsVserverGroupOutput) LoadbalancerId

Loadbalancer server ID of VServer Group.

func (ScalingGroupVServerGroupsVserverGroupOutput) ToScalingGroupVServerGroupsVserverGroupOutput

func (o ScalingGroupVServerGroupsVserverGroupOutput) ToScalingGroupVServerGroupsVserverGroupOutput() ScalingGroupVServerGroupsVserverGroupOutput

func (ScalingGroupVServerGroupsVserverGroupOutput) ToScalingGroupVServerGroupsVserverGroupOutputWithContext

func (o ScalingGroupVServerGroupsVserverGroupOutput) ToScalingGroupVServerGroupsVserverGroupOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsVserverGroupOutput

func (ScalingGroupVServerGroupsVserverGroupOutput) VserverAttributes

A list of VServer Group attributes. See `vserverAttributes` below.

type ScalingGroupVServerGroupsVserverGroupVserverAttribute

type ScalingGroupVServerGroupsVserverGroupVserverAttribute struct {
	Port           int    `pulumi:"port"`
	VserverGroupId string `pulumi:"vserverGroupId"`
	Weight         int    `pulumi:"weight"`
}

type ScalingGroupVServerGroupsVserverGroupVserverAttributeArgs

type ScalingGroupVServerGroupsVserverGroupVserverAttributeArgs struct {
	Port           pulumi.IntInput    `pulumi:"port"`
	VserverGroupId pulumi.StringInput `pulumi:"vserverGroupId"`
	Weight         pulumi.IntInput    `pulumi:"weight"`
}

func (ScalingGroupVServerGroupsVserverGroupVserverAttributeArgs) ElementType

func (ScalingGroupVServerGroupsVserverGroupVserverAttributeArgs) ToScalingGroupVServerGroupsVserverGroupVserverAttributeOutput

func (ScalingGroupVServerGroupsVserverGroupVserverAttributeArgs) ToScalingGroupVServerGroupsVserverGroupVserverAttributeOutputWithContext

func (i ScalingGroupVServerGroupsVserverGroupVserverAttributeArgs) ToScalingGroupVServerGroupsVserverGroupVserverAttributeOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsVserverGroupVserverAttributeOutput

type ScalingGroupVServerGroupsVserverGroupVserverAttributeArray

type ScalingGroupVServerGroupsVserverGroupVserverAttributeArray []ScalingGroupVServerGroupsVserverGroupVserverAttributeInput

func (ScalingGroupVServerGroupsVserverGroupVserverAttributeArray) ElementType

func (ScalingGroupVServerGroupsVserverGroupVserverAttributeArray) ToScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutput

func (ScalingGroupVServerGroupsVserverGroupVserverAttributeArray) ToScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutputWithContext

func (i ScalingGroupVServerGroupsVserverGroupVserverAttributeArray) ToScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutput

type ScalingGroupVServerGroupsVserverGroupVserverAttributeArrayInput

type ScalingGroupVServerGroupsVserverGroupVserverAttributeArrayInput interface {
	pulumi.Input

	ToScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutput() ScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutput
	ToScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutputWithContext(context.Context) ScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutput
}

ScalingGroupVServerGroupsVserverGroupVserverAttributeArrayInput is an input type that accepts ScalingGroupVServerGroupsVserverGroupVserverAttributeArray and ScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutput values. You can construct a concrete instance of `ScalingGroupVServerGroupsVserverGroupVserverAttributeArrayInput` via:

ScalingGroupVServerGroupsVserverGroupVserverAttributeArray{ ScalingGroupVServerGroupsVserverGroupVserverAttributeArgs{...} }

type ScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutput

type ScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutput struct{ *pulumi.OutputState }

func (ScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutput) ElementType

func (ScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutput) Index

func (ScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutput) ToScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutput

func (ScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutput) ToScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutputWithContext

func (o ScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutput) ToScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsVserverGroupVserverAttributeArrayOutput

type ScalingGroupVServerGroupsVserverGroupVserverAttributeInput

type ScalingGroupVServerGroupsVserverGroupVserverAttributeInput interface {
	pulumi.Input

	ToScalingGroupVServerGroupsVserverGroupVserverAttributeOutput() ScalingGroupVServerGroupsVserverGroupVserverAttributeOutput
	ToScalingGroupVServerGroupsVserverGroupVserverAttributeOutputWithContext(context.Context) ScalingGroupVServerGroupsVserverGroupVserverAttributeOutput
}

ScalingGroupVServerGroupsVserverGroupVserverAttributeInput is an input type that accepts ScalingGroupVServerGroupsVserverGroupVserverAttributeArgs and ScalingGroupVServerGroupsVserverGroupVserverAttributeOutput values. You can construct a concrete instance of `ScalingGroupVServerGroupsVserverGroupVserverAttributeInput` via:

ScalingGroupVServerGroupsVserverGroupVserverAttributeArgs{...}

type ScalingGroupVServerGroupsVserverGroupVserverAttributeOutput

type ScalingGroupVServerGroupsVserverGroupVserverAttributeOutput struct{ *pulumi.OutputState }

func (ScalingGroupVServerGroupsVserverGroupVserverAttributeOutput) ElementType

func (ScalingGroupVServerGroupsVserverGroupVserverAttributeOutput) Port

func (ScalingGroupVServerGroupsVserverGroupVserverAttributeOutput) ToScalingGroupVServerGroupsVserverGroupVserverAttributeOutput

func (ScalingGroupVServerGroupsVserverGroupVserverAttributeOutput) ToScalingGroupVServerGroupsVserverGroupVserverAttributeOutputWithContext

func (o ScalingGroupVServerGroupsVserverGroupVserverAttributeOutput) ToScalingGroupVServerGroupsVserverGroupVserverAttributeOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsVserverGroupVserverAttributeOutput

func (ScalingGroupVServerGroupsVserverGroupVserverAttributeOutput) VserverGroupId

func (ScalingGroupVServerGroupsVserverGroupVserverAttributeOutput) Weight

type ScalingRule

type ScalingRule struct {
	pulumi.CustomResourceState

	// Adjustment mode of a scaling rule. Optional values:
	// - QuantityChangeInCapacity: It is used to increase or decrease a specified number of ECS instances.
	// - PercentChangeInCapacity: It is used to increase or decrease a specified proportion of ECS instances.
	// - TotalCapacity: It is used to adjust the quantity of ECS instances in the current scaling group to a specified value.
	AdjustmentType pulumi.StringPtrOutput `pulumi:"adjustmentType"`
	// The number of ECS instances to be adjusted in the scaling rule. This parameter is required and applicable only to simple scaling rules. The number of ECS instances to be adjusted in a single scaling activity cannot exceed 500. Value range:
	// - QuantityChangeInCapacity:(0, 500] U (-500, 0]
	// - PercentChangeInCapacity:[0, 10000] U [-100, 0]
	// - TotalCapacity:[0, 1000]
	AdjustmentValue pulumi.IntPtrOutput `pulumi:"adjustmentValue"`
	// AlarmDimension for StepScalingRule. See `alarmDimension` below.
	AlarmDimension ScalingRuleAlarmDimensionPtrOutput `pulumi:"alarmDimension"`
	// The unique identifier of the scaling rule.
	Ari pulumi.StringOutput `pulumi:"ari"`
	// The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Value range: [0, 86,400], in seconds. The default value is empty,if not set, the return value will be 0, which is the default value of integer.
	Cooldown pulumi.IntPtrOutput `pulumi:"cooldown"`
	// Indicates whether scale in by the target tracking policy is disabled. Default to false.
	DisableScaleIn pulumi.BoolPtrOutput `pulumi:"disableScaleIn"`
	// The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.
	EstimatedInstanceWarmup pulumi.IntOutput `pulumi:"estimatedInstanceWarmup"`
	// The maximum number of ECS instances that can be added to the scaling group. If you specify InitialMaxSize, you must also specify PredictiveValueBehavior.
	InitialMaxSize pulumi.IntOutput `pulumi:"initialMaxSize"`
	// A CloudMonitor metric name.
	MetricName pulumi.StringPtrOutput `pulumi:"metricName"`
	// The minimum number of instances that must be scaled. This parameter takes effect if you set ScalingRuleType to SimpleScalingRule or StepScalingRule, and AdjustmentType to PercentChangeInCapacity.
	MinAdjustmentMagnitude pulumi.IntPtrOutput `pulumi:"minAdjustmentMagnitude"`
	// The mode of the predictive scaling rule. Valid values: PredictAndScale, PredictOnly.
	PredictiveScalingMode pulumi.StringOutput `pulumi:"predictiveScalingMode"`
	// The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.
	PredictiveTaskBufferTime pulumi.IntOutput `pulumi:"predictiveTaskBufferTime"`
	// The action on the predicted maximum value. Valid values: MaxOverridePredictiveValue, PredictiveValueOverrideMax, PredictiveValueOverrideMaxWithBuffer.
	PredictiveValueBehavior pulumi.StringOutput `pulumi:"predictiveValueBehavior"`
	// The ratio based on which the predicted value is increased if you set PredictiveValueBehavior to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.
	PredictiveValueBuffer pulumi.IntOutput `pulumi:"predictiveValueBuffer"`
	// The number of consecutive times that the event-triggered task created for scale-ins must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.
	ScaleInEvaluationCount pulumi.IntOutput `pulumi:"scaleInEvaluationCount"`
	// The number of consecutive times that the event-triggered task created for scale-outs must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.
	ScaleOutEvaluationCount pulumi.IntOutput `pulumi:"scaleOutEvaluationCount"`
	// ID of the scaling group of a scaling rule.
	ScalingGroupId pulumi.StringOutput `pulumi:"scalingGroupId"`
	// Name shown for the scaling rule, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores `_`, hypens `-`, and decimal point `.`. If this parameter value is not specified, the default value is scaling rule id.
	ScalingRuleName pulumi.StringOutput `pulumi:"scalingRuleName"`
	// The scaling rule type, either "SimpleScalingRule", "TargetTrackingScalingRule", "StepScalingRule", "PredictiveScalingRule". Default to "SimpleScalingRule".
	ScalingRuleType pulumi.StringPtrOutput `pulumi:"scalingRuleType"`
	// Steps for StepScalingRule. See `stepAdjustment` below.
	StepAdjustments ScalingRuleStepAdjustmentArrayOutput `pulumi:"stepAdjustments"`
	// The target value for the metric.
	TargetValue pulumi.Float64PtrOutput `pulumi:"targetValue"`
}

Provides a ESS scaling rule resource.

For information about ess scaling rule, see [CreateScalingRule](https://www.alibabacloud.com/help/en/auto-scaling/latest/createscalingrule).

> **NOTE:** Available since v1.39.0.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultInteger, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
			Min: 10000,
			Max: 99999,
		})
		if err != nil {
			return err
		}
		myName := fmt.Sprintf("%v-%v", name, defaultInteger.Result)
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableDiskCategory:     pulumi.StringRef("cloud_efficiency"),
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),
			CpuCoreCount:     pulumi.IntRef(2),
			MemorySize:       pulumi.Float64Ref(4),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
			NameRegex:  pulumi.StringRef("^ubuntu_18.*64"),
			MostRecent: pulumi.BoolRef(true),
			Owners:     pulumi.StringRef("system"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(myName),
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/24"),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
			VswitchName: pulumi.String(myName),
		})
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			Name:  pulumi.String(myName),
			VpcId: defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewSecurityGroupRule(ctx, "default", &ecs.SecurityGroupRuleArgs{
			Type:            pulumi.String("ingress"),
			IpProtocol:      pulumi.String("tcp"),
			NicType:         pulumi.String("intranet"),
			Policy:          pulumi.String("accept"),
			PortRange:       pulumi.String("22/22"),
			Priority:        pulumi.Int(1),
			SecurityGroupId: defaultSecurityGroup.ID(),
			CidrIp:          pulumi.String("172.16.0.0/24"),
		})
		if err != nil {
			return err
		}
		defaultScalingGroup, err := ess.NewScalingGroup(ctx, "default", &ess.ScalingGroupArgs{
			MinSize:          pulumi.Int(1),
			MaxSize:          pulumi.Int(1),
			ScalingGroupName: pulumi.String(myName),
			VswitchIds: pulumi.StringArray{
				defaultSwitch.ID(),
			},
			RemovalPolicies: pulumi.StringArray{
				pulumi.String("OldestInstance"),
				pulumi.String("NewestInstance"),
			},
		})
		if err != nil {
			return err
		}
		_, err = ess.NewScalingConfiguration(ctx, "default", &ess.ScalingConfigurationArgs{
			ScalingGroupId:  defaultScalingGroup.ID(),
			ImageId:         pulumi.String(defaultGetImages.Images[0].Id),
			InstanceType:    pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),
			SecurityGroupId: defaultSecurityGroup.ID(),
			ForceDelete:     pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = ess.NewScalingRule(ctx, "default", &ess.ScalingRuleArgs{
			ScalingGroupId:  defaultScalingGroup.ID(),
			AdjustmentType:  pulumi.String("TotalCapacity"),
			AdjustmentValue: pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Module Support

You can use to the existing autoscaling-rule module to create different type rules, alarm task and scheduled task one-click.

## Import

ESS scaling rule can be imported using the id, e.g.

```sh $ pulumi import alicloud:ess/scalingRule:ScalingRule example abc123456 ```

func GetScalingRule

func GetScalingRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ScalingRuleState, opts ...pulumi.ResourceOption) (*ScalingRule, error)

GetScalingRule gets an existing ScalingRule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewScalingRule

func NewScalingRule(ctx *pulumi.Context,
	name string, args *ScalingRuleArgs, opts ...pulumi.ResourceOption) (*ScalingRule, error)

NewScalingRule registers a new resource with the given unique name, arguments, and options.

func (*ScalingRule) ElementType

func (*ScalingRule) ElementType() reflect.Type

func (*ScalingRule) ToScalingRuleOutput

func (i *ScalingRule) ToScalingRuleOutput() ScalingRuleOutput

func (*ScalingRule) ToScalingRuleOutputWithContext

func (i *ScalingRule) ToScalingRuleOutputWithContext(ctx context.Context) ScalingRuleOutput

type ScalingRuleAlarmDimension added in v3.47.0

type ScalingRuleAlarmDimension struct {
	// The dimension key of the metric.
	DimensionKey *string `pulumi:"dimensionKey"`
	// The dimension value of the metric.
	DimensionValue *string `pulumi:"dimensionValue"`
}

type ScalingRuleAlarmDimensionArgs added in v3.47.0

type ScalingRuleAlarmDimensionArgs struct {
	// The dimension key of the metric.
	DimensionKey pulumi.StringPtrInput `pulumi:"dimensionKey"`
	// The dimension value of the metric.
	DimensionValue pulumi.StringPtrInput `pulumi:"dimensionValue"`
}

func (ScalingRuleAlarmDimensionArgs) ElementType added in v3.47.0

func (ScalingRuleAlarmDimensionArgs) ToScalingRuleAlarmDimensionOutput added in v3.47.0

func (i ScalingRuleAlarmDimensionArgs) ToScalingRuleAlarmDimensionOutput() ScalingRuleAlarmDimensionOutput

func (ScalingRuleAlarmDimensionArgs) ToScalingRuleAlarmDimensionOutputWithContext added in v3.47.0

func (i ScalingRuleAlarmDimensionArgs) ToScalingRuleAlarmDimensionOutputWithContext(ctx context.Context) ScalingRuleAlarmDimensionOutput

func (ScalingRuleAlarmDimensionArgs) ToScalingRuleAlarmDimensionPtrOutput added in v3.47.0

func (i ScalingRuleAlarmDimensionArgs) ToScalingRuleAlarmDimensionPtrOutput() ScalingRuleAlarmDimensionPtrOutput

func (ScalingRuleAlarmDimensionArgs) ToScalingRuleAlarmDimensionPtrOutputWithContext added in v3.47.0

func (i ScalingRuleAlarmDimensionArgs) ToScalingRuleAlarmDimensionPtrOutputWithContext(ctx context.Context) ScalingRuleAlarmDimensionPtrOutput

type ScalingRuleAlarmDimensionInput added in v3.47.0

type ScalingRuleAlarmDimensionInput interface {
	pulumi.Input

	ToScalingRuleAlarmDimensionOutput() ScalingRuleAlarmDimensionOutput
	ToScalingRuleAlarmDimensionOutputWithContext(context.Context) ScalingRuleAlarmDimensionOutput
}

ScalingRuleAlarmDimensionInput is an input type that accepts ScalingRuleAlarmDimensionArgs and ScalingRuleAlarmDimensionOutput values. You can construct a concrete instance of `ScalingRuleAlarmDimensionInput` via:

ScalingRuleAlarmDimensionArgs{...}

type ScalingRuleAlarmDimensionOutput added in v3.47.0

type ScalingRuleAlarmDimensionOutput struct{ *pulumi.OutputState }

func (ScalingRuleAlarmDimensionOutput) DimensionKey added in v3.47.0

The dimension key of the metric.

func (ScalingRuleAlarmDimensionOutput) DimensionValue added in v3.47.0

The dimension value of the metric.

func (ScalingRuleAlarmDimensionOutput) ElementType added in v3.47.0

func (ScalingRuleAlarmDimensionOutput) ToScalingRuleAlarmDimensionOutput added in v3.47.0

func (o ScalingRuleAlarmDimensionOutput) ToScalingRuleAlarmDimensionOutput() ScalingRuleAlarmDimensionOutput

func (ScalingRuleAlarmDimensionOutput) ToScalingRuleAlarmDimensionOutputWithContext added in v3.47.0

func (o ScalingRuleAlarmDimensionOutput) ToScalingRuleAlarmDimensionOutputWithContext(ctx context.Context) ScalingRuleAlarmDimensionOutput

func (ScalingRuleAlarmDimensionOutput) ToScalingRuleAlarmDimensionPtrOutput added in v3.47.0

func (o ScalingRuleAlarmDimensionOutput) ToScalingRuleAlarmDimensionPtrOutput() ScalingRuleAlarmDimensionPtrOutput

func (ScalingRuleAlarmDimensionOutput) ToScalingRuleAlarmDimensionPtrOutputWithContext added in v3.47.0

func (o ScalingRuleAlarmDimensionOutput) ToScalingRuleAlarmDimensionPtrOutputWithContext(ctx context.Context) ScalingRuleAlarmDimensionPtrOutput

type ScalingRuleAlarmDimensionPtrInput added in v3.47.0

type ScalingRuleAlarmDimensionPtrInput interface {
	pulumi.Input

	ToScalingRuleAlarmDimensionPtrOutput() ScalingRuleAlarmDimensionPtrOutput
	ToScalingRuleAlarmDimensionPtrOutputWithContext(context.Context) ScalingRuleAlarmDimensionPtrOutput
}

ScalingRuleAlarmDimensionPtrInput is an input type that accepts ScalingRuleAlarmDimensionArgs, ScalingRuleAlarmDimensionPtr and ScalingRuleAlarmDimensionPtrOutput values. You can construct a concrete instance of `ScalingRuleAlarmDimensionPtrInput` via:

        ScalingRuleAlarmDimensionArgs{...}

or:

        nil

func ScalingRuleAlarmDimensionPtr added in v3.47.0

type ScalingRuleAlarmDimensionPtrOutput added in v3.47.0

type ScalingRuleAlarmDimensionPtrOutput struct{ *pulumi.OutputState }

func (ScalingRuleAlarmDimensionPtrOutput) DimensionKey added in v3.47.0

The dimension key of the metric.

func (ScalingRuleAlarmDimensionPtrOutput) DimensionValue added in v3.47.0

The dimension value of the metric.

func (ScalingRuleAlarmDimensionPtrOutput) Elem added in v3.47.0

func (ScalingRuleAlarmDimensionPtrOutput) ElementType added in v3.47.0

func (ScalingRuleAlarmDimensionPtrOutput) ToScalingRuleAlarmDimensionPtrOutput added in v3.47.0

func (o ScalingRuleAlarmDimensionPtrOutput) ToScalingRuleAlarmDimensionPtrOutput() ScalingRuleAlarmDimensionPtrOutput

func (ScalingRuleAlarmDimensionPtrOutput) ToScalingRuleAlarmDimensionPtrOutputWithContext added in v3.47.0

func (o ScalingRuleAlarmDimensionPtrOutput) ToScalingRuleAlarmDimensionPtrOutputWithContext(ctx context.Context) ScalingRuleAlarmDimensionPtrOutput

type ScalingRuleArgs

type ScalingRuleArgs struct {
	// Adjustment mode of a scaling rule. Optional values:
	// - QuantityChangeInCapacity: It is used to increase or decrease a specified number of ECS instances.
	// - PercentChangeInCapacity: It is used to increase or decrease a specified proportion of ECS instances.
	// - TotalCapacity: It is used to adjust the quantity of ECS instances in the current scaling group to a specified value.
	AdjustmentType pulumi.StringPtrInput
	// The number of ECS instances to be adjusted in the scaling rule. This parameter is required and applicable only to simple scaling rules. The number of ECS instances to be adjusted in a single scaling activity cannot exceed 500. Value range:
	// - QuantityChangeInCapacity:(0, 500] U (-500, 0]
	// - PercentChangeInCapacity:[0, 10000] U [-100, 0]
	// - TotalCapacity:[0, 1000]
	AdjustmentValue pulumi.IntPtrInput
	// AlarmDimension for StepScalingRule. See `alarmDimension` below.
	AlarmDimension ScalingRuleAlarmDimensionPtrInput
	// The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Value range: [0, 86,400], in seconds. The default value is empty,if not set, the return value will be 0, which is the default value of integer.
	Cooldown pulumi.IntPtrInput
	// Indicates whether scale in by the target tracking policy is disabled. Default to false.
	DisableScaleIn pulumi.BoolPtrInput
	// The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.
	EstimatedInstanceWarmup pulumi.IntPtrInput
	// The maximum number of ECS instances that can be added to the scaling group. If you specify InitialMaxSize, you must also specify PredictiveValueBehavior.
	InitialMaxSize pulumi.IntPtrInput
	// A CloudMonitor metric name.
	MetricName pulumi.StringPtrInput
	// The minimum number of instances that must be scaled. This parameter takes effect if you set ScalingRuleType to SimpleScalingRule or StepScalingRule, and AdjustmentType to PercentChangeInCapacity.
	MinAdjustmentMagnitude pulumi.IntPtrInput
	// The mode of the predictive scaling rule. Valid values: PredictAndScale, PredictOnly.
	PredictiveScalingMode pulumi.StringPtrInput
	// The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.
	PredictiveTaskBufferTime pulumi.IntPtrInput
	// The action on the predicted maximum value. Valid values: MaxOverridePredictiveValue, PredictiveValueOverrideMax, PredictiveValueOverrideMaxWithBuffer.
	PredictiveValueBehavior pulumi.StringPtrInput
	// The ratio based on which the predicted value is increased if you set PredictiveValueBehavior to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.
	PredictiveValueBuffer pulumi.IntPtrInput
	// The number of consecutive times that the event-triggered task created for scale-ins must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.
	ScaleInEvaluationCount pulumi.IntPtrInput
	// The number of consecutive times that the event-triggered task created for scale-outs must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.
	ScaleOutEvaluationCount pulumi.IntPtrInput
	// ID of the scaling group of a scaling rule.
	ScalingGroupId pulumi.StringInput
	// Name shown for the scaling rule, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores `_`, hypens `-`, and decimal point `.`. If this parameter value is not specified, the default value is scaling rule id.
	ScalingRuleName pulumi.StringPtrInput
	// The scaling rule type, either "SimpleScalingRule", "TargetTrackingScalingRule", "StepScalingRule", "PredictiveScalingRule". Default to "SimpleScalingRule".
	ScalingRuleType pulumi.StringPtrInput
	// Steps for StepScalingRule. See `stepAdjustment` below.
	StepAdjustments ScalingRuleStepAdjustmentArrayInput
	// The target value for the metric.
	TargetValue pulumi.Float64PtrInput
}

The set of arguments for constructing a ScalingRule resource.

func (ScalingRuleArgs) ElementType

func (ScalingRuleArgs) ElementType() reflect.Type

type ScalingRuleArray

type ScalingRuleArray []ScalingRuleInput

func (ScalingRuleArray) ElementType

func (ScalingRuleArray) ElementType() reflect.Type

func (ScalingRuleArray) ToScalingRuleArrayOutput

func (i ScalingRuleArray) ToScalingRuleArrayOutput() ScalingRuleArrayOutput

func (ScalingRuleArray) ToScalingRuleArrayOutputWithContext

func (i ScalingRuleArray) ToScalingRuleArrayOutputWithContext(ctx context.Context) ScalingRuleArrayOutput

type ScalingRuleArrayInput

type ScalingRuleArrayInput interface {
	pulumi.Input

	ToScalingRuleArrayOutput() ScalingRuleArrayOutput
	ToScalingRuleArrayOutputWithContext(context.Context) ScalingRuleArrayOutput
}

ScalingRuleArrayInput is an input type that accepts ScalingRuleArray and ScalingRuleArrayOutput values. You can construct a concrete instance of `ScalingRuleArrayInput` via:

ScalingRuleArray{ ScalingRuleArgs{...} }

type ScalingRuleArrayOutput

type ScalingRuleArrayOutput struct{ *pulumi.OutputState }

func (ScalingRuleArrayOutput) ElementType

func (ScalingRuleArrayOutput) ElementType() reflect.Type

func (ScalingRuleArrayOutput) Index

func (ScalingRuleArrayOutput) ToScalingRuleArrayOutput

func (o ScalingRuleArrayOutput) ToScalingRuleArrayOutput() ScalingRuleArrayOutput

func (ScalingRuleArrayOutput) ToScalingRuleArrayOutputWithContext

func (o ScalingRuleArrayOutput) ToScalingRuleArrayOutputWithContext(ctx context.Context) ScalingRuleArrayOutput

type ScalingRuleInput

type ScalingRuleInput interface {
	pulumi.Input

	ToScalingRuleOutput() ScalingRuleOutput
	ToScalingRuleOutputWithContext(ctx context.Context) ScalingRuleOutput
}

type ScalingRuleMap

type ScalingRuleMap map[string]ScalingRuleInput

func (ScalingRuleMap) ElementType

func (ScalingRuleMap) ElementType() reflect.Type

func (ScalingRuleMap) ToScalingRuleMapOutput

func (i ScalingRuleMap) ToScalingRuleMapOutput() ScalingRuleMapOutput

func (ScalingRuleMap) ToScalingRuleMapOutputWithContext

func (i ScalingRuleMap) ToScalingRuleMapOutputWithContext(ctx context.Context) ScalingRuleMapOutput

type ScalingRuleMapInput

type ScalingRuleMapInput interface {
	pulumi.Input

	ToScalingRuleMapOutput() ScalingRuleMapOutput
	ToScalingRuleMapOutputWithContext(context.Context) ScalingRuleMapOutput
}

ScalingRuleMapInput is an input type that accepts ScalingRuleMap and ScalingRuleMapOutput values. You can construct a concrete instance of `ScalingRuleMapInput` via:

ScalingRuleMap{ "key": ScalingRuleArgs{...} }

type ScalingRuleMapOutput

type ScalingRuleMapOutput struct{ *pulumi.OutputState }

func (ScalingRuleMapOutput) ElementType

func (ScalingRuleMapOutput) ElementType() reflect.Type

func (ScalingRuleMapOutput) MapIndex

func (ScalingRuleMapOutput) ToScalingRuleMapOutput

func (o ScalingRuleMapOutput) ToScalingRuleMapOutput() ScalingRuleMapOutput

func (ScalingRuleMapOutput) ToScalingRuleMapOutputWithContext

func (o ScalingRuleMapOutput) ToScalingRuleMapOutputWithContext(ctx context.Context) ScalingRuleMapOutput

type ScalingRuleOutput

type ScalingRuleOutput struct{ *pulumi.OutputState }

func (ScalingRuleOutput) AdjustmentType added in v3.27.0

func (o ScalingRuleOutput) AdjustmentType() pulumi.StringPtrOutput

Adjustment mode of a scaling rule. Optional values: - QuantityChangeInCapacity: It is used to increase or decrease a specified number of ECS instances. - PercentChangeInCapacity: It is used to increase or decrease a specified proportion of ECS instances. - TotalCapacity: It is used to adjust the quantity of ECS instances in the current scaling group to a specified value.

func (ScalingRuleOutput) AdjustmentValue added in v3.27.0

func (o ScalingRuleOutput) AdjustmentValue() pulumi.IntPtrOutput

The number of ECS instances to be adjusted in the scaling rule. This parameter is required and applicable only to simple scaling rules. The number of ECS instances to be adjusted in a single scaling activity cannot exceed 500. Value range: - QuantityChangeInCapacity:(0, 500] U (-500, 0] - PercentChangeInCapacity:[0, 10000] U [-100, 0] - TotalCapacity:[0, 1000]

func (ScalingRuleOutput) AlarmDimension added in v3.47.0

AlarmDimension for StepScalingRule. See `alarmDimension` below.

func (ScalingRuleOutput) Ari added in v3.27.0

The unique identifier of the scaling rule.

func (ScalingRuleOutput) Cooldown added in v3.27.0

func (o ScalingRuleOutput) Cooldown() pulumi.IntPtrOutput

The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Value range: [0, 86,400], in seconds. The default value is empty,if not set, the return value will be 0, which is the default value of integer.

func (ScalingRuleOutput) DisableScaleIn added in v3.27.0

func (o ScalingRuleOutput) DisableScaleIn() pulumi.BoolPtrOutput

Indicates whether scale in by the target tracking policy is disabled. Default to false.

func (ScalingRuleOutput) ElementType

func (ScalingRuleOutput) ElementType() reflect.Type

func (ScalingRuleOutput) EstimatedInstanceWarmup added in v3.27.0

func (o ScalingRuleOutput) EstimatedInstanceWarmup() pulumi.IntOutput

The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.

func (ScalingRuleOutput) InitialMaxSize added in v3.54.0

func (o ScalingRuleOutput) InitialMaxSize() pulumi.IntOutput

The maximum number of ECS instances that can be added to the scaling group. If you specify InitialMaxSize, you must also specify PredictiveValueBehavior.

func (ScalingRuleOutput) MetricName added in v3.27.0

func (o ScalingRuleOutput) MetricName() pulumi.StringPtrOutput

A CloudMonitor metric name.

func (ScalingRuleOutput) MinAdjustmentMagnitude added in v3.53.0

func (o ScalingRuleOutput) MinAdjustmentMagnitude() pulumi.IntPtrOutput

The minimum number of instances that must be scaled. This parameter takes effect if you set ScalingRuleType to SimpleScalingRule or StepScalingRule, and AdjustmentType to PercentChangeInCapacity.

func (ScalingRuleOutput) PredictiveScalingMode added in v3.54.0

func (o ScalingRuleOutput) PredictiveScalingMode() pulumi.StringOutput

The mode of the predictive scaling rule. Valid values: PredictAndScale, PredictOnly.

func (ScalingRuleOutput) PredictiveTaskBufferTime added in v3.54.0

func (o ScalingRuleOutput) PredictiveTaskBufferTime() pulumi.IntOutput

The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.

func (ScalingRuleOutput) PredictiveValueBehavior added in v3.54.0

func (o ScalingRuleOutput) PredictiveValueBehavior() pulumi.StringOutput

The action on the predicted maximum value. Valid values: MaxOverridePredictiveValue, PredictiveValueOverrideMax, PredictiveValueOverrideMaxWithBuffer.

func (ScalingRuleOutput) PredictiveValueBuffer added in v3.54.0

func (o ScalingRuleOutput) PredictiveValueBuffer() pulumi.IntOutput

The ratio based on which the predicted value is increased if you set PredictiveValueBehavior to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.

func (ScalingRuleOutput) ScaleInEvaluationCount added in v3.53.0

func (o ScalingRuleOutput) ScaleInEvaluationCount() pulumi.IntOutput

The number of consecutive times that the event-triggered task created for scale-ins must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.

func (ScalingRuleOutput) ScaleOutEvaluationCount added in v3.53.0

func (o ScalingRuleOutput) ScaleOutEvaluationCount() pulumi.IntOutput

The number of consecutive times that the event-triggered task created for scale-outs must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.

func (ScalingRuleOutput) ScalingGroupId added in v3.27.0

func (o ScalingRuleOutput) ScalingGroupId() pulumi.StringOutput

ID of the scaling group of a scaling rule.

func (ScalingRuleOutput) ScalingRuleName added in v3.27.0

func (o ScalingRuleOutput) ScalingRuleName() pulumi.StringOutput

Name shown for the scaling rule, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores `_`, hypens `-`, and decimal point `.`. If this parameter value is not specified, the default value is scaling rule id.

func (ScalingRuleOutput) ScalingRuleType added in v3.27.0

func (o ScalingRuleOutput) ScalingRuleType() pulumi.StringPtrOutput

The scaling rule type, either "SimpleScalingRule", "TargetTrackingScalingRule", "StepScalingRule", "PredictiveScalingRule". Default to "SimpleScalingRule".

func (ScalingRuleOutput) StepAdjustments added in v3.27.0

Steps for StepScalingRule. See `stepAdjustment` below.

func (ScalingRuleOutput) TargetValue added in v3.27.0

func (o ScalingRuleOutput) TargetValue() pulumi.Float64PtrOutput

The target value for the metric.

func (ScalingRuleOutput) ToScalingRuleOutput

func (o ScalingRuleOutput) ToScalingRuleOutput() ScalingRuleOutput

func (ScalingRuleOutput) ToScalingRuleOutputWithContext

func (o ScalingRuleOutput) ToScalingRuleOutputWithContext(ctx context.Context) ScalingRuleOutput

type ScalingRuleState

type ScalingRuleState struct {
	// Adjustment mode of a scaling rule. Optional values:
	// - QuantityChangeInCapacity: It is used to increase or decrease a specified number of ECS instances.
	// - PercentChangeInCapacity: It is used to increase or decrease a specified proportion of ECS instances.
	// - TotalCapacity: It is used to adjust the quantity of ECS instances in the current scaling group to a specified value.
	AdjustmentType pulumi.StringPtrInput
	// The number of ECS instances to be adjusted in the scaling rule. This parameter is required and applicable only to simple scaling rules. The number of ECS instances to be adjusted in a single scaling activity cannot exceed 500. Value range:
	// - QuantityChangeInCapacity:(0, 500] U (-500, 0]
	// - PercentChangeInCapacity:[0, 10000] U [-100, 0]
	// - TotalCapacity:[0, 1000]
	AdjustmentValue pulumi.IntPtrInput
	// AlarmDimension for StepScalingRule. See `alarmDimension` below.
	AlarmDimension ScalingRuleAlarmDimensionPtrInput
	// The unique identifier of the scaling rule.
	Ari pulumi.StringPtrInput
	// The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Value range: [0, 86,400], in seconds. The default value is empty,if not set, the return value will be 0, which is the default value of integer.
	Cooldown pulumi.IntPtrInput
	// Indicates whether scale in by the target tracking policy is disabled. Default to false.
	DisableScaleIn pulumi.BoolPtrInput
	// The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.
	EstimatedInstanceWarmup pulumi.IntPtrInput
	// The maximum number of ECS instances that can be added to the scaling group. If you specify InitialMaxSize, you must also specify PredictiveValueBehavior.
	InitialMaxSize pulumi.IntPtrInput
	// A CloudMonitor metric name.
	MetricName pulumi.StringPtrInput
	// The minimum number of instances that must be scaled. This parameter takes effect if you set ScalingRuleType to SimpleScalingRule or StepScalingRule, and AdjustmentType to PercentChangeInCapacity.
	MinAdjustmentMagnitude pulumi.IntPtrInput
	// The mode of the predictive scaling rule. Valid values: PredictAndScale, PredictOnly.
	PredictiveScalingMode pulumi.StringPtrInput
	// The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.
	PredictiveTaskBufferTime pulumi.IntPtrInput
	// The action on the predicted maximum value. Valid values: MaxOverridePredictiveValue, PredictiveValueOverrideMax, PredictiveValueOverrideMaxWithBuffer.
	PredictiveValueBehavior pulumi.StringPtrInput
	// The ratio based on which the predicted value is increased if you set PredictiveValueBehavior to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.
	PredictiveValueBuffer pulumi.IntPtrInput
	// The number of consecutive times that the event-triggered task created for scale-ins must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.
	ScaleInEvaluationCount pulumi.IntPtrInput
	// The number of consecutive times that the event-triggered task created for scale-outs must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.
	ScaleOutEvaluationCount pulumi.IntPtrInput
	// ID of the scaling group of a scaling rule.
	ScalingGroupId pulumi.StringPtrInput
	// Name shown for the scaling rule, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores `_`, hypens `-`, and decimal point `.`. If this parameter value is not specified, the default value is scaling rule id.
	ScalingRuleName pulumi.StringPtrInput
	// The scaling rule type, either "SimpleScalingRule", "TargetTrackingScalingRule", "StepScalingRule", "PredictiveScalingRule". Default to "SimpleScalingRule".
	ScalingRuleType pulumi.StringPtrInput
	// Steps for StepScalingRule. See `stepAdjustment` below.
	StepAdjustments ScalingRuleStepAdjustmentArrayInput
	// The target value for the metric.
	TargetValue pulumi.Float64PtrInput
}

func (ScalingRuleState) ElementType

func (ScalingRuleState) ElementType() reflect.Type

type ScalingRuleStepAdjustment

type ScalingRuleStepAdjustment struct {
	// The lower bound of step.
	MetricIntervalLowerBound *string `pulumi:"metricIntervalLowerBound"`
	// The upper bound of step.
	MetricIntervalUpperBound *string `pulumi:"metricIntervalUpperBound"`
	// The adjust value of step.
	ScalingAdjustment *int `pulumi:"scalingAdjustment"`
}

type ScalingRuleStepAdjustmentArgs

type ScalingRuleStepAdjustmentArgs struct {
	// The lower bound of step.
	MetricIntervalLowerBound pulumi.StringPtrInput `pulumi:"metricIntervalLowerBound"`
	// The upper bound of step.
	MetricIntervalUpperBound pulumi.StringPtrInput `pulumi:"metricIntervalUpperBound"`
	// The adjust value of step.
	ScalingAdjustment pulumi.IntPtrInput `pulumi:"scalingAdjustment"`
}

func (ScalingRuleStepAdjustmentArgs) ElementType

func (ScalingRuleStepAdjustmentArgs) ToScalingRuleStepAdjustmentOutput

func (i ScalingRuleStepAdjustmentArgs) ToScalingRuleStepAdjustmentOutput() ScalingRuleStepAdjustmentOutput

func (ScalingRuleStepAdjustmentArgs) ToScalingRuleStepAdjustmentOutputWithContext

func (i ScalingRuleStepAdjustmentArgs) ToScalingRuleStepAdjustmentOutputWithContext(ctx context.Context) ScalingRuleStepAdjustmentOutput

type ScalingRuleStepAdjustmentArray

type ScalingRuleStepAdjustmentArray []ScalingRuleStepAdjustmentInput

func (ScalingRuleStepAdjustmentArray) ElementType

func (ScalingRuleStepAdjustmentArray) ToScalingRuleStepAdjustmentArrayOutput

func (i ScalingRuleStepAdjustmentArray) ToScalingRuleStepAdjustmentArrayOutput() ScalingRuleStepAdjustmentArrayOutput

func (ScalingRuleStepAdjustmentArray) ToScalingRuleStepAdjustmentArrayOutputWithContext

func (i ScalingRuleStepAdjustmentArray) ToScalingRuleStepAdjustmentArrayOutputWithContext(ctx context.Context) ScalingRuleStepAdjustmentArrayOutput

type ScalingRuleStepAdjustmentArrayInput

type ScalingRuleStepAdjustmentArrayInput interface {
	pulumi.Input

	ToScalingRuleStepAdjustmentArrayOutput() ScalingRuleStepAdjustmentArrayOutput
	ToScalingRuleStepAdjustmentArrayOutputWithContext(context.Context) ScalingRuleStepAdjustmentArrayOutput
}

ScalingRuleStepAdjustmentArrayInput is an input type that accepts ScalingRuleStepAdjustmentArray and ScalingRuleStepAdjustmentArrayOutput values. You can construct a concrete instance of `ScalingRuleStepAdjustmentArrayInput` via:

ScalingRuleStepAdjustmentArray{ ScalingRuleStepAdjustmentArgs{...} }

type ScalingRuleStepAdjustmentArrayOutput

type ScalingRuleStepAdjustmentArrayOutput struct{ *pulumi.OutputState }

func (ScalingRuleStepAdjustmentArrayOutput) ElementType

func (ScalingRuleStepAdjustmentArrayOutput) Index

func (ScalingRuleStepAdjustmentArrayOutput) ToScalingRuleStepAdjustmentArrayOutput

func (o ScalingRuleStepAdjustmentArrayOutput) ToScalingRuleStepAdjustmentArrayOutput() ScalingRuleStepAdjustmentArrayOutput

func (ScalingRuleStepAdjustmentArrayOutput) ToScalingRuleStepAdjustmentArrayOutputWithContext

func (o ScalingRuleStepAdjustmentArrayOutput) ToScalingRuleStepAdjustmentArrayOutputWithContext(ctx context.Context) ScalingRuleStepAdjustmentArrayOutput

type ScalingRuleStepAdjustmentInput

type ScalingRuleStepAdjustmentInput interface {
	pulumi.Input

	ToScalingRuleStepAdjustmentOutput() ScalingRuleStepAdjustmentOutput
	ToScalingRuleStepAdjustmentOutputWithContext(context.Context) ScalingRuleStepAdjustmentOutput
}

ScalingRuleStepAdjustmentInput is an input type that accepts ScalingRuleStepAdjustmentArgs and ScalingRuleStepAdjustmentOutput values. You can construct a concrete instance of `ScalingRuleStepAdjustmentInput` via:

ScalingRuleStepAdjustmentArgs{...}

type ScalingRuleStepAdjustmentOutput

type ScalingRuleStepAdjustmentOutput struct{ *pulumi.OutputState }

func (ScalingRuleStepAdjustmentOutput) ElementType

func (ScalingRuleStepAdjustmentOutput) MetricIntervalLowerBound

func (o ScalingRuleStepAdjustmentOutput) MetricIntervalLowerBound() pulumi.StringPtrOutput

The lower bound of step.

func (ScalingRuleStepAdjustmentOutput) MetricIntervalUpperBound

func (o ScalingRuleStepAdjustmentOutput) MetricIntervalUpperBound() pulumi.StringPtrOutput

The upper bound of step.

func (ScalingRuleStepAdjustmentOutput) ScalingAdjustment

func (o ScalingRuleStepAdjustmentOutput) ScalingAdjustment() pulumi.IntPtrOutput

The adjust value of step.

func (ScalingRuleStepAdjustmentOutput) ToScalingRuleStepAdjustmentOutput

func (o ScalingRuleStepAdjustmentOutput) ToScalingRuleStepAdjustmentOutput() ScalingRuleStepAdjustmentOutput

func (ScalingRuleStepAdjustmentOutput) ToScalingRuleStepAdjustmentOutputWithContext

func (o ScalingRuleStepAdjustmentOutput) ToScalingRuleStepAdjustmentOutputWithContext(ctx context.Context) ScalingRuleStepAdjustmentOutput

type Schedule

type Schedule struct {
	pulumi.CustomResourceState

	Description          pulumi.StringOutput    `pulumi:"description"`
	DesiredCapacity      pulumi.IntPtrOutput    `pulumi:"desiredCapacity"`
	LaunchExpirationTime pulumi.IntPtrOutput    `pulumi:"launchExpirationTime"`
	LaunchTime           pulumi.StringPtrOutput `pulumi:"launchTime"`
	MaxValue             pulumi.IntPtrOutput    `pulumi:"maxValue"`
	MinValue             pulumi.IntPtrOutput    `pulumi:"minValue"`
	RecurrenceEndTime    pulumi.StringOutput    `pulumi:"recurrenceEndTime"`
	RecurrenceType       pulumi.StringOutput    `pulumi:"recurrenceType"`
	RecurrenceValue      pulumi.StringOutput    `pulumi:"recurrenceValue"`
	ScalingGroupId       pulumi.StringOutput    `pulumi:"scalingGroupId"`
	ScheduledAction      pulumi.StringPtrOutput `pulumi:"scheduledAction"`
	ScheduledTaskName    pulumi.StringPtrOutput `pulumi:"scheduledTaskName"`
	TaskEnabled          pulumi.BoolPtrOutput   `pulumi:"taskEnabled"`
}

> **NOTE:** This resource has been deprecated from v1.45.0. New resource `ess.ScheduledTask` will replace.

func GetSchedule

func GetSchedule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ScheduleState, opts ...pulumi.ResourceOption) (*Schedule, error)

GetSchedule gets an existing Schedule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSchedule

func NewSchedule(ctx *pulumi.Context,
	name string, args *ScheduleArgs, opts ...pulumi.ResourceOption) (*Schedule, error)

NewSchedule registers a new resource with the given unique name, arguments, and options.

func (*Schedule) ElementType

func (*Schedule) ElementType() reflect.Type

func (*Schedule) ToScheduleOutput

func (i *Schedule) ToScheduleOutput() ScheduleOutput

func (*Schedule) ToScheduleOutputWithContext

func (i *Schedule) ToScheduleOutputWithContext(ctx context.Context) ScheduleOutput

type ScheduleArgs

type ScheduleArgs struct {
	Description          pulumi.StringPtrInput
	DesiredCapacity      pulumi.IntPtrInput
	LaunchExpirationTime pulumi.IntPtrInput
	LaunchTime           pulumi.StringPtrInput
	MaxValue             pulumi.IntPtrInput
	MinValue             pulumi.IntPtrInput
	RecurrenceEndTime    pulumi.StringPtrInput
	RecurrenceType       pulumi.StringPtrInput
	RecurrenceValue      pulumi.StringPtrInput
	ScalingGroupId       pulumi.StringPtrInput
	ScheduledAction      pulumi.StringPtrInput
	ScheduledTaskName    pulumi.StringPtrInput
	TaskEnabled          pulumi.BoolPtrInput
}

The set of arguments for constructing a Schedule resource.

func (ScheduleArgs) ElementType

func (ScheduleArgs) ElementType() reflect.Type

type ScheduleArray

type ScheduleArray []ScheduleInput

func (ScheduleArray) ElementType

func (ScheduleArray) ElementType() reflect.Type

func (ScheduleArray) ToScheduleArrayOutput

func (i ScheduleArray) ToScheduleArrayOutput() ScheduleArrayOutput

func (ScheduleArray) ToScheduleArrayOutputWithContext

func (i ScheduleArray) ToScheduleArrayOutputWithContext(ctx context.Context) ScheduleArrayOutput

type ScheduleArrayInput

type ScheduleArrayInput interface {
	pulumi.Input

	ToScheduleArrayOutput() ScheduleArrayOutput
	ToScheduleArrayOutputWithContext(context.Context) ScheduleArrayOutput
}

ScheduleArrayInput is an input type that accepts ScheduleArray and ScheduleArrayOutput values. You can construct a concrete instance of `ScheduleArrayInput` via:

ScheduleArray{ ScheduleArgs{...} }

type ScheduleArrayOutput

type ScheduleArrayOutput struct{ *pulumi.OutputState }

func (ScheduleArrayOutput) ElementType

func (ScheduleArrayOutput) ElementType() reflect.Type

func (ScheduleArrayOutput) Index

func (ScheduleArrayOutput) ToScheduleArrayOutput

func (o ScheduleArrayOutput) ToScheduleArrayOutput() ScheduleArrayOutput

func (ScheduleArrayOutput) ToScheduleArrayOutputWithContext

func (o ScheduleArrayOutput) ToScheduleArrayOutputWithContext(ctx context.Context) ScheduleArrayOutput

type ScheduleInput

type ScheduleInput interface {
	pulumi.Input

	ToScheduleOutput() ScheduleOutput
	ToScheduleOutputWithContext(ctx context.Context) ScheduleOutput
}

type ScheduleMap

type ScheduleMap map[string]ScheduleInput

func (ScheduleMap) ElementType

func (ScheduleMap) ElementType() reflect.Type

func (ScheduleMap) ToScheduleMapOutput

func (i ScheduleMap) ToScheduleMapOutput() ScheduleMapOutput

func (ScheduleMap) ToScheduleMapOutputWithContext

func (i ScheduleMap) ToScheduleMapOutputWithContext(ctx context.Context) ScheduleMapOutput

type ScheduleMapInput

type ScheduleMapInput interface {
	pulumi.Input

	ToScheduleMapOutput() ScheduleMapOutput
	ToScheduleMapOutputWithContext(context.Context) ScheduleMapOutput
}

ScheduleMapInput is an input type that accepts ScheduleMap and ScheduleMapOutput values. You can construct a concrete instance of `ScheduleMapInput` via:

ScheduleMap{ "key": ScheduleArgs{...} }

type ScheduleMapOutput

type ScheduleMapOutput struct{ *pulumi.OutputState }

func (ScheduleMapOutput) ElementType

func (ScheduleMapOutput) ElementType() reflect.Type

func (ScheduleMapOutput) MapIndex

func (ScheduleMapOutput) ToScheduleMapOutput

func (o ScheduleMapOutput) ToScheduleMapOutput() ScheduleMapOutput

func (ScheduleMapOutput) ToScheduleMapOutputWithContext

func (o ScheduleMapOutput) ToScheduleMapOutputWithContext(ctx context.Context) ScheduleMapOutput

type ScheduleOutput

type ScheduleOutput struct{ *pulumi.OutputState }

func (ScheduleOutput) Description added in v3.27.0

func (o ScheduleOutput) Description() pulumi.StringOutput

func (ScheduleOutput) DesiredCapacity added in v3.27.0

func (o ScheduleOutput) DesiredCapacity() pulumi.IntPtrOutput

func (ScheduleOutput) ElementType

func (ScheduleOutput) ElementType() reflect.Type

func (ScheduleOutput) LaunchExpirationTime added in v3.27.0

func (o ScheduleOutput) LaunchExpirationTime() pulumi.IntPtrOutput

func (ScheduleOutput) LaunchTime added in v3.27.0

func (o ScheduleOutput) LaunchTime() pulumi.StringPtrOutput

func (ScheduleOutput) MaxValue added in v3.27.0

func (o ScheduleOutput) MaxValue() pulumi.IntPtrOutput

func (ScheduleOutput) MinValue added in v3.27.0

func (o ScheduleOutput) MinValue() pulumi.IntPtrOutput

func (ScheduleOutput) RecurrenceEndTime added in v3.27.0

func (o ScheduleOutput) RecurrenceEndTime() pulumi.StringOutput

func (ScheduleOutput) RecurrenceType added in v3.27.0

func (o ScheduleOutput) RecurrenceType() pulumi.StringOutput

func (ScheduleOutput) RecurrenceValue added in v3.27.0

func (o ScheduleOutput) RecurrenceValue() pulumi.StringOutput

func (ScheduleOutput) ScalingGroupId added in v3.27.0

func (o ScheduleOutput) ScalingGroupId() pulumi.StringOutput

func (ScheduleOutput) ScheduledAction added in v3.27.0

func (o ScheduleOutput) ScheduledAction() pulumi.StringPtrOutput

func (ScheduleOutput) ScheduledTaskName added in v3.27.0

func (o ScheduleOutput) ScheduledTaskName() pulumi.StringPtrOutput

func (ScheduleOutput) TaskEnabled added in v3.27.0

func (o ScheduleOutput) TaskEnabled() pulumi.BoolPtrOutput

func (ScheduleOutput) ToScheduleOutput

func (o ScheduleOutput) ToScheduleOutput() ScheduleOutput

func (ScheduleOutput) ToScheduleOutputWithContext

func (o ScheduleOutput) ToScheduleOutputWithContext(ctx context.Context) ScheduleOutput

type ScheduleState

type ScheduleState struct {
	Description          pulumi.StringPtrInput
	DesiredCapacity      pulumi.IntPtrInput
	LaunchExpirationTime pulumi.IntPtrInput
	LaunchTime           pulumi.StringPtrInput
	MaxValue             pulumi.IntPtrInput
	MinValue             pulumi.IntPtrInput
	RecurrenceEndTime    pulumi.StringPtrInput
	RecurrenceType       pulumi.StringPtrInput
	RecurrenceValue      pulumi.StringPtrInput
	ScalingGroupId       pulumi.StringPtrInput
	ScheduledAction      pulumi.StringPtrInput
	ScheduledTaskName    pulumi.StringPtrInput
	TaskEnabled          pulumi.BoolPtrInput
}

func (ScheduleState) ElementType

func (ScheduleState) ElementType() reflect.Type

type ScheduledTask

type ScheduledTask struct {
	pulumi.CustomResourceState

	// Description of the scheduled task, which is 2-200 characters (English or Chinese) long.
	Description pulumi.StringOutput `pulumi:"description"`
	// The expected number of instances in a scaling group when the scaling method of the scheduled task is to specify the number of instances in a scaling group. **NOTE:** You must specify the `DesiredCapacity` parameter when you create the scaling group.
	DesiredCapacity pulumi.IntPtrOutput `pulumi:"desiredCapacity"`
	// The time period during which a failed scheduled task is retried. Unit: seconds. Valid values: 0 to 21600. Default value: 600
	LaunchExpirationTime pulumi.IntPtrOutput `pulumi:"launchExpirationTime"`
	// The time at which the scheduled task is triggered. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format.
	// The time must be in UTC. You cannot enter a time point later than 90 days from the date of scheduled task creation.
	// If the `recurrenceType` parameter is specified, the task is executed repeatedly at the time specified by LaunchTime.
	// Otherwise, the task is only executed once at the date and time specified by LaunchTime.
	LaunchTime pulumi.StringPtrOutput `pulumi:"launchTime"`
	// The maximum number of instances in a scaling group when the scaling method of the scheduled task is to specify the number of instances in a scaling group.
	MaxValue pulumi.IntPtrOutput `pulumi:"maxValue"`
	// The minimum number of instances in a scaling group when the scaling method of the scheduled task is to specify the number of instances in a scaling group.
	MinValue pulumi.IntPtrOutput `pulumi:"minValue"`
	// Specifies the end time after which the scheduled task is no longer repeated. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format.
	// The time must be in UTC. You cannot enter a time point later than 365 days from the date of scheduled task creation. **NOTE:** You must specify `RecurrenceType`, `RecurrenceValue`, and `RecurrenceEndTime` at the same time.
	RecurrenceEndTime pulumi.StringOutput `pulumi:"recurrenceEndTime"`
	// Specifies the recurrence type of the scheduled task. **NOTE:** You must specify `RecurrenceType`, `RecurrenceValue`, and `RecurrenceEndTime` at the same time. Valid values:
	// - Daily: The scheduled task is executed once every specified number of days.
	// - Weekly: The scheduled task is executed on each specified day of a week.
	// - Monthly: The scheduled task is executed on each specified day of a month.
	// - Cron: (Available in 1.60.0+) The scheduled task is executed based on the specified cron expression.
	RecurrenceType pulumi.StringOutput `pulumi:"recurrenceType"`
	// Specifies how often a scheduled task recurs. **NOTE:** You must specify `RecurrenceType`, `RecurrenceValue`, and `RecurrenceEndTime` at the same time. The valid value depends on `recurrenceType`
	// - Daily: You can enter one value. Valid values: 1 to 31.
	// - Weekly: You can enter multiple values and separate them with commas (,). For example, the values 0 to 6 correspond to the days of the week in sequence from Sunday to Saturday.
	// - Monthly: You can enter two values in A-B format. Valid values of A and B: 1 to 31. The value of B must be greater than or equal to the value of A.
	// - Cron: You can enter a cron expression which is written in UTC and consists of five fields: minute, hour, day of month (date), month, and day of week. The expression can contain wildcard characters including commas (,), question marks (?), hyphens (-), asterisks (*), number signs (#), forward slashes (/), and the L and W letters.
	RecurrenceValue pulumi.StringOutput `pulumi:"recurrenceValue"`
	// The ID of the scaling group where the number of instances is modified when the scheduled task is triggered. After the `ScalingGroupId` parameter is specified, the scaling method of the scheduled task is to specify the number of instances in a scaling group. You must specify at least one of the following parameters: `MinValue`, `MaxValue`, and `DesiredCapacity`. **NOTE:** You cannot specify `scheduledAction` and `scalingGroupId` at the same time.
	ScalingGroupId pulumi.StringOutput `pulumi:"scalingGroupId"`
	// The operation to be performed when a scheduled task is triggered. Enter the unique identifier of a scaling rule. **NOTE:** You cannot specify `scheduledAction` and `scalingGroupId` at the same time.
	ScheduledAction pulumi.StringPtrOutput `pulumi:"scheduledAction"`
	// Display name of the scheduled task, which must be 2-40 characters (English or Chinese) long.
	ScheduledTaskName pulumi.StringPtrOutput `pulumi:"scheduledTaskName"`
	// Specifies whether to start the scheduled task. Default to true.
	TaskEnabled pulumi.BoolPtrOutput `pulumi:"taskEnabled"`
}

Provides a ESS schedule resource.

For information about ess schedule task, see [Scheduled Tasks](https://www.alibabacloud.com/help/en/auto-scaling/latest/createscheduledtask).

> **NOTE:** Available since v1.60.0.

## Import

ESS schedule task can be imported using the id, e.g.

```sh $ pulumi import alicloud:ess/scheduledTask:ScheduledTask example abc123456 ```

func GetScheduledTask

func GetScheduledTask(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ScheduledTaskState, opts ...pulumi.ResourceOption) (*ScheduledTask, error)

GetScheduledTask gets an existing ScheduledTask resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewScheduledTask

func NewScheduledTask(ctx *pulumi.Context,
	name string, args *ScheduledTaskArgs, opts ...pulumi.ResourceOption) (*ScheduledTask, error)

NewScheduledTask registers a new resource with the given unique name, arguments, and options.

func (*ScheduledTask) ElementType

func (*ScheduledTask) ElementType() reflect.Type

func (*ScheduledTask) ToScheduledTaskOutput

func (i *ScheduledTask) ToScheduledTaskOutput() ScheduledTaskOutput

func (*ScheduledTask) ToScheduledTaskOutputWithContext

func (i *ScheduledTask) ToScheduledTaskOutputWithContext(ctx context.Context) ScheduledTaskOutput

type ScheduledTaskArgs

type ScheduledTaskArgs struct {
	// Description of the scheduled task, which is 2-200 characters (English or Chinese) long.
	Description pulumi.StringPtrInput
	// The expected number of instances in a scaling group when the scaling method of the scheduled task is to specify the number of instances in a scaling group. **NOTE:** You must specify the `DesiredCapacity` parameter when you create the scaling group.
	DesiredCapacity pulumi.IntPtrInput
	// The time period during which a failed scheduled task is retried. Unit: seconds. Valid values: 0 to 21600. Default value: 600
	LaunchExpirationTime pulumi.IntPtrInput
	// The time at which the scheduled task is triggered. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format.
	// The time must be in UTC. You cannot enter a time point later than 90 days from the date of scheduled task creation.
	// If the `recurrenceType` parameter is specified, the task is executed repeatedly at the time specified by LaunchTime.
	// Otherwise, the task is only executed once at the date and time specified by LaunchTime.
	LaunchTime pulumi.StringPtrInput
	// The maximum number of instances in a scaling group when the scaling method of the scheduled task is to specify the number of instances in a scaling group.
	MaxValue pulumi.IntPtrInput
	// The minimum number of instances in a scaling group when the scaling method of the scheduled task is to specify the number of instances in a scaling group.
	MinValue pulumi.IntPtrInput
	// Specifies the end time after which the scheduled task is no longer repeated. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format.
	// The time must be in UTC. You cannot enter a time point later than 365 days from the date of scheduled task creation. **NOTE:** You must specify `RecurrenceType`, `RecurrenceValue`, and `RecurrenceEndTime` at the same time.
	RecurrenceEndTime pulumi.StringPtrInput
	// Specifies the recurrence type of the scheduled task. **NOTE:** You must specify `RecurrenceType`, `RecurrenceValue`, and `RecurrenceEndTime` at the same time. Valid values:
	// - Daily: The scheduled task is executed once every specified number of days.
	// - Weekly: The scheduled task is executed on each specified day of a week.
	// - Monthly: The scheduled task is executed on each specified day of a month.
	// - Cron: (Available in 1.60.0+) The scheduled task is executed based on the specified cron expression.
	RecurrenceType pulumi.StringPtrInput
	// Specifies how often a scheduled task recurs. **NOTE:** You must specify `RecurrenceType`, `RecurrenceValue`, and `RecurrenceEndTime` at the same time. The valid value depends on `recurrenceType`
	// - Daily: You can enter one value. Valid values: 1 to 31.
	// - Weekly: You can enter multiple values and separate them with commas (,). For example, the values 0 to 6 correspond to the days of the week in sequence from Sunday to Saturday.
	// - Monthly: You can enter two values in A-B format. Valid values of A and B: 1 to 31. The value of B must be greater than or equal to the value of A.
	// - Cron: You can enter a cron expression which is written in UTC and consists of five fields: minute, hour, day of month (date), month, and day of week. The expression can contain wildcard characters including commas (,), question marks (?), hyphens (-), asterisks (*), number signs (#), forward slashes (/), and the L and W letters.
	RecurrenceValue pulumi.StringPtrInput
	// The ID of the scaling group where the number of instances is modified when the scheduled task is triggered. After the `ScalingGroupId` parameter is specified, the scaling method of the scheduled task is to specify the number of instances in a scaling group. You must specify at least one of the following parameters: `MinValue`, `MaxValue`, and `DesiredCapacity`. **NOTE:** You cannot specify `scheduledAction` and `scalingGroupId` at the same time.
	ScalingGroupId pulumi.StringPtrInput
	// The operation to be performed when a scheduled task is triggered. Enter the unique identifier of a scaling rule. **NOTE:** You cannot specify `scheduledAction` and `scalingGroupId` at the same time.
	ScheduledAction pulumi.StringPtrInput
	// Display name of the scheduled task, which must be 2-40 characters (English or Chinese) long.
	ScheduledTaskName pulumi.StringPtrInput
	// Specifies whether to start the scheduled task. Default to true.
	TaskEnabled pulumi.BoolPtrInput
}

The set of arguments for constructing a ScheduledTask resource.

func (ScheduledTaskArgs) ElementType

func (ScheduledTaskArgs) ElementType() reflect.Type

type ScheduledTaskArray

type ScheduledTaskArray []ScheduledTaskInput

func (ScheduledTaskArray) ElementType

func (ScheduledTaskArray) ElementType() reflect.Type

func (ScheduledTaskArray) ToScheduledTaskArrayOutput

func (i ScheduledTaskArray) ToScheduledTaskArrayOutput() ScheduledTaskArrayOutput

func (ScheduledTaskArray) ToScheduledTaskArrayOutputWithContext

func (i ScheduledTaskArray) ToScheduledTaskArrayOutputWithContext(ctx context.Context) ScheduledTaskArrayOutput

type ScheduledTaskArrayInput

type ScheduledTaskArrayInput interface {
	pulumi.Input

	ToScheduledTaskArrayOutput() ScheduledTaskArrayOutput
	ToScheduledTaskArrayOutputWithContext(context.Context) ScheduledTaskArrayOutput
}

ScheduledTaskArrayInput is an input type that accepts ScheduledTaskArray and ScheduledTaskArrayOutput values. You can construct a concrete instance of `ScheduledTaskArrayInput` via:

ScheduledTaskArray{ ScheduledTaskArgs{...} }

type ScheduledTaskArrayOutput

type ScheduledTaskArrayOutput struct{ *pulumi.OutputState }

func (ScheduledTaskArrayOutput) ElementType

func (ScheduledTaskArrayOutput) ElementType() reflect.Type

func (ScheduledTaskArrayOutput) Index

func (ScheduledTaskArrayOutput) ToScheduledTaskArrayOutput

func (o ScheduledTaskArrayOutput) ToScheduledTaskArrayOutput() ScheduledTaskArrayOutput

func (ScheduledTaskArrayOutput) ToScheduledTaskArrayOutputWithContext

func (o ScheduledTaskArrayOutput) ToScheduledTaskArrayOutputWithContext(ctx context.Context) ScheduledTaskArrayOutput

type ScheduledTaskInput

type ScheduledTaskInput interface {
	pulumi.Input

	ToScheduledTaskOutput() ScheduledTaskOutput
	ToScheduledTaskOutputWithContext(ctx context.Context) ScheduledTaskOutput
}

type ScheduledTaskMap

type ScheduledTaskMap map[string]ScheduledTaskInput

func (ScheduledTaskMap) ElementType

func (ScheduledTaskMap) ElementType() reflect.Type

func (ScheduledTaskMap) ToScheduledTaskMapOutput

func (i ScheduledTaskMap) ToScheduledTaskMapOutput() ScheduledTaskMapOutput

func (ScheduledTaskMap) ToScheduledTaskMapOutputWithContext

func (i ScheduledTaskMap) ToScheduledTaskMapOutputWithContext(ctx context.Context) ScheduledTaskMapOutput

type ScheduledTaskMapInput

type ScheduledTaskMapInput interface {
	pulumi.Input

	ToScheduledTaskMapOutput() ScheduledTaskMapOutput
	ToScheduledTaskMapOutputWithContext(context.Context) ScheduledTaskMapOutput
}

ScheduledTaskMapInput is an input type that accepts ScheduledTaskMap and ScheduledTaskMapOutput values. You can construct a concrete instance of `ScheduledTaskMapInput` via:

ScheduledTaskMap{ "key": ScheduledTaskArgs{...} }

type ScheduledTaskMapOutput

type ScheduledTaskMapOutput struct{ *pulumi.OutputState }

func (ScheduledTaskMapOutput) ElementType

func (ScheduledTaskMapOutput) ElementType() reflect.Type

func (ScheduledTaskMapOutput) MapIndex

func (ScheduledTaskMapOutput) ToScheduledTaskMapOutput

func (o ScheduledTaskMapOutput) ToScheduledTaskMapOutput() ScheduledTaskMapOutput

func (ScheduledTaskMapOutput) ToScheduledTaskMapOutputWithContext

func (o ScheduledTaskMapOutput) ToScheduledTaskMapOutputWithContext(ctx context.Context) ScheduledTaskMapOutput

type ScheduledTaskOutput

type ScheduledTaskOutput struct{ *pulumi.OutputState }

func (ScheduledTaskOutput) Description added in v3.27.0

func (o ScheduledTaskOutput) Description() pulumi.StringOutput

Description of the scheduled task, which is 2-200 characters (English or Chinese) long.

func (ScheduledTaskOutput) DesiredCapacity added in v3.27.0

func (o ScheduledTaskOutput) DesiredCapacity() pulumi.IntPtrOutput

The expected number of instances in a scaling group when the scaling method of the scheduled task is to specify the number of instances in a scaling group. **NOTE:** You must specify the `DesiredCapacity` parameter when you create the scaling group.

func (ScheduledTaskOutput) ElementType

func (ScheduledTaskOutput) ElementType() reflect.Type

func (ScheduledTaskOutput) LaunchExpirationTime added in v3.27.0

func (o ScheduledTaskOutput) LaunchExpirationTime() pulumi.IntPtrOutput

The time period during which a failed scheduled task is retried. Unit: seconds. Valid values: 0 to 21600. Default value: 600

func (ScheduledTaskOutput) LaunchTime added in v3.27.0

The time at which the scheduled task is triggered. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format. The time must be in UTC. You cannot enter a time point later than 90 days from the date of scheduled task creation. If the `recurrenceType` parameter is specified, the task is executed repeatedly at the time specified by LaunchTime. Otherwise, the task is only executed once at the date and time specified by LaunchTime.

func (ScheduledTaskOutput) MaxValue added in v3.27.0

The maximum number of instances in a scaling group when the scaling method of the scheduled task is to specify the number of instances in a scaling group.

func (ScheduledTaskOutput) MinValue added in v3.27.0

The minimum number of instances in a scaling group when the scaling method of the scheduled task is to specify the number of instances in a scaling group.

func (ScheduledTaskOutput) RecurrenceEndTime added in v3.27.0

func (o ScheduledTaskOutput) RecurrenceEndTime() pulumi.StringOutput

Specifies the end time after which the scheduled task is no longer repeated. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time must be in UTC. You cannot enter a time point later than 365 days from the date of scheduled task creation. **NOTE:** You must specify `RecurrenceType`, `RecurrenceValue`, and `RecurrenceEndTime` at the same time.

func (ScheduledTaskOutput) RecurrenceType added in v3.27.0

func (o ScheduledTaskOutput) RecurrenceType() pulumi.StringOutput

Specifies the recurrence type of the scheduled task. **NOTE:** You must specify `RecurrenceType`, `RecurrenceValue`, and `RecurrenceEndTime` at the same time. Valid values: - Daily: The scheduled task is executed once every specified number of days. - Weekly: The scheduled task is executed on each specified day of a week. - Monthly: The scheduled task is executed on each specified day of a month. - Cron: (Available in 1.60.0+) The scheduled task is executed based on the specified cron expression.

func (ScheduledTaskOutput) RecurrenceValue added in v3.27.0

func (o ScheduledTaskOutput) RecurrenceValue() pulumi.StringOutput

Specifies how often a scheduled task recurs. **NOTE:** You must specify `RecurrenceType`, `RecurrenceValue`, and `RecurrenceEndTime` at the same time. The valid value depends on `recurrenceType` - Daily: You can enter one value. Valid values: 1 to 31. - Weekly: You can enter multiple values and separate them with commas (,). For example, the values 0 to 6 correspond to the days of the week in sequence from Sunday to Saturday. - Monthly: You can enter two values in A-B format. Valid values of A and B: 1 to 31. The value of B must be greater than or equal to the value of A. - Cron: You can enter a cron expression which is written in UTC and consists of five fields: minute, hour, day of month (date), month, and day of week. The expression can contain wildcard characters including commas (,), question marks (?), hyphens (-), asterisks (*), number signs (#), forward slashes (/), and the L and W letters.

func (ScheduledTaskOutput) ScalingGroupId added in v3.27.0

func (o ScheduledTaskOutput) ScalingGroupId() pulumi.StringOutput

The ID of the scaling group where the number of instances is modified when the scheduled task is triggered. After the `ScalingGroupId` parameter is specified, the scaling method of the scheduled task is to specify the number of instances in a scaling group. You must specify at least one of the following parameters: `MinValue`, `MaxValue`, and `DesiredCapacity`. **NOTE:** You cannot specify `scheduledAction` and `scalingGroupId` at the same time.

func (ScheduledTaskOutput) ScheduledAction added in v3.27.0

func (o ScheduledTaskOutput) ScheduledAction() pulumi.StringPtrOutput

The operation to be performed when a scheduled task is triggered. Enter the unique identifier of a scaling rule. **NOTE:** You cannot specify `scheduledAction` and `scalingGroupId` at the same time.

func (ScheduledTaskOutput) ScheduledTaskName added in v3.27.0

func (o ScheduledTaskOutput) ScheduledTaskName() pulumi.StringPtrOutput

Display name of the scheduled task, which must be 2-40 characters (English or Chinese) long.

func (ScheduledTaskOutput) TaskEnabled added in v3.27.0

func (o ScheduledTaskOutput) TaskEnabled() pulumi.BoolPtrOutput

Specifies whether to start the scheduled task. Default to true.

func (ScheduledTaskOutput) ToScheduledTaskOutput

func (o ScheduledTaskOutput) ToScheduledTaskOutput() ScheduledTaskOutput

func (ScheduledTaskOutput) ToScheduledTaskOutputWithContext

func (o ScheduledTaskOutput) ToScheduledTaskOutputWithContext(ctx context.Context) ScheduledTaskOutput

type ScheduledTaskState

type ScheduledTaskState struct {
	// Description of the scheduled task, which is 2-200 characters (English or Chinese) long.
	Description pulumi.StringPtrInput
	// The expected number of instances in a scaling group when the scaling method of the scheduled task is to specify the number of instances in a scaling group. **NOTE:** You must specify the `DesiredCapacity` parameter when you create the scaling group.
	DesiredCapacity pulumi.IntPtrInput
	// The time period during which a failed scheduled task is retried. Unit: seconds. Valid values: 0 to 21600. Default value: 600
	LaunchExpirationTime pulumi.IntPtrInput
	// The time at which the scheduled task is triggered. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format.
	// The time must be in UTC. You cannot enter a time point later than 90 days from the date of scheduled task creation.
	// If the `recurrenceType` parameter is specified, the task is executed repeatedly at the time specified by LaunchTime.
	// Otherwise, the task is only executed once at the date and time specified by LaunchTime.
	LaunchTime pulumi.StringPtrInput
	// The maximum number of instances in a scaling group when the scaling method of the scheduled task is to specify the number of instances in a scaling group.
	MaxValue pulumi.IntPtrInput
	// The minimum number of instances in a scaling group when the scaling method of the scheduled task is to specify the number of instances in a scaling group.
	MinValue pulumi.IntPtrInput
	// Specifies the end time after which the scheduled task is no longer repeated. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format.
	// The time must be in UTC. You cannot enter a time point later than 365 days from the date of scheduled task creation. **NOTE:** You must specify `RecurrenceType`, `RecurrenceValue`, and `RecurrenceEndTime` at the same time.
	RecurrenceEndTime pulumi.StringPtrInput
	// Specifies the recurrence type of the scheduled task. **NOTE:** You must specify `RecurrenceType`, `RecurrenceValue`, and `RecurrenceEndTime` at the same time. Valid values:
	// - Daily: The scheduled task is executed once every specified number of days.
	// - Weekly: The scheduled task is executed on each specified day of a week.
	// - Monthly: The scheduled task is executed on each specified day of a month.
	// - Cron: (Available in 1.60.0+) The scheduled task is executed based on the specified cron expression.
	RecurrenceType pulumi.StringPtrInput
	// Specifies how often a scheduled task recurs. **NOTE:** You must specify `RecurrenceType`, `RecurrenceValue`, and `RecurrenceEndTime` at the same time. The valid value depends on `recurrenceType`
	// - Daily: You can enter one value. Valid values: 1 to 31.
	// - Weekly: You can enter multiple values and separate them with commas (,). For example, the values 0 to 6 correspond to the days of the week in sequence from Sunday to Saturday.
	// - Monthly: You can enter two values in A-B format. Valid values of A and B: 1 to 31. The value of B must be greater than or equal to the value of A.
	// - Cron: You can enter a cron expression which is written in UTC and consists of five fields: minute, hour, day of month (date), month, and day of week. The expression can contain wildcard characters including commas (,), question marks (?), hyphens (-), asterisks (*), number signs (#), forward slashes (/), and the L and W letters.
	RecurrenceValue pulumi.StringPtrInput
	// The ID of the scaling group where the number of instances is modified when the scheduled task is triggered. After the `ScalingGroupId` parameter is specified, the scaling method of the scheduled task is to specify the number of instances in a scaling group. You must specify at least one of the following parameters: `MinValue`, `MaxValue`, and `DesiredCapacity`. **NOTE:** You cannot specify `scheduledAction` and `scalingGroupId` at the same time.
	ScalingGroupId pulumi.StringPtrInput
	// The operation to be performed when a scheduled task is triggered. Enter the unique identifier of a scaling rule. **NOTE:** You cannot specify `scheduledAction` and `scalingGroupId` at the same time.
	ScheduledAction pulumi.StringPtrInput
	// Display name of the scheduled task, which must be 2-40 characters (English or Chinese) long.
	ScheduledTaskName pulumi.StringPtrInput
	// Specifies whether to start the scheduled task. Default to true.
	TaskEnabled pulumi.BoolPtrInput
}

func (ScheduledTaskState) ElementType

func (ScheduledTaskState) ElementType() reflect.Type

type SuspendProcess added in v3.20.0

type SuspendProcess struct {
	pulumi.CustomResourceState

	// Activity type N that you want to suspend. Valid values are: `SCALE_OUT`,`SCALE_IN`,`HealthCheck`,`AlarmNotification` and `ScheduledAction`.
	Process pulumi.StringOutput `pulumi:"process"`
	// ID of the scaling group.
	ScalingGroupId pulumi.StringOutput `pulumi:"scalingGroupId"`
}

Suspend/Resume processes to a specified scaling group.

For information about scaling group suspend process, see [SuspendProcesses](https://www.alibabacloud.com/help/en/auto-scaling/latest/suspendprocesses).

> **NOTE:** Available since v1.166.0.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultInteger, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
			Min: 10000,
			Max: 99999,
		})
		if err != nil {
			return err
		}
		myName := fmt.Sprintf("%v-%v", name, defaultInteger.Result)
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableDiskCategory:     pulumi.StringRef("cloud_efficiency"),
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),
			CpuCoreCount:     pulumi.IntRef(2),
			MemorySize:       pulumi.Float64Ref(4),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
			NameRegex:  pulumi.StringRef("^ubuntu_18.*64"),
			MostRecent: pulumi.BoolRef(true),
			Owners:     pulumi.StringRef("system"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(myName),
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/24"),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
			VswitchName: pulumi.String(myName),
		})
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			Name:  pulumi.String(myName),
			VpcId: defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		defaultScalingGroup, err := ess.NewScalingGroup(ctx, "default", &ess.ScalingGroupArgs{
			MinSize:          pulumi.Int(1),
			MaxSize:          pulumi.Int(1),
			ScalingGroupName: pulumi.String(myName),
			VswitchIds: pulumi.StringArray{
				defaultSwitch.ID(),
			},
			RemovalPolicies: pulumi.StringArray{
				pulumi.String("OldestInstance"),
			},
			DefaultCooldown: pulumi.Int(200),
		})
		if err != nil {
			return err
		}
		defaultScalingConfiguration, err := ess.NewScalingConfiguration(ctx, "default", &ess.ScalingConfigurationArgs{
			ScalingGroupId:  defaultScalingGroup.ID(),
			ImageId:         pulumi.String(defaultGetImages.Images[0].Id),
			InstanceType:    pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),
			SecurityGroupId: defaultSecurityGroup.ID(),
			ForceDelete:     pulumi.Bool(true),
			Active:          pulumi.Bool(true),
			Enable:          pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = ess.NewSuspendProcess(ctx, "default", &ess.SuspendProcessArgs{
			ScalingGroupId: defaultScalingConfiguration.ScalingGroupId,
			Process:        pulumi.String("ScaleIn"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ESS suspend process can be imported using the id, e.g.

```sh $ pulumi import alicloud:ess/suspendProcess:SuspendProcess example asg-xxx:sgp-xxx:5000 ```

func GetSuspendProcess added in v3.20.0

func GetSuspendProcess(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SuspendProcessState, opts ...pulumi.ResourceOption) (*SuspendProcess, error)

GetSuspendProcess gets an existing SuspendProcess resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSuspendProcess added in v3.20.0

func NewSuspendProcess(ctx *pulumi.Context,
	name string, args *SuspendProcessArgs, opts ...pulumi.ResourceOption) (*SuspendProcess, error)

NewSuspendProcess registers a new resource with the given unique name, arguments, and options.

func (*SuspendProcess) ElementType added in v3.20.0

func (*SuspendProcess) ElementType() reflect.Type

func (*SuspendProcess) ToSuspendProcessOutput added in v3.20.0

func (i *SuspendProcess) ToSuspendProcessOutput() SuspendProcessOutput

func (*SuspendProcess) ToSuspendProcessOutputWithContext added in v3.20.0

func (i *SuspendProcess) ToSuspendProcessOutputWithContext(ctx context.Context) SuspendProcessOutput

type SuspendProcessArgs added in v3.20.0

type SuspendProcessArgs struct {
	// Activity type N that you want to suspend. Valid values are: `SCALE_OUT`,`SCALE_IN`,`HealthCheck`,`AlarmNotification` and `ScheduledAction`.
	Process pulumi.StringInput
	// ID of the scaling group.
	ScalingGroupId pulumi.StringInput
}

The set of arguments for constructing a SuspendProcess resource.

func (SuspendProcessArgs) ElementType added in v3.20.0

func (SuspendProcessArgs) ElementType() reflect.Type

type SuspendProcessArray added in v3.20.0

type SuspendProcessArray []SuspendProcessInput

func (SuspendProcessArray) ElementType added in v3.20.0

func (SuspendProcessArray) ElementType() reflect.Type

func (SuspendProcessArray) ToSuspendProcessArrayOutput added in v3.20.0

func (i SuspendProcessArray) ToSuspendProcessArrayOutput() SuspendProcessArrayOutput

func (SuspendProcessArray) ToSuspendProcessArrayOutputWithContext added in v3.20.0

func (i SuspendProcessArray) ToSuspendProcessArrayOutputWithContext(ctx context.Context) SuspendProcessArrayOutput

type SuspendProcessArrayInput added in v3.20.0

type SuspendProcessArrayInput interface {
	pulumi.Input

	ToSuspendProcessArrayOutput() SuspendProcessArrayOutput
	ToSuspendProcessArrayOutputWithContext(context.Context) SuspendProcessArrayOutput
}

SuspendProcessArrayInput is an input type that accepts SuspendProcessArray and SuspendProcessArrayOutput values. You can construct a concrete instance of `SuspendProcessArrayInput` via:

SuspendProcessArray{ SuspendProcessArgs{...} }

type SuspendProcessArrayOutput added in v3.20.0

type SuspendProcessArrayOutput struct{ *pulumi.OutputState }

func (SuspendProcessArrayOutput) ElementType added in v3.20.0

func (SuspendProcessArrayOutput) ElementType() reflect.Type

func (SuspendProcessArrayOutput) Index added in v3.20.0

func (SuspendProcessArrayOutput) ToSuspendProcessArrayOutput added in v3.20.0

func (o SuspendProcessArrayOutput) ToSuspendProcessArrayOutput() SuspendProcessArrayOutput

func (SuspendProcessArrayOutput) ToSuspendProcessArrayOutputWithContext added in v3.20.0

func (o SuspendProcessArrayOutput) ToSuspendProcessArrayOutputWithContext(ctx context.Context) SuspendProcessArrayOutput

type SuspendProcessInput added in v3.20.0

type SuspendProcessInput interface {
	pulumi.Input

	ToSuspendProcessOutput() SuspendProcessOutput
	ToSuspendProcessOutputWithContext(ctx context.Context) SuspendProcessOutput
}

type SuspendProcessMap added in v3.20.0

type SuspendProcessMap map[string]SuspendProcessInput

func (SuspendProcessMap) ElementType added in v3.20.0

func (SuspendProcessMap) ElementType() reflect.Type

func (SuspendProcessMap) ToSuspendProcessMapOutput added in v3.20.0

func (i SuspendProcessMap) ToSuspendProcessMapOutput() SuspendProcessMapOutput

func (SuspendProcessMap) ToSuspendProcessMapOutputWithContext added in v3.20.0

func (i SuspendProcessMap) ToSuspendProcessMapOutputWithContext(ctx context.Context) SuspendProcessMapOutput

type SuspendProcessMapInput added in v3.20.0

type SuspendProcessMapInput interface {
	pulumi.Input

	ToSuspendProcessMapOutput() SuspendProcessMapOutput
	ToSuspendProcessMapOutputWithContext(context.Context) SuspendProcessMapOutput
}

SuspendProcessMapInput is an input type that accepts SuspendProcessMap and SuspendProcessMapOutput values. You can construct a concrete instance of `SuspendProcessMapInput` via:

SuspendProcessMap{ "key": SuspendProcessArgs{...} }

type SuspendProcessMapOutput added in v3.20.0

type SuspendProcessMapOutput struct{ *pulumi.OutputState }

func (SuspendProcessMapOutput) ElementType added in v3.20.0

func (SuspendProcessMapOutput) ElementType() reflect.Type

func (SuspendProcessMapOutput) MapIndex added in v3.20.0

func (SuspendProcessMapOutput) ToSuspendProcessMapOutput added in v3.20.0

func (o SuspendProcessMapOutput) ToSuspendProcessMapOutput() SuspendProcessMapOutput

func (SuspendProcessMapOutput) ToSuspendProcessMapOutputWithContext added in v3.20.0

func (o SuspendProcessMapOutput) ToSuspendProcessMapOutputWithContext(ctx context.Context) SuspendProcessMapOutput

type SuspendProcessOutput added in v3.20.0

type SuspendProcessOutput struct{ *pulumi.OutputState }

func (SuspendProcessOutput) ElementType added in v3.20.0

func (SuspendProcessOutput) ElementType() reflect.Type

func (SuspendProcessOutput) Process added in v3.27.0

Activity type N that you want to suspend. Valid values are: `SCALE_OUT`,`SCALE_IN`,`HealthCheck`,`AlarmNotification` and `ScheduledAction`.

func (SuspendProcessOutput) ScalingGroupId added in v3.27.0

func (o SuspendProcessOutput) ScalingGroupId() pulumi.StringOutput

ID of the scaling group.

func (SuspendProcessOutput) ToSuspendProcessOutput added in v3.20.0

func (o SuspendProcessOutput) ToSuspendProcessOutput() SuspendProcessOutput

func (SuspendProcessOutput) ToSuspendProcessOutputWithContext added in v3.20.0

func (o SuspendProcessOutput) ToSuspendProcessOutputWithContext(ctx context.Context) SuspendProcessOutput

type SuspendProcessState added in v3.20.0

type SuspendProcessState struct {
	// Activity type N that you want to suspend. Valid values are: `SCALE_OUT`,`SCALE_IN`,`HealthCheck`,`AlarmNotification` and `ScheduledAction`.
	Process pulumi.StringPtrInput
	// ID of the scaling group.
	ScalingGroupId pulumi.StringPtrInput
}

func (SuspendProcessState) ElementType added in v3.20.0

func (SuspendProcessState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL