ddos

package
v3.54.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BasicDefenseThreshold added in v3.20.0

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`.
	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:
	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 since v1.168.0.

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_, err := ecs.NewEipAddress(ctx, "default", &ecs.EipAddressArgs{
			AddressName:        pulumi.String(name),
			Isp:                pulumi.String("BGP"),
			InternetChargeType: pulumi.String("PayByBandwidth"),
			PaymentType:        pulumi.String("PayAsYouGo"),
		})
		if err != nil {
			return err
		}
		_, err = ddos.NewBasicDefenseThreshold(ctx, "default", &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 added in v3.20.0

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 added in v3.20.0

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 added in v3.20.0

func (*BasicDefenseThreshold) ElementType() reflect.Type

func (*BasicDefenseThreshold) ToBasicDefenseThresholdOutput added in v3.20.0

func (i *BasicDefenseThreshold) ToBasicDefenseThresholdOutput() BasicDefenseThresholdOutput

func (*BasicDefenseThreshold) ToBasicDefenseThresholdOutputWithContext added in v3.20.0

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

type BasicDefenseThresholdArgs added in v3.20.0

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`.
	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:
	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 added in v3.20.0

func (BasicDefenseThresholdArgs) ElementType() reflect.Type

type BasicDefenseThresholdArray added in v3.20.0

type BasicDefenseThresholdArray []BasicDefenseThresholdInput

func (BasicDefenseThresholdArray) ElementType added in v3.20.0

func (BasicDefenseThresholdArray) ElementType() reflect.Type

func (BasicDefenseThresholdArray) ToBasicDefenseThresholdArrayOutput added in v3.20.0

func (i BasicDefenseThresholdArray) ToBasicDefenseThresholdArrayOutput() BasicDefenseThresholdArrayOutput

func (BasicDefenseThresholdArray) ToBasicDefenseThresholdArrayOutputWithContext added in v3.20.0

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

type BasicDefenseThresholdArrayInput added in v3.20.0

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 added in v3.20.0

type BasicDefenseThresholdArrayOutput struct{ *pulumi.OutputState }

func (BasicDefenseThresholdArrayOutput) ElementType added in v3.20.0

func (BasicDefenseThresholdArrayOutput) Index added in v3.20.0

func (BasicDefenseThresholdArrayOutput) ToBasicDefenseThresholdArrayOutput added in v3.20.0

func (o BasicDefenseThresholdArrayOutput) ToBasicDefenseThresholdArrayOutput() BasicDefenseThresholdArrayOutput

func (BasicDefenseThresholdArrayOutput) ToBasicDefenseThresholdArrayOutputWithContext added in v3.20.0

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

type BasicDefenseThresholdInput added in v3.20.0

