ess

package
v2.39.1 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2021 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 (documented below). 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.
	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 Block_metricNames_and_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 state of specified alarm.
	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"`
}

## 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 added in v2.25.1

func (*Alarm) ElementType() reflect.Type

func (*Alarm) ToAlarmOutput added in v2.25.1

func (i *Alarm) ToAlarmOutput() AlarmOutput

func (*Alarm) ToAlarmOutputWithContext added in v2.25.1

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

func (*Alarm) ToAlarmPtrOutput added in v2.35.1

func (i *Alarm) ToAlarmPtrOutput() AlarmPtrOutput

func (*Alarm) ToAlarmPtrOutputWithContext added in v2.35.1

func (i *Alarm) ToAlarmPtrOutputWithContext(ctx context.Context) AlarmPtrOutput

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 (documented below). 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.
	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 Block_metricNames_and_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 added in v2.35.1

type AlarmArray []AlarmInput

func (AlarmArray) ElementType added in v2.35.1

func (AlarmArray) ElementType() reflect.Type

func (AlarmArray) ToAlarmArrayOutput added in v2.35.1

func (i AlarmArray) ToAlarmArrayOutput() AlarmArrayOutput

func (AlarmArray) ToAlarmArrayOutputWithContext added in v2.35.1

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

type AlarmArrayInput added in v2.35.1

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 added in v2.35.1

type AlarmArrayOutput struct{ *pulumi.OutputState }

func (AlarmArrayOutput) ElementType added in v2.35.1

func (AlarmArrayOutput) ElementType() reflect.Type

func (AlarmArrayOutput) Index added in v2.35.1

func (AlarmArrayOutput) ToAlarmArrayOutput added in v2.35.1

func (o AlarmArrayOutput) ToAlarmArrayOutput() AlarmArrayOutput

func (AlarmArrayOutput) ToAlarmArrayOutputWithContext added in v2.35.1

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

type AlarmInput added in v2.25.1

