as

package
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2023 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PkgVersion added in v0.0.2

func PkgVersion() (semver.Version, error)

PkgVersion uses reflection to determine the version of the current package. If a version cannot be determined, v1 will be assumed. The second return value is always nil.

Types

type BandwidthPolicy

type BandwidthPolicy struct {
	pulumi.CustomResourceState

	// Specifies the alarm rule ID.
	// This parameter is mandatory when `scalingPolicyType` is set to ALARM.
	AlarmId pulumi.StringOutput `pulumi:"alarmId"`
	// Specifies the scaling bandwidth ID.
	BandwidthId pulumi.StringOutput `pulumi:"bandwidthId"`
	// Specifies the cooldown period (in seconds).
	// The value ranges from 0 to 86400 and is 300 by default.
	CoolDownTime pulumi.IntOutput `pulumi:"coolDownTime"`
	// Specifies the description of the AS policy.
	// The value can contain 0 to 256 characters.
	Description pulumi.StringOutput `pulumi:"description"`
	// Specifies the region in which to create the resource.
	// If omitted, the provider-level region will be used. Changing this parameter will create a new resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the scaling action of the AS policy.
	// The object structure is documented below.
	ScalingPolicyAction BandwidthPolicyScalingPolicyActionOutput `pulumi:"scalingPolicyAction"`
	// Specifies the AS policy name.
	// The name contains only letters, digits, underscores (_), and hyphens (-), and cannot exceed 64 characters.
	ScalingPolicyName pulumi.StringOutput `pulumi:"scalingPolicyName"`
	// Specifies the AS policy type. The options are as follows:
	// - **ALARM** (corresponding to `alarmId`): indicates that the scaling action is triggered by an alarm.
	// - **SCHEDULED** (corresponding to `scheduledPolicy`): indicates that the scaling action is triggered as scheduled.
	// - **RECURRENCE** (corresponding to `scheduledPolicy`): indicates that the scaling action is triggered periodically.
	ScalingPolicyType pulumi.StringOutput `pulumi:"scalingPolicyType"`
	// The scaling resource type. The value is fixed to **BANDWIDTH**.
	ScalingResourceType pulumi.StringOutput `pulumi:"scalingResourceType"`
	// Specifies the periodic or scheduled AS policy.
	// This parameter is mandatory when `scalingPolicyType` is set to SCHEDULED or RECURRENCE.
	// The object structure is documented below.
	ScheduledPolicy BandwidthPolicyScheduledPolicyOutput `pulumi:"scheduledPolicy"`
	// The AS policy status. The value can be **INSERVICE**, **PAUSED** and **EXECUTING**.
	Status pulumi.StringOutput `pulumi:"status"`
}

Manages an AS bandwidth scaling policy resource within HuaweiCloud.

> AS cannot scale yearly/monthly bandwidths.