type BasicDefenseThresholdInput interface {
	pulumi.Input

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

type BasicDefenseThresholdMap added in v3.20.0

type BasicDefenseThresholdMap map[string]BasicDefenseThresholdInput

func (BasicDefenseThresholdMap) ElementType added in v3.20.0

func (BasicDefenseThresholdMap) ElementType() reflect.Type

func (BasicDefenseThresholdMap) ToBasicDefenseThresholdMapOutput added in v3.20.0

func (i BasicDefenseThresholdMap) ToBasicDefenseThresholdMapOutput() BasicDefenseThresholdMapOutput

func (BasicDefenseThresholdMap) ToBasicDefenseThresholdMapOutputWithContext added in v3.20.0

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

type BasicDefenseThresholdMapInput added in v3.20.0

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 added in v3.20.0

type BasicDefenseThresholdMapOutput struct{ *pulumi.OutputState }

func (BasicDefenseThresholdMapOutput) ElementType added in v3.20.0

func (BasicDefenseThresholdMapOutput) MapIndex added in v3.20.0

func (BasicDefenseThresholdMapOutput) ToBasicDefenseThresholdMapOutput added in v3.20.0

func (o BasicDefenseThresholdMapOutput) ToBasicDefenseThresholdMapOutput() BasicDefenseThresholdMapOutput

func (BasicDefenseThresholdMapOutput) ToBasicDefenseThresholdMapOutputWithContext added in v3.20.0

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

type BasicDefenseThresholdOutput added in v3.20.0

type BasicDefenseThresholdOutput struct{ *pulumi.OutputState }

func (BasicDefenseThresholdOutput) Bps added in v3.27.0

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 added in v3.27.0

The type of the threshold to query. Valid values: `defense`,`blackhole`.

func (BasicDefenseThresholdOutput) ElementType added in v3.20.0

func (BasicDefenseThresholdOutput) InstanceId added in v3.27.0

The ID of the instance.

func (BasicDefenseThresholdOutput) InstanceType added in v3.27.0

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

func (BasicDefenseThresholdOutput) InternetIp added in v3.27.0

The Internet IP address.

func (BasicDefenseThresholdOutput) IsAuto added in v3.27.0

Whether it is the system default threshold. Value:

func (BasicDefenseThresholdOutput) MaxBps added in v3.27.0

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

func (BasicDefenseThresholdOutput) MaxPps added in v3.27.0

The maximum packet scrubbing threshold. Unit: pps.

func (BasicDefenseThresholdOutput) Pps added in v3.27.0

The current message number cleaning threshold. Unit: pps.

func (BasicDefenseThresholdOutput) ToBasicDefenseThresholdOutput added in v3.20.0

func (o BasicDefenseThresholdOutput) ToBasicDefenseThresholdOutput() BasicDefenseThresholdOutput

func (BasicDefenseThresholdOutput) ToBasicDefenseThresholdOutputWithContext added in v3.20.0

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

type BasicDefenseThresholdState added in v3.20.0

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`.
	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:
	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 added in v3.20.0

func (BasicDefenseThresholdState) ElementType() reflect.Type

type BasicThreshold added in v3.29.0

type BasicThreshold 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 ID of the instance.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The type of the Instance. Valid values: `ecs`,`slb`,`eip`.
	InstanceType pulumi.StringOutput `pulumi:"instanceType"`
	// The IP address of the public IP address asset.
	InternetIp pulumi.StringOutput `pulumi:"internetIp"`
	// Maximum flow cleaning threshold. Unit: Mbps.
	MaxBps pulumi.IntOutput `pulumi:"maxBps"`
	// The maximum number of messages cleaning 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 Threshold resource.

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

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

## Example Usage

Basic Usage

```go package main

import (

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

) func main() { pulumi.Run(func(ctx *pulumi.Context) error { cfg := config.New(ctx, "") name := "tf-example"; if param := cfg.Get("name"); param != ""{ name = param } _default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{ AvailableDiskCategory: pulumi.StringRef("cloud_efficiency"), AvailableResourceCreation: pulumi.StringRef("VSwitch"), }, nil); if err != nil { return err } defaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{ AvailabilityZone: pulumi.StringRef(_default.Zones[0].Id), InstanceTypeFamily: pulumi.StringRef("ecs.sn1ne"), }, nil); if err != nil { return err } defaultGetImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{ NameRegex: pulumi.StringRef("^ubuntu_[0-9]+_[0-9]+_x64*"), MostRecent: pulumi.BoolRef(true), Owners: pulumi.StringRef("system"), }, nil); if err != nil { return err } defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{ VpcName: pulumi.String(name), CidrBlock: pulumi.String("192.168.0.0/16"), }) if err != nil { return err } defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{ VswitchName: pulumi.String(name), VpcId: defaultNetwork.ID(), CidrBlock: pulumi.String("192.168.192.0/24"), ZoneId: pulumi.String(_default.Ids[0]), }) if err != nil { return err } defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{ Name: pulumi.String(name), VpcId: defaultNetwork.ID(), }) if err != nil { return err } var splat0 pulumi.StringArray for _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) { splat0 = append(splat0, val0.ID()) } defaultInstance, err := ecs.NewInstance(ctx, "default", &ecs.InstanceArgs{ ImageId: pulumi.String(defaultGetImages.Images[0].Id), InstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id), InstanceName: pulumi.String(name), SecurityGroups: splat0, InternetChargeType: pulumi.String("PayByTraffic"), InternetMaxBandwidthOut: pulumi.Int(10), AvailabilityZone: pulumi.String(_default.Zones[0].Id), InstanceChargeType: pulumi.String("PostPaid"), SystemDiskCategory: pulumi.String("cloud_efficiency"), VswitchId: defaultSwitch.ID(), }) if err != nil { return err } _, err = ddos.NewBasicThreshold(ctx, "example", &ddos.BasicThresholdArgs{ InstanceType: pulumi.String("ecs"), InstanceId: defaultInstance.ID(), InternetIp: defaultInstance.PublicIp, Bps: pulumi.Int(100), Pps: pulumi.Int(60000), }) if err != nil { return err } return nil }) } ```

## Import

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

```sh $ pulumi import alicloud:ddos/basicThreshold:BasicThreshold example <instance_type>:<instance_id>:<internet_ip> ```

func GetBasicThreshold added in v3.29.0

func GetBasicThreshold(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BasicThresholdState, opts ...pulumi.ResourceOption) (*BasicThreshold, error)

GetBasicThreshold gets an existing BasicThreshold 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 NewBasicThreshold added in v3.29.0

func NewBasicThreshold(ctx *pulumi.Context,
	name string, args *BasicThresholdArgs, opts ...pulumi.ResourceOption) (*BasicThreshold, error)

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

func (*BasicThreshold) ElementType added in v3.29.0

func (*BasicThreshold) ElementType() reflect.Type

func (*BasicThreshold) ToBasicThresholdOutput added in v3.29.0

func (i *BasicThreshold) ToBasicThresholdOutput() BasicThresholdOutput

func (*BasicThreshold) ToBasicThresholdOutputWithContext added in v3.29.0

func (i *BasicThreshold) ToBasicThresholdOutputWithContext(ctx context.Context) BasicThresholdOutput

type BasicThresholdArgs added in v3.29.0

type BasicThresholdArgs 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.IntInput
	// The ID of the instance.
	InstanceId pulumi.StringInput
	// The type of the Instance. Valid values: `ecs`,`slb`,`eip`.
	InstanceType pulumi.StringInput
	// The IP address of the public IP address asset.
	InternetIp pulumi.StringInput
	// The current message number cleaning threshold. Unit: pps.
	Pps pulumi.IntInput
}

The set of arguments for constructing a BasicThreshold resource.

func (BasicThresholdArgs) ElementType added in v3.29.0

func (BasicThresholdArgs) ElementType() reflect.Type

type BasicThresholdArray added in v3.29.0

type BasicThresholdArray []BasicThresholdInput

func (BasicThresholdArray) ElementType added in v3.29.0

func (BasicThresholdArray) ElementType() reflect.Type

func (BasicThresholdArray) ToBasicThresholdArrayOutput added in v3.29.0

func (i BasicThresholdArray) ToBasicThresholdArrayOutput() BasicThresholdArrayOutput

func (BasicThresholdArray) ToBasicThresholdArrayOutputWithContext added in v3.29.0

func (i BasicThresholdArray) ToBasicThresholdArrayOutputWithContext(ctx context.Context) BasicThresholdArrayOutput

type BasicThresholdArrayInput added in v3.29.0

type BasicThresholdArrayInput interface {
	pulumi.Input

	ToBasicThresholdArrayOutput() BasicThresholdArrayOutput
	ToBasicThresholdArrayOutputWithContext(context.Context) BasicThresholdArrayOutput
}

BasicThresholdArrayInput is an input type that accepts BasicThresholdArray and BasicThresholdArrayOutput values. You can construct a concrete instance of `BasicThresholdArrayInput` via:

BasicThresholdArray{ BasicThresholdArgs{...} }

type BasicThresholdArrayOutput added in v3.29.0

type BasicThresholdArrayOutput struct{ *pulumi.OutputState }

func (BasicThresholdArrayOutput) ElementType added in v3.29.0

func (BasicThresholdArrayOutput) ElementType() reflect.Type

func (BasicThresholdArrayOutput) Index added in v3.29.0

func (BasicThresholdArrayOutput) ToBasicThresholdArrayOutput added in v3.29.0

func (o BasicThresholdArrayOutput) ToBasicThresholdArrayOutput() BasicThresholdArrayOutput

func (BasicThresholdArrayOutput) ToBasicThresholdArrayOutputWithContext added in v3.29.0

func (o BasicThresholdArrayOutput) ToBasicThresholdArrayOutputWithContext(ctx context.Context) BasicThresholdArrayOutput

type BasicThresholdInput added in v3.29.0

type BasicThresholdInput interface {
	pulumi.Input

	ToBasicThresholdOutput() BasicThresholdOutput
	ToBasicThresholdOutputWithContext(ctx context.Context) BasicThresholdOutput
}

type BasicThresholdMap added in v3.29.0

type BasicThresholdMap map[string]BasicThresholdInput

func (BasicThresholdMap) ElementType added in v3.29.0

func (BasicThresholdMap) ElementType() reflect.Type

func (BasicThresholdMap) ToBasicThresholdMapOutput added in v3.29.0

func (i BasicThresholdMap) ToBasicThresholdMapOutput() BasicThresholdMapOutput

func (BasicThresholdMap) ToBasicThresholdMapOutputWithContext added in v3.29.0

func (i BasicThresholdMap) ToBasicThresholdMapOutputWithContext(ctx context.Context) BasicThresholdMapOutput

type BasicThresholdMapInput added in v3.29.0

type BasicThresholdMapInput interface {
	pulumi.Input

	ToBasicThresholdMapOutput() BasicThresholdMapOutput
	ToBasicThresholdMapOutputWithContext(context.Context) BasicThresholdMapOutput
}

BasicThresholdMapInput is an input type that accepts BasicThresholdMap and BasicThresholdMapOutput values. You can construct a concrete instance of `BasicThresholdMapInput` via:

BasicThresholdMap{ "key": BasicThresholdArgs{...} }

type BasicThresholdMapOutput added in v3.29.0

type BasicThresholdMapOutput struct{ *pulumi.OutputState }

func (BasicThresholdMapOutput) ElementType added in v3.29.0

func (BasicThresholdMapOutput) ElementType() reflect.Type

func (BasicThresholdMapOutput) MapIndex added in v3.29.0

func (BasicThresholdMapOutput) ToBasicThresholdMapOutput added in v3.29.0

func (o BasicThresholdMapOutput) ToBasicThresholdMapOutput() BasicThresholdMapOutput

func (BasicThresholdMapOutput) ToBasicThresholdMapOutputWithContext added in v3.29.0

func (o BasicThresholdMapOutput) ToBasicThresholdMapOutputWithContext(ctx context.Context) BasicThresholdMapOutput

type BasicThresholdOutput added in v3.29.0

type BasicThresholdOutput struct{ *pulumi.OutputState }

func (BasicThresholdOutput) Bps added in v3.29.0

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 (BasicThresholdOutput) ElementType added in v3.29.0

func (BasicThresholdOutput) ElementType() reflect.Type

func (BasicThresholdOutput) InstanceId added in v3.29.0

func (o BasicThresholdOutput) InstanceId() pulumi.StringOutput

The ID of the instance.

func (BasicThresholdOutput) InstanceType added in v3.29.0

func (o BasicThresholdOutput) InstanceType() pulumi.StringOutput

The type of the Instance. Valid values: `ecs`,`slb`,`eip`.

func (BasicThresholdOutput) InternetIp added in v3.29.0

func (o BasicThresholdOutput) InternetIp() pulumi.StringOutput

The IP address of the public IP address asset.

func (BasicThresholdOutput) MaxBps added in v3.29.0

Maximum flow cleaning threshold. Unit: Mbps.

func (BasicThresholdOutput) MaxPps added in v3.29.0

The maximum number of messages cleaning threshold. Unit: pps.

func (BasicThresholdOutput) Pps added in v3.29.0

The current message number cleaning threshold. Unit: pps.

func (BasicThresholdOutput) ToBasicThresholdOutput added in v3.29.0

func (o BasicThresholdOutput) ToBasicThresholdOutput() BasicThresholdOutput

func (BasicThresholdOutput) ToBasicThresholdOutputWithContext added in v3.29.0

func (o BasicThresholdOutput) ToBasicThresholdOutputWithContext(ctx context.Context) BasicThresholdOutput

type BasicThresholdState added in v3.29.0

type BasicThresholdState 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 ID of the instance.
	InstanceId pulumi.StringPtrInput
	// The type of the Instance. Valid values: `ecs`,`slb`,`eip`.
	InstanceType pulumi.StringPtrInput
	// The IP address of the public IP address asset.
	InternetIp pulumi.StringPtrInput
	// Maximum flow cleaning threshold. Unit: Mbps.
	MaxBps pulumi.IntPtrInput
	// The maximum number of messages cleaning threshold. Unit: pps.
	MaxPps pulumi.IntPtrInput
	// The current message number cleaning threshold. Unit: pps.
	Pps pulumi.IntPtrInput
}

func (BasicThresholdState) ElementType added in v3.29.0

func (BasicThresholdState) ElementType() reflect.Type

type BgpIp added in v3.28.0

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 since v1.180.0.

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := resourcemanager.GetResourceGroups(ctx, nil, nil)
		if err != nil {
			return err
		}
		instance, err := ddos.NewDdosBgpInstance(ctx, "instance", &ddos.DdosBgpInstanceArgs{
			Name:            pulumi.String(name),
			BaseBandwidth:   pulumi.Int(20),
			Bandwidth:       -1,
			IpCount:         pulumi.Int(100),
			IpType:          pulumi.String("IPv4"),
			NormalBandwidth: pulumi.Int(100),
			Type:            pulumi.String("Enterprise"),
		})
		if err != nil {
			return err
		}
		defaultEipAddress, err := ecs.NewEipAddress(ctx, "default", &ecs.EipAddressArgs{
			AddressName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = ddos.NewBgpIp(ctx, "default", &ddos.BgpIpArgs{
			InstanceId:      instance.ID(),
			Ip:              defaultEipAddress.IpAddress,
			ResourceGroupId: pulumi.String(_default.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 added in v3.28.0

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 added in v3.28.0

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 added in v3.28.0

func (*BgpIp) ElementType() reflect.Type

func (*BgpIp) ToBgpIpOutput added in v3.28.0

func (i *BgpIp) ToBgpIpOutput() BgpIpOutput

func (*BgpIp) ToBgpIpOutputWithContext added in v3.28.0

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

type BgpIpArgs added in v3.28.0

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 added in v3.28.0

func (BgpIpArgs) ElementType() reflect.Type

type BgpIpArray added in v3.28.0

type BgpIpArray []BgpIpInput

func (BgpIpArray) ElementType added in v3.28.0

func (BgpIpArray) ElementType() reflect.Type

func (BgpIpArray) ToBgpIpArrayOutput added in v3.28.0

func (i BgpIpArray) ToBgpIpArrayOutput() BgpIpArrayOutput

func (BgpIpArray) ToBgpIpArrayOutputWithContext added in v3.28.0

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

type BgpIpArrayInput added in v3.28.0

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 added in v3.28.0

type BgpIpArrayOutput struct{ *pulumi.OutputState }

func (BgpIpArrayOutput) ElementType added in v3.28.0

func (BgpIpArrayOutput) ElementType() reflect.Type

func (BgpIpArrayOutput) Index added in v3.28.0

func (BgpIpArrayOutput) ToBgpIpArrayOutput added in v3.28.0

func (o BgpIpArrayOutput) ToBgpIpArrayOutput() BgpIpArrayOutput

func (BgpIpArrayOutput) ToBgpIpArrayOutputWithContext added in v3.28.0

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

type BgpIpInput added in v3.28.0

type BgpIpInput interface {
	pulumi.Input

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

type BgpIpMap added in v3.28.0

type BgpIpMap map[string]BgpIpInput

func (BgpIpMap) ElementType added in v3.28.0

func (BgpIpMap) ElementType() reflect.Type

func (BgpIpMap) ToBgpIpMapOutput added in v3.28.0

func (i BgpIpMap) ToBgpIpMapOutput() BgpIpMapOutput

func (BgpIpMap) ToBgpIpMapOutputWithContext added in v3.28.0

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

type BgpIpMapInput added in v3.28.0

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 added in v3.28.0

type BgpIpMapOutput struct{ *pulumi.OutputState }

func (BgpIpMapOutput) ElementType added in v3.28.0

func (BgpIpMapOutput) ElementType() reflect.Type

func (BgpIpMapOutput) MapIndex added in v3.28.0

func (BgpIpMapOutput) ToBgpIpMapOutput added in v3.28.0

func (o BgpIpMapOutput) ToBgpIpMapOutput() BgpIpMapOutput

func (BgpIpMapOutput) ToBgpIpMapOutputWithContext added in v3.28.0

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

type BgpIpOutput added in v3.28.0

type BgpIpOutput struct{ *pulumi.OutputState }

func (BgpIpOutput) ElementType added in v3.28.0

func (BgpIpOutput) ElementType() reflect.Type

func (BgpIpOutput) InstanceId added in v3.28.0

func (o BgpIpOutput) InstanceId() pulumi.StringOutput

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

func (BgpIpOutput) Ip added in v3.28.0

The IP address.

func (BgpIpOutput) ResourceGroupId added in v3.28.0

func (o BgpIpOutput) ResourceGroupId() pulumi.StringPtrOutput

The ID of the resource group.

func (BgpIpOutput) Status added in v3.28.0

func (o BgpIpOutput) Status() pulumi.StringOutput

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

func (BgpIpOutput) ToBgpIpOutput added in v3.28.0

func (o BgpIpOutput) ToBgpIpOutput() BgpIpOutput

func (BgpIpOutput) ToBgpIpOutputWithContext added in v3.28.0

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

type BgpIpState added in v3.28.0

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 added in v3.28.0

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 since v1.183.0.

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_, err := ddos.NewDdosBgpInstance(ctx, "instance", &ddos.DdosBgpInstanceArgs{
			Name:            pulumi.String(name),
			BaseBandwidth:   pulumi.Int(20),
			Bandwidth:       -1,
			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 added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

IP count of the instance. Valid values: 100.

func (DdosBgpInstanceOutput) IpType added in v3.27.0

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

func (DdosBgpInstanceOutput) Name added in v3.27.0

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

func (DdosBgpInstanceOutput) NormalBandwidth added in v3.29.0

func (o DdosBgpInstanceOutput) NormalBandwidth() pulumi.IntOutput

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

func (DdosBgpInstanceOutput) Period added in v3.27.0

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 added in v3.27.0

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

	// The IP version of the IP address. Default value: `Ipv4`. Valid values: `Ipv4`, `Ipv6`. **NOTE:** `addressType` is valid only when `productType` is set to `ddoscoo` or `ddoscooIntl`.
	AddressType pulumi.StringOutput `pulumi:"addressType"`
	// 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. **NOTE:** `bandwidth` is valid only when `productType` is set to `ddoscoo` or `ddoscooIntl`.
	Bandwidth pulumi.StringOutput `pulumi:"bandwidth"`
	// The mitigation plan of the instance. Valid values:
	BandwidthMode pulumi.StringPtrOutput `pulumi:"bandwidthMode"`
	// Base defend bandwidth of the instance. Valid values: `30`, `60`, `100`, `300`, `400`, `500`, `600`. The unit is Gbps. Only support upgrade. **NOTE:** `baseBandwidth` is valid only when `productType` is set to `ddoscoo` or `ddoscooIntl`.
	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"`
	// The mitigation plan of the instance. Default value: `coop`. Valid values:
	EditionSale pulumi.StringOutput `pulumi:"editionSale"`
	// The function plan of the instance. Valid values:
	FunctionVersion pulumi.StringOutput `pulumi:"functionVersion"`
	// (Available since v1.212.0) The IP address of the instance.
	Ip pulumi.StringOutput `pulumi:"ip"`
	// Name of the instance. This name can have a string of `1` to `64` characters.
	Name pulumi.StringOutput `pulumi:"name"`
	// The clean bandwidth provided by the instance. **NOTE:** `normalBandwidth` is valid only when `productType` is set to `ddosDip`.
	NormalBandwidth pulumi.StringOutput `pulumi:"normalBandwidth"`
	// The clean QPS provided by the instance. **NOTE:** `normalQps` is valid only when `productType` is set to `ddosDip`.
	NormalQps pulumi.StringOutput `pulumi:"normalQps"`
	// The duration that you will buy DdosCoo instance (in month). Valid values: [1~9], `12`, `24`, `36`. Default value: `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 mitigation plan of the instance. Valid values:
	ProductPlan pulumi.StringOutput `pulumi:"productPlan"`
	// The product type for purchasing DDOSCOO instances used to differ different account type. Default value: `ddoscoo`. Valid values:
	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. **NOTE:** `serviceBandwidth` is valid only when `productType` is set to `ddoscoo` or `ddoscooIntl`.
	ServiceBandwidth pulumi.StringOutput `pulumi:"serviceBandwidth"`
}

