ddos

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 21, 2022 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.1

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 BasicDefenseThreshold

type BasicDefenseThreshold struct {
	pulumi.CustomResourceState

	// Specifies the traffic scrubbing threshold. Unit: Mbit/s. The traffic scrubbing threshold cannot exceed the peak inbound or outbound Internet traffic, whichever is larger, of the asset.
	Bps pulumi.IntOutput `pulumi:"bps"`
	// The type of the threshold to query. Valid values: `defense`,`blackhole`.
	// -`defense` - scrubbing threshold.
	// -`blackhole` - DDoS mitigation threshold.
	DdosType pulumi.StringOutput `pulumi:"ddosType"`
	// The ID of the instance.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The instance type of the public IP address asset. Value: `ecs`,`slb`,`eip`.
	InstanceType pulumi.StringOutput `pulumi:"instanceType"`
	// The Internet IP address.
	InternetIp pulumi.StringOutput `pulumi:"internetIp"`
	// Whether it is the system default threshold. Value:
	// - `true`: indicates yes, that is, the DDoS protection service dynamically adjusts the cleaning threshold according to the traffic load of the cloud server.
	// - `false`: indicates no, that is, you manually set the cleaning threshold.
	IsAuto pulumi.BoolOutput `pulumi:"isAuto"`
	// The maximum traffic scrubbing threshold. Unit: Mbit/s.
	MaxBps pulumi.IntOutput `pulumi:"maxBps"`
	// The maximum packet scrubbing threshold. Unit: pps.
	MaxPps pulumi.IntOutput `pulumi:"maxPps"`
	// The current message number cleaning threshold. Unit: pps.
	Pps pulumi.IntOutput `pulumi:"pps"`
}

Provides a Ddos Basic defense threshold resource.

For information about Ddos Basic Antiddos and how to use it, see [What is Defense Threshold](https://www.alibabacloud.com/help/en/ddos-protection/latest/modifydefensethreshold).

> **NOTE:** Available in v1.168.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/ddos"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/ecs"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ecs.NewEipAddress(ctx, "default", &ecs.EipAddressArgs{
			AddressName:        pulumi.Any(_var.Name),
			Isp:                pulumi.String("BGP"),
			InternetChargeType: pulumi.String("PayByBandwidth"),
			PaymentType:        pulumi.String("PayAsYouGo"),
		})
		if err != nil {
			return err
		}
		_, err = ddos.NewBasicDefenseThreshold(ctx, "example", &ddos.BasicDefenseThresholdArgs{
			InstanceId:   _default.ID(),
			DdosType:     pulumi.String("defense"),
			InstanceType: pulumi.String("eip"),
			Bps:          pulumi.Int(390),
			Pps:          pulumi.Int(90000),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Ddos Basic Antiddos can be imported using the id, e.g.

```sh

$ pulumi import alicloud:ddos/basicDefenseThreshold:BasicDefenseThreshold example <instance_id>:<instance_type>:<ddos_type>

```

func GetBasicDefenseThreshold

func GetBasicDefenseThreshold(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BasicDefenseThresholdState, opts ...pulumi.ResourceOption) (*BasicDefenseThreshold, error)

GetBasicDefenseThreshold gets an existing BasicDefenseThreshold 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 NewBasicDefenseThreshold

func NewBasicDefenseThreshold(ctx *pulumi.Context,
	name string, args *BasicDefenseThresholdArgs, opts ...pulumi.ResourceOption) (*BasicDefenseThreshold, error)

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

func (*BasicDefenseThreshold) ElementType

func (*BasicDefenseThreshold) ElementType() reflect.Type

func (*BasicDefenseThreshold) ToBasicDefenseThresholdOutput

func (i *BasicDefenseThreshold) ToBasicDefenseThresholdOutput() BasicDefenseThresholdOutput

func (*BasicDefenseThreshold) ToBasicDefenseThresholdOutputWithContext

func (i *BasicDefenseThreshold) ToBasicDefenseThresholdOutputWithContext(ctx context.Context) BasicDefenseThresholdOutput

type BasicDefenseThresholdArgs

type BasicDefenseThresholdArgs struct {
	// Specifies the traffic scrubbing threshold. Unit: Mbit/s. The traffic scrubbing threshold cannot exceed the peak inbound or outbound Internet traffic, whichever is larger, of the asset.
	Bps pulumi.IntPtrInput
	// The type of the threshold to query. Valid values: `defense`,`blackhole`.
	// -`defense` - scrubbing threshold.
	// -`blackhole` - DDoS mitigation threshold.
	DdosType pulumi.StringInput
	// The ID of the instance.
	InstanceId pulumi.StringInput
	// The instance type of the public IP address asset. Value: `ecs`,`slb`,`eip`.
	InstanceType pulumi.StringInput
	// The Internet IP address.
	InternetIp pulumi.StringPtrInput
	// Whether it is the system default threshold. Value:
	// - `true`: indicates yes, that is, the DDoS protection service dynamically adjusts the cleaning threshold according to the traffic load of the cloud server.
	// - `false`: indicates no, that is, you manually set the cleaning threshold.
	IsAuto pulumi.BoolPtrInput
	// The current message number cleaning threshold. Unit: pps.
	Pps pulumi.IntPtrInput
}

The set of arguments for constructing a BasicDefenseThreshold resource.

func (BasicDefenseThresholdArgs) ElementType

func (BasicDefenseThresholdArgs) ElementType() reflect.Type

type BasicDefenseThresholdArray

type BasicDefenseThresholdArray []BasicDefenseThresholdInput

func (BasicDefenseThresholdArray) ElementType

func (BasicDefenseThresholdArray) ElementType() reflect.Type

func (BasicDefenseThresholdArray) ToBasicDefenseThresholdArrayOutput

func (i BasicDefenseThresholdArray) ToBasicDefenseThresholdArrayOutput() BasicDefenseThresholdArrayOutput

func (BasicDefenseThresholdArray) ToBasicDefenseThresholdArrayOutputWithContext

func (i BasicDefenseThresholdArray) ToBasicDefenseThresholdArrayOutputWithContext(ctx context.Context) BasicDefenseThresholdArrayOutput

type BasicDefenseThresholdArrayInput

type BasicDefenseThresholdArrayInput interface {
	pulumi.Input

	ToBasicDefenseThresholdArrayOutput() BasicDefenseThresholdArrayOutput
	ToBasicDefenseThresholdArrayOutputWithContext(context.Context) BasicDefenseThresholdArrayOutput
}

BasicDefenseThresholdArrayInput is an input type that accepts BasicDefenseThresholdArray and BasicDefenseThresholdArrayOutput values. You can construct a concrete instance of `BasicDefenseThresholdArrayInput` via:

BasicDefenseThresholdArray{ BasicDefenseThresholdArgs{...} }

type BasicDefenseThresholdArrayOutput

type BasicDefenseThresholdArrayOutput struct{ *pulumi.OutputState }

func (BasicDefenseThresholdArrayOutput) ElementType

func (BasicDefenseThresholdArrayOutput) Index

func (BasicDefenseThresholdArrayOutput) ToBasicDefenseThresholdArrayOutput

func (o BasicDefenseThresholdArrayOutput) ToBasicDefenseThresholdArrayOutput() BasicDefenseThresholdArrayOutput

func (BasicDefenseThresholdArrayOutput) ToBasicDefenseThresholdArrayOutputWithContext

func (o BasicDefenseThresholdArrayOutput) ToBasicDefenseThresholdArrayOutputWithContext(ctx context.Context) BasicDefenseThresholdArrayOutput

type BasicDefenseThresholdInput

type BasicDefenseThresholdInput interface {
	pulumi.Input

	ToBasicDefenseThresholdOutput() BasicDefenseThresholdOutput
	ToBasicDefenseThresholdOutputWithContext(ctx context.Context) BasicDefenseThresholdOutput
}

type BasicDefenseThresholdMap

type BasicDefenseThresholdMap map[string]BasicDefenseThresholdInput

func (BasicDefenseThresholdMap) ElementType

func (BasicDefenseThresholdMap) ElementType() reflect.Type

func (BasicDefenseThresholdMap) ToBasicDefenseThresholdMapOutput

func (i BasicDefenseThresholdMap) ToBasicDefenseThresholdMapOutput() BasicDefenseThresholdMapOutput

func (BasicDefenseThresholdMap) ToBasicDefenseThresholdMapOutputWithContext

func (i BasicDefenseThresholdMap) ToBasicDefenseThresholdMapOutputWithContext(ctx context.Context) BasicDefenseThresholdMapOutput

type BasicDefenseThresholdMapInput

type BasicDefenseThresholdMapInput interface {
	pulumi.Input

	ToBasicDefenseThresholdMapOutput() BasicDefenseThresholdMapOutput
	ToBasicDefenseThresholdMapOutputWithContext(context.Context) BasicDefenseThresholdMapOutput
}

BasicDefenseThresholdMapInput is an input type that accepts BasicDefenseThresholdMap and BasicDefenseThresholdMapOutput values. You can construct a concrete instance of `BasicDefenseThresholdMapInput` via:

BasicDefenseThresholdMap{ "key": BasicDefenseThresholdArgs{...} }

type BasicDefenseThresholdMapOutput

type BasicDefenseThresholdMapOutput struct{ *pulumi.OutputState }

func (BasicDefenseThresholdMapOutput) ElementType

func (BasicDefenseThresholdMapOutput) MapIndex

func (BasicDefenseThresholdMapOutput) ToBasicDefenseThresholdMapOutput

func (o BasicDefenseThresholdMapOutput) ToBasicDefenseThresholdMapOutput() BasicDefenseThresholdMapOutput

func (BasicDefenseThresholdMapOutput) ToBasicDefenseThresholdMapOutputWithContext

func (o BasicDefenseThresholdMapOutput) ToBasicDefenseThresholdMapOutputWithContext(ctx context.Context) BasicDefenseThresholdMapOutput

type BasicDefenseThresholdOutput

type BasicDefenseThresholdOutput struct{ *pulumi.OutputState }

func (BasicDefenseThresholdOutput) Bps

Specifies the traffic scrubbing threshold. Unit: Mbit/s. The traffic scrubbing threshold cannot exceed the peak inbound or outbound Internet traffic, whichever is larger, of the asset.

func (BasicDefenseThresholdOutput) DdosType

The type of the threshold to query. Valid values: `defense`,`blackhole`. -`defense` - scrubbing threshold. -`blackhole` - DDoS mitigation threshold.

func (BasicDefenseThresholdOutput) ElementType

func (BasicDefenseThresholdOutput) InstanceId

The ID of the instance.

func (BasicDefenseThresholdOutput) InstanceType

The instance type of the public IP address asset. Value: `ecs`,`slb`,`eip`.

func (BasicDefenseThresholdOutput) InternetIp

The Internet IP address.

func (BasicDefenseThresholdOutput) IsAuto

Whether it is the system default threshold. Value: - `true`: indicates yes, that is, the DDoS protection service dynamically adjusts the cleaning threshold according to the traffic load of the cloud server. - `false`: indicates no, that is, you manually set the cleaning threshold.

func (BasicDefenseThresholdOutput) MaxBps

The maximum traffic scrubbing threshold. Unit: Mbit/s.

func (BasicDefenseThresholdOutput) MaxPps

The maximum packet scrubbing threshold. Unit: pps.

func (BasicDefenseThresholdOutput) Pps

The current message number cleaning threshold. Unit: pps.

func (BasicDefenseThresholdOutput) ToBasicDefenseThresholdOutput

func (o BasicDefenseThresholdOutput) ToBasicDefenseThresholdOutput() BasicDefenseThresholdOutput

func (BasicDefenseThresholdOutput) ToBasicDefenseThresholdOutputWithContext

func (o BasicDefenseThresholdOutput) ToBasicDefenseThresholdOutputWithContext(ctx context.Context) BasicDefenseThresholdOutput

type BasicDefenseThresholdState

type BasicDefenseThresholdState struct {
	// Specifies the traffic scrubbing threshold. Unit: Mbit/s. The traffic scrubbing threshold cannot exceed the peak inbound or outbound Internet traffic, whichever is larger, of the asset.
	Bps pulumi.IntPtrInput
	// The type of the threshold to query. Valid values: `defense`,`blackhole`.
	// -`defense` - scrubbing threshold.
	// -`blackhole` - DDoS mitigation threshold.
	DdosType pulumi.StringPtrInput
	// The ID of the instance.
	InstanceId pulumi.StringPtrInput
	// The instance type of the public IP address asset. Value: `ecs`,`slb`,`eip`.
	InstanceType pulumi.StringPtrInput
	// The Internet IP address.
	InternetIp pulumi.StringPtrInput
	// Whether it is the system default threshold. Value:
	// - `true`: indicates yes, that is, the DDoS protection service dynamically adjusts the cleaning threshold according to the traffic load of the cloud server.
	// - `false`: indicates no, that is, you manually set the cleaning threshold.
	IsAuto pulumi.BoolPtrInput
	// The maximum traffic scrubbing threshold. Unit: Mbit/s.
	MaxBps pulumi.IntPtrInput
	// The maximum packet scrubbing threshold. Unit: pps.
	MaxPps pulumi.IntPtrInput
	// The current message number cleaning threshold. Unit: pps.
	Pps pulumi.IntPtrInput
}

func (BasicDefenseThresholdState) ElementType

func (BasicDefenseThresholdState) ElementType() reflect.Type

type BgpIp

type BgpIp struct {
	pulumi.CustomResourceState

	// The ID of the native protection enterprise instance to be operated.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The IP address.
	Ip pulumi.StringOutput `pulumi:"ip"`
	// The ID of the resource group.
	ResourceGroupId pulumi.StringPtrOutput `pulumi:"resourceGroupId"`
	// The current state of the IP address. Valid Value: `normal`, `holeBegin`.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a Ddos Bgp Ip resource.

For information about Ddos Bgp Ip and how to use it, see [What is Ip](https://www.alibabacloud.com/help/en/ddos-protection/latest/addip).

> **NOTE:** Available in v1.180.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/ddos"
"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/resourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/ddos"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/ecs"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/resourcemanager"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultResourceGroups, err := resourcemanager.GetResourceGroups(ctx, nil, nil)
		if err != nil {
			return err
		}
		defaultEipAddress, err := ecs.NewEipAddress(ctx, "defaultEipAddress", &ecs.EipAddressArgs{
			AddressName: pulumi.Any(_var.Name),
		})
		if err != nil {
			return err
		}
		defaultDdosBgpInstances, err := ddos.GetDdosBgpInstances(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = ddos.NewBgpIp(ctx, "defaultBgpIp", &ddos.BgpIpArgs{
			InstanceId:      pulumi.String(defaultDdosBgpInstances.Ids[0]),
			Ip:              defaultEipAddress.IpAddress,
			ResourceGroupId: pulumi.String(defaultResourceGroups.Groups[0].Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Ddos Bgp Ip can be imported using the id, e.g.

```sh

$ pulumi import alicloud:ddos/bgpIp:BgpIp example <instance_id>:<ip>

```

func GetBgpIp

func GetBgpIp(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BgpIpState, opts ...pulumi.ResourceOption) (*BgpIp, error)

GetBgpIp gets an existing BgpIp 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 NewBgpIp

func NewBgpIp(ctx *pulumi.Context,
	name string, args *BgpIpArgs, opts ...pulumi.ResourceOption) (*BgpIp, error)

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

func (*BgpIp) ElementType

func (*BgpIp) ElementType() reflect.Type

func (*BgpIp) ToBgpIpOutput

func (i *BgpIp) ToBgpIpOutput() BgpIpOutput

func (*BgpIp) ToBgpIpOutputWithContext

func (i *BgpIp) ToBgpIpOutputWithContext(ctx context.Context) BgpIpOutput

type BgpIpArgs

type BgpIpArgs struct {
	// The ID of the native protection enterprise instance to be operated.
	InstanceId pulumi.StringInput
	// The IP address.
	Ip pulumi.StringInput
	// The ID of the resource group.
	ResourceGroupId pulumi.StringPtrInput
}

The set of arguments for constructing a BgpIp resource.

func (BgpIpArgs) ElementType

func (BgpIpArgs) ElementType() reflect.Type

type BgpIpArray

type BgpIpArray []BgpIpInput

func (BgpIpArray) ElementType

func (BgpIpArray) ElementType() reflect.Type

func (BgpIpArray) ToBgpIpArrayOutput

func (i BgpIpArray) ToBgpIpArrayOutput() BgpIpArrayOutput

func (BgpIpArray) ToBgpIpArrayOutputWithContext

func (i BgpIpArray) ToBgpIpArrayOutputWithContext(ctx context.Context) BgpIpArrayOutput

type BgpIpArrayInput

type BgpIpArrayInput interface {
	pulumi.Input

	ToBgpIpArrayOutput() BgpIpArrayOutput
	ToBgpIpArrayOutputWithContext(context.Context) BgpIpArrayOutput
}

BgpIpArrayInput is an input type that accepts BgpIpArray and BgpIpArrayOutput values. You can construct a concrete instance of `BgpIpArrayInput` via:

BgpIpArray{ BgpIpArgs{...} }

type BgpIpArrayOutput

type BgpIpArrayOutput struct{ *pulumi.OutputState }

func (BgpIpArrayOutput) ElementType

func (BgpIpArrayOutput) ElementType() reflect.Type

func (BgpIpArrayOutput) Index

func (BgpIpArrayOutput) ToBgpIpArrayOutput

func (o BgpIpArrayOutput) ToBgpIpArrayOutput() BgpIpArrayOutput

func (BgpIpArrayOutput) ToBgpIpArrayOutputWithContext

func (o BgpIpArrayOutput) ToBgpIpArrayOutputWithContext(ctx context.Context) BgpIpArrayOutput

type BgpIpInput

type BgpIpInput interface {
	pulumi.Input

	ToBgpIpOutput() BgpIpOutput
	ToBgpIpOutputWithContext(ctx context.Context) BgpIpOutput
}

type BgpIpMap

type BgpIpMap map[string]BgpIpInput

func (BgpIpMap) ElementType

func (BgpIpMap) ElementType() reflect.Type

func (BgpIpMap) ToBgpIpMapOutput

func (i BgpIpMap) ToBgpIpMapOutput() BgpIpMapOutput

func (BgpIpMap) ToBgpIpMapOutputWithContext

func (i BgpIpMap) ToBgpIpMapOutputWithContext(ctx context.Context) BgpIpMapOutput

type BgpIpMapInput

type BgpIpMapInput interface {
	pulumi.Input

	ToBgpIpMapOutput() BgpIpMapOutput
	ToBgpIpMapOutputWithContext(context.Context) BgpIpMapOutput
}

BgpIpMapInput is an input type that accepts BgpIpMap and BgpIpMapOutput values. You can construct a concrete instance of `BgpIpMapInput` via:

BgpIpMap{ "key": BgpIpArgs{...} }

type BgpIpMapOutput

type BgpIpMapOutput struct{ *pulumi.OutputState }

func (BgpIpMapOutput) ElementType

func (BgpIpMapOutput) ElementType() reflect.Type

func (BgpIpMapOutput) MapIndex

func (BgpIpMapOutput) ToBgpIpMapOutput

func (o BgpIpMapOutput) ToBgpIpMapOutput() BgpIpMapOutput

func (BgpIpMapOutput) ToBgpIpMapOutputWithContext

func (o BgpIpMapOutput) ToBgpIpMapOutputWithContext(ctx context.Context) BgpIpMapOutput

type BgpIpOutput

type BgpIpOutput struct{ *pulumi.OutputState }

func (BgpIpOutput) ElementType

func (BgpIpOutput) ElementType() reflect.Type

func (BgpIpOutput) InstanceId

func (o BgpIpOutput) InstanceId() pulumi.StringOutput

The ID of the native protection enterprise instance to be operated.

func (BgpIpOutput) Ip

The IP address.

func (BgpIpOutput) ResourceGroupId

func (o BgpIpOutput) ResourceGroupId() pulumi.StringPtrOutput

The ID of the resource group.

func (BgpIpOutput) Status

func (o BgpIpOutput) Status() pulumi.StringOutput

The current state of the IP address. Valid Value: `normal`, `holeBegin`.

func (BgpIpOutput) ToBgpIpOutput

func (o BgpIpOutput) ToBgpIpOutput() BgpIpOutput

func (BgpIpOutput) ToBgpIpOutputWithContext

func (o BgpIpOutput) ToBgpIpOutputWithContext(ctx context.Context) BgpIpOutput

type BgpIpState

type BgpIpState struct {
	// The ID of the native protection enterprise instance to be operated.
	InstanceId pulumi.StringPtrInput
	// The IP address.
	Ip pulumi.StringPtrInput
	// The ID of the resource group.
	ResourceGroupId pulumi.StringPtrInput
	// The current state of the IP address. Valid Value: `normal`, `holeBegin`.
	Status pulumi.StringPtrInput
}

func (BgpIpState) ElementType

func (BgpIpState) ElementType() reflect.Type

type DdosBgpInstance

type DdosBgpInstance struct {
	pulumi.CustomResourceState

	// Elastic defend bandwidth of the instance. This value must be larger than the base defend bandwidth. Valid values: 51,91,101,201,301. The unit is Gbps.
	Bandwidth pulumi.IntOutput `pulumi:"bandwidth"`
	// Base defend bandwidth of the instance. Valid values: 20. The unit is Gbps. Default to `20`.
	BaseBandwidth pulumi.IntPtrOutput `pulumi:"baseBandwidth"`
	// IP count of the instance. Valid values: 100.
	IpCount pulumi.IntOutput `pulumi:"ipCount"`
	// IP version of the instance. Valid values: IPv4,IPv6.
	IpType pulumi.StringOutput `pulumi:"ipType"`
	// Name of the instance. This name can have a string of 1 to 63 characters.
	Name pulumi.StringOutput `pulumi:"name"`
	// Normal defend bandwidth of the instance. The unit is Gbps.
	NormalBandwidth pulumi.IntOutput `pulumi:"normalBandwidth"`
	// The duration that you will buy Ddosbgp instance (in month). Valid values: [1~9], 12, 24, 36. Default to 12. At present, the provider does not support modify "period".
	Period pulumi.IntPtrOutput `pulumi:"period"`
	// Type of the instance. Valid values: `Enterprise`, `Professional`. Default to `Enterprise`
	Type pulumi.StringPtrOutput `pulumi:"type"`
}

Anti-DDoS Advanced instance resource. "Ddosbgp" is the short term of this product.

> **NOTE:** The endpoint of bssopenapi used only support "business.aliyuncs.com" at present.

> **NOTE:** Available in 1.183.0+ .

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/ddos"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ddos.NewDdosBgpInstance(ctx, "instance", &ddos.DdosBgpInstanceArgs{
			Bandwidth:       -1,
			BaseBandwidth:   pulumi.Int(20),
			IpCount:         pulumi.Int(100),
			IpType:          pulumi.String("IPv4"),
			NormalBandwidth: pulumi.Int(100),
			Type:            pulumi.String("Enterprise"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Ddosbgp instance can be imported using the id, e.g.

```sh

$ pulumi import alicloud:ddos/ddosBgpInstance:DdosBgpInstance example ddosbgp-abc123456

```

func GetDdosBgpInstance

func GetDdosBgpInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DdosBgpInstanceState, opts ...pulumi.ResourceOption) (*DdosBgpInstance, error)

GetDdosBgpInstance gets an existing DdosBgpInstance 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 NewDdosBgpInstance

func NewDdosBgpInstance(ctx *pulumi.Context,
	name string, args *DdosBgpInstanceArgs, opts ...pulumi.ResourceOption) (*DdosBgpInstance, error)

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

func (*DdosBgpInstance) ElementType

func (*DdosBgpInstance) ElementType() reflect.Type

func (*DdosBgpInstance) ToDdosBgpInstanceOutput

func (i *DdosBgpInstance) ToDdosBgpInstanceOutput() DdosBgpInstanceOutput

func (*DdosBgpInstance) ToDdosBgpInstanceOutputWithContext

func (i *DdosBgpInstance) ToDdosBgpInstanceOutputWithContext(ctx context.Context) DdosBgpInstanceOutput

type DdosBgpInstanceArgs

type DdosBgpInstanceArgs struct {
	// Elastic defend bandwidth of the instance. This value must be larger than the base defend bandwidth. Valid values: 51,91,101,201,301. The unit is Gbps.
	Bandwidth pulumi.IntInput
	// Base defend bandwidth of the instance. Valid values: 20. The unit is Gbps. Default to `20`.
	BaseBandwidth pulumi.IntPtrInput
	// IP count of the instance. Valid values: 100.
	IpCount pulumi.IntInput
	// IP version of the instance. Valid values: IPv4,IPv6.
	IpType pulumi.StringInput
	// Name of the instance. This name can have a string of 1 to 63 characters.
	Name pulumi.StringPtrInput
	// Normal defend bandwidth of the instance. The unit is Gbps.
	NormalBandwidth pulumi.IntInput
	// The duration that you will buy Ddosbgp instance (in month). Valid values: [1~9], 12, 24, 36. Default to 12. At present, the provider does not support modify "period".
	Period pulumi.IntPtrInput
	// Type of the instance. Valid values: `Enterprise`, `Professional`. Default to `Enterprise`
	Type pulumi.StringPtrInput
}

The set of arguments for constructing a DdosBgpInstance resource.

func (DdosBgpInstanceArgs) ElementType

func (DdosBgpInstanceArgs) ElementType() reflect.Type

type DdosBgpInstanceArray

type DdosBgpInstanceArray []DdosBgpInstanceInput

func (DdosBgpInstanceArray) ElementType

func (DdosBgpInstanceArray) ElementType() reflect.Type

func (DdosBgpInstanceArray) ToDdosBgpInstanceArrayOutput

func (i DdosBgpInstanceArray) ToDdosBgpInstanceArrayOutput() DdosBgpInstanceArrayOutput

func (DdosBgpInstanceArray) ToDdosBgpInstanceArrayOutputWithContext

func (i DdosBgpInstanceArray) ToDdosBgpInstanceArrayOutputWithContext(ctx context.Context) DdosBgpInstanceArrayOutput

type DdosBgpInstanceArrayInput

type DdosBgpInstanceArrayInput interface {
	pulumi.Input

	ToDdosBgpInstanceArrayOutput() DdosBgpInstanceArrayOutput
	ToDdosBgpInstanceArrayOutputWithContext(context.Context) DdosBgpInstanceArrayOutput
}

DdosBgpInstanceArrayInput is an input type that accepts DdosBgpInstanceArray and DdosBgpInstanceArrayOutput values. You can construct a concrete instance of `DdosBgpInstanceArrayInput` via:

DdosBgpInstanceArray{ DdosBgpInstanceArgs{...} }

type DdosBgpInstanceArrayOutput

type DdosBgpInstanceArrayOutput struct{ *pulumi.OutputState }

func (DdosBgpInstanceArrayOutput) ElementType

func (DdosBgpInstanceArrayOutput) ElementType() reflect.Type

func (DdosBgpInstanceArrayOutput) Index

func (DdosBgpInstanceArrayOutput) ToDdosBgpInstanceArrayOutput

func (o DdosBgpInstanceArrayOutput) ToDdosBgpInstanceArrayOutput() DdosBgpInstanceArrayOutput

func (DdosBgpInstanceArrayOutput) ToDdosBgpInstanceArrayOutputWithContext

func (o DdosBgpInstanceArrayOutput) ToDdosBgpInstanceArrayOutputWithContext(ctx context.Context) DdosBgpInstanceArrayOutput

type DdosBgpInstanceInput

type DdosBgpInstanceInput interface {
	pulumi.Input

	ToDdosBgpInstanceOutput() DdosBgpInstanceOutput
	ToDdosBgpInstanceOutputWithContext(ctx context.Context) DdosBgpInstanceOutput
}

type DdosBgpInstanceMap

type DdosBgpInstanceMap map[string]DdosBgpInstanceInput

func (DdosBgpInstanceMap) ElementType

func (DdosBgpInstanceMap) ElementType() reflect.Type

func (DdosBgpInstanceMap) ToDdosBgpInstanceMapOutput

func (i DdosBgpInstanceMap) ToDdosBgpInstanceMapOutput() DdosBgpInstanceMapOutput

func (DdosBgpInstanceMap) ToDdosBgpInstanceMapOutputWithContext

func (i DdosBgpInstanceMap) ToDdosBgpInstanceMapOutputWithContext(ctx context.Context) DdosBgpInstanceMapOutput

type DdosBgpInstanceMapInput

type DdosBgpInstanceMapInput interface {
	pulumi.Input

	ToDdosBgpInstanceMapOutput() DdosBgpInstanceMapOutput
	ToDdosBgpInstanceMapOutputWithContext(context.Context) DdosBgpInstanceMapOutput
}

DdosBgpInstanceMapInput is an input type that accepts DdosBgpInstanceMap and DdosBgpInstanceMapOutput values. You can construct a concrete instance of `DdosBgpInstanceMapInput` via:

DdosBgpInstanceMap{ "key": DdosBgpInstanceArgs{...} }

type DdosBgpInstanceMapOutput

type DdosBgpInstanceMapOutput struct{ *pulumi.OutputState }

func (DdosBgpInstanceMapOutput) ElementType

func (DdosBgpInstanceMapOutput) ElementType() reflect.Type

func (DdosBgpInstanceMapOutput) MapIndex

func (DdosBgpInstanceMapOutput) ToDdosBgpInstanceMapOutput

func (o DdosBgpInstanceMapOutput) ToDdosBgpInstanceMapOutput() DdosBgpInstanceMapOutput

func (DdosBgpInstanceMapOutput) ToDdosBgpInstanceMapOutputWithContext

func (o DdosBgpInstanceMapOutput) ToDdosBgpInstanceMapOutputWithContext(ctx context.Context) DdosBgpInstanceMapOutput

type DdosBgpInstanceOutput

type DdosBgpInstanceOutput struct{ *pulumi.OutputState }

func (DdosBgpInstanceOutput) Bandwidth

func (o DdosBgpInstanceOutput) Bandwidth() pulumi.IntOutput

Elastic defend bandwidth of the instance. This value must be larger than the base defend bandwidth. Valid values: 51,91,101,201,301. The unit is Gbps.

func (DdosBgpInstanceOutput) BaseBandwidth

func (o DdosBgpInstanceOutput) BaseBandwidth() pulumi.IntPtrOutput

Base defend bandwidth of the instance. Valid values: 20. The unit is Gbps. Default to `20`.

func (DdosBgpInstanceOutput) ElementType

func (DdosBgpInstanceOutput) ElementType() reflect.Type

func (DdosBgpInstanceOutput) IpCount

IP count of the instance. Valid values: 100.

func (DdosBgpInstanceOutput) IpType

IP version of the instance. Valid values: IPv4,IPv6.

func (DdosBgpInstanceOutput) Name

Name of the instance. This name can have a string of 1 to 63 characters.

func (DdosBgpInstanceOutput) NormalBandwidth

func (o DdosBgpInstanceOutput) NormalBandwidth() pulumi.IntOutput

Normal defend bandwidth of the instance. The unit is Gbps.

func (DdosBgpInstanceOutput) Period

The duration that you will buy Ddosbgp instance (in month). Valid values: [1~9], 12, 24, 36. Default to 12. At present, the provider does not support modify "period".

func (DdosBgpInstanceOutput) ToDdosBgpInstanceOutput

func (o DdosBgpInstanceOutput) ToDdosBgpInstanceOutput() DdosBgpInstanceOutput

func (DdosBgpInstanceOutput) ToDdosBgpInstanceOutputWithContext

func (o DdosBgpInstanceOutput) ToDdosBgpInstanceOutputWithContext(ctx context.Context) DdosBgpInstanceOutput

func (DdosBgpInstanceOutput) Type

Type of the instance. Valid values: `Enterprise`, `Professional`. Default to `Enterprise`

type DdosBgpInstanceState

type DdosBgpInstanceState struct {
	// Elastic defend bandwidth of the instance. This value must be larger than the base defend bandwidth. Valid values: 51,91,101,201,301. The unit is Gbps.
	Bandwidth pulumi.IntPtrInput
	// Base defend bandwidth of the instance. Valid values: 20. The unit is Gbps. Default to `20`.
	BaseBandwidth pulumi.IntPtrInput
	// IP count of the instance. Valid values: 100.
	IpCount pulumi.IntPtrInput
	// IP version of the instance. Valid values: IPv4,IPv6.
	IpType pulumi.StringPtrInput
	// Name of the instance. This name can have a string of 1 to 63 characters.
	Name pulumi.StringPtrInput
	// Normal defend bandwidth of the instance. The unit is Gbps.
	NormalBandwidth pulumi.IntPtrInput
	// The duration that you will buy Ddosbgp instance (in month). Valid values: [1~9], 12, 24, 36. Default to 12. At present, the provider does not support modify "period".
	Period pulumi.IntPtrInput
	// Type of the instance. Valid values: `Enterprise`, `Professional`. Default to `Enterprise`
	Type pulumi.StringPtrInput
}

func (DdosBgpInstanceState) ElementType

func (DdosBgpInstanceState) ElementType() reflect.Type

type DdosCooInstance

type DdosCooInstance struct {
	pulumi.CustomResourceState

	// Elastic defend bandwidth of the instance. This value must be larger than the base defend bandwidth. Valid values: 30, 60, 100, 300, 400, 500, 600. The unit is Gbps. Only support upgrade.
	Bandwidth pulumi.StringOutput `pulumi:"bandwidth"`
	// Base defend bandwidth of the instance. Valid values: 30, 60, 100, 300, 400, 500, 600. The unit is Gbps. Only support upgrade.
	BaseBandwidth pulumi.StringOutput `pulumi:"baseBandwidth"`
	// Domain retransmission rule count of the instance. At least 50. Increase 5 per step, such as 55, 60, 65. Only support upgrade.
	DomainCount pulumi.StringOutput `pulumi:"domainCount"`
	// Name of the instance. This name can have a string of 1 to 63 characters.
	Name pulumi.StringOutput `pulumi:"name"`
	// The duration that you will buy Ddoscoo instance (in month). Valid values: [1~9], 12, 24, 36. Default to 1. At present, the provider does not support modify "period".
	Period pulumi.IntPtrOutput `pulumi:"period"`
	// Port retransmission rule count of the instance. At least 50. Increase 5 per step, such as 55, 60, 65. Only support upgrade.
	PortCount pulumi.StringOutput `pulumi:"portCount"`
	// The product type for purchasing DDOSCOO instances used to differ different account type. Valid values:
	// - ddoscoo: Only supports domestic account.
	// - ddoscoo_intl: Only supports to international account.
	//   Default to ddoscoo.
	ProductType pulumi.StringPtrOutput `pulumi:"productType"`
	// Business bandwidth of the instance. At leaset 100. Increased 100 per step, such as 100, 200, 300. The unit is Mbps. Only support upgrade.
	ServiceBandwidth pulumi.StringOutput `pulumi:"serviceBandwidth"`
}

BGP-Line Anti-DDoS instance resource. "Ddoscoo" is the short term of this product. See [What is Anti-DDoS Pro](https://www.alibabacloud.com/help/doc-detail/69319.htm).

> **NOTE:** The product region only support cn-hangzhou.

> **NOTE:** The endpoint of bssopenapi used only support "business.aliyuncs.com" at present.

> **NOTE:** Available in 1.37.0+ .

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/ddos"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ddos.NewDdosCooInstance(ctx, "newInstance", &ddos.DdosCooInstanceArgs{
			Bandwidth:        pulumi.String("30"),
			BaseBandwidth:    pulumi.String("30"),
			DomainCount:      pulumi.String("50"),
			Period:           pulumi.Int(1),
			PortCount:        pulumi.String("50"),
			ProductType:      pulumi.String("ddoscoo"),
			ServiceBandwidth: pulumi.String("100"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Ddoscoo instance can be imported using the id, e.g.

```sh

$ pulumi import alicloud:ddos/ddosCooInstance:DdosCooInstance example ddoscoo-cn-123456

```

func GetDdosCooInstance

func GetDdosCooInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DdosCooInstanceState, opts ...pulumi.ResourceOption) (*DdosCooInstance, error)

GetDdosCooInstance gets an existing DdosCooInstance 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 NewDdosCooInstance

func NewDdosCooInstance(ctx *pulumi.Context,
	name string, args *DdosCooInstanceArgs, opts ...pulumi.ResourceOption) (*DdosCooInstance, error)

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

func (*DdosCooInstance) ElementType

func (*DdosCooInstance) ElementType() reflect.Type

func (*DdosCooInstance) ToDdosCooInstanceOutput

func (i *DdosCooInstance) ToDdosCooInstanceOutput() DdosCooInstanceOutput

func (*DdosCooInstance) ToDdosCooInstanceOutputWithContext

func (i *DdosCooInstance) ToDdosCooInstanceOutputWithContext(ctx context.Context) DdosCooInstanceOutput

type DdosCooInstanceArgs

type DdosCooInstanceArgs struct {
	// Elastic defend bandwidth of the instance. This value must be larger than the base defend bandwidth. Valid values: 30, 60, 100, 300, 400, 500, 600. The unit is Gbps. Only support upgrade.
	Bandwidth pulumi.StringInput
	// Base defend bandwidth of the instance. Valid values: 30, 60, 100, 300, 400, 500, 600. The unit is Gbps. Only support upgrade.
	BaseBandwidth pulumi.StringInput
	// Domain retransmission rule count of the instance. At least 50. Increase 5 per step, such as 55, 60, 65. Only support upgrade.
	DomainCount pulumi.StringInput
	// Name of the instance. This name can have a string of 1 to 63 characters.
	Name pulumi.StringPtrInput
	// The duration that you will buy Ddoscoo instance (in month). Valid values: [1~9], 12, 24, 36. Default to 1. At present, the provider does not support modify "period".
	Period pulumi.IntPtrInput
	// Port retransmission rule count of the instance. At least 50. Increase 5 per step, such as 55, 60, 65. Only support upgrade.
	PortCount pulumi.StringInput
	// The product type for purchasing DDOSCOO instances used to differ different account type. Valid values:
	// - ddoscoo: Only supports domestic account.
	// - ddoscoo_intl: Only supports to international account.
	//   Default to ddoscoo.
	ProductType pulumi.StringPtrInput
	// Business bandwidth of the instance. At leaset 100. Increased 100 per step, such as 100, 200, 300. The unit is Mbps. Only support upgrade.
	ServiceBandwidth pulumi.StringInput
}

The set of arguments for constructing a DdosCooInstance resource.

func (DdosCooInstanceArgs) ElementType

func (DdosCooInstanceArgs) ElementType() reflect.Type

type DdosCooInstanceArray

type DdosCooInstanceArray []DdosCooInstanceInput

func (DdosCooInstanceArray) ElementType

func (DdosCooInstanceArray) ElementType() reflect.Type

func (DdosCooInstanceArray) ToDdosCooInstanceArrayOutput

func (i DdosCooInstanceArray) ToDdosCooInstanceArrayOutput() DdosCooInstanceArrayOutput

func (DdosCooInstanceArray) ToDdosCooInstanceArrayOutputWithContext

func (i DdosCooInstanceArray) ToDdosCooInstanceArrayOutputWithContext(ctx context.Context) DdosCooInstanceArrayOutput

type DdosCooInstanceArrayInput

type DdosCooInstanceArrayInput interface {
	pulumi.Input

	ToDdosCooInstanceArrayOutput() DdosCooInstanceArrayOutput
	ToDdosCooInstanceArrayOutputWithContext(context.Context) DdosCooInstanceArrayOutput
}

DdosCooInstanceArrayInput is an input type that accepts DdosCooInstanceArray and DdosCooInstanceArrayOutput values. You can construct a concrete instance of `DdosCooInstanceArrayInput` via:

DdosCooInstanceArray{ DdosCooInstanceArgs{...} }

type DdosCooInstanceArrayOutput

type DdosCooInstanceArrayOutput struct{ *pulumi.OutputState }

func (DdosCooInstanceArrayOutput) ElementType

func (DdosCooInstanceArrayOutput) ElementType() reflect.Type

func (DdosCooInstanceArrayOutput) Index

func (DdosCooInstanceArrayOutput) ToDdosCooInstanceArrayOutput

func (o DdosCooInstanceArrayOutput) ToDdosCooInstanceArrayOutput() DdosCooInstanceArrayOutput

func (DdosCooInstanceArrayOutput) ToDdosCooInstanceArrayOutputWithContext

func (o DdosCooInstanceArrayOutput) ToDdosCooInstanceArrayOutputWithContext(ctx context.Context) DdosCooInstanceArrayOutput

type DdosCooInstanceInput

type DdosCooInstanceInput interface {
	pulumi.Input

	ToDdosCooInstanceOutput() DdosCooInstanceOutput
	ToDdosCooInstanceOutputWithContext(ctx context.Context) DdosCooInstanceOutput
}

type DdosCooInstanceMap

type DdosCooInstanceMap map[string]DdosCooInstanceInput

func (DdosCooInstanceMap) ElementType

func (DdosCooInstanceMap) ElementType() reflect.Type

func (DdosCooInstanceMap) ToDdosCooInstanceMapOutput

func (i DdosCooInstanceMap) ToDdosCooInstanceMapOutput() DdosCooInstanceMapOutput

func (DdosCooInstanceMap) ToDdosCooInstanceMapOutputWithContext

func (i DdosCooInstanceMap) ToDdosCooInstanceMapOutputWithContext(ctx context.Context) DdosCooInstanceMapOutput

type DdosCooInstanceMapInput

type DdosCooInstanceMapInput interface {
	pulumi.Input

	ToDdosCooInstanceMapOutput() DdosCooInstanceMapOutput
	ToDdosCooInstanceMapOutputWithContext(context.Context) DdosCooInstanceMapOutput
}

DdosCooInstanceMapInput is an input type that accepts DdosCooInstanceMap and DdosCooInstanceMapOutput values. You can construct a concrete instance of `DdosCooInstanceMapInput` via:

DdosCooInstanceMap{ "key": DdosCooInstanceArgs{...} }

type DdosCooInstanceMapOutput

type DdosCooInstanceMapOutput struct{ *pulumi.OutputState }

func (DdosCooInstanceMapOutput) ElementType

func (DdosCooInstanceMapOutput) ElementType() reflect.Type

func (DdosCooInstanceMapOutput) MapIndex

func (DdosCooInstanceMapOutput) ToDdosCooInstanceMapOutput

func (o DdosCooInstanceMapOutput) ToDdosCooInstanceMapOutput() DdosCooInstanceMapOutput

func (DdosCooInstanceMapOutput) ToDdosCooInstanceMapOutputWithContext

func (o DdosCooInstanceMapOutput) ToDdosCooInstanceMapOutputWithContext(ctx context.Context) DdosCooInstanceMapOutput

type DdosCooInstanceOutput

type DdosCooInstanceOutput struct{ *pulumi.OutputState }

func (DdosCooInstanceOutput) Bandwidth

Elastic defend bandwidth of the instance. This value must be larger than the base defend bandwidth. Valid values: 30, 60, 100, 300, 400, 500, 600. The unit is Gbps. Only support upgrade.

func (DdosCooInstanceOutput) BaseBandwidth

func (o DdosCooInstanceOutput) BaseBandwidth() pulumi.StringOutput

Base defend bandwidth of the instance. Valid values: 30, 60, 100, 300, 400, 500, 600. The unit is Gbps. Only support upgrade.

func (DdosCooInstanceOutput) DomainCount

func (o DdosCooInstanceOutput) DomainCount() pulumi.StringOutput

Domain retransmission rule count of the instance. At least 50. Increase 5 per step, such as 55, 60, 65. Only support upgrade.

func (DdosCooInstanceOutput) ElementType

func (DdosCooInstanceOutput) ElementType() reflect.Type

func (DdosCooInstanceOutput) Name

Name of the instance. This name can have a string of 1 to 63 characters.

func (DdosCooInstanceOutput) Period

The duration that you will buy Ddoscoo instance (in month). Valid values: [1~9], 12, 24, 36. Default to 1. At present, the provider does not support modify "period".

func (DdosCooInstanceOutput) PortCount

Port retransmission rule count of the instance. At least 50. Increase 5 per step, such as 55, 60, 65. Only support upgrade.

func (DdosCooInstanceOutput) ProductType

The product type for purchasing DDOSCOO instances used to differ different account type. Valid values:

  • ddoscoo: Only supports domestic account.
  • ddoscoo_intl: Only supports to international account. Default to ddoscoo.

func (DdosCooInstanceOutput) ServiceBandwidth

func (o DdosCooInstanceOutput) ServiceBandwidth() pulumi.StringOutput

Business bandwidth of the instance. At leaset 100. Increased 100 per step, such as 100, 200, 300. The unit is Mbps. Only support upgrade.

func (DdosCooInstanceOutput) ToDdosCooInstanceOutput

func (o DdosCooInstanceOutput) ToDdosCooInstanceOutput() DdosCooInstanceOutput

func (DdosCooInstanceOutput) ToDdosCooInstanceOutputWithContext

func (o DdosCooInstanceOutput) ToDdosCooInstanceOutputWithContext(ctx context.Context) DdosCooInstanceOutput

type DdosCooInstanceState

type DdosCooInstanceState struct {
	// Elastic defend bandwidth of the instance. This value must be larger than the base defend bandwidth. Valid values: 30, 60, 100, 300, 400, 500, 600. The unit is Gbps. Only support upgrade.
	Bandwidth pulumi.StringPtrInput
	// Base defend bandwidth of the instance. Valid values: 30, 60, 100, 300, 400, 500, 600. The unit is Gbps. Only support upgrade.
	BaseBandwidth pulumi.StringPtrInput
	// Domain retransmission rule count of the instance. At least 50. Increase 5 per step, such as 55, 60, 65. Only support upgrade.
	DomainCount pulumi.StringPtrInput
	// Name of the instance. This name can have a string of 1 to 63 characters.
	Name pulumi.StringPtrInput
	// The duration that you will buy Ddoscoo instance (in month). Valid values: [1~9], 12, 24, 36. Default to 1. At present, the provider does not support modify "period".
	Period pulumi.IntPtrInput
	// Port retransmission rule count of the instance. At least 50. Increase 5 per step, such as 55, 60, 65. Only support upgrade.
	PortCount pulumi.StringPtrInput
	// The product type for purchasing DDOSCOO instances used to differ different account type. Valid values:
	// - ddoscoo: Only supports domestic account.
	// - ddoscoo_intl: Only supports to international account.
	//   Default to ddoscoo.
	ProductType pulumi.StringPtrInput
	// Business bandwidth of the instance. At leaset 100. Increased 100 per step, such as 100, 200, 300. The unit is Mbps. Only support upgrade.
	ServiceBandwidth pulumi.StringPtrInput
}

func (DdosCooInstanceState) ElementType

func (DdosCooInstanceState) ElementType() reflect.Type

type GetDdosBgpInstancesArgs

type GetDdosBgpInstancesArgs struct {
	// A list of instance IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by the instance name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getDdosBgpInstances.

type GetDdosBgpInstancesInstance

type GetDdosBgpInstancesInstance struct {
	// The instance's elastic defend bandwidth.
	Bandwidth int `pulumi:"bandwidth"`
	// The instance's base defend bandwidth.
	BaseBandwidth int `pulumi:"baseBandwidth"`
	// The instance's id.
	Id string `pulumi:"id"`
	// The instance's count of ip config.
	IpCount int `pulumi:"ipCount"`
	// The instance's IP version.
	IpType string `pulumi:"ipType"`
	// The instance's remark.
	Name string `pulumi:"name"`
	// Normal defend bandwidth of the instance. The unit is Gbps.
	NormalBandwidth int `pulumi:"normalBandwidth"`
	// A region of instance.
	Region string `pulumi:"region"`
	// The instance's type.
	Type string `pulumi:"type"`
}

type GetDdosBgpInstancesInstanceArgs

type GetDdosBgpInstancesInstanceArgs struct {
	// The instance's elastic defend bandwidth.
	Bandwidth pulumi.IntInput `pulumi:"bandwidth"`
	// The instance's base defend bandwidth.
	BaseBandwidth pulumi.IntInput `pulumi:"baseBandwidth"`
	// The instance's id.
	Id pulumi.StringInput `pulumi:"id"`
	// The instance's count of ip config.
	IpCount pulumi.IntInput `pulumi:"ipCount"`
	// The instance's IP version.
	IpType pulumi.StringInput `pulumi:"ipType"`
	// The instance's remark.
	Name pulumi.StringInput `pulumi:"name"`
	// Normal defend bandwidth of the instance. The unit is Gbps.
	NormalBandwidth pulumi.IntInput `pulumi:"normalBandwidth"`
	// A region of instance.
	Region pulumi.StringInput `pulumi:"region"`
	// The instance's type.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetDdosBgpInstancesInstanceArgs) ElementType

func (GetDdosBgpInstancesInstanceArgs) ToGetDdosBgpInstancesInstanceOutput

func (i GetDdosBgpInstancesInstanceArgs) ToGetDdosBgpInstancesInstanceOutput() GetDdosBgpInstancesInstanceOutput

func (GetDdosBgpInstancesInstanceArgs) ToGetDdosBgpInstancesInstanceOutputWithContext

func (i GetDdosBgpInstancesInstanceArgs) ToGetDdosBgpInstancesInstanceOutputWithContext(ctx context.Context) GetDdosBgpInstancesInstanceOutput

type GetDdosBgpInstancesInstanceArray

type GetDdosBgpInstancesInstanceArray []GetDdosBgpInstancesInstanceInput

func (GetDdosBgpInstancesInstanceArray) ElementType

func (GetDdosBgpInstancesInstanceArray) ToGetDdosBgpInstancesInstanceArrayOutput

func (i GetDdosBgpInstancesInstanceArray) ToGetDdosBgpInstancesInstanceArrayOutput() GetDdosBgpInstancesInstanceArrayOutput

func (GetDdosBgpInstancesInstanceArray) ToGetDdosBgpInstancesInstanceArrayOutputWithContext

func (i GetDdosBgpInstancesInstanceArray) ToGetDdosBgpInstancesInstanceArrayOutputWithContext(ctx context.Context) GetDdosBgpInstancesInstanceArrayOutput

type GetDdosBgpInstancesInstanceArrayInput

type GetDdosBgpInstancesInstanceArrayInput interface {
	pulumi.Input

	ToGetDdosBgpInstancesInstanceArrayOutput() GetDdosBgpInstancesInstanceArrayOutput
	ToGetDdosBgpInstancesInstanceArrayOutputWithContext(context.Context) GetDdosBgpInstancesInstanceArrayOutput
}

GetDdosBgpInstancesInstanceArrayInput is an input type that accepts GetDdosBgpInstancesInstanceArray and GetDdosBgpInstancesInstanceArrayOutput values. You can construct a concrete instance of `GetDdosBgpInstancesInstanceArrayInput` via:

GetDdosBgpInstancesInstanceArray{ GetDdosBgpInstancesInstanceArgs{...} }

type GetDdosBgpInstancesInstanceArrayOutput

type GetDdosBgpInstancesInstanceArrayOutput struct{ *pulumi.OutputState }

func (GetDdosBgpInstancesInstanceArrayOutput) ElementType

func (GetDdosBgpInstancesInstanceArrayOutput) Index

func (GetDdosBgpInstancesInstanceArrayOutput) ToGetDdosBgpInstancesInstanceArrayOutput

func (o GetDdosBgpInstancesInstanceArrayOutput) ToGetDdosBgpInstancesInstanceArrayOutput() GetDdosBgpInstancesInstanceArrayOutput

func (GetDdosBgpInstancesInstanceArrayOutput) ToGetDdosBgpInstancesInstanceArrayOutputWithContext

func (o GetDdosBgpInstancesInstanceArrayOutput) ToGetDdosBgpInstancesInstanceArrayOutputWithContext(ctx context.Context) GetDdosBgpInstancesInstanceArrayOutput

type GetDdosBgpInstancesInstanceInput

type GetDdosBgpInstancesInstanceInput interface {
	pulumi.Input

	ToGetDdosBgpInstancesInstanceOutput() GetDdosBgpInstancesInstanceOutput
	ToGetDdosBgpInstancesInstanceOutputWithContext(context.Context) GetDdosBgpInstancesInstanceOutput
}

GetDdosBgpInstancesInstanceInput is an input type that accepts GetDdosBgpInstancesInstanceArgs and GetDdosBgpInstancesInstanceOutput values. You can construct a concrete instance of `GetDdosBgpInstancesInstanceInput` via:

GetDdosBgpInstancesInstanceArgs{...}

type GetDdosBgpInstancesInstanceOutput

type GetDdosBgpInstancesInstanceOutput struct{ *pulumi.OutputState }

func (GetDdosBgpInstancesInstanceOutput) Bandwidth

The instance's elastic defend bandwidth.

func (GetDdosBgpInstancesInstanceOutput) BaseBandwidth

The instance's base defend bandwidth.

func (GetDdosBgpInstancesInstanceOutput) ElementType

func (GetDdosBgpInstancesInstanceOutput) Id

The instance's id.

func (GetDdosBgpInstancesInstanceOutput) IpCount

The instance's count of ip config.

func (GetDdosBgpInstancesInstanceOutput) IpType

The instance's IP version.

func (GetDdosBgpInstancesInstanceOutput) Name

The instance's remark.

func (GetDdosBgpInstancesInstanceOutput) NormalBandwidth

Normal defend bandwidth of the instance. The unit is Gbps.

func (GetDdosBgpInstancesInstanceOutput) Region

A region of instance.

func (GetDdosBgpInstancesInstanceOutput) ToGetDdosBgpInstancesInstanceOutput

func (o GetDdosBgpInstancesInstanceOutput) ToGetDdosBgpInstancesInstanceOutput() GetDdosBgpInstancesInstanceOutput

func (GetDdosBgpInstancesInstanceOutput) ToGetDdosBgpInstancesInstanceOutputWithContext

func (o GetDdosBgpInstancesInstanceOutput) ToGetDdosBgpInstancesInstanceOutputWithContext(ctx context.Context) GetDdosBgpInstancesInstanceOutput

func (GetDdosBgpInstancesInstanceOutput) Type

The instance's type.

type GetDdosBgpInstancesOutputArgs

type GetDdosBgpInstancesOutputArgs struct {
	// A list of instance IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by the instance name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getDdosBgpInstances.

func (GetDdosBgpInstancesOutputArgs) ElementType

type GetDdosBgpInstancesResult

type GetDdosBgpInstancesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of instance IDs.
	Ids []string `pulumi:"ids"`
	// A list of apis. Each element contains the following attributes:
	Instances []GetDdosBgpInstancesInstance `pulumi:"instances"`
	NameRegex *string                       `pulumi:"nameRegex"`
	// A list of instance names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
}

A collection of values returned by getDdosBgpInstances.

func GetDdosBgpInstances

func GetDdosBgpInstances(ctx *pulumi.Context, args *GetDdosBgpInstancesArgs, opts ...pulumi.InvokeOption) (*GetDdosBgpInstancesResult, error)

This data source provides a list of Anti-DDoS Advanced instances in an Alibaba Cloud account according to the specified filters.

> **NOTE:** Available in 1.183.0+ .

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/ddos"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/ddos"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ddos.GetDdosBgpInstances(ctx, &ddos.GetDdosBgpInstancesArgs{
			NameRegex: pulumi.StringRef("^ddosbgp"),
		}, nil)
		if err != nil {
			return err
		}
		var splat0 []interface{}
		for _, val0 := range alicloud_ddosbgp_instances.Instance {
			splat0 = append(splat0, val0.Id)
		}
		ctx.Export("instance", splat0)
		return nil
	})
}

```

type GetDdosBgpInstancesResultOutput

type GetDdosBgpInstancesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDdosBgpInstances.

func (GetDdosBgpInstancesResultOutput) ElementType

func (GetDdosBgpInstancesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetDdosBgpInstancesResultOutput) Ids

A list of instance IDs.

func (GetDdosBgpInstancesResultOutput) Instances

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

func (GetDdosBgpInstancesResultOutput) NameRegex

func (GetDdosBgpInstancesResultOutput) Names

A list of instance names.

func (GetDdosBgpInstancesResultOutput) OutputFile

func (GetDdosBgpInstancesResultOutput) ToGetDdosBgpInstancesResultOutput

func (o GetDdosBgpInstancesResultOutput) ToGetDdosBgpInstancesResultOutput() GetDdosBgpInstancesResultOutput

func (GetDdosBgpInstancesResultOutput) ToGetDdosBgpInstancesResultOutputWithContext

func (o GetDdosBgpInstancesResultOutput) ToGetDdosBgpInstancesResultOutputWithContext(ctx context.Context) GetDdosBgpInstancesResultOutput

type GetDdosBgpIpsArgs

type GetDdosBgpIpsArgs struct {
	// A list of Ip IDs.
	Ids []string `pulumi:"ids"`
	// The ID of the native protection enterprise instance to be operated.
	InstanceId string  `pulumi:"instanceId"`
	OutputFile *string `pulumi:"outputFile"`
	PageNumber *int    `pulumi:"pageNumber"`
	PageSize   *int    `pulumi:"pageSize"`
	// The product name. Valid Value:`ECS`, `SLB`, `EIP`, `WAF`.
	ProductName *string `pulumi:"productName"`
	// The current state of the IP address.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getDdosBgpIps.

type GetDdosBgpIpsIp

type GetDdosBgpIpsIp struct {
	// The ID of the Ip. The value formats as `<instance_id>:<ip>`.
	Id string `pulumi:"id"`
	// The ID of the native protection enterprise instance to be operated.
	InstanceId string `pulumi:"instanceId"`
	// The IP address.
	Ip string `pulumi:"ip"`
	// The type of cloud asset to which the IP address belongs.
	Product string `pulumi:"product"`
	// The current state of the IP address.
	Status string `pulumi:"status"`
}

type GetDdosBgpIpsIpArgs

type GetDdosBgpIpsIpArgs struct {
	// The ID of the Ip. The value formats as `<instance_id>:<ip>`.
	Id pulumi.StringInput `pulumi:"id"`
	// The ID of the native protection enterprise instance to be operated.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// The IP address.
	Ip pulumi.StringInput `pulumi:"ip"`
	// The type of cloud asset to which the IP address belongs.
	Product pulumi.StringInput `pulumi:"product"`
	// The current state of the IP address.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetDdosBgpIpsIpArgs) ElementType

func (GetDdosBgpIpsIpArgs) ElementType() reflect.Type

func (GetDdosBgpIpsIpArgs) ToGetDdosBgpIpsIpOutput

func (i GetDdosBgpIpsIpArgs) ToGetDdosBgpIpsIpOutput() GetDdosBgpIpsIpOutput

func (GetDdosBgpIpsIpArgs) ToGetDdosBgpIpsIpOutputWithContext

func (i GetDdosBgpIpsIpArgs) ToGetDdosBgpIpsIpOutputWithContext(ctx context.Context) GetDdosBgpIpsIpOutput

type GetDdosBgpIpsIpArray

type GetDdosBgpIpsIpArray []GetDdosBgpIpsIpInput

func (GetDdosBgpIpsIpArray) ElementType

func (GetDdosBgpIpsIpArray) ElementType() reflect.Type

func (GetDdosBgpIpsIpArray) ToGetDdosBgpIpsIpArrayOutput

func (i GetDdosBgpIpsIpArray) ToGetDdosBgpIpsIpArrayOutput() GetDdosBgpIpsIpArrayOutput

func (GetDdosBgpIpsIpArray) ToGetDdosBgpIpsIpArrayOutputWithContext

func (i GetDdosBgpIpsIpArray) ToGetDdosBgpIpsIpArrayOutputWithContext(ctx context.Context) GetDdosBgpIpsIpArrayOutput

type GetDdosBgpIpsIpArrayInput

type GetDdosBgpIpsIpArrayInput interface {
	pulumi.Input

	ToGetDdosBgpIpsIpArrayOutput() GetDdosBgpIpsIpArrayOutput
	ToGetDdosBgpIpsIpArrayOutputWithContext(context.Context) GetDdosBgpIpsIpArrayOutput
}

GetDdosBgpIpsIpArrayInput is an input type that accepts GetDdosBgpIpsIpArray and GetDdosBgpIpsIpArrayOutput values. You can construct a concrete instance of `GetDdosBgpIpsIpArrayInput` via:

GetDdosBgpIpsIpArray{ GetDdosBgpIpsIpArgs{...} }

type GetDdosBgpIpsIpArrayOutput

type GetDdosBgpIpsIpArrayOutput struct{ *pulumi.OutputState }

func (GetDdosBgpIpsIpArrayOutput) ElementType

func (GetDdosBgpIpsIpArrayOutput) ElementType() reflect.Type

func (GetDdosBgpIpsIpArrayOutput) Index

func (GetDdosBgpIpsIpArrayOutput) ToGetDdosBgpIpsIpArrayOutput

func (o GetDdosBgpIpsIpArrayOutput) ToGetDdosBgpIpsIpArrayOutput() GetDdosBgpIpsIpArrayOutput

func (GetDdosBgpIpsIpArrayOutput) ToGetDdosBgpIpsIpArrayOutputWithContext

func (o GetDdosBgpIpsIpArrayOutput) ToGetDdosBgpIpsIpArrayOutputWithContext(ctx context.Context) GetDdosBgpIpsIpArrayOutput

type GetDdosBgpIpsIpInput

type GetDdosBgpIpsIpInput interface {
	pulumi.Input

	ToGetDdosBgpIpsIpOutput() GetDdosBgpIpsIpOutput
	ToGetDdosBgpIpsIpOutputWithContext(context.Context) GetDdosBgpIpsIpOutput
}

GetDdosBgpIpsIpInput is an input type that accepts GetDdosBgpIpsIpArgs and GetDdosBgpIpsIpOutput values. You can construct a concrete instance of `GetDdosBgpIpsIpInput` via:

GetDdosBgpIpsIpArgs{...}

type GetDdosBgpIpsIpOutput

type GetDdosBgpIpsIpOutput struct{ *pulumi.OutputState }

func (GetDdosBgpIpsIpOutput) ElementType

func (GetDdosBgpIpsIpOutput) ElementType() reflect.Type

func (GetDdosBgpIpsIpOutput) Id

The ID of the Ip. The value formats as `<instance_id>:<ip>`.

func (GetDdosBgpIpsIpOutput) InstanceId

func (o GetDdosBgpIpsIpOutput) InstanceId() pulumi.StringOutput

The ID of the native protection enterprise instance to be operated.

func (GetDdosBgpIpsIpOutput) Ip

The IP address.

func (GetDdosBgpIpsIpOutput) Product

The type of cloud asset to which the IP address belongs.

func (GetDdosBgpIpsIpOutput) Status

The current state of the IP address.

func (GetDdosBgpIpsIpOutput) ToGetDdosBgpIpsIpOutput

func (o GetDdosBgpIpsIpOutput) ToGetDdosBgpIpsIpOutput() GetDdosBgpIpsIpOutput

func (GetDdosBgpIpsIpOutput) ToGetDdosBgpIpsIpOutputWithContext

func (o GetDdosBgpIpsIpOutput) ToGetDdosBgpIpsIpOutputWithContext(ctx context.Context) GetDdosBgpIpsIpOutput

type GetDdosBgpIpsOutputArgs

type GetDdosBgpIpsOutputArgs struct {
	// A list of Ip IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The ID of the native protection enterprise instance to be operated.
	InstanceId pulumi.StringInput    `pulumi:"instanceId"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	PageNumber pulumi.IntPtrInput    `pulumi:"pageNumber"`
	PageSize   pulumi.IntPtrInput    `pulumi:"pageSize"`
	// The product name. Valid Value:`ECS`, `SLB`, `EIP`, `WAF`.
	ProductName pulumi.StringPtrInput `pulumi:"productName"`
	// The current state of the IP address.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getDdosBgpIps.

func (GetDdosBgpIpsOutputArgs) ElementType

func (GetDdosBgpIpsOutputArgs) ElementType() reflect.Type

type GetDdosBgpIpsResult

type GetDdosBgpIpsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id          string            `pulumi:"id"`
	Ids         []string          `pulumi:"ids"`
	InstanceId  string            `pulumi:"instanceId"`
	Ips         []GetDdosBgpIpsIp `pulumi:"ips"`
	OutputFile  *string           `pulumi:"outputFile"`
	PageNumber  *int              `pulumi:"pageNumber"`
	PageSize    *int              `pulumi:"pageSize"`
	ProductName *string           `pulumi:"productName"`
	Status      *string           `pulumi:"status"`
}

A collection of values returned by getDdosBgpIps.

func GetDdosBgpIps

func GetDdosBgpIps(ctx *pulumi.Context, args *GetDdosBgpIpsArgs, opts ...pulumi.InvokeOption) (*GetDdosBgpIpsResult, error)

This data source provides the Ddos Bgp Ips of the current Alibaba Cloud user.

> **NOTE:** Available in v1.180.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/ddos"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/ddos"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := ddos.GetDdosBgpIps(ctx, &ddos.GetDdosBgpIpsArgs{
			InstanceId: "example_value",
			Ids: []string{
				"example_value-1",
				"example_value-2",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("ddosbgpIpId1", ids.Ips[0].Id)
		return nil
	})
}

```

type GetDdosBgpIpsResultOutput

type GetDdosBgpIpsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDdosBgpIps.

func (GetDdosBgpIpsResultOutput) ElementType

func (GetDdosBgpIpsResultOutput) ElementType() reflect.Type

func (GetDdosBgpIpsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetDdosBgpIpsResultOutput) Ids

func (GetDdosBgpIpsResultOutput) InstanceId

func (GetDdosBgpIpsResultOutput) Ips

func (GetDdosBgpIpsResultOutput) OutputFile

func (GetDdosBgpIpsResultOutput) PageNumber

func (GetDdosBgpIpsResultOutput) PageSize

func (GetDdosBgpIpsResultOutput) ProductName

func (GetDdosBgpIpsResultOutput) Status

func (GetDdosBgpIpsResultOutput) ToGetDdosBgpIpsResultOutput

func (o GetDdosBgpIpsResultOutput) ToGetDdosBgpIpsResultOutput() GetDdosBgpIpsResultOutput

func (GetDdosBgpIpsResultOutput) ToGetDdosBgpIpsResultOutputWithContext

func (o GetDdosBgpIpsResultOutput) ToGetDdosBgpIpsResultOutputWithContext(ctx context.Context) GetDdosBgpIpsResultOutput

type GetDdosCooDomainResourcesArgs

type GetDdosCooDomainResourcesArgs struct {
	// A list of Domain Resource IDs.
	Ids []string `pulumi:"ids"`
	// A list ID of instance that you want to associate.
	InstanceIds []string `pulumi:"instanceIds"`
	OutputFile  *string  `pulumi:"outputFile"`
	// Match the pattern.
	QueryDomainPattern *string `pulumi:"queryDomainPattern"`
}

A collection of arguments for invoking getDdosCooDomainResources.

type GetDdosCooDomainResourcesOutputArgs

type GetDdosCooDomainResourcesOutputArgs struct {
	// A list of Domain Resource IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A list ID of instance that you want to associate.
	InstanceIds pulumi.StringArrayInput `pulumi:"instanceIds"`
	OutputFile  pulumi.StringPtrInput   `pulumi:"outputFile"`
	// Match the pattern.
	QueryDomainPattern pulumi.StringPtrInput `pulumi:"queryDomainPattern"`
}

A collection of arguments for invoking getDdosCooDomainResources.

func (GetDdosCooDomainResourcesOutputArgs) ElementType

type GetDdosCooDomainResourcesResource

type GetDdosCooDomainResourcesResource struct {
	// The IP addresses in the blacklist for the domain name.
	BlackLists []string `pulumi:"blackLists"`
	// Whether frequency control guard (CC guard) is enabled. Values: `True`: Opened, `False`: Not enabled.
	CcEnabled bool `pulumi:"ccEnabled"`
	// Whether custom frequency control guard (CC guard) is enabled. Values: `True`: Opened, `False`: Not enabled.
	CcRuleEnabled bool `pulumi:"ccRuleEnabled"`
	// The mode of the Frequency Control policy.
	CcTemplate string `pulumi:"ccTemplate"`
	// The name of the certificate.
	CertName string `pulumi:"certName"`
	// The domain name of the website that you want to add to the instance.
	Domain string `pulumi:"domain"`
	// Whether Http2.0 is enabled.
	Http2Enable bool `pulumi:"http2Enable"`
	// The advanced HTTPS settings.
	HttpsExt string `pulumi:"httpsExt"`
	// The ID of the Domain Resource.
	Id string `pulumi:"id"`
	// A list ID of instance that you want to associate.
	InstanceIds []string `pulumi:"instanceIds"`
	// The type of backload algorithm.
	PolicyMode string `pulumi:"policyMode"`
	// Whether the website service forwarding rules have been turned on.
	ProxyEnabled bool `pulumi:"proxyEnabled"`
	// Protocol type and port number information.
	ProxyTypes []GetDdosCooDomainResourcesResourceProxyType `pulumi:"proxyTypes"`
	// Server address information of the source station.
	RealServers []string `pulumi:"realServers"`
	// Server address type.
	RsType int `pulumi:"rsType"`
	// The type of the cipher suite.
	SslCiphers string `pulumi:"sslCiphers"`
	// The version of the TLS protocol.
	SslProtocols string `pulumi:"sslProtocols"`
	// The IP addresses in the whitelist for the domain name.
	WhiteLists []string `pulumi:"whiteLists"`
}

type GetDdosCooDomainResourcesResourceArgs

type GetDdosCooDomainResourcesResourceArgs struct {
	// The IP addresses in the blacklist for the domain name.
	BlackLists pulumi.StringArrayInput `pulumi:"blackLists"`
	// Whether frequency control guard (CC guard) is enabled. Values: `True`: Opened, `False`: Not enabled.
	CcEnabled pulumi.BoolInput `pulumi:"ccEnabled"`
	// Whether custom frequency control guard (CC guard) is enabled. Values: `True`: Opened, `False`: Not enabled.
	CcRuleEnabled pulumi.BoolInput `pulumi:"ccRuleEnabled"`
	// The mode of the Frequency Control policy.
	CcTemplate pulumi.StringInput `pulumi:"ccTemplate"`
	// The name of the certificate.
	CertName pulumi.StringInput `pulumi:"certName"`
	// The domain name of the website that you want to add to the instance.
	Domain pulumi.StringInput `pulumi:"domain"`
	// Whether Http2.0 is enabled.
	Http2Enable pulumi.BoolInput `pulumi:"http2Enable"`
	// The advanced HTTPS settings.
	HttpsExt pulumi.StringInput `pulumi:"httpsExt"`
	// The ID of the Domain Resource.
	Id pulumi.StringInput `pulumi:"id"`
	// A list ID of instance that you want to associate.
	InstanceIds pulumi.StringArrayInput `pulumi:"instanceIds"`
	// The type of backload algorithm.
	PolicyMode pulumi.StringInput `pulumi:"policyMode"`
	// Whether the website service forwarding rules have been turned on.
	ProxyEnabled pulumi.BoolInput `pulumi:"proxyEnabled"`
	// Protocol type and port number information.
	ProxyTypes GetDdosCooDomainResourcesResourceProxyTypeArrayInput `pulumi:"proxyTypes"`
	// Server address information of the source station.
	RealServers pulumi.StringArrayInput `pulumi:"realServers"`
	// Server address type.
	RsType pulumi.IntInput `pulumi:"rsType"`
	// The type of the cipher suite.
	SslCiphers pulumi.StringInput `pulumi:"sslCiphers"`
	// The version of the TLS protocol.
	SslProtocols pulumi.StringInput `pulumi:"sslProtocols"`
	// The IP addresses in the whitelist for the domain name.
	WhiteLists pulumi.StringArrayInput `pulumi:"whiteLists"`
}

func (GetDdosCooDomainResourcesResourceArgs) ElementType

func (GetDdosCooDomainResourcesResourceArgs) ToGetDdosCooDomainResourcesResourceOutput

func (i GetDdosCooDomainResourcesResourceArgs) ToGetDdosCooDomainResourcesResourceOutput() GetDdosCooDomainResourcesResourceOutput

func (GetDdosCooDomainResourcesResourceArgs) ToGetDdosCooDomainResourcesResourceOutputWithContext

func (i GetDdosCooDomainResourcesResourceArgs) ToGetDdosCooDomainResourcesResourceOutputWithContext(ctx context.Context) GetDdosCooDomainResourcesResourceOutput

type GetDdosCooDomainResourcesResourceArray

type GetDdosCooDomainResourcesResourceArray []GetDdosCooDomainResourcesResourceInput

func (GetDdosCooDomainResourcesResourceArray) ElementType

func (GetDdosCooDomainResourcesResourceArray) ToGetDdosCooDomainResourcesResourceArrayOutput

func (i GetDdosCooDomainResourcesResourceArray) ToGetDdosCooDomainResourcesResourceArrayOutput() GetDdosCooDomainResourcesResourceArrayOutput

func (GetDdosCooDomainResourcesResourceArray) ToGetDdosCooDomainResourcesResourceArrayOutputWithContext

func (i GetDdosCooDomainResourcesResourceArray) ToGetDdosCooDomainResourcesResourceArrayOutputWithContext(ctx context.Context) GetDdosCooDomainResourcesResourceArrayOutput

type GetDdosCooDomainResourcesResourceArrayInput

type GetDdosCooDomainResourcesResourceArrayInput interface {
	pulumi.Input

	ToGetDdosCooDomainResourcesResourceArrayOutput() GetDdosCooDomainResourcesResourceArrayOutput
	ToGetDdosCooDomainResourcesResourceArrayOutputWithContext(context.Context) GetDdosCooDomainResourcesResourceArrayOutput
}

GetDdosCooDomainResourcesResourceArrayInput is an input type that accepts GetDdosCooDomainResourcesResourceArray and GetDdosCooDomainResourcesResourceArrayOutput values. You can construct a concrete instance of `GetDdosCooDomainResourcesResourceArrayInput` via:

GetDdosCooDomainResourcesResourceArray{ GetDdosCooDomainResourcesResourceArgs{...} }

type GetDdosCooDomainResourcesResourceArrayOutput

type GetDdosCooDomainResourcesResourceArrayOutput struct{ *pulumi.OutputState }

func (GetDdosCooDomainResourcesResourceArrayOutput) ElementType

func (GetDdosCooDomainResourcesResourceArrayOutput) Index

func (GetDdosCooDomainResourcesResourceArrayOutput) ToGetDdosCooDomainResourcesResourceArrayOutput

func (o GetDdosCooDomainResourcesResourceArrayOutput) ToGetDdosCooDomainResourcesResourceArrayOutput() GetDdosCooDomainResourcesResourceArrayOutput

func (GetDdosCooDomainResourcesResourceArrayOutput) ToGetDdosCooDomainResourcesResourceArrayOutputWithContext

func (o GetDdosCooDomainResourcesResourceArrayOutput) ToGetDdosCooDomainResourcesResourceArrayOutputWithContext(ctx context.Context) GetDdosCooDomainResourcesResourceArrayOutput

type GetDdosCooDomainResourcesResourceInput

type GetDdosCooDomainResourcesResourceInput interface {
	pulumi.Input

	ToGetDdosCooDomainResourcesResourceOutput() GetDdosCooDomainResourcesResourceOutput
	ToGetDdosCooDomainResourcesResourceOutputWithContext(context.Context) GetDdosCooDomainResourcesResourceOutput
}

GetDdosCooDomainResourcesResourceInput is an input type that accepts GetDdosCooDomainResourcesResourceArgs and GetDdosCooDomainResourcesResourceOutput values. You can construct a concrete instance of `GetDdosCooDomainResourcesResourceInput` via:

GetDdosCooDomainResourcesResourceArgs{...}

type GetDdosCooDomainResourcesResourceOutput

type GetDdosCooDomainResourcesResourceOutput struct{ *pulumi.OutputState }

func (GetDdosCooDomainResourcesResourceOutput) BlackLists

The IP addresses in the blacklist for the domain name.

func (GetDdosCooDomainResourcesResourceOutput) CcEnabled

Whether frequency control guard (CC guard) is enabled. Values: `True`: Opened, `False`: Not enabled.

func (GetDdosCooDomainResourcesResourceOutput) CcRuleEnabled

Whether custom frequency control guard (CC guard) is enabled. Values: `True`: Opened, `False`: Not enabled.

func (GetDdosCooDomainResourcesResourceOutput) CcTemplate

The mode of the Frequency Control policy.

func (GetDdosCooDomainResourcesResourceOutput) CertName

The name of the certificate.

func (GetDdosCooDomainResourcesResourceOutput) Domain

The domain name of the website that you want to add to the instance.

func (GetDdosCooDomainResourcesResourceOutput) ElementType

func (GetDdosCooDomainResourcesResourceOutput) Http2Enable

Whether Http2.0 is enabled.

func (GetDdosCooDomainResourcesResourceOutput) HttpsExt

The advanced HTTPS settings.

func (GetDdosCooDomainResourcesResourceOutput) Id

The ID of the Domain Resource.

func (GetDdosCooDomainResourcesResourceOutput) InstanceIds

A list ID of instance that you want to associate.

func (GetDdosCooDomainResourcesResourceOutput) PolicyMode

The type of backload algorithm.

func (GetDdosCooDomainResourcesResourceOutput) ProxyEnabled

Whether the website service forwarding rules have been turned on.

func (GetDdosCooDomainResourcesResourceOutput) ProxyTypes

Protocol type and port number information.

func (GetDdosCooDomainResourcesResourceOutput) RealServers

Server address information of the source station.

func (GetDdosCooDomainResourcesResourceOutput) RsType

Server address type.

func (GetDdosCooDomainResourcesResourceOutput) SslCiphers

The type of the cipher suite.

func (GetDdosCooDomainResourcesResourceOutput) SslProtocols

The version of the TLS protocol.

func (GetDdosCooDomainResourcesResourceOutput) ToGetDdosCooDomainResourcesResourceOutput

func (o GetDdosCooDomainResourcesResourceOutput) ToGetDdosCooDomainResourcesResourceOutput() GetDdosCooDomainResourcesResourceOutput

func (GetDdosCooDomainResourcesResourceOutput) ToGetDdosCooDomainResourcesResourceOutputWithContext

func (o GetDdosCooDomainResourcesResourceOutput) ToGetDdosCooDomainResourcesResourceOutputWithContext(ctx context.Context) GetDdosCooDomainResourcesResourceOutput

func (GetDdosCooDomainResourcesResourceOutput) WhiteLists

The IP addresses in the whitelist for the domain name.

type GetDdosCooDomainResourcesResourceProxyType

type GetDdosCooDomainResourcesResourceProxyType struct {
	// The forwarding port.
	ProxyPorts []int `pulumi:"proxyPorts"`
	// Protocol type.
	ProxyType string `pulumi:"proxyType"`
}

type GetDdosCooDomainResourcesResourceProxyTypeArgs

type GetDdosCooDomainResourcesResourceProxyTypeArgs struct {
	// The forwarding port.
	ProxyPorts pulumi.IntArrayInput `pulumi:"proxyPorts"`
	// Protocol type.
	ProxyType pulumi.StringInput `pulumi:"proxyType"`
}

func (GetDdosCooDomainResourcesResourceProxyTypeArgs) ElementType

func (GetDdosCooDomainResourcesResourceProxyTypeArgs) ToGetDdosCooDomainResourcesResourceProxyTypeOutput

func (i GetDdosCooDomainResourcesResourceProxyTypeArgs) ToGetDdosCooDomainResourcesResourceProxyTypeOutput() GetDdosCooDomainResourcesResourceProxyTypeOutput

func (GetDdosCooDomainResourcesResourceProxyTypeArgs) ToGetDdosCooDomainResourcesResourceProxyTypeOutputWithContext

func (i GetDdosCooDomainResourcesResourceProxyTypeArgs) ToGetDdosCooDomainResourcesResourceProxyTypeOutputWithContext(ctx context.Context) GetDdosCooDomainResourcesResourceProxyTypeOutput

type GetDdosCooDomainResourcesResourceProxyTypeArray

type GetDdosCooDomainResourcesResourceProxyTypeArray []GetDdosCooDomainResourcesResourceProxyTypeInput

func (GetDdosCooDomainResourcesResourceProxyTypeArray) ElementType

func (GetDdosCooDomainResourcesResourceProxyTypeArray) ToGetDdosCooDomainResourcesResourceProxyTypeArrayOutput

func (i GetDdosCooDomainResourcesResourceProxyTypeArray) ToGetDdosCooDomainResourcesResourceProxyTypeArrayOutput() GetDdosCooDomainResourcesResourceProxyTypeArrayOutput

func (GetDdosCooDomainResourcesResourceProxyTypeArray) ToGetDdosCooDomainResourcesResourceProxyTypeArrayOutputWithContext

func (i GetDdosCooDomainResourcesResourceProxyTypeArray) ToGetDdosCooDomainResourcesResourceProxyTypeArrayOutputWithContext(ctx context.Context) GetDdosCooDomainResourcesResourceProxyTypeArrayOutput

type GetDdosCooDomainResourcesResourceProxyTypeArrayInput

type GetDdosCooDomainResourcesResourceProxyTypeArrayInput interface {
	pulumi.Input

	ToGetDdosCooDomainResourcesResourceProxyTypeArrayOutput() GetDdosCooDomainResourcesResourceProxyTypeArrayOutput
	ToGetDdosCooDomainResourcesResourceProxyTypeArrayOutputWithContext(context.Context) GetDdosCooDomainResourcesResourceProxyTypeArrayOutput
}

GetDdosCooDomainResourcesResourceProxyTypeArrayInput is an input type that accepts GetDdosCooDomainResourcesResourceProxyTypeArray and GetDdosCooDomainResourcesResourceProxyTypeArrayOutput values. You can construct a concrete instance of `GetDdosCooDomainResourcesResourceProxyTypeArrayInput` via:

GetDdosCooDomainResourcesResourceProxyTypeArray{ GetDdosCooDomainResourcesResourceProxyTypeArgs{...} }

type GetDdosCooDomainResourcesResourceProxyTypeArrayOutput

type GetDdosCooDomainResourcesResourceProxyTypeArrayOutput struct{ *pulumi.OutputState }

func (GetDdosCooDomainResourcesResourceProxyTypeArrayOutput) ElementType

func (GetDdosCooDomainResourcesResourceProxyTypeArrayOutput) Index

func (GetDdosCooDomainResourcesResourceProxyTypeArrayOutput) ToGetDdosCooDomainResourcesResourceProxyTypeArrayOutput

func (GetDdosCooDomainResourcesResourceProxyTypeArrayOutput) ToGetDdosCooDomainResourcesResourceProxyTypeArrayOutputWithContext

func (o GetDdosCooDomainResourcesResourceProxyTypeArrayOutput) ToGetDdosCooDomainResourcesResourceProxyTypeArrayOutputWithContext(ctx context.Context) GetDdosCooDomainResourcesResourceProxyTypeArrayOutput

type GetDdosCooDomainResourcesResourceProxyTypeInput

type GetDdosCooDomainResourcesResourceProxyTypeInput interface {
	pulumi.Input

	ToGetDdosCooDomainResourcesResourceProxyTypeOutput() GetDdosCooDomainResourcesResourceProxyTypeOutput
	ToGetDdosCooDomainResourcesResourceProxyTypeOutputWithContext(context.Context) GetDdosCooDomainResourcesResourceProxyTypeOutput
}

GetDdosCooDomainResourcesResourceProxyTypeInput is an input type that accepts GetDdosCooDomainResourcesResourceProxyTypeArgs and GetDdosCooDomainResourcesResourceProxyTypeOutput values. You can construct a concrete instance of `GetDdosCooDomainResourcesResourceProxyTypeInput` via:

GetDdosCooDomainResourcesResourceProxyTypeArgs{...}

type GetDdosCooDomainResourcesResourceProxyTypeOutput

type GetDdosCooDomainResourcesResourceProxyTypeOutput struct{ *pulumi.OutputState }

func (GetDdosCooDomainResourcesResourceProxyTypeOutput) ElementType

func (GetDdosCooDomainResourcesResourceProxyTypeOutput) ProxyPorts

The forwarding port.

func (GetDdosCooDomainResourcesResourceProxyTypeOutput) ProxyType

Protocol type.

func (GetDdosCooDomainResourcesResourceProxyTypeOutput) ToGetDdosCooDomainResourcesResourceProxyTypeOutput

func (o GetDdosCooDomainResourcesResourceProxyTypeOutput) ToGetDdosCooDomainResourcesResourceProxyTypeOutput() GetDdosCooDomainResourcesResourceProxyTypeOutput

func (GetDdosCooDomainResourcesResourceProxyTypeOutput) ToGetDdosCooDomainResourcesResourceProxyTypeOutputWithContext

func (o GetDdosCooDomainResourcesResourceProxyTypeOutput) ToGetDdosCooDomainResourcesResourceProxyTypeOutputWithContext(ctx context.Context) GetDdosCooDomainResourcesResourceProxyTypeOutput

type GetDdosCooDomainResourcesResult

type GetDdosCooDomainResourcesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id                 string                              `pulumi:"id"`
	Ids                []string                            `pulumi:"ids"`
	InstanceIds        []string                            `pulumi:"instanceIds"`
	OutputFile         *string                             `pulumi:"outputFile"`
	QueryDomainPattern *string                             `pulumi:"queryDomainPattern"`
	Resources          []GetDdosCooDomainResourcesResource `pulumi:"resources"`
}

A collection of values returned by getDdosCooDomainResources.

func GetDdosCooDomainResources

func GetDdosCooDomainResources(ctx *pulumi.Context, args *GetDdosCooDomainResourcesArgs, opts ...pulumi.InvokeOption) (*GetDdosCooDomainResourcesResult, error)

This data source provides the Ddoscoo Domain Resources of the current Alibaba Cloud user.

> **NOTE:** Available in v1.123.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/ddos"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/ddos"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := ddos.GetDdosCooDomainResources(ctx, &ddos.GetDdosCooDomainResourcesArgs{
			Ids: []string{
				"tftestacc1234.abc",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstDdoscooDomainResourceId", example.Resources[0].Id)
		return nil
	})
}

```

type GetDdosCooDomainResourcesResultOutput

type GetDdosCooDomainResourcesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDdosCooDomainResources.

func (GetDdosCooDomainResourcesResultOutput) ElementType

func (GetDdosCooDomainResourcesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetDdosCooDomainResourcesResultOutput) Ids

func (GetDdosCooDomainResourcesResultOutput) InstanceIds

func (GetDdosCooDomainResourcesResultOutput) OutputFile

func (GetDdosCooDomainResourcesResultOutput) QueryDomainPattern

func (GetDdosCooDomainResourcesResultOutput) Resources

func (GetDdosCooDomainResourcesResultOutput) ToGetDdosCooDomainResourcesResultOutput

func (o GetDdosCooDomainResourcesResultOutput) ToGetDdosCooDomainResourcesResultOutput() GetDdosCooDomainResourcesResultOutput

func (GetDdosCooDomainResourcesResultOutput) ToGetDdosCooDomainResourcesResultOutputWithContext

func (o GetDdosCooDomainResourcesResultOutput) ToGetDdosCooDomainResourcesResultOutputWithContext(ctx context.Context) GetDdosCooDomainResourcesResultOutput

type GetDdosCooInstancesArgs

type GetDdosCooInstancesArgs struct {
	// A list of instance IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by the instance name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getDdosCooInstances.

type GetDdosCooInstancesInstance

type GetDdosCooInstancesInstance struct {
	// The instance's elastic defend bandwidth.
	Bandwidth int `pulumi:"bandwidth"`
	// The instance's base defend bandwidth.
	BaseBandwidth int `pulumi:"baseBandwidth"`
	// The creation time of the instance.
	CreateTime int `pulumi:"createTime"`
	// The debt status of the instance.
	DebtStatus int `pulumi:"debtStatus"`
	// The instance's count of domain retransmission config.
	DomainCount int `pulumi:"domainCount"`
	// The edition of the instance. The Valid Values : `0`, `1`, `2`, `9`.
	Edition int `pulumi:"edition"`
	// The enabled of the instance. The Valid Values : `0`, `1`.
	Enabled int `pulumi:"enabled"`
	// The expiry time of the instance.
	ExpireTime int `pulumi:"expireTime"`
	// The instance's id.
	Id string `pulumi:"id"`
	// The ip mode of the instance. The Valid Values : `fnat`, `v6tov4`.
	IpMode string `pulumi:"ipMode"`
	// The ip version of the instance. The Valid Values : `Ipv4`, `Ipv6`.
	IpVersion string `pulumi:"ipVersion"`
	// The instance's remark.
	Name string `pulumi:"name"`
	// The instance's count of port retransmission config.
	PortCount int `pulumi:"portCount"`
	// The remark of the instance.
	Remark string `pulumi:"remark"`
	// The instance's business bandwidth.
	ServiceBandwidth int `pulumi:"serviceBandwidth"`
	// The status of the instance. The Valid Values : `1`, `2`.
	Status int `pulumi:"status"`
}

type GetDdosCooInstancesInstanceArgs

type GetDdosCooInstancesInstanceArgs struct {
	// The instance's elastic defend bandwidth.
	Bandwidth pulumi.IntInput `pulumi:"bandwidth"`
	// The instance's base defend bandwidth.
	BaseBandwidth pulumi.IntInput `pulumi:"baseBandwidth"`
	// The creation time of the instance.
	CreateTime pulumi.IntInput `pulumi:"createTime"`
	// The debt status of the instance.
	DebtStatus pulumi.IntInput `pulumi:"debtStatus"`
	// The instance's count of domain retransmission config.
	DomainCount pulumi.IntInput `pulumi:"domainCount"`
	// The edition of the instance. The Valid Values : `0`, `1`, `2`, `9`.
	Edition pulumi.IntInput `pulumi:"edition"`
	// The enabled of the instance. The Valid Values : `0`, `1`.
	Enabled pulumi.IntInput `pulumi:"enabled"`
	// The expiry time of the instance.
	ExpireTime pulumi.IntInput `pulumi:"expireTime"`
	// The instance's id.
	Id pulumi.StringInput `pulumi:"id"`
	// The ip mode of the instance. The Valid Values : `fnat`, `v6tov4`.
	IpMode pulumi.StringInput `pulumi:"ipMode"`
	// The ip version of the instance. The Valid Values : `Ipv4`, `Ipv6`.
	IpVersion pulumi.StringInput `pulumi:"ipVersion"`
	// The instance's remark.
	Name pulumi.StringInput `pulumi:"name"`
	// The instance's count of port retransmission config.
	PortCount pulumi.IntInput `pulumi:"portCount"`
	// The remark of the instance.
	Remark pulumi.StringInput `pulumi:"remark"`
	// The instance's business bandwidth.
	ServiceBandwidth pulumi.IntInput `pulumi:"serviceBandwidth"`
	// The status of the instance. The Valid Values : `1`, `2`.
	Status pulumi.IntInput `pulumi:"status"`
}

func (GetDdosCooInstancesInstanceArgs) ElementType

func (GetDdosCooInstancesInstanceArgs) ToGetDdosCooInstancesInstanceOutput

func (i GetDdosCooInstancesInstanceArgs) ToGetDdosCooInstancesInstanceOutput() GetDdosCooInstancesInstanceOutput

func (GetDdosCooInstancesInstanceArgs) ToGetDdosCooInstancesInstanceOutputWithContext

func (i GetDdosCooInstancesInstanceArgs) ToGetDdosCooInstancesInstanceOutputWithContext(ctx context.Context) GetDdosCooInstancesInstanceOutput

type GetDdosCooInstancesInstanceArray

type GetDdosCooInstancesInstanceArray []GetDdosCooInstancesInstanceInput

func (GetDdosCooInstancesInstanceArray) ElementType

func (GetDdosCooInstancesInstanceArray) ToGetDdosCooInstancesInstanceArrayOutput

func (i GetDdosCooInstancesInstanceArray) ToGetDdosCooInstancesInstanceArrayOutput() GetDdosCooInstancesInstanceArrayOutput

func (GetDdosCooInstancesInstanceArray) ToGetDdosCooInstancesInstanceArrayOutputWithContext

func (i GetDdosCooInstancesInstanceArray) ToGetDdosCooInstancesInstanceArrayOutputWithContext(ctx context.Context) GetDdosCooInstancesInstanceArrayOutput

type GetDdosCooInstancesInstanceArrayInput

type GetDdosCooInstancesInstanceArrayInput interface {
	pulumi.Input

	ToGetDdosCooInstancesInstanceArrayOutput() GetDdosCooInstancesInstanceArrayOutput
	ToGetDdosCooInstancesInstanceArrayOutputWithContext(context.Context) GetDdosCooInstancesInstanceArrayOutput
}

GetDdosCooInstancesInstanceArrayInput is an input type that accepts GetDdosCooInstancesInstanceArray and GetDdosCooInstancesInstanceArrayOutput values. You can construct a concrete instance of `GetDdosCooInstancesInstanceArrayInput` via:

GetDdosCooInstancesInstanceArray{ GetDdosCooInstancesInstanceArgs{...} }

type GetDdosCooInstancesInstanceArrayOutput

type GetDdosCooInstancesInstanceArrayOutput struct{ *pulumi.OutputState }

func (GetDdosCooInstancesInstanceArrayOutput) ElementType

func (GetDdosCooInstancesInstanceArrayOutput) Index

func (GetDdosCooInstancesInstanceArrayOutput) ToGetDdosCooInstancesInstanceArrayOutput

func (o GetDdosCooInstancesInstanceArrayOutput) ToGetDdosCooInstancesInstanceArrayOutput() GetDdosCooInstancesInstanceArrayOutput

func (GetDdosCooInstancesInstanceArrayOutput) ToGetDdosCooInstancesInstanceArrayOutputWithContext

func (o GetDdosCooInstancesInstanceArrayOutput) ToGetDdosCooInstancesInstanceArrayOutputWithContext(ctx context.Context) GetDdosCooInstancesInstanceArrayOutput

type GetDdosCooInstancesInstanceInput

type GetDdosCooInstancesInstanceInput interface {
	pulumi.Input

	ToGetDdosCooInstancesInstanceOutput() GetDdosCooInstancesInstanceOutput
	ToGetDdosCooInstancesInstanceOutputWithContext(context.Context) GetDdosCooInstancesInstanceOutput
}

GetDdosCooInstancesInstanceInput is an input type that accepts GetDdosCooInstancesInstanceArgs and GetDdosCooInstancesInstanceOutput values. You can construct a concrete instance of `GetDdosCooInstancesInstanceInput` via:

GetDdosCooInstancesInstanceArgs{...}

type GetDdosCooInstancesInstanceOutput

type GetDdosCooInstancesInstanceOutput struct{ *pulumi.OutputState }

func (GetDdosCooInstancesInstanceOutput) Bandwidth

The instance's elastic defend bandwidth.

func (GetDdosCooInstancesInstanceOutput) BaseBandwidth

The instance's base defend bandwidth.

func (GetDdosCooInstancesInstanceOutput) CreateTime

The creation time of the instance.

func (GetDdosCooInstancesInstanceOutput) DebtStatus

The debt status of the instance.

func (GetDdosCooInstancesInstanceOutput) DomainCount

The instance's count of domain retransmission config.

func (GetDdosCooInstancesInstanceOutput) Edition

The edition of the instance. The Valid Values : `0`, `1`, `2`, `9`.

func (GetDdosCooInstancesInstanceOutput) ElementType

func (GetDdosCooInstancesInstanceOutput) Enabled

The enabled of the instance. The Valid Values : `0`, `1`.

func (GetDdosCooInstancesInstanceOutput) ExpireTime

The expiry time of the instance.

func (GetDdosCooInstancesInstanceOutput) Id

The instance's id.

func (GetDdosCooInstancesInstanceOutput) IpMode

The ip mode of the instance. The Valid Values : `fnat`, `v6tov4`.

func (GetDdosCooInstancesInstanceOutput) IpVersion

The ip version of the instance. The Valid Values : `Ipv4`, `Ipv6`.

func (GetDdosCooInstancesInstanceOutput) Name

The instance's remark.

func (GetDdosCooInstancesInstanceOutput) PortCount

The instance's count of port retransmission config.

func (GetDdosCooInstancesInstanceOutput) Remark

The remark of the instance.

func (GetDdosCooInstancesInstanceOutput) ServiceBandwidth

func (o GetDdosCooInstancesInstanceOutput) ServiceBandwidth() pulumi.IntOutput

The instance's business bandwidth.

func (GetDdosCooInstancesInstanceOutput) Status

The status of the instance. The Valid Values : `1`, `2`.

func (GetDdosCooInstancesInstanceOutput) ToGetDdosCooInstancesInstanceOutput

func (o GetDdosCooInstancesInstanceOutput) ToGetDdosCooInstancesInstanceOutput() GetDdosCooInstancesInstanceOutput

func (GetDdosCooInstancesInstanceOutput) ToGetDdosCooInstancesInstanceOutputWithContext

func (o GetDdosCooInstancesInstanceOutput) ToGetDdosCooInstancesInstanceOutputWithContext(ctx context.Context) GetDdosCooInstancesInstanceOutput

type GetDdosCooInstancesOutputArgs

type GetDdosCooInstancesOutputArgs struct {
	// A list of instance IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by the instance name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getDdosCooInstances.

func (GetDdosCooInstancesOutputArgs) ElementType

type GetDdosCooInstancesResult

type GetDdosCooInstancesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of instance IDs.
	Ids []string `pulumi:"ids"`
	// A list of apis. Each element contains the following attributes:
	Instances []GetDdosCooInstancesInstance `pulumi:"instances"`
	NameRegex *string                       `pulumi:"nameRegex"`
	// A list of instance names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
}

A collection of values returned by getDdosCooInstances.

func GetDdosCooInstances

func GetDdosCooInstances(ctx *pulumi.Context, args *GetDdosCooInstancesArgs, opts ...pulumi.InvokeOption) (*GetDdosCooInstancesResult, error)

This data source provides a list of BGP-Line Anti-DDoS Pro instances in an Alibaba Cloud account according to the specified filters.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/ddos"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/ddos"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ddos.GetDdosCooInstances(ctx, &ddos.GetDdosCooInstancesArgs{
			NameRegex: pulumi.StringRef("^ddoscoo"),
		}, nil)
		if err != nil {
			return err
		}
		var splat0 []interface{}
		for _, val0 := range alicloud_ddoscoo_instances.Instance {
			splat0 = append(splat0, val0.Id)
		}
		ctx.Export("instance", splat0)
		return nil
	})
}

```

type GetDdosCooInstancesResultOutput

type GetDdosCooInstancesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDdosCooInstances.

func (GetDdosCooInstancesResultOutput) ElementType

func (GetDdosCooInstancesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetDdosCooInstancesResultOutput) Ids

A list of instance IDs.

func (GetDdosCooInstancesResultOutput) Instances

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

func (GetDdosCooInstancesResultOutput) NameRegex

func (GetDdosCooInstancesResultOutput) Names

A list of instance names.

func (GetDdosCooInstancesResultOutput) OutputFile

func (GetDdosCooInstancesResultOutput) ToGetDdosCooInstancesResultOutput

func (o GetDdosCooInstancesResultOutput) ToGetDdosCooInstancesResultOutput() GetDdosCooInstancesResultOutput

func (GetDdosCooInstancesResultOutput) ToGetDdosCooInstancesResultOutputWithContext

func (o GetDdosCooInstancesResultOutput) ToGetDdosCooInstancesResultOutputWithContext(ctx context.Context) GetDdosCooInstancesResultOutput

type GetDdosCooPortsArgs

type GetDdosCooPortsArgs struct {
	// The forwarding port.
	FrontendPort *string `pulumi:"frontendPort"`
	// The forwarding protocol.
	FrontendProtocol *string `pulumi:"frontendProtocol"`
	// A list of Port IDs.
	Ids []string `pulumi:"ids"`
	// The Ddoscoo instance ID.
	InstanceId string  `pulumi:"instanceId"`
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getDdosCooPorts.

type GetDdosCooPortsOutputArgs

type GetDdosCooPortsOutputArgs struct {
	// The forwarding port.
	FrontendPort pulumi.StringPtrInput `pulumi:"frontendPort"`
	// The forwarding protocol.
	FrontendProtocol pulumi.StringPtrInput `pulumi:"frontendProtocol"`
	// A list of Port IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The Ddoscoo instance ID.
	InstanceId pulumi.StringInput    `pulumi:"instanceId"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getDdosCooPorts.

func (GetDdosCooPortsOutputArgs) ElementType

func (GetDdosCooPortsOutputArgs) ElementType() reflect.Type

type GetDdosCooPortsPort

type GetDdosCooPortsPort struct {
	// The source station port.
	BackendPort string `pulumi:"backendPort"`
	// The forwarding port.
	FrontendPort string `pulumi:"frontendPort"`
	// The forwarding protocol.
	FrontendProtocol string `pulumi:"frontendProtocol"`
	// The ID of the Port.
	Id string `pulumi:"id"`
	// The Ddoscoo instance ID.
	InstanceId string `pulumi:"instanceId"`
	// List of source IP addresses.
	RealServers []string `pulumi:"realServers"`
}

type GetDdosCooPortsPortArgs

type GetDdosCooPortsPortArgs struct {
	// The source station port.
	BackendPort pulumi.StringInput `pulumi:"backendPort"`
	// The forwarding port.
	FrontendPort pulumi.StringInput `pulumi:"frontendPort"`
	// The forwarding protocol.
	FrontendProtocol pulumi.StringInput `pulumi:"frontendProtocol"`
	// The ID of the Port.
	Id pulumi.StringInput `pulumi:"id"`
	// The Ddoscoo instance ID.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// List of source IP addresses.
	RealServers pulumi.StringArrayInput `pulumi:"realServers"`
}

func (GetDdosCooPortsPortArgs) ElementType

func (GetDdosCooPortsPortArgs) ElementType() reflect.Type

func (GetDdosCooPortsPortArgs) ToGetDdosCooPortsPortOutput

func (i GetDdosCooPortsPortArgs) ToGetDdosCooPortsPortOutput() GetDdosCooPortsPortOutput

func (GetDdosCooPortsPortArgs) ToGetDdosCooPortsPortOutputWithContext

func (i GetDdosCooPortsPortArgs) ToGetDdosCooPortsPortOutputWithContext(ctx context.Context) GetDdosCooPortsPortOutput

type GetDdosCooPortsPortArray

type GetDdosCooPortsPortArray []GetDdosCooPortsPortInput

func (GetDdosCooPortsPortArray) ElementType

func (GetDdosCooPortsPortArray) ElementType() reflect.Type

func (GetDdosCooPortsPortArray) ToGetDdosCooPortsPortArrayOutput

func (i GetDdosCooPortsPortArray) ToGetDdosCooPortsPortArrayOutput() GetDdosCooPortsPortArrayOutput

func (GetDdosCooPortsPortArray) ToGetDdosCooPortsPortArrayOutputWithContext

func (i GetDdosCooPortsPortArray) ToGetDdosCooPortsPortArrayOutputWithContext(ctx context.Context) GetDdosCooPortsPortArrayOutput

type GetDdosCooPortsPortArrayInput

type GetDdosCooPortsPortArrayInput interface {
	pulumi.Input

	ToGetDdosCooPortsPortArrayOutput() GetDdosCooPortsPortArrayOutput
	ToGetDdosCooPortsPortArrayOutputWithContext(context.Context) GetDdosCooPortsPortArrayOutput
}

GetDdosCooPortsPortArrayInput is an input type that accepts GetDdosCooPortsPortArray and GetDdosCooPortsPortArrayOutput values. You can construct a concrete instance of `GetDdosCooPortsPortArrayInput` via:

GetDdosCooPortsPortArray{ GetDdosCooPortsPortArgs{...} }

type GetDdosCooPortsPortArrayOutput

type GetDdosCooPortsPortArrayOutput struct{ *pulumi.OutputState }

func (GetDdosCooPortsPortArrayOutput) ElementType

func (GetDdosCooPortsPortArrayOutput) Index

func (GetDdosCooPortsPortArrayOutput) ToGetDdosCooPortsPortArrayOutput

func (o GetDdosCooPortsPortArrayOutput) ToGetDdosCooPortsPortArrayOutput() GetDdosCooPortsPortArrayOutput

func (GetDdosCooPortsPortArrayOutput) ToGetDdosCooPortsPortArrayOutputWithContext

func (o GetDdosCooPortsPortArrayOutput) ToGetDdosCooPortsPortArrayOutputWithContext(ctx context.Context) GetDdosCooPortsPortArrayOutput

type GetDdosCooPortsPortInput

type GetDdosCooPortsPortInput interface {
	pulumi.Input

	ToGetDdosCooPortsPortOutput() GetDdosCooPortsPortOutput
	ToGetDdosCooPortsPortOutputWithContext(context.Context) GetDdosCooPortsPortOutput
}

GetDdosCooPortsPortInput is an input type that accepts GetDdosCooPortsPortArgs and GetDdosCooPortsPortOutput values. You can construct a concrete instance of `GetDdosCooPortsPortInput` via:

GetDdosCooPortsPortArgs{...}

type GetDdosCooPortsPortOutput

type GetDdosCooPortsPortOutput struct{ *pulumi.OutputState }

func (GetDdosCooPortsPortOutput) BackendPort

The source station port.

func (GetDdosCooPortsPortOutput) ElementType

func (GetDdosCooPortsPortOutput) ElementType() reflect.Type

func (GetDdosCooPortsPortOutput) FrontendPort

The forwarding port.

func (GetDdosCooPortsPortOutput) FrontendProtocol

func (o GetDdosCooPortsPortOutput) FrontendProtocol() pulumi.StringOutput

The forwarding protocol.

func (GetDdosCooPortsPortOutput) Id

The ID of the Port.

func (GetDdosCooPortsPortOutput) InstanceId

The Ddoscoo instance ID.

func (GetDdosCooPortsPortOutput) RealServers

List of source IP addresses.

func (GetDdosCooPortsPortOutput) ToGetDdosCooPortsPortOutput

func (o GetDdosCooPortsPortOutput) ToGetDdosCooPortsPortOutput() GetDdosCooPortsPortOutput

func (GetDdosCooPortsPortOutput) ToGetDdosCooPortsPortOutputWithContext

func (o GetDdosCooPortsPortOutput) ToGetDdosCooPortsPortOutputWithContext(ctx context.Context) GetDdosCooPortsPortOutput

type GetDdosCooPortsResult

type GetDdosCooPortsResult struct {
	FrontendPort     *string `pulumi:"frontendPort"`
	FrontendProtocol *string `pulumi:"frontendProtocol"`
	// The provider-assigned unique ID for this managed resource.
	Id         string                `pulumi:"id"`
	Ids        []string              `pulumi:"ids"`
	InstanceId string                `pulumi:"instanceId"`
	OutputFile *string               `pulumi:"outputFile"`
	Ports      []GetDdosCooPortsPort `pulumi:"ports"`
}

A collection of values returned by getDdosCooPorts.

func GetDdosCooPorts

func GetDdosCooPorts(ctx *pulumi.Context, args *GetDdosCooPortsArgs, opts ...pulumi.InvokeOption) (*GetDdosCooPortsResult, error)

This data source provides the Ddoscoo Ports of the current Alibaba Cloud user.

> **NOTE:** Available in v1.123.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/ddos"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/ddos"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := ddos.GetDdosCooPorts(ctx, &ddos.GetDdosCooPortsArgs{
			InstanceId: "ddoscoo-cn-6ja1rl4j****",
			Ids: []string{
				"ddoscoo-cn-6ja1rl4j****:7001:tcp",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstDdoscooPortId", example.Ports[0].Id)
		return nil
	})
}

```

type GetDdosCooPortsResultOutput

type GetDdosCooPortsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDdosCooPorts.

func (GetDdosCooPortsResultOutput) ElementType

func (GetDdosCooPortsResultOutput) FrontendPort

func (GetDdosCooPortsResultOutput) FrontendProtocol

func (o GetDdosCooPortsResultOutput) FrontendProtocol() pulumi.StringPtrOutput

func (GetDdosCooPortsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetDdosCooPortsResultOutput) Ids

func (GetDdosCooPortsResultOutput) InstanceId

func (GetDdosCooPortsResultOutput) OutputFile

func (GetDdosCooPortsResultOutput) Ports

func (GetDdosCooPortsResultOutput) ToGetDdosCooPortsResultOutput

func (o GetDdosCooPortsResultOutput) ToGetDdosCooPortsResultOutput() GetDdosCooPortsResultOutput

func (GetDdosCooPortsResultOutput) ToGetDdosCooPortsResultOutputWithContext

func (o GetDdosCooPortsResultOutput) ToGetDdosCooPortsResultOutputWithContext(ctx context.Context) GetDdosCooPortsResultOutput

type Port

type Port struct {
	pulumi.CustomResourceState

	// The port of the origin server. Valid values: [1~65535].
	BackendPort pulumi.StringPtrOutput `pulumi:"backendPort"`
	// The forwarding port. Valid values: [1~65535].
	FrontendPort pulumi.StringOutput `pulumi:"frontendPort"`
	// The forwarding protocol. Valid values `tcp` and `udp`.
	FrontendProtocol pulumi.StringOutput `pulumi:"frontendProtocol"`
	// The ID of Ddoscoo instance.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// List of source IP addresses.
	RealServers pulumi.StringArrayOutput `pulumi:"realServers"`
}

Provides a Anti-DDoS Pro Port resource.

For information about Anti-DDoS Pro Port and how to use it, see [What is Port](https://www.alibabacloud.com/help/en/doc-detail/157482.htm).

> **NOTE:** Available in v1.123.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/ddos"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleDdosCooInstance, err := ddos.NewDdosCooInstance(ctx, "exampleDdosCooInstance", &ddos.DdosCooInstanceArgs{
			Bandwidth:        pulumi.String("30"),
			BaseBandwidth:    pulumi.String("30"),
			ServiceBandwidth: pulumi.String("100"),
			PortCount:        pulumi.String("50"),
			DomainCount:      pulumi.String("50"),
		})
		if err != nil {
			return err
		}
		_, err = ddos.NewPort(ctx, "examplePort", &ddos.PortArgs{
			InstanceId:       exampleDdosCooInstance.ID(),
			FrontendPort:     pulumi.String("7001"),
			FrontendProtocol: pulumi.String("tcp"),
			RealServers: pulumi.StringArray{
				pulumi.String("1.1.1.1"),
				pulumi.String("2.2.2.2"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Anti-DDoS Pro Port can be imported using the id, e.g.

```sh

$ pulumi import alicloud:ddos/port:Port example <instance_id>:<frontend_port>:<frontend_protocol>

```

func GetPort

func GetPort(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PortState, opts ...pulumi.ResourceOption) (*Port, error)

GetPort gets an existing Port 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 NewPort

func NewPort(ctx *pulumi.Context,
	name string, args *PortArgs, opts ...pulumi.ResourceOption) (*Port, error)

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

func (*Port) ElementType

func (*Port) ElementType() reflect.Type

func (*Port) ToPortOutput

func (i *Port) ToPortOutput() PortOutput

func (*Port) ToPortOutputWithContext

func (i *Port) ToPortOutputWithContext(ctx context.Context) PortOutput

type PortArgs

type PortArgs struct {
	// The port of the origin server. Valid values: [1~65535].
	BackendPort pulumi.StringPtrInput
	// The forwarding port. Valid values: [1~65535].
	FrontendPort pulumi.StringInput
	// The forwarding protocol. Valid values `tcp` and `udp`.
	FrontendProtocol pulumi.StringInput
	// The ID of Ddoscoo instance.
	InstanceId pulumi.StringInput
	// List of source IP addresses.
	RealServers pulumi.StringArrayInput
}

The set of arguments for constructing a Port resource.

func (PortArgs) ElementType

func (PortArgs) ElementType() reflect.Type

type PortArray

type PortArray []PortInput

func (PortArray) ElementType

func (PortArray) ElementType() reflect.Type

func (PortArray) ToPortArrayOutput

func (i PortArray) ToPortArrayOutput() PortArrayOutput

func (PortArray) ToPortArrayOutputWithContext

func (i PortArray) ToPortArrayOutputWithContext(ctx context.Context) PortArrayOutput

type PortArrayInput

type PortArrayInput interface {
	pulumi.Input

	ToPortArrayOutput() PortArrayOutput
	ToPortArrayOutputWithContext(context.Context) PortArrayOutput
}

PortArrayInput is an input type that accepts PortArray and PortArrayOutput values. You can construct a concrete instance of `PortArrayInput` via:

PortArray{ PortArgs{...} }

type PortArrayOutput

type PortArrayOutput struct{ *pulumi.OutputState }

func (PortArrayOutput) ElementType

func (PortArrayOutput) ElementType() reflect.Type

func (PortArrayOutput) Index

func (PortArrayOutput) ToPortArrayOutput

func (o PortArrayOutput) ToPortArrayOutput() PortArrayOutput

func (PortArrayOutput) ToPortArrayOutputWithContext

func (o PortArrayOutput) ToPortArrayOutputWithContext(ctx context.Context) PortArrayOutput

type PortInput

type PortInput interface {
	pulumi.Input

	ToPortOutput() PortOutput
	ToPortOutputWithContext(ctx context.Context) PortOutput
}

type PortMap

type PortMap map[string]PortInput

func (PortMap) ElementType

func (PortMap) ElementType() reflect.Type

func (PortMap) ToPortMapOutput

func (i PortMap) ToPortMapOutput() PortMapOutput

func (PortMap) ToPortMapOutputWithContext

func (i PortMap) ToPortMapOutputWithContext(ctx context.Context) PortMapOutput

type PortMapInput

type PortMapInput interface {
	pulumi.Input

	ToPortMapOutput() PortMapOutput
	ToPortMapOutputWithContext(context.Context) PortMapOutput
}

PortMapInput is an input type that accepts PortMap and PortMapOutput values. You can construct a concrete instance of `PortMapInput` via:

PortMap{ "key": PortArgs{...} }

type PortMapOutput

type PortMapOutput struct{ *pulumi.OutputState }

func (PortMapOutput) ElementType

func (PortMapOutput) ElementType() reflect.Type

func (PortMapOutput) MapIndex

func (PortMapOutput) ToPortMapOutput

func (o PortMapOutput) ToPortMapOutput() PortMapOutput

func (PortMapOutput) ToPortMapOutputWithContext

func (o PortMapOutput) ToPortMapOutputWithContext(ctx context.Context) PortMapOutput

type PortOutput

type PortOutput struct{ *pulumi.OutputState }

func (PortOutput) BackendPort

func (o PortOutput) BackendPort() pulumi.StringPtrOutput

The port of the origin server. Valid values: [1~65535].

func (PortOutput) ElementType

func (PortOutput) ElementType() reflect.Type

func (PortOutput) FrontendPort

func (o PortOutput) FrontendPort() pulumi.StringOutput

The forwarding port. Valid values: [1~65535].

func (PortOutput) FrontendProtocol

func (o PortOutput) FrontendProtocol() pulumi.StringOutput

The forwarding protocol. Valid values `tcp` and `udp`.

func (PortOutput) InstanceId

func (o PortOutput) InstanceId() pulumi.StringOutput

The ID of Ddoscoo instance.

func (PortOutput) RealServers

func (o PortOutput) RealServers() pulumi.StringArrayOutput

List of source IP addresses.

func (PortOutput) ToPortOutput

func (o PortOutput) ToPortOutput() PortOutput

func (PortOutput) ToPortOutputWithContext

func (o PortOutput) ToPortOutputWithContext(ctx context.Context) PortOutput

type PortState

type PortState struct {
	// The port of the origin server. Valid values: [1~65535].
	BackendPort pulumi.StringPtrInput
	// The forwarding port. Valid values: [1~65535].
	FrontendPort pulumi.StringPtrInput
	// The forwarding protocol. Valid values `tcp` and `udp`.
	FrontendProtocol pulumi.StringPtrInput
	// The ID of Ddoscoo instance.
	InstanceId pulumi.StringPtrInput
	// List of source IP addresses.
	RealServers pulumi.StringArrayInput
}

func (PortState) ElementType

func (PortState) ElementType() reflect.Type

type SchedulerRule

type SchedulerRule struct {
	pulumi.CustomResourceState

	// The cname is the traffic scheduler corresponding to rules.
	Cname pulumi.StringOutput `pulumi:"cname"`
	// The scheduling rule for the Global Accelerator instance that interacts with Anti-DDoS Pro or Anti-DDoS Premium.
	Param pulumi.StringPtrOutput `pulumi:"param"`
	// The ID of the resource group to which the anti-DDoS pro instance belongs in resource management. By default, no value is specified, indicating that the domains in the default resource group are listed.
	ResourceGroupId pulumi.StringPtrOutput `pulumi:"resourceGroupId"`
	// The name of the rule.
	RuleName pulumi.StringOutput `pulumi:"ruleName"`
	// The rule type. Valid values:
	// `2`: tiered protection.
	// `3`: globalization acceleration.
	// `6`: Cloud product interaction.
	RuleType pulumi.IntOutput `pulumi:"ruleType"`
	// The information about the scheduling rules. See the following `Block rules`.
	Rules SchedulerRuleRuleArrayOutput `pulumi:"rules"`
}

Provides a DdosCoo Scheduler Rule resource. For information about DdosCoo Scheduler Rule and how to use it, see[What is DdosCoo Scheduler Rule](https://www.alibabacloud.com/help/en/doc-detail/157481.htm).

> **NOTE:** Available in 1.86.0+

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/ddos"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/ddos"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ddos.NewSchedulerRule(ctx, "example", &ddos.SchedulerRuleArgs{
			RuleName: pulumi.String("tf-testacc7929727"),
			RuleType: pulumi.Int(3),
			Rules: ddos.SchedulerRuleRuleArray{
				&ddos.SchedulerRuleRuleArgs{
					Priority:  pulumi.Int(100),
					RegionId:  pulumi.String("cn-hangzhou"),
					Type:      pulumi.String("A"),
					Value:     pulumi.String("127.0.0.1"),
					ValueType: pulumi.Int(3),
				},
				&ddos.SchedulerRuleRuleArgs{
					Priority:  pulumi.Int(50),
					RegionId:  pulumi.String("cn-hangzhou"),
					Type:      pulumi.String("A"),
					Value:     pulumi.String("127.0.0.0"),
					ValueType: pulumi.Int(1),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DdosCoo Scheduler Rule can be imported using the id or the rule name, e.g.

```sh

$ pulumi import alicloud:ddos/schedulerRule:SchedulerRule example fbb20dc77e8fc******

```

func GetSchedulerRule

func GetSchedulerRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SchedulerRuleState, opts ...pulumi.ResourceOption) (*SchedulerRule, error)

GetSchedulerRule gets an existing SchedulerRule 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 NewSchedulerRule

func NewSchedulerRule(ctx *pulumi.Context,
	name string, args *SchedulerRuleArgs, opts ...pulumi.ResourceOption) (*SchedulerRule, error)

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

func (*SchedulerRule) ElementType

func (*SchedulerRule) ElementType() reflect.Type

func (*SchedulerRule) ToSchedulerRuleOutput

func (i *SchedulerRule) ToSchedulerRuleOutput() SchedulerRuleOutput

func (*SchedulerRule) ToSchedulerRuleOutputWithContext

func (i *SchedulerRule) ToSchedulerRuleOutputWithContext(ctx context.Context) SchedulerRuleOutput

type SchedulerRuleArgs

type SchedulerRuleArgs struct {
	// The scheduling rule for the Global Accelerator instance that interacts with Anti-DDoS Pro or Anti-DDoS Premium.
	Param pulumi.StringPtrInput
	// The ID of the resource group to which the anti-DDoS pro instance belongs in resource management. By default, no value is specified, indicating that the domains in the default resource group are listed.
	ResourceGroupId pulumi.StringPtrInput
	// The name of the rule.
	RuleName pulumi.StringInput
	// The rule type. Valid values:
	// `2`: tiered protection.
	// `3`: globalization acceleration.
	// `6`: Cloud product interaction.
	RuleType pulumi.IntInput
	// The information about the scheduling rules. See the following `Block rules`.
	Rules SchedulerRuleRuleArrayInput
}

The set of arguments for constructing a SchedulerRule resource.

func (SchedulerRuleArgs) ElementType

func (SchedulerRuleArgs) ElementType() reflect.Type

type SchedulerRuleArray

type SchedulerRuleArray []SchedulerRuleInput

func (SchedulerRuleArray) ElementType

func (SchedulerRuleArray) ElementType() reflect.Type

func (SchedulerRuleArray) ToSchedulerRuleArrayOutput

func (i SchedulerRuleArray) ToSchedulerRuleArrayOutput() SchedulerRuleArrayOutput

func (SchedulerRuleArray) ToSchedulerRuleArrayOutputWithContext

func (i SchedulerRuleArray) ToSchedulerRuleArrayOutputWithContext(ctx context.Context) SchedulerRuleArrayOutput

type SchedulerRuleArrayInput

type SchedulerRuleArrayInput interface {
	pulumi.Input

	ToSchedulerRuleArrayOutput() SchedulerRuleArrayOutput
	ToSchedulerRuleArrayOutputWithContext(context.Context) SchedulerRuleArrayOutput
}

SchedulerRuleArrayInput is an input type that accepts SchedulerRuleArray and SchedulerRuleArrayOutput values. You can construct a concrete instance of `SchedulerRuleArrayInput` via:

SchedulerRuleArray{ SchedulerRuleArgs{...} }

type SchedulerRuleArrayOutput

type SchedulerRuleArrayOutput struct{ *pulumi.OutputState }

func (SchedulerRuleArrayOutput) ElementType

func (SchedulerRuleArrayOutput) ElementType() reflect.Type

func (SchedulerRuleArrayOutput) Index

func (SchedulerRuleArrayOutput) ToSchedulerRuleArrayOutput

func (o SchedulerRuleArrayOutput) ToSchedulerRuleArrayOutput() SchedulerRuleArrayOutput

func (SchedulerRuleArrayOutput) ToSchedulerRuleArrayOutputWithContext

func (o SchedulerRuleArrayOutput) ToSchedulerRuleArrayOutputWithContext(ctx context.Context) SchedulerRuleArrayOutput

type SchedulerRuleInput

type SchedulerRuleInput interface {
	pulumi.Input

	ToSchedulerRuleOutput() SchedulerRuleOutput
	ToSchedulerRuleOutputWithContext(ctx context.Context) SchedulerRuleOutput
}

type SchedulerRuleMap

type SchedulerRuleMap map[string]SchedulerRuleInput

func (SchedulerRuleMap) ElementType

func (SchedulerRuleMap) ElementType() reflect.Type

func (SchedulerRuleMap) ToSchedulerRuleMapOutput

func (i SchedulerRuleMap) ToSchedulerRuleMapOutput() SchedulerRuleMapOutput

func (SchedulerRuleMap) ToSchedulerRuleMapOutputWithContext

func (i SchedulerRuleMap) ToSchedulerRuleMapOutputWithContext(ctx context.Context) SchedulerRuleMapOutput

type SchedulerRuleMapInput

type SchedulerRuleMapInput interface {
	pulumi.Input

	ToSchedulerRuleMapOutput() SchedulerRuleMapOutput
	ToSchedulerRuleMapOutputWithContext(context.Context) SchedulerRuleMapOutput
}

SchedulerRuleMapInput is an input type that accepts SchedulerRuleMap and SchedulerRuleMapOutput values. You can construct a concrete instance of `SchedulerRuleMapInput` via:

SchedulerRuleMap{ "key": SchedulerRuleArgs{...} }

type SchedulerRuleMapOutput

type SchedulerRuleMapOutput struct{ *pulumi.OutputState }

func (SchedulerRuleMapOutput) ElementType

func (SchedulerRuleMapOutput) ElementType() reflect.Type

func (SchedulerRuleMapOutput) MapIndex

func (SchedulerRuleMapOutput) ToSchedulerRuleMapOutput

func (o SchedulerRuleMapOutput) ToSchedulerRuleMapOutput() SchedulerRuleMapOutput

func (SchedulerRuleMapOutput) ToSchedulerRuleMapOutputWithContext

func (o SchedulerRuleMapOutput) ToSchedulerRuleMapOutputWithContext(ctx context.Context) SchedulerRuleMapOutput

type SchedulerRuleOutput

type SchedulerRuleOutput struct{ *pulumi.OutputState }

func (SchedulerRuleOutput) Cname

The cname is the traffic scheduler corresponding to rules.

func (SchedulerRuleOutput) ElementType

func (SchedulerRuleOutput) ElementType() reflect.Type

func (SchedulerRuleOutput) Param

The scheduling rule for the Global Accelerator instance that interacts with Anti-DDoS Pro or Anti-DDoS Premium.

func (SchedulerRuleOutput) ResourceGroupId

func (o SchedulerRuleOutput) ResourceGroupId() pulumi.StringPtrOutput

The ID of the resource group to which the anti-DDoS pro instance belongs in resource management. By default, no value is specified, indicating that the domains in the default resource group are listed.

func (SchedulerRuleOutput) RuleName

The name of the rule.

func (SchedulerRuleOutput) RuleType

func (o SchedulerRuleOutput) RuleType() pulumi.IntOutput

The rule type. Valid values: `2`: tiered protection. `3`: globalization acceleration. `6`: Cloud product interaction.

func (SchedulerRuleOutput) Rules

The information about the scheduling rules. See the following `Block rules`.

func (SchedulerRuleOutput) ToSchedulerRuleOutput

func (o SchedulerRuleOutput) ToSchedulerRuleOutput() SchedulerRuleOutput

func (SchedulerRuleOutput) ToSchedulerRuleOutputWithContext

func (o SchedulerRuleOutput) ToSchedulerRuleOutputWithContext(ctx context.Context) SchedulerRuleOutput

type SchedulerRuleRule

type SchedulerRuleRule struct {
	// The priority of the rule.
	Priority *int `pulumi:"priority"`
	// The region where the interaction resource that is used in the scheduling rule is deployed. **NOTE:** This parameter is returned only if the RuleType parameter is set to 2.
	RegionId *string `pulumi:"regionId"`
	// The status of the scheduling rule.
	Status *int `pulumi:"status"`
	// The address type of the interaction resource. Valid values:
	// `A`: IPv4 address.
	// `CNAME`: CNAME record.
	Type *string `pulumi:"type"`
	// The address of the interaction resource.
	Value *string `pulumi:"value"`
	// Required. The type of the linked resource. It is an Integer. Valid values:
	// `1`: The IP address of Anti-DDoS Pro or Anti-DDoS Premium
	// `2`: the IP address of the interaction resource (in the tiered protection scenario)
	// `3`: the IP address used to accelerate access (in the network acceleration scenario)
	// `6` the IP address of the interaction resource (in the cloud service interaction scenario)
	ValueType *int `pulumi:"valueType"`
}

type SchedulerRuleRuleArgs

type SchedulerRuleRuleArgs struct {
	// The priority of the rule.
	Priority pulumi.IntPtrInput `pulumi:"priority"`
	// The region where the interaction resource that is used in the scheduling rule is deployed. **NOTE:** This parameter is returned only if the RuleType parameter is set to 2.
	RegionId pulumi.StringPtrInput `pulumi:"regionId"`
	// The status of the scheduling rule.
	Status pulumi.IntPtrInput `pulumi:"status"`
	// The address type of the interaction resource. Valid values:
	// `A`: IPv4 address.
	// `CNAME`: CNAME record.
	Type pulumi.StringPtrInput `pulumi:"type"`
	// The address of the interaction resource.
	Value pulumi.StringPtrInput `pulumi:"value"`
	// Required. The type of the linked resource. It is an Integer. Valid values:
	// `1`: The IP address of Anti-DDoS Pro or Anti-DDoS Premium
	// `2`: the IP address of the interaction resource (in the tiered protection scenario)
	// `3`: the IP address used to accelerate access (in the network acceleration scenario)
	// `6` the IP address of the interaction resource (in the cloud service interaction scenario)
	ValueType pulumi.IntPtrInput `pulumi:"valueType"`
}

func (SchedulerRuleRuleArgs) ElementType

func (SchedulerRuleRuleArgs) ElementType() reflect.Type

func (SchedulerRuleRuleArgs) ToSchedulerRuleRuleOutput

func (i SchedulerRuleRuleArgs) ToSchedulerRuleRuleOutput() SchedulerRuleRuleOutput

func (SchedulerRuleRuleArgs) ToSchedulerRuleRuleOutputWithContext

func (i SchedulerRuleRuleArgs) ToSchedulerRuleRuleOutputWithContext(ctx context.Context) SchedulerRuleRuleOutput

type SchedulerRuleRuleArray

type SchedulerRuleRuleArray []SchedulerRuleRuleInput

func (SchedulerRuleRuleArray) ElementType

func (SchedulerRuleRuleArray) ElementType() reflect.Type

func (SchedulerRuleRuleArray) ToSchedulerRuleRuleArrayOutput

func (i SchedulerRuleRuleArray) ToSchedulerRuleRuleArrayOutput() SchedulerRuleRuleArrayOutput

func (SchedulerRuleRuleArray) ToSchedulerRuleRuleArrayOutputWithContext

func (i SchedulerRuleRuleArray) ToSchedulerRuleRuleArrayOutputWithContext(ctx context.Context) SchedulerRuleRuleArrayOutput

type SchedulerRuleRuleArrayInput

type SchedulerRuleRuleArrayInput interface {
	pulumi.Input

	ToSchedulerRuleRuleArrayOutput() SchedulerRuleRuleArrayOutput
	ToSchedulerRuleRuleArrayOutputWithContext(context.Context) SchedulerRuleRuleArrayOutput
}

SchedulerRuleRuleArrayInput is an input type that accepts SchedulerRuleRuleArray and SchedulerRuleRuleArrayOutput values. You can construct a concrete instance of `SchedulerRuleRuleArrayInput` via:

SchedulerRuleRuleArray{ SchedulerRuleRuleArgs{...} }

type SchedulerRuleRuleArrayOutput

type SchedulerRuleRuleArrayOutput struct{ *pulumi.OutputState }

func (SchedulerRuleRuleArrayOutput) ElementType

func (SchedulerRuleRuleArrayOutput) Index

func (SchedulerRuleRuleArrayOutput) ToSchedulerRuleRuleArrayOutput

func (o SchedulerRuleRuleArrayOutput) ToSchedulerRuleRuleArrayOutput() SchedulerRuleRuleArrayOutput

func (SchedulerRuleRuleArrayOutput) ToSchedulerRuleRuleArrayOutputWithContext

func (o SchedulerRuleRuleArrayOutput) ToSchedulerRuleRuleArrayOutputWithContext(ctx context.Context) SchedulerRuleRuleArrayOutput

type SchedulerRuleRuleInput

type SchedulerRuleRuleInput interface {
	pulumi.Input

	ToSchedulerRuleRuleOutput() SchedulerRuleRuleOutput
	ToSchedulerRuleRuleOutputWithContext(context.Context) SchedulerRuleRuleOutput
}

SchedulerRuleRuleInput is an input type that accepts SchedulerRuleRuleArgs and SchedulerRuleRuleOutput values. You can construct a concrete instance of `SchedulerRuleRuleInput` via:

SchedulerRuleRuleArgs{...}

type SchedulerRuleRuleOutput

type SchedulerRuleRuleOutput struct{ *pulumi.OutputState }

func (SchedulerRuleRuleOutput) ElementType

func (SchedulerRuleRuleOutput) ElementType() reflect.Type

func (SchedulerRuleRuleOutput) Priority

The priority of the rule.

func (SchedulerRuleRuleOutput) RegionId

The region where the interaction resource that is used in the scheduling rule is deployed. **NOTE:** This parameter is returned only if the RuleType parameter is set to 2.

func (SchedulerRuleRuleOutput) Status

The status of the scheduling rule.

func (SchedulerRuleRuleOutput) ToSchedulerRuleRuleOutput

func (o SchedulerRuleRuleOutput) ToSchedulerRuleRuleOutput() SchedulerRuleRuleOutput

func (SchedulerRuleRuleOutput) ToSchedulerRuleRuleOutputWithContext

func (o SchedulerRuleRuleOutput) ToSchedulerRuleRuleOutputWithContext(ctx context.Context) SchedulerRuleRuleOutput

func (SchedulerRuleRuleOutput) Type

The address type of the interaction resource. Valid values: `A`: IPv4 address. `CNAME`: CNAME record.

func (SchedulerRuleRuleOutput) Value

The address of the interaction resource.

func (SchedulerRuleRuleOutput) ValueType

Required. The type of the linked resource. It is an Integer. Valid values: `1`: The IP address of Anti-DDoS Pro or Anti-DDoS Premium `2`: the IP address of the interaction resource (in the tiered protection scenario) `3`: the IP address used to accelerate access (in the network acceleration scenario) `6` the IP address of the interaction resource (in the cloud service interaction scenario)

type SchedulerRuleState

type SchedulerRuleState struct {
	// The cname is the traffic scheduler corresponding to rules.
	Cname pulumi.StringPtrInput
	// The scheduling rule for the Global Accelerator instance that interacts with Anti-DDoS Pro or Anti-DDoS Premium.
	Param pulumi.StringPtrInput
	// The ID of the resource group to which the anti-DDoS pro instance belongs in resource management. By default, no value is specified, indicating that the domains in the default resource group are listed.
	ResourceGroupId pulumi.StringPtrInput
	// The name of the rule.
	RuleName pulumi.StringPtrInput
	// The rule type. Valid values:
	// `2`: tiered protection.
	// `3`: globalization acceleration.
	// `6`: Cloud product interaction.
	RuleType pulumi.IntPtrInput
	// The information about the scheduling rules. See the following `Block rules`.
	Rules SchedulerRuleRuleArrayInput
}

func (SchedulerRuleState) ElementType

func (SchedulerRuleState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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