ess

package
v2.21.1 Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2020 License: Apache-2.0 Imports: 4 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"`
}

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.

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		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{
			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
	})
}

```

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.

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

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.

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		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{
			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
		}
		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
	})
}

```

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.

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

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.

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

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.

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

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.

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

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.

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 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.

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

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.

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