Provides a BGP-line Anti-DDoS Pro(DdosCoo) Instance resource.

For information about BGP-line Anti-DDoS Pro(DdosCoo) Instance and how to use it, see [What is Anti-DDoS Pro Instance](https://www.alibabacloud.com/help/en/ddos-protection/latest/create-an-anti-ddos-pro-or-anti-ddos-premium-instance-by-calling-an-api-operation).

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

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

> **NOTE:** From version 1.214.0, if `productType` is set to `ddoscoo` or `ddoscooIntl`, the provider `region` should be set to `cn-hangzhou`, and if `productType` is set to `ddosDip`, the provider `region` should be set to `ap-southeast-1`.

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_, err := ddos.NewDdosCooInstance(ctx, "default", &ddos.DdosCooInstanceArgs{
			Name:             pulumi.String(name),
			BaseBandwidth:    pulumi.String("30"),
			Bandwidth:        pulumi.String("30"),
			ServiceBandwidth: pulumi.String("100"),
			PortCount:        pulumi.String("50"),
			DomainCount:      pulumi.String("50"),
			ProductType:      pulumi.String("ddoscoo"),
			Period:           pulumi.Int(1),
		})
		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 {
	// The IP version of the IP address. Default value: `Ipv4`. Valid values: `Ipv4`, `Ipv6`. **NOTE:** `addressType` is valid only when `productType` is set to `ddoscoo` or `ddoscooIntl`.
	AddressType pulumi.StringPtrInput
	// 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. **NOTE:** `bandwidth` is valid only when `productType` is set to `ddoscoo` or `ddoscooIntl`.
	Bandwidth pulumi.StringPtrInput
	// The mitigation plan of the instance. Valid values:
	BandwidthMode pulumi.StringPtrInput
	// Base defend bandwidth of the instance. Valid values: `30`, `60`, `100`, `300`, `400`, `500`, `600`. The unit is Gbps. Only support upgrade. **NOTE:** `baseBandwidth` is valid only when `productType` is set to `ddoscoo` or `ddoscooIntl`.
	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.StringInput
	// The mitigation plan of the instance. Default value: `coop`. Valid values:
	EditionSale pulumi.StringPtrInput
	// The function plan of the instance. Valid values:
	FunctionVersion pulumi.StringPtrInput
	// Name of the instance. This name can have a string of `1` to `64` characters.
	Name pulumi.StringPtrInput
	// The clean bandwidth provided by the instance. **NOTE:** `normalBandwidth` is valid only when `productType` is set to `ddosDip`.
	NormalBandwidth pulumi.StringPtrInput
	// The clean QPS provided by the instance. **NOTE:** `normalQps` is valid only when `productType` is set to `ddosDip`.
	NormalQps pulumi.StringPtrInput
	// The duration that you will buy DdosCoo instance (in month). Valid values: [1~9], `12`, `24`, `36`. Default value: `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 mitigation plan of the instance. Valid values:
	ProductPlan pulumi.StringPtrInput
	// The product type for purchasing DDOSCOO instances used to differ different account type. Default value: `ddoscoo`. Valid values:
	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. **NOTE:** `serviceBandwidth` is valid only when `productType` is set to `ddoscoo` or `ddoscooIntl`.
	ServiceBandwidth pulumi.StringPtrInput
}

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) AddressType added in v3.45.0

func (o DdosCooInstanceOutput) AddressType() pulumi.StringOutput

The IP version of the IP address. Default value: `Ipv4`. Valid values: `Ipv4`, `Ipv6`. **NOTE:** `addressType` is valid only when `productType` is set to `ddoscoo` or `ddoscooIntl`.

func (DdosCooInstanceOutput) Bandwidth added in v3.27.0

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. **NOTE:** `bandwidth` is valid only when `productType` is set to `ddoscoo` or `ddoscooIntl`.

func (DdosCooInstanceOutput) BandwidthMode added in v3.45.0

func (o DdosCooInstanceOutput) BandwidthMode() pulumi.StringPtrOutput

The mitigation plan of the instance. Valid values:

func (DdosCooInstanceOutput) BaseBandwidth added in v3.27.0

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. **NOTE:** `baseBandwidth` is valid only when `productType` is set to `ddoscoo` or `ddoscooIntl`.

func (DdosCooInstanceOutput) DomainCount added in v3.27.0

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) EditionSale added in v3.45.0

func (o DdosCooInstanceOutput) EditionSale() pulumi.StringOutput

The mitigation plan of the instance. Default value: `coop`. Valid values:

func (DdosCooInstanceOutput) ElementType

func (DdosCooInstanceOutput) ElementType() reflect.Type

func (DdosCooInstanceOutput) FunctionVersion added in v3.46.0

func (o DdosCooInstanceOutput) FunctionVersion() pulumi.StringOutput

The function plan of the instance. Valid values:

func (DdosCooInstanceOutput) Ip added in v3.45.0

(Available since v1.212.0) The IP address of the instance.

func (DdosCooInstanceOutput) Name added in v3.27.0

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

func (DdosCooInstanceOutput) NormalBandwidth added in v3.46.0

func (o DdosCooInstanceOutput) NormalBandwidth() pulumi.StringOutput

The clean bandwidth provided by the instance. **NOTE:** `normalBandwidth` is valid only when `productType` is set to `ddosDip`.

func (DdosCooInstanceOutput) NormalQps added in v3.46.0

The clean QPS provided by the instance. **NOTE:** `normalQps` is valid only when `productType` is set to `ddosDip`.

func (DdosCooInstanceOutput) Period added in v3.27.0

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

func (DdosCooInstanceOutput) PortCount added in v3.27.0

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

func (DdosCooInstanceOutput) ProductPlan added in v3.46.0

func (o DdosCooInstanceOutput) ProductPlan() pulumi.StringOutput

The mitigation plan of the instance. Valid values:

func (DdosCooInstanceOutput) ProductType added in v3.27.0

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

func (DdosCooInstanceOutput) ServiceBandwidth added in v3.27.0

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. **NOTE:** `serviceBandwidth` is valid only when `productType` is set to `ddoscoo` or `ddoscooIntl`.

func (DdosCooInstanceOutput) ToDdosCooInstanceOutput

func (o DdosCooInstanceOutput) ToDdosCooInstanceOutput() DdosCooInstanceOutput

func (DdosCooInstanceOutput) ToDdosCooInstanceOutputWithContext

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

type DdosCooInstanceState

type DdosCooInstanceState struct {
	// The IP version of the IP address. Default value: `Ipv4`. Valid values: `Ipv4`, `Ipv6`. **NOTE:** `addressType` is valid only when `productType` is set to `ddoscoo` or `ddoscooIntl`.
	AddressType pulumi.StringPtrInput
	// 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. **NOTE:** `bandwidth` is valid only when `productType` is set to `ddoscoo` or `ddoscooIntl`.
	Bandwidth pulumi.StringPtrInput
	// The mitigation plan of the instance. Valid values:
	BandwidthMode pulumi.StringPtrInput
	// Base defend bandwidth of the instance. Valid values: `30`, `60`, `100`, `300`, `400`, `500`, `600`. The unit is Gbps. Only support upgrade. **NOTE:** `baseBandwidth` is valid only when `productType` is set to `ddoscoo` or `ddoscooIntl`.
	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
	// The mitigation plan of the instance. Default value: `coop`. Valid values:
	EditionSale pulumi.StringPtrInput
	// The function plan of the instance. Valid values:
	FunctionVersion pulumi.StringPtrInput
	// (Available since v1.212.0) The IP address of the instance.
	Ip pulumi.StringPtrInput
	// Name of the instance. This name can have a string of `1` to `64` characters.
	Name pulumi.StringPtrInput
	// The clean bandwidth provided by the instance. **NOTE:** `normalBandwidth` is valid only when `productType` is set to `ddosDip`.
	NormalBandwidth pulumi.StringPtrInput
	// The clean QPS provided by the instance. **NOTE:** `normalQps` is valid only when `productType` is set to `ddosDip`.
	NormalQps pulumi.StringPtrInput
	// The duration that you will buy DdosCoo instance (in month). Valid values: [1~9], `12`, `24`, `36`. Default value: `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 mitigation plan of the instance. Valid values:
	ProductPlan pulumi.StringPtrInput
	// The product type for purchasing DDOSCOO instances used to differ different account type. Default value: `ddoscoo`. Valid values:
	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. **NOTE:** `serviceBandwidth` is valid only when `productType` is set to `ddoscoo` or `ddoscooIntl`.
	ServiceBandwidth pulumi.StringPtrInput
}