type AlarmInput interface {
	pulumi.Input

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

type AlarmMap added in v2.35.1

type AlarmMap map[string]AlarmInput

func (AlarmMap) ElementType added in v2.35.1

func (AlarmMap) ElementType() reflect.Type

func (AlarmMap) ToAlarmMapOutput added in v2.35.1

func (i AlarmMap) ToAlarmMapOutput() AlarmMapOutput

func (AlarmMap) ToAlarmMapOutputWithContext added in v2.35.1

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

type AlarmMapInput added in v2.35.1

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 added in v2.35.1

type AlarmMapOutput struct{ *pulumi.OutputState }

func (AlarmMapOutput) ElementType added in v2.35.1

func (AlarmMapOutput) ElementType() reflect.Type

func (AlarmMapOutput) MapIndex added in v2.35.1

func (AlarmMapOutput) ToAlarmMapOutput added in v2.35.1

func (o AlarmMapOutput) ToAlarmMapOutput() AlarmMapOutput

func (AlarmMapOutput) ToAlarmMapOutputWithContext added in v2.35.1

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

type AlarmOutput added in v2.25.1

type AlarmOutput struct {
	*pulumi.OutputState
}

func (AlarmOutput) ElementType added in v2.25.1

func (AlarmOutput) ElementType() reflect.Type

func (AlarmOutput) ToAlarmOutput added in v2.25.1

func (o AlarmOutput) ToAlarmOutput() AlarmOutput

func (AlarmOutput) ToAlarmOutputWithContext added in v2.25.1

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

func (AlarmOutput) ToAlarmPtrOutput added in v2.35.1

func (o AlarmOutput) ToAlarmPtrOutput() AlarmPtrOutput

func (AlarmOutput) ToAlarmPtrOutputWithContext added in v2.35.1

func (o AlarmOutput) ToAlarmPtrOutputWithContext(ctx context.Context) AlarmPtrOutput

type AlarmPtrInput added in v2.35.1

type AlarmPtrInput interface {
	pulumi.Input

	ToAlarmPtrOutput() AlarmPtrOutput
	ToAlarmPtrOutputWithContext(ctx context.Context) AlarmPtrOutput
}

type AlarmPtrOutput added in v2.35.1

type AlarmPtrOutput struct {
	*pulumi.OutputState
}

func (AlarmPtrOutput) ElementType added in v2.35.1

func (AlarmPtrOutput) ElementType() reflect.Type

func (AlarmPtrOutput) ToAlarmPtrOutput added in v2.35.1

func (o AlarmPtrOutput) ToAlarmPtrOutput() AlarmPtrOutput

func (AlarmPtrOutput) ToAlarmPtrOutputWithContext added in v2.35.1

func (o AlarmPtrOutput) ToAlarmPtrOutputWithContext(ctx context.Context) AlarmPtrOutput

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 (documented below). 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.
	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 Block_metricNames_and_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 state of specified alarm.
	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 Attachment

type Attachment struct {
	pulumi.CustomResourceState

	// 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"`
	// 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".

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/ess"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "essattachmentconfig"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		opt0 := "cloud_efficiency"
		opt1 := "VSwitch"
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableDiskCategory:     &opt0,
			AvailableResourceCreation: &opt1,
		}, nil)
		if err != nil {
			return err
		}
		opt2 := defaultZones.Zones[0].Id
		opt3 := 2
		opt4 := 4
		defaultInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone: &opt2,
			CpuCoreCount:     &opt3,
			MemorySize:       &opt4,
		}, nil)
		if err != nil {
			return err
		}
		opt5 := "^ubuntu_18.*64"
		opt6 := true
		opt7 := "system"
		defaultImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
			NameRegex:  &opt5,
			MostRecent: &opt6,
			Owners:     &opt7,
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VpcId:            defaultNetwork.ID(),
			CidrBlock:        pulumi.String("172.16.0.0/24"),
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "defaultSecurityGroup", &ecs.SecurityGroupArgs{
			VpcId: defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewSecurityGroupRule(ctx, "defaultSecurityGroupRule", &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, "defaultScalingGroup", &ess.ScalingGroupArgs{
			MinSize:          pulumi.Int(0),
			MaxSize:          pulumi.Int(2),
			ScalingGroupName: pulumi.String(name),
			RemovalPolicies: pulumi.StringArray{
				pulumi.String("OldestInstance"),
				pulumi.String("NewestInstance"),
			},
			VswitchIds: pulumi.StringArray{
				defaultSwitch.ID(),
			},
		})
		if err != nil {
			return err
		}
		_, err = ess.NewScalingConfiguration(ctx, "defaultScalingConfiguration", &ess.ScalingConfigurationArgs{
			ScalingGroupId:  defaultScalingGroup.ID(),
			ImageId:         pulumi.String(defaultImages.Images[0].Id),
			InstanceType:    pulumi.String(defaultInstanceTypes.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 key0, _ := range 2 {
			__res, err := ecs.NewInstance(ctx, fmt.Sprintf("defaultInstance-%v", key0), &ecs.InstanceArgs{
				ImageId:      pulumi.String(defaultImages.Images[0].Id),
				InstanceType: pulumi.String(defaultInstanceTypes.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:               defaultSwitch.ID(),
				InstanceName:            pulumi.String(name),
			})
			if err != nil {
				return err
			}
			defaultInstance = append(defaultInstance, __res)
		}
		_, err = ess.NewAttachment(ctx, "defaultAttachment", &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 added in v2.25.1

func (*Attachment) ElementType() reflect.Type

func (*Attachment) ToAttachmentOutput added in v2.25.1

func (i *Attachment) ToAttachmentOutput() AttachmentOutput

func (*Attachment) ToAttachmentOutputWithContext added in v2.25.1

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

func (*Attachment) ToAttachmentPtrOutput added in v2.35.1

func (i *Attachment) ToAttachmentPtrOutput() AttachmentPtrOutput

func (*Attachment) ToAttachmentPtrOutputWithContext added in v2.35.1

func (i *Attachment) ToAttachmentPtrOutputWithContext(ctx context.Context) AttachmentPtrOutput

type AttachmentArgs

type AttachmentArgs struct {
	// 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
	// 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 added in v2.35.1

type AttachmentArray []AttachmentInput

func (AttachmentArray) ElementType added in v2.35.1

func (AttachmentArray) ElementType() reflect.Type

func (AttachmentArray) ToAttachmentArrayOutput added in v2.35.1

func (i AttachmentArray) ToAttachmentArrayOutput() AttachmentArrayOutput

func (AttachmentArray) ToAttachmentArrayOutputWithContext added in v2.35.1

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

type AttachmentArrayInput added in v2.35.1

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 added in v2.35.1

type AttachmentArrayOutput struct{ *pulumi.OutputState }

func (AttachmentArrayOutput) ElementType added in v2.35.1

func (AttachmentArrayOutput) ElementType() reflect.Type

func (AttachmentArrayOutput) Index added in v2.35.1

func (AttachmentArrayOutput) ToAttachmentArrayOutput added in v2.35.1

func (o AttachmentArrayOutput) ToAttachmentArrayOutput() AttachmentArrayOutput

func (AttachmentArrayOutput) ToAttachmentArrayOutputWithContext added in v2.35.1

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

type AttachmentInput added in v2.25.1

type AttachmentInput interface {
	pulumi.Input

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

type AttachmentMap added in v2.35.1

type AttachmentMap map[string]AttachmentInput

func (AttachmentMap) ElementType added in v2.35.1

func (AttachmentMap) ElementType() reflect.Type

func (AttachmentMap) ToAttachmentMapOutput added in v2.35.1

func (i AttachmentMap) ToAttachmentMapOutput() AttachmentMapOutput

func (AttachmentMap) ToAttachmentMapOutputWithContext added in v2.35.1

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

type AttachmentMapInput added in v2.35.1

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 added in v2.35.1

type AttachmentMapOutput struct{ *pulumi.OutputState }

func (AttachmentMapOutput) ElementType added in v2.35.1

func (AttachmentMapOutput) ElementType() reflect.Type

func (AttachmentMapOutput) MapIndex added in v2.35.1

func (AttachmentMapOutput) ToAttachmentMapOutput added in v2.35.1

func (o AttachmentMapOutput) ToAttachmentMapOutput() AttachmentMapOutput

func (AttachmentMapOutput) ToAttachmentMapOutputWithContext added in v2.35.1

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

type AttachmentOutput added in v2.25.1

type AttachmentOutput struct {
	*pulumi.OutputState
}

func (AttachmentOutput) ElementType added in v2.25.1

func (AttachmentOutput) ElementType() reflect.Type

func (AttachmentOutput) ToAttachmentOutput added in v2.25.1

func (o AttachmentOutput) ToAttachmentOutput() AttachmentOutput

func (AttachmentOutput) ToAttachmentOutputWithContext added in v2.25.1

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

func (AttachmentOutput) ToAttachmentPtrOutput added in v2.35.1

func (o AttachmentOutput) ToAttachmentPtrOutput() AttachmentPtrOutput

func (AttachmentOutput) ToAttachmentPtrOutputWithContext added in v2.35.1

func (o AttachmentOutput) ToAttachmentPtrOutputWithContext(ctx context.Context) AttachmentPtrOutput

type AttachmentPtrInput added in v2.35.1

type AttachmentPtrInput interface {
	pulumi.Input

	ToAttachmentPtrOutput() AttachmentPtrOutput
	ToAttachmentPtrOutputWithContext(ctx context.Context) AttachmentPtrOutput
}

type AttachmentPtrOutput added in v2.35.1

type AttachmentPtrOutput struct {
	*pulumi.OutputState
}

func (AttachmentPtrOutput) ElementType added in v2.35.1

func (AttachmentPtrOutput) ElementType() reflect.Type

func (AttachmentPtrOutput) ToAttachmentPtrOutput added in v2.35.1

func (o AttachmentPtrOutput) ToAttachmentPtrOutput() AttachmentPtrOutput

func (AttachmentPtrOutput) ToAttachmentPtrOutputWithContext added in v2.35.1

func (o AttachmentPtrOutput) ToAttachmentPtrOutputWithContext(ctx context.Context) AttachmentPtrOutput

type AttachmentState

type AttachmentState struct {
	// 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
	// ID of the scaling group of a scaling configuration.
	ScalingGroupId pulumi.StringPtrInput
}

func (AttachmentState) ElementType

func (AttachmentState) ElementType() reflect.Type

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. See Block_metricNames_and_dimensions below for details.
	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. See Block_metricNames_and_dimensions below for details.
	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. See Block_metricNames_and_dimensions below for details.

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"`
	OutputFile *string `pulumi:"outputFile"`
	// Scaling group id the alarms belong to.
	ScalingGroupId *string `pulumi:"scalingGroupId"`
}

A collection of arguments for invoking getAlarms.

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 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"`
	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 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/v2/go/alicloud/ess"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

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

```

type GetNotificationsArgs

type GetNotificationsArgs struct {
	// A list of notification ids.
	Ids        []string `pulumi:"ids"`
	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 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/v2/go/alicloud/ess"
"github.com/pulumi/pulumi/sdk/v2/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 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"`
	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"`
	// ID of the scaling rule.
	Id string `pulumi:"id"`
	// Image ID of the scaling configuration.
	ImageId string `pulumi:"imageId"`
	// Instance type of the scaling configuration.
	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"`
	// System disk category of the scaling configuration.
	SystemDiskCategory string `pulumi:"systemDiskCategory"`
	// 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"`
	// ID of the scaling rule.
	Id pulumi.StringInput `pulumi:"id"`
	// Image ID of the scaling configuration.
	ImageId pulumi.StringInput `pulumi:"imageId"`
	// Instance type of the scaling configuration.
	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"`
	// System disk category of the scaling configuration.
	SystemDiskCategory pulumi.StringInput `pulumi:"systemDiskCategory"`
	// 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"`
	// 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.StringPtrInput `pulumi:"category"`
	// Delete_with_instance attribute of data disk.
	DeleteWithInstance pulumi.BoolPtrInput `pulumi:"deleteWithInstance"`
	// Device attribute of data disk.
	Device pulumi.StringPtrInput `pulumi:"device"`
	// Size of data disk.
	Size pulumi.IntPtrInput `pulumi:"size"`
	// Size of data disk.
	SnapshotId pulumi.StringPtrInput `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) 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 added in v2.19.0

Performance mode of the t5 burstable instance.

func (GetScalingConfigurationsConfigurationOutput) DataDisks

Data disks of the scaling configuration.

func (GetScalingConfigurationsConfigurationOutput) ElementType

func (GetScalingConfigurationsConfigurationOutput) Id

ID of the scaling rule.

func (GetScalingConfigurationsConfigurationOutput) ImageId

Image ID of the scaling configuration.

func (GetScalingConfigurationsConfigurationOutput) InstanceType

Instance type of the scaling configuration.

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) SystemDiskCategory

System disk category of the scaling configuration.

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 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/v2/go/alicloud/ess"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

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

```

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"`
	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"`
	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"`
	// 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"`
	// Name of the scaling group.
	// * `activeScalingConfiguration` -Active scaling configuration for 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"`
	// Number of instances in scaling group.
	TotalCapacity int `pulumi:"totalCapacity"`
	// 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"`
	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"`
	// 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"`
	// Name of the scaling group.
	// * `activeScalingConfiguration` -Active scaling configuration for 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"`
	// Number of instances in scaling group.
	TotalCapacity pulumi.IntInput `pulumi:"totalCapacity"`
	// 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

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) 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) Name

Name of the scaling group. * `activeScalingConfiguration` -Active scaling configuration for 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) 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) VswitchIds

Vswitches id in which the ECS instance launched.

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/v2/go/alicloud/ess"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

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

```

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"`
	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 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/v2/go/alicloud/ess"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

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

```

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"`
	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 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/v2/go/alicloud/ess"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

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

```

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, 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"`
}

## 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 added in v2.25.1

func (*LifecycleHook) ElementType() reflect.Type

func (*LifecycleHook) ToLifecycleHookOutput added in v2.25.1

func (i *LifecycleHook) ToLifecycleHookOutput() LifecycleHookOutput

func (*LifecycleHook) ToLifecycleHookOutputWithContext added in v2.25.1

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

func (*LifecycleHook) ToLifecycleHookPtrOutput added in v2.35.1

func (i *LifecycleHook) ToLifecycleHookPtrOutput() LifecycleHookPtrOutput

func (*LifecycleHook) ToLifecycleHookPtrOutputWithContext added in v2.35.1

func (i *LifecycleHook) ToLifecycleHookPtrOutputWithContext(ctx context.Context) LifecycleHookPtrOutput

type LifecycleHookArgs

type LifecycleHookArgs struct {
	// Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses. Applicable value: CONTINUE, ABANDON, 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 added in v2.35.1

type LifecycleHookArray []LifecycleHookInput

func (LifecycleHookArray) ElementType added in v2.35.1

func (LifecycleHookArray) ElementType() reflect.Type

func (LifecycleHookArray) ToLifecycleHookArrayOutput added in v2.35.1

func (i LifecycleHookArray) ToLifecycleHookArrayOutput() LifecycleHookArrayOutput

func (LifecycleHookArray) ToLifecycleHookArrayOutputWithContext added in v2.35.1

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

type LifecycleHookArrayInput added in v2.35.1

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 added in v2.35.1

type LifecycleHookArrayOutput struct{ *pulumi.OutputState }

func (LifecycleHookArrayOutput) ElementType added in v2.35.1

func (LifecycleHookArrayOutput) ElementType() reflect.Type

func (LifecycleHookArrayOutput) Index added in v2.35.1

func (LifecycleHookArrayOutput) ToLifecycleHookArrayOutput added in v2.35.1

func (o LifecycleHookArrayOutput) ToLifecycleHookArrayOutput() LifecycleHookArrayOutput

func (LifecycleHookArrayOutput) ToLifecycleHookArrayOutputWithContext added in v2.35.1

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

type LifecycleHookInput added in v2.25.1

type LifecycleHookInput interface {
	pulumi.Input

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

type LifecycleHookMap added in v2.35.1

type LifecycleHookMap map[string]LifecycleHookInput

func (LifecycleHookMap) ElementType added in v2.35.1

func (LifecycleHookMap) ElementType() reflect.Type

func (LifecycleHookMap) ToLifecycleHookMapOutput added in v2.35.1

func (i LifecycleHookMap) ToLifecycleHookMapOutput() LifecycleHookMapOutput

func (LifecycleHookMap) ToLifecycleHookMapOutputWithContext added in v2.35.1

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

type LifecycleHookMapInput added in v2.35.1

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 added in v2.35.1

type LifecycleHookMapOutput struct{ *pulumi.OutputState }

func (LifecycleHookMapOutput) ElementType added in v2.35.1

func (LifecycleHookMapOutput) ElementType() reflect.Type

func (LifecycleHookMapOutput) MapIndex added in v2.35.1

func (LifecycleHookMapOutput) ToLifecycleHookMapOutput added in v2.35.1

func (o LifecycleHookMapOutput) ToLifecycleHookMapOutput() LifecycleHookMapOutput

func (LifecycleHookMapOutput) ToLifecycleHookMapOutputWithContext added in v2.35.1

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

type LifecycleHookOutput added in v2.25.1

type LifecycleHookOutput struct {
	*pulumi.OutputState
}

func (LifecycleHookOutput) ElementType added in v2.25.1

func (LifecycleHookOutput) ElementType() reflect.Type

func (LifecycleHookOutput) ToLifecycleHookOutput added in v2.25.1

func (o LifecycleHookOutput) ToLifecycleHookOutput() LifecycleHookOutput

func (LifecycleHookOutput) ToLifecycleHookOutputWithContext added in v2.25.1

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

func (LifecycleHookOutput) ToLifecycleHookPtrOutput added in v2.35.1

func (o LifecycleHookOutput) ToLifecycleHookPtrOutput() LifecycleHookPtrOutput

func (LifecycleHookOutput) ToLifecycleHookPtrOutputWithContext added in v2.35.1

func (o LifecycleHookOutput) ToLifecycleHookPtrOutputWithContext(ctx context.Context) LifecycleHookPtrOutput

type LifecycleHookPtrInput added in v2.35.1

type LifecycleHookPtrInput interface {
	pulumi.Input

	ToLifecycleHookPtrOutput() LifecycleHookPtrOutput
	ToLifecycleHookPtrOutputWithContext(ctx context.Context) LifecycleHookPtrOutput
}

type LifecycleHookPtrOutput added in v2.35.1

type LifecycleHookPtrOutput struct {
	*pulumi.OutputState
}

func (LifecycleHookPtrOutput) ElementType added in v2.35.1

func (LifecycleHookPtrOutput) ElementType() reflect.Type

func (LifecycleHookPtrOutput) ToLifecycleHookPtrOutput added in v2.35.1

func (o LifecycleHookPtrOutput) ToLifecycleHookPtrOutput() LifecycleHookPtrOutput

func (LifecycleHookPtrOutput) ToLifecycleHookPtrOutputWithContext added in v2.35.1

func (o LifecycleHookPtrOutput) ToLifecycleHookPtrOutputWithContext(ctx context.Context) LifecycleHookPtrOutput

type LifecycleHookState

type LifecycleHookState struct {
	// Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses. Applicable value: CONTINUE, ABANDON, 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 in 1.55.0+

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/ess"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/mns"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := fmt.Sprintf("%v%v%v", "tf-testAccEssNotification-", "%", "d")
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		opt0 := true
		defaultRegions, err := alicloud.GetRegions(ctx, &alicloud.GetRegionsArgs{
			Current: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		defaultAccount, err := alicloud.GetAccount(ctx, nil, nil)
		if err != nil {
			return err
		}
		opt1 := "cloud_efficiency"
		opt2 := "VSwitch"
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableDiskCategory:     &opt1,
			AvailableResourceCreation: &opt2,
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VpcId:            defaultNetwork.ID(),
			CidrBlock:        pulumi.String("172.16.0.0/24"),
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
			VswitchName:      pulumi.String(name),
		})
		if err != nil {
			return err
		}
		defaultScalingGroup, err := ess.NewScalingGroup(ctx, "defaultScalingGroup", &ess.ScalingGroupArgs{
			MinSize:          pulumi.Int(1),
			MaxSize:          pulumi.Int(1),
			ScalingGroupName: pulumi.String(name),
			RemovalPolicies: pulumi.StringArray{
				pulumi.String("OldestInstance"),
				pulumi.String("NewestInstance"),
			},
			VswitchIds: pulumi.StringArray{
				defaultSwitch.ID(),
			},
		})
		if err != nil {
			return err
		}
		defaultQueue, err := mns.NewQueue(ctx, "defaultQueue", nil)
		if err != nil {
			return err
		}
		_, err = ess.NewNotification(ctx, "defaultNotification", &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("%v%v%v%v%v%v", "acs:ess:", defaultRegions.Regions[0].Id, ":", defaultAccount.Id, ":queue/", 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 added in v2.25.1

func (*Notification) ElementType() reflect.Type

func (*Notification) ToNotificationOutput added in v2.25.1

func (i *Notification) ToNotificationOutput() NotificationOutput

func (*Notification) ToNotificationOutputWithContext added in v2.25.1

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

func (*Notification) ToNotificationPtrOutput added in v2.35.1

func (i *Notification) ToNotificationPtrOutput() NotificationPtrOutput

func (*Notification) ToNotificationPtrOutputWithContext added in v2.35.1

func (i *Notification) ToNotificationPtrOutputWithContext(ctx context.Context) NotificationPtrOutput

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 added in v2.35.1

type NotificationArray []NotificationInput

func (NotificationArray) ElementType added in v2.35.1

func (NotificationArray) ElementType() reflect.Type

func (NotificationArray) ToNotificationArrayOutput added in v2.35.1

func (i NotificationArray) ToNotificationArrayOutput() NotificationArrayOutput

func (NotificationArray) ToNotificationArrayOutputWithContext added in v2.35.1

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

type NotificationArrayInput added in v2.35.1

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 added in v2.35.1

type NotificationArrayOutput struct{ *pulumi.OutputState }

func (NotificationArrayOutput) ElementType added in v2.35.1

func (NotificationArrayOutput) ElementType() reflect.Type

func (NotificationArrayOutput) Index added in v2.35.1

func (NotificationArrayOutput) ToNotificationArrayOutput added in v2.35.1

func (o NotificationArrayOutput) ToNotificationArrayOutput() NotificationArrayOutput

func (NotificationArrayOutput) ToNotificationArrayOutputWithContext added in v2.35.1

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

type NotificationInput added in v2.25.1

type NotificationInput interface {
	pulumi.Input

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

type NotificationMap added in v2.35.1

type NotificationMap map[string]NotificationInput

func (NotificationMap) ElementType added in v2.35.1

func (NotificationMap) ElementType() reflect.Type

func (NotificationMap) ToNotificationMapOutput added in v2.35.1

func (i NotificationMap) ToNotificationMapOutput() NotificationMapOutput

func (NotificationMap) ToNotificationMapOutputWithContext added in v2.35.1

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

type NotificationMapInput added in v2.35.1

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 added in v2.35.1

type NotificationMapOutput struct{ *pulumi.OutputState }

func (NotificationMapOutput) ElementType added in v2.35.1

func (NotificationMapOutput) ElementType() reflect.Type

func (NotificationMapOutput) MapIndex added in v2.35.1

func (NotificationMapOutput) ToNotificationMapOutput added in v2.35.1

func (o NotificationMapOutput) ToNotificationMapOutput() NotificationMapOutput

func (NotificationMapOutput) ToNotificationMapOutputWithContext added in v2.35.1

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

type NotificationOutput added in v2.25.1

type NotificationOutput struct {
	*pulumi.OutputState
}

func (NotificationOutput) ElementType added in v2.25.1

func (NotificationOutput) ElementType() reflect.Type

func (NotificationOutput) ToNotificationOutput added in v2.25.1

func (o NotificationOutput) ToNotificationOutput() NotificationOutput

func (NotificationOutput) ToNotificationOutputWithContext added in v2.25.1

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

func (NotificationOutput) ToNotificationPtrOutput added in v2.35.1

func (o NotificationOutput) ToNotificationPtrOutput() NotificationPtrOutput

func (NotificationOutput) ToNotificationPtrOutputWithContext added in v2.35.1

func (o NotificationOutput) ToNotificationPtrOutputWithContext(ctx context.Context) NotificationPtrOutput

type NotificationPtrInput added in v2.35.1

type NotificationPtrInput interface {
	pulumi.Input

	ToNotificationPtrOutput() NotificationPtrOutput
	ToNotificationPtrOutputWithContext(ctx context.Context) NotificationPtrOutput
}

type NotificationPtrOutput added in v2.35.1

type NotificationPtrOutput struct {
	*pulumi.OutputState
}

func (NotificationPtrOutput) ElementType added in v2.35.1

func (NotificationPtrOutput) ElementType() reflect.Type

func (NotificationPtrOutput) ToNotificationPtrOutput added in v2.35.1

func (o NotificationPtrOutput) ToNotificationPtrOutput() NotificationPtrOutput

func (NotificationPtrOutput) ToNotificationPtrOutputWithContext added in v2.35.1

func (o NotificationPtrOutput) ToNotificationPtrOutputWithContext(ctx context.Context) NotificationPtrOutput

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 Block 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"`
	// 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"`
	// Resource type of an ECS instance.
	InstanceType pulumi.StringPtrOutput `pulumi:"instanceType"`
	// 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,100].
	InternetMaxBandwidthOut pulumi.IntPtrOutput `pulumi:"internetMaxBandwidthOut"`
	// It has been deprecated on instance resource. All the launched alicloud instances will be I/O optimized.
	//
	// Deprecated: Attribute io_optimized 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"`
	// 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"`
	// 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"`
	// 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"`
	// 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"`
}

## 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 added in v2.25.1

func (*ScalingConfiguration) ElementType() reflect.Type

func (*ScalingConfiguration) ToScalingConfigurationOutput added in v2.25.1

func (i *ScalingConfiguration) ToScalingConfigurationOutput() ScalingConfigurationOutput

func (*ScalingConfiguration) ToScalingConfigurationOutputWithContext added in v2.25.1

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

func (*ScalingConfiguration) ToScalingConfigurationPtrOutput added in v2.35.1

func (i *ScalingConfiguration) ToScalingConfigurationPtrOutput() ScalingConfigurationPtrOutput

func (*ScalingConfiguration) ToScalingConfigurationPtrOutputWithContext added in v2.35.1

func (i *ScalingConfiguration) ToScalingConfigurationPtrOutputWithContext(ctx context.Context) ScalingConfigurationPtrOutput

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 Block 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
	// 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
	// Resource type of an ECS instance.
	InstanceType pulumi.StringPtrInput
	// 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,100].
	InternetMaxBandwidthOut pulumi.IntPtrInput
	// It has been deprecated on instance resource. All the launched alicloud instances will be I/O optimized.
	//
	// Deprecated: Attribute io_optimized 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
	// 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
	// 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
	// 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
	// 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 added in v2.35.1

type ScalingConfigurationArray []ScalingConfigurationInput

func (ScalingConfigurationArray) ElementType added in v2.35.1

func (ScalingConfigurationArray) ElementType() reflect.Type

func (ScalingConfigurationArray) ToScalingConfigurationArrayOutput added in v2.35.1

func (i ScalingConfigurationArray) ToScalingConfigurationArrayOutput() ScalingConfigurationArrayOutput

func (ScalingConfigurationArray) ToScalingConfigurationArrayOutputWithContext added in v2.35.1

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

type ScalingConfigurationArrayInput added in v2.35.1

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 added in v2.35.1

type ScalingConfigurationArrayOutput struct{ *pulumi.OutputState }

func (ScalingConfigurationArrayOutput) ElementType added in v2.35.1

func (ScalingConfigurationArrayOutput) Index added in v2.35.1

func (ScalingConfigurationArrayOutput) ToScalingConfigurationArrayOutput added in v2.35.1

func (o ScalingConfigurationArrayOutput) ToScalingConfigurationArrayOutput() ScalingConfigurationArrayOutput

func (ScalingConfigurationArrayOutput) ToScalingConfigurationArrayOutputWithContext added in v2.35.1

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

type ScalingConfigurationDataDisk

type ScalingConfigurationDataDisk struct {
	AutoSnapshotPolicyId *string `pulumi:"autoSnapshotPolicyId"`
	Category             *string `pulumi:"category"`
	DeleteWithInstance   *bool   `pulumi:"deleteWithInstance"`
	Description          *string `pulumi:"description"`
	// Deprecated: Attribute device has been deprecated on disk attachment resource. Suggest to remove it from your template.
	Device     *string `pulumi:"device"`
	Encrypted  *bool   `pulumi:"encrypted"`
	KmsKeyId   *string `pulumi:"kmsKeyId"`
	Name       *string `pulumi:"name"`
	Size       *int    `pulumi:"size"`
	SnapshotId *string `pulumi:"snapshotId"`
}

type ScalingConfigurationDataDiskArgs

type ScalingConfigurationDataDiskArgs struct {
	AutoSnapshotPolicyId pulumi.StringPtrInput `pulumi:"autoSnapshotPolicyId"`
	Category             pulumi.StringPtrInput `pulumi:"category"`
	DeleteWithInstance   pulumi.BoolPtrInput   `pulumi:"deleteWithInstance"`
	Description          pulumi.StringPtrInput `pulumi:"description"`
	// Deprecated: Attribute device has been deprecated on disk attachment resource. Suggest to remove it from your template.
	Device     pulumi.StringPtrInput `pulumi:"device"`
	Encrypted  pulumi.BoolPtrInput   `pulumi:"encrypted"`
	KmsKeyId   pulumi.StringPtrInput `pulumi:"kmsKeyId"`
	Name       pulumi.StringPtrInput `pulumi:"name"`
	Size       pulumi.IntPtrInput    `pulumi:"size"`
	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 added in v2.13.0

func (ScalingConfigurationDataDiskOutput) Category

func (ScalingConfigurationDataDiskOutput) DeleteWithInstance

func (ScalingConfigurationDataDiskOutput) Description added in v2.13.0

func (ScalingConfigurationDataDiskOutput) Device deprecated

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

func (ScalingConfigurationDataDiskOutput) ElementType

func (ScalingConfigurationDataDiskOutput) Encrypted added in v2.13.0

func (ScalingConfigurationDataDiskOutput) KmsKeyId added in v2.13.0

func (ScalingConfigurationDataDiskOutput) Name added in v2.13.0

func (ScalingConfigurationDataDiskOutput) Size

func (ScalingConfigurationDataDiskOutput) SnapshotId

func (ScalingConfigurationDataDiskOutput) ToScalingConfigurationDataDiskOutput

func (o ScalingConfigurationDataDiskOutput) ToScalingConfigurationDataDiskOutput() ScalingConfigurationDataDiskOutput

func (ScalingConfigurationDataDiskOutput) ToScalingConfigurationDataDiskOutputWithContext

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

type ScalingConfigurationInput added in v2.25.1

type ScalingConfigurationInput interface {
	pulumi.Input

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

type ScalingConfigurationMap added in v2.35.1

type ScalingConfigurationMap map[string]ScalingConfigurationInput

func (ScalingConfigurationMap) ElementType added in v2.35.1

func (ScalingConfigurationMap) ElementType() reflect.Type

func (ScalingConfigurationMap) ToScalingConfigurationMapOutput added in v2.35.1

func (i ScalingConfigurationMap) ToScalingConfigurationMapOutput() ScalingConfigurationMapOutput

func (ScalingConfigurationMap) ToScalingConfigurationMapOutputWithContext added in v2.35.1

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

type ScalingConfigurationMapInput added in v2.35.1

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 added in v2.35.1

type ScalingConfigurationMapOutput struct{ *pulumi.OutputState }

func (ScalingConfigurationMapOutput) ElementType added in v2.35.1

func (ScalingConfigurationMapOutput) MapIndex added in v2.35.1

func (ScalingConfigurationMapOutput) ToScalingConfigurationMapOutput added in v2.35.1

func (o ScalingConfigurationMapOutput) ToScalingConfigurationMapOutput() ScalingConfigurationMapOutput

func (ScalingConfigurationMapOutput) ToScalingConfigurationMapOutputWithContext added in v2.35.1

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

type ScalingConfigurationOutput added in v2.25.1

type ScalingConfigurationOutput struct {
	*pulumi.OutputState
}

func (ScalingConfigurationOutput) ElementType added in v2.25.1

func (ScalingConfigurationOutput) ElementType() reflect.Type

func (ScalingConfigurationOutput) ToScalingConfigurationOutput added in v2.25.1

func (o ScalingConfigurationOutput) ToScalingConfigurationOutput() ScalingConfigurationOutput

func (ScalingConfigurationOutput) ToScalingConfigurationOutputWithContext added in v2.25.1

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

func (ScalingConfigurationOutput) ToScalingConfigurationPtrOutput added in v2.35.1

func (o ScalingConfigurationOutput) ToScalingConfigurationPtrOutput() ScalingConfigurationPtrOutput

func (ScalingConfigurationOutput) ToScalingConfigurationPtrOutputWithContext added in v2.35.1

func (o ScalingConfigurationOutput) ToScalingConfigurationPtrOutputWithContext(ctx context.Context) ScalingConfigurationPtrOutput

type ScalingConfigurationPtrInput added in v2.35.1

type ScalingConfigurationPtrInput interface {
	pulumi.Input

	ToScalingConfigurationPtrOutput() ScalingConfigurationPtrOutput
	ToScalingConfigurationPtrOutputWithContext(ctx context.Context) ScalingConfigurationPtrOutput
}

type ScalingConfigurationPtrOutput added in v2.35.1

type ScalingConfigurationPtrOutput struct {
	*pulumi.OutputState
}

func (ScalingConfigurationPtrOutput) ElementType added in v2.35.1

func (ScalingConfigurationPtrOutput) ToScalingConfigurationPtrOutput added in v2.35.1

func (o ScalingConfigurationPtrOutput) ToScalingConfigurationPtrOutput() ScalingConfigurationPtrOutput

func (ScalingConfigurationPtrOutput) ToScalingConfigurationPtrOutputWithContext added in v2.35.1

func (o ScalingConfigurationPtrOutput) ToScalingConfigurationPtrOutputWithContext(ctx context.Context) ScalingConfigurationPtrOutput

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 Block 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
	// 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
	// Resource type of an ECS instance.
	InstanceType pulumi.StringPtrInput
	// 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,100].
	InternetMaxBandwidthOut pulumi.IntPtrInput
	// It has been deprecated on instance resource. All the launched alicloud instances will be I/O optimized.
	//
	// Deprecated: Attribute io_optimized 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
	// 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
	// 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
	// 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
	// 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"`
	// 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, 1000].
	MaxSize pulumi.IntOutput `pulumi:"maxSize"`
	// Minimum number of ECS instances in the scaling group. Value range: [0, 1000].
	MinSize pulumi.IntOutput `pulumi:"minSize"`
	// Multi-AZ scaling group ECS instance expansion and contraction strategy. PRIORITY, BALANCE or COST_OPTIMIZED(Available in 1.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"`
	// 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"`
	// 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"`
}

## 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 added in v2.25.1

func (*ScalingGroup) ElementType() reflect.Type

func (*ScalingGroup) ToScalingGroupOutput added in v2.25.1

func (i *ScalingGroup) ToScalingGroupOutput() ScalingGroupOutput

func (*ScalingGroup) ToScalingGroupOutputWithContext added in v2.25.1

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

func (*ScalingGroup) ToScalingGroupPtrOutput added in v2.35.1

func (i *ScalingGroup) ToScalingGroupPtrOutput() ScalingGroupPtrOutput

func (*ScalingGroup) ToScalingGroupPtrOutputWithContext added in v2.35.1

func (i *ScalingGroup) ToScalingGroupPtrOutputWithContext(ctx context.Context) ScalingGroupPtrOutput

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
	// 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, 1000].
	MaxSize pulumi.IntInput
	// Minimum number of ECS instances in the scaling group. Value range: [0, 1000].
	MinSize pulumi.IntInput
	// Multi-AZ scaling group ECS instance expansion and contraction strategy. PRIORITY, BALANCE or COST_OPTIMIZED(Available in 1.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
	// 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
	// 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 added in v2.35.1

type ScalingGroupArray []ScalingGroupInput

func (ScalingGroupArray) ElementType added in v2.35.1

func (ScalingGroupArray) ElementType() reflect.Type

func (ScalingGroupArray) ToScalingGroupArrayOutput added in v2.35.1

func (i ScalingGroupArray) ToScalingGroupArrayOutput() ScalingGroupArrayOutput

func (ScalingGroupArray) ToScalingGroupArrayOutputWithContext added in v2.35.1

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

type ScalingGroupArrayInput added in v2.35.1

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 added in v2.35.1

type ScalingGroupArrayOutput struct{ *pulumi.OutputState }

func (ScalingGroupArrayOutput) ElementType added in v2.35.1

func (ScalingGroupArrayOutput) ElementType() reflect.Type

func (ScalingGroupArrayOutput) Index added in v2.35.1

func (ScalingGroupArrayOutput) ToScalingGroupArrayOutput added in v2.35.1

func (o ScalingGroupArrayOutput) ToScalingGroupArrayOutput() ScalingGroupArrayOutput

func (ScalingGroupArrayOutput) ToScalingGroupArrayOutputWithContext added in v2.35.1

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

type ScalingGroupInput added in v2.25.1

type ScalingGroupInput interface {
	pulumi.Input

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

type ScalingGroupMap added in v2.35.1

type ScalingGroupMap map[string]ScalingGroupInput

func (ScalingGroupMap) ElementType added in v2.35.1

func (ScalingGroupMap) ElementType() reflect.Type

func (ScalingGroupMap) ToScalingGroupMapOutput added in v2.35.1

func (i ScalingGroupMap) ToScalingGroupMapOutput() ScalingGroupMapOutput

func (ScalingGroupMap) ToScalingGroupMapOutputWithContext added in v2.35.1

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

type ScalingGroupMapInput added in v2.35.1

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 added in v2.35.1

type ScalingGroupMapOutput struct{ *pulumi.OutputState }

func (ScalingGroupMapOutput) ElementType added in v2.35.1

func (ScalingGroupMapOutput) ElementType() reflect.Type

func (ScalingGroupMapOutput) MapIndex added in v2.35.1

func (ScalingGroupMapOutput) ToScalingGroupMapOutput added in v2.35.1

func (o ScalingGroupMapOutput) ToScalingGroupMapOutput() ScalingGroupMapOutput

func (ScalingGroupMapOutput) ToScalingGroupMapOutputWithContext added in v2.35.1

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

type ScalingGroupOutput added in v2.25.1

type ScalingGroupOutput struct {
	*pulumi.OutputState
}

func (ScalingGroupOutput) ElementType added in v2.25.1

func (ScalingGroupOutput) ElementType() reflect.Type

func (ScalingGroupOutput) ToScalingGroupOutput added in v2.25.1

func (o ScalingGroupOutput) ToScalingGroupOutput() ScalingGroupOutput

func (ScalingGroupOutput) ToScalingGroupOutputWithContext added in v2.25.1

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

func (ScalingGroupOutput) ToScalingGroupPtrOutput added in v2.35.1

func (o ScalingGroupOutput) ToScalingGroupPtrOutput() ScalingGroupPtrOutput

func (ScalingGroupOutput) ToScalingGroupPtrOutputWithContext added in v2.35.1

func (o ScalingGroupOutput) ToScalingGroupPtrOutputWithContext(ctx context.Context) ScalingGroupPtrOutput

type ScalingGroupPtrInput added in v2.35.1

type ScalingGroupPtrInput interface {
	pulumi.Input

	ToScalingGroupPtrOutput() ScalingGroupPtrOutput
	ToScalingGroupPtrOutputWithContext(ctx context.Context) ScalingGroupPtrOutput
}

type ScalingGroupPtrOutput added in v2.35.1

type ScalingGroupPtrOutput struct {
	*pulumi.OutputState
}

func (ScalingGroupPtrOutput) ElementType added in v2.35.1

func (ScalingGroupPtrOutput) ElementType() reflect.Type

func (ScalingGroupPtrOutput) ToScalingGroupPtrOutput added in v2.35.1

func (o ScalingGroupPtrOutput) ToScalingGroupPtrOutput() ScalingGroupPtrOutput

func (ScalingGroupPtrOutput) ToScalingGroupPtrOutputWithContext added in v2.35.1

func (o ScalingGroupPtrOutput) ToScalingGroupPtrOutputWithContext(ctx context.Context) ScalingGroupPtrOutput

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
	// 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, 1000].
	MaxSize pulumi.IntPtrInput
	// Minimum number of ECS instances in the scaling group. Value range: [0, 1000].
	MinSize pulumi.IntPtrInput
	// Multi-AZ scaling group ECS instance expansion and contraction strategy. PRIORITY, BALANCE or COST_OPTIMIZED(Available in 1.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
	// 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
	// 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 Block vserverGroup below for details.
	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:** Resource `ess.ScalingGroupVServerGroups` is available in 1.53.0+.

## Block vserverGroup

the vserverGroup supports the following:

* `loadbalancerId` - (Required) Loadbalancer server ID of VServer Group. * `vserverAttributes` - (Required) A list of VServer Group attributes. See Block vserverAttribute below for details.

## Block vserverAttribute

* `vserverGroupId` - (Required) ID of VServer Group. * `port` - (Required) - The port will be used for VServer Group backend server. * `weight` - (Required) The weight of an ECS instance attached to the VServer Group.

## 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 added in v2.25.1

func (*ScalingGroupVServerGroups) ElementType() reflect.Type

func (*ScalingGroupVServerGroups) ToScalingGroupVServerGroupsOutput added in v2.25.1

func (i *ScalingGroupVServerGroups) ToScalingGroupVServerGroupsOutput() ScalingGroupVServerGroupsOutput

func (*ScalingGroupVServerGroups) ToScalingGroupVServerGroupsOutputWithContext added in v2.25.1

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

func (*ScalingGroupVServerGroups) ToScalingGroupVServerGroupsPtrOutput added in v2.35.1

func (i *ScalingGroupVServerGroups) ToScalingGroupVServerGroupsPtrOutput() ScalingGroupVServerGroupsPtrOutput

func (*ScalingGroupVServerGroups) ToScalingGroupVServerGroupsPtrOutputWithContext added in v2.35.1

func (i *ScalingGroupVServerGroups) ToScalingGroupVServerGroupsPtrOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsPtrOutput

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 Block vserverGroup below for details.
	VserverGroups ScalingGroupVServerGroupsVserverGroupArrayInput
}

The set of arguments for constructing a ScalingGroupVServerGroups resource.

func (ScalingGroupVServerGroupsArgs) ElementType

type ScalingGroupVServerGroupsArray added in v2.35.1

type ScalingGroupVServerGroupsArray []ScalingGroupVServerGroupsInput

func (ScalingGroupVServerGroupsArray) ElementType added in v2.35.1

func (ScalingGroupVServerGroupsArray) ToScalingGroupVServerGroupsArrayOutput added in v2.35.1

func (i ScalingGroupVServerGroupsArray) ToScalingGroupVServerGroupsArrayOutput() ScalingGroupVServerGroupsArrayOutput

func (ScalingGroupVServerGroupsArray) ToScalingGroupVServerGroupsArrayOutputWithContext added in v2.35.1

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

type ScalingGroupVServerGroupsArrayInput added in v2.35.1

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 added in v2.35.1

type ScalingGroupVServerGroupsArrayOutput struct{ *pulumi.OutputState }

func (ScalingGroupVServerGroupsArrayOutput) ElementType added in v2.35.1

func (ScalingGroupVServerGroupsArrayOutput) Index added in v2.35.1

func (ScalingGroupVServerGroupsArrayOutput) ToScalingGroupVServerGroupsArrayOutput added in v2.35.1

func (o ScalingGroupVServerGroupsArrayOutput) ToScalingGroupVServerGroupsArrayOutput() ScalingGroupVServerGroupsArrayOutput

func (ScalingGroupVServerGroupsArrayOutput) ToScalingGroupVServerGroupsArrayOutputWithContext added in v2.35.1

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

type ScalingGroupVServerGroupsInput added in v2.25.1

type ScalingGroupVServerGroupsInput interface {
	pulumi.Input

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

type ScalingGroupVServerGroupsMap added in v2.35.1

type ScalingGroupVServerGroupsMap map[string]ScalingGroupVServerGroupsInput

func (ScalingGroupVServerGroupsMap) ElementType added in v2.35.1

func (ScalingGroupVServerGroupsMap) ToScalingGroupVServerGroupsMapOutput added in v2.35.1

func (i ScalingGroupVServerGroupsMap) ToScalingGroupVServerGroupsMapOutput() ScalingGroupVServerGroupsMapOutput

func (ScalingGroupVServerGroupsMap) ToScalingGroupVServerGroupsMapOutputWithContext added in v2.35.1

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

type ScalingGroupVServerGroupsMapInput added in v2.35.1

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 added in v2.35.1

type ScalingGroupVServerGroupsMapOutput struct{ *pulumi.OutputState }

func (ScalingGroupVServerGroupsMapOutput) ElementType added in v2.35.1

func (ScalingGroupVServerGroupsMapOutput) MapIndex added in v2.35.1

func (ScalingGroupVServerGroupsMapOutput) ToScalingGroupVServerGroupsMapOutput added in v2.35.1

func (o ScalingGroupVServerGroupsMapOutput) ToScalingGroupVServerGroupsMapOutput() ScalingGroupVServerGroupsMapOutput

func (ScalingGroupVServerGroupsMapOutput) ToScalingGroupVServerGroupsMapOutputWithContext added in v2.35.1

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

type ScalingGroupVServerGroupsOutput added in v2.25.1

type ScalingGroupVServerGroupsOutput struct {
	*pulumi.OutputState
}

func (ScalingGroupVServerGroupsOutput) ElementType added in v2.25.1

func (ScalingGroupVServerGroupsOutput) ToScalingGroupVServerGroupsOutput added in v2.25.1

func (o ScalingGroupVServerGroupsOutput) ToScalingGroupVServerGroupsOutput() ScalingGroupVServerGroupsOutput

func (ScalingGroupVServerGroupsOutput) ToScalingGroupVServerGroupsOutputWithContext added in v2.25.1

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

func (ScalingGroupVServerGroupsOutput) ToScalingGroupVServerGroupsPtrOutput added in v2.35.1

func (o ScalingGroupVServerGroupsOutput) ToScalingGroupVServerGroupsPtrOutput() ScalingGroupVServerGroupsPtrOutput

func (ScalingGroupVServerGroupsOutput) ToScalingGroupVServerGroupsPtrOutputWithContext added in v2.35.1

func (o ScalingGroupVServerGroupsOutput) ToScalingGroupVServerGroupsPtrOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsPtrOutput

type ScalingGroupVServerGroupsPtrInput added in v2.35.1

type ScalingGroupVServerGroupsPtrInput interface {
	pulumi.Input

	ToScalingGroupVServerGroupsPtrOutput() ScalingGroupVServerGroupsPtrOutput
	ToScalingGroupVServerGroupsPtrOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsPtrOutput
}

type ScalingGroupVServerGroupsPtrOutput added in v2.35.1

type ScalingGroupVServerGroupsPtrOutput struct {
	*pulumi.OutputState
}

func (ScalingGroupVServerGroupsPtrOutput) ElementType added in v2.35.1

func (ScalingGroupVServerGroupsPtrOutput) ToScalingGroupVServerGroupsPtrOutput added in v2.35.1

func (o ScalingGroupVServerGroupsPtrOutput) ToScalingGroupVServerGroupsPtrOutput() ScalingGroupVServerGroupsPtrOutput

func (ScalingGroupVServerGroupsPtrOutput) ToScalingGroupVServerGroupsPtrOutputWithContext added in v2.35.1

func (o ScalingGroupVServerGroupsPtrOutput) ToScalingGroupVServerGroupsPtrOutputWithContext(ctx context.Context) ScalingGroupVServerGroupsPtrOutput

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 Block vserverGroup below for details.
	VserverGroups ScalingGroupVServerGroupsVserverGroupArrayInput
}

func (ScalingGroupVServerGroupsState) ElementType

type ScalingGroupVServerGroupsVserverGroup

type ScalingGroupVServerGroupsVserverGroup struct {
	LoadbalancerId    string                                                  `pulumi:"loadbalancerId"`
	VserverAttributes []ScalingGroupVServerGroupsVserverGroupVserverAttribute `pulumi:"vserverAttributes"`
}

type ScalingGroupVServerGroupsVserverGroupArgs

type ScalingGroupVServerGroupsVserverGroupArgs struct {
	LoadbalancerId    pulumi.StringInput                                              `pulumi:"loadbalancerId"`
	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

func (ScalingGroupVServerGroupsVserverGroupOutput) ToScalingGroupVServerGroupsVserverGroupOutput

func (o ScalingGroupVServerGroupsVserverGroupOutput) ToScalingGroupVServerGroupsVserverGroupOutput() ScalingGroupVServerGroupsVserverGroupOutput

func (ScalingGroupVServerGroupsVserverGroupOutput) ToScalingGroupVServerGroupsVserverGroupOutputWithContext

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

func (ScalingGroupVServerGroupsVserverGroupOutput) VserverAttributes

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"`
	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"`
	// A CloudMonitor metric name.
	MetricName pulumi.StringPtrOutput `pulumi:"metricName"`
	// 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". Default to "SimpleScalingRule".
	ScalingRuleType pulumi.StringPtrOutput `pulumi:"scalingRuleType"`
	// Steps for StepScalingRule. See Block stepAdjustment below for details.
	StepAdjustments ScalingRuleStepAdjustmentArrayOutput `pulumi:"stepAdjustments"`
	// The target value for the metric.
	TargetValue pulumi.Float64PtrOutput `pulumi:"targetValue"`
}

## 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 added in v2.25.1

func (*ScalingRule) ElementType() reflect.Type

func (*ScalingRule) ToScalingRuleOutput added in v2.25.1

func (i *ScalingRule) ToScalingRuleOutput() ScalingRuleOutput

func (*ScalingRule) ToScalingRuleOutputWithContext added in v2.25.1

func (i *ScalingRule) ToScalingRuleOutputWithContext(ctx context.Context) ScalingRuleOutput

func (*ScalingRule) ToScalingRulePtrOutput added in v2.35.1

func (i *ScalingRule) ToScalingRulePtrOutput() ScalingRulePtrOutput

func (*ScalingRule) ToScalingRulePtrOutputWithContext added in v2.35.1

func (i *ScalingRule) ToScalingRulePtrOutputWithContext(ctx context.Context) ScalingRulePtrOutput

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
	// 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
	// A CloudMonitor metric name.
	MetricName pulumi.StringPtrInput
	// 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". Default to "SimpleScalingRule".
	ScalingRuleType pulumi.StringPtrInput
	// Steps for StepScalingRule. See Block stepAdjustment below for details.
	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 added in v2.35.1

type ScalingRuleArray []ScalingRuleInput

func (ScalingRuleArray) ElementType added in v2.35.1

func (ScalingRuleArray) ElementType() reflect.Type

func (ScalingRuleArray) ToScalingRuleArrayOutput added in v2.35.1

func (i ScalingRuleArray) ToScalingRuleArrayOutput() ScalingRuleArrayOutput

func (ScalingRuleArray) ToScalingRuleArrayOutputWithContext added in v2.35.1

func (i ScalingRuleArray) ToScalingRuleArrayOutputWithContext(ctx context.Context) ScalingRuleArrayOutput

type ScalingRuleArrayInput added in v2.35.1

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 added in v2.35.1

type ScalingRuleArrayOutput struct{ *pulumi.OutputState }

func (ScalingRuleArrayOutput) ElementType added in v2.35.1

func (ScalingRuleArrayOutput) ElementType() reflect.Type

func (ScalingRuleArrayOutput) Index added in v2.35.1

func (ScalingRuleArrayOutput) ToScalingRuleArrayOutput added in v2.35.1

func (o ScalingRuleArrayOutput) ToScalingRuleArrayOutput() ScalingRuleArrayOutput

func (ScalingRuleArrayOutput) ToScalingRuleArrayOutputWithContext added in v2.35.1

func (o ScalingRuleArrayOutput) ToScalingRuleArrayOutputWithContext(ctx context.Context) ScalingRuleArrayOutput

type ScalingRuleInput added in v2.25.1

type ScalingRuleInput interface {
	pulumi.Input

	ToScalingRuleOutput() ScalingRuleOutput
	ToScalingRuleOutputWithContext(ctx context.Context) ScalingRuleOutput
}

type ScalingRuleMap added in v2.35.1

type ScalingRuleMap map[string]ScalingRuleInput

func (ScalingRuleMap) ElementType added in v2.35.1

func (ScalingRuleMap) ElementType() reflect.Type

func (ScalingRuleMap) ToScalingRuleMapOutput added in v2.35.1

func (i ScalingRuleMap) ToScalingRuleMapOutput() ScalingRuleMapOutput

func (ScalingRuleMap) ToScalingRuleMapOutputWithContext added in v2.35.1

func (i ScalingRuleMap) ToScalingRuleMapOutputWithContext(ctx context.Context) ScalingRuleMapOutput

type ScalingRuleMapInput added in v2.35.1

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 added in v2.35.1

type ScalingRuleMapOutput struct{ *pulumi.OutputState }

func (ScalingRuleMapOutput) ElementType added in v2.35.1

func (ScalingRuleMapOutput) ElementType() reflect.Type

func (ScalingRuleMapOutput) MapIndex added in v2.35.1

func (ScalingRuleMapOutput) ToScalingRuleMapOutput added in v2.35.1

func (o ScalingRuleMapOutput) ToScalingRuleMapOutput() ScalingRuleMapOutput

func (ScalingRuleMapOutput) ToScalingRuleMapOutputWithContext added in v2.35.1

func (o ScalingRuleMapOutput) ToScalingRuleMapOutputWithContext(ctx context.Context) ScalingRuleMapOutput

type ScalingRuleOutput added in v2.25.1

type ScalingRuleOutput struct {
	*pulumi.OutputState
}

func (ScalingRuleOutput) ElementType added in v2.25.1

func (ScalingRuleOutput) ElementType() reflect.Type

func (ScalingRuleOutput) ToScalingRuleOutput added in v2.25.1

func (o ScalingRuleOutput) ToScalingRuleOutput() ScalingRuleOutput

func (ScalingRuleOutput) ToScalingRuleOutputWithContext added in v2.25.1

func (o ScalingRuleOutput) ToScalingRuleOutputWithContext(ctx context.Context) ScalingRuleOutput

func (ScalingRuleOutput) ToScalingRulePtrOutput added in v2.35.1

func (o ScalingRuleOutput) ToScalingRulePtrOutput() ScalingRulePtrOutput

func (ScalingRuleOutput) ToScalingRulePtrOutputWithContext added in v2.35.1

func (o ScalingRuleOutput) ToScalingRulePtrOutputWithContext(ctx context.Context) ScalingRulePtrOutput

type ScalingRulePtrInput added in v2.35.1

type ScalingRulePtrInput interface {
	pulumi.Input

	ToScalingRulePtrOutput() ScalingRulePtrOutput
	ToScalingRulePtrOutputWithContext(ctx context.Context) ScalingRulePtrOutput
}

type ScalingRulePtrOutput added in v2.35.1

type ScalingRulePtrOutput struct {
	*pulumi.OutputState
}

func (ScalingRulePtrOutput) ElementType added in v2.35.1

func (ScalingRulePtrOutput) ElementType() reflect.Type

func (ScalingRulePtrOutput) ToScalingRulePtrOutput added in v2.35.1

func (o ScalingRulePtrOutput) ToScalingRulePtrOutput() ScalingRulePtrOutput

func (ScalingRulePtrOutput) ToScalingRulePtrOutputWithContext added in v2.35.1

func (o ScalingRulePtrOutput) ToScalingRulePtrOutputWithContext(ctx context.Context) ScalingRulePtrOutput

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
	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
	// A CloudMonitor metric name.
	MetricName pulumi.StringPtrInput
	// 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". Default to "SimpleScalingRule".
	ScalingRuleType pulumi.StringPtrInput
	// Steps for StepScalingRule. See Block stepAdjustment below for details.
	StepAdjustments ScalingRuleStepAdjustmentArrayInput
	// The target value for the metric.
	TargetValue pulumi.Float64PtrInput
}

func (ScalingRuleState) ElementType

func (ScalingRuleState) ElementType() reflect.Type

type ScalingRuleStepAdjustment

type ScalingRuleStepAdjustment struct {
	MetricIntervalLowerBound *string `pulumi:"metricIntervalLowerBound"`
	MetricIntervalUpperBound *string `pulumi:"metricIntervalUpperBound"`
	ScalingAdjustment        *int    `pulumi:"scalingAdjustment"`
}

type ScalingRuleStepAdjustmentArgs

type ScalingRuleStepAdjustmentArgs struct {
	MetricIntervalLowerBound pulumi.StringPtrInput `pulumi:"metricIntervalLowerBound"`
	MetricIntervalUpperBound pulumi.StringPtrInput `pulumi:"metricIntervalUpperBound"`
	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

func (ScalingRuleStepAdjustmentOutput) MetricIntervalUpperBound

func (o ScalingRuleStepAdjustmentOutput) MetricIntervalUpperBound() pulumi.StringPtrOutput

func (ScalingRuleStepAdjustmentOutput) ScalingAdjustment

func (o ScalingRuleStepAdjustmentOutput) ScalingAdjustment() pulumi.IntPtrOutput

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"`
}

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 added in v2.25.1

func (*Schedule) ElementType() reflect.Type

func (*Schedule) ToScheduleOutput added in v2.25.1

func (i *Schedule) ToScheduleOutput() ScheduleOutput

func (*Schedule) ToScheduleOutputWithContext added in v2.25.1

func (i *Schedule) ToScheduleOutputWithContext(ctx context.Context) ScheduleOutput

func (*Schedule) ToSchedulePtrOutput added in v2.35.1

func (i *Schedule) ToSchedulePtrOutput() SchedulePtrOutput

func (*Schedule) ToSchedulePtrOutputWithContext added in v2.35.1

func (i *Schedule) ToSchedulePtrOutputWithContext(ctx context.Context) SchedulePtrOutput

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 added in v2.35.1

type ScheduleArray []ScheduleInput

func (ScheduleArray) ElementType added in v2.35.1

func (ScheduleArray) ElementType() reflect.Type

func (ScheduleArray) ToScheduleArrayOutput added in v2.35.1

func (i ScheduleArray) ToScheduleArrayOutput() ScheduleArrayOutput

func (ScheduleArray) ToScheduleArrayOutputWithContext added in v2.35.1

func (i ScheduleArray) ToScheduleArrayOutputWithContext(ctx context.Context) ScheduleArrayOutput

type ScheduleArrayInput added in v2.35.1

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 added in v2.35.1

type ScheduleArrayOutput struct{ *pulumi.OutputState }

func (ScheduleArrayOutput) ElementType added in v2.35.1

func (ScheduleArrayOutput) ElementType() reflect.Type

func (ScheduleArrayOutput) Index added in v2.35.1

func (ScheduleArrayOutput) ToScheduleArrayOutput added in v2.35.1

func (o ScheduleArrayOutput) ToScheduleArrayOutput() ScheduleArrayOutput

func (ScheduleArrayOutput) ToScheduleArrayOutputWithContext added in v2.35.1

func (o ScheduleArrayOutput) ToScheduleArrayOutputWithContext(ctx context.Context) ScheduleArrayOutput

type ScheduleInput added in v2.25.1

type ScheduleInput interface {
	pulumi.Input

	ToScheduleOutput() ScheduleOutput
	ToScheduleOutputWithContext(ctx context.Context) ScheduleOutput
}

type ScheduleMap added in v2.35.1

type ScheduleMap map[string]ScheduleInput

func (ScheduleMap) ElementType added in v2.35.1

func (ScheduleMap) ElementType() reflect.Type

func (ScheduleMap) ToScheduleMapOutput added in v2.35.1

func (i ScheduleMap) ToScheduleMapOutput() ScheduleMapOutput

func (ScheduleMap) ToScheduleMapOutputWithContext added in v2.35.1

func (i ScheduleMap) ToScheduleMapOutputWithContext(ctx context.Context) ScheduleMapOutput

type ScheduleMapInput added in v2.35.1

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 added in v2.35.1

type ScheduleMapOutput struct{ *pulumi.OutputState }

func (ScheduleMapOutput) ElementType added in v2.35.1

func (ScheduleMapOutput) ElementType() reflect.Type

func (ScheduleMapOutput) MapIndex added in v2.35.1

func (ScheduleMapOutput) ToScheduleMapOutput added in v2.35.1

func (o ScheduleMapOutput) ToScheduleMapOutput() ScheduleMapOutput

func (ScheduleMapOutput) ToScheduleMapOutputWithContext added in v2.35.1

func (o ScheduleMapOutput) ToScheduleMapOutputWithContext(ctx context.Context) ScheduleMapOutput

type ScheduleOutput added in v2.25.1

type ScheduleOutput struct {
	*pulumi.OutputState
}

func (ScheduleOutput) ElementType added in v2.25.1

func (ScheduleOutput) ElementType() reflect.Type

func (ScheduleOutput) ToScheduleOutput added in v2.25.1

func (o ScheduleOutput) ToScheduleOutput() ScheduleOutput

func (ScheduleOutput) ToScheduleOutputWithContext added in v2.25.1

func (o ScheduleOutput) ToScheduleOutputWithContext(ctx context.Context) ScheduleOutput

func (ScheduleOutput) ToSchedulePtrOutput added in v2.35.1

func (o ScheduleOutput) ToSchedulePtrOutput() SchedulePtrOutput

func (ScheduleOutput) ToSchedulePtrOutputWithContext added in v2.35.1

func (o ScheduleOutput) ToSchedulePtrOutputWithContext(ctx context.Context) SchedulePtrOutput

type SchedulePtrInput added in v2.35.1

type SchedulePtrInput interface {
	pulumi.Input

	ToSchedulePtrOutput() SchedulePtrOutput
	ToSchedulePtrOutputWithContext(ctx context.Context) SchedulePtrOutput
}

type SchedulePtrOutput added in v2.35.1

type SchedulePtrOutput struct {
	*pulumi.OutputState
}

func (SchedulePtrOutput) ElementType added in v2.35.1

func (SchedulePtrOutput) ElementType() reflect.Type

func (SchedulePtrOutput) ToSchedulePtrOutput added in v2.35.1

func (o SchedulePtrOutput) ToSchedulePtrOutput() SchedulePtrOutput

func (SchedulePtrOutput) ToSchedulePtrOutputWithContext added in v2.35.1

func (o SchedulePtrOutput) ToSchedulePtrOutputWithContext(ctx context.Context) SchedulePtrOutput

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"`
}

## 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 added in v2.25.1

func (*ScheduledTask) ElementType() reflect.Type

func (*ScheduledTask) ToScheduledTaskOutput added in v2.25.1

func (i *ScheduledTask) ToScheduledTaskOutput() ScheduledTaskOutput

func (*ScheduledTask) ToScheduledTaskOutputWithContext added in v2.25.1

func (i *ScheduledTask) ToScheduledTaskOutputWithContext(ctx context.Context) ScheduledTaskOutput

func (*ScheduledTask) ToScheduledTaskPtrOutput added in v2.35.1

func (i *ScheduledTask) ToScheduledTaskPtrOutput() ScheduledTaskPtrOutput

func (*ScheduledTask) ToScheduledTaskPtrOutputWithContext added in v2.35.1

func (i *ScheduledTask) ToScheduledTaskPtrOutputWithContext(ctx context.Context) ScheduledTaskPtrOutput

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 added in v2.35.1

type ScheduledTaskArray []ScheduledTaskInput

func (ScheduledTaskArray) ElementType added in v2.35.1

func (ScheduledTaskArray) ElementType() reflect.Type

func (ScheduledTaskArray) ToScheduledTaskArrayOutput added in v2.35.1

func (i ScheduledTaskArray) ToScheduledTaskArrayOutput() ScheduledTaskArrayOutput

func (ScheduledTaskArray) ToScheduledTaskArrayOutputWithContext added in v2.35.1

func (i ScheduledTaskArray) ToScheduledTaskArrayOutputWithContext(ctx context.Context) ScheduledTaskArrayOutput

type ScheduledTaskArrayInput added in v2.35.1

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 added in v2.35.1

type ScheduledTaskArrayOutput struct{ *pulumi.OutputState }

func (ScheduledTaskArrayOutput) ElementType added in v2.35.1

func (ScheduledTaskArrayOutput) ElementType() reflect.Type

func (ScheduledTaskArrayOutput) Index added in v2.35.1

func (ScheduledTaskArrayOutput) ToScheduledTaskArrayOutput added in v2.35.1

func (o ScheduledTaskArrayOutput) ToScheduledTaskArrayOutput() ScheduledTaskArrayOutput

func (ScheduledTaskArrayOutput) ToScheduledTaskArrayOutputWithContext added in v2.35.1

func (o ScheduledTaskArrayOutput) ToScheduledTaskArrayOutputWithContext(ctx context.Context) ScheduledTaskArrayOutput

type ScheduledTaskInput added in v2.25.1

type ScheduledTaskInput interface {
	pulumi.Input

	ToScheduledTaskOutput() ScheduledTaskOutput
	ToScheduledTaskOutputWithContext(ctx context.Context) ScheduledTaskOutput
}

type ScheduledTaskMap added in v2.35.1

type ScheduledTaskMap map[string]ScheduledTaskInput

func (ScheduledTaskMap) ElementType added in v2.35.1

func (ScheduledTaskMap) ElementType() reflect.Type

func (ScheduledTaskMap) ToScheduledTaskMapOutput added in v2.35.1

func (i ScheduledTaskMap) ToScheduledTaskMapOutput() ScheduledTaskMapOutput

func (ScheduledTaskMap) ToScheduledTaskMapOutputWithContext added in v2.35.1

func (i ScheduledTaskMap) ToScheduledTaskMapOutputWithContext(ctx context.Context) ScheduledTaskMapOutput

type ScheduledTaskMapInput added in v2.35.1

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 added in v2.35.1

type ScheduledTaskMapOutput struct{ *pulumi.OutputState }

func (ScheduledTaskMapOutput) ElementType added in v2.35.1

func (ScheduledTaskMapOutput) ElementType() reflect.Type

func (ScheduledTaskMapOutput) MapIndex added in v2.35.1

func (ScheduledTaskMapOutput) ToScheduledTaskMapOutput added in v2.35.1

func (o ScheduledTaskMapOutput) ToScheduledTaskMapOutput() ScheduledTaskMapOutput

func (ScheduledTaskMapOutput) ToScheduledTaskMapOutputWithContext added in v2.35.1

func (o ScheduledTaskMapOutput) ToScheduledTaskMapOutputWithContext(ctx context.Context) ScheduledTaskMapOutput

type ScheduledTaskOutput added in v2.25.1

type ScheduledTaskOutput struct {
	*pulumi.OutputState
}

func (ScheduledTaskOutput) ElementType added in v2.25.1

func (ScheduledTaskOutput) ElementType() reflect.Type

func (ScheduledTaskOutput) ToScheduledTaskOutput added in v2.25.1

func (o ScheduledTaskOutput) ToScheduledTaskOutput() ScheduledTaskOutput

func (ScheduledTaskOutput) ToScheduledTaskOutputWithContext added in v2.25.1

func (o ScheduledTaskOutput) ToScheduledTaskOutputWithContext(ctx context.Context) ScheduledTaskOutput

func (ScheduledTaskOutput) ToScheduledTaskPtrOutput added in v2.35.1

func (o ScheduledTaskOutput) ToScheduledTaskPtrOutput() ScheduledTaskPtrOutput

func (ScheduledTaskOutput) ToScheduledTaskPtrOutputWithContext added in v2.35.1

func (o ScheduledTaskOutput) ToScheduledTaskPtrOutputWithContext(ctx context.Context) ScheduledTaskPtrOutput

type ScheduledTaskPtrInput added in v2.35.1

type ScheduledTaskPtrInput interface {
	pulumi.Input

	ToScheduledTaskPtrOutput() ScheduledTaskPtrOutput
	ToScheduledTaskPtrOutputWithContext(ctx context.Context) ScheduledTaskPtrOutput
}

type ScheduledTaskPtrOutput added in v2.35.1

type ScheduledTaskPtrOutput struct {
	*pulumi.OutputState
}

func (ScheduledTaskPtrOutput) ElementType added in v2.35.1

func (ScheduledTaskPtrOutput) ElementType() reflect.Type

func (ScheduledTaskPtrOutput) ToScheduledTaskPtrOutput added in v2.35.1

func (o ScheduledTaskPtrOutput) ToScheduledTaskPtrOutput() ScheduledTaskPtrOutput

func (ScheduledTaskPtrOutput) ToScheduledTaskPtrOutputWithContext added in v2.35.1

func (o ScheduledTaskPtrOutput) ToScheduledTaskPtrOutputWithContext(ctx context.Context) ScheduledTaskPtrOutput

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL