security

package
v0.1.8 Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PkgVersion added in v0.0.5

func PkgVersion() (semver.Version, error)

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

Types

type GetGroupsArgs

type GetGroupsArgs struct {
	// Name of the security group to be queried. Conflict with `securityGroupId`.
	Name *string `pulumi:"name"`
	// Project ID of the security group to be queried. Conflict with `securityGroupId`.
	ProjectId *int `pulumi:"projectId"`
	// Used to save results.
	ResultOutputFile *string `pulumi:"resultOutputFile"`
	// ID of the security group to be queried. Conflict with `name` and `projectId`.
	SecurityGroupId *string `pulumi:"securityGroupId"`
	// Tags of the security group to be queried. Conflict with `securityGroupId`.
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of arguments for invoking getGroups.

type GetGroupsOutputArgs

type GetGroupsOutputArgs struct {
	// Name of the security group to be queried. Conflict with `securityGroupId`.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Project ID of the security group to be queried. Conflict with `securityGroupId`.
	ProjectId pulumi.IntPtrInput `pulumi:"projectId"`
	// Used to save results.
	ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"`
	// ID of the security group to be queried. Conflict with `name` and `projectId`.
	SecurityGroupId pulumi.StringPtrInput `pulumi:"securityGroupId"`
	// Tags of the security group to be queried. Conflict with `securityGroupId`.
	Tags pulumi.MapInput `pulumi:"tags"`
}

A collection of arguments for invoking getGroups.

func (GetGroupsOutputArgs) ElementType

func (GetGroupsOutputArgs) ElementType() reflect.Type

type GetGroupsResult

type GetGroupsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Name of the security group.
	Name *string `pulumi:"name"`
	// Project ID of the security group.
	ProjectId        *int    `pulumi:"projectId"`
	ResultOutputFile *string `pulumi:"resultOutputFile"`
	// ID of the security group.
	SecurityGroupId *string `pulumi:"securityGroupId"`
	// Information list of security group.
	SecurityGroups []GetGroupsSecurityGroup `pulumi:"securityGroups"`
	// Tags of the security group.
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of values returned by getGroups.

func GetGroups

func GetGroups(ctx *pulumi.Context, args *GetGroupsArgs, opts ...pulumi.InvokeOption) (*GetGroupsResult, error)

Use this data source to query detailed information of security groups.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-tencentcloud/sdk/go/tencentcloud/Security"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Security.GetGroups(ctx, &security.GetGroupsArgs{
			SecurityGroupId: pulumi.StringRef(tencentcloud_security_group.Sglab.Id),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetGroupsResultOutput

type GetGroupsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGroups.

func (GetGroupsResultOutput) ElementType

func (GetGroupsResultOutput) ElementType() reflect.Type

func (GetGroupsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetGroupsResultOutput) Name

Name of the security group.

func (GetGroupsResultOutput) ProjectId

Project ID of the security group.

func (GetGroupsResultOutput) ResultOutputFile

func (o GetGroupsResultOutput) ResultOutputFile() pulumi.StringPtrOutput

func (GetGroupsResultOutput) SecurityGroupId

func (o GetGroupsResultOutput) SecurityGroupId() pulumi.StringPtrOutput

ID of the security group.

func (GetGroupsResultOutput) SecurityGroups

Information list of security group.

func (GetGroupsResultOutput) Tags

Tags of the security group.

func (GetGroupsResultOutput) ToGetGroupsResultOutput

func (o GetGroupsResultOutput) ToGetGroupsResultOutput() GetGroupsResultOutput

func (GetGroupsResultOutput) ToGetGroupsResultOutputWithContext

func (o GetGroupsResultOutput) ToGetGroupsResultOutputWithContext(ctx context.Context) GetGroupsResultOutput

type GetGroupsSecurityGroup

type GetGroupsSecurityGroup struct {
	// Number of security group binding resources.
	BeAssociateCount int `pulumi:"beAssociateCount"`
	// Creation time of security group.
	CreateTime string `pulumi:"createTime"`
	// Description of the security group.
	Description string `pulumi:"description"`
	// Egress rules set. For items like `[action]#[cidrIp]#[port]#[protocol]`, it means a regular rule; for items like `sg-XXXX`, it means a nested security group.
	Egresses []string `pulumi:"egresses"`
	// Ingress rules set. For items like `[action]#[cidrIp]#[port]#[protocol]`, it means a regular rule; for items like `sg-XXXX`, it means a nested security group.
	Ingresses []string `pulumi:"ingresses"`
	// Name of the security group to be queried. Conflict with `securityGroupId`.
	Name string `pulumi:"name"`
	// Project ID of the security group to be queried. Conflict with `securityGroupId`.
	ProjectId int `pulumi:"projectId"`
	// ID of the security group to be queried. Conflict with `name` and `projectId`.
	SecurityGroupId string `pulumi:"securityGroupId"`
	// Tags of the security group to be queried. Conflict with `securityGroupId`.
	Tags map[string]interface{} `pulumi:"tags"`
}

type GetGroupsSecurityGroupArgs

type GetGroupsSecurityGroupArgs struct {
	// Number of security group binding resources.
	BeAssociateCount pulumi.IntInput `pulumi:"beAssociateCount"`
	// Creation time of security group.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// Description of the security group.
	Description pulumi.StringInput `pulumi:"description"`
	// Egress rules set. For items like `[action]#[cidrIp]#[port]#[protocol]`, it means a regular rule; for items like `sg-XXXX`, it means a nested security group.
	Egresses pulumi.StringArrayInput `pulumi:"egresses"`
	// Ingress rules set. For items like `[action]#[cidrIp]#[port]#[protocol]`, it means a regular rule; for items like `sg-XXXX`, it means a nested security group.
	Ingresses pulumi.StringArrayInput `pulumi:"ingresses"`
	// Name of the security group to be queried. Conflict with `securityGroupId`.
	Name pulumi.StringInput `pulumi:"name"`
	// Project ID of the security group to be queried. Conflict with `securityGroupId`.
	ProjectId pulumi.IntInput `pulumi:"projectId"`
	// ID of the security group to be queried. Conflict with `name` and `projectId`.
	SecurityGroupId pulumi.StringInput `pulumi:"securityGroupId"`
	// Tags of the security group to be queried. Conflict with `securityGroupId`.
	Tags pulumi.MapInput `pulumi:"tags"`
}

func (GetGroupsSecurityGroupArgs) ElementType

func (GetGroupsSecurityGroupArgs) ElementType() reflect.Type

func (GetGroupsSecurityGroupArgs) ToGetGroupsSecurityGroupOutput

func (i GetGroupsSecurityGroupArgs) ToGetGroupsSecurityGroupOutput() GetGroupsSecurityGroupOutput

func (GetGroupsSecurityGroupArgs) ToGetGroupsSecurityGroupOutputWithContext

func (i GetGroupsSecurityGroupArgs) ToGetGroupsSecurityGroupOutputWithContext(ctx context.Context) GetGroupsSecurityGroupOutput

type GetGroupsSecurityGroupArray

type GetGroupsSecurityGroupArray []GetGroupsSecurityGroupInput

func (GetGroupsSecurityGroupArray) ElementType

func (GetGroupsSecurityGroupArray) ToGetGroupsSecurityGroupArrayOutput

func (i GetGroupsSecurityGroupArray) ToGetGroupsSecurityGroupArrayOutput() GetGroupsSecurityGroupArrayOutput

func (GetGroupsSecurityGroupArray) ToGetGroupsSecurityGroupArrayOutputWithContext

func (i GetGroupsSecurityGroupArray) ToGetGroupsSecurityGroupArrayOutputWithContext(ctx context.Context) GetGroupsSecurityGroupArrayOutput

type GetGroupsSecurityGroupArrayInput

type GetGroupsSecurityGroupArrayInput interface {
	pulumi.Input

	ToGetGroupsSecurityGroupArrayOutput() GetGroupsSecurityGroupArrayOutput
	ToGetGroupsSecurityGroupArrayOutputWithContext(context.Context) GetGroupsSecurityGroupArrayOutput
}

GetGroupsSecurityGroupArrayInput is an input type that accepts GetGroupsSecurityGroupArray and GetGroupsSecurityGroupArrayOutput values. You can construct a concrete instance of `GetGroupsSecurityGroupArrayInput` via:

GetGroupsSecurityGroupArray{ GetGroupsSecurityGroupArgs{...} }

type GetGroupsSecurityGroupArrayOutput

type GetGroupsSecurityGroupArrayOutput struct{ *pulumi.OutputState }

func (GetGroupsSecurityGroupArrayOutput) ElementType

func (GetGroupsSecurityGroupArrayOutput) Index

func (GetGroupsSecurityGroupArrayOutput) ToGetGroupsSecurityGroupArrayOutput

func (o GetGroupsSecurityGroupArrayOutput) ToGetGroupsSecurityGroupArrayOutput() GetGroupsSecurityGroupArrayOutput

func (GetGroupsSecurityGroupArrayOutput) ToGetGroupsSecurityGroupArrayOutputWithContext

func (o GetGroupsSecurityGroupArrayOutput) ToGetGroupsSecurityGroupArrayOutputWithContext(ctx context.Context) GetGroupsSecurityGroupArrayOutput

type GetGroupsSecurityGroupInput

type GetGroupsSecurityGroupInput interface {
	pulumi.Input

	ToGetGroupsSecurityGroupOutput() GetGroupsSecurityGroupOutput
	ToGetGroupsSecurityGroupOutputWithContext(context.Context) GetGroupsSecurityGroupOutput
}

GetGroupsSecurityGroupInput is an input type that accepts GetGroupsSecurityGroupArgs and GetGroupsSecurityGroupOutput values. You can construct a concrete instance of `GetGroupsSecurityGroupInput` via:

GetGroupsSecurityGroupArgs{...}

type GetGroupsSecurityGroupOutput

type GetGroupsSecurityGroupOutput struct{ *pulumi.OutputState }

func (GetGroupsSecurityGroupOutput) BeAssociateCount

func (o GetGroupsSecurityGroupOutput) BeAssociateCount() pulumi.IntOutput

Number of security group binding resources.

func (GetGroupsSecurityGroupOutput) CreateTime

Creation time of security group.

func (GetGroupsSecurityGroupOutput) Description

Description of the security group.

func (GetGroupsSecurityGroupOutput) Egresses

Egress rules set. For items like `[action]#[cidrIp]#[port]#[protocol]`, it means a regular rule; for items like `sg-XXXX`, it means a nested security group.

func (GetGroupsSecurityGroupOutput) ElementType

func (GetGroupsSecurityGroupOutput) Ingresses

Ingress rules set. For items like `[action]#[cidrIp]#[port]#[protocol]`, it means a regular rule; for items like `sg-XXXX`, it means a nested security group.

func (GetGroupsSecurityGroupOutput) Name

Name of the security group to be queried. Conflict with `securityGroupId`.

func (GetGroupsSecurityGroupOutput) ProjectId

Project ID of the security group to be queried. Conflict with `securityGroupId`.

func (GetGroupsSecurityGroupOutput) SecurityGroupId

func (o GetGroupsSecurityGroupOutput) SecurityGroupId() pulumi.StringOutput

ID of the security group to be queried. Conflict with `name` and `projectId`.

func (GetGroupsSecurityGroupOutput) Tags

Tags of the security group to be queried. Conflict with `securityGroupId`.

func (GetGroupsSecurityGroupOutput) ToGetGroupsSecurityGroupOutput

func (o GetGroupsSecurityGroupOutput) ToGetGroupsSecurityGroupOutput() GetGroupsSecurityGroupOutput

func (GetGroupsSecurityGroupOutput) ToGetGroupsSecurityGroupOutputWithContext

func (o GetGroupsSecurityGroupOutput) ToGetGroupsSecurityGroupOutputWithContext(ctx context.Context) GetGroupsSecurityGroupOutput

type Group

type Group struct {
	pulumi.CustomResourceState

	// Description of the security group.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Name of the security group to be queried.
	Name pulumi.StringOutput `pulumi:"name"`
	// Project ID of the security group.
	ProjectId pulumi.IntOutput `pulumi:"projectId"`
	// Tags of the security group.
	Tags pulumi.MapOutput `pulumi:"tags"`
}

Provides a resource to create security group.

## Example Usage ### Create a basic security group

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Security.NewGroup(ctx, "example", &Security.GroupArgs{
			Description: pulumi.String("sg test"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Create a complete security group

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Security.NewGroup(ctx, "example", &Security.GroupArgs{
			Description: pulumi.String("sg test"),
			ProjectId:   pulumi.Int(0),
			Tags: pulumi.AnyMap{
				"example": pulumi.Any("test"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Security group can be imported using the id, e.g.

```sh

$ pulumi import tencentcloud:Security/group:Group tencentcloud_security_group.sglab sg-ey3wmiz1

```

func GetGroup

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

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

func NewGroup

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

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

func (*Group) ElementType

func (*Group) ElementType() reflect.Type

func (*Group) ToGroupOutput

func (i *Group) ToGroupOutput() GroupOutput

func (*Group) ToGroupOutputWithContext

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

type GroupArgs

type GroupArgs struct {
	// Description of the security group.
	Description pulumi.StringPtrInput
	// Name of the security group to be queried.
	Name pulumi.StringPtrInput
	// Project ID of the security group.
	ProjectId pulumi.IntPtrInput
	// Tags of the security group.
	Tags pulumi.MapInput
}

The set of arguments for constructing a Group resource.

func (GroupArgs) ElementType

func (GroupArgs) ElementType() reflect.Type

type GroupArray

type GroupArray []GroupInput

func (GroupArray) ElementType

func (GroupArray) ElementType() reflect.Type

func (GroupArray) ToGroupArrayOutput

func (i GroupArray) ToGroupArrayOutput() GroupArrayOutput

func (GroupArray) ToGroupArrayOutputWithContext

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

type GroupArrayInput

type GroupArrayInput interface {
	pulumi.Input

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

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

GroupArray{ GroupArgs{...} }

type GroupArrayOutput

type GroupArrayOutput struct{ *pulumi.OutputState }

func (GroupArrayOutput) ElementType

func (GroupArrayOutput) ElementType() reflect.Type

func (GroupArrayOutput) Index

func (GroupArrayOutput) ToGroupArrayOutput

func (o GroupArrayOutput) ToGroupArrayOutput() GroupArrayOutput

func (GroupArrayOutput) ToGroupArrayOutputWithContext

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

type GroupInput

type GroupInput interface {
	pulumi.Input

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

type GroupLiteRule

type GroupLiteRule struct {
	pulumi.CustomResourceState

	// Egress rules set. A rule must match the following format: [action]#[source]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'source' can be an IP address network, segment, security group ID and Address Template ID. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP`, `ALL` and `ppm(g?)-xxxxxxxx`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.
	Egresses pulumi.StringArrayOutput `pulumi:"egresses"`
	// Ingress rules set. A rule must match the following format: [action]#[source]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'source' can be an IP address network, segment, security group ID and Address Template ID. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP`, `ALL` and `ppm(g?)-xxxxxxxx`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.
	Ingresses pulumi.StringArrayOutput `pulumi:"ingresses"`
	// ID of the security group.
	SecurityGroupId pulumi.StringOutput `pulumi:"securityGroupId"`
}

Provide a resource to create security group some lite rules quickly.

> **NOTE:** It can't be used with tencentcloud_security_group_rule, and don't create multiple tencentcloudSecurityGroupRule resources, otherwise it may cause problems.

## Import

Security group lite rule can be imported using the id, e.g.

```sh

$ pulumi import tencentcloud:Security/groupLiteRule:GroupLiteRule tencentcloud_security_group_lite_rule.foo sg-ey3wmiz1

```

func GetGroupLiteRule

func GetGroupLiteRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupLiteRuleState, opts ...pulumi.ResourceOption) (*GroupLiteRule, error)

GetGroupLiteRule gets an existing GroupLiteRule 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 NewGroupLiteRule

func NewGroupLiteRule(ctx *pulumi.Context,
	name string, args *GroupLiteRuleArgs, opts ...pulumi.ResourceOption) (*GroupLiteRule, error)

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

func (*GroupLiteRule) ElementType

func (*GroupLiteRule) ElementType() reflect.Type

func (*GroupLiteRule) ToGroupLiteRuleOutput

func (i *GroupLiteRule) ToGroupLiteRuleOutput() GroupLiteRuleOutput

func (*GroupLiteRule) ToGroupLiteRuleOutputWithContext

func (i *GroupLiteRule) ToGroupLiteRuleOutputWithContext(ctx context.Context) GroupLiteRuleOutput

type GroupLiteRuleArgs

type GroupLiteRuleArgs struct {
	// Egress rules set. A rule must match the following format: [action]#[source]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'source' can be an IP address network, segment, security group ID and Address Template ID. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP`, `ALL` and `ppm(g?)-xxxxxxxx`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.
	Egresses pulumi.StringArrayInput
	// Ingress rules set. A rule must match the following format: [action]#[source]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'source' can be an IP address network, segment, security group ID and Address Template ID. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP`, `ALL` and `ppm(g?)-xxxxxxxx`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.
	Ingresses pulumi.StringArrayInput
	// ID of the security group.
	SecurityGroupId pulumi.StringInput
}

The set of arguments for constructing a GroupLiteRule resource.

func (GroupLiteRuleArgs) ElementType

func (GroupLiteRuleArgs) ElementType() reflect.Type

type GroupLiteRuleArray

type GroupLiteRuleArray []GroupLiteRuleInput

func (GroupLiteRuleArray) ElementType

func (GroupLiteRuleArray) ElementType() reflect.Type

func (GroupLiteRuleArray) ToGroupLiteRuleArrayOutput

func (i GroupLiteRuleArray) ToGroupLiteRuleArrayOutput() GroupLiteRuleArrayOutput

func (GroupLiteRuleArray) ToGroupLiteRuleArrayOutputWithContext

func (i GroupLiteRuleArray) ToGroupLiteRuleArrayOutputWithContext(ctx context.Context) GroupLiteRuleArrayOutput

type GroupLiteRuleArrayInput

type GroupLiteRuleArrayInput interface {
	pulumi.Input

	ToGroupLiteRuleArrayOutput() GroupLiteRuleArrayOutput
	ToGroupLiteRuleArrayOutputWithContext(context.Context) GroupLiteRuleArrayOutput
}

GroupLiteRuleArrayInput is an input type that accepts GroupLiteRuleArray and GroupLiteRuleArrayOutput values. You can construct a concrete instance of `GroupLiteRuleArrayInput` via:

GroupLiteRuleArray{ GroupLiteRuleArgs{...} }

type GroupLiteRuleArrayOutput

type GroupLiteRuleArrayOutput struct{ *pulumi.OutputState }

func (GroupLiteRuleArrayOutput) ElementType

func (GroupLiteRuleArrayOutput) ElementType() reflect.Type

func (GroupLiteRuleArrayOutput) Index

func (GroupLiteRuleArrayOutput) ToGroupLiteRuleArrayOutput

func (o GroupLiteRuleArrayOutput) ToGroupLiteRuleArrayOutput() GroupLiteRuleArrayOutput

func (GroupLiteRuleArrayOutput) ToGroupLiteRuleArrayOutputWithContext

func (o GroupLiteRuleArrayOutput) ToGroupLiteRuleArrayOutputWithContext(ctx context.Context) GroupLiteRuleArrayOutput

type GroupLiteRuleInput

type GroupLiteRuleInput interface {
	pulumi.Input

	ToGroupLiteRuleOutput() GroupLiteRuleOutput
	ToGroupLiteRuleOutputWithContext(ctx context.Context) GroupLiteRuleOutput
}

type GroupLiteRuleMap

type GroupLiteRuleMap map[string]GroupLiteRuleInput

func (GroupLiteRuleMap) ElementType

func (GroupLiteRuleMap) ElementType() reflect.Type

func (GroupLiteRuleMap) ToGroupLiteRuleMapOutput

func (i GroupLiteRuleMap) ToGroupLiteRuleMapOutput() GroupLiteRuleMapOutput

func (GroupLiteRuleMap) ToGroupLiteRuleMapOutputWithContext

func (i GroupLiteRuleMap) ToGroupLiteRuleMapOutputWithContext(ctx context.Context) GroupLiteRuleMapOutput

type GroupLiteRuleMapInput

type GroupLiteRuleMapInput interface {
	pulumi.Input

	ToGroupLiteRuleMapOutput() GroupLiteRuleMapOutput
	ToGroupLiteRuleMapOutputWithContext(context.Context) GroupLiteRuleMapOutput
}

GroupLiteRuleMapInput is an input type that accepts GroupLiteRuleMap and GroupLiteRuleMapOutput values. You can construct a concrete instance of `GroupLiteRuleMapInput` via:

GroupLiteRuleMap{ "key": GroupLiteRuleArgs{...} }

type GroupLiteRuleMapOutput

type GroupLiteRuleMapOutput struct{ *pulumi.OutputState }

func (GroupLiteRuleMapOutput) ElementType

func (GroupLiteRuleMapOutput) ElementType() reflect.Type

func (GroupLiteRuleMapOutput) MapIndex

func (GroupLiteRuleMapOutput) ToGroupLiteRuleMapOutput

func (o GroupLiteRuleMapOutput) ToGroupLiteRuleMapOutput() GroupLiteRuleMapOutput

func (GroupLiteRuleMapOutput) ToGroupLiteRuleMapOutputWithContext

func (o GroupLiteRuleMapOutput) ToGroupLiteRuleMapOutputWithContext(ctx context.Context) GroupLiteRuleMapOutput

type GroupLiteRuleOutput

type GroupLiteRuleOutput struct{ *pulumi.OutputState }

func (GroupLiteRuleOutput) Egresses

Egress rules set. A rule must match the following format: [action]#[source]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'source' can be an IP address network, segment, security group ID and Address Template ID. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP`, `ALL` and `ppm(g?)-xxxxxxxx`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.

func (GroupLiteRuleOutput) ElementType

func (GroupLiteRuleOutput) ElementType() reflect.Type

func (GroupLiteRuleOutput) Ingresses

Ingress rules set. A rule must match the following format: [action]#[source]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'source' can be an IP address network, segment, security group ID and Address Template ID. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP`, `ALL` and `ppm(g?)-xxxxxxxx`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.

func (GroupLiteRuleOutput) SecurityGroupId

func (o GroupLiteRuleOutput) SecurityGroupId() pulumi.StringOutput

ID of the security group.

func (GroupLiteRuleOutput) ToGroupLiteRuleOutput

func (o GroupLiteRuleOutput) ToGroupLiteRuleOutput() GroupLiteRuleOutput

func (GroupLiteRuleOutput) ToGroupLiteRuleOutputWithContext

func (o GroupLiteRuleOutput) ToGroupLiteRuleOutputWithContext(ctx context.Context) GroupLiteRuleOutput

type GroupLiteRuleState

type GroupLiteRuleState struct {
	// Egress rules set. A rule must match the following format: [action]#[source]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'source' can be an IP address network, segment, security group ID and Address Template ID. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP`, `ALL` and `ppm(g?)-xxxxxxxx`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.
	Egresses pulumi.StringArrayInput
	// Ingress rules set. A rule must match the following format: [action]#[source]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'source' can be an IP address network, segment, security group ID and Address Template ID. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP`, `ALL` and `ppm(g?)-xxxxxxxx`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.
	Ingresses pulumi.StringArrayInput
	// ID of the security group.
	SecurityGroupId pulumi.StringPtrInput
}

func (GroupLiteRuleState) ElementType

func (GroupLiteRuleState) ElementType() reflect.Type

type GroupMap

type GroupMap map[string]GroupInput

func (GroupMap) ElementType

func (GroupMap) ElementType() reflect.Type

func (GroupMap) ToGroupMapOutput

func (i GroupMap) ToGroupMapOutput() GroupMapOutput

func (GroupMap) ToGroupMapOutputWithContext

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

type GroupMapInput

type GroupMapInput interface {
	pulumi.Input

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

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

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

type GroupMapOutput

type GroupMapOutput struct{ *pulumi.OutputState }

func (GroupMapOutput) ElementType

func (GroupMapOutput) ElementType() reflect.Type

func (GroupMapOutput) MapIndex

func (GroupMapOutput) ToGroupMapOutput

func (o GroupMapOutput) ToGroupMapOutput() GroupMapOutput

func (GroupMapOutput) ToGroupMapOutputWithContext

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

type GroupOutput

type GroupOutput struct{ *pulumi.OutputState }

func (GroupOutput) Description

func (o GroupOutput) Description() pulumi.StringPtrOutput

Description of the security group.

func (GroupOutput) ElementType

func (GroupOutput) ElementType() reflect.Type

func (GroupOutput) Name

func (o GroupOutput) Name() pulumi.StringOutput

Name of the security group to be queried.

func (GroupOutput) ProjectId

func (o GroupOutput) ProjectId() pulumi.IntOutput

Project ID of the security group.

func (GroupOutput) Tags

func (o GroupOutput) Tags() pulumi.MapOutput

Tags of the security group.

func (GroupOutput) ToGroupOutput

func (o GroupOutput) ToGroupOutput() GroupOutput

func (GroupOutput) ToGroupOutputWithContext

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

type GroupRule

type GroupRule struct {
	pulumi.CustomResourceState

	// ID of the address template, and confilicts with `sourceSgid` and `cidrIp`.
	AddressTemplate GroupRuleAddressTemplateOutput `pulumi:"addressTemplate"`
	// An IP address network or segment, and conflict with `sourceSgid` and `addressTemplate`.
	CidrIp pulumi.StringPtrOutput `pulumi:"cidrIp"`
	// Description of the security group rule.
	Description pulumi.StringOutput `pulumi:"description"`
	// Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `protocolTemplate`.
	IpProtocol pulumi.StringOutput `pulumi:"ipProtocol"`
	// Rule policy of security group. Valid values: `ACCEPT` and `DROP`.
	Policy pulumi.StringOutput `pulumi:"policy"`
	// The security group rule index number, the value of which dynamically changes as the security group rule changes.
	PolicyIndex pulumi.IntPtrOutput `pulumi:"policyIndex"`
	// Range of the port. The available value can be one, multiple or one segment. E.g. `80`, `80,90` and `80-90`. Default to all ports, and confilicts with `protocolTemplate`.
	PortRange pulumi.StringOutput `pulumi:"portRange"`
	// ID of the address template, and conflict with `ipProtocol`, `portRange`.
	ProtocolTemplate GroupRuleProtocolTemplateOutput `pulumi:"protocolTemplate"`
	// ID of the security group to be queried.
	SecurityGroupId pulumi.StringOutput `pulumi:"securityGroupId"`
	// ID of the nested security group, and conflicts with `cidrIp` and `addressTemplate`.
	SourceSgid pulumi.StringOutput `pulumi:"sourceSgid"`
	// Type of the security group rule. Valid values: `ingress` and `egress`.
	Type pulumi.StringOutput `pulumi:"type"`
}

Provides a resource to create security group rule.

> **NOTE:** Single security rule is hardly ordered, use Security.GroupLiteRule instead.

## Example Usage ### Source is CIDR ip

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sglab1Group, err := Security.NewGroup(ctx, "sglab1Group", &Security.GroupArgs{
			Description: pulumi.String("favourite sg_1"),
			ProjectId:   pulumi.Int(0),
		})
		if err != nil {
			return err
		}
		_, err = Security.NewGroupRule(ctx, "sglab1GroupRule", &Security.GroupRuleArgs{
			SecurityGroupId: sglab1Group.ID(),
			Type:            pulumi.String("ingress"),
			CidrIp:          pulumi.String("10.0.0.0/16"),
			IpProtocol:      pulumi.String("TCP"),
			PortRange:       pulumi.String("80"),
			Policy:          pulumi.String("ACCEPT"),
			Description:     pulumi.String("favourite sg rule_1"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Source is a security group id

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sglab2Group, err := Security.NewGroup(ctx, "sglab2Group", &Security.GroupArgs{
			Description: pulumi.String("favourite sg_2"),
			ProjectId:   pulumi.Int(0),
		})
		if err != nil {
			return err
		}
		sglab3, err := Security.NewGroup(ctx, "sglab3", &Security.GroupArgs{
			Description: pulumi.String("favourite sg_3"),
			ProjectId:   pulumi.Int(0),
		})
		if err != nil {
			return err
		}
		_, err = Security.NewGroupRule(ctx, "sglab2GroupRule", &Security.GroupRuleArgs{
			SecurityGroupId: sglab2Group.ID(),
			Type:            pulumi.String("ingress"),
			IpProtocol:      pulumi.String("TCP"),
			PortRange:       pulumi.String("80"),
			Policy:          pulumi.String("ACCEPT"),
			SourceSgid:      sglab3.ID(),
			Description:     pulumi.String("favourite sg rule_2"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetGroupRule

func GetGroupRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupRuleState, opts ...pulumi.ResourceOption) (*GroupRule, error)

GetGroupRule gets an existing GroupRule 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 NewGroupRule

func NewGroupRule(ctx *pulumi.Context,
	name string, args *GroupRuleArgs, opts ...pulumi.ResourceOption) (*GroupRule, error)

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

func (*GroupRule) ElementType

func (*GroupRule) ElementType() reflect.Type

func (*GroupRule) ToGroupRuleOutput

func (i *GroupRule) ToGroupRuleOutput() GroupRuleOutput

func (*GroupRule) ToGroupRuleOutputWithContext

func (i *GroupRule) ToGroupRuleOutputWithContext(ctx context.Context) GroupRuleOutput

type GroupRuleArgs

type GroupRuleArgs struct {
	// ID of the address template, and confilicts with `sourceSgid` and `cidrIp`.
	AddressTemplate GroupRuleAddressTemplatePtrInput
	// An IP address network or segment, and conflict with `sourceSgid` and `addressTemplate`.
	CidrIp pulumi.StringPtrInput
	// Description of the security group rule.
	Description pulumi.StringPtrInput
	// Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `protocolTemplate`.
	IpProtocol pulumi.StringPtrInput
	// Rule policy of security group. Valid values: `ACCEPT` and `DROP`.
	Policy pulumi.StringInput
	// The security group rule index number, the value of which dynamically changes as the security group rule changes.
	PolicyIndex pulumi.IntPtrInput
	// Range of the port. The available value can be one, multiple or one segment. E.g. `80`, `80,90` and `80-90`. Default to all ports, and confilicts with `protocolTemplate`.
	PortRange pulumi.StringPtrInput
	// ID of the address template, and conflict with `ipProtocol`, `portRange`.
	ProtocolTemplate GroupRuleProtocolTemplatePtrInput
	// ID of the security group to be queried.
	SecurityGroupId pulumi.StringInput
	// ID of the nested security group, and conflicts with `cidrIp` and `addressTemplate`.
	SourceSgid pulumi.StringPtrInput
	// Type of the security group rule. Valid values: `ingress` and `egress`.
	Type pulumi.StringInput
}

The set of arguments for constructing a GroupRule resource.

func (GroupRuleArgs) ElementType

func (GroupRuleArgs) ElementType() reflect.Type

type GroupRuleArray

type GroupRuleArray []GroupRuleInput

func (GroupRuleArray) ElementType

func (GroupRuleArray) ElementType() reflect.Type

func (GroupRuleArray) ToGroupRuleArrayOutput

func (i GroupRuleArray) ToGroupRuleArrayOutput() GroupRuleArrayOutput

func (GroupRuleArray) ToGroupRuleArrayOutputWithContext

func (i GroupRuleArray) ToGroupRuleArrayOutputWithContext(ctx context.Context) GroupRuleArrayOutput

type GroupRuleArrayInput

type GroupRuleArrayInput interface {
	pulumi.Input

	ToGroupRuleArrayOutput() GroupRuleArrayOutput
	ToGroupRuleArrayOutputWithContext(context.Context) GroupRuleArrayOutput
}

GroupRuleArrayInput is an input type that accepts GroupRuleArray and GroupRuleArrayOutput values. You can construct a concrete instance of `GroupRuleArrayInput` via:

GroupRuleArray{ GroupRuleArgs{...} }

type GroupRuleArrayOutput

type GroupRuleArrayOutput struct{ *pulumi.OutputState }

func (GroupRuleArrayOutput) ElementType

func (GroupRuleArrayOutput) ElementType() reflect.Type

func (GroupRuleArrayOutput) Index

func (GroupRuleArrayOutput) ToGroupRuleArrayOutput

func (o GroupRuleArrayOutput) ToGroupRuleArrayOutput() GroupRuleArrayOutput

func (GroupRuleArrayOutput) ToGroupRuleArrayOutputWithContext

func (o GroupRuleArrayOutput) ToGroupRuleArrayOutputWithContext(ctx context.Context) GroupRuleArrayOutput

type GroupRuleInput

type GroupRuleInput interface {
	pulumi.Input

	ToGroupRuleOutput() GroupRuleOutput
	ToGroupRuleOutputWithContext(ctx context.Context) GroupRuleOutput
}

type GroupRuleMap

type GroupRuleMap map[string]GroupRuleInput

func (GroupRuleMap) ElementType

func (GroupRuleMap) ElementType() reflect.Type

func (GroupRuleMap) ToGroupRuleMapOutput

func (i GroupRuleMap) ToGroupRuleMapOutput() GroupRuleMapOutput

func (GroupRuleMap) ToGroupRuleMapOutputWithContext

func (i GroupRuleMap) ToGroupRuleMapOutputWithContext(ctx context.Context) GroupRuleMapOutput

type GroupRuleMapInput

type GroupRuleMapInput interface {
	pulumi.Input

	ToGroupRuleMapOutput() GroupRuleMapOutput
	ToGroupRuleMapOutputWithContext(context.Context) GroupRuleMapOutput
}

GroupRuleMapInput is an input type that accepts GroupRuleMap and GroupRuleMapOutput values. You can construct a concrete instance of `GroupRuleMapInput` via:

GroupRuleMap{ "key": GroupRuleArgs{...} }

type GroupRuleMapOutput

type GroupRuleMapOutput struct{ *pulumi.OutputState }

func (GroupRuleMapOutput) ElementType

func (GroupRuleMapOutput) ElementType() reflect.Type

func (GroupRuleMapOutput) MapIndex

func (GroupRuleMapOutput) ToGroupRuleMapOutput

func (o GroupRuleMapOutput) ToGroupRuleMapOutput() GroupRuleMapOutput

func (GroupRuleMapOutput) ToGroupRuleMapOutputWithContext

func (o GroupRuleMapOutput) ToGroupRuleMapOutputWithContext(ctx context.Context) GroupRuleMapOutput

type GroupRuleOutput

type GroupRuleOutput struct{ *pulumi.OutputState }

func (GroupRuleOutput) AddressTemplate

func (o GroupRuleOutput) AddressTemplate() GroupRuleAddressTemplateOutput

ID of the address template, and confilicts with `sourceSgid` and `cidrIp`.

func (GroupRuleOutput) CidrIp

An IP address network or segment, and conflict with `sourceSgid` and `addressTemplate`.

func (GroupRuleOutput) Description

func (o GroupRuleOutput) Description() pulumi.StringOutput

Description of the security group rule.

func (GroupRuleOutput) ElementType

func (GroupRuleOutput) ElementType() reflect.Type

func (GroupRuleOutput) IpProtocol

func (o GroupRuleOutput) IpProtocol() pulumi.StringOutput

Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `protocolTemplate`.

func (GroupRuleOutput) Policy

func (o GroupRuleOutput) Policy() pulumi.StringOutput

Rule policy of security group. Valid values: `ACCEPT` and `DROP`.

func (GroupRuleOutput) PolicyIndex added in v0.1.3

func (o GroupRuleOutput) PolicyIndex() pulumi.IntPtrOutput

The security group rule index number, the value of which dynamically changes as the security group rule changes.

func (GroupRuleOutput) PortRange

func (o GroupRuleOutput) PortRange() pulumi.StringOutput

Range of the port. The available value can be one, multiple or one segment. E.g. `80`, `80,90` and `80-90`. Default to all ports, and confilicts with `protocolTemplate`.

func (GroupRuleOutput) ProtocolTemplate

func (o GroupRuleOutput) ProtocolTemplate() GroupRuleProtocolTemplateOutput

ID of the address template, and conflict with `ipProtocol`, `portRange`.

func (GroupRuleOutput) SecurityGroupId

func (o GroupRuleOutput) SecurityGroupId() pulumi.StringOutput

ID of the security group to be queried.

func (GroupRuleOutput) SourceSgid

func (o GroupRuleOutput) SourceSgid() pulumi.StringOutput

ID of the nested security group, and conflicts with `cidrIp` and `addressTemplate`.

func (GroupRuleOutput) ToGroupRuleOutput

func (o GroupRuleOutput) ToGroupRuleOutput() GroupRuleOutput

func (GroupRuleOutput) ToGroupRuleOutputWithContext

func (o GroupRuleOutput) ToGroupRuleOutputWithContext(ctx context.Context) GroupRuleOutput

func (GroupRuleOutput) Type

Type of the security group rule. Valid values: `ingress` and `egress`.

type GroupRuleSet added in v0.1.3

type GroupRuleSet struct {
	pulumi.CustomResourceState

	// List of egress rule. NOTE: this block is ordered, the first rule has the highest priority.
	Egresses GroupRuleSetEgressArrayOutput `pulumi:"egresses"`
	// List of ingress rule. NOTE: this block is ordered, the first rule has the highest priority.
	Ingresses GroupRuleSetIngressArrayOutput `pulumi:"ingresses"`
	// ID of the security group to be queried.
	SecurityGroupId pulumi.StringOutput `pulumi:"securityGroupId"`
	// Security policies version, auto increment for every update.
	Version pulumi.StringOutput `pulumi:"version"`
}

Provides a resource to create security group rule. This resource is similar with tencentcloud_security_group_lite_rule, rules can be ordered and configure descriptions.

> **NOTE:** This resource must exclusive in one security group, do not declare additional rule resources of this security group elsewhere.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-tencentcloud/sdk/go/tencentcloud/Security"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Address"
"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		baseGroup, err := Security.NewGroup(ctx, "baseGroup", &Security.GroupArgs{
			Description: pulumi.String("Testing Rule Set Security"),
		})
		if err != nil {
			return err
		}
		relative, err := Security.NewGroup(ctx, "relative", &Security.GroupArgs{
			Description: pulumi.String("Used for attach security policy"),
		})
		if err != nil {
			return err
		}
		fooTemplate, err := Address.NewTemplate(ctx, "fooTemplate", &Address.TemplateArgs{
			Addresses: pulumi.StringArray{
				pulumi.String("10.0.0.1"),
				pulumi.String("10.0.1.0/24"),
				pulumi.String("10.0.0.1-10.0.0.100"),
			},
		})
		if err != nil {
			return err
		}
		fooTemplateGroup, err := Address.NewTemplateGroup(ctx, "fooTemplateGroup", &Address.TemplateGroupArgs{
			TemplateIds: pulumi.StringArray{
				fooTemplate.ID(),
			},
		})
		if err != nil {
			return err
		}
		_, err = Security.NewGroupRuleSet(ctx, "baseGroupRuleSet", &Security.GroupRuleSetArgs{
			SecurityGroupId: baseGroup.ID(),
			Ingresses: security.GroupRuleSetIngressArray{
				&security.GroupRuleSetIngressArgs{
					Action:      pulumi.String("ACCEPT"),
					CidrBlock:   pulumi.String("10.0.0.0/22"),
					Protocol:    pulumi.String("TCP"),
					Port:        pulumi.String("80-90"),
					Description: pulumi.String("A:Allow Ips and 80-90"),
				},
				&security.GroupRuleSetIngressArgs{
					Action:      pulumi.String("ACCEPT"),
					CidrBlock:   pulumi.String("10.0.2.1"),
					Protocol:    pulumi.String("UDP"),
					Port:        pulumi.String("8080"),
					Description: pulumi.String("B:Allow UDP 8080"),
				},
				&security.GroupRuleSetIngressArgs{
					Action:      pulumi.String("ACCEPT"),
					CidrBlock:   pulumi.String("10.0.2.1"),
					Protocol:    pulumi.String("UDP"),
					Port:        pulumi.String("8080"),
					Description: pulumi.String("C:Allow UDP 8080"),
				},
				&security.GroupRuleSetIngressArgs{
					Action:      pulumi.String("ACCEPT"),
					CidrBlock:   pulumi.String("172.18.1.2"),
					Protocol:    pulumi.String("ALL"),
					Port:        pulumi.String("ALL"),
					Description: pulumi.String("D:Allow ALL"),
				},
				&security.GroupRuleSetIngressArgs{
					Action:           pulumi.String("DROP"),
					Protocol:         pulumi.String("TCP"),
					Port:             pulumi.String("80"),
					SourceSecurityId: relative.ID(),
					Description:      pulumi.String("E:Block relative"),
				},
			},
			Egresses: security.GroupRuleSetEgressArray{
				&security.GroupRuleSetEgressArgs{
					Action:      pulumi.String("DROP"),
					CidrBlock:   pulumi.String("10.0.0.0/16"),
					Protocol:    pulumi.String("ICMP"),
					Description: pulumi.String("A:Block ping3"),
				},
				&security.GroupRuleSetEgressArgs{
					Action:            pulumi.String("DROP"),
					AddressTemplateId: fooTemplate.ID(),
					Description:       pulumi.String("B:Allow template"),
				},
				&security.GroupRuleSetEgressArgs{
					Action:               pulumi.String("DROP"),
					AddressTemplateGroup: fooTemplateGroup.ID(),
					Description:          pulumi.String("C:DROP template group"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Resource tencentcloud_security_group_rule_set can be imported by passing security grou id

```sh

$ pulumi import tencentcloud:Security/groupRuleSet:GroupRuleSet sglab_1 sg-xxxxxxxx

```

func GetGroupRuleSet added in v0.1.3

func GetGroupRuleSet(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupRuleSetState, opts ...pulumi.ResourceOption) (*GroupRuleSet, error)

GetGroupRuleSet gets an existing GroupRuleSet 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 NewGroupRuleSet added in v0.1.3

func NewGroupRuleSet(ctx *pulumi.Context,
	name string, args *GroupRuleSetArgs, opts ...pulumi.ResourceOption) (*GroupRuleSet, error)

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

func (*GroupRuleSet) ElementType added in v0.1.3

func (*GroupRuleSet) ElementType() reflect.Type

func (*GroupRuleSet) ToGroupRuleSetOutput added in v0.1.3

func (i *GroupRuleSet) ToGroupRuleSetOutput() GroupRuleSetOutput

func (*GroupRuleSet) ToGroupRuleSetOutputWithContext added in v0.1.3

func (i *GroupRuleSet) ToGroupRuleSetOutputWithContext(ctx context.Context) GroupRuleSetOutput

type GroupRuleSetArgs added in v0.1.3

type GroupRuleSetArgs struct {
	// List of egress rule. NOTE: this block is ordered, the first rule has the highest priority.
	Egresses GroupRuleSetEgressArrayInput
	// List of ingress rule. NOTE: this block is ordered, the first rule has the highest priority.
	Ingresses GroupRuleSetIngressArrayInput
	// ID of the security group to be queried.
	SecurityGroupId pulumi.StringInput
}

The set of arguments for constructing a GroupRuleSet resource.

func (GroupRuleSetArgs) ElementType added in v0.1.3

func (GroupRuleSetArgs) ElementType() reflect.Type

type GroupRuleSetArray added in v0.1.3

type GroupRuleSetArray []GroupRuleSetInput

func (GroupRuleSetArray) ElementType added in v0.1.3

func (GroupRuleSetArray) ElementType() reflect.Type

func (GroupRuleSetArray) ToGroupRuleSetArrayOutput added in v0.1.3

func (i GroupRuleSetArray) ToGroupRuleSetArrayOutput() GroupRuleSetArrayOutput

func (GroupRuleSetArray) ToGroupRuleSetArrayOutputWithContext added in v0.1.3

func (i GroupRuleSetArray) ToGroupRuleSetArrayOutputWithContext(ctx context.Context) GroupRuleSetArrayOutput

type GroupRuleSetArrayInput added in v0.1.3

type GroupRuleSetArrayInput interface {
	pulumi.Input

	ToGroupRuleSetArrayOutput() GroupRuleSetArrayOutput
	ToGroupRuleSetArrayOutputWithContext(context.Context) GroupRuleSetArrayOutput
}

GroupRuleSetArrayInput is an input type that accepts GroupRuleSetArray and GroupRuleSetArrayOutput values. You can construct a concrete instance of `GroupRuleSetArrayInput` via:

GroupRuleSetArray{ GroupRuleSetArgs{...} }

type GroupRuleSetArrayOutput added in v0.1.3

type GroupRuleSetArrayOutput struct{ *pulumi.OutputState }

func (GroupRuleSetArrayOutput) ElementType added in v0.1.3

func (GroupRuleSetArrayOutput) ElementType() reflect.Type

func (GroupRuleSetArrayOutput) Index added in v0.1.3

func (GroupRuleSetArrayOutput) ToGroupRuleSetArrayOutput added in v0.1.3

func (o GroupRuleSetArrayOutput) ToGroupRuleSetArrayOutput() GroupRuleSetArrayOutput

func (GroupRuleSetArrayOutput) ToGroupRuleSetArrayOutputWithContext added in v0.1.3

func (o GroupRuleSetArrayOutput) ToGroupRuleSetArrayOutputWithContext(ctx context.Context) GroupRuleSetArrayOutput

type GroupRuleSetEgress added in v0.1.3

type GroupRuleSetEgress struct {
	// Rule policy of security group. Valid values: `ACCEPT` and `DROP`.
	Action string `pulumi:"action"`
	// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`.
	AddressTemplateGroup *string `pulumi:"addressTemplateGroup"`
	// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`.
	AddressTemplateId *string `pulumi:"addressTemplateId"`
	// An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time.
	CidrBlock *string `pulumi:"cidrBlock"`
	// Description of the security group rule.
	Description *string `pulumi:"description"`
	// An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`.
	Ipv6CidrBlock *string `pulumi:"ipv6CidrBlock"`
	PolicyIndex   *int    `pulumi:"policyIndex"`
	// Range of the port. The available value can be one, multiple or one segment. E.g. `80`, `80,90` and `80-90`. Default to all ports, and conflicts with `service_template_*`.
	Port *string `pulumi:"port"`
	// Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`.
	Protocol *string `pulumi:"protocol"`
	// Specify Group ID of Protocol template ID like `ppmg-xxxxxxxx`, conflict with `cidrBlock` and `port`.
	ServiceTemplateGroup *string `pulumi:"serviceTemplateGroup"`
	// Specify Protocol template ID like `ppm-xxxxxxxx`, conflict with `cidrBlock` and `port`.
	ServiceTemplateId *string `pulumi:"serviceTemplateId"`
	// ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`.
	SourceSecurityId *string `pulumi:"sourceSecurityId"`
}

type GroupRuleSetEgressArgs added in v0.1.3

type GroupRuleSetEgressArgs struct {
	// Rule policy of security group. Valid values: `ACCEPT` and `DROP`.
	Action pulumi.StringInput `pulumi:"action"`
	// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`.
	AddressTemplateGroup pulumi.StringPtrInput `pulumi:"addressTemplateGroup"`
	// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`.
	AddressTemplateId pulumi.StringPtrInput `pulumi:"addressTemplateId"`
	// An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time.
	CidrBlock pulumi.StringPtrInput `pulumi:"cidrBlock"`
	// Description of the security group rule.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`.
	Ipv6CidrBlock pulumi.StringPtrInput `pulumi:"ipv6CidrBlock"`
	PolicyIndex   pulumi.IntPtrInput    `pulumi:"policyIndex"`
	// Range of the port. The available value can be one, multiple or one segment. E.g. `80`, `80,90` and `80-90`. Default to all ports, and conflicts with `service_template_*`.
	Port pulumi.StringPtrInput `pulumi:"port"`
	// Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
	// Specify Group ID of Protocol template ID like `ppmg-xxxxxxxx`, conflict with `cidrBlock` and `port`.
	ServiceTemplateGroup pulumi.StringPtrInput `pulumi:"serviceTemplateGroup"`
	// Specify Protocol template ID like `ppm-xxxxxxxx`, conflict with `cidrBlock` and `port`.
	ServiceTemplateId pulumi.StringPtrInput `pulumi:"serviceTemplateId"`
	// ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`.
	SourceSecurityId pulumi.StringPtrInput `pulumi:"sourceSecurityId"`
}

func (GroupRuleSetEgressArgs) ElementType added in v0.1.3

func (GroupRuleSetEgressArgs) ElementType() reflect.Type

func (GroupRuleSetEgressArgs) ToGroupRuleSetEgressOutput added in v0.1.3

func (i GroupRuleSetEgressArgs) ToGroupRuleSetEgressOutput() GroupRuleSetEgressOutput

func (GroupRuleSetEgressArgs) ToGroupRuleSetEgressOutputWithContext added in v0.1.3

func (i GroupRuleSetEgressArgs) ToGroupRuleSetEgressOutputWithContext(ctx context.Context) GroupRuleSetEgressOutput

type GroupRuleSetEgressArray added in v0.1.3

type GroupRuleSetEgressArray []GroupRuleSetEgressInput

func (GroupRuleSetEgressArray) ElementType added in v0.1.3

func (GroupRuleSetEgressArray) ElementType() reflect.Type

func (GroupRuleSetEgressArray) ToGroupRuleSetEgressArrayOutput added in v0.1.3

func (i GroupRuleSetEgressArray) ToGroupRuleSetEgressArrayOutput() GroupRuleSetEgressArrayOutput

func (GroupRuleSetEgressArray) ToGroupRuleSetEgressArrayOutputWithContext added in v0.1.3

func (i GroupRuleSetEgressArray) ToGroupRuleSetEgressArrayOutputWithContext(ctx context.Context) GroupRuleSetEgressArrayOutput

type GroupRuleSetEgressArrayInput added in v0.1.3

type GroupRuleSetEgressArrayInput interface {
	pulumi.Input

	ToGroupRuleSetEgressArrayOutput() GroupRuleSetEgressArrayOutput
	ToGroupRuleSetEgressArrayOutputWithContext(context.Context) GroupRuleSetEgressArrayOutput
}

GroupRuleSetEgressArrayInput is an input type that accepts GroupRuleSetEgressArray and GroupRuleSetEgressArrayOutput values. You can construct a concrete instance of `GroupRuleSetEgressArrayInput` via:

GroupRuleSetEgressArray{ GroupRuleSetEgressArgs{...} }

type GroupRuleSetEgressArrayOutput added in v0.1.3

type GroupRuleSetEgressArrayOutput struct{ *pulumi.OutputState }

func (GroupRuleSetEgressArrayOutput) ElementType added in v0.1.3

func (GroupRuleSetEgressArrayOutput) Index added in v0.1.3

func (GroupRuleSetEgressArrayOutput) ToGroupRuleSetEgressArrayOutput added in v0.1.3

func (o GroupRuleSetEgressArrayOutput) ToGroupRuleSetEgressArrayOutput() GroupRuleSetEgressArrayOutput

func (GroupRuleSetEgressArrayOutput) ToGroupRuleSetEgressArrayOutputWithContext added in v0.1.3

func (o GroupRuleSetEgressArrayOutput) ToGroupRuleSetEgressArrayOutputWithContext(ctx context.Context) GroupRuleSetEgressArrayOutput

type GroupRuleSetEgressInput added in v0.1.3

type GroupRuleSetEgressInput interface {
	pulumi.Input

	ToGroupRuleSetEgressOutput() GroupRuleSetEgressOutput
	ToGroupRuleSetEgressOutputWithContext(context.Context) GroupRuleSetEgressOutput
}

GroupRuleSetEgressInput is an input type that accepts GroupRuleSetEgressArgs and GroupRuleSetEgressOutput values. You can construct a concrete instance of `GroupRuleSetEgressInput` via:

GroupRuleSetEgressArgs{...}

type GroupRuleSetEgressOutput added in v0.1.3

type GroupRuleSetEgressOutput struct{ *pulumi.OutputState }

func (GroupRuleSetEgressOutput) Action added in v0.1.3

Rule policy of security group. Valid values: `ACCEPT` and `DROP`.

func (GroupRuleSetEgressOutput) AddressTemplateGroup added in v0.1.3

func (o GroupRuleSetEgressOutput) AddressTemplateGroup() pulumi.StringPtrOutput

Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`.

func (GroupRuleSetEgressOutput) AddressTemplateId added in v0.1.3

func (o GroupRuleSetEgressOutput) AddressTemplateId() pulumi.StringPtrOutput

Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`.

func (GroupRuleSetEgressOutput) CidrBlock added in v0.1.3

An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time.

func (GroupRuleSetEgressOutput) Description added in v0.1.3

Description of the security group rule.

func (GroupRuleSetEgressOutput) ElementType added in v0.1.3

func (GroupRuleSetEgressOutput) ElementType() reflect.Type

func (GroupRuleSetEgressOutput) Ipv6CidrBlock added in v0.1.3

An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`.

func (GroupRuleSetEgressOutput) PolicyIndex added in v0.1.8

func (GroupRuleSetEgressOutput) Port added in v0.1.3

Range of the port. The available value can be one, multiple or one segment. E.g. `80`, `80,90` and `80-90`. Default to all ports, and conflicts with `service_template_*`.

func (GroupRuleSetEgressOutput) Protocol added in v0.1.3

Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`.

func (GroupRuleSetEgressOutput) ServiceTemplateGroup added in v0.1.3

func (o GroupRuleSetEgressOutput) ServiceTemplateGroup() pulumi.StringPtrOutput

Specify Group ID of Protocol template ID like `ppmg-xxxxxxxx`, conflict with `cidrBlock` and `port`.

func (GroupRuleSetEgressOutput) ServiceTemplateId added in v0.1.3

func (o GroupRuleSetEgressOutput) ServiceTemplateId() pulumi.StringPtrOutput

Specify Protocol template ID like `ppm-xxxxxxxx`, conflict with `cidrBlock` and `port`.

func (GroupRuleSetEgressOutput) SourceSecurityId added in v0.1.3

func (o GroupRuleSetEgressOutput) SourceSecurityId() pulumi.StringPtrOutput

ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`.

func (GroupRuleSetEgressOutput) ToGroupRuleSetEgressOutput added in v0.1.3

func (o GroupRuleSetEgressOutput) ToGroupRuleSetEgressOutput() GroupRuleSetEgressOutput

func (GroupRuleSetEgressOutput) ToGroupRuleSetEgressOutputWithContext added in v0.1.3

func (o GroupRuleSetEgressOutput) ToGroupRuleSetEgressOutputWithContext(ctx context.Context) GroupRuleSetEgressOutput

type GroupRuleSetIngress added in v0.1.3

type GroupRuleSetIngress struct {
	// Rule policy of security group. Valid values: `ACCEPT` and `DROP`.
	Action string `pulumi:"action"`
	// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`.
	AddressTemplateGroup *string `pulumi:"addressTemplateGroup"`
	// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`.
	AddressTemplateId *string `pulumi:"addressTemplateId"`
	// An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time.
	CidrBlock *string `pulumi:"cidrBlock"`
	// Description of the security group rule.
	Description *string `pulumi:"description"`
	// An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`.
	Ipv6CidrBlock *string `pulumi:"ipv6CidrBlock"`
	PolicyIndex   *int    `pulumi:"policyIndex"`
	// Range of the port. The available value can be one, multiple or one segment. E.g. `80`, `80,90` and `80-90`. Default to all ports, and conflicts with `service_template_*`.
	Port *string `pulumi:"port"`
	// Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`.
	Protocol *string `pulumi:"protocol"`
	// Specify Group ID of Protocol template ID like `ppmg-xxxxxxxx`, conflict with `cidrBlock` and `port`.
	ServiceTemplateGroup *string `pulumi:"serviceTemplateGroup"`
	// Specify Protocol template ID like `ppm-xxxxxxxx`, conflict with `cidrBlock` and `port`.
	ServiceTemplateId *string `pulumi:"serviceTemplateId"`
	// ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`.
	SourceSecurityId *string `pulumi:"sourceSecurityId"`
}

type GroupRuleSetIngressArgs added in v0.1.3

type GroupRuleSetIngressArgs struct {
	// Rule policy of security group. Valid values: `ACCEPT` and `DROP`.
	Action pulumi.StringInput `pulumi:"action"`
	// Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`.
	AddressTemplateGroup pulumi.StringPtrInput `pulumi:"addressTemplateGroup"`
	// Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`.
	AddressTemplateId pulumi.StringPtrInput `pulumi:"addressTemplateId"`
	// An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time.
	CidrBlock pulumi.StringPtrInput `pulumi:"cidrBlock"`
	// Description of the security group rule.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`.
	Ipv6CidrBlock pulumi.StringPtrInput `pulumi:"ipv6CidrBlock"`
	PolicyIndex   pulumi.IntPtrInput    `pulumi:"policyIndex"`
	// Range of the port. The available value can be one, multiple or one segment. E.g. `80`, `80,90` and `80-90`. Default to all ports, and conflicts with `service_template_*`.
	Port pulumi.StringPtrInput `pulumi:"port"`
	// Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
	// Specify Group ID of Protocol template ID like `ppmg-xxxxxxxx`, conflict with `cidrBlock` and `port`.
	ServiceTemplateGroup pulumi.StringPtrInput `pulumi:"serviceTemplateGroup"`
	// Specify Protocol template ID like `ppm-xxxxxxxx`, conflict with `cidrBlock` and `port`.
	ServiceTemplateId pulumi.StringPtrInput `pulumi:"serviceTemplateId"`
	// ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`.
	SourceSecurityId pulumi.StringPtrInput `pulumi:"sourceSecurityId"`
}

func (GroupRuleSetIngressArgs) ElementType added in v0.1.3

func (GroupRuleSetIngressArgs) ElementType() reflect.Type

func (GroupRuleSetIngressArgs) ToGroupRuleSetIngressOutput added in v0.1.3

func (i GroupRuleSetIngressArgs) ToGroupRuleSetIngressOutput() GroupRuleSetIngressOutput

func (GroupRuleSetIngressArgs) ToGroupRuleSetIngressOutputWithContext added in v0.1.3

func (i GroupRuleSetIngressArgs) ToGroupRuleSetIngressOutputWithContext(ctx context.Context) GroupRuleSetIngressOutput

type GroupRuleSetIngressArray added in v0.1.3

type GroupRuleSetIngressArray []GroupRuleSetIngressInput

func (GroupRuleSetIngressArray) ElementType added in v0.1.3

func (GroupRuleSetIngressArray) ElementType() reflect.Type

func (GroupRuleSetIngressArray) ToGroupRuleSetIngressArrayOutput added in v0.1.3

func (i GroupRuleSetIngressArray) ToGroupRuleSetIngressArrayOutput() GroupRuleSetIngressArrayOutput

func (GroupRuleSetIngressArray) ToGroupRuleSetIngressArrayOutputWithContext added in v0.1.3

func (i GroupRuleSetIngressArray) ToGroupRuleSetIngressArrayOutputWithContext(ctx context.Context) GroupRuleSetIngressArrayOutput

type GroupRuleSetIngressArrayInput added in v0.1.3

type GroupRuleSetIngressArrayInput interface {
	pulumi.Input

	ToGroupRuleSetIngressArrayOutput() GroupRuleSetIngressArrayOutput
	ToGroupRuleSetIngressArrayOutputWithContext(context.Context) GroupRuleSetIngressArrayOutput
}

GroupRuleSetIngressArrayInput is an input type that accepts GroupRuleSetIngressArray and GroupRuleSetIngressArrayOutput values. You can construct a concrete instance of `GroupRuleSetIngressArrayInput` via:

GroupRuleSetIngressArray{ GroupRuleSetIngressArgs{...} }

type GroupRuleSetIngressArrayOutput added in v0.1.3

type GroupRuleSetIngressArrayOutput struct{ *pulumi.OutputState }

func (GroupRuleSetIngressArrayOutput) ElementType added in v0.1.3

func (GroupRuleSetIngressArrayOutput) Index added in v0.1.3

func (GroupRuleSetIngressArrayOutput) ToGroupRuleSetIngressArrayOutput added in v0.1.3

func (o GroupRuleSetIngressArrayOutput) ToGroupRuleSetIngressArrayOutput() GroupRuleSetIngressArrayOutput

func (GroupRuleSetIngressArrayOutput) ToGroupRuleSetIngressArrayOutputWithContext added in v0.1.3

func (o GroupRuleSetIngressArrayOutput) ToGroupRuleSetIngressArrayOutputWithContext(ctx context.Context) GroupRuleSetIngressArrayOutput

type GroupRuleSetIngressInput added in v0.1.3

type GroupRuleSetIngressInput interface {
	pulumi.Input

	ToGroupRuleSetIngressOutput() GroupRuleSetIngressOutput
	ToGroupRuleSetIngressOutputWithContext(context.Context) GroupRuleSetIngressOutput
}

GroupRuleSetIngressInput is an input type that accepts GroupRuleSetIngressArgs and GroupRuleSetIngressOutput values. You can construct a concrete instance of `GroupRuleSetIngressInput` via:

GroupRuleSetIngressArgs{...}

type GroupRuleSetIngressOutput added in v0.1.3

type GroupRuleSetIngressOutput struct{ *pulumi.OutputState }

func (GroupRuleSetIngressOutput) Action added in v0.1.3

Rule policy of security group. Valid values: `ACCEPT` and `DROP`.

func (GroupRuleSetIngressOutput) AddressTemplateGroup added in v0.1.3

func (o GroupRuleSetIngressOutput) AddressTemplateGroup() pulumi.StringPtrOutput

Specify Group ID of Address template like `ipmg-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`.

func (GroupRuleSetIngressOutput) AddressTemplateId added in v0.1.3

func (o GroupRuleSetIngressOutput) AddressTemplateId() pulumi.StringPtrOutput

Specify Address template ID like `ipm-xxxxxxxx`, conflict with `sourceSecurityId` and `cidrBlock`.

func (GroupRuleSetIngressOutput) CidrBlock added in v0.1.3

An IP address network or CIDR segment. NOTE: `cidrBlock`, `ipv6CidrBlock`, `sourceSecurityId` and `address_template_*` are exclusive and cannot be set in the same time.

func (GroupRuleSetIngressOutput) Description added in v0.1.3

Description of the security group rule.

func (GroupRuleSetIngressOutput) ElementType added in v0.1.3

func (GroupRuleSetIngressOutput) ElementType() reflect.Type

func (GroupRuleSetIngressOutput) Ipv6CidrBlock added in v0.1.3

An IPV6 address network or CIDR segment, and conflict with `sourceSecurityId` and `address_template_*`.

func (GroupRuleSetIngressOutput) PolicyIndex added in v0.1.8

func (GroupRuleSetIngressOutput) Port added in v0.1.3

Range of the port. The available value can be one, multiple or one segment. E.g. `80`, `80,90` and `80-90`. Default to all ports, and conflicts with `service_template_*`.

func (GroupRuleSetIngressOutput) Protocol added in v0.1.3

Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `service_template_*`.

func (GroupRuleSetIngressOutput) ServiceTemplateGroup added in v0.1.3

func (o GroupRuleSetIngressOutput) ServiceTemplateGroup() pulumi.StringPtrOutput

Specify Group ID of Protocol template ID like `ppmg-xxxxxxxx`, conflict with `cidrBlock` and `port`.

func (GroupRuleSetIngressOutput) ServiceTemplateId added in v0.1.3

func (o GroupRuleSetIngressOutput) ServiceTemplateId() pulumi.StringPtrOutput

Specify Protocol template ID like `ppm-xxxxxxxx`, conflict with `cidrBlock` and `port`.

func (GroupRuleSetIngressOutput) SourceSecurityId added in v0.1.3

func (o GroupRuleSetIngressOutput) SourceSecurityId() pulumi.StringPtrOutput

ID of the nested security group, and conflicts with `cidrBlock` and `address_template_*`.

func (GroupRuleSetIngressOutput) ToGroupRuleSetIngressOutput added in v0.1.3

func (o GroupRuleSetIngressOutput) ToGroupRuleSetIngressOutput() GroupRuleSetIngressOutput

func (GroupRuleSetIngressOutput) ToGroupRuleSetIngressOutputWithContext added in v0.1.3

func (o GroupRuleSetIngressOutput) ToGroupRuleSetIngressOutputWithContext(ctx context.Context) GroupRuleSetIngressOutput

type GroupRuleSetInput added in v0.1.3

type GroupRuleSetInput interface {
	pulumi.Input

	ToGroupRuleSetOutput() GroupRuleSetOutput
	ToGroupRuleSetOutputWithContext(ctx context.Context) GroupRuleSetOutput
}

type GroupRuleSetMap added in v0.1.3

type GroupRuleSetMap map[string]GroupRuleSetInput

func (GroupRuleSetMap) ElementType added in v0.1.3

func (GroupRuleSetMap) ElementType() reflect.Type

func (GroupRuleSetMap) ToGroupRuleSetMapOutput added in v0.1.3

func (i GroupRuleSetMap) ToGroupRuleSetMapOutput() GroupRuleSetMapOutput

func (GroupRuleSetMap) ToGroupRuleSetMapOutputWithContext added in v0.1.3

func (i GroupRuleSetMap) ToGroupRuleSetMapOutputWithContext(ctx context.Context) GroupRuleSetMapOutput

type GroupRuleSetMapInput added in v0.1.3

type GroupRuleSetMapInput interface {
	pulumi.Input

	ToGroupRuleSetMapOutput() GroupRuleSetMapOutput
	ToGroupRuleSetMapOutputWithContext(context.Context) GroupRuleSetMapOutput
}

GroupRuleSetMapInput is an input type that accepts GroupRuleSetMap and GroupRuleSetMapOutput values. You can construct a concrete instance of `GroupRuleSetMapInput` via:

GroupRuleSetMap{ "key": GroupRuleSetArgs{...} }

type GroupRuleSetMapOutput added in v0.1.3

type GroupRuleSetMapOutput struct{ *pulumi.OutputState }

func (GroupRuleSetMapOutput) ElementType added in v0.1.3

func (GroupRuleSetMapOutput) ElementType() reflect.Type

func (GroupRuleSetMapOutput) MapIndex added in v0.1.3

func (GroupRuleSetMapOutput) ToGroupRuleSetMapOutput added in v0.1.3

func (o GroupRuleSetMapOutput) ToGroupRuleSetMapOutput() GroupRuleSetMapOutput

func (GroupRuleSetMapOutput) ToGroupRuleSetMapOutputWithContext added in v0.1.3

func (o GroupRuleSetMapOutput) ToGroupRuleSetMapOutputWithContext(ctx context.Context) GroupRuleSetMapOutput

type GroupRuleSetOutput added in v0.1.3

type GroupRuleSetOutput struct{ *pulumi.OutputState }

func (GroupRuleSetOutput) Egresses added in v0.1.3

List of egress rule. NOTE: this block is ordered, the first rule has the highest priority.

func (GroupRuleSetOutput) ElementType added in v0.1.3

func (GroupRuleSetOutput) ElementType() reflect.Type

func (GroupRuleSetOutput) Ingresses added in v0.1.3

List of ingress rule. NOTE: this block is ordered, the first rule has the highest priority.

func (GroupRuleSetOutput) SecurityGroupId added in v0.1.3

func (o GroupRuleSetOutput) SecurityGroupId() pulumi.StringOutput

ID of the security group to be queried.

func (GroupRuleSetOutput) ToGroupRuleSetOutput added in v0.1.3

func (o GroupRuleSetOutput) ToGroupRuleSetOutput() GroupRuleSetOutput

func (GroupRuleSetOutput) ToGroupRuleSetOutputWithContext added in v0.1.3

func (o GroupRuleSetOutput) ToGroupRuleSetOutputWithContext(ctx context.Context) GroupRuleSetOutput

func (GroupRuleSetOutput) Version added in v0.1.3

Security policies version, auto increment for every update.

type GroupRuleSetState added in v0.1.3

type GroupRuleSetState struct {
	// List of egress rule. NOTE: this block is ordered, the first rule has the highest priority.
	Egresses GroupRuleSetEgressArrayInput
	// List of ingress rule. NOTE: this block is ordered, the first rule has the highest priority.
	Ingresses GroupRuleSetIngressArrayInput
	// ID of the security group to be queried.
	SecurityGroupId pulumi.StringPtrInput
	// Security policies version, auto increment for every update.
	Version pulumi.StringPtrInput
}

func (GroupRuleSetState) ElementType added in v0.1.3

func (GroupRuleSetState) ElementType() reflect.Type

type GroupRuleState

type GroupRuleState struct {
	// ID of the address template, and confilicts with `sourceSgid` and `cidrIp`.
	AddressTemplate GroupRuleAddressTemplatePtrInput
	// An IP address network or segment, and conflict with `sourceSgid` and `addressTemplate`.
	CidrIp pulumi.StringPtrInput
	// Description of the security group rule.
	Description pulumi.StringPtrInput
	// Type of IP protocol. Valid values: `TCP`, `UDP` and `ICMP`. Default to all types protocol, and conflicts with `protocolTemplate`.
	IpProtocol pulumi.StringPtrInput
	// Rule policy of security group. Valid values: `ACCEPT` and `DROP`.
	Policy pulumi.StringPtrInput
	// The security group rule index number, the value of which dynamically changes as the security group rule changes.
	PolicyIndex pulumi.IntPtrInput
	// Range of the port. The available value can be one, multiple or one segment. E.g. `80`, `80,90` and `80-90`. Default to all ports, and confilicts with `protocolTemplate`.
	PortRange pulumi.StringPtrInput
	// ID of the address template, and conflict with `ipProtocol`, `portRange`.
	ProtocolTemplate GroupRuleProtocolTemplatePtrInput
	// ID of the security group to be queried.
	SecurityGroupId pulumi.StringPtrInput
	// ID of the nested security group, and conflicts with `cidrIp` and `addressTemplate`.
	SourceSgid pulumi.StringPtrInput
	// Type of the security group rule. Valid values: `ingress` and `egress`.
	Type pulumi.StringPtrInput
}

func (GroupRuleState) ElementType

func (GroupRuleState) ElementType() reflect.Type

type GroupState

type GroupState struct {
	// Description of the security group.
	Description pulumi.StringPtrInput
	// Name of the security group to be queried.
	Name pulumi.StringPtrInput
	// Project ID of the security group.
	ProjectId pulumi.IntPtrInput
	// Tags of the security group.
	Tags pulumi.MapInput
}

func (GroupState) ElementType

func (GroupState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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