func (DdosCooInstanceState) ElementType

func (DdosCooInstanceState) ElementType() reflect.Type

type DomainResource added in v3.2.0

type DomainResource struct {
	pulumi.CustomResourceState

	// (Available since v1.207.2) The CNAME assigned to the domain name.
	Cname pulumi.StringOutput `pulumi:"cname"`
	// The domain name of the website that you want to add to the instance.
	Domain pulumi.StringOutput `pulumi:"domain"`
	// The advanced HTTPS settings. This parameter takes effect only when the value of ProxyType includes https. This parameter is a string that contains a JSON struct. The JSON struct includes the following fields:
	HttpsExt pulumi.StringOutput `pulumi:"httpsExt"`
	// A list of instance ID that you want to associate. If this parameter is empty, only the domain name of the website is added but no instance is associated with the website.
	// > **NOTE:** There is a potential diff error because of the order of `instanceIds` values indefinite. So, from version 1.161.0, `instanceIds` type has been updated as `set` from `list`, and you can use tolist to convert it to a list.
	InstanceIds pulumi.StringArrayOutput `pulumi:"instanceIds"`
	// Specifies whether to enable the OCSP feature. Default value: `false`. Valid values:
	OcspEnabled pulumi.BoolPtrOutput `pulumi:"ocspEnabled"`
	// Protocol type and port number information. See `proxyTypes` below.
	// > **NOTE:** From version 1.206.0, `proxyTypes` can be modified.
	ProxyTypes DomainResourceProxyTypeArrayOutput `pulumi:"proxyTypes"`
	// the IP address. This field is required and must be a string array.
	RealServers pulumi.StringArrayOutput `pulumi:"realServers"`
	// The address type of the origin server. Use the domain name of the origin server if you deploy proxies, such as Web Application Firewall (WAF), between the origin server and the Anti-DDoS Pro or Anti-DDoS Premium instance. If you use the domain name, you must enter the address of the proxy, such as the CNAME of WAF. Valid values:
	RsType pulumi.IntOutput `pulumi:"rsType"`
}

Provides a Anti-DDoS Pro Domain Resource resource.