## Example Usage ### AS Recurrence Policy

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		bandwidthId := cfg.RequireObject("bandwidthId")
		_, err := As.NewBandwidthPolicy(ctx, "bwPolicy", &As.BandwidthPolicyArgs{
			ScalingPolicyName: pulumi.String("bw_policy"),
			ScalingPolicyType: pulumi.String("RECURRENCE"),
			BandwidthId:       pulumi.Any(bandwidthId),
			CoolDownTime:      pulumi.Int(600),
			ScalingPolicyAction: &as.BandwidthPolicyScalingPolicyActionArgs{
				Operation: pulumi.String("ADD"),
				Size:      pulumi.Int(1),
			},
			ScheduledPolicy: &as.BandwidthPolicyScheduledPolicyArgs{
				LaunchTime:      pulumi.String("07:00"),
				RecurrenceType:  pulumi.String("Weekly"),
				RecurrenceValue: pulumi.String("1,3,5"),
				StartTime:       pulumi.String("2022-09-30T12:00Z"),
				EndTime:         pulumi.String("2022-12-30T12:00Z"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### AS Scheduled Policy

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		bandwidthId := cfg.RequireObject("bandwidthId")
		_, err := As.NewBandwidthPolicy(ctx, "bwPolicy", &As.BandwidthPolicyArgs{
			ScalingPolicyName: pulumi.String("bw_policy"),
			ScalingPolicyType: pulumi.String("SCHEDULED"),
			BandwidthId:       pulumi.Any(bandwidthId),
			CoolDownTime:      pulumi.Int(600),
			ScalingPolicyAction: &as.BandwidthPolicyScalingPolicyActionArgs{
				Operation: pulumi.String("ADD"),
				Size:      pulumi.Int(1),
			},
			ScheduledPolicy: &as.BandwidthPolicyScheduledPolicyArgs{
				LaunchTime: pulumi.String("2022-09-30T12:00Z"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### AS Alarm Policy

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		bandwidthId := cfg.RequireObject("bandwidthId")
		alarmId := cfg.RequireObject("alarmId")
		_, err := As.NewBandwidthPolicy(ctx, "test", &As.BandwidthPolicyArgs{
			ScalingPolicyName: pulumi.String("bw_policy"),
			ScalingPolicyType: pulumi.String("ALARM"),
			BandwidthId:       pulumi.Any(bandwidthId),
			AlarmId:           pulumi.Any(alarmId),
			ScalingPolicyAction: &as.BandwidthPolicyScalingPolicyActionArgs{
				Operation: pulumi.String("ADD"),
				Size:      pulumi.Int(1),
				Limits:    pulumi.Int(300),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The bandwidth scaling policies can be imported using the `id`, e.g.

```sh

$ pulumi import huaweicloud:As/bandwidthPolicy:BandwidthPolicy test 0ce123456a00f2591fabc00385ff1234

```

func GetBandwidthPolicy

func GetBandwidthPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BandwidthPolicyState, opts ...pulumi.ResourceOption) (*BandwidthPolicy, error)

GetBandwidthPolicy gets an existing BandwidthPolicy 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 NewBandwidthPolicy

func NewBandwidthPolicy(ctx *pulumi.Context,
	name string, args *BandwidthPolicyArgs, opts ...pulumi.ResourceOption) (*BandwidthPolicy, error)

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

func (*BandwidthPolicy) ElementType

func (*BandwidthPolicy) ElementType() reflect.Type

func (*BandwidthPolicy) ToBandwidthPolicyOutput

func (i *BandwidthPolicy) ToBandwidthPolicyOutput() BandwidthPolicyOutput

func (*BandwidthPolicy) ToBandwidthPolicyOutputWithContext

func (i *BandwidthPolicy) ToBandwidthPolicyOutputWithContext(ctx context.Context) BandwidthPolicyOutput

type BandwidthPolicyArgs

type BandwidthPolicyArgs struct {
	// Specifies the alarm rule ID.
	// This parameter is mandatory when `scalingPolicyType` is set to ALARM.
	AlarmId pulumi.StringPtrInput
	// Specifies the scaling bandwidth ID.
	BandwidthId pulumi.StringInput
	// Specifies the cooldown period (in seconds).
	// The value ranges from 0 to 86400 and is 300 by default.
	CoolDownTime pulumi.IntPtrInput
	// Specifies the description of the AS policy.
	// The value can contain 0 to 256 characters.
	Description pulumi.StringPtrInput
	// Specifies the region in which to create the resource.
	// If omitted, the provider-level region will be used. Changing this parameter will create a new resource.
	Region pulumi.StringPtrInput
	// Specifies the scaling action of the AS policy.
	// The object structure is documented below.
	ScalingPolicyAction BandwidthPolicyScalingPolicyActionPtrInput
	// Specifies the AS policy name.
	// The name contains only letters, digits, underscores (_), and hyphens (-), and cannot exceed 64 characters.
	ScalingPolicyName pulumi.StringInput
	// Specifies the AS policy type. The options are as follows:
	// - **ALARM** (corresponding to `alarmId`): indicates that the scaling action is triggered by an alarm.
	// - **SCHEDULED** (corresponding to `scheduledPolicy`): indicates that the scaling action is triggered as scheduled.
	// - **RECURRENCE** (corresponding to `scheduledPolicy`): indicates that the scaling action is triggered periodically.
	ScalingPolicyType pulumi.StringInput
	// Specifies the periodic or scheduled AS policy.
	// This parameter is mandatory when `scalingPolicyType` is set to SCHEDULED or RECURRENCE.
	// The object structure is documented below.
	ScheduledPolicy BandwidthPolicyScheduledPolicyPtrInput
}

The set of arguments for constructing a BandwidthPolicy resource.

func (BandwidthPolicyArgs) ElementType

func (BandwidthPolicyArgs) ElementType() reflect.Type

type BandwidthPolicyArray

type BandwidthPolicyArray []BandwidthPolicyInput

func (BandwidthPolicyArray) ElementType

func (BandwidthPolicyArray) ElementType() reflect.Type

func (BandwidthPolicyArray) ToBandwidthPolicyArrayOutput

func (i BandwidthPolicyArray) ToBandwidthPolicyArrayOutput() BandwidthPolicyArrayOutput

func (BandwidthPolicyArray) ToBandwidthPolicyArrayOutputWithContext

func (i BandwidthPolicyArray) ToBandwidthPolicyArrayOutputWithContext(ctx context.Context) BandwidthPolicyArrayOutput

type BandwidthPolicyArrayInput

type BandwidthPolicyArrayInput interface {
	pulumi.Input

	ToBandwidthPolicyArrayOutput() BandwidthPolicyArrayOutput
	ToBandwidthPolicyArrayOutputWithContext(context.Context) BandwidthPolicyArrayOutput
}

BandwidthPolicyArrayInput is an input type that accepts BandwidthPolicyArray and BandwidthPolicyArrayOutput values. You can construct a concrete instance of `BandwidthPolicyArrayInput` via:

BandwidthPolicyArray{ BandwidthPolicyArgs{...} }

type BandwidthPolicyArrayOutput

type BandwidthPolicyArrayOutput struct{ *pulumi.OutputState }

func (BandwidthPolicyArrayOutput) ElementType

func (BandwidthPolicyArrayOutput) ElementType() reflect.Type

func (BandwidthPolicyArrayOutput) Index

func (BandwidthPolicyArrayOutput) ToBandwidthPolicyArrayOutput

func (o BandwidthPolicyArrayOutput) ToBandwidthPolicyArrayOutput() BandwidthPolicyArrayOutput

func (BandwidthPolicyArrayOutput) ToBandwidthPolicyArrayOutputWithContext

func (o BandwidthPolicyArrayOutput) ToBandwidthPolicyArrayOutputWithContext(ctx context.Context) BandwidthPolicyArrayOutput

type BandwidthPolicyInput

type BandwidthPolicyInput interface {
	pulumi.Input

	ToBandwidthPolicyOutput() BandwidthPolicyOutput
	ToBandwidthPolicyOutputWithContext(ctx context.Context) BandwidthPolicyOutput
}

type BandwidthPolicyMap

type BandwidthPolicyMap map[string]BandwidthPolicyInput

func (BandwidthPolicyMap) ElementType

func (BandwidthPolicyMap) ElementType() reflect.Type

func (BandwidthPolicyMap) ToBandwidthPolicyMapOutput

func (i BandwidthPolicyMap) ToBandwidthPolicyMapOutput() BandwidthPolicyMapOutput

func (BandwidthPolicyMap) ToBandwidthPolicyMapOutputWithContext

func (i BandwidthPolicyMap) ToBandwidthPolicyMapOutputWithContext(ctx context.Context) BandwidthPolicyMapOutput

type BandwidthPolicyMapInput

type BandwidthPolicyMapInput interface {
	pulumi.Input

	ToBandwidthPolicyMapOutput() BandwidthPolicyMapOutput
	ToBandwidthPolicyMapOutputWithContext(context.Context) BandwidthPolicyMapOutput
}

BandwidthPolicyMapInput is an input type that accepts BandwidthPolicyMap and BandwidthPolicyMapOutput values. You can construct a concrete instance of `BandwidthPolicyMapInput` via:

BandwidthPolicyMap{ "key": BandwidthPolicyArgs{...} }

type BandwidthPolicyMapOutput

type BandwidthPolicyMapOutput struct{ *pulumi.OutputState }

func (BandwidthPolicyMapOutput) ElementType

func (BandwidthPolicyMapOutput) ElementType() reflect.Type

func (BandwidthPolicyMapOutput) MapIndex

func (BandwidthPolicyMapOutput) ToBandwidthPolicyMapOutput

func (o BandwidthPolicyMapOutput) ToBandwidthPolicyMapOutput() BandwidthPolicyMapOutput

func (BandwidthPolicyMapOutput) ToBandwidthPolicyMapOutputWithContext

func (o BandwidthPolicyMapOutput) ToBandwidthPolicyMapOutputWithContext(ctx context.Context) BandwidthPolicyMapOutput

type BandwidthPolicyOutput

type BandwidthPolicyOutput struct{ *pulumi.OutputState }

func (BandwidthPolicyOutput) AlarmId

Specifies the alarm rule ID. This parameter is mandatory when `scalingPolicyType` is set to ALARM.

func (BandwidthPolicyOutput) BandwidthId

func (o BandwidthPolicyOutput) BandwidthId() pulumi.StringOutput

Specifies the scaling bandwidth ID.

func (BandwidthPolicyOutput) CoolDownTime

func (o BandwidthPolicyOutput) CoolDownTime() pulumi.IntOutput

Specifies the cooldown period (in seconds). The value ranges from 0 to 86400 and is 300 by default.

func (BandwidthPolicyOutput) Description

func (o BandwidthPolicyOutput) Description() pulumi.StringOutput

Specifies the description of the AS policy. The value can contain 0 to 256 characters.

func (BandwidthPolicyOutput) ElementType

func (BandwidthPolicyOutput) ElementType() reflect.Type

func (BandwidthPolicyOutput) Region

Specifies the region in which to create the resource. If omitted, the provider-level region will be used. Changing this parameter will create a new resource.

func (BandwidthPolicyOutput) ScalingPolicyAction

Specifies the scaling action of the AS policy. The object structure is documented below.

func (BandwidthPolicyOutput) ScalingPolicyName

func (o BandwidthPolicyOutput) ScalingPolicyName() pulumi.StringOutput

Specifies the AS policy name. The name contains only letters, digits, underscores (_), and hyphens (-), and cannot exceed 64 characters.

func (BandwidthPolicyOutput) ScalingPolicyType

func (o BandwidthPolicyOutput) ScalingPolicyType() pulumi.StringOutput

Specifies the AS policy type. The options are as follows: - **ALARM** (corresponding to `alarmId`): indicates that the scaling action is triggered by an alarm. - **SCHEDULED** (corresponding to `scheduledPolicy`): indicates that the scaling action is triggered as scheduled. - **RECURRENCE** (corresponding to `scheduledPolicy`): indicates that the scaling action is triggered periodically.

func (BandwidthPolicyOutput) ScalingResourceType

func (o BandwidthPolicyOutput) ScalingResourceType() pulumi.StringOutput

The scaling resource type. The value is fixed to **BANDWIDTH**.

func (BandwidthPolicyOutput) ScheduledPolicy

Specifies the periodic or scheduled AS policy. This parameter is mandatory when `scalingPolicyType` is set to SCHEDULED or RECURRENCE. The object structure is documented below.

func (BandwidthPolicyOutput) Status

The AS policy status. The value can be **INSERVICE**, **PAUSED** and **EXECUTING**.

func (BandwidthPolicyOutput) ToBandwidthPolicyOutput

func (o BandwidthPolicyOutput) ToBandwidthPolicyOutput() BandwidthPolicyOutput

func (BandwidthPolicyOutput) ToBandwidthPolicyOutputWithContext

func (o BandwidthPolicyOutput) ToBandwidthPolicyOutputWithContext(ctx context.Context) BandwidthPolicyOutput

type BandwidthPolicyScalingPolicyAction

type BandwidthPolicyScalingPolicyAction struct {
	// Specifies the operation restrictions.
	// - If operation is not SET, this parameter takes effect and the unit is Mbit/s.
	// - If operation is set to ADD, this parameter indicates the maximum bandwidth allowed.
	// - If operation is set to REDUCE, this parameter indicates the minimum bandwidth allowed.
	Limits *int `pulumi:"limits"`
	// Specifies the operation to be performed. The default operation is ADD.
	// The options are as follows:
	// - **ADD**: indicates adding the bandwidth size.
	// - **REDUCE**: indicates reducing the bandwidth size.
	// - **SET**: indicates setting the bandwidth size to a specified value.
	Operation *string `pulumi:"operation"`
	// Specifies the bandwidth (Mbit/s).
	// The value is an integer from 1 to 2000. The default value is 1.
	Size *int `pulumi:"size"`
}

type BandwidthPolicyScalingPolicyActionArgs

type BandwidthPolicyScalingPolicyActionArgs struct {
	// Specifies the operation restrictions.
	// - If operation is not SET, this parameter takes effect and the unit is Mbit/s.
	// - If operation is set to ADD, this parameter indicates the maximum bandwidth allowed.
	// - If operation is set to REDUCE, this parameter indicates the minimum bandwidth allowed.
	Limits pulumi.IntPtrInput `pulumi:"limits"`
	// Specifies the operation to be performed. The default operation is ADD.
	// The options are as follows:
	// - **ADD**: indicates adding the bandwidth size.
	// - **REDUCE**: indicates reducing the bandwidth size.
	// - **SET**: indicates setting the bandwidth size to a specified value.
	Operation pulumi.StringPtrInput `pulumi:"operation"`
	// Specifies the bandwidth (Mbit/s).
	// The value is an integer from 1 to 2000. The default value is 1.
	Size pulumi.IntPtrInput `pulumi:"size"`
}

func (BandwidthPolicyScalingPolicyActionArgs) ElementType

func (BandwidthPolicyScalingPolicyActionArgs) ToBandwidthPolicyScalingPolicyActionOutput

func (i BandwidthPolicyScalingPolicyActionArgs) ToBandwidthPolicyScalingPolicyActionOutput() BandwidthPolicyScalingPolicyActionOutput

func (BandwidthPolicyScalingPolicyActionArgs) ToBandwidthPolicyScalingPolicyActionOutputWithContext

func (i BandwidthPolicyScalingPolicyActionArgs) ToBandwidthPolicyScalingPolicyActionOutputWithContext(ctx context.Context) BandwidthPolicyScalingPolicyActionOutput

func (BandwidthPolicyScalingPolicyActionArgs) ToBandwidthPolicyScalingPolicyActionPtrOutput

func (i BandwidthPolicyScalingPolicyActionArgs) ToBandwidthPolicyScalingPolicyActionPtrOutput() BandwidthPolicyScalingPolicyActionPtrOutput

func (BandwidthPolicyScalingPolicyActionArgs) ToBandwidthPolicyScalingPolicyActionPtrOutputWithContext

func (i BandwidthPolicyScalingPolicyActionArgs) ToBandwidthPolicyScalingPolicyActionPtrOutputWithContext(ctx context.Context) BandwidthPolicyScalingPolicyActionPtrOutput

type BandwidthPolicyScalingPolicyActionInput

type BandwidthPolicyScalingPolicyActionInput interface {
	pulumi.Input

	ToBandwidthPolicyScalingPolicyActionOutput() BandwidthPolicyScalingPolicyActionOutput
	ToBandwidthPolicyScalingPolicyActionOutputWithContext(context.Context) BandwidthPolicyScalingPolicyActionOutput
}

BandwidthPolicyScalingPolicyActionInput is an input type that accepts BandwidthPolicyScalingPolicyActionArgs and BandwidthPolicyScalingPolicyActionOutput values. You can construct a concrete instance of `BandwidthPolicyScalingPolicyActionInput` via:

BandwidthPolicyScalingPolicyActionArgs{...}

type BandwidthPolicyScalingPolicyActionOutput

type BandwidthPolicyScalingPolicyActionOutput struct{ *pulumi.OutputState }

func (BandwidthPolicyScalingPolicyActionOutput) ElementType

func (BandwidthPolicyScalingPolicyActionOutput) Limits

Specifies the operation restrictions. - If operation is not SET, this parameter takes effect and the unit is Mbit/s. - If operation is set to ADD, this parameter indicates the maximum bandwidth allowed. - If operation is set to REDUCE, this parameter indicates the minimum bandwidth allowed.

func (BandwidthPolicyScalingPolicyActionOutput) Operation

Specifies the operation to be performed. The default operation is ADD. The options are as follows: - **ADD**: indicates adding the bandwidth size. - **REDUCE**: indicates reducing the bandwidth size. - **SET**: indicates setting the bandwidth size to a specified value.

func (BandwidthPolicyScalingPolicyActionOutput) Size

Specifies the bandwidth (Mbit/s). The value is an integer from 1 to 2000. The default value is 1.

func (BandwidthPolicyScalingPolicyActionOutput) ToBandwidthPolicyScalingPolicyActionOutput

func (o BandwidthPolicyScalingPolicyActionOutput) ToBandwidthPolicyScalingPolicyActionOutput() BandwidthPolicyScalingPolicyActionOutput

func (BandwidthPolicyScalingPolicyActionOutput) ToBandwidthPolicyScalingPolicyActionOutputWithContext

func (o BandwidthPolicyScalingPolicyActionOutput) ToBandwidthPolicyScalingPolicyActionOutputWithContext(ctx context.Context) BandwidthPolicyScalingPolicyActionOutput

func (BandwidthPolicyScalingPolicyActionOutput) ToBandwidthPolicyScalingPolicyActionPtrOutput

func (o BandwidthPolicyScalingPolicyActionOutput) ToBandwidthPolicyScalingPolicyActionPtrOutput() BandwidthPolicyScalingPolicyActionPtrOutput

func (BandwidthPolicyScalingPolicyActionOutput) ToBandwidthPolicyScalingPolicyActionPtrOutputWithContext

func (o BandwidthPolicyScalingPolicyActionOutput) ToBandwidthPolicyScalingPolicyActionPtrOutputWithContext(ctx context.Context) BandwidthPolicyScalingPolicyActionPtrOutput

type BandwidthPolicyScalingPolicyActionPtrInput

type BandwidthPolicyScalingPolicyActionPtrInput interface {
	pulumi.Input

	ToBandwidthPolicyScalingPolicyActionPtrOutput() BandwidthPolicyScalingPolicyActionPtrOutput
	ToBandwidthPolicyScalingPolicyActionPtrOutputWithContext(context.Context) BandwidthPolicyScalingPolicyActionPtrOutput
}

BandwidthPolicyScalingPolicyActionPtrInput is an input type that accepts BandwidthPolicyScalingPolicyActionArgs, BandwidthPolicyScalingPolicyActionPtr and BandwidthPolicyScalingPolicyActionPtrOutput values. You can construct a concrete instance of `BandwidthPolicyScalingPolicyActionPtrInput` via:

        BandwidthPolicyScalingPolicyActionArgs{...}

or:

        nil

type BandwidthPolicyScalingPolicyActionPtrOutput

type BandwidthPolicyScalingPolicyActionPtrOutput struct{ *pulumi.OutputState }

func (BandwidthPolicyScalingPolicyActionPtrOutput) Elem

func (BandwidthPolicyScalingPolicyActionPtrOutput) ElementType

func (BandwidthPolicyScalingPolicyActionPtrOutput) Limits

Specifies the operation restrictions. - If operation is not SET, this parameter takes effect and the unit is Mbit/s. - If operation is set to ADD, this parameter indicates the maximum bandwidth allowed. - If operation is set to REDUCE, this parameter indicates the minimum bandwidth allowed.

func (BandwidthPolicyScalingPolicyActionPtrOutput) Operation

Specifies the operation to be performed. The default operation is ADD. The options are as follows: - **ADD**: indicates adding the bandwidth size. - **REDUCE**: indicates reducing the bandwidth size. - **SET**: indicates setting the bandwidth size to a specified value.

func (BandwidthPolicyScalingPolicyActionPtrOutput) Size

Specifies the bandwidth (Mbit/s). The value is an integer from 1 to 2000. The default value is 1.

func (BandwidthPolicyScalingPolicyActionPtrOutput) ToBandwidthPolicyScalingPolicyActionPtrOutput

func (o BandwidthPolicyScalingPolicyActionPtrOutput) ToBandwidthPolicyScalingPolicyActionPtrOutput() BandwidthPolicyScalingPolicyActionPtrOutput

func (BandwidthPolicyScalingPolicyActionPtrOutput) ToBandwidthPolicyScalingPolicyActionPtrOutputWithContext

func (o BandwidthPolicyScalingPolicyActionPtrOutput) ToBandwidthPolicyScalingPolicyActionPtrOutputWithContext(ctx context.Context) BandwidthPolicyScalingPolicyActionPtrOutput

type BandwidthPolicyScheduledPolicy

type BandwidthPolicyScheduledPolicy struct {
	// Specifies the end time of the scaling action triggered periodically.
	// The time format complies with UTC. This parameter is mandatory when scalingPolicyType is set to RECURRENCE.
	// When the scaling action is triggered periodically, the end time cannot be earlier than the current and start time.
	// The time format is YYYY-MM-DDThh:mmZ.
	EndTime *string `pulumi:"endTime"`
	// Specifies the time when the scaling action is triggered.
	// The time format complies with UTC.
	// - If scalingPolicyType is set to SCHEDULED, the time format is YYYY-MM-DDThh:mmZ.
	// - If scalingPolicyType is set to RECURRENCE, the time format is hh:mm.
	LaunchTime string `pulumi:"launchTime"`
	// Specifies the periodic triggering type.
	// This parameter is mandatory when scalingPolicyType is set to RECURRENCE. The options are as follows:
	// - **Daily**: indicates that the scaling action is triggered once a day.
	// - **Weekly**: indicates that the scaling action is triggered once a week.
	// - **Monthly**: indicates that the scaling action is triggered once a month.
	RecurrenceType *string `pulumi:"recurrenceType"`
	// Specifies the day when a periodic scaling action is triggered.
	// This parameter is mandatory when scalingPolicyType is set to RECURRENCE.
	// - If recurrenceType is set to Daily, the value is null, indicating that the scaling action is triggered once a day.
	// - If recurrenceType is set to Weekly, the value ranges from 1 (Sunday) to 7 (Saturday).
	//   The digits refer to dates in each week and separated by a comma, such as 1,3,5.
	// - If recurrenceType is set to Monthly, the value ranges from 1 to 31.
	//   The digits refer to the dates in each month and separated by a comma, such as 1,10,13,28.
	RecurrenceValue *string `pulumi:"recurrenceValue"`
	// Specifies the start time of the scaling action triggered periodically.
	// The time format complies with UTC. The default value is the local time.
	// The time format is YYYY-MM-DDThh:mmZ.
	StartTime *string `pulumi:"startTime"`
}

type BandwidthPolicyScheduledPolicyArgs

type BandwidthPolicyScheduledPolicyArgs struct {
	// Specifies the end time of the scaling action triggered periodically.
	// The time format complies with UTC. This parameter is mandatory when scalingPolicyType is set to RECURRENCE.
	// When the scaling action is triggered periodically, the end time cannot be earlier than the current and start time.
	// The time format is YYYY-MM-DDThh:mmZ.
	EndTime pulumi.StringPtrInput `pulumi:"endTime"`
	// Specifies the time when the scaling action is triggered.
	// The time format complies with UTC.
	// - If scalingPolicyType is set to SCHEDULED, the time format is YYYY-MM-DDThh:mmZ.
	// - If scalingPolicyType is set to RECURRENCE, the time format is hh:mm.
	LaunchTime pulumi.StringInput `pulumi:"launchTime"`
	// Specifies the periodic triggering type.
	// This parameter is mandatory when scalingPolicyType is set to RECURRENCE. The options are as follows:
	// - **Daily**: indicates that the scaling action is triggered once a day.
	// - **Weekly**: indicates that the scaling action is triggered once a week.
	// - **Monthly**: indicates that the scaling action is triggered once a month.
	RecurrenceType pulumi.StringPtrInput `pulumi:"recurrenceType"`
	// Specifies the day when a periodic scaling action is triggered.
	// This parameter is mandatory when scalingPolicyType is set to RECURRENCE.
	// - If recurrenceType is set to Daily, the value is null, indicating that the scaling action is triggered once a day.
	// - If recurrenceType is set to Weekly, the value ranges from 1 (Sunday) to 7 (Saturday).
	//   The digits refer to dates in each week and separated by a comma, such as 1,3,5.
	// - If recurrenceType is set to Monthly, the value ranges from 1 to 31.
	//   The digits refer to the dates in each month and separated by a comma, such as 1,10,13,28.
	RecurrenceValue pulumi.StringPtrInput `pulumi:"recurrenceValue"`
	// Specifies the start time of the scaling action triggered periodically.
	// The time format complies with UTC. The default value is the local time.
	// The time format is YYYY-MM-DDThh:mmZ.
	StartTime pulumi.StringPtrInput `pulumi:"startTime"`
}

func (BandwidthPolicyScheduledPolicyArgs) ElementType

func (BandwidthPolicyScheduledPolicyArgs) ToBandwidthPolicyScheduledPolicyOutput

func (i BandwidthPolicyScheduledPolicyArgs) ToBandwidthPolicyScheduledPolicyOutput() BandwidthPolicyScheduledPolicyOutput

func (BandwidthPolicyScheduledPolicyArgs) ToBandwidthPolicyScheduledPolicyOutputWithContext

func (i BandwidthPolicyScheduledPolicyArgs) ToBandwidthPolicyScheduledPolicyOutputWithContext(ctx context.Context) BandwidthPolicyScheduledPolicyOutput

func (BandwidthPolicyScheduledPolicyArgs) ToBandwidthPolicyScheduledPolicyPtrOutput

func (i BandwidthPolicyScheduledPolicyArgs) ToBandwidthPolicyScheduledPolicyPtrOutput() BandwidthPolicyScheduledPolicyPtrOutput

func (BandwidthPolicyScheduledPolicyArgs) ToBandwidthPolicyScheduledPolicyPtrOutputWithContext

func (i BandwidthPolicyScheduledPolicyArgs) ToBandwidthPolicyScheduledPolicyPtrOutputWithContext(ctx context.Context) BandwidthPolicyScheduledPolicyPtrOutput

type BandwidthPolicyScheduledPolicyInput

type BandwidthPolicyScheduledPolicyInput interface {
	pulumi.Input

	ToBandwidthPolicyScheduledPolicyOutput() BandwidthPolicyScheduledPolicyOutput
	ToBandwidthPolicyScheduledPolicyOutputWithContext(context.Context) BandwidthPolicyScheduledPolicyOutput
}

BandwidthPolicyScheduledPolicyInput is an input type that accepts BandwidthPolicyScheduledPolicyArgs and BandwidthPolicyScheduledPolicyOutput values. You can construct a concrete instance of `BandwidthPolicyScheduledPolicyInput` via:

BandwidthPolicyScheduledPolicyArgs{...}

type BandwidthPolicyScheduledPolicyOutput

type BandwidthPolicyScheduledPolicyOutput struct{ *pulumi.OutputState }

func (BandwidthPolicyScheduledPolicyOutput) ElementType

func (BandwidthPolicyScheduledPolicyOutput) EndTime

Specifies the end time of the scaling action triggered periodically. The time format complies with UTC. This parameter is mandatory when scalingPolicyType is set to RECURRENCE. When the scaling action is triggered periodically, the end time cannot be earlier than the current and start time. The time format is YYYY-MM-DDThh:mmZ.

func (BandwidthPolicyScheduledPolicyOutput) LaunchTime

Specifies the time when the scaling action is triggered. The time format complies with UTC. - If scalingPolicyType is set to SCHEDULED, the time format is YYYY-MM-DDThh:mmZ. - If scalingPolicyType is set to RECURRENCE, the time format is hh:mm.

func (BandwidthPolicyScheduledPolicyOutput) RecurrenceType

Specifies the periodic triggering type. This parameter is mandatory when scalingPolicyType is set to RECURRENCE. The options are as follows: - **Daily**: indicates that the scaling action is triggered once a day. - **Weekly**: indicates that the scaling action is triggered once a week. - **Monthly**: indicates that the scaling action is triggered once a month.

func (BandwidthPolicyScheduledPolicyOutput) RecurrenceValue

Specifies the day when a periodic scaling action is triggered. This parameter is mandatory when scalingPolicyType is set to RECURRENCE.

  • If recurrenceType is set to Daily, the value is null, indicating that the scaling action is triggered once a day.
  • If recurrenceType is set to Weekly, the value ranges from 1 (Sunday) to 7 (Saturday). The digits refer to dates in each week and separated by a comma, such as 1,3,5.
  • If recurrenceType is set to Monthly, the value ranges from 1 to 31. The digits refer to the dates in each month and separated by a comma, such as 1,10,13,28.

func (BandwidthPolicyScheduledPolicyOutput) StartTime

Specifies the start time of the scaling action triggered periodically. The time format complies with UTC. The default value is the local time. The time format is YYYY-MM-DDThh:mmZ.

func (BandwidthPolicyScheduledPolicyOutput) ToBandwidthPolicyScheduledPolicyOutput

func (o BandwidthPolicyScheduledPolicyOutput) ToBandwidthPolicyScheduledPolicyOutput() BandwidthPolicyScheduledPolicyOutput

func (BandwidthPolicyScheduledPolicyOutput) ToBandwidthPolicyScheduledPolicyOutputWithContext

func (o BandwidthPolicyScheduledPolicyOutput) ToBandwidthPolicyScheduledPolicyOutputWithContext(ctx context.Context) BandwidthPolicyScheduledPolicyOutput

func (BandwidthPolicyScheduledPolicyOutput) ToBandwidthPolicyScheduledPolicyPtrOutput

func (o BandwidthPolicyScheduledPolicyOutput) ToBandwidthPolicyScheduledPolicyPtrOutput() BandwidthPolicyScheduledPolicyPtrOutput

func (BandwidthPolicyScheduledPolicyOutput) ToBandwidthPolicyScheduledPolicyPtrOutputWithContext

func (o BandwidthPolicyScheduledPolicyOutput) ToBandwidthPolicyScheduledPolicyPtrOutputWithContext(ctx context.Context) BandwidthPolicyScheduledPolicyPtrOutput

type BandwidthPolicyScheduledPolicyPtrInput

type BandwidthPolicyScheduledPolicyPtrInput interface {
	pulumi.Input

	ToBandwidthPolicyScheduledPolicyPtrOutput() BandwidthPolicyScheduledPolicyPtrOutput
	ToBandwidthPolicyScheduledPolicyPtrOutputWithContext(context.Context) BandwidthPolicyScheduledPolicyPtrOutput
}

BandwidthPolicyScheduledPolicyPtrInput is an input type that accepts BandwidthPolicyScheduledPolicyArgs, BandwidthPolicyScheduledPolicyPtr and BandwidthPolicyScheduledPolicyPtrOutput values. You can construct a concrete instance of `BandwidthPolicyScheduledPolicyPtrInput` via:

        BandwidthPolicyScheduledPolicyArgs{...}

or:

        nil

type BandwidthPolicyScheduledPolicyPtrOutput

type BandwidthPolicyScheduledPolicyPtrOutput struct{ *pulumi.OutputState }

func (BandwidthPolicyScheduledPolicyPtrOutput) Elem

func (BandwidthPolicyScheduledPolicyPtrOutput) ElementType

func (BandwidthPolicyScheduledPolicyPtrOutput) EndTime

Specifies the end time of the scaling action triggered periodically. The time format complies with UTC. This parameter is mandatory when scalingPolicyType is set to RECURRENCE. When the scaling action is triggered periodically, the end time cannot be earlier than the current and start time. The time format is YYYY-MM-DDThh:mmZ.

func (BandwidthPolicyScheduledPolicyPtrOutput) LaunchTime

Specifies the time when the scaling action is triggered. The time format complies with UTC. - If scalingPolicyType is set to SCHEDULED, the time format is YYYY-MM-DDThh:mmZ. - If scalingPolicyType is set to RECURRENCE, the time format is hh:mm.

func (BandwidthPolicyScheduledPolicyPtrOutput) RecurrenceType

Specifies the periodic triggering type. This parameter is mandatory when scalingPolicyType is set to RECURRENCE. The options are as follows: - **Daily**: indicates that the scaling action is triggered once a day. - **Weekly**: indicates that the scaling action is triggered once a week. - **Monthly**: indicates that the scaling action is triggered once a month.

func (BandwidthPolicyScheduledPolicyPtrOutput) RecurrenceValue

Specifies the day when a periodic scaling action is triggered. This parameter is mandatory when scalingPolicyType is set to RECURRENCE.

  • If recurrenceType is set to Daily, the value is null, indicating that the scaling action is triggered once a day.
  • If recurrenceType is set to Weekly, the value ranges from 1 (Sunday) to 7 (Saturday). The digits refer to dates in each week and separated by a comma, such as 1,3,5.
  • If recurrenceType is set to Monthly, the value ranges from 1 to 31. The digits refer to the dates in each month and separated by a comma, such as 1,10,13,28.

func (BandwidthPolicyScheduledPolicyPtrOutput) StartTime

Specifies the start time of the scaling action triggered periodically. The time format complies with UTC. The default value is the local time. The time format is YYYY-MM-DDThh:mmZ.

func (BandwidthPolicyScheduledPolicyPtrOutput) ToBandwidthPolicyScheduledPolicyPtrOutput

func (o BandwidthPolicyScheduledPolicyPtrOutput) ToBandwidthPolicyScheduledPolicyPtrOutput() BandwidthPolicyScheduledPolicyPtrOutput

func (BandwidthPolicyScheduledPolicyPtrOutput) ToBandwidthPolicyScheduledPolicyPtrOutputWithContext

func (o BandwidthPolicyScheduledPolicyPtrOutput) ToBandwidthPolicyScheduledPolicyPtrOutputWithContext(ctx context.Context) BandwidthPolicyScheduledPolicyPtrOutput

type BandwidthPolicyState

type BandwidthPolicyState struct {
	// Specifies the alarm rule ID.
	// This parameter is mandatory when `scalingPolicyType` is set to ALARM.
	AlarmId pulumi.StringPtrInput
	// Specifies the scaling bandwidth ID.
	BandwidthId pulumi.StringPtrInput
	// Specifies the cooldown period (in seconds).
	// The value ranges from 0 to 86400 and is 300 by default.
	CoolDownTime pulumi.IntPtrInput
	// Specifies the description of the AS policy.
	// The value can contain 0 to 256 characters.
	Description pulumi.StringPtrInput
	// Specifies the region in which to create the resource.
	// If omitted, the provider-level region will be used. Changing this parameter will create a new resource.
	Region pulumi.StringPtrInput
	// Specifies the scaling action of the AS policy.
	// The object structure is documented below.
	ScalingPolicyAction BandwidthPolicyScalingPolicyActionPtrInput
	// Specifies the AS policy name.
	// The name contains only letters, digits, underscores (_), and hyphens (-), and cannot exceed 64 characters.
	ScalingPolicyName pulumi.StringPtrInput
	// Specifies the AS policy type. The options are as follows:
	// - **ALARM** (corresponding to `alarmId`): indicates that the scaling action is triggered by an alarm.
	// - **SCHEDULED** (corresponding to `scheduledPolicy`): indicates that the scaling action is triggered as scheduled.
	// - **RECURRENCE** (corresponding to `scheduledPolicy`): indicates that the scaling action is triggered periodically.
	ScalingPolicyType pulumi.StringPtrInput
	// The scaling resource type. The value is fixed to **BANDWIDTH**.
	ScalingResourceType pulumi.StringPtrInput
	// Specifies the periodic or scheduled AS policy.
	// This parameter is mandatory when `scalingPolicyType` is set to SCHEDULED or RECURRENCE.
	// The object structure is documented below.
	ScheduledPolicy BandwidthPolicyScheduledPolicyPtrInput
	// The AS policy status. The value can be **INSERVICE**, **PAUSED** and **EXECUTING**.
	Status pulumi.StringPtrInput
}

func (BandwidthPolicyState) ElementType

func (BandwidthPolicyState) ElementType() reflect.Type

type Configuration

type Configuration struct {
	pulumi.CustomResourceState

	// Specifies the information about instance configuration.
	// The object structure is documented below. Changing this will create a new resource.
	InstanceConfig ConfigurationInstanceConfigOutput `pulumi:"instanceConfig"`
	// Specifies the region in which to create the AS configuration.
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the AS configuration name.
	// The name contains only letters, digits, underscores (_), and hyphens (-), and cannot exceed 64 characters.
	// Changing this will create a new resource.
	ScalingConfigurationName pulumi.StringOutput `pulumi:"scalingConfigurationName"`
	// The AS configuration status, the value can be **Bound** or **Unbound**.
	Status pulumi.StringOutput `pulumi:"status"`
}

Manages an AS configuration resource within HuaweiCloud.

## Example Usage ### Basic AS Configuration

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		flavorId := cfg.RequireObject("flavorId")
		imageId := cfg.RequireObject("imageId")
		sshKey := cfg.RequireObject("sshKey")
		securityGroupId := cfg.RequireObject("securityGroupId")
		_, err := As.NewConfiguration(ctx, "myAsConfig", &As.ConfigurationArgs{
			ScalingConfigurationName: pulumi.String("my_as_config"),
			InstanceConfig: &as.ConfigurationInstanceConfigArgs{
				Flavor:  pulumi.Any(flavorId),
				Image:   pulumi.Any(imageId),
				KeyName: pulumi.Any(sshKey),
				SecurityGroupIds: pulumi.StringArray{
					pulumi.Any(securityGroupId),
				},
				Disks: as.ConfigurationInstanceConfigDiskArray{
					&as.ConfigurationInstanceConfigDiskArgs{
						Size:       pulumi.Int(40),
						VolumeType: pulumi.String("SSD"),
						DiskType:   pulumi.String("SYS"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### AS Configuration With Encrypted Data Disk

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		flavorId := cfg.RequireObject("flavorId")
		imageId := cfg.RequireObject("imageId")
		sshKey := cfg.RequireObject("sshKey")
		kmsId := cfg.RequireObject("kmsId")
		securityGroupId := cfg.RequireObject("securityGroupId")
		_, err := As.NewConfiguration(ctx, "myAsConfig", &As.ConfigurationArgs{
			ScalingConfigurationName: pulumi.String("my_as_config"),
			InstanceConfig: &as.ConfigurationInstanceConfigArgs{
				Flavor:  pulumi.Any(flavorId),
				Image:   pulumi.Any(imageId),
				KeyName: pulumi.Any(sshKey),
				SecurityGroupIds: pulumi.StringArray{
					pulumi.Any(securityGroupId),
				},
				Disks: as.ConfigurationInstanceConfigDiskArray{
					&as.ConfigurationInstanceConfigDiskArgs{
						Size:       pulumi.Int(40),
						VolumeType: pulumi.String("SSD"),
						DiskType:   pulumi.String("SYS"),
					},
					&as.ConfigurationInstanceConfigDiskArgs{
						Size:       pulumi.Int(100),
						VolumeType: pulumi.String("SSD"),
						DiskType:   pulumi.String("DATA"),
						KmsId:      pulumi.Any(kmsId),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### AS Configuration With User Data and Metadata

```go package main

import (

"io/ioutil"

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := ioutil.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		flavorId := cfg.RequireObject("flavorId")
		imageId := cfg.RequireObject("imageId")
		sshKey := cfg.RequireObject("sshKey")
		securityGroupId := cfg.RequireObject("securityGroupId")
		_, err := As.NewConfiguration(ctx, "myAsConfig", &As.ConfigurationArgs{
			ScalingConfigurationName: pulumi.String("my_as_config"),
			InstanceConfig: &as.ConfigurationInstanceConfigArgs{
				Flavor:  pulumi.Any(flavorId),
				Image:   pulumi.Any(imageId),
				KeyName: pulumi.Any(sshKey),
				SecurityGroupIds: pulumi.StringArray{
					pulumi.Any(securityGroupId),
				},
				UserData: readFileOrPanic("userdata.txt"),
				Disks: as.ConfigurationInstanceConfigDiskArray{
					&as.ConfigurationInstanceConfigDiskArgs{
						Size:       pulumi.Int(40),
						VolumeType: pulumi.String("SSD"),
						DiskType:   pulumi.String("SYS"),
					},
				},
				Metadata: pulumi.StringMap{
					"some_key": pulumi.String("some_value"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### AS Configuration uses the existing instance specifications as the template

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		instanceId := cfg.RequireObject("instanceId")
		sshKey := cfg.RequireObject("sshKey")
		securityGroupId := cfg.RequireObject("securityGroupId")
		_, err := As.NewConfiguration(ctx, "myAsConfig", &As.ConfigurationArgs{
			ScalingConfigurationName: pulumi.String("my_as_config"),
			InstanceConfig: &as.ConfigurationInstanceConfigArgs{
				InstanceId: pulumi.Any(instanceId),
				KeyName:    pulumi.Any(sshKey),
				SecurityGroupIds: pulumi.StringArray{
					pulumi.Any(securityGroupId),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AS configurations can be imported by their `id`, e.g.

```sh

$ pulumi import huaweicloud:As/configuration:Configuration test 18518c8a-9d15-416b-8add-2ee874751d18

```

Note that the imported state may not be identical to your resource definition, due to `instance_config.0.instance_id` is missing from the API response. You can ignore changes after importing an AS configuration as below. resource "huaweicloud_as_configuration" "test" {

...

lifecycle {

ignore_changes = [ instance_config.0.instance_id ]

} }

func GetConfiguration

func GetConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConfigurationState, opts ...pulumi.ResourceOption) (*Configuration, error)

GetConfiguration gets an existing Configuration 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 NewConfiguration

func NewConfiguration(ctx *pulumi.Context,
	name string, args *ConfigurationArgs, opts ...pulumi.ResourceOption) (*Configuration, error)

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

func (*Configuration) ElementType

func (*Configuration) ElementType() reflect.Type

func (*Configuration) ToConfigurationOutput

func (i *Configuration) ToConfigurationOutput() ConfigurationOutput

func (*Configuration) ToConfigurationOutputWithContext

func (i *Configuration) ToConfigurationOutputWithContext(ctx context.Context) ConfigurationOutput

type ConfigurationArgs

type ConfigurationArgs struct {
	// Specifies the information about instance configuration.
	// The object structure is documented below. Changing this will create a new resource.
	InstanceConfig ConfigurationInstanceConfigInput
	// Specifies the region in which to create the AS configuration.
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringPtrInput
	// Specifies the AS configuration name.
	// The name contains only letters, digits, underscores (_), and hyphens (-), and cannot exceed 64 characters.
	// Changing this will create a new resource.
	ScalingConfigurationName pulumi.StringInput
}

The set of arguments for constructing a Configuration resource.

func (ConfigurationArgs) ElementType

func (ConfigurationArgs) ElementType() reflect.Type

type ConfigurationArray

type ConfigurationArray []ConfigurationInput

func (ConfigurationArray) ElementType

func (ConfigurationArray) ElementType() reflect.Type

func (ConfigurationArray) ToConfigurationArrayOutput

func (i ConfigurationArray) ToConfigurationArrayOutput() ConfigurationArrayOutput

func (ConfigurationArray) ToConfigurationArrayOutputWithContext

func (i ConfigurationArray) ToConfigurationArrayOutputWithContext(ctx context.Context) ConfigurationArrayOutput

type ConfigurationArrayInput

type ConfigurationArrayInput interface {
	pulumi.Input

	ToConfigurationArrayOutput() ConfigurationArrayOutput
	ToConfigurationArrayOutputWithContext(context.Context) ConfigurationArrayOutput
}

ConfigurationArrayInput is an input type that accepts ConfigurationArray and ConfigurationArrayOutput values. You can construct a concrete instance of `ConfigurationArrayInput` via:

ConfigurationArray{ ConfigurationArgs{...} }

type ConfigurationArrayOutput

type ConfigurationArrayOutput struct{ *pulumi.OutputState }

func (ConfigurationArrayOutput) ElementType

func (ConfigurationArrayOutput) ElementType() reflect.Type

func (ConfigurationArrayOutput) Index

func (ConfigurationArrayOutput) ToConfigurationArrayOutput

func (o ConfigurationArrayOutput) ToConfigurationArrayOutput() ConfigurationArrayOutput

func (ConfigurationArrayOutput) ToConfigurationArrayOutputWithContext

func (o ConfigurationArrayOutput) ToConfigurationArrayOutputWithContext(ctx context.Context) ConfigurationArrayOutput

type ConfigurationInput

type ConfigurationInput interface {
	pulumi.Input

	ToConfigurationOutput() ConfigurationOutput
	ToConfigurationOutputWithContext(ctx context.Context) ConfigurationOutput
}

type ConfigurationInstanceConfig

type ConfigurationInstanceConfig struct {
	// Specifies whether the bandwidth is billed by traffic or by bandwidth
	// size. The value can be **traffic** or **bandwidth**. Changing this creates a new resource.
	ChargingMode *string `pulumi:"chargingMode"`
	// Specifies the disk group information. System disks are mandatory and
	// data disks are optional. The object structure is documented below.
	// Changing this will create a new resource.
	Disks []ConfigurationInstanceConfigDisk `pulumi:"disks"`
	// Specifies the ECS group ID. Changing this will create a new resource.
	EcsGroupId *string `pulumi:"ecsGroupId"`
	// Specifies the ECS flavor name. A maximum of 10 flavors can be selected.
	// Use a comma (,) to separate multiple flavor names. Changing this will create a new resource.
	Flavor *string `pulumi:"flavor"`
	// Specifies the priority policy used when there are multiple flavors
	// and instances to be created using an AS configuration. The value can be `PICK_FIRST` and `COST_FIRST`.
	FlavorPriorityPolicy *string `pulumi:"flavorPriorityPolicy"`
	// Specifies the ECS image ID. Changing this will create a new resource.
	Image *string `pulumi:"image"`
	// Specifies the ECS instance ID when using its specification
	// as the template to create AS configurations. In this case, `flavor`, `image`, and `disk` arguments do not take effect.
	// If this argument is not specified, `flavor`, `image`, and `disk` arguments are mandatory.
	// Changing this will create a new resource.
	InstanceId *string `pulumi:"instanceId"`
	// Specifies the name of the SSH key pair used to log in to the instance.
	// Changing this will create a new resource.
	KeyName string `pulumi:"keyName"`
	// Specifies the key/value pairs to make available from within the instance.
	// Changing this will create a new resource.
	Metadata map[string]string `pulumi:"metadata"`
	// Specifies the customize personality of an instance by defining one or
	// more files and their contents. The object structure is documented below.
	// Changing this will create a new resource.
	Personalities []ConfigurationInstanceConfigPersonality `pulumi:"personalities"`
	// Specifies the EIP of the ECS instance.
	// The object structure is documented below.
	// Changing this will create a new resource.
	PublicIp *ConfigurationInstanceConfigPublicIp `pulumi:"publicIp"`
	// Specifies an array of one or more security group IDs.
	// Changing this will create a new resource.
	SecurityGroupIds []string `pulumi:"securityGroupIds"`
	// Specifies the user data to provide when launching the instance.
	// The file content must be encoded with Base64. Changing this will create a new resource.
	UserData *string `pulumi:"userData"`
}

type ConfigurationInstanceConfigArgs

type ConfigurationInstanceConfigArgs struct {
	// Specifies whether the bandwidth is billed by traffic or by bandwidth
	// size. The value can be **traffic** or **bandwidth**. Changing this creates a new resource.
	ChargingMode pulumi.StringPtrInput `pulumi:"chargingMode"`
	// Specifies the disk group information. System disks are mandatory and
	// data disks are optional. The object structure is documented below.
	// Changing this will create a new resource.
	Disks ConfigurationInstanceConfigDiskArrayInput `pulumi:"disks"`
	// Specifies the ECS group ID. Changing this will create a new resource.
	EcsGroupId pulumi.StringPtrInput `pulumi:"ecsGroupId"`
	// Specifies the ECS flavor name. A maximum of 10 flavors can be selected.
	// Use a comma (,) to separate multiple flavor names. Changing this will create a new resource.
	Flavor pulumi.StringPtrInput `pulumi:"flavor"`
	// Specifies the priority policy used when there are multiple flavors
	// and instances to be created using an AS configuration. The value can be `PICK_FIRST` and `COST_FIRST`.
	FlavorPriorityPolicy pulumi.StringPtrInput `pulumi:"flavorPriorityPolicy"`
	// Specifies the ECS image ID. Changing this will create a new resource.
	Image pulumi.StringPtrInput `pulumi:"image"`
	// Specifies the ECS instance ID when using its specification
	// as the template to create AS configurations. In this case, `flavor`, `image`, and `disk` arguments do not take effect.
	// If this argument is not specified, `flavor`, `image`, and `disk` arguments are mandatory.
	// Changing this will create a new resource.
	InstanceId pulumi.StringPtrInput `pulumi:"instanceId"`
	// Specifies the name of the SSH key pair used to log in to the instance.
	// Changing this will create a new resource.
	KeyName pulumi.StringInput `pulumi:"keyName"`
	// Specifies the key/value pairs to make available from within the instance.
	// Changing this will create a new resource.
	Metadata pulumi.StringMapInput `pulumi:"metadata"`
	// Specifies the customize personality of an instance by defining one or
	// more files and their contents. The object structure is documented below.
	// Changing this will create a new resource.
	Personalities ConfigurationInstanceConfigPersonalityArrayInput `pulumi:"personalities"`
	// Specifies the EIP of the ECS instance.
	// The object structure is documented below.
	// Changing this will create a new resource.
	PublicIp ConfigurationInstanceConfigPublicIpPtrInput `pulumi:"publicIp"`
	// Specifies an array of one or more security group IDs.
	// Changing this will create a new resource.
	SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"`
	// Specifies the user data to provide when launching the instance.
	// The file content must be encoded with Base64. Changing this will create a new resource.
	UserData pulumi.StringPtrInput `pulumi:"userData"`
}

func (ConfigurationInstanceConfigArgs) ElementType

func (ConfigurationInstanceConfigArgs) ToConfigurationInstanceConfigOutput

func (i ConfigurationInstanceConfigArgs) ToConfigurationInstanceConfigOutput() ConfigurationInstanceConfigOutput

func (ConfigurationInstanceConfigArgs) ToConfigurationInstanceConfigOutputWithContext

func (i ConfigurationInstanceConfigArgs) ToConfigurationInstanceConfigOutputWithContext(ctx context.Context) ConfigurationInstanceConfigOutput

func (ConfigurationInstanceConfigArgs) ToConfigurationInstanceConfigPtrOutput

func (i ConfigurationInstanceConfigArgs) ToConfigurationInstanceConfigPtrOutput() ConfigurationInstanceConfigPtrOutput

func (ConfigurationInstanceConfigArgs) ToConfigurationInstanceConfigPtrOutputWithContext

func (i ConfigurationInstanceConfigArgs) ToConfigurationInstanceConfigPtrOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPtrOutput

type ConfigurationInstanceConfigDisk

type ConfigurationInstanceConfigDisk struct {
	// Specifies whether the disk is a system disk or a data disk.
	// Option **DATA** indicates a data disk, option **SYS** indicates a system disk.
	// Changing this will create a new resource.
	DiskType string `pulumi:"diskType"`
	// Specifies the encryption KMS ID of the **DATA** disk.
	// Changing this will create a new resource.
	KmsId *string `pulumi:"kmsId"`
	// Specifies the bandwidth (Mbit/s). The value range for bandwidth billed by bandwidth
	// is 1 to 2000 and that for bandwidth billed by traffic is 1 to 300.
	// Changing this creates a new resource.
	Size int `pulumi:"size"`
	// Specifies the disk type. Changing this will create a new resource.
	// Available options are:
	// + `SAS`: high I/O disk type.
	// + `SSD`: ultra-high I/O disk type.
	// + `GPSSD`: general purpose SSD disk type.
	VolumeType string `pulumi:"volumeType"`
}

type ConfigurationInstanceConfigDiskArgs

type ConfigurationInstanceConfigDiskArgs struct {
	// Specifies whether the disk is a system disk or a data disk.
	// Option **DATA** indicates a data disk, option **SYS** indicates a system disk.
	// Changing this will create a new resource.
	DiskType pulumi.StringInput `pulumi:"diskType"`
	// Specifies the encryption KMS ID of the **DATA** disk.
	// Changing this will create a new resource.
	KmsId pulumi.StringPtrInput `pulumi:"kmsId"`
	// Specifies the bandwidth (Mbit/s). The value range for bandwidth billed by bandwidth
	// is 1 to 2000 and that for bandwidth billed by traffic is 1 to 300.
	// Changing this creates a new resource.
	Size pulumi.IntInput `pulumi:"size"`
	// Specifies the disk type. Changing this will create a new resource.
	// Available options are:
	// + `SAS`: high I/O disk type.
	// + `SSD`: ultra-high I/O disk type.
	// + `GPSSD`: general purpose SSD disk type.
	VolumeType pulumi.StringInput `pulumi:"volumeType"`
}

func (ConfigurationInstanceConfigDiskArgs) ElementType

func (ConfigurationInstanceConfigDiskArgs) ToConfigurationInstanceConfigDiskOutput

func (i ConfigurationInstanceConfigDiskArgs) ToConfigurationInstanceConfigDiskOutput() ConfigurationInstanceConfigDiskOutput

func (ConfigurationInstanceConfigDiskArgs) ToConfigurationInstanceConfigDiskOutputWithContext

func (i ConfigurationInstanceConfigDiskArgs) ToConfigurationInstanceConfigDiskOutputWithContext(ctx context.Context) ConfigurationInstanceConfigDiskOutput

type ConfigurationInstanceConfigDiskArray

type ConfigurationInstanceConfigDiskArray []ConfigurationInstanceConfigDiskInput

func (ConfigurationInstanceConfigDiskArray) ElementType

func (ConfigurationInstanceConfigDiskArray) ToConfigurationInstanceConfigDiskArrayOutput

func (i ConfigurationInstanceConfigDiskArray) ToConfigurationInstanceConfigDiskArrayOutput() ConfigurationInstanceConfigDiskArrayOutput

func (ConfigurationInstanceConfigDiskArray) ToConfigurationInstanceConfigDiskArrayOutputWithContext

func (i ConfigurationInstanceConfigDiskArray) ToConfigurationInstanceConfigDiskArrayOutputWithContext(ctx context.Context) ConfigurationInstanceConfigDiskArrayOutput

type ConfigurationInstanceConfigDiskArrayInput

type ConfigurationInstanceConfigDiskArrayInput interface {
	pulumi.Input

	ToConfigurationInstanceConfigDiskArrayOutput() ConfigurationInstanceConfigDiskArrayOutput
	ToConfigurationInstanceConfigDiskArrayOutputWithContext(context.Context) ConfigurationInstanceConfigDiskArrayOutput
}

ConfigurationInstanceConfigDiskArrayInput is an input type that accepts ConfigurationInstanceConfigDiskArray and ConfigurationInstanceConfigDiskArrayOutput values. You can construct a concrete instance of `ConfigurationInstanceConfigDiskArrayInput` via:

ConfigurationInstanceConfigDiskArray{ ConfigurationInstanceConfigDiskArgs{...} }

type ConfigurationInstanceConfigDiskArrayOutput

type ConfigurationInstanceConfigDiskArrayOutput struct{ *pulumi.OutputState }

func (ConfigurationInstanceConfigDiskArrayOutput) ElementType

func (ConfigurationInstanceConfigDiskArrayOutput) Index

func (ConfigurationInstanceConfigDiskArrayOutput) ToConfigurationInstanceConfigDiskArrayOutput

func (o ConfigurationInstanceConfigDiskArrayOutput) ToConfigurationInstanceConfigDiskArrayOutput() ConfigurationInstanceConfigDiskArrayOutput

func (ConfigurationInstanceConfigDiskArrayOutput) ToConfigurationInstanceConfigDiskArrayOutputWithContext

func (o ConfigurationInstanceConfigDiskArrayOutput) ToConfigurationInstanceConfigDiskArrayOutputWithContext(ctx context.Context) ConfigurationInstanceConfigDiskArrayOutput

type ConfigurationInstanceConfigDiskInput

type ConfigurationInstanceConfigDiskInput interface {
	pulumi.Input

	ToConfigurationInstanceConfigDiskOutput() ConfigurationInstanceConfigDiskOutput
	ToConfigurationInstanceConfigDiskOutputWithContext(context.Context) ConfigurationInstanceConfigDiskOutput
}

ConfigurationInstanceConfigDiskInput is an input type that accepts ConfigurationInstanceConfigDiskArgs and ConfigurationInstanceConfigDiskOutput values. You can construct a concrete instance of `ConfigurationInstanceConfigDiskInput` via:

ConfigurationInstanceConfigDiskArgs{...}

type ConfigurationInstanceConfigDiskOutput

type ConfigurationInstanceConfigDiskOutput struct{ *pulumi.OutputState }

func (ConfigurationInstanceConfigDiskOutput) DiskType

Specifies whether the disk is a system disk or a data disk. Option **DATA** indicates a data disk, option **SYS** indicates a system disk. Changing this will create a new resource.

func (ConfigurationInstanceConfigDiskOutput) ElementType

func (ConfigurationInstanceConfigDiskOutput) KmsId

Specifies the encryption KMS ID of the **DATA** disk. Changing this will create a new resource.

func (ConfigurationInstanceConfigDiskOutput) Size

Specifies the bandwidth (Mbit/s). The value range for bandwidth billed by bandwidth is 1 to 2000 and that for bandwidth billed by traffic is 1 to 300. Changing this creates a new resource.

func (ConfigurationInstanceConfigDiskOutput) ToConfigurationInstanceConfigDiskOutput

func (o ConfigurationInstanceConfigDiskOutput) ToConfigurationInstanceConfigDiskOutput() ConfigurationInstanceConfigDiskOutput

func (ConfigurationInstanceConfigDiskOutput) ToConfigurationInstanceConfigDiskOutputWithContext

func (o ConfigurationInstanceConfigDiskOutput) ToConfigurationInstanceConfigDiskOutputWithContext(ctx context.Context) ConfigurationInstanceConfigDiskOutput

func (ConfigurationInstanceConfigDiskOutput) VolumeType

Specifies the disk type. Changing this will create a new resource. Available options are: + `SAS`: high I/O disk type. + `SSD`: ultra-high I/O disk type. + `GPSSD`: general purpose SSD disk type.

type ConfigurationInstanceConfigInput

type ConfigurationInstanceConfigInput interface {
	pulumi.Input

	ToConfigurationInstanceConfigOutput() ConfigurationInstanceConfigOutput
	ToConfigurationInstanceConfigOutputWithContext(context.Context) ConfigurationInstanceConfigOutput
}

ConfigurationInstanceConfigInput is an input type that accepts ConfigurationInstanceConfigArgs and ConfigurationInstanceConfigOutput values. You can construct a concrete instance of `ConfigurationInstanceConfigInput` via:

ConfigurationInstanceConfigArgs{...}

type ConfigurationInstanceConfigOutput

type ConfigurationInstanceConfigOutput struct{ *pulumi.OutputState }

func (ConfigurationInstanceConfigOutput) ChargingMode added in v0.0.8

Specifies whether the bandwidth is billed by traffic or by bandwidth size. The value can be **traffic** or **bandwidth**. Changing this creates a new resource.

func (ConfigurationInstanceConfigOutput) Disks

Specifies the disk group information. System disks are mandatory and data disks are optional. The object structure is documented below. Changing this will create a new resource.

func (ConfigurationInstanceConfigOutput) EcsGroupId added in v0.0.8

Specifies the ECS group ID. Changing this will create a new resource.

func (ConfigurationInstanceConfigOutput) ElementType

func (ConfigurationInstanceConfigOutput) Flavor

Specifies the ECS flavor name. A maximum of 10 flavors can be selected. Use a comma (,) to separate multiple flavor names. Changing this will create a new resource.

func (ConfigurationInstanceConfigOutput) FlavorPriorityPolicy added in v0.0.8

func (o ConfigurationInstanceConfigOutput) FlavorPriorityPolicy() pulumi.StringPtrOutput

Specifies the priority policy used when there are multiple flavors and instances to be created using an AS configuration. The value can be `PICK_FIRST` and `COST_FIRST`.

func (ConfigurationInstanceConfigOutput) Image

Specifies the ECS image ID. Changing this will create a new resource.

func (ConfigurationInstanceConfigOutput) InstanceId

Specifies the ECS instance ID when using its specification as the template to create AS configurations. In this case, `flavor`, `image`, and `disk` arguments do not take effect. If this argument is not specified, `flavor`, `image`, and `disk` arguments are mandatory. Changing this will create a new resource.

func (ConfigurationInstanceConfigOutput) KeyName

Specifies the name of the SSH key pair used to log in to the instance. Changing this will create a new resource.

func (ConfigurationInstanceConfigOutput) Metadata

Specifies the key/value pairs to make available from within the instance. Changing this will create a new resource.

func (ConfigurationInstanceConfigOutput) Personalities

Specifies the customize personality of an instance by defining one or more files and their contents. The object structure is documented below. Changing this will create a new resource.

func (ConfigurationInstanceConfigOutput) PublicIp

Specifies the EIP of the ECS instance. The object structure is documented below. Changing this will create a new resource.

func (ConfigurationInstanceConfigOutput) SecurityGroupIds added in v0.0.8

Specifies an array of one or more security group IDs. Changing this will create a new resource.

func (ConfigurationInstanceConfigOutput) ToConfigurationInstanceConfigOutput

func (o ConfigurationInstanceConfigOutput) ToConfigurationInstanceConfigOutput() ConfigurationInstanceConfigOutput

func (ConfigurationInstanceConfigOutput) ToConfigurationInstanceConfigOutputWithContext

func (o ConfigurationInstanceConfigOutput) ToConfigurationInstanceConfigOutputWithContext(ctx context.Context) ConfigurationInstanceConfigOutput

func (ConfigurationInstanceConfigOutput) ToConfigurationInstanceConfigPtrOutput

func (o ConfigurationInstanceConfigOutput) ToConfigurationInstanceConfigPtrOutput() ConfigurationInstanceConfigPtrOutput

func (ConfigurationInstanceConfigOutput) ToConfigurationInstanceConfigPtrOutputWithContext

func (o ConfigurationInstanceConfigOutput) ToConfigurationInstanceConfigPtrOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPtrOutput

func (ConfigurationInstanceConfigOutput) UserData

Specifies the user data to provide when launching the instance. The file content must be encoded with Base64. Changing this will create a new resource.

type ConfigurationInstanceConfigPersonality

type ConfigurationInstanceConfigPersonality struct {
	// Specifies the content of the injected file, which must be encoded with base64.
	// Changing this creates a new resource.
	Content string `pulumi:"content"`
	// Specifies the path of the injected file. Changing this creates a new resource.
	Path string `pulumi:"path"`
}

type ConfigurationInstanceConfigPersonalityArgs

type ConfigurationInstanceConfigPersonalityArgs struct {
	// Specifies the content of the injected file, which must be encoded with base64.
	// Changing this creates a new resource.
	Content pulumi.StringInput `pulumi:"content"`
	// Specifies the path of the injected file. Changing this creates a new resource.
	Path pulumi.StringInput `pulumi:"path"`
}

func (ConfigurationInstanceConfigPersonalityArgs) ElementType

func (ConfigurationInstanceConfigPersonalityArgs) ToConfigurationInstanceConfigPersonalityOutput

func (i ConfigurationInstanceConfigPersonalityArgs) ToConfigurationInstanceConfigPersonalityOutput() ConfigurationInstanceConfigPersonalityOutput

func (ConfigurationInstanceConfigPersonalityArgs) ToConfigurationInstanceConfigPersonalityOutputWithContext

func (i ConfigurationInstanceConfigPersonalityArgs) ToConfigurationInstanceConfigPersonalityOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPersonalityOutput

type ConfigurationInstanceConfigPersonalityArray

type ConfigurationInstanceConfigPersonalityArray []ConfigurationInstanceConfigPersonalityInput

func (ConfigurationInstanceConfigPersonalityArray) ElementType

func (ConfigurationInstanceConfigPersonalityArray) ToConfigurationInstanceConfigPersonalityArrayOutput

func (i ConfigurationInstanceConfigPersonalityArray) ToConfigurationInstanceConfigPersonalityArrayOutput() ConfigurationInstanceConfigPersonalityArrayOutput

func (ConfigurationInstanceConfigPersonalityArray) ToConfigurationInstanceConfigPersonalityArrayOutputWithContext

func (i ConfigurationInstanceConfigPersonalityArray) ToConfigurationInstanceConfigPersonalityArrayOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPersonalityArrayOutput

type ConfigurationInstanceConfigPersonalityArrayInput

type ConfigurationInstanceConfigPersonalityArrayInput interface {
	pulumi.Input

	ToConfigurationInstanceConfigPersonalityArrayOutput() ConfigurationInstanceConfigPersonalityArrayOutput
	ToConfigurationInstanceConfigPersonalityArrayOutputWithContext(context.Context) ConfigurationInstanceConfigPersonalityArrayOutput
}

ConfigurationInstanceConfigPersonalityArrayInput is an input type that accepts ConfigurationInstanceConfigPersonalityArray and ConfigurationInstanceConfigPersonalityArrayOutput values. You can construct a concrete instance of `ConfigurationInstanceConfigPersonalityArrayInput` via:

ConfigurationInstanceConfigPersonalityArray{ ConfigurationInstanceConfigPersonalityArgs{...} }

type ConfigurationInstanceConfigPersonalityArrayOutput

type ConfigurationInstanceConfigPersonalityArrayOutput struct{ *pulumi.OutputState }

func (ConfigurationInstanceConfigPersonalityArrayOutput) ElementType

func (ConfigurationInstanceConfigPersonalityArrayOutput) Index

func (ConfigurationInstanceConfigPersonalityArrayOutput) ToConfigurationInstanceConfigPersonalityArrayOutput

func (o ConfigurationInstanceConfigPersonalityArrayOutput) ToConfigurationInstanceConfigPersonalityArrayOutput() ConfigurationInstanceConfigPersonalityArrayOutput

func (ConfigurationInstanceConfigPersonalityArrayOutput) ToConfigurationInstanceConfigPersonalityArrayOutputWithContext

func (o ConfigurationInstanceConfigPersonalityArrayOutput) ToConfigurationInstanceConfigPersonalityArrayOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPersonalityArrayOutput

type ConfigurationInstanceConfigPersonalityInput

type ConfigurationInstanceConfigPersonalityInput interface {
	pulumi.Input

	ToConfigurationInstanceConfigPersonalityOutput() ConfigurationInstanceConfigPersonalityOutput
	ToConfigurationInstanceConfigPersonalityOutputWithContext(context.Context) ConfigurationInstanceConfigPersonalityOutput
}

ConfigurationInstanceConfigPersonalityInput is an input type that accepts ConfigurationInstanceConfigPersonalityArgs and ConfigurationInstanceConfigPersonalityOutput values. You can construct a concrete instance of `ConfigurationInstanceConfigPersonalityInput` via:

ConfigurationInstanceConfigPersonalityArgs{...}

type ConfigurationInstanceConfigPersonalityOutput

type ConfigurationInstanceConfigPersonalityOutput struct{ *pulumi.OutputState }

func (ConfigurationInstanceConfigPersonalityOutput) Content

Specifies the content of the injected file, which must be encoded with base64. Changing this creates a new resource.

func (ConfigurationInstanceConfigPersonalityOutput) ElementType

func (ConfigurationInstanceConfigPersonalityOutput) Path

Specifies the path of the injected file. Changing this creates a new resource.

func (ConfigurationInstanceConfigPersonalityOutput) ToConfigurationInstanceConfigPersonalityOutput

func (o ConfigurationInstanceConfigPersonalityOutput) ToConfigurationInstanceConfigPersonalityOutput() ConfigurationInstanceConfigPersonalityOutput

func (ConfigurationInstanceConfigPersonalityOutput) ToConfigurationInstanceConfigPersonalityOutputWithContext

func (o ConfigurationInstanceConfigPersonalityOutput) ToConfigurationInstanceConfigPersonalityOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPersonalityOutput

type ConfigurationInstanceConfigPtrInput

type ConfigurationInstanceConfigPtrInput interface {
	pulumi.Input

	ToConfigurationInstanceConfigPtrOutput() ConfigurationInstanceConfigPtrOutput
	ToConfigurationInstanceConfigPtrOutputWithContext(context.Context) ConfigurationInstanceConfigPtrOutput
}

ConfigurationInstanceConfigPtrInput is an input type that accepts ConfigurationInstanceConfigArgs, ConfigurationInstanceConfigPtr and ConfigurationInstanceConfigPtrOutput values. You can construct a concrete instance of `ConfigurationInstanceConfigPtrInput` via:

        ConfigurationInstanceConfigArgs{...}

or:

        nil

type ConfigurationInstanceConfigPtrOutput

type ConfigurationInstanceConfigPtrOutput struct{ *pulumi.OutputState }

func (ConfigurationInstanceConfigPtrOutput) ChargingMode added in v0.0.8

Specifies whether the bandwidth is billed by traffic or by bandwidth size. The value can be **traffic** or **bandwidth**. Changing this creates a new resource.

func (ConfigurationInstanceConfigPtrOutput) Disks

Specifies the disk group information. System disks are mandatory and data disks are optional. The object structure is documented below. Changing this will create a new resource.

func (ConfigurationInstanceConfigPtrOutput) EcsGroupId added in v0.0.8

Specifies the ECS group ID. Changing this will create a new resource.

func (ConfigurationInstanceConfigPtrOutput) Elem

func (ConfigurationInstanceConfigPtrOutput) ElementType

func (ConfigurationInstanceConfigPtrOutput) Flavor

Specifies the ECS flavor name. A maximum of 10 flavors can be selected. Use a comma (,) to separate multiple flavor names. Changing this will create a new resource.

func (ConfigurationInstanceConfigPtrOutput) FlavorPriorityPolicy added in v0.0.8

Specifies the priority policy used when there are multiple flavors and instances to be created using an AS configuration. The value can be `PICK_FIRST` and `COST_FIRST`.

func (ConfigurationInstanceConfigPtrOutput) Image

Specifies the ECS image ID. Changing this will create a new resource.

func (ConfigurationInstanceConfigPtrOutput) InstanceId

Specifies the ECS instance ID when using its specification as the template to create AS configurations. In this case, `flavor`, `image`, and `disk` arguments do not take effect. If this argument is not specified, `flavor`, `image`, and `disk` arguments are mandatory. Changing this will create a new resource.

func (ConfigurationInstanceConfigPtrOutput) KeyName

Specifies the name of the SSH key pair used to log in to the instance. Changing this will create a new resource.

func (ConfigurationInstanceConfigPtrOutput) Metadata

Specifies the key/value pairs to make available from within the instance. Changing this will create a new resource.

func (ConfigurationInstanceConfigPtrOutput) Personalities

Specifies the customize personality of an instance by defining one or more files and their contents. The object structure is documented below. Changing this will create a new resource.

func (ConfigurationInstanceConfigPtrOutput) PublicIp

Specifies the EIP of the ECS instance. The object structure is documented below. Changing this will create a new resource.

func (ConfigurationInstanceConfigPtrOutput) SecurityGroupIds added in v0.0.8

Specifies an array of one or more security group IDs. Changing this will create a new resource.

func (ConfigurationInstanceConfigPtrOutput) ToConfigurationInstanceConfigPtrOutput

func (o ConfigurationInstanceConfigPtrOutput) ToConfigurationInstanceConfigPtrOutput() ConfigurationInstanceConfigPtrOutput

func (ConfigurationInstanceConfigPtrOutput) ToConfigurationInstanceConfigPtrOutputWithContext

func (o ConfigurationInstanceConfigPtrOutput) ToConfigurationInstanceConfigPtrOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPtrOutput

func (ConfigurationInstanceConfigPtrOutput) UserData

Specifies the user data to provide when launching the instance. The file content must be encoded with Base64. Changing this will create a new resource.

type ConfigurationInstanceConfigPublicIp

type ConfigurationInstanceConfigPublicIp struct {
	// Specifies the EIP configuration that will be automatically assigned to the instance.
	// The object structure is documented below. Changing this will create a new resource.
	Eip ConfigurationInstanceConfigPublicIpEip `pulumi:"eip"`
}

type ConfigurationInstanceConfigPublicIpArgs

type ConfigurationInstanceConfigPublicIpArgs struct {
	// Specifies the EIP configuration that will be automatically assigned to the instance.
	// The object structure is documented below. Changing this will create a new resource.
	Eip ConfigurationInstanceConfigPublicIpEipInput `pulumi:"eip"`
}

func (ConfigurationInstanceConfigPublicIpArgs) ElementType

func (ConfigurationInstanceConfigPublicIpArgs) ToConfigurationInstanceConfigPublicIpOutput

func (i ConfigurationInstanceConfigPublicIpArgs) ToConfigurationInstanceConfigPublicIpOutput() ConfigurationInstanceConfigPublicIpOutput

func (ConfigurationInstanceConfigPublicIpArgs) ToConfigurationInstanceConfigPublicIpOutputWithContext

func (i ConfigurationInstanceConfigPublicIpArgs) ToConfigurationInstanceConfigPublicIpOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPublicIpOutput

func (ConfigurationInstanceConfigPublicIpArgs) ToConfigurationInstanceConfigPublicIpPtrOutput

func (i ConfigurationInstanceConfigPublicIpArgs) ToConfigurationInstanceConfigPublicIpPtrOutput() ConfigurationInstanceConfigPublicIpPtrOutput

func (ConfigurationInstanceConfigPublicIpArgs) ToConfigurationInstanceConfigPublicIpPtrOutputWithContext

func (i ConfigurationInstanceConfigPublicIpArgs) ToConfigurationInstanceConfigPublicIpPtrOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPublicIpPtrOutput

type ConfigurationInstanceConfigPublicIpEip

type ConfigurationInstanceConfigPublicIpEip struct {
	// Specifies the bandwidth information. The object structure is documented below.
	// Changing this will create a new resource.
	Bandwidth ConfigurationInstanceConfigPublicIpEipBandwidth `pulumi:"bandwidth"`
	// Specifies the EIP type. Possible values are **5_bgp** (dynamic BGP)
	// and **5_sbgp** (static BGP). Changing this will create a new resource.
	IpType string `pulumi:"ipType"`
}

type ConfigurationInstanceConfigPublicIpEipArgs

type ConfigurationInstanceConfigPublicIpEipArgs struct {
	// Specifies the bandwidth information. The object structure is documented below.
	// Changing this will create a new resource.
	Bandwidth ConfigurationInstanceConfigPublicIpEipBandwidthInput `pulumi:"bandwidth"`
	// Specifies the EIP type. Possible values are **5_bgp** (dynamic BGP)
	// and **5_sbgp** (static BGP). Changing this will create a new resource.
	IpType pulumi.StringInput `pulumi:"ipType"`
}

func (ConfigurationInstanceConfigPublicIpEipArgs) ElementType

func (ConfigurationInstanceConfigPublicIpEipArgs) ToConfigurationInstanceConfigPublicIpEipOutput

func (i ConfigurationInstanceConfigPublicIpEipArgs) ToConfigurationInstanceConfigPublicIpEipOutput() ConfigurationInstanceConfigPublicIpEipOutput

func (ConfigurationInstanceConfigPublicIpEipArgs) ToConfigurationInstanceConfigPublicIpEipOutputWithContext

func (i ConfigurationInstanceConfigPublicIpEipArgs) ToConfigurationInstanceConfigPublicIpEipOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPublicIpEipOutput

func (ConfigurationInstanceConfigPublicIpEipArgs) ToConfigurationInstanceConfigPublicIpEipPtrOutput

func (i ConfigurationInstanceConfigPublicIpEipArgs) ToConfigurationInstanceConfigPublicIpEipPtrOutput() ConfigurationInstanceConfigPublicIpEipPtrOutput

func (ConfigurationInstanceConfigPublicIpEipArgs) ToConfigurationInstanceConfigPublicIpEipPtrOutputWithContext

func (i ConfigurationInstanceConfigPublicIpEipArgs) ToConfigurationInstanceConfigPublicIpEipPtrOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPublicIpEipPtrOutput

type ConfigurationInstanceConfigPublicIpEipBandwidth

type ConfigurationInstanceConfigPublicIpEipBandwidth struct {
	// Specifies whether the bandwidth is billed by traffic or by bandwidth
	// size. The value can be **traffic** or **bandwidth**. Changing this creates a new resource.
	ChargingMode string `pulumi:"chargingMode"`
	// Specifies the bandwidth sharing type. The system only supports
	// **PER** (indicates exclusive bandwidth). Changing this will create a new resource.
	ShareType string `pulumi:"shareType"`
	// Specifies the bandwidth (Mbit/s). The value range for bandwidth billed by bandwidth
	// is 1 to 2000 and that for bandwidth billed by traffic is 1 to 300.
	// Changing this creates a new resource.
	Size int `pulumi:"size"`
}

type ConfigurationInstanceConfigPublicIpEipBandwidthArgs

type ConfigurationInstanceConfigPublicIpEipBandwidthArgs struct {
	// Specifies whether the bandwidth is billed by traffic or by bandwidth
	// size. The value can be **traffic** or **bandwidth**. Changing this creates a new resource.
	ChargingMode pulumi.StringInput `pulumi:"chargingMode"`
	// Specifies the bandwidth sharing type. The system only supports
	// **PER** (indicates exclusive bandwidth). Changing this will create a new resource.
	ShareType pulumi.StringInput `pulumi:"shareType"`
	// Specifies the bandwidth (Mbit/s). The value range for bandwidth billed by bandwidth
	// is 1 to 2000 and that for bandwidth billed by traffic is 1 to 300.
	// Changing this creates a new resource.
	Size pulumi.IntInput `pulumi:"size"`
}

func (ConfigurationInstanceConfigPublicIpEipBandwidthArgs) ElementType

func (ConfigurationInstanceConfigPublicIpEipBandwidthArgs) ToConfigurationInstanceConfigPublicIpEipBandwidthOutput

func (i ConfigurationInstanceConfigPublicIpEipBandwidthArgs) ToConfigurationInstanceConfigPublicIpEipBandwidthOutput() ConfigurationInstanceConfigPublicIpEipBandwidthOutput

func (ConfigurationInstanceConfigPublicIpEipBandwidthArgs) ToConfigurationInstanceConfigPublicIpEipBandwidthOutputWithContext

func (i ConfigurationInstanceConfigPublicIpEipBandwidthArgs) ToConfigurationInstanceConfigPublicIpEipBandwidthOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPublicIpEipBandwidthOutput

func (ConfigurationInstanceConfigPublicIpEipBandwidthArgs) ToConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput

func (i ConfigurationInstanceConfigPublicIpEipBandwidthArgs) ToConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput() ConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput

func (ConfigurationInstanceConfigPublicIpEipBandwidthArgs) ToConfigurationInstanceConfigPublicIpEipBandwidthPtrOutputWithContext

func (i ConfigurationInstanceConfigPublicIpEipBandwidthArgs) ToConfigurationInstanceConfigPublicIpEipBandwidthPtrOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput

type ConfigurationInstanceConfigPublicIpEipBandwidthInput

type ConfigurationInstanceConfigPublicIpEipBandwidthInput interface {
	pulumi.Input

	ToConfigurationInstanceConfigPublicIpEipBandwidthOutput() ConfigurationInstanceConfigPublicIpEipBandwidthOutput
	ToConfigurationInstanceConfigPublicIpEipBandwidthOutputWithContext(context.Context) ConfigurationInstanceConfigPublicIpEipBandwidthOutput
}

ConfigurationInstanceConfigPublicIpEipBandwidthInput is an input type that accepts ConfigurationInstanceConfigPublicIpEipBandwidthArgs and ConfigurationInstanceConfigPublicIpEipBandwidthOutput values. You can construct a concrete instance of `ConfigurationInstanceConfigPublicIpEipBandwidthInput` via:

ConfigurationInstanceConfigPublicIpEipBandwidthArgs{...}

type ConfigurationInstanceConfigPublicIpEipBandwidthOutput

type ConfigurationInstanceConfigPublicIpEipBandwidthOutput struct{ *pulumi.OutputState }

func (ConfigurationInstanceConfigPublicIpEipBandwidthOutput) ChargingMode

Specifies whether the bandwidth is billed by traffic or by bandwidth size. The value can be **traffic** or **bandwidth**. Changing this creates a new resource.

func (ConfigurationInstanceConfigPublicIpEipBandwidthOutput) ElementType

func (ConfigurationInstanceConfigPublicIpEipBandwidthOutput) ShareType

Specifies the bandwidth sharing type. The system only supports **PER** (indicates exclusive bandwidth). Changing this will create a new resource.

func (ConfigurationInstanceConfigPublicIpEipBandwidthOutput) Size

Specifies the bandwidth (Mbit/s). The value range for bandwidth billed by bandwidth is 1 to 2000 and that for bandwidth billed by traffic is 1 to 300. Changing this creates a new resource.

func (ConfigurationInstanceConfigPublicIpEipBandwidthOutput) ToConfigurationInstanceConfigPublicIpEipBandwidthOutput

func (ConfigurationInstanceConfigPublicIpEipBandwidthOutput) ToConfigurationInstanceConfigPublicIpEipBandwidthOutputWithContext

func (o ConfigurationInstanceConfigPublicIpEipBandwidthOutput) ToConfigurationInstanceConfigPublicIpEipBandwidthOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPublicIpEipBandwidthOutput

func (ConfigurationInstanceConfigPublicIpEipBandwidthOutput) ToConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput

func (o ConfigurationInstanceConfigPublicIpEipBandwidthOutput) ToConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput() ConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput

func (ConfigurationInstanceConfigPublicIpEipBandwidthOutput) ToConfigurationInstanceConfigPublicIpEipBandwidthPtrOutputWithContext

func (o ConfigurationInstanceConfigPublicIpEipBandwidthOutput) ToConfigurationInstanceConfigPublicIpEipBandwidthPtrOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput

type ConfigurationInstanceConfigPublicIpEipBandwidthPtrInput

type ConfigurationInstanceConfigPublicIpEipBandwidthPtrInput interface {
	pulumi.Input

	ToConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput() ConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput
	ToConfigurationInstanceConfigPublicIpEipBandwidthPtrOutputWithContext(context.Context) ConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput
}

ConfigurationInstanceConfigPublicIpEipBandwidthPtrInput is an input type that accepts ConfigurationInstanceConfigPublicIpEipBandwidthArgs, ConfigurationInstanceConfigPublicIpEipBandwidthPtr and ConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput values. You can construct a concrete instance of `ConfigurationInstanceConfigPublicIpEipBandwidthPtrInput` via:

        ConfigurationInstanceConfigPublicIpEipBandwidthArgs{...}

or:

        nil

type ConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput

type ConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput struct{ *pulumi.OutputState }

func (ConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput) ChargingMode

Specifies whether the bandwidth is billed by traffic or by bandwidth size. The value can be **traffic** or **bandwidth**. Changing this creates a new resource.

func (ConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput) Elem

func (ConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput) ElementType

func (ConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput) ShareType

Specifies the bandwidth sharing type. The system only supports **PER** (indicates exclusive bandwidth). Changing this will create a new resource.

func (ConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput) Size

Specifies the bandwidth (Mbit/s). The value range for bandwidth billed by bandwidth is 1 to 2000 and that for bandwidth billed by traffic is 1 to 300. Changing this creates a new resource.

func (ConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput) ToConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput

func (ConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput) ToConfigurationInstanceConfigPublicIpEipBandwidthPtrOutputWithContext

func (o ConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput) ToConfigurationInstanceConfigPublicIpEipBandwidthPtrOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPublicIpEipBandwidthPtrOutput

type ConfigurationInstanceConfigPublicIpEipInput

type ConfigurationInstanceConfigPublicIpEipInput interface {
	pulumi.Input

	ToConfigurationInstanceConfigPublicIpEipOutput() ConfigurationInstanceConfigPublicIpEipOutput
	ToConfigurationInstanceConfigPublicIpEipOutputWithContext(context.Context) ConfigurationInstanceConfigPublicIpEipOutput
}

ConfigurationInstanceConfigPublicIpEipInput is an input type that accepts ConfigurationInstanceConfigPublicIpEipArgs and ConfigurationInstanceConfigPublicIpEipOutput values. You can construct a concrete instance of `ConfigurationInstanceConfigPublicIpEipInput` via:

ConfigurationInstanceConfigPublicIpEipArgs{...}

type ConfigurationInstanceConfigPublicIpEipOutput

type ConfigurationInstanceConfigPublicIpEipOutput struct{ *pulumi.OutputState }

func (ConfigurationInstanceConfigPublicIpEipOutput) Bandwidth

Specifies the bandwidth information. The object structure is documented below. Changing this will create a new resource.

func (ConfigurationInstanceConfigPublicIpEipOutput) ElementType

func (ConfigurationInstanceConfigPublicIpEipOutput) IpType

Specifies the EIP type. Possible values are **5_bgp** (dynamic BGP) and **5_sbgp** (static BGP). Changing this will create a new resource.

func (ConfigurationInstanceConfigPublicIpEipOutput) ToConfigurationInstanceConfigPublicIpEipOutput

func (o ConfigurationInstanceConfigPublicIpEipOutput) ToConfigurationInstanceConfigPublicIpEipOutput() ConfigurationInstanceConfigPublicIpEipOutput

func (ConfigurationInstanceConfigPublicIpEipOutput) ToConfigurationInstanceConfigPublicIpEipOutputWithContext

func (o ConfigurationInstanceConfigPublicIpEipOutput) ToConfigurationInstanceConfigPublicIpEipOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPublicIpEipOutput

func (ConfigurationInstanceConfigPublicIpEipOutput) ToConfigurationInstanceConfigPublicIpEipPtrOutput

func (o ConfigurationInstanceConfigPublicIpEipOutput) ToConfigurationInstanceConfigPublicIpEipPtrOutput() ConfigurationInstanceConfigPublicIpEipPtrOutput

func (ConfigurationInstanceConfigPublicIpEipOutput) ToConfigurationInstanceConfigPublicIpEipPtrOutputWithContext

func (o ConfigurationInstanceConfigPublicIpEipOutput) ToConfigurationInstanceConfigPublicIpEipPtrOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPublicIpEipPtrOutput

type ConfigurationInstanceConfigPublicIpEipPtrInput

type ConfigurationInstanceConfigPublicIpEipPtrInput interface {
	pulumi.Input

	ToConfigurationInstanceConfigPublicIpEipPtrOutput() ConfigurationInstanceConfigPublicIpEipPtrOutput
	ToConfigurationInstanceConfigPublicIpEipPtrOutputWithContext(context.Context) ConfigurationInstanceConfigPublicIpEipPtrOutput
}

ConfigurationInstanceConfigPublicIpEipPtrInput is an input type that accepts ConfigurationInstanceConfigPublicIpEipArgs, ConfigurationInstanceConfigPublicIpEipPtr and ConfigurationInstanceConfigPublicIpEipPtrOutput values. You can construct a concrete instance of `ConfigurationInstanceConfigPublicIpEipPtrInput` via:

        ConfigurationInstanceConfigPublicIpEipArgs{...}

or:

        nil

type ConfigurationInstanceConfigPublicIpEipPtrOutput

type ConfigurationInstanceConfigPublicIpEipPtrOutput struct{ *pulumi.OutputState }

func (ConfigurationInstanceConfigPublicIpEipPtrOutput) Bandwidth

Specifies the bandwidth information. The object structure is documented below. Changing this will create a new resource.

func (ConfigurationInstanceConfigPublicIpEipPtrOutput) Elem

func (ConfigurationInstanceConfigPublicIpEipPtrOutput) ElementType

func (ConfigurationInstanceConfigPublicIpEipPtrOutput) IpType

Specifies the EIP type. Possible values are **5_bgp** (dynamic BGP) and **5_sbgp** (static BGP). Changing this will create a new resource.

func (ConfigurationInstanceConfigPublicIpEipPtrOutput) ToConfigurationInstanceConfigPublicIpEipPtrOutput

func (o ConfigurationInstanceConfigPublicIpEipPtrOutput) ToConfigurationInstanceConfigPublicIpEipPtrOutput() ConfigurationInstanceConfigPublicIpEipPtrOutput

func (ConfigurationInstanceConfigPublicIpEipPtrOutput) ToConfigurationInstanceConfigPublicIpEipPtrOutputWithContext

func (o ConfigurationInstanceConfigPublicIpEipPtrOutput) ToConfigurationInstanceConfigPublicIpEipPtrOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPublicIpEipPtrOutput

type ConfigurationInstanceConfigPublicIpInput

type ConfigurationInstanceConfigPublicIpInput interface {
	pulumi.Input

	ToConfigurationInstanceConfigPublicIpOutput() ConfigurationInstanceConfigPublicIpOutput
	ToConfigurationInstanceConfigPublicIpOutputWithContext(context.Context) ConfigurationInstanceConfigPublicIpOutput
}

ConfigurationInstanceConfigPublicIpInput is an input type that accepts ConfigurationInstanceConfigPublicIpArgs and ConfigurationInstanceConfigPublicIpOutput values. You can construct a concrete instance of `ConfigurationInstanceConfigPublicIpInput` via:

ConfigurationInstanceConfigPublicIpArgs{...}

type ConfigurationInstanceConfigPublicIpOutput

type ConfigurationInstanceConfigPublicIpOutput struct{ *pulumi.OutputState }

func (ConfigurationInstanceConfigPublicIpOutput) Eip

Specifies the EIP configuration that will be automatically assigned to the instance. The object structure is documented below. Changing this will create a new resource.

func (ConfigurationInstanceConfigPublicIpOutput) ElementType

func (ConfigurationInstanceConfigPublicIpOutput) ToConfigurationInstanceConfigPublicIpOutput

func (o ConfigurationInstanceConfigPublicIpOutput) ToConfigurationInstanceConfigPublicIpOutput() ConfigurationInstanceConfigPublicIpOutput

func (ConfigurationInstanceConfigPublicIpOutput) ToConfigurationInstanceConfigPublicIpOutputWithContext

func (o ConfigurationInstanceConfigPublicIpOutput) ToConfigurationInstanceConfigPublicIpOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPublicIpOutput

func (ConfigurationInstanceConfigPublicIpOutput) ToConfigurationInstanceConfigPublicIpPtrOutput

func (o ConfigurationInstanceConfigPublicIpOutput) ToConfigurationInstanceConfigPublicIpPtrOutput() ConfigurationInstanceConfigPublicIpPtrOutput

func (ConfigurationInstanceConfigPublicIpOutput) ToConfigurationInstanceConfigPublicIpPtrOutputWithContext

func (o ConfigurationInstanceConfigPublicIpOutput) ToConfigurationInstanceConfigPublicIpPtrOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPublicIpPtrOutput

type ConfigurationInstanceConfigPublicIpPtrInput

type ConfigurationInstanceConfigPublicIpPtrInput interface {
	pulumi.Input

	ToConfigurationInstanceConfigPublicIpPtrOutput() ConfigurationInstanceConfigPublicIpPtrOutput
	ToConfigurationInstanceConfigPublicIpPtrOutputWithContext(context.Context) ConfigurationInstanceConfigPublicIpPtrOutput
}

ConfigurationInstanceConfigPublicIpPtrInput is an input type that accepts ConfigurationInstanceConfigPublicIpArgs, ConfigurationInstanceConfigPublicIpPtr and ConfigurationInstanceConfigPublicIpPtrOutput values. You can construct a concrete instance of `ConfigurationInstanceConfigPublicIpPtrInput` via:

        ConfigurationInstanceConfigPublicIpArgs{...}

or:

        nil

type ConfigurationInstanceConfigPublicIpPtrOutput

type ConfigurationInstanceConfigPublicIpPtrOutput struct{ *pulumi.OutputState }

func (ConfigurationInstanceConfigPublicIpPtrOutput) Eip

Specifies the EIP configuration that will be automatically assigned to the instance. The object structure is documented below. Changing this will create a new resource.

func (ConfigurationInstanceConfigPublicIpPtrOutput) Elem

func (ConfigurationInstanceConfigPublicIpPtrOutput) ElementType

func (ConfigurationInstanceConfigPublicIpPtrOutput) ToConfigurationInstanceConfigPublicIpPtrOutput

func (o ConfigurationInstanceConfigPublicIpPtrOutput) ToConfigurationInstanceConfigPublicIpPtrOutput() ConfigurationInstanceConfigPublicIpPtrOutput

func (ConfigurationInstanceConfigPublicIpPtrOutput) ToConfigurationInstanceConfigPublicIpPtrOutputWithContext

func (o ConfigurationInstanceConfigPublicIpPtrOutput) ToConfigurationInstanceConfigPublicIpPtrOutputWithContext(ctx context.Context) ConfigurationInstanceConfigPublicIpPtrOutput

type ConfigurationMap

type ConfigurationMap map[string]ConfigurationInput

func (ConfigurationMap) ElementType

func (ConfigurationMap) ElementType() reflect.Type

func (ConfigurationMap) ToConfigurationMapOutput

func (i ConfigurationMap) ToConfigurationMapOutput() ConfigurationMapOutput

func (ConfigurationMap) ToConfigurationMapOutputWithContext

func (i ConfigurationMap) ToConfigurationMapOutputWithContext(ctx context.Context) ConfigurationMapOutput

type ConfigurationMapInput

type ConfigurationMapInput interface {
	pulumi.Input

	ToConfigurationMapOutput() ConfigurationMapOutput
	ToConfigurationMapOutputWithContext(context.Context) ConfigurationMapOutput
}

ConfigurationMapInput is an input type that accepts ConfigurationMap and ConfigurationMapOutput values. You can construct a concrete instance of `ConfigurationMapInput` via:

ConfigurationMap{ "key": ConfigurationArgs{...} }

type ConfigurationMapOutput

type ConfigurationMapOutput struct{ *pulumi.OutputState }

func (ConfigurationMapOutput) ElementType

func (ConfigurationMapOutput) ElementType() reflect.Type

func (ConfigurationMapOutput) MapIndex

func (ConfigurationMapOutput) ToConfigurationMapOutput

func (o ConfigurationMapOutput) ToConfigurationMapOutput() ConfigurationMapOutput

func (ConfigurationMapOutput) ToConfigurationMapOutputWithContext

func (o ConfigurationMapOutput) ToConfigurationMapOutputWithContext(ctx context.Context) ConfigurationMapOutput

type ConfigurationOutput

type ConfigurationOutput struct{ *pulumi.OutputState }

func (ConfigurationOutput) ElementType

func (ConfigurationOutput) ElementType() reflect.Type

func (ConfigurationOutput) InstanceConfig

Specifies the information about instance configuration. The object structure is documented below. Changing this will create a new resource.

func (ConfigurationOutput) Region

Specifies the region in which to create the AS configuration. If omitted, the provider-level region will be used. Changing this will create a new resource.

func (ConfigurationOutput) ScalingConfigurationName

func (o ConfigurationOutput) ScalingConfigurationName() pulumi.StringOutput

Specifies the AS configuration name. The name contains only letters, digits, underscores (_), and hyphens (-), and cannot exceed 64 characters. Changing this will create a new resource.

func (ConfigurationOutput) Status added in v0.0.8

The AS configuration status, the value can be **Bound** or **Unbound**.

func (ConfigurationOutput) ToConfigurationOutput

func (o ConfigurationOutput) ToConfigurationOutput() ConfigurationOutput

func (ConfigurationOutput) ToConfigurationOutputWithContext

func (o ConfigurationOutput) ToConfigurationOutputWithContext(ctx context.Context) ConfigurationOutput

type ConfigurationState

type ConfigurationState struct {
	// Specifies the information about instance configuration.
	// The object structure is documented below. Changing this will create a new resource.
	InstanceConfig ConfigurationInstanceConfigPtrInput
	// Specifies the region in which to create the AS configuration.
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringPtrInput
	// Specifies the AS configuration name.
	// The name contains only letters, digits, underscores (_), and hyphens (-), and cannot exceed 64 characters.
	// Changing this will create a new resource.
	ScalingConfigurationName pulumi.StringPtrInput
	// The AS configuration status, the value can be **Bound** or **Unbound**.
	Status pulumi.StringPtrInput
}

func (ConfigurationState) ElementType

func (ConfigurationState) ElementType() reflect.Type

type Group

type Group struct {
	pulumi.CustomResourceState

	// Specifies the IAM agency name. If you change the agency,
	// the new agency will be available for ECSs scaled out after the change.
	AgencyName pulumi.StringOutput `pulumi:"agencyName"`
	// Specifies the availability zones in which to create the instances in the
	// autoscaling group.
	AvailabilityZones pulumi.StringArrayOutput `pulumi:"availabilityZones"`
	// schema: Deprecated; use availability_zones instead
	AvailableZones pulumi.StringArrayOutput `pulumi:"availableZones"`
	// Specifies the cooling duration (in seconds). The value ranges from 0 to 86400,
	// and is 300 by default.
	CoolDownTime pulumi.IntPtrOutput `pulumi:"coolDownTime"`
	// The number of current instances in the AS group.
	CurrentInstanceNumber pulumi.IntOutput `pulumi:"currentInstanceNumber"`
	// Specifies whether to delete the instances in the AS group when deleting
	// the AS group. The options are `yes` and `no`.
	DeleteInstances pulumi.StringPtrOutput `pulumi:"deleteInstances"`
	// Specifies whether to delete the elastic IP address bound to the instances of
	// AS group when deleting the instances. The options are `true` and `false`.
	DeletePublicip pulumi.BoolPtrOutput `pulumi:"deletePublicip"`
	// Specifies the description of the AS group.
	// The value can contain 0 to 256 characters.
	Description pulumi.StringOutput `pulumi:"description"`
	// Specifies the expected number of instances. The default value is the
	// minimum number of instances. The value ranges from the minimum number of instances to the maximum number of instances.
	DesireInstanceNumber pulumi.IntOutput `pulumi:"desireInstanceNumber"`
	// Specifies whether to enable the AS Group. The options are `true` and `false`.
	// The default value is `true`.
	Enable pulumi.BoolPtrOutput `pulumi:"enable"`
	// Specifies the enterprise project id of the AS group.
	EnterpriseProjectId pulumi.StringOutput `pulumi:"enterpriseProjectId"`
	// Specifies whether to forcibly delete the AS group, remove the ECS instances and
	// release them. The default value is `false`.
	ForceDelete pulumi.BoolPtrOutput `pulumi:"forceDelete"`
	// Specifies the health check grace period for instances.
	// The unit is second and the value ranges from 0 to 86400. The default value is 600.
	HealthPeriodicAuditGracePeriod pulumi.IntOutput `pulumi:"healthPeriodicAuditGracePeriod"`
	// Specifies the health check method for instances in the AS group.
	// The health check methods include `ELB_AUDIT` and `NOVA_AUDIT`. If load balancing is configured, the default value of
	// this parameter is `ELB_AUDIT`. Otherwise, the default value is `NOVA_AUDIT`.
	HealthPeriodicAuditMethod pulumi.StringPtrOutput `pulumi:"healthPeriodicAuditMethod"`
	// Specifies the health check period for instances. The unit is minute
	// and value includes 0, 1, 5 (default), 15, 60, and 180. If the value is set to 0, health check is performed every 10 seconds.
	HealthPeriodicAuditTime pulumi.IntPtrOutput `pulumi:"healthPeriodicAuditTime"`
	// Specifies the instance removal policy. The policy has four
	// options: `OLD_CONFIG_OLD_INSTANCE` (default), `OLD_CONFIG_NEW_INSTANCE`, `OLD_INSTANCE`, and `NEW_INSTANCE`.
	InstanceTerminatePolicy pulumi.StringPtrOutput `pulumi:"instanceTerminatePolicy"`
	// The instances IDs of the AS group.
	Instances pulumi.StringArrayOutput `pulumi:"instances"`
	// The system supports the binding of up to six ELB listeners, the IDs of which are separated using a comma.
	//
	// Deprecated: use lbaas_listeners instead
	LbListenerId pulumi.StringPtrOutput `pulumi:"lbListenerId"`
	// Specifies an array of one or more enhanced load balancer. The system supports
	// the binding of up to six load balancers. The object structure is documented below.
	LbaasListeners GroupLbaasListenerArrayOutput `pulumi:"lbaasListeners"`
	// Specifies the maximum number of instances. The default value is 0.
	MaxInstanceNumber pulumi.IntPtrOutput `pulumi:"maxInstanceNumber"`
	// Specifies the minimum number of instances. The default value is 0.
	MinInstanceNumber pulumi.IntPtrOutput `pulumi:"minInstanceNumber"`
	// Specifies the priority policy used to select target AZs when adjusting
	// the number of instances in an AS group. The value can be `EQUILIBRIUM_DISTRIBUTE` and `PICK_FIRST`.
	MultiAzScalingPolicy pulumi.StringOutput `pulumi:"multiAzScalingPolicy"`
	// Specifies an array of one or more network IDs. The system supports up to five networks.
	// The object structure is documented below.
	Networks GroupNetworkArrayOutput `pulumi:"networks"`
	// schema: Deprecated; The notification mode has been canceled
	Notifications pulumi.StringArrayOutput `pulumi:"notifications"`
	// Specifies the region in which to create the AS group.
	// If omitted, the provider-level region will be used. Changing this creates a new group.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the configuration ID which defines configurations
	// of instances in the AS group.
	ScalingConfigurationId pulumi.StringOutput `pulumi:"scalingConfigurationId"`
	// Specifies the name of the scaling group. The name can contain
	// letters, digits, underscores(_), and hyphens(-),and cannot exceed 64 characters.
	ScalingGroupName pulumi.StringOutput `pulumi:"scalingGroupName"`
	// Specifies an array of one or more security group IDs to associate with the group.
	// The object structure is documented below.
	SecurityGroups GroupSecurityGroupArrayOutput `pulumi:"securityGroups"`
	// The status of the AS group.
	Status pulumi.StringOutput `pulumi:"status"`
	// Specifies the key/value pairs to associate with the AS group.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Specifies the VPC ID. Changing this creates a new group.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Manages an AS group resource within HuaweiCloud.

## Example Usage ### Basic Autoscaling Group

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		configurationId := cfg.RequireObject("configurationId")
		vpcId := cfg.RequireObject("vpcId")
		subnetId := cfg.RequireObject("subnetId")
		_, err := As.NewGroup(ctx, "myAsGroup", &As.GroupArgs{
			ScalingGroupName:       pulumi.String("my_as_group"),
			ScalingConfigurationId: pulumi.Any(configurationId),
			DesireInstanceNumber:   pulumi.Int(2),
			MinInstanceNumber:      pulumi.Int(0),
			MaxInstanceNumber:      pulumi.Int(10),
			VpcId:                  pulumi.Any(vpcId),
			DeletePublicip:         pulumi.Bool(true),
			DeleteInstances:        pulumi.String("yes"),
			Networks: as.GroupNetworkArray{
				&as.GroupNetworkArgs{
					Id: pulumi.Any(subnetId),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Autoscaling Group with tags

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		configurationId := cfg.RequireObject("configurationId")
		vpcId := cfg.RequireObject("vpcId")
		subnetId := cfg.RequireObject("subnetId")
		_, err := As.NewGroup(ctx, "myAsGroupTags", &As.GroupArgs{
			ScalingGroupName:       pulumi.String("my_as_group_tags"),
			ScalingConfigurationId: pulumi.Any(configurationId),
			DesireInstanceNumber:   pulumi.Int(2),
			MinInstanceNumber:      pulumi.Int(0),
			MaxInstanceNumber:      pulumi.Int(10),
			VpcId:                  pulumi.Any(vpcId),
			DeletePublicip:         pulumi.Bool(true),
			DeleteInstances:        pulumi.String("yes"),
			Networks: as.GroupNetworkArray{
				&as.GroupNetworkArgs{
					Id: pulumi.Any(subnetId),
				},
			},
			Tags: pulumi.StringMap{
				"foo": pulumi.String("bar"),
				"key": pulumi.String("value"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Autoscaling Group Only Remove Members When Scaling Down

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		configurationId := cfg.RequireObject("configurationId")
		vpcId := cfg.RequireObject("vpcId")
		subnetId := cfg.RequireObject("subnetId")
		_, err := As.NewGroup(ctx, "myAsGroupOnlyRemoveMembers", &As.GroupArgs{
			ScalingGroupName:       pulumi.String("my_as_group_only_remove_members"),
			ScalingConfigurationId: pulumi.Any(configurationId),
			DesireInstanceNumber:   pulumi.Int(2),
			MinInstanceNumber:      pulumi.Int(0),
			MaxInstanceNumber:      pulumi.Int(10),
			VpcId:                  pulumi.Any(vpcId),
			DeletePublicip:         pulumi.Bool(true),
			DeleteInstances:        pulumi.String("no"),
			Networks: as.GroupNetworkArray{
				&as.GroupNetworkArgs{
					Id: pulumi.Any(subnetId),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Autoscaling Group With Elastic Load Balancer Listener

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Elb"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		configurationId := cfg.RequireObject("configurationId")
		vpcId := cfg.RequireObject("vpcId")
		subnetId := cfg.RequireObject("subnetId")
		ipv4SubnetId := cfg.RequireObject("ipv4SubnetId")
		loadbalancer1, err := Elb.NewLoadbalancer(ctx, "loadbalancer1", &Elb.LoadbalancerArgs{
			VipSubnetId: pulumi.Any(ipv4SubnetId),
		})
		if err != nil {
			return err
		}
		listener1, err := Elb.NewListener(ctx, "listener1", &Elb.ListenerArgs{
			Protocol:       pulumi.String("HTTP"),
			ProtocolPort:   pulumi.Int(8080),
			LoadbalancerId: loadbalancer1.ID(),
		})
		if err != nil {
			return err
		}
		pool1, err := Elb.NewPool(ctx, "pool1", &Elb.PoolArgs{
			Protocol:   pulumi.String("HTTP"),
			LbMethod:   pulumi.String("ROUND_ROBIN"),
			ListenerId: listener1.ID(),
		})
		if err != nil {
			return err
		}
		_, err = As.NewGroup(ctx, "myAsGroupWithEnhancedLb", &As.GroupArgs{
			ScalingGroupName:       pulumi.String("my_as_group_with_enhanced_lb"),
			ScalingConfigurationId: pulumi.Any(configurationId),
			DesireInstanceNumber:   pulumi.Int(2),
			MinInstanceNumber:      pulumi.Int(0),
			MaxInstanceNumber:      pulumi.Int(10),
			VpcId:                  pulumi.Any(vpcId),
			Networks: as.GroupNetworkArray{
				&as.GroupNetworkArgs{
					Id: pulumi.Any(subnetId),
				},
			},
			LbaasListeners: as.GroupLbaasListenerArray{
				&as.GroupLbaasListenerArgs{
					PoolId:       pool1.ID(),
					ProtocolPort: listener1.ProtocolPort,
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AS groups can be imported by their `id`. For example,

```sh

$ pulumi import huaweicloud:As/group:Group my_as_group 9ec5bea6-a728-4082-8109-5a7dc5c7af74

```

func GetGroup

func GetGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupState, opts ...pulumi.ResourceOption) (*Group, error)

GetGroup gets an existing Group 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 NewGroup

func NewGroup(ctx *pulumi.Context,
	name string, args *GroupArgs, opts ...pulumi.ResourceOption) (*Group, error)

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

func (*Group) ElementType

func (*Group) ElementType() reflect.Type

func (*Group) ToGroupOutput

func (i *Group) ToGroupOutput() GroupOutput

func (*Group) ToGroupOutputWithContext

func (i *Group) ToGroupOutputWithContext(ctx context.Context) GroupOutput

type GroupArgs

type GroupArgs struct {
	// Specifies the IAM agency name. If you change the agency,
	// the new agency will be available for ECSs scaled out after the change.
	AgencyName pulumi.StringPtrInput
	// Specifies the availability zones in which to create the instances in the
	// autoscaling group.
	AvailabilityZones pulumi.StringArrayInput
	// schema: Deprecated; use availability_zones instead
	AvailableZones pulumi.StringArrayInput
	// Specifies the cooling duration (in seconds). The value ranges from 0 to 86400,
	// and is 300 by default.
	CoolDownTime pulumi.IntPtrInput
	// Specifies whether to delete the instances in the AS group when deleting
	// the AS group. The options are `yes` and `no`.
	DeleteInstances pulumi.StringPtrInput
	// Specifies whether to delete the elastic IP address bound to the instances of
	// AS group when deleting the instances. The options are `true` and `false`.
	DeletePublicip pulumi.BoolPtrInput
	// Specifies the description of the AS group.
	// The value can contain 0 to 256 characters.
	Description pulumi.StringPtrInput
	// Specifies the expected number of instances. The default value is the
	// minimum number of instances. The value ranges from the minimum number of instances to the maximum number of instances.
	DesireInstanceNumber pulumi.IntPtrInput
	// Specifies whether to enable the AS Group. The options are `true` and `false`.
	// The default value is `true`.
	Enable pulumi.BoolPtrInput
	// Specifies the enterprise project id of the AS group.
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies whether to forcibly delete the AS group, remove the ECS instances and
	// release them. The default value is `false`.
	ForceDelete pulumi.BoolPtrInput
	// Specifies the health check grace period for instances.
	// The unit is second and the value ranges from 0 to 86400. The default value is 600.
	HealthPeriodicAuditGracePeriod pulumi.IntPtrInput
	// Specifies the health check method for instances in the AS group.
	// The health check methods include `ELB_AUDIT` and `NOVA_AUDIT`. If load balancing is configured, the default value of
	// this parameter is `ELB_AUDIT`. Otherwise, the default value is `NOVA_AUDIT`.
	HealthPeriodicAuditMethod pulumi.StringPtrInput
	// Specifies the health check period for instances. The unit is minute
	// and value includes 0, 1, 5 (default), 15, 60, and 180. If the value is set to 0, health check is performed every 10 seconds.
	HealthPeriodicAuditTime pulumi.IntPtrInput
	// Specifies the instance removal policy. The policy has four
	// options: `OLD_CONFIG_OLD_INSTANCE` (default), `OLD_CONFIG_NEW_INSTANCE`, `OLD_INSTANCE`, and `NEW_INSTANCE`.
	InstanceTerminatePolicy pulumi.StringPtrInput
	// The system supports the binding of up to six ELB listeners, the IDs of which are separated using a comma.
	//
	// Deprecated: use lbaas_listeners instead
	LbListenerId pulumi.StringPtrInput
	// Specifies an array of one or more enhanced load balancer. The system supports
	// the binding of up to six load balancers. The object structure is documented below.
	LbaasListeners GroupLbaasListenerArrayInput
	// Specifies the maximum number of instances. The default value is 0.
	MaxInstanceNumber pulumi.IntPtrInput
	// Specifies the minimum number of instances. The default value is 0.
	MinInstanceNumber pulumi.IntPtrInput
	// Specifies the priority policy used to select target AZs when adjusting
	// the number of instances in an AS group. The value can be `EQUILIBRIUM_DISTRIBUTE` and `PICK_FIRST`.
	MultiAzScalingPolicy pulumi.StringPtrInput
	// Specifies an array of one or more network IDs. The system supports up to five networks.
	// The object structure is documented below.
	Networks GroupNetworkArrayInput
	// schema: Deprecated; The notification mode has been canceled
	Notifications pulumi.StringArrayInput
	// Specifies the region in which to create the AS group.
	// If omitted, the provider-level region will be used. Changing this creates a new group.
	Region pulumi.StringPtrInput
	// Specifies the configuration ID which defines configurations
	// of instances in the AS group.
	ScalingConfigurationId pulumi.StringPtrInput
	// Specifies the name of the scaling group. The name can contain
	// letters, digits, underscores(_), and hyphens(-),and cannot exceed 64 characters.
	ScalingGroupName pulumi.StringInput
	// Specifies an array of one or more security group IDs to associate with the group.
	// The object structure is documented below.
	SecurityGroups GroupSecurityGroupArrayInput
	// Specifies the key/value pairs to associate with the AS group.
	Tags pulumi.StringMapInput
	// Specifies the VPC ID. Changing this creates a new group.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a Group resource.

func (GroupArgs) ElementType

func (GroupArgs) ElementType() reflect.Type

type GroupArray

type GroupArray []GroupInput

func (GroupArray) ElementType

func (GroupArray) ElementType() reflect.Type

func (GroupArray) ToGroupArrayOutput

func (i GroupArray) ToGroupArrayOutput() GroupArrayOutput

func (GroupArray) ToGroupArrayOutputWithContext

func (i GroupArray) ToGroupArrayOutputWithContext(ctx context.Context) GroupArrayOutput

type GroupArrayInput

type GroupArrayInput interface {
	pulumi.Input

	ToGroupArrayOutput() GroupArrayOutput
	ToGroupArrayOutputWithContext(context.Context) GroupArrayOutput
}

GroupArrayInput is an input type that accepts GroupArray and GroupArrayOutput values. You can construct a concrete instance of `GroupArrayInput` via:

GroupArray{ GroupArgs{...} }

type GroupArrayOutput

type GroupArrayOutput struct{ *pulumi.OutputState }

func (GroupArrayOutput) ElementType

func (GroupArrayOutput) ElementType() reflect.Type

func (GroupArrayOutput) Index

func (GroupArrayOutput) ToGroupArrayOutput

func (o GroupArrayOutput) ToGroupArrayOutput() GroupArrayOutput

func (GroupArrayOutput) ToGroupArrayOutputWithContext

func (o GroupArrayOutput) ToGroupArrayOutputWithContext(ctx context.Context) GroupArrayOutput

type GroupInput

type GroupInput interface {
	pulumi.Input

	ToGroupOutput() GroupOutput
	ToGroupOutputWithContext(ctx context.Context) GroupOutput
}

type GroupLbaasListener

type GroupLbaasListener struct {
	// Specifies the backend ECS group ID.
	PoolId string `pulumi:"poolId"`
	// Specifies the backend protocol, which is the port on which a backend ECS listens for
	// traffic. The number of the port ranges from 1 to 65535.
	ProtocolPort int `pulumi:"protocolPort"`
	// Specifies the weight, which determines the portion of requests a backend ECS processes
	// compared to other backend ECSs added to the same listener. The value of this parameter ranges from 0 to 100. The
	// default value is 1.
	Weight *int `pulumi:"weight"`
}

type GroupLbaasListenerArgs

type GroupLbaasListenerArgs struct {
	// Specifies the backend ECS group ID.
	PoolId pulumi.StringInput `pulumi:"poolId"`
	// Specifies the backend protocol, which is the port on which a backend ECS listens for
	// traffic. The number of the port ranges from 1 to 65535.
	ProtocolPort pulumi.IntInput `pulumi:"protocolPort"`
	// Specifies the weight, which determines the portion of requests a backend ECS processes
	// compared to other backend ECSs added to the same listener. The value of this parameter ranges from 0 to 100. The
	// default value is 1.
	Weight pulumi.IntPtrInput `pulumi:"weight"`
}

func (GroupLbaasListenerArgs) ElementType

func (GroupLbaasListenerArgs) ElementType() reflect.Type

func (GroupLbaasListenerArgs) ToGroupLbaasListenerOutput

func (i GroupLbaasListenerArgs) ToGroupLbaasListenerOutput() GroupLbaasListenerOutput

func (GroupLbaasListenerArgs) ToGroupLbaasListenerOutputWithContext

func (i GroupLbaasListenerArgs) ToGroupLbaasListenerOutputWithContext(ctx context.Context) GroupLbaasListenerOutput

type GroupLbaasListenerArray

type GroupLbaasListenerArray []GroupLbaasListenerInput

func (GroupLbaasListenerArray) ElementType

func (GroupLbaasListenerArray) ElementType() reflect.Type

func (GroupLbaasListenerArray) ToGroupLbaasListenerArrayOutput

func (i GroupLbaasListenerArray) ToGroupLbaasListenerArrayOutput() GroupLbaasListenerArrayOutput

func (GroupLbaasListenerArray) ToGroupLbaasListenerArrayOutputWithContext

func (i GroupLbaasListenerArray) ToGroupLbaasListenerArrayOutputWithContext(ctx context.Context) GroupLbaasListenerArrayOutput

type GroupLbaasListenerArrayInput

type GroupLbaasListenerArrayInput interface {
	pulumi.Input

	ToGroupLbaasListenerArrayOutput() GroupLbaasListenerArrayOutput
	ToGroupLbaasListenerArrayOutputWithContext(context.Context) GroupLbaasListenerArrayOutput
}

GroupLbaasListenerArrayInput is an input type that accepts GroupLbaasListenerArray and GroupLbaasListenerArrayOutput values. You can construct a concrete instance of `GroupLbaasListenerArrayInput` via:

GroupLbaasListenerArray{ GroupLbaasListenerArgs{...} }

type GroupLbaasListenerArrayOutput

type GroupLbaasListenerArrayOutput struct{ *pulumi.OutputState }

func (GroupLbaasListenerArrayOutput) ElementType

func (GroupLbaasListenerArrayOutput) Index

func (GroupLbaasListenerArrayOutput) ToGroupLbaasListenerArrayOutput

func (o GroupLbaasListenerArrayOutput) ToGroupLbaasListenerArrayOutput() GroupLbaasListenerArrayOutput

func (GroupLbaasListenerArrayOutput) ToGroupLbaasListenerArrayOutputWithContext

func (o GroupLbaasListenerArrayOutput) ToGroupLbaasListenerArrayOutputWithContext(ctx context.Context) GroupLbaasListenerArrayOutput

type GroupLbaasListenerInput

type GroupLbaasListenerInput interface {
	pulumi.Input

	ToGroupLbaasListenerOutput() GroupLbaasListenerOutput
	ToGroupLbaasListenerOutputWithContext(context.Context) GroupLbaasListenerOutput
}

GroupLbaasListenerInput is an input type that accepts GroupLbaasListenerArgs and GroupLbaasListenerOutput values. You can construct a concrete instance of `GroupLbaasListenerInput` via:

GroupLbaasListenerArgs{...}

type GroupLbaasListenerOutput

type GroupLbaasListenerOutput struct{ *pulumi.OutputState }

func (GroupLbaasListenerOutput) ElementType

func (GroupLbaasListenerOutput) ElementType() reflect.Type

func (GroupLbaasListenerOutput) PoolId

Specifies the backend ECS group ID.

func (GroupLbaasListenerOutput) ProtocolPort

func (o GroupLbaasListenerOutput) ProtocolPort() pulumi.IntOutput

Specifies the backend protocol, which is the port on which a backend ECS listens for traffic. The number of the port ranges from 1 to 65535.

func (GroupLbaasListenerOutput) ToGroupLbaasListenerOutput

func (o GroupLbaasListenerOutput) ToGroupLbaasListenerOutput() GroupLbaasListenerOutput

func (GroupLbaasListenerOutput) ToGroupLbaasListenerOutputWithContext

func (o GroupLbaasListenerOutput) ToGroupLbaasListenerOutputWithContext(ctx context.Context) GroupLbaasListenerOutput

func (GroupLbaasListenerOutput) Weight

Specifies the weight, which determines the portion of requests a backend ECS processes compared to other backend ECSs added to the same listener. The value of this parameter ranges from 0 to 100. The default value is 1.

type GroupMap

type GroupMap map[string]GroupInput

func (GroupMap) ElementType

func (GroupMap) ElementType() reflect.Type

func (GroupMap) ToGroupMapOutput

func (i GroupMap) ToGroupMapOutput() GroupMapOutput

func (GroupMap) ToGroupMapOutputWithContext

func (i GroupMap) ToGroupMapOutputWithContext(ctx context.Context) GroupMapOutput

type GroupMapInput

type GroupMapInput interface {
	pulumi.Input

	ToGroupMapOutput() GroupMapOutput
	ToGroupMapOutputWithContext(context.Context) GroupMapOutput
}

GroupMapInput is an input type that accepts GroupMap and GroupMapOutput values. You can construct a concrete instance of `GroupMapInput` via:

GroupMap{ "key": GroupArgs{...} }

type GroupMapOutput

type GroupMapOutput struct{ *pulumi.OutputState }

func (GroupMapOutput) ElementType

func (GroupMapOutput) ElementType() reflect.Type

func (GroupMapOutput) MapIndex

func (GroupMapOutput) ToGroupMapOutput

func (o GroupMapOutput) ToGroupMapOutput() GroupMapOutput

func (GroupMapOutput) ToGroupMapOutputWithContext

func (o GroupMapOutput) ToGroupMapOutputWithContext(ctx context.Context) GroupMapOutput

type GroupNetwork

type GroupNetwork struct {
	// Specifies the ID of the security group.
	Id string `pulumi:"id"`
	// Specifies the ID of the shared bandwidth of an IPv6 address.
	Ipv6BandwidthId *string `pulumi:"ipv6BandwidthId"`
	// Specifies whether to support IPv6 addresses. The default value is `false`.
	Ipv6Enable *bool `pulumi:"ipv6Enable"`
	// Specifies whether processesing only traffic that is destined specifically
	// for it. Defaults to true.
	SourceDestCheck *bool `pulumi:"sourceDestCheck"`
}

type GroupNetworkArgs

type GroupNetworkArgs struct {
	// Specifies the ID of the security group.
	Id pulumi.StringInput `pulumi:"id"`
	// Specifies the ID of the shared bandwidth of an IPv6 address.
	Ipv6BandwidthId pulumi.StringPtrInput `pulumi:"ipv6BandwidthId"`
	// Specifies whether to support IPv6 addresses. The default value is `false`.
	Ipv6Enable pulumi.BoolPtrInput `pulumi:"ipv6Enable"`
	// Specifies whether processesing only traffic that is destined specifically
	// for it. Defaults to true.
	SourceDestCheck pulumi.BoolPtrInput `pulumi:"sourceDestCheck"`
}

func (GroupNetworkArgs) ElementType

func (GroupNetworkArgs) ElementType() reflect.Type

func (GroupNetworkArgs) ToGroupNetworkOutput

func (i GroupNetworkArgs) ToGroupNetworkOutput() GroupNetworkOutput

func (GroupNetworkArgs) ToGroupNetworkOutputWithContext

func (i GroupNetworkArgs) ToGroupNetworkOutputWithContext(ctx context.Context) GroupNetworkOutput

type GroupNetworkArray

type GroupNetworkArray []GroupNetworkInput

func (GroupNetworkArray) ElementType

func (GroupNetworkArray) ElementType() reflect.Type

func (GroupNetworkArray) ToGroupNetworkArrayOutput

func (i GroupNetworkArray) ToGroupNetworkArrayOutput() GroupNetworkArrayOutput

func (GroupNetworkArray) ToGroupNetworkArrayOutputWithContext

func (i GroupNetworkArray) ToGroupNetworkArrayOutputWithContext(ctx context.Context) GroupNetworkArrayOutput

type GroupNetworkArrayInput

type GroupNetworkArrayInput interface {
	pulumi.Input

	ToGroupNetworkArrayOutput() GroupNetworkArrayOutput
	ToGroupNetworkArrayOutputWithContext(context.Context) GroupNetworkArrayOutput
}

GroupNetworkArrayInput is an input type that accepts GroupNetworkArray and GroupNetworkArrayOutput values. You can construct a concrete instance of `GroupNetworkArrayInput` via:

GroupNetworkArray{ GroupNetworkArgs{...} }

type GroupNetworkArrayOutput

type GroupNetworkArrayOutput struct{ *pulumi.OutputState }

func (GroupNetworkArrayOutput) ElementType

func (GroupNetworkArrayOutput) ElementType() reflect.Type

func (GroupNetworkArrayOutput) Index

func (GroupNetworkArrayOutput) ToGroupNetworkArrayOutput

func (o GroupNetworkArrayOutput) ToGroupNetworkArrayOutput() GroupNetworkArrayOutput

func (GroupNetworkArrayOutput) ToGroupNetworkArrayOutputWithContext

func (o GroupNetworkArrayOutput) ToGroupNetworkArrayOutputWithContext(ctx context.Context) GroupNetworkArrayOutput

type GroupNetworkInput

type GroupNetworkInput interface {
	pulumi.Input

	ToGroupNetworkOutput() GroupNetworkOutput
	ToGroupNetworkOutputWithContext(context.Context) GroupNetworkOutput
}

GroupNetworkInput is an input type that accepts GroupNetworkArgs and GroupNetworkOutput values. You can construct a concrete instance of `GroupNetworkInput` via:

GroupNetworkArgs{...}

type GroupNetworkOutput

type GroupNetworkOutput struct{ *pulumi.OutputState }

func (GroupNetworkOutput) ElementType

func (GroupNetworkOutput) ElementType() reflect.Type

func (GroupNetworkOutput) Id

Specifies the ID of the security group.

func (GroupNetworkOutput) Ipv6BandwidthId added in v0.0.8

func (o GroupNetworkOutput) Ipv6BandwidthId() pulumi.StringPtrOutput

Specifies the ID of the shared bandwidth of an IPv6 address.

func (GroupNetworkOutput) Ipv6Enable added in v0.0.8

func (o GroupNetworkOutput) Ipv6Enable() pulumi.BoolPtrOutput

Specifies whether to support IPv6 addresses. The default value is `false`.

func (GroupNetworkOutput) SourceDestCheck added in v0.0.8

func (o GroupNetworkOutput) SourceDestCheck() pulumi.BoolPtrOutput

Specifies whether processesing only traffic that is destined specifically for it. Defaults to true.

func (GroupNetworkOutput) ToGroupNetworkOutput

func (o GroupNetworkOutput) ToGroupNetworkOutput() GroupNetworkOutput

func (GroupNetworkOutput) ToGroupNetworkOutputWithContext

func (o GroupNetworkOutput) ToGroupNetworkOutputWithContext(ctx context.Context) GroupNetworkOutput

type GroupOutput

type GroupOutput struct{ *pulumi.OutputState }

func (GroupOutput) AgencyName added in v0.0.8

func (o GroupOutput) AgencyName() pulumi.StringOutput

Specifies the IAM agency name. If you change the agency, the new agency will be available for ECSs scaled out after the change.

func (GroupOutput) AvailabilityZones added in v0.0.8

func (o GroupOutput) AvailabilityZones() pulumi.StringArrayOutput

Specifies the availability zones in which to create the instances in the autoscaling group.

func (GroupOutput) AvailableZones

func (o GroupOutput) AvailableZones() pulumi.StringArrayOutput

schema: Deprecated; use availability_zones instead

func (GroupOutput) CoolDownTime

func (o GroupOutput) CoolDownTime() pulumi.IntPtrOutput

Specifies the cooling duration (in seconds). The value ranges from 0 to 86400, and is 300 by default.

func (GroupOutput) CurrentInstanceNumber

func (o GroupOutput) CurrentInstanceNumber() pulumi.IntOutput

The number of current instances in the AS group.

func (GroupOutput) DeleteInstances

func (o GroupOutput) DeleteInstances() pulumi.StringPtrOutput

Specifies whether to delete the instances in the AS group when deleting the AS group. The options are `yes` and `no`.

func (GroupOutput) DeletePublicip

func (o GroupOutput) DeletePublicip() pulumi.BoolPtrOutput

Specifies whether to delete the elastic IP address bound to the instances of AS group when deleting the instances. The options are `true` and `false`.

func (GroupOutput) Description added in v0.0.8

func (o GroupOutput) Description() pulumi.StringOutput

Specifies the description of the AS group. The value can contain 0 to 256 characters.

func (GroupOutput) DesireInstanceNumber

func (o GroupOutput) DesireInstanceNumber() pulumi.IntOutput

Specifies the expected number of instances. The default value is the minimum number of instances. The value ranges from the minimum number of instances to the maximum number of instances.

func (GroupOutput) ElementType

func (GroupOutput) ElementType() reflect.Type

func (GroupOutput) Enable

func (o GroupOutput) Enable() pulumi.BoolPtrOutput

Specifies whether to enable the AS Group. The options are `true` and `false`. The default value is `true`.

func (GroupOutput) EnterpriseProjectId

func (o GroupOutput) EnterpriseProjectId() pulumi.StringOutput

Specifies the enterprise project id of the AS group.

func (GroupOutput) ForceDelete

func (o GroupOutput) ForceDelete() pulumi.BoolPtrOutput

Specifies whether to forcibly delete the AS group, remove the ECS instances and release them. The default value is `false`.

func (GroupOutput) HealthPeriodicAuditGracePeriod added in v0.0.8

func (o GroupOutput) HealthPeriodicAuditGracePeriod() pulumi.IntOutput

Specifies the health check grace period for instances. The unit is second and the value ranges from 0 to 86400. The default value is 600.

func (GroupOutput) HealthPeriodicAuditMethod

func (o GroupOutput) HealthPeriodicAuditMethod() pulumi.StringPtrOutput

Specifies the health check method for instances in the AS group. The health check methods include `ELB_AUDIT` and `NOVA_AUDIT`. If load balancing is configured, the default value of this parameter is `ELB_AUDIT`. Otherwise, the default value is `NOVA_AUDIT`.

func (GroupOutput) HealthPeriodicAuditTime

func (o GroupOutput) HealthPeriodicAuditTime() pulumi.IntPtrOutput

Specifies the health check period for instances. The unit is minute and value includes 0, 1, 5 (default), 15, 60, and 180. If the value is set to 0, health check is performed every 10 seconds.

func (GroupOutput) InstanceTerminatePolicy

func (o GroupOutput) InstanceTerminatePolicy() pulumi.StringPtrOutput

Specifies the instance removal policy. The policy has four options: `OLD_CONFIG_OLD_INSTANCE` (default), `OLD_CONFIG_NEW_INSTANCE`, `OLD_INSTANCE`, and `NEW_INSTANCE`.

func (GroupOutput) Instances

func (o GroupOutput) Instances() pulumi.StringArrayOutput

The instances IDs of the AS group.

func (GroupOutput) LbListenerId deprecated

func (o GroupOutput) LbListenerId() pulumi.StringPtrOutput

The system supports the binding of up to six ELB listeners, the IDs of which are separated using a comma.

Deprecated: use lbaas_listeners instead

func (GroupOutput) LbaasListeners

func (o GroupOutput) LbaasListeners() GroupLbaasListenerArrayOutput

Specifies an array of one or more enhanced load balancer. The system supports the binding of up to six load balancers. The object structure is documented below.

func (GroupOutput) MaxInstanceNumber

func (o GroupOutput) MaxInstanceNumber() pulumi.IntPtrOutput

Specifies the maximum number of instances. The default value is 0.

func (GroupOutput) MinInstanceNumber

func (o GroupOutput) MinInstanceNumber() pulumi.IntPtrOutput

Specifies the minimum number of instances. The default value is 0.

func (GroupOutput) MultiAzScalingPolicy added in v0.0.8

func (o GroupOutput) MultiAzScalingPolicy() pulumi.StringOutput

Specifies the priority policy used to select target AZs when adjusting the number of instances in an AS group. The value can be `EQUILIBRIUM_DISTRIBUTE` and `PICK_FIRST`.

func (GroupOutput) Networks

func (o GroupOutput) Networks() GroupNetworkArrayOutput

Specifies an array of one or more network IDs. The system supports up to five networks. The object structure is documented below.

func (GroupOutput) Notifications

func (o GroupOutput) Notifications() pulumi.StringArrayOutput

schema: Deprecated; The notification mode has been canceled

func (GroupOutput) Region

func (o GroupOutput) Region() pulumi.StringOutput

Specifies the region in which to create the AS group. If omitted, the provider-level region will be used. Changing this creates a new group.

func (GroupOutput) ScalingConfigurationId

func (o GroupOutput) ScalingConfigurationId() pulumi.StringOutput

Specifies the configuration ID which defines configurations of instances in the AS group.

func (GroupOutput) ScalingGroupName

func (o GroupOutput) ScalingGroupName() pulumi.StringOutput

Specifies the name of the scaling group. The name can contain letters, digits, underscores(_), and hyphens(-),and cannot exceed 64 characters.

func (GroupOutput) SecurityGroups

func (o GroupOutput) SecurityGroups() GroupSecurityGroupArrayOutput

Specifies an array of one or more security group IDs to associate with the group. The object structure is documented below.

func (GroupOutput) Status

func (o GroupOutput) Status() pulumi.StringOutput

The status of the AS group.

func (GroupOutput) Tags

Specifies the key/value pairs to associate with the AS group.

func (GroupOutput) ToGroupOutput

func (o GroupOutput) ToGroupOutput() GroupOutput

func (GroupOutput) ToGroupOutputWithContext

func (o GroupOutput) ToGroupOutputWithContext(ctx context.Context) GroupOutput

func (GroupOutput) VpcId

func (o GroupOutput) VpcId() pulumi.StringOutput

Specifies the VPC ID. Changing this creates a new group.

type GroupSecurityGroup

type GroupSecurityGroup struct {
	// Specifies the ID of the security group.
	Id string `pulumi:"id"`
}

type GroupSecurityGroupArgs

type GroupSecurityGroupArgs struct {
	// Specifies the ID of the security group.
	Id pulumi.StringInput `pulumi:"id"`
}

func (GroupSecurityGroupArgs) ElementType

func (GroupSecurityGroupArgs) ElementType() reflect.Type

func (GroupSecurityGroupArgs) ToGroupSecurityGroupOutput

func (i GroupSecurityGroupArgs) ToGroupSecurityGroupOutput() GroupSecurityGroupOutput

func (GroupSecurityGroupArgs) ToGroupSecurityGroupOutputWithContext

func (i GroupSecurityGroupArgs) ToGroupSecurityGroupOutputWithContext(ctx context.Context) GroupSecurityGroupOutput

type GroupSecurityGroupArray

type GroupSecurityGroupArray []GroupSecurityGroupInput

func (GroupSecurityGroupArray) ElementType

func (GroupSecurityGroupArray) ElementType() reflect.Type

func (GroupSecurityGroupArray) ToGroupSecurityGroupArrayOutput

func (i GroupSecurityGroupArray) ToGroupSecurityGroupArrayOutput() GroupSecurityGroupArrayOutput

func (GroupSecurityGroupArray) ToGroupSecurityGroupArrayOutputWithContext

func (i GroupSecurityGroupArray) ToGroupSecurityGroupArrayOutputWithContext(ctx context.Context) GroupSecurityGroupArrayOutput

type GroupSecurityGroupArrayInput

type GroupSecurityGroupArrayInput interface {
	pulumi.Input

	ToGroupSecurityGroupArrayOutput() GroupSecurityGroupArrayOutput
	ToGroupSecurityGroupArrayOutputWithContext(context.Context) GroupSecurityGroupArrayOutput
}

GroupSecurityGroupArrayInput is an input type that accepts GroupSecurityGroupArray and GroupSecurityGroupArrayOutput values. You can construct a concrete instance of `GroupSecurityGroupArrayInput` via:

GroupSecurityGroupArray{ GroupSecurityGroupArgs{...} }

type GroupSecurityGroupArrayOutput

type GroupSecurityGroupArrayOutput struct{ *pulumi.OutputState }

func (GroupSecurityGroupArrayOutput) ElementType

func (GroupSecurityGroupArrayOutput) Index

func (GroupSecurityGroupArrayOutput) ToGroupSecurityGroupArrayOutput

func (o GroupSecurityGroupArrayOutput) ToGroupSecurityGroupArrayOutput() GroupSecurityGroupArrayOutput

func (GroupSecurityGroupArrayOutput) ToGroupSecurityGroupArrayOutputWithContext

func (o GroupSecurityGroupArrayOutput) ToGroupSecurityGroupArrayOutputWithContext(ctx context.Context) GroupSecurityGroupArrayOutput

type GroupSecurityGroupInput

type GroupSecurityGroupInput interface {
	pulumi.Input

	ToGroupSecurityGroupOutput() GroupSecurityGroupOutput
	ToGroupSecurityGroupOutputWithContext(context.Context) GroupSecurityGroupOutput
}

GroupSecurityGroupInput is an input type that accepts GroupSecurityGroupArgs and GroupSecurityGroupOutput values. You can construct a concrete instance of `GroupSecurityGroupInput` via:

GroupSecurityGroupArgs{...}

type GroupSecurityGroupOutput

type GroupSecurityGroupOutput struct{ *pulumi.OutputState }

func (GroupSecurityGroupOutput) ElementType

func (GroupSecurityGroupOutput) ElementType() reflect.Type

func (GroupSecurityGroupOutput) Id

Specifies the ID of the security group.

func (GroupSecurityGroupOutput) ToGroupSecurityGroupOutput

func (o GroupSecurityGroupOutput) ToGroupSecurityGroupOutput() GroupSecurityGroupOutput

func (GroupSecurityGroupOutput) ToGroupSecurityGroupOutputWithContext

func (o GroupSecurityGroupOutput) ToGroupSecurityGroupOutputWithContext(ctx context.Context) GroupSecurityGroupOutput

type GroupState

type GroupState struct {
	// Specifies the IAM agency name. If you change the agency,
	// the new agency will be available for ECSs scaled out after the change.
	AgencyName pulumi.StringPtrInput
	// Specifies the availability zones in which to create the instances in the
	// autoscaling group.
	AvailabilityZones pulumi.StringArrayInput
	// schema: Deprecated; use availability_zones instead
	AvailableZones pulumi.StringArrayInput
	// Specifies the cooling duration (in seconds). The value ranges from 0 to 86400,
	// and is 300 by default.
	CoolDownTime pulumi.IntPtrInput
	// The number of current instances in the AS group.
	CurrentInstanceNumber pulumi.IntPtrInput
	// Specifies whether to delete the instances in the AS group when deleting
	// the AS group. The options are `yes` and `no`.
	DeleteInstances pulumi.StringPtrInput
	// Specifies whether to delete the elastic IP address bound to the instances of
	// AS group when deleting the instances. The options are `true` and `false`.
	DeletePublicip pulumi.BoolPtrInput
	// Specifies the description of the AS group.
	// The value can contain 0 to 256 characters.
	Description pulumi.StringPtrInput
	// Specifies the expected number of instances. The default value is the
	// minimum number of instances. The value ranges from the minimum number of instances to the maximum number of instances.
	DesireInstanceNumber pulumi.IntPtrInput
	// Specifies whether to enable the AS Group. The options are `true` and `false`.
	// The default value is `true`.
	Enable pulumi.BoolPtrInput
	// Specifies the enterprise project id of the AS group.
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies whether to forcibly delete the AS group, remove the ECS instances and
	// release them. The default value is `false`.
	ForceDelete pulumi.BoolPtrInput
	// Specifies the health check grace period for instances.
	// The unit is second and the value ranges from 0 to 86400. The default value is 600.
	HealthPeriodicAuditGracePeriod pulumi.IntPtrInput
	// Specifies the health check method for instances in the AS group.
	// The health check methods include `ELB_AUDIT` and `NOVA_AUDIT`. If load balancing is configured, the default value of
	// this parameter is `ELB_AUDIT`. Otherwise, the default value is `NOVA_AUDIT`.
	HealthPeriodicAuditMethod pulumi.StringPtrInput
	// Specifies the health check period for instances. The unit is minute
	// and value includes 0, 1, 5 (default), 15, 60, and 180. If the value is set to 0, health check is performed every 10 seconds.
	HealthPeriodicAuditTime pulumi.IntPtrInput
	// Specifies the instance removal policy. The policy has four
	// options: `OLD_CONFIG_OLD_INSTANCE` (default), `OLD_CONFIG_NEW_INSTANCE`, `OLD_INSTANCE`, and `NEW_INSTANCE`.
	InstanceTerminatePolicy pulumi.StringPtrInput
	// The instances IDs of the AS group.
	Instances pulumi.StringArrayInput
	// The system supports the binding of up to six ELB listeners, the IDs of which are separated using a comma.
	//
	// Deprecated: use lbaas_listeners instead
	LbListenerId pulumi.StringPtrInput
	// Specifies an array of one or more enhanced load balancer. The system supports
	// the binding of up to six load balancers. The object structure is documented below.
	LbaasListeners GroupLbaasListenerArrayInput
	// Specifies the maximum number of instances. The default value is 0.
	MaxInstanceNumber pulumi.IntPtrInput
	// Specifies the minimum number of instances. The default value is 0.
	MinInstanceNumber pulumi.IntPtrInput
	// Specifies the priority policy used to select target AZs when adjusting
	// the number of instances in an AS group. The value can be `EQUILIBRIUM_DISTRIBUTE` and `PICK_FIRST`.
	MultiAzScalingPolicy pulumi.StringPtrInput
	// Specifies an array of one or more network IDs. The system supports up to five networks.
	// The object structure is documented below.
	Networks GroupNetworkArrayInput
	// schema: Deprecated; The notification mode has been canceled
	Notifications pulumi.StringArrayInput
	// Specifies the region in which to create the AS group.
	// If omitted, the provider-level region will be used. Changing this creates a new group.
	Region pulumi.StringPtrInput
	// Specifies the configuration ID which defines configurations
	// of instances in the AS group.
	ScalingConfigurationId pulumi.StringPtrInput
	// Specifies the name of the scaling group. The name can contain
	// letters, digits, underscores(_), and hyphens(-),and cannot exceed 64 characters.
	ScalingGroupName pulumi.StringPtrInput
	// Specifies an array of one or more security group IDs to associate with the group.
	// The object structure is documented below.
	SecurityGroups GroupSecurityGroupArrayInput
	// The status of the AS group.
	Status pulumi.StringPtrInput
	// Specifies the key/value pairs to associate with the AS group.
	Tags pulumi.StringMapInput
	// Specifies the VPC ID. Changing this creates a new group.
	VpcId pulumi.StringPtrInput
}

func (GroupState) ElementType

func (GroupState) ElementType() reflect.Type

type LifecycleHook

type LifecycleHook struct {
	pulumi.CustomResourceState

	// The server time in UTC format when the lifecycle hook is created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Specifies the default lifecycle hook callback operation. This operation is
	// performed when the timeout duration expires. The valid values are *ABANDON* and *CONTINUE*, default to *ABANDON*.
	DefaultResult pulumi.StringPtrOutput `pulumi:"defaultResult"`
	// Specifies the lifecycle hook name. This parameter can contain a maximum of
	// 32 characters, which may consist of letters, digits, underscores (_) and hyphens (-).
	// Changing this creates a new AS lifecycle hook.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies a customized notification. This parameter can contains a maximum
	// of 256 characters, which cannot contain the following characters: <>&'().
	NotificationMessage pulumi.StringPtrOutput `pulumi:"notificationMessage"`
	// The topic name in SMN.
	NotificationTopicName pulumi.StringOutput `pulumi:"notificationTopicName"`
	// Specifies a unique topic in SMN.
	NotificationTopicUrn pulumi.StringOutput `pulumi:"notificationTopicUrn"`
	// Specifies the region in which to create the AS lifecycle hook.
	// If omitted, the provider-level region will be used. Changing this creates a new AS lifecycle hook.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the ID of the AS group in UUID format.
	// Changing this creates a new AS lifecycle hook.
	ScalingGroupId pulumi.StringOutput `pulumi:"scalingGroupId"`
	// Specifies the lifecycle hook timeout duration, which ranges from 300 to 86400 in the unit
	// of second, default to 3600.
	Timeout pulumi.IntPtrOutput `pulumi:"timeout"`
	// Specifies the lifecycle hook type. The valid values are following strings:
	// + `ADD`: The hook suspends the instance when the instance is started.
	// + `REMOVE`: The hook suspends the instance when the instance is terminated.
	Type pulumi.StringOutput `pulumi:"type"`
}

Manages an AS Lifecycle Hook resource within HuaweiCloud.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		hookName := cfg.RequireObject("hookName")
		asGroupId := cfg.RequireObject("asGroupId")
		smnTopicUrn := cfg.RequireObject("smnTopicUrn")
		_, err := As.NewLifecycleHook(ctx, "test", &As.LifecycleHookArgs{
			ScalingGroupId:       pulumi.Any(asGroupId),
			Type:                 pulumi.String("ADD"),
			DefaultResult:        pulumi.String("ABANDON"),
			NotificationTopicUrn: pulumi.Any(smnTopicUrn),
			NotificationMessage:  pulumi.String("This is a test message"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Lifecycle hooks can be imported using the AS group ID and hook ID separated by a slash, e.g.

```sh

$ pulumi import huaweicloud:As/lifecycleHook:LifecycleHook test &ltAS group ID&gt/&ltLifecycle hook ID&gt

```

func GetLifecycleHook

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

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

func NewLifecycleHook

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

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

func (*LifecycleHook) ElementType

func (*LifecycleHook) ElementType() reflect.Type

func (*LifecycleHook) ToLifecycleHookOutput

func (i *LifecycleHook) ToLifecycleHookOutput() LifecycleHookOutput

func (*LifecycleHook) ToLifecycleHookOutputWithContext

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

type LifecycleHookArgs

type LifecycleHookArgs struct {
	// Specifies the default lifecycle hook callback operation. This operation is
	// performed when the timeout duration expires. The valid values are *ABANDON* and *CONTINUE*, default to *ABANDON*.
	DefaultResult pulumi.StringPtrInput
	// Specifies the lifecycle hook name. This parameter can contain a maximum of
	// 32 characters, which may consist of letters, digits, underscores (_) and hyphens (-).
	// Changing this creates a new AS lifecycle hook.
	Name pulumi.StringPtrInput
	// Specifies a customized notification. This parameter can contains a maximum
	// of 256 characters, which cannot contain the following characters: <>&'().
	NotificationMessage pulumi.StringPtrInput
	// Specifies a unique topic in SMN.
	NotificationTopicUrn pulumi.StringInput
	// Specifies the region in which to create the AS lifecycle hook.
	// If omitted, the provider-level region will be used. Changing this creates a new AS lifecycle hook.
	Region pulumi.StringPtrInput
	// Specifies the ID of the AS group in UUID format.
	// Changing this creates a new AS lifecycle hook.
	ScalingGroupId pulumi.StringInput
	// Specifies the lifecycle hook timeout duration, which ranges from 300 to 86400 in the unit
	// of second, default to 3600.
	Timeout pulumi.IntPtrInput
	// Specifies the lifecycle hook type. The valid values are following strings:
	// + `ADD`: The hook suspends the instance when the instance is started.
	// + `REMOVE`: The hook suspends the instance when the instance is terminated.
	Type pulumi.StringInput
}

The set of arguments for constructing a LifecycleHook resource.

func (LifecycleHookArgs) ElementType

func (LifecycleHookArgs) ElementType() reflect.Type

type LifecycleHookArray

type LifecycleHookArray []LifecycleHookInput

func (LifecycleHookArray) ElementType

func (LifecycleHookArray) ElementType() reflect.Type

func (LifecycleHookArray) ToLifecycleHookArrayOutput

func (i LifecycleHookArray) ToLifecycleHookArrayOutput() LifecycleHookArrayOutput

func (LifecycleHookArray) ToLifecycleHookArrayOutputWithContext

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

type LifecycleHookArrayInput

type LifecycleHookArrayInput interface {
	pulumi.Input

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

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

LifecycleHookArray{ LifecycleHookArgs{...} }

type LifecycleHookArrayOutput

type LifecycleHookArrayOutput struct{ *pulumi.OutputState }

func (LifecycleHookArrayOutput) ElementType

func (LifecycleHookArrayOutput) ElementType() reflect.Type

func (LifecycleHookArrayOutput) Index

func (LifecycleHookArrayOutput) ToLifecycleHookArrayOutput

func (o LifecycleHookArrayOutput) ToLifecycleHookArrayOutput() LifecycleHookArrayOutput

func (LifecycleHookArrayOutput) ToLifecycleHookArrayOutputWithContext

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

type LifecycleHookInput

type LifecycleHookInput interface {
	pulumi.Input

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

type LifecycleHookMap

type LifecycleHookMap map[string]LifecycleHookInput

func (LifecycleHookMap) ElementType

func (LifecycleHookMap) ElementType() reflect.Type

func (LifecycleHookMap) ToLifecycleHookMapOutput

func (i LifecycleHookMap) ToLifecycleHookMapOutput() LifecycleHookMapOutput

func (LifecycleHookMap) ToLifecycleHookMapOutputWithContext

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

type LifecycleHookMapInput

type LifecycleHookMapInput interface {
	pulumi.Input

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

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

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

type LifecycleHookMapOutput

type LifecycleHookMapOutput struct{ *pulumi.OutputState }

func (LifecycleHookMapOutput) ElementType

func (LifecycleHookMapOutput) ElementType() reflect.Type

func (LifecycleHookMapOutput) MapIndex

func (LifecycleHookMapOutput) ToLifecycleHookMapOutput

func (o LifecycleHookMapOutput) ToLifecycleHookMapOutput() LifecycleHookMapOutput

func (LifecycleHookMapOutput) ToLifecycleHookMapOutputWithContext

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

type LifecycleHookOutput

type LifecycleHookOutput struct{ *pulumi.OutputState }

func (LifecycleHookOutput) CreateTime

func (o LifecycleHookOutput) CreateTime() pulumi.StringOutput

The server time in UTC format when the lifecycle hook is created.

func (LifecycleHookOutput) DefaultResult

func (o LifecycleHookOutput) DefaultResult() pulumi.StringPtrOutput

Specifies the default lifecycle hook callback operation. This operation is performed when the timeout duration expires. The valid values are *ABANDON* and *CONTINUE*, default to *ABANDON*.

func (LifecycleHookOutput) ElementType

func (LifecycleHookOutput) ElementType() reflect.Type

func (LifecycleHookOutput) Name

Specifies the lifecycle hook name. This parameter can contain a maximum of 32 characters, which may consist of letters, digits, underscores (_) and hyphens (-). Changing this creates a new AS lifecycle hook.

func (LifecycleHookOutput) NotificationMessage

func (o LifecycleHookOutput) NotificationMessage() pulumi.StringPtrOutput

Specifies a customized notification. This parameter can contains a maximum of 256 characters, which cannot contain the following characters: <>&'().

func (LifecycleHookOutput) NotificationTopicName

func (o LifecycleHookOutput) NotificationTopicName() pulumi.StringOutput

The topic name in SMN.

func (LifecycleHookOutput) NotificationTopicUrn

func (o LifecycleHookOutput) NotificationTopicUrn() pulumi.StringOutput

Specifies a unique topic in SMN.

func (LifecycleHookOutput) Region

Specifies the region in which to create the AS lifecycle hook. If omitted, the provider-level region will be used. Changing this creates a new AS lifecycle hook.

func (LifecycleHookOutput) ScalingGroupId

func (o LifecycleHookOutput) ScalingGroupId() pulumi.StringOutput

Specifies the ID of the AS group in UUID format. Changing this creates a new AS lifecycle hook.

func (LifecycleHookOutput) Timeout

Specifies the lifecycle hook timeout duration, which ranges from 300 to 86400 in the unit of second, default to 3600.

func (LifecycleHookOutput) ToLifecycleHookOutput

func (o LifecycleHookOutput) ToLifecycleHookOutput() LifecycleHookOutput

func (LifecycleHookOutput) ToLifecycleHookOutputWithContext

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

func (LifecycleHookOutput) Type

Specifies the lifecycle hook type. The valid values are following strings: + `ADD`: The hook suspends the instance when the instance is started. + `REMOVE`: The hook suspends the instance when the instance is terminated.

type LifecycleHookState

type LifecycleHookState struct {
	// The server time in UTC format when the lifecycle hook is created.
	CreateTime pulumi.StringPtrInput
	// Specifies the default lifecycle hook callback operation. This operation is
	// performed when the timeout duration expires. The valid values are *ABANDON* and *CONTINUE*, default to *ABANDON*.
	DefaultResult pulumi.StringPtrInput
	// Specifies the lifecycle hook name. This parameter can contain a maximum of
	// 32 characters, which may consist of letters, digits, underscores (_) and hyphens (-).
	// Changing this creates a new AS lifecycle hook.
	Name pulumi.StringPtrInput
	// Specifies a customized notification. This parameter can contains a maximum
	// of 256 characters, which cannot contain the following characters: <>&'().
	NotificationMessage pulumi.StringPtrInput
	// The topic name in SMN.
	NotificationTopicName pulumi.StringPtrInput
	// Specifies a unique topic in SMN.
	NotificationTopicUrn pulumi.StringPtrInput
	// Specifies the region in which to create the AS lifecycle hook.
	// If omitted, the provider-level region will be used. Changing this creates a new AS lifecycle hook.
	Region pulumi.StringPtrInput
	// Specifies the ID of the AS group in UUID format.
	// Changing this creates a new AS lifecycle hook.
	ScalingGroupId pulumi.StringPtrInput
	// Specifies the lifecycle hook timeout duration, which ranges from 300 to 86400 in the unit
	// of second, default to 3600.
	Timeout pulumi.IntPtrInput
	// Specifies the lifecycle hook type. The valid values are following strings:
	// + `ADD`: The hook suspends the instance when the instance is started.
	// + `REMOVE`: The hook suspends the instance when the instance is terminated.
	Type pulumi.StringPtrInput
}

func (LifecycleHookState) ElementType

func (LifecycleHookState) ElementType() reflect.Type

type Policy

type Policy struct {
	pulumi.CustomResourceState

	AlarmId pulumi.StringPtrOutput `pulumi:"alarmId"`
	// Specifies the cooling duration (in seconds).
	// The value ranges from 0 to 86400 and is 300 by default.
	CoolDownTime pulumi.IntOutput `pulumi:"coolDownTime"`
	// Specifies the region in which to create the AS policy. If omitted, the
	// provider-level region will be used. Changing this creates a new AS policy.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the AS group ID. Changing this creates a new AS policy.
	ScalingGroupId pulumi.StringOutput `pulumi:"scalingGroupId"`
	// Specifies the action of the AS policy.
	// The object structure is documented below.
	ScalingPolicyAction PolicyScalingPolicyActionOutput `pulumi:"scalingPolicyAction"`
	// Specifies the name of the AS policy. The name contains only letters, digits,
	// underscores(_), and hyphens(-), and cannot exceed 64 characters.
	ScalingPolicyName pulumi.StringOutput `pulumi:"scalingPolicyName"`
	// Specifies the AS policy type. The value can be `ALARM`, `SCHEDULED` or `RECURRENCE`.
	// + **ALARM**: indicates that the scaling action is triggered by an alarm.
	// + **SCHEDULED**: indicates that the scaling action is triggered as scheduled.
	// + **RECURRENCE**: indicates that the scaling action is triggered periodically.
	ScalingPolicyType pulumi.StringOutput `pulumi:"scalingPolicyType"`
	// Specifies the periodic or scheduled AS policy.
	// This parameter is mandatory when `scalingPolicyType` is set to `SCHEDULED` or `RECURRENCE`.
	// The object structure is documented below.
	ScheduledPolicy PolicyScheduledPolicyOutput `pulumi:"scheduledPolicy"`
	// The AS policy status. The value can be *INSERVICE*, *PAUSED* or *EXECUTING*.
	Status pulumi.StringOutput `pulumi:"status"`
}

Manages an AS policy resource within HuaweiCloud.

## Example Usage ### AS Recurrence Policy

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		asGroupId := cfg.RequireObject("asGroupId")
		_, err := As.NewPolicy(ctx, "myAspolicy", &As.PolicyArgs{
			ScalingPolicyName: pulumi.String("my_aspolicy"),
			ScalingPolicyType: pulumi.String("RECURRENCE"),
			ScalingGroupId:    pulumi.Any(asGroupId),
			ScalingPolicyAction: &as.PolicyScalingPolicyActionArgs{
				Operation:      pulumi.String("ADD"),
				InstanceNumber: pulumi.Int(1),
			},
			ScheduledPolicy: &as.PolicyScheduledPolicyArgs{
				LaunchTime:     pulumi.String("07:00"),
				RecurrenceType: pulumi.String("Daily"),
				StartTime:      pulumi.String("2022-11-30T12:00Z"),
				EndTime:        pulumi.String("2022-12-30T12:00Z"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### AS Scheduled Policy

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		asGroupId := cfg.RequireObject("asGroupId")
		_, err := As.NewPolicy(ctx, "myAspolicy1", &As.PolicyArgs{
			ScalingPolicyName: pulumi.String("my_aspolicy_1"),
			ScalingPolicyType: pulumi.String("SCHEDULED"),
			ScalingGroupId:    pulumi.Any(asGroupId),
			ScalingPolicyAction: &as.PolicyScalingPolicyActionArgs{
				Operation:      pulumi.String("REMOVE"),
				InstanceNumber: pulumi.Int(1),
			},
			ScheduledPolicy: &as.PolicyScheduledPolicyArgs{
				LaunchTime: pulumi.String("2022-12-22T12:00Z"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### AS Alarm Policy

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Cse"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/As"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Cse"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		asGroupId := cfg.RequireObject("asGroupId")
		alarmRule, err := Cse.NewAlarmrule(ctx, "alarmRule", &Cse.AlarmruleArgs{
			AlarmName: pulumi.String("as_alarm_rule"),
			Metric: &cse.AlarmruleMetricArgs{
				Namespace:  pulumi.String("SYS.AS"),
				MetricName: pulumi.String("cpu_util"),
				Dimensions: cse.AlarmruleMetricDimensionArray{
					&cse.AlarmruleMetricDimensionArgs{
						Name:  pulumi.String("AutoScalingGroup"),
						Value: pulumi.Any(asGroupId),
					},
				},
			},
			Conditions: cse.AlarmruleConditionArray{
				&cse.AlarmruleConditionArgs{
					Period:             pulumi.Int(300),
					Filter:             pulumi.String("average"),
					ComparisonOperator: pulumi.String(">="),
					Value:              pulumi.Float64(60),
					Unit:               pulumi.String("%"),
					Count:              pulumi.Int(1),
				},
			},
			AlarmActions: cse.AlarmruleAlarmActionArray{
				&cse.AlarmruleAlarmActionArgs{
					Type:              pulumi.String("autoscaling"),
					NotificationLists: pulumi.StringArray{},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = As.NewPolicy(ctx, "myAspolicy2", &As.PolicyArgs{
			ScalingPolicyName: pulumi.String("my_aspolicy_2"),
			ScalingPolicyType: pulumi.String("ALARM"),
			ScalingGroupId:    pulumi.Any(asGroupId),
			AlarmId:           alarmRule.ID(),
			CoolDownTime:      pulumi.Int(900),
			ScalingPolicyAction: &as.PolicyScalingPolicyActionArgs{
				Operation:      pulumi.String("ADD"),
				InstanceNumber: pulumi.Int(1),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AS policies can be imported by their `id`, e.g.

```sh

$ pulumi import huaweicloud:As/policy:Policy test 9fcb65fe-fd79-4407-8fa0-07602044e1c3

```

func GetPolicy

func GetPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PolicyState, opts ...pulumi.ResourceOption) (*Policy, error)

GetPolicy gets an existing Policy 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 NewPolicy

func NewPolicy(ctx *pulumi.Context,
	name string, args *PolicyArgs, opts ...pulumi.ResourceOption) (*Policy, error)

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

func (*Policy) ElementType

func (*Policy) ElementType() reflect.Type

func (*Policy) ToPolicyOutput

func (i *Policy) ToPolicyOutput() PolicyOutput

func (*Policy) ToPolicyOutputWithContext

func (i *Policy) ToPolicyOutputWithContext(ctx context.Context) PolicyOutput

type PolicyArgs

type PolicyArgs struct {
	AlarmId pulumi.StringPtrInput
	// Specifies the cooling duration (in seconds).
	// The value ranges from 0 to 86400 and is 300 by default.
	CoolDownTime pulumi.IntPtrInput
	// Specifies the region in which to create the AS policy. If omitted, the
	// provider-level region will be used. Changing this creates a new AS policy.
	Region pulumi.StringPtrInput
	// Specifies the AS group ID. Changing this creates a new AS policy.
	ScalingGroupId pulumi.StringInput
	// Specifies the action of the AS policy.
	// The object structure is documented below.
	ScalingPolicyAction PolicyScalingPolicyActionPtrInput
	// Specifies the name of the AS policy. The name contains only letters, digits,
	// underscores(_), and hyphens(-), and cannot exceed 64 characters.
	ScalingPolicyName pulumi.StringInput
	// Specifies the AS policy type. The value can be `ALARM`, `SCHEDULED` or `RECURRENCE`.
	// + **ALARM**: indicates that the scaling action is triggered by an alarm.
	// + **SCHEDULED**: indicates that the scaling action is triggered as scheduled.
	// + **RECURRENCE**: indicates that the scaling action is triggered periodically.
	ScalingPolicyType pulumi.StringInput
	// Specifies the periodic or scheduled AS policy.
	// This parameter is mandatory when `scalingPolicyType` is set to `SCHEDULED` or `RECURRENCE`.
	// The object structure is documented below.
	ScheduledPolicy PolicyScheduledPolicyPtrInput
}

The set of arguments for constructing a Policy resource.

func (PolicyArgs) ElementType

func (PolicyArgs) ElementType() reflect.Type

type PolicyArray

type PolicyArray []PolicyInput

func (PolicyArray) ElementType

func (PolicyArray) ElementType() reflect.Type

func (PolicyArray) ToPolicyArrayOutput

func (i PolicyArray) ToPolicyArrayOutput() PolicyArrayOutput

func (PolicyArray) ToPolicyArrayOutputWithContext

func (i PolicyArray) ToPolicyArrayOutputWithContext(ctx context.Context) PolicyArrayOutput

type PolicyArrayInput

type PolicyArrayInput interface {
	pulumi.Input

	ToPolicyArrayOutput() PolicyArrayOutput
	ToPolicyArrayOutputWithContext(context.Context) PolicyArrayOutput
}

PolicyArrayInput is an input type that accepts PolicyArray and PolicyArrayOutput values. You can construct a concrete instance of `PolicyArrayInput` via:

PolicyArray{ PolicyArgs{...} }

type PolicyArrayOutput

type PolicyArrayOutput struct{ *pulumi.OutputState }

func (PolicyArrayOutput) ElementType

func (PolicyArrayOutput) ElementType() reflect.Type

func (PolicyArrayOutput) Index

func (PolicyArrayOutput) ToPolicyArrayOutput

func (o PolicyArrayOutput) ToPolicyArrayOutput() PolicyArrayOutput

func (PolicyArrayOutput) ToPolicyArrayOutputWithContext

func (o PolicyArrayOutput) ToPolicyArrayOutputWithContext(ctx context.Context) PolicyArrayOutput

type PolicyInput

type PolicyInput interface {
	pulumi.Input

	ToPolicyOutput() PolicyOutput
	ToPolicyOutputWithContext(ctx context.Context) PolicyOutput
}

type PolicyMap

type PolicyMap map[string]PolicyInput

func (PolicyMap) ElementType

func (PolicyMap) ElementType() reflect.Type

func (PolicyMap) ToPolicyMapOutput

func (i PolicyMap) ToPolicyMapOutput() PolicyMapOutput

func (PolicyMap) ToPolicyMapOutputWithContext

func (i PolicyMap) ToPolicyMapOutputWithContext(ctx context.Context) PolicyMapOutput

type PolicyMapInput

type PolicyMapInput interface {
	pulumi.Input

	ToPolicyMapOutput() PolicyMapOutput
	ToPolicyMapOutputWithContext(context.Context) PolicyMapOutput
}

PolicyMapInput is an input type that accepts PolicyMap and PolicyMapOutput values. You can construct a concrete instance of `PolicyMapInput` via:

PolicyMap{ "key": PolicyArgs{...} }

type PolicyMapOutput

type PolicyMapOutput struct{ *pulumi.OutputState }

func (PolicyMapOutput) ElementType

func (PolicyMapOutput) ElementType() reflect.Type

func (PolicyMapOutput) MapIndex

func (PolicyMapOutput) ToPolicyMapOutput

func (o PolicyMapOutput) ToPolicyMapOutput() PolicyMapOutput

func (PolicyMapOutput) ToPolicyMapOutputWithContext

func (o PolicyMapOutput) ToPolicyMapOutputWithContext(ctx context.Context) PolicyMapOutput

type PolicyOutput

type PolicyOutput struct{ *pulumi.OutputState }

func (PolicyOutput) AlarmId

func (o PolicyOutput) AlarmId() pulumi.StringPtrOutput

func (PolicyOutput) CoolDownTime

func (o PolicyOutput) CoolDownTime() pulumi.IntOutput

Specifies the cooling duration (in seconds). The value ranges from 0 to 86400 and is 300 by default.

func (PolicyOutput) ElementType

func (PolicyOutput) ElementType() reflect.Type

func (PolicyOutput) Region

func (o PolicyOutput) Region() pulumi.StringOutput

Specifies the region in which to create the AS policy. If omitted, the provider-level region will be used. Changing this creates a new AS policy.

func (PolicyOutput) ScalingGroupId

func (o PolicyOutput) ScalingGroupId() pulumi.StringOutput

Specifies the AS group ID. Changing this creates a new AS policy.

func (PolicyOutput) ScalingPolicyAction

func (o PolicyOutput) ScalingPolicyAction() PolicyScalingPolicyActionOutput

Specifies the action of the AS policy. The object structure is documented below.

func (PolicyOutput) ScalingPolicyName

func (o PolicyOutput) ScalingPolicyName() pulumi.StringOutput

Specifies the name of the AS policy. The name contains only letters, digits, underscores(_), and hyphens(-), and cannot exceed 64 characters.

func (PolicyOutput) ScalingPolicyType

func (o PolicyOutput) ScalingPolicyType() pulumi.StringOutput

Specifies the AS policy type. The value can be `ALARM`, `SCHEDULED` or `RECURRENCE`. + **ALARM**: indicates that the scaling action is triggered by an alarm. + **SCHEDULED**: indicates that the scaling action is triggered as scheduled. + **RECURRENCE**: indicates that the scaling action is triggered periodically.

func (PolicyOutput) ScheduledPolicy

func (o PolicyOutput) ScheduledPolicy() PolicyScheduledPolicyOutput

Specifies the periodic or scheduled AS policy. This parameter is mandatory when `scalingPolicyType` is set to `SCHEDULED` or `RECURRENCE`. The object structure is documented below.

func (PolicyOutput) Status added in v0.0.8

func (o PolicyOutput) Status() pulumi.StringOutput

The AS policy status. The value can be *INSERVICE*, *PAUSED* or *EXECUTING*.

func (PolicyOutput) ToPolicyOutput

func (o PolicyOutput) ToPolicyOutput() PolicyOutput

func (PolicyOutput) ToPolicyOutputWithContext

func (o PolicyOutput) ToPolicyOutputWithContext(ctx context.Context) PolicyOutput

type PolicyScalingPolicyAction

type PolicyScalingPolicyAction struct {
	// Specifies the number of instances to be operated. The default number is 1.
	InstanceNumber *int `pulumi:"instanceNumber"`
	// Specifies the operation to be performed. The options include `ADD` (default), `REMOVE`,
	// and `SET`.
	Operation *string `pulumi:"operation"`
}

type PolicyScalingPolicyActionArgs

type PolicyScalingPolicyActionArgs struct {
	// Specifies the number of instances to be operated. The default number is 1.
	InstanceNumber pulumi.IntPtrInput `pulumi:"instanceNumber"`
	// Specifies the operation to be performed. The options include `ADD` (default), `REMOVE`,
	// and `SET`.
	Operation pulumi.StringPtrInput `pulumi:"operation"`
}

func (PolicyScalingPolicyActionArgs) ElementType

func (PolicyScalingPolicyActionArgs) ToPolicyScalingPolicyActionOutput

func (i PolicyScalingPolicyActionArgs) ToPolicyScalingPolicyActionOutput() PolicyScalingPolicyActionOutput

func (PolicyScalingPolicyActionArgs) ToPolicyScalingPolicyActionOutputWithContext

func (i PolicyScalingPolicyActionArgs) ToPolicyScalingPolicyActionOutputWithContext(ctx context.Context) PolicyScalingPolicyActionOutput

func (PolicyScalingPolicyActionArgs) ToPolicyScalingPolicyActionPtrOutput

func (i PolicyScalingPolicyActionArgs) ToPolicyScalingPolicyActionPtrOutput() PolicyScalingPolicyActionPtrOutput

func (PolicyScalingPolicyActionArgs) ToPolicyScalingPolicyActionPtrOutputWithContext

func (i PolicyScalingPolicyActionArgs) ToPolicyScalingPolicyActionPtrOutputWithContext(ctx context.Context) PolicyScalingPolicyActionPtrOutput

type PolicyScalingPolicyActionInput

type PolicyScalingPolicyActionInput interface {
	pulumi.Input

	ToPolicyScalingPolicyActionOutput() PolicyScalingPolicyActionOutput
	ToPolicyScalingPolicyActionOutputWithContext(context.Context) PolicyScalingPolicyActionOutput
}

PolicyScalingPolicyActionInput is an input type that accepts PolicyScalingPolicyActionArgs and PolicyScalingPolicyActionOutput values. You can construct a concrete instance of `PolicyScalingPolicyActionInput` via:

PolicyScalingPolicyActionArgs{...}

type PolicyScalingPolicyActionOutput

type PolicyScalingPolicyActionOutput struct{ *pulumi.OutputState }

func (PolicyScalingPolicyActionOutput) ElementType

func (PolicyScalingPolicyActionOutput) InstanceNumber

Specifies the number of instances to be operated. The default number is 1.

func (PolicyScalingPolicyActionOutput) Operation

Specifies the operation to be performed. The options include `ADD` (default), `REMOVE`, and `SET`.

func (PolicyScalingPolicyActionOutput) ToPolicyScalingPolicyActionOutput

func (o PolicyScalingPolicyActionOutput) ToPolicyScalingPolicyActionOutput() PolicyScalingPolicyActionOutput

func (PolicyScalingPolicyActionOutput) ToPolicyScalingPolicyActionOutputWithContext

func (o PolicyScalingPolicyActionOutput) ToPolicyScalingPolicyActionOutputWithContext(ctx context.Context) PolicyScalingPolicyActionOutput

func (PolicyScalingPolicyActionOutput) ToPolicyScalingPolicyActionPtrOutput

func (o PolicyScalingPolicyActionOutput) ToPolicyScalingPolicyActionPtrOutput() PolicyScalingPolicyActionPtrOutput

func (PolicyScalingPolicyActionOutput) ToPolicyScalingPolicyActionPtrOutputWithContext

func (o PolicyScalingPolicyActionOutput) ToPolicyScalingPolicyActionPtrOutputWithContext(ctx context.Context) PolicyScalingPolicyActionPtrOutput

type PolicyScalingPolicyActionPtrInput

type PolicyScalingPolicyActionPtrInput interface {
	pulumi.Input

	ToPolicyScalingPolicyActionPtrOutput() PolicyScalingPolicyActionPtrOutput
	ToPolicyScalingPolicyActionPtrOutputWithContext(context.Context) PolicyScalingPolicyActionPtrOutput
}

PolicyScalingPolicyActionPtrInput is an input type that accepts PolicyScalingPolicyActionArgs, PolicyScalingPolicyActionPtr and PolicyScalingPolicyActionPtrOutput values. You can construct a concrete instance of `PolicyScalingPolicyActionPtrInput` via:

        PolicyScalingPolicyActionArgs{...}

or:

        nil

type PolicyScalingPolicyActionPtrOutput

type PolicyScalingPolicyActionPtrOutput struct{ *pulumi.OutputState }

func (PolicyScalingPolicyActionPtrOutput) Elem

func (PolicyScalingPolicyActionPtrOutput) ElementType

func (PolicyScalingPolicyActionPtrOutput) InstanceNumber

Specifies the number of instances to be operated. The default number is 1.

func (PolicyScalingPolicyActionPtrOutput) Operation

Specifies the operation to be performed. The options include `ADD` (default), `REMOVE`, and `SET`.

func (PolicyScalingPolicyActionPtrOutput) ToPolicyScalingPolicyActionPtrOutput

func (o PolicyScalingPolicyActionPtrOutput) ToPolicyScalingPolicyActionPtrOutput() PolicyScalingPolicyActionPtrOutput

func (PolicyScalingPolicyActionPtrOutput) ToPolicyScalingPolicyActionPtrOutputWithContext

func (o PolicyScalingPolicyActionPtrOutput) ToPolicyScalingPolicyActionPtrOutputWithContext(ctx context.Context) PolicyScalingPolicyActionPtrOutput

type PolicyScheduledPolicy

type PolicyScheduledPolicy struct {
	// Specifies the end time of the scaling action triggered periodically. The time format complies
	// with UTC. This argument is mandatory when `scalingPolicyType`
	// is set to `RECURRENCE`. The time format is YYYY-MM-DDThh:mmZ.
	EndTime *string `pulumi:"endTime"`
	// Specifies the time when the scaling action is triggered.
	// + If `scalingPolicyType` is set to `SCHEDULED`, the time format is **YYYY-MM-DDThh:mmZ**.
	// + If `scalingPolicyType` is set to `RECURRENCE`, the time format is **hh:mm**.
	LaunchTime string `pulumi:"launchTime"`
	// Specifies the periodic triggering type. This argument is mandatory when
	// `scalingPolicyType` is set to `RECURRENCE`. The options include `Daily`, `Weekly`, and `Monthly`.
	RecurrenceType *string `pulumi:"recurrenceType"`
	// Specifies the frequency at which scaling actions are triggered.
	RecurrenceValue *string `pulumi:"recurrenceValue"`
	// Specifies the start time of the scaling action triggered periodically. The time format
	// complies with UTC. The current time is used by default. The time format is YYYY-MM-DDThh:mmZ.
	StartTime *string `pulumi:"startTime"`
}

type PolicyScheduledPolicyArgs

type PolicyScheduledPolicyArgs struct {
	// Specifies the end time of the scaling action triggered periodically. The time format complies
	// with UTC. This argument is mandatory when `scalingPolicyType`
	// is set to `RECURRENCE`. The time format is YYYY-MM-DDThh:mmZ.
	EndTime pulumi.StringPtrInput `pulumi:"endTime"`
	// Specifies the time when the scaling action is triggered.
	// + If `scalingPolicyType` is set to `SCHEDULED`, the time format is **YYYY-MM-DDThh:mmZ**.
	// + If `scalingPolicyType` is set to `RECURRENCE`, the time format is **hh:mm**.
	LaunchTime pulumi.StringInput `pulumi:"launchTime"`
	// Specifies the periodic triggering type. This argument is mandatory when
	// `scalingPolicyType` is set to `RECURRENCE`. The options include `Daily`, `Weekly`, and `Monthly`.
	RecurrenceType pulumi.StringPtrInput `pulumi:"recurrenceType"`
	// Specifies the frequency at which scaling actions are triggered.
	RecurrenceValue pulumi.StringPtrInput `pulumi:"recurrenceValue"`
	// Specifies the start time of the scaling action triggered periodically. The time format
	// complies with UTC. The current time is used by default. The time format is YYYY-MM-DDThh:mmZ.
	StartTime pulumi.StringPtrInput `pulumi:"startTime"`
}

func (PolicyScheduledPolicyArgs) ElementType

func (PolicyScheduledPolicyArgs) ElementType() reflect.Type

func (PolicyScheduledPolicyArgs) ToPolicyScheduledPolicyOutput

func (i PolicyScheduledPolicyArgs) ToPolicyScheduledPolicyOutput() PolicyScheduledPolicyOutput

func (PolicyScheduledPolicyArgs) ToPolicyScheduledPolicyOutputWithContext

func (i PolicyScheduledPolicyArgs) ToPolicyScheduledPolicyOutputWithContext(ctx context.Context) PolicyScheduledPolicyOutput

func (PolicyScheduledPolicyArgs) ToPolicyScheduledPolicyPtrOutput

func (i PolicyScheduledPolicyArgs) ToPolicyScheduledPolicyPtrOutput() PolicyScheduledPolicyPtrOutput

func (PolicyScheduledPolicyArgs) ToPolicyScheduledPolicyPtrOutputWithContext

func (i PolicyScheduledPolicyArgs) ToPolicyScheduledPolicyPtrOutputWithContext(ctx context.Context) PolicyScheduledPolicyPtrOutput

type PolicyScheduledPolicyInput

type PolicyScheduledPolicyInput interface {
	pulumi.Input

	ToPolicyScheduledPolicyOutput() PolicyScheduledPolicyOutput
	ToPolicyScheduledPolicyOutputWithContext(context.Context) PolicyScheduledPolicyOutput
}

PolicyScheduledPolicyInput is an input type that accepts PolicyScheduledPolicyArgs and PolicyScheduledPolicyOutput values. You can construct a concrete instance of `PolicyScheduledPolicyInput` via:

PolicyScheduledPolicyArgs{...}

type PolicyScheduledPolicyOutput

type PolicyScheduledPolicyOutput struct{ *pulumi.OutputState }

func (PolicyScheduledPolicyOutput) ElementType

func (PolicyScheduledPolicyOutput) EndTime

Specifies the end time of the scaling action triggered periodically. The time format complies with UTC. This argument is mandatory when `scalingPolicyType` is set to `RECURRENCE`. The time format is YYYY-MM-DDThh:mmZ.

func (PolicyScheduledPolicyOutput) LaunchTime

Specifies the time when the scaling action is triggered. + If `scalingPolicyType` is set to `SCHEDULED`, the time format is **YYYY-MM-DDThh:mmZ**. + If `scalingPolicyType` is set to `RECURRENCE`, the time format is **hh:mm**.

func (PolicyScheduledPolicyOutput) RecurrenceType

Specifies the periodic triggering type. This argument is mandatory when `scalingPolicyType` is set to `RECURRENCE`. The options include `Daily`, `Weekly`, and `Monthly`.

func (PolicyScheduledPolicyOutput) RecurrenceValue

Specifies the frequency at which scaling actions are triggered.

func (PolicyScheduledPolicyOutput) StartTime

Specifies the start time of the scaling action triggered periodically. The time format complies with UTC. The current time is used by default. The time format is YYYY-MM-DDThh:mmZ.

func (PolicyScheduledPolicyOutput) ToPolicyScheduledPolicyOutput

func (o PolicyScheduledPolicyOutput) ToPolicyScheduledPolicyOutput() PolicyScheduledPolicyOutput

func (PolicyScheduledPolicyOutput) ToPolicyScheduledPolicyOutputWithContext

func (o PolicyScheduledPolicyOutput) ToPolicyScheduledPolicyOutputWithContext(ctx context.Context) PolicyScheduledPolicyOutput

func (PolicyScheduledPolicyOutput) ToPolicyScheduledPolicyPtrOutput

func (o PolicyScheduledPolicyOutput) ToPolicyScheduledPolicyPtrOutput() PolicyScheduledPolicyPtrOutput

func (PolicyScheduledPolicyOutput) ToPolicyScheduledPolicyPtrOutputWithContext

func (o PolicyScheduledPolicyOutput) ToPolicyScheduledPolicyPtrOutputWithContext(ctx context.Context) PolicyScheduledPolicyPtrOutput

type PolicyScheduledPolicyPtrInput

type PolicyScheduledPolicyPtrInput interface {
	pulumi.Input

	ToPolicyScheduledPolicyPtrOutput() PolicyScheduledPolicyPtrOutput
	ToPolicyScheduledPolicyPtrOutputWithContext(context.Context) PolicyScheduledPolicyPtrOutput
}

PolicyScheduledPolicyPtrInput is an input type that accepts PolicyScheduledPolicyArgs, PolicyScheduledPolicyPtr and PolicyScheduledPolicyPtrOutput values. You can construct a concrete instance of `PolicyScheduledPolicyPtrInput` via:

        PolicyScheduledPolicyArgs{...}

or:

        nil

type PolicyScheduledPolicyPtrOutput

type PolicyScheduledPolicyPtrOutput struct{ *pulumi.OutputState }

func (PolicyScheduledPolicyPtrOutput) Elem

func (PolicyScheduledPolicyPtrOutput) ElementType

func (PolicyScheduledPolicyPtrOutput) EndTime

Specifies the end time of the scaling action triggered periodically. The time format complies with UTC. This argument is mandatory when `scalingPolicyType` is set to `RECURRENCE`. The time format is YYYY-MM-DDThh:mmZ.

func (PolicyScheduledPolicyPtrOutput) LaunchTime

Specifies the time when the scaling action is triggered. + If `scalingPolicyType` is set to `SCHEDULED`, the time format is **YYYY-MM-DDThh:mmZ**. + If `scalingPolicyType` is set to `RECURRENCE`, the time format is **hh:mm**.

func (PolicyScheduledPolicyPtrOutput) RecurrenceType

Specifies the periodic triggering type. This argument is mandatory when `scalingPolicyType` is set to `RECURRENCE`. The options include `Daily`, `Weekly`, and `Monthly`.

func (PolicyScheduledPolicyPtrOutput) RecurrenceValue

Specifies the frequency at which scaling actions are triggered.

func (PolicyScheduledPolicyPtrOutput) StartTime

Specifies the start time of the scaling action triggered periodically. The time format complies with UTC. The current time is used by default. The time format is YYYY-MM-DDThh:mmZ.

func (PolicyScheduledPolicyPtrOutput) ToPolicyScheduledPolicyPtrOutput

func (o PolicyScheduledPolicyPtrOutput) ToPolicyScheduledPolicyPtrOutput() PolicyScheduledPolicyPtrOutput

func (PolicyScheduledPolicyPtrOutput) ToPolicyScheduledPolicyPtrOutputWithContext

func (o PolicyScheduledPolicyPtrOutput) ToPolicyScheduledPolicyPtrOutputWithContext(ctx context.Context) PolicyScheduledPolicyPtrOutput

type PolicyState

type PolicyState struct {
	AlarmId pulumi.StringPtrInput
	// Specifies the cooling duration (in seconds).
	// The value ranges from 0 to 86400 and is 300 by default.
	CoolDownTime pulumi.IntPtrInput
	// Specifies the region in which to create the AS policy. If omitted, the
	// provider-level region will be used. Changing this creates a new AS policy.
	Region pulumi.StringPtrInput
	// Specifies the AS group ID. Changing this creates a new AS policy.
	ScalingGroupId pulumi.StringPtrInput
	// Specifies the action of the AS policy.
	// The object structure is documented below.
	ScalingPolicyAction PolicyScalingPolicyActionPtrInput
	// Specifies the name of the AS policy. The name contains only letters, digits,
	// underscores(_), and hyphens(-), and cannot exceed 64 characters.
	ScalingPolicyName pulumi.StringPtrInput
	// Specifies the AS policy type. The value can be `ALARM`, `SCHEDULED` or `RECURRENCE`.
	// + **ALARM**: indicates that the scaling action is triggered by an alarm.
	// + **SCHEDULED**: indicates that the scaling action is triggered as scheduled.
	// + **RECURRENCE**: indicates that the scaling action is triggered periodically.
	ScalingPolicyType pulumi.StringPtrInput
	// Specifies the periodic or scheduled AS policy.
	// This parameter is mandatory when `scalingPolicyType` is set to `SCHEDULED` or `RECURRENCE`.
	// The object structure is documented below.
	ScheduledPolicy PolicyScheduledPolicyPtrInput
	// The AS policy status. The value can be *INSERVICE*, *PAUSED* or *EXECUTING*.
	Status pulumi.StringPtrInput
}

func (PolicyState) ElementType

func (PolicyState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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