For information about Anti-DDoS Pro Domain Resource and how to use it, see [What is Domain Resource](https://www.alibabacloud.com/help/en/ddos-protection/latest/api-ddoscoo-2020-01-01-createwebrule).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		domain := "tf-example.alibaba.com"
		if param := cfg.Get("domain"); param != "" {
			domain = param
		}
		_, err := ddos.NewDdosCooInstance(ctx, "default", &ddos.DdosCooInstanceArgs{
			Name:             pulumi.String(name),
			Bandwidth:        pulumi.String("30"),
			BaseBandwidth:    pulumi.String("30"),
			ServiceBandwidth: pulumi.String("100"),
			PortCount:        pulumi.String("50"),
			DomainCount:      pulumi.String("50"),
			Period:           pulumi.Int(1),
			ProductType:      pulumi.String("ddoscoo"),
		})
		if err != nil {
			return err
		}
		_, err = ddos.NewDomainResource(ctx, "default", &ddos.DomainResourceArgs{
			Domain: pulumi.String(domain),
			RsType: pulumi.Int(0),
			InstanceIds: pulumi.StringArray{
				_default.ID(),
			},
			RealServers: pulumi.StringArray{
				pulumi.String("177.167.32.11"),
			},
			HttpsExt: pulumi.String("{\"Http2\":1,\"Http2https\":0,\"Https2http\":0}"),
			ProxyTypes: ddos.DomainResourceProxyTypeArray{
				&ddos.DomainResourceProxyTypeArgs{
					ProxyPorts: pulumi.IntArray{
						pulumi.Int(443),
					},
					ProxyType: pulumi.String("https"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import alicloud:ddos/domainResource:DomainResource example <domain> ```

func GetDomainResource added in v3.2.0

func GetDomainResource(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DomainResourceState, opts ...pulumi.ResourceOption) (*DomainResource, error)

GetDomainResource gets an existing DomainResource 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 NewDomainResource added in v3.2.0

func NewDomainResource(ctx *pulumi.Context,
	name string, args *DomainResourceArgs, opts ...pulumi.ResourceOption) (*DomainResource, error)

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

func (*DomainResource) ElementType added in v3.2.0

func (*DomainResource) ElementType() reflect.Type

func (*DomainResource) ToDomainResourceOutput added in v3.2.0

func (i *DomainResource) ToDomainResourceOutput() DomainResourceOutput

func (*DomainResource) ToDomainResourceOutputWithContext added in v3.2.0

func (i *DomainResource) ToDomainResourceOutputWithContext(ctx context.Context) DomainResourceOutput

type DomainResourceArgs added in v3.2.0

type DomainResourceArgs struct {
	// The domain name of the website that you want to add to the instance.
	Domain pulumi.StringInput
	// The advanced HTTPS settings. This parameter takes effect only when the value of ProxyType includes https. This parameter is a string that contains a JSON struct. The JSON struct includes the following fields:
	HttpsExt pulumi.StringPtrInput
	// A list of instance ID that you want to associate. If this parameter is empty, only the domain name of the website is added but no instance is associated with the website.
	// > **NOTE:** There is a potential diff error because of the order of `instanceIds` values indefinite. So, from version 1.161.0, `instanceIds` type has been updated as `set` from `list`, and you can use tolist to convert it to a list.
	InstanceIds pulumi.StringArrayInput
	// Specifies whether to enable the OCSP feature. Default value: `false`. Valid values:
	OcspEnabled pulumi.BoolPtrInput
	// Protocol type and port number information. See `proxyTypes` below.
	// > **NOTE:** From version 1.206.0, `proxyTypes` can be modified.
	ProxyTypes DomainResourceProxyTypeArrayInput
	// the IP address. This field is required and must be a string array.
	RealServers pulumi.StringArrayInput
	// The address type of the origin server. Use the domain name of the origin server if you deploy proxies, such as Web Application Firewall (WAF), between the origin server and the Anti-DDoS Pro or Anti-DDoS Premium instance. If you use the domain name, you must enter the address of the proxy, such as the CNAME of WAF. Valid values:
	RsType pulumi.IntInput
}

The set of arguments for constructing a DomainResource resource.

func (DomainResourceArgs) ElementType added in v3.2.0

func (DomainResourceArgs) ElementType() reflect.Type

type DomainResourceArray added in v3.2.0

type DomainResourceArray []DomainResourceInput

func (DomainResourceArray) ElementType added in v3.2.0

func (DomainResourceArray) ElementType() reflect.Type

func (DomainResourceArray) ToDomainResourceArrayOutput added in v3.2.0

func (i DomainResourceArray) ToDomainResourceArrayOutput() DomainResourceArrayOutput

func (DomainResourceArray) ToDomainResourceArrayOutputWithContext added in v3.2.0

func (i DomainResourceArray) ToDomainResourceArrayOutputWithContext(ctx context.Context) DomainResourceArrayOutput

type DomainResourceArrayInput added in v3.2.0

type DomainResourceArrayInput interface {
	pulumi.Input

	ToDomainResourceArrayOutput() DomainResourceArrayOutput
	ToDomainResourceArrayOutputWithContext(context.Context) DomainResourceArrayOutput
}

DomainResourceArrayInput is an input type that accepts DomainResourceArray and DomainResourceArrayOutput values. You can construct a concrete instance of `DomainResourceArrayInput` via:

DomainResourceArray{ DomainResourceArgs{...} }

type DomainResourceArrayOutput added in v3.2.0

type DomainResourceArrayOutput struct{ *pulumi.OutputState }

func (DomainResourceArrayOutput) ElementType added in v3.2.0

func (DomainResourceArrayOutput) ElementType() reflect.Type

func (DomainResourceArrayOutput) Index added in v3.2.0

func (DomainResourceArrayOutput) ToDomainResourceArrayOutput added in v3.2.0

func (o DomainResourceArrayOutput) ToDomainResourceArrayOutput() DomainResourceArrayOutput

func (DomainResourceArrayOutput) ToDomainResourceArrayOutputWithContext added in v3.2.0

func (o DomainResourceArrayOutput) ToDomainResourceArrayOutputWithContext(ctx context.Context) DomainResourceArrayOutput

type DomainResourceInput added in v3.2.0

type DomainResourceInput interface {
	pulumi.Input

	ToDomainResourceOutput() DomainResourceOutput
	ToDomainResourceOutputWithContext(ctx context.Context) DomainResourceOutput
}

type DomainResourceMap added in v3.2.0

type DomainResourceMap map[string]DomainResourceInput

func (DomainResourceMap) ElementType added in v3.2.0

func (DomainResourceMap) ElementType() reflect.Type

func (DomainResourceMap) ToDomainResourceMapOutput added in v3.2.0

func (i DomainResourceMap) ToDomainResourceMapOutput() DomainResourceMapOutput

func (DomainResourceMap) ToDomainResourceMapOutputWithContext added in v3.2.0

func (i DomainResourceMap) ToDomainResourceMapOutputWithContext(ctx context.Context) DomainResourceMapOutput

type DomainResourceMapInput added in v3.2.0

type DomainResourceMapInput interface {
	pulumi.Input

	ToDomainResourceMapOutput() DomainResourceMapOutput
	ToDomainResourceMapOutputWithContext(context.Context) DomainResourceMapOutput
}

DomainResourceMapInput is an input type that accepts DomainResourceMap and DomainResourceMapOutput values. You can construct a concrete instance of `DomainResourceMapInput` via:

DomainResourceMap{ "key": DomainResourceArgs{...} }

type DomainResourceMapOutput added in v3.2.0

type DomainResourceMapOutput struct{ *pulumi.OutputState }

func (DomainResourceMapOutput) ElementType added in v3.2.0

func (DomainResourceMapOutput) ElementType() reflect.Type

func (DomainResourceMapOutput) MapIndex added in v3.2.0

func (DomainResourceMapOutput) ToDomainResourceMapOutput added in v3.2.0

func (o DomainResourceMapOutput) ToDomainResourceMapOutput() DomainResourceMapOutput

func (DomainResourceMapOutput) ToDomainResourceMapOutputWithContext added in v3.2.0

func (o DomainResourceMapOutput) ToDomainResourceMapOutputWithContext(ctx context.Context) DomainResourceMapOutput

type DomainResourceOutput added in v3.2.0

type DomainResourceOutput struct{ *pulumi.OutputState }

func (DomainResourceOutput) Cname added in v3.40.0

(Available since v1.207.2) The CNAME assigned to the domain name.

func (DomainResourceOutput) Domain added in v3.27.0

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

func (DomainResourceOutput) ElementType added in v3.2.0

func (DomainResourceOutput) ElementType() reflect.Type

func (DomainResourceOutput) HttpsExt added in v3.27.0

The advanced HTTPS settings. This parameter takes effect only when the value of ProxyType includes https. This parameter is a string that contains a JSON struct. The JSON struct includes the following fields:

func (DomainResourceOutput) InstanceIds added in v3.27.0

A list of instance ID that you want to associate. If this parameter is empty, only the domain name of the website is added but no instance is associated with the website. > **NOTE:** There is a potential diff error because of the order of `instanceIds` values indefinite. So, from version 1.161.0, `instanceIds` type has been updated as `set` from `list`, and you can use tolist to convert it to a list.

func (DomainResourceOutput) OcspEnabled added in v3.42.0

func (o DomainResourceOutput) OcspEnabled() pulumi.BoolPtrOutput

Specifies whether to enable the OCSP feature. Default value: `false`. Valid values:

func (DomainResourceOutput) ProxyTypes added in v3.27.0

Protocol type and port number information. See `proxyTypes` below. > **NOTE:** From version 1.206.0, `proxyTypes` can be modified.

func (DomainResourceOutput) RealServers added in v3.27.0

the IP address. This field is required and must be a string array.

func (DomainResourceOutput) RsType added in v3.27.0

The address type of the origin server. Use the domain name of the origin server if you deploy proxies, such as Web Application Firewall (WAF), between the origin server and the Anti-DDoS Pro or Anti-DDoS Premium instance. If you use the domain name, you must enter the address of the proxy, such as the CNAME of WAF. Valid values:

func (DomainResourceOutput) ToDomainResourceOutput added in v3.2.0

func (o DomainResourceOutput) ToDomainResourceOutput() DomainResourceOutput

func (DomainResourceOutput) ToDomainResourceOutputWithContext added in v3.2.0

func (o DomainResourceOutput) ToDomainResourceOutputWithContext(ctx context.Context) DomainResourceOutput

type DomainResourceProxyType added in v3.2.0

type DomainResourceProxyType struct {
	// the port number. This field is required and must be an integer. **NOTE:** From version 1.206.0, `proxyPorts` can be modified.
	ProxyPorts []int `pulumi:"proxyPorts"`
	// the protocol type. This field is required and must be a string. Valid values: `http`, `https`, `websocket`, and `websockets`.
	ProxyType *string `pulumi:"proxyType"`
}

type DomainResourceProxyTypeArgs added in v3.2.0

type DomainResourceProxyTypeArgs struct {
	// the port number. This field is required and must be an integer. **NOTE:** From version 1.206.0, `proxyPorts` can be modified.
	ProxyPorts pulumi.IntArrayInput `pulumi:"proxyPorts"`
	// the protocol type. This field is required and must be a string. Valid values: `http`, `https`, `websocket`, and `websockets`.
	ProxyType pulumi.StringPtrInput `pulumi:"proxyType"`
}

func (DomainResourceProxyTypeArgs) ElementType added in v3.2.0

func (DomainResourceProxyTypeArgs) ToDomainResourceProxyTypeOutput added in v3.2.0

func (i DomainResourceProxyTypeArgs) ToDomainResourceProxyTypeOutput() DomainResourceProxyTypeOutput

func (DomainResourceProxyTypeArgs) ToDomainResourceProxyTypeOutputWithContext added in v3.2.0

func (i DomainResourceProxyTypeArgs) ToDomainResourceProxyTypeOutputWithContext(ctx context.Context) DomainResourceProxyTypeOutput

type DomainResourceProxyTypeArray added in v3.2.0

type DomainResourceProxyTypeArray []DomainResourceProxyTypeInput

func (DomainResourceProxyTypeArray) ElementType added in v3.2.0

func (DomainResourceProxyTypeArray) ToDomainResourceProxyTypeArrayOutput added in v3.2.0

func (i DomainResourceProxyTypeArray) ToDomainResourceProxyTypeArrayOutput() DomainResourceProxyTypeArrayOutput

func (DomainResourceProxyTypeArray) ToDomainResourceProxyTypeArrayOutputWithContext added in v3.2.0

func (i DomainResourceProxyTypeArray) ToDomainResourceProxyTypeArrayOutputWithContext(ctx context.Context) DomainResourceProxyTypeArrayOutput

type DomainResourceProxyTypeArrayInput added in v3.2.0

type DomainResourceProxyTypeArrayInput interface {
	pulumi.Input

	ToDomainResourceProxyTypeArrayOutput() DomainResourceProxyTypeArrayOutput
	ToDomainResourceProxyTypeArrayOutputWithContext(context.Context) DomainResourceProxyTypeArrayOutput
}

DomainResourceProxyTypeArrayInput is an input type that accepts DomainResourceProxyTypeArray and DomainResourceProxyTypeArrayOutput values. You can construct a concrete instance of `DomainResourceProxyTypeArrayInput` via:

DomainResourceProxyTypeArray{ DomainResourceProxyTypeArgs{...} }

type DomainResourceProxyTypeArrayOutput added in v3.2.0

type DomainResourceProxyTypeArrayOutput struct{ *pulumi.OutputState }

func (DomainResourceProxyTypeArrayOutput) ElementType added in v3.2.0

func (DomainResourceProxyTypeArrayOutput) Index added in v3.2.0

func (DomainResourceProxyTypeArrayOutput) ToDomainResourceProxyTypeArrayOutput added in v3.2.0

func (o DomainResourceProxyTypeArrayOutput) ToDomainResourceProxyTypeArrayOutput() DomainResourceProxyTypeArrayOutput

func (DomainResourceProxyTypeArrayOutput) ToDomainResourceProxyTypeArrayOutputWithContext added in v3.2.0

func (o DomainResourceProxyTypeArrayOutput) ToDomainResourceProxyTypeArrayOutputWithContext(ctx context.Context) DomainResourceProxyTypeArrayOutput

type DomainResourceProxyTypeInput added in v3.2.0

type DomainResourceProxyTypeInput interface {
	pulumi.Input

	ToDomainResourceProxyTypeOutput() DomainResourceProxyTypeOutput
	ToDomainResourceProxyTypeOutputWithContext(context.Context) DomainResourceProxyTypeOutput
}

DomainResourceProxyTypeInput is an input type that accepts DomainResourceProxyTypeArgs and DomainResourceProxyTypeOutput values. You can construct a concrete instance of `DomainResourceProxyTypeInput` via:

DomainResourceProxyTypeArgs{...}

type DomainResourceProxyTypeOutput added in v3.2.0

type DomainResourceProxyTypeOutput struct{ *pulumi.OutputState }

func (DomainResourceProxyTypeOutput) ElementType added in v3.2.0

func (DomainResourceProxyTypeOutput) ProxyPorts added in v3.2.0

the port number. This field is required and must be an integer. **NOTE:** From version 1.206.0, `proxyPorts` can be modified.

func (DomainResourceProxyTypeOutput) ProxyType added in v3.2.0

the protocol type. This field is required and must be a string. Valid values: `http`, `https`, `websocket`, and `websockets`.

func (DomainResourceProxyTypeOutput) ToDomainResourceProxyTypeOutput added in v3.2.0

func (o DomainResourceProxyTypeOutput) ToDomainResourceProxyTypeOutput() DomainResourceProxyTypeOutput

func (DomainResourceProxyTypeOutput) ToDomainResourceProxyTypeOutputWithContext added in v3.2.0

func (o DomainResourceProxyTypeOutput) ToDomainResourceProxyTypeOutputWithContext(ctx context.Context) DomainResourceProxyTypeOutput

type DomainResourceState added in v3.2.0

type DomainResourceState struct {
	// (Available since v1.207.2) The CNAME assigned to the domain name.
	Cname pulumi.StringPtrInput
	// The domain name of the website that you want to add to the instance.
	Domain pulumi.StringPtrInput
	// The advanced HTTPS settings. This parameter takes effect only when the value of ProxyType includes https. This parameter is a string that contains a JSON struct. The JSON struct includes the following fields:
	HttpsExt pulumi.StringPtrInput
	// A list of instance ID that you want to associate. If this parameter is empty, only the domain name of the website is added but no instance is associated with the website.
	// > **NOTE:** There is a potential diff error because of the order of `instanceIds` values indefinite. So, from version 1.161.0, `instanceIds` type has been updated as `set` from `list`, and you can use tolist to convert it to a list.
	InstanceIds pulumi.StringArrayInput
	// Specifies whether to enable the OCSP feature. Default value: `false`. Valid values:
	OcspEnabled pulumi.BoolPtrInput
	// Protocol type and port number information. See `proxyTypes` below.
	// > **NOTE:** From version 1.206.0, `proxyTypes` can be modified.
	ProxyTypes DomainResourceProxyTypeArrayInput
	// the IP address. This field is required and must be a string array.
	RealServers pulumi.StringArrayInput
	// The address type of the origin server. Use the domain name of the origin server if you deploy proxies, such as Web Application Firewall (WAF), between the origin server and the Anti-DDoS Pro or Anti-DDoS Premium instance. If you use the domain name, you must enter the address of the proxy, such as the CNAME of WAF. Valid values:
	RsType pulumi.IntPtrInput
}

func (DomainResourceState) ElementType added in v3.2.0

func (DomainResourceState) 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"`
	// File name where to save data source results (after running `pulumi preview`).
	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"`
	// The instance's region.
	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"`
	// The instance's region.
	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 added in v3.29.0

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

func (GetDdosBgpInstancesInstanceOutput) Region

The instance's region.

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 added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getDdosBgpInstances.

func (GetDdosBgpInstancesOutputArgs) ElementType added in v3.9.0

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 v1.183.0+ .

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_, err := ddos.NewDdosBgpInstance(ctx, "instance", &ddos.DdosBgpInstanceArgs{
			Name:            pulumi.String(name),
			BaseBandwidth:   pulumi.Int(20),
			Bandwidth:       -1,
			IpCount:         pulumi.Int(100),
			IpType:          pulumi.String("IPv4"),
			NormalBandwidth: pulumi.Int(100),
			Type:            pulumi.String("Enterprise"),
		})
		if err != nil {
			return err
		}
		instance, err := ddos.GetDdosBgpInstances(ctx, &ddos.GetDdosBgpInstancesArgs{
			NameRegex: pulumi.StringRef("ddosbgp"),
		}, nil)
		if err != nil {
			return err
		}
		var splat0 []*string
		for _, val0 := range []ddos.GetDdosBgpInstancesResult{
			instance,
		} {
			splat0 = append(splat0, val0.Id)
		}
		ctx.Export("instance", splat0)
		return nil
	})
}

```

type GetDdosBgpInstancesResultOutput added in v3.9.0

type GetDdosBgpInstancesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDdosBgpInstances.

func GetDdosBgpInstancesOutput added in v3.9.0

func (GetDdosBgpInstancesResultOutput) ElementType added in v3.9.0

func (GetDdosBgpInstancesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetDdosBgpInstancesResultOutput) Ids added in v3.9.0

A list of instance IDs.

func (GetDdosBgpInstancesResultOutput) Instances added in v3.9.0

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

func (GetDdosBgpInstancesResultOutput) NameRegex added in v3.9.0

func (GetDdosBgpInstancesResultOutput) Names added in v3.9.0

A list of instance names.

func (GetDdosBgpInstancesResultOutput) OutputFile added in v3.9.0

func (GetDdosBgpInstancesResultOutput) ToGetDdosBgpInstancesResultOutput added in v3.9.0

func (o GetDdosBgpInstancesResultOutput) ToGetDdosBgpInstancesResultOutput() GetDdosBgpInstancesResultOutput

func (GetDdosBgpInstancesResultOutput) ToGetDdosBgpInstancesResultOutputWithContext added in v3.9.0

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

type GetDdosBgpIpsArgs added in v3.28.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.28.0

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 added in v3.28.0

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 added in v3.28.0

func (GetDdosBgpIpsIpArgs) ElementType() reflect.Type

func (GetDdosBgpIpsIpArgs) ToGetDdosBgpIpsIpOutput added in v3.28.0

func (i GetDdosBgpIpsIpArgs) ToGetDdosBgpIpsIpOutput() GetDdosBgpIpsIpOutput

func (GetDdosBgpIpsIpArgs) ToGetDdosBgpIpsIpOutputWithContext added in v3.28.0

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

type GetDdosBgpIpsIpArray added in v3.28.0

type GetDdosBgpIpsIpArray []GetDdosBgpIpsIpInput

func (GetDdosBgpIpsIpArray) ElementType added in v3.28.0

func (GetDdosBgpIpsIpArray) ElementType() reflect.Type

func (GetDdosBgpIpsIpArray) ToGetDdosBgpIpsIpArrayOutput added in v3.28.0

func (i GetDdosBgpIpsIpArray) ToGetDdosBgpIpsIpArrayOutput() GetDdosBgpIpsIpArrayOutput

func (GetDdosBgpIpsIpArray) ToGetDdosBgpIpsIpArrayOutputWithContext added in v3.28.0

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

type GetDdosBgpIpsIpArrayInput added in v3.28.0

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 added in v3.28.0

type GetDdosBgpIpsIpArrayOutput struct{ *pulumi.OutputState }

func (GetDdosBgpIpsIpArrayOutput) ElementType added in v3.28.0

func (GetDdosBgpIpsIpArrayOutput) ElementType() reflect.Type

func (GetDdosBgpIpsIpArrayOutput) Index added in v3.28.0

func (GetDdosBgpIpsIpArrayOutput) ToGetDdosBgpIpsIpArrayOutput added in v3.28.0

func (o GetDdosBgpIpsIpArrayOutput) ToGetDdosBgpIpsIpArrayOutput() GetDdosBgpIpsIpArrayOutput

func (GetDdosBgpIpsIpArrayOutput) ToGetDdosBgpIpsIpArrayOutputWithContext added in v3.28.0

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

type GetDdosBgpIpsIpInput added in v3.28.0

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 added in v3.28.0

type GetDdosBgpIpsIpOutput struct{ *pulumi.OutputState }

func (GetDdosBgpIpsIpOutput) ElementType added in v3.28.0

func (GetDdosBgpIpsIpOutput) ElementType() reflect.Type

func (GetDdosBgpIpsIpOutput) Id added in v3.28.0

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

func (GetDdosBgpIpsIpOutput) InstanceId added in v3.28.0

func (o GetDdosBgpIpsIpOutput) InstanceId() pulumi.StringOutput

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

func (GetDdosBgpIpsIpOutput) Ip added in v3.28.0

The IP address.

func (GetDdosBgpIpsIpOutput) Product added in v3.28.0

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

func (GetDdosBgpIpsIpOutput) Status added in v3.28.0

The current state of the IP address.

func (GetDdosBgpIpsIpOutput) ToGetDdosBgpIpsIpOutput added in v3.28.0

func (o GetDdosBgpIpsIpOutput) ToGetDdosBgpIpsIpOutput() GetDdosBgpIpsIpOutput

func (GetDdosBgpIpsIpOutput) ToGetDdosBgpIpsIpOutputWithContext added in v3.28.0

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

type GetDdosBgpIpsOutputArgs added in v3.28.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.28.0

func (GetDdosBgpIpsOutputArgs) ElementType() reflect.Type

type GetDdosBgpIpsResult added in v3.28.0

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 added in v3.28.0

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

)

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 added in v3.28.0

type GetDdosBgpIpsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDdosBgpIps.

func GetDdosBgpIpsOutput added in v3.28.0

func GetDdosBgpIpsOutput(ctx *pulumi.Context, args GetDdosBgpIpsOutputArgs, opts ...pulumi.InvokeOption) GetDdosBgpIpsResultOutput

func (GetDdosBgpIpsResultOutput) ElementType added in v3.28.0

func (GetDdosBgpIpsResultOutput) ElementType() reflect.Type

func (GetDdosBgpIpsResultOutput) Id added in v3.28.0

The provider-assigned unique ID for this managed resource.

func (GetDdosBgpIpsResultOutput) Ids added in v3.28.0

func (GetDdosBgpIpsResultOutput) InstanceId added in v3.28.0

func (GetDdosBgpIpsResultOutput) Ips added in v3.28.0

func (GetDdosBgpIpsResultOutput) OutputFile added in v3.28.0

func (GetDdosBgpIpsResultOutput) PageNumber added in v3.28.0

func (GetDdosBgpIpsResultOutput) PageSize added in v3.28.0

func (GetDdosBgpIpsResultOutput) ProductName added in v3.28.0

func (GetDdosBgpIpsResultOutput) Status added in v3.28.0

func (GetDdosBgpIpsResultOutput) ToGetDdosBgpIpsResultOutput added in v3.28.0

func (o GetDdosBgpIpsResultOutput) ToGetDdosBgpIpsResultOutput() GetDdosBgpIpsResultOutput

func (GetDdosBgpIpsResultOutput) ToGetDdosBgpIpsResultOutputWithContext added in v3.28.0

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

type GetDdosCooDomainResourcesArgs added in v3.2.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// Match the pattern.
	QueryDomainPattern *string `pulumi:"queryDomainPattern"`
}

A collection of arguments for invoking getDdosCooDomainResources.

type GetDdosCooDomainResourcesOutputArgs added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// Match the pattern.
	QueryDomainPattern pulumi.StringPtrInput `pulumi:"queryDomainPattern"`
}

A collection of arguments for invoking getDdosCooDomainResources.

func (GetDdosCooDomainResourcesOutputArgs) ElementType added in v3.9.0

type GetDdosCooDomainResourcesResource added in v3.2.0

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 added in v3.2.0

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 added in v3.2.0

func (GetDdosCooDomainResourcesResourceArgs) ToGetDdosCooDomainResourcesResourceOutput added in v3.2.0

func (i GetDdosCooDomainResourcesResourceArgs) ToGetDdosCooDomainResourcesResourceOutput() GetDdosCooDomainResourcesResourceOutput

func (GetDdosCooDomainResourcesResourceArgs) ToGetDdosCooDomainResourcesResourceOutputWithContext added in v3.2.0

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

type GetDdosCooDomainResourcesResourceArray added in v3.2.0

type GetDdosCooDomainResourcesResourceArray []GetDdosCooDomainResourcesResourceInput

func (GetDdosCooDomainResourcesResourceArray) ElementType added in v3.2.0

func (GetDdosCooDomainResourcesResourceArray) ToGetDdosCooDomainResourcesResourceArrayOutput added in v3.2.0

func (i GetDdosCooDomainResourcesResourceArray) ToGetDdosCooDomainResourcesResourceArrayOutput() GetDdosCooDomainResourcesResourceArrayOutput

func (GetDdosCooDomainResourcesResourceArray) ToGetDdosCooDomainResourcesResourceArrayOutputWithContext added in v3.2.0

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

type GetDdosCooDomainResourcesResourceArrayInput added in v3.2.0

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 added in v3.2.0

type GetDdosCooDomainResourcesResourceArrayOutput struct{ *pulumi.OutputState }

func (GetDdosCooDomainResourcesResourceArrayOutput) ElementType added in v3.2.0

func (GetDdosCooDomainResourcesResourceArrayOutput) Index added in v3.2.0

func (GetDdosCooDomainResourcesResourceArrayOutput) ToGetDdosCooDomainResourcesResourceArrayOutput added in v3.2.0

func (o GetDdosCooDomainResourcesResourceArrayOutput) ToGetDdosCooDomainResourcesResourceArrayOutput() GetDdosCooDomainResourcesResourceArrayOutput

func (GetDdosCooDomainResourcesResourceArrayOutput) ToGetDdosCooDomainResourcesResourceArrayOutputWithContext added in v3.2.0

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

type GetDdosCooDomainResourcesResourceInput added in v3.2.0

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 added in v3.2.0

type GetDdosCooDomainResourcesResourceOutput struct{ *pulumi.OutputState }

func (GetDdosCooDomainResourcesResourceOutput) BlackLists added in v3.2.0

The IP addresses in the blacklist for the domain name.

func (GetDdosCooDomainResourcesResourceOutput) CcEnabled added in v3.2.0

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

func (GetDdosCooDomainResourcesResourceOutput) CcRuleEnabled added in v3.2.0

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

func (GetDdosCooDomainResourcesResourceOutput) CcTemplate added in v3.2.0

The mode of the Frequency Control policy.

func (GetDdosCooDomainResourcesResourceOutput) CertName added in v3.2.0

The name of the certificate.

func (GetDdosCooDomainResourcesResourceOutput) Domain added in v3.2.0

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

func (GetDdosCooDomainResourcesResourceOutput) ElementType added in v3.2.0

func (GetDdosCooDomainResourcesResourceOutput) Http2Enable added in v3.2.0

Whether Http2.0 is enabled.

func (GetDdosCooDomainResourcesResourceOutput) HttpsExt added in v3.2.0

The advanced HTTPS settings.

func (GetDdosCooDomainResourcesResourceOutput) Id added in v3.2.0

The ID of the Domain Resource.

func (GetDdosCooDomainResourcesResourceOutput) InstanceIds added in v3.2.0

A list ID of instance that you want to associate.

func (GetDdosCooDomainResourcesResourceOutput) PolicyMode added in v3.2.0

The type of backload algorithm.

func (GetDdosCooDomainResourcesResourceOutput) ProxyEnabled added in v3.2.0

Whether the website service forwarding rules have been turned on.

func (GetDdosCooDomainResourcesResourceOutput) ProxyTypes added in v3.2.0

Protocol type and port number information.

func (GetDdosCooDomainResourcesResourceOutput) RealServers added in v3.2.0

Server address information of the source station.

func (GetDdosCooDomainResourcesResourceOutput) RsType added in v3.2.0

Server address type.

func (GetDdosCooDomainResourcesResourceOutput) SslCiphers added in v3.2.0

The type of the cipher suite.

func (GetDdosCooDomainResourcesResourceOutput) SslProtocols added in v3.2.0

The version of the TLS protocol.

func (GetDdosCooDomainResourcesResourceOutput) ToGetDdosCooDomainResourcesResourceOutput added in v3.2.0

func (o GetDdosCooDomainResourcesResourceOutput) ToGetDdosCooDomainResourcesResourceOutput() GetDdosCooDomainResourcesResourceOutput

func (GetDdosCooDomainResourcesResourceOutput) ToGetDdosCooDomainResourcesResourceOutputWithContext added in v3.2.0

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

func (GetDdosCooDomainResourcesResourceOutput) WhiteLists added in v3.2.0

The IP addresses in the whitelist for the domain name.

type GetDdosCooDomainResourcesResourceProxyType added in v3.2.0

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

type GetDdosCooDomainResourcesResourceProxyTypeArgs added in v3.2.0

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

func (GetDdosCooDomainResourcesResourceProxyTypeArgs) ElementType added in v3.2.0

func (GetDdosCooDomainResourcesResourceProxyTypeArgs) ToGetDdosCooDomainResourcesResourceProxyTypeOutput added in v3.2.0

func (i GetDdosCooDomainResourcesResourceProxyTypeArgs) ToGetDdosCooDomainResourcesResourceProxyTypeOutput() GetDdosCooDomainResourcesResourceProxyTypeOutput

func (GetDdosCooDomainResourcesResourceProxyTypeArgs) ToGetDdosCooDomainResourcesResourceProxyTypeOutputWithContext added in v3.2.0

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

type GetDdosCooDomainResourcesResourceProxyTypeArray added in v3.2.0

type GetDdosCooDomainResourcesResourceProxyTypeArray []GetDdosCooDomainResourcesResourceProxyTypeInput

func (GetDdosCooDomainResourcesResourceProxyTypeArray) ElementType added in v3.2.0

func (GetDdosCooDomainResourcesResourceProxyTypeArray) ToGetDdosCooDomainResourcesResourceProxyTypeArrayOutput added in v3.2.0

func (i GetDdosCooDomainResourcesResourceProxyTypeArray) ToGetDdosCooDomainResourcesResourceProxyTypeArrayOutput() GetDdosCooDomainResourcesResourceProxyTypeArrayOutput

func (GetDdosCooDomainResourcesResourceProxyTypeArray) ToGetDdosCooDomainResourcesResourceProxyTypeArrayOutputWithContext added in v3.2.0

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

type GetDdosCooDomainResourcesResourceProxyTypeArrayInput added in v3.2.0

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 added in v3.2.0

type GetDdosCooDomainResourcesResourceProxyTypeArrayOutput struct{ *pulumi.OutputState }

func (GetDdosCooDomainResourcesResourceProxyTypeArrayOutput) ElementType added in v3.2.0

func (GetDdosCooDomainResourcesResourceProxyTypeArrayOutput) Index added in v3.2.0

func (GetDdosCooDomainResourcesResourceProxyTypeArrayOutput) ToGetDdosCooDomainResourcesResourceProxyTypeArrayOutput added in v3.2.0

func (GetDdosCooDomainResourcesResourceProxyTypeArrayOutput) ToGetDdosCooDomainResourcesResourceProxyTypeArrayOutputWithContext added in v3.2.0

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

type GetDdosCooDomainResourcesResourceProxyTypeInput added in v3.2.0

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 added in v3.2.0

type GetDdosCooDomainResourcesResourceProxyTypeOutput struct{ *pulumi.OutputState }

func (GetDdosCooDomainResourcesResourceProxyTypeOutput) ElementType added in v3.2.0

func (GetDdosCooDomainResourcesResourceProxyTypeOutput) ProxyPorts added in v3.2.0

The forwarding port.

func (GetDdosCooDomainResourcesResourceProxyTypeOutput) ProxyType added in v3.2.0

Protocol type.

func (GetDdosCooDomainResourcesResourceProxyTypeOutput) ToGetDdosCooDomainResourcesResourceProxyTypeOutput added in v3.2.0

func (o GetDdosCooDomainResourcesResourceProxyTypeOutput) ToGetDdosCooDomainResourcesResourceProxyTypeOutput() GetDdosCooDomainResourcesResourceProxyTypeOutput

func (GetDdosCooDomainResourcesResourceProxyTypeOutput) ToGetDdosCooDomainResourcesResourceProxyTypeOutputWithContext added in v3.2.0

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

type GetDdosCooDomainResourcesResult added in v3.2.0

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 added in v3.2.0

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

)

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 added in v3.9.0

type GetDdosCooDomainResourcesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDdosCooDomainResources.

func (GetDdosCooDomainResourcesResultOutput) ElementType added in v3.9.0

func (GetDdosCooDomainResourcesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetDdosCooDomainResourcesResultOutput) Ids added in v3.9.0

func (GetDdosCooDomainResourcesResultOutput) InstanceIds added in v3.9.0

func (GetDdosCooDomainResourcesResultOutput) OutputFile added in v3.9.0

func (GetDdosCooDomainResourcesResultOutput) QueryDomainPattern added in v3.9.0

func (GetDdosCooDomainResourcesResultOutput) Resources added in v3.9.0

func (GetDdosCooDomainResourcesResultOutput) ToGetDdosCooDomainResourcesResultOutput added in v3.9.0

func (o GetDdosCooDomainResourcesResultOutput) ToGetDdosCooDomainResourcesResultOutput() GetDdosCooDomainResourcesResultOutput

func (GetDdosCooDomainResourcesResultOutput) ToGetDdosCooDomainResourcesResultOutputWithContext added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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.
	Edition int `pulumi:"edition"`
	// The enabled of the instance.
	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.
	IpMode string `pulumi:"ipMode"`
	// The ip version of the instance.
	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.
	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.
	Edition pulumi.IntInput `pulumi:"edition"`
	// The enabled of the instance.
	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.
	IpMode pulumi.StringInput `pulumi:"ipMode"`
	// The ip version of the instance.
	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.
	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 added in v3.12.0

The creation time of the instance.

func (GetDdosCooInstancesInstanceOutput) DebtStatus added in v3.12.0

The debt status of the instance.

func (GetDdosCooInstancesInstanceOutput) DomainCount

The instance's count of domain retransmission config.

func (GetDdosCooInstancesInstanceOutput) Edition added in v3.12.0

The edition of the instance.

func (GetDdosCooInstancesInstanceOutput) ElementType

func (GetDdosCooInstancesInstanceOutput) Enabled added in v3.12.0

The enabled of the instance.

func (GetDdosCooInstancesInstanceOutput) ExpireTime added in v3.12.0

The expiry time of the instance.

func (GetDdosCooInstancesInstanceOutput) Id

The instance's id.

func (GetDdosCooInstancesInstanceOutput) IpMode added in v3.12.0

The ip mode of the instance.

func (GetDdosCooInstancesInstanceOutput) IpVersion added in v3.12.0

The ip version of the instance.

func (GetDdosCooInstancesInstanceOutput) Name

The instance's remark.

func (GetDdosCooInstancesInstanceOutput) PortCount

The instance's count of port retransmission config.

func (GetDdosCooInstancesInstanceOutput) Remark added in v3.12.0

The remark of the instance.

func (GetDdosCooInstancesInstanceOutput) ServiceBandwidth

func (o GetDdosCooInstancesInstanceOutput) ServiceBandwidth() pulumi.IntOutput

The instance's business bandwidth.

func (GetDdosCooInstancesInstanceOutput) Status added in v3.12.0

The status of the instance.

func (GetDdosCooInstancesInstanceOutput) ToGetDdosCooInstancesInstanceOutput

func (o GetDdosCooInstancesInstanceOutput) ToGetDdosCooInstancesInstanceOutput() GetDdosCooInstancesInstanceOutput

func (GetDdosCooInstancesInstanceOutput) ToGetDdosCooInstancesInstanceOutputWithContext

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

type GetDdosCooInstancesOutputArgs added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getDdosCooInstances.

func (GetDdosCooInstancesOutputArgs) ElementType added in v3.9.0

type GetDdosCooInstancesResult

type GetDdosCooInstancesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id  string   `pulumi:"id"`
	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 the BGP-Line Anti-DDoS Pro(DdosCoo) instances of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

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

)

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

```

type GetDdosCooInstancesResultOutput added in v3.9.0

type GetDdosCooInstancesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDdosCooInstances.

func GetDdosCooInstancesOutput added in v3.9.0

func (GetDdosCooInstancesResultOutput) ElementType added in v3.9.0

func (GetDdosCooInstancesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetDdosCooInstancesResultOutput) Ids added in v3.9.0

func (GetDdosCooInstancesResultOutput) Instances added in v3.9.0

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

func (GetDdosCooInstancesResultOutput) NameRegex added in v3.9.0

func (GetDdosCooInstancesResultOutput) Names added in v3.9.0

A list of instance names.

func (GetDdosCooInstancesResultOutput) OutputFile added in v3.9.0

func (GetDdosCooInstancesResultOutput) ToGetDdosCooInstancesResultOutput added in v3.9.0

func (o GetDdosCooInstancesResultOutput) ToGetDdosCooInstancesResultOutput() GetDdosCooInstancesResultOutput

func (GetDdosCooInstancesResultOutput) ToGetDdosCooInstancesResultOutputWithContext added in v3.9.0

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

type GetDdosCooPortsArgs added in v3.2.0

type GetDdosCooPortsArgs struct {
	// The forwarding port.
	FrontendPort *string `pulumi:"frontendPort"`
	// The forwarding protocol. Valid values `tcp` and `udp`.
	FrontendProtocol *string `pulumi:"frontendProtocol"`
	// A list of Port IDs.
	Ids []string `pulumi:"ids"`
	// The Ddoscoo instance ID.
	InstanceId string `pulumi:"instanceId"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getDdosCooPorts.

type GetDdosCooPortsOutputArgs added in v3.9.0

type GetDdosCooPortsOutputArgs struct {
	// The forwarding port.
	FrontendPort pulumi.StringPtrInput `pulumi:"frontendPort"`
	// The forwarding protocol. Valid values `tcp` and `udp`.
	FrontendProtocol pulumi.StringPtrInput `pulumi:"frontendProtocol"`
	// A list of Port IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The Ddoscoo instance ID.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getDdosCooPorts.

func (GetDdosCooPortsOutputArgs) ElementType added in v3.9.0

func (GetDdosCooPortsOutputArgs) ElementType() reflect.Type

type GetDdosCooPortsPort added in v3.2.0

type GetDdosCooPortsPort struct {
	// The source station port.
	BackendPort string `pulumi:"backendPort"`
	// The forwarding port.
	FrontendPort string `pulumi:"frontendPort"`
	// The forwarding protocol. Valid values `tcp` and `udp`.
	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 added in v3.2.0

type GetDdosCooPortsPortArgs struct {
	// The source station port.
	BackendPort pulumi.StringInput `pulumi:"backendPort"`
	// The forwarding port.
	FrontendPort pulumi.StringInput `pulumi:"frontendPort"`
	// The forwarding protocol. Valid values `tcp` and `udp`.
	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 added in v3.2.0

func (GetDdosCooPortsPortArgs) ElementType() reflect.Type

func (GetDdosCooPortsPortArgs) ToGetDdosCooPortsPortOutput added in v3.2.0

func (i GetDdosCooPortsPortArgs) ToGetDdosCooPortsPortOutput() GetDdosCooPortsPortOutput

func (GetDdosCooPortsPortArgs) ToGetDdosCooPortsPortOutputWithContext added in v3.2.0

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

type GetDdosCooPortsPortArray added in v3.2.0

type GetDdosCooPortsPortArray []GetDdosCooPortsPortInput

func (GetDdosCooPortsPortArray) ElementType added in v3.2.0

func (GetDdosCooPortsPortArray) ElementType() reflect.Type

func (GetDdosCooPortsPortArray) ToGetDdosCooPortsPortArrayOutput added in v3.2.0

func (i GetDdosCooPortsPortArray) ToGetDdosCooPortsPortArrayOutput() GetDdosCooPortsPortArrayOutput

func (GetDdosCooPortsPortArray) ToGetDdosCooPortsPortArrayOutputWithContext added in v3.2.0

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

type GetDdosCooPortsPortArrayInput added in v3.2.0

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 added in v3.2.0

type GetDdosCooPortsPortArrayOutput struct{ *pulumi.OutputState }

func (GetDdosCooPortsPortArrayOutput) ElementType added in v3.2.0

func (GetDdosCooPortsPortArrayOutput) Index added in v3.2.0

func (GetDdosCooPortsPortArrayOutput) ToGetDdosCooPortsPortArrayOutput added in v3.2.0

func (o GetDdosCooPortsPortArrayOutput) ToGetDdosCooPortsPortArrayOutput() GetDdosCooPortsPortArrayOutput

func (GetDdosCooPortsPortArrayOutput) ToGetDdosCooPortsPortArrayOutputWithContext added in v3.2.0

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

type GetDdosCooPortsPortInput added in v3.2.0

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 added in v3.2.0

type GetDdosCooPortsPortOutput struct{ *pulumi.OutputState }

func (GetDdosCooPortsPortOutput) BackendPort added in v3.2.0

The source station port.

func (GetDdosCooPortsPortOutput) ElementType added in v3.2.0

func (GetDdosCooPortsPortOutput) ElementType() reflect.Type

func (GetDdosCooPortsPortOutput) FrontendPort added in v3.2.0

The forwarding port.

func (GetDdosCooPortsPortOutput) FrontendProtocol added in v3.2.0

func (o GetDdosCooPortsPortOutput) FrontendProtocol() pulumi.StringOutput

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

func (GetDdosCooPortsPortOutput) Id added in v3.2.0

The ID of the Port.

func (GetDdosCooPortsPortOutput) InstanceId added in v3.2.0

The Ddoscoo instance ID.

func (GetDdosCooPortsPortOutput) RealServers added in v3.2.0

List of source IP addresses.

func (GetDdosCooPortsPortOutput) ToGetDdosCooPortsPortOutput added in v3.2.0

func (o GetDdosCooPortsPortOutput) ToGetDdosCooPortsPortOutput() GetDdosCooPortsPortOutput

func (GetDdosCooPortsPortOutput) ToGetDdosCooPortsPortOutputWithContext added in v3.2.0

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

type GetDdosCooPortsResult added in v3.2.0

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 added in v3.2.0

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

)

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 added in v3.9.0

type GetDdosCooPortsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDdosCooPorts.

func GetDdosCooPortsOutput added in v3.9.0

func (GetDdosCooPortsResultOutput) ElementType added in v3.9.0

func (GetDdosCooPortsResultOutput) FrontendPort added in v3.9.0

func (GetDdosCooPortsResultOutput) FrontendProtocol added in v3.9.0

func (o GetDdosCooPortsResultOutput) FrontendProtocol() pulumi.StringPtrOutput

func (GetDdosCooPortsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetDdosCooPortsResultOutput) Ids added in v3.9.0

func (GetDdosCooPortsResultOutput) InstanceId added in v3.9.0

func (GetDdosCooPortsResultOutput) OutputFile added in v3.9.0

func (GetDdosCooPortsResultOutput) Ports added in v3.9.0

func (GetDdosCooPortsResultOutput) ToGetDdosCooPortsResultOutput added in v3.9.0

func (o GetDdosCooPortsResultOutput) ToGetDdosCooPortsResultOutput() GetDdosCooPortsResultOutput

func (GetDdosCooPortsResultOutput) ToGetDdosCooPortsResultOutputWithContext added in v3.9.0

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

type Port added in v3.2.0

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/ddos-protection/latest/api-ddoscoo-2020-01-01-createport).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_, err := ddos.NewDdosCooInstance(ctx, "default", &ddos.DdosCooInstanceArgs{
			Name:             pulumi.String(name),
			Bandwidth:        pulumi.String("30"),
			BaseBandwidth:    pulumi.String("30"),
			ServiceBandwidth: pulumi.String("100"),
			PortCount:        pulumi.String("50"),
			DomainCount:      pulumi.String("50"),
			Period:           pulumi.Int(1),
			ProductType:      pulumi.String("ddoscoo"),
		})
		if err != nil {
			return err
		}
		_, err = ddos.NewPort(ctx, "default", &ddos.PortArgs{
			InstanceId:       _default.ID(),
			FrontendPort:     pulumi.String("7001"),
			BackendPort:      pulumi.String("7002"),
			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 added in v3.2.0

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 added in v3.2.0

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 added in v3.2.0

func (*Port) ElementType() reflect.Type

func (*Port) ToPortOutput added in v3.2.0

func (i *Port) ToPortOutput() PortOutput

func (*Port) ToPortOutputWithContext added in v3.2.0

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

type PortArgs added in v3.2.0

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 added in v3.2.0

func (PortArgs) ElementType() reflect.Type

type PortArray added in v3.2.0

type PortArray []PortInput

func (PortArray) ElementType added in v3.2.0

func (PortArray) ElementType() reflect.Type

func (PortArray) ToPortArrayOutput added in v3.2.0

func (i PortArray) ToPortArrayOutput() PortArrayOutput

func (PortArray) ToPortArrayOutputWithContext added in v3.2.0

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

type PortArrayInput added in v3.2.0

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 added in v3.2.0

type PortArrayOutput struct{ *pulumi.OutputState }

func (PortArrayOutput) ElementType added in v3.2.0

func (PortArrayOutput) ElementType() reflect.Type

func (PortArrayOutput) Index added in v3.2.0

func (PortArrayOutput) ToPortArrayOutput added in v3.2.0

func (o PortArrayOutput) ToPortArrayOutput() PortArrayOutput

func (PortArrayOutput) ToPortArrayOutputWithContext added in v3.2.0

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

type PortInput added in v3.2.0

type PortInput interface {
	pulumi.Input

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

type PortMap added in v3.2.0

type PortMap map[string]PortInput

func (PortMap) ElementType added in v3.2.0

func (PortMap) ElementType() reflect.Type

func (PortMap) ToPortMapOutput added in v3.2.0

func (i PortMap) ToPortMapOutput() PortMapOutput

func (PortMap) ToPortMapOutputWithContext added in v3.2.0

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

type PortMapInput added in v3.2.0

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 added in v3.2.0

type PortMapOutput struct{ *pulumi.OutputState }

func (PortMapOutput) ElementType added in v3.2.0

func (PortMapOutput) ElementType() reflect.Type

func (PortMapOutput) MapIndex added in v3.2.0

func (PortMapOutput) ToPortMapOutput added in v3.2.0

func (o PortMapOutput) ToPortMapOutput() PortMapOutput

func (PortMapOutput) ToPortMapOutputWithContext added in v3.2.0

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

type PortOutput added in v3.2.0

type PortOutput struct{ *pulumi.OutputState }

func (PortOutput) BackendPort added in v3.27.0

func (o PortOutput) BackendPort() pulumi.StringPtrOutput

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

func (PortOutput) ElementType added in v3.2.0

func (PortOutput) ElementType() reflect.Type

func (PortOutput) FrontendPort added in v3.27.0

func (o PortOutput) FrontendPort() pulumi.StringOutput

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

func (PortOutput) FrontendProtocol added in v3.27.0

func (o PortOutput) FrontendProtocol() pulumi.StringOutput

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

func (PortOutput) InstanceId added in v3.27.0

func (o PortOutput) InstanceId() pulumi.StringOutput

The ID of Ddoscoo instance.

func (PortOutput) RealServers added in v3.27.0

func (o PortOutput) RealServers() pulumi.StringArrayOutput

List of source IP addresses.

func (PortOutput) ToPortOutput added in v3.2.0

func (o PortOutput) ToPortOutput() PortOutput

func (PortOutput) ToPortOutputWithContext added in v3.2.0

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

type PortState added in v3.2.0

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 added in v3.2.0

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 `rules` below.
	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/ddos-protection/latest/api-ddoscoo-2020-01-01-createschedulerrule).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_, err := ddos.NewSchedulerRule(ctx, "example", &ddos.SchedulerRuleArgs{
			RuleName: pulumi.String(name),
			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 `rules` below.
	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 added in v3.27.0

The cname is the traffic scheduler corresponding to rules.

func (SchedulerRuleOutput) ElementType

func (SchedulerRuleOutput) ElementType() reflect.Type

func (SchedulerRuleOutput) Param added in v3.27.0

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

func (SchedulerRuleOutput) ResourceGroupId added in v3.27.0

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 added in v3.27.0

The name of the rule.

func (SchedulerRuleOutput) RuleType added in v3.27.0

func (o SchedulerRuleOutput) RuleType() pulumi.IntOutput

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

func (SchedulerRuleOutput) Rules added in v3.27.0

The information about the scheduling rules. See `rules` below.

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 `rules` below.
	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