rocketmq

package
v2.32.0 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2021 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Acl

type Acl struct {
	pulumi.CustomResourceState

	// The name of the ACL instance. The name can contain 2 to 128 characters including a-z, A-Z, 0-9, periods, underlines, and hyphens. The name must start with an English letter, but cannot start with http:// or https://.
	Name pulumi.StringOutput `pulumi:"name"`
}

Provides a Sag Acl resource. Smart Access Gateway (SAG) provides the access control list (ACL) function in the form of whitelists and blacklists for different SAG instances.

For information about Sag Acl and how to use it, see [What is access control list (ACL)](https://www.alibabacloud.com/help/doc-detail/111518.htm).

> **NOTE:** Available in 1.60.0+

> **NOTE:** Only the following regions support create Cloud Connect Network. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-2`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/rocketmq"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rocketmq.NewAcl(ctx, "_default", nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The Sag Acl can be imported using the id, e.g.

```sh

$ pulumi import alicloud:rocketmq/acl:Acl example acl-abc123456

```

func GetAcl

func GetAcl(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AclState, opts ...pulumi.ResourceOption) (*Acl, error)

GetAcl gets an existing Acl 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 NewAcl

func NewAcl(ctx *pulumi.Context,
	name string, args *AclArgs, opts ...pulumi.ResourceOption) (*Acl, error)

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

func (Acl) ElementType added in v2.25.1

func (Acl) ElementType() reflect.Type

func (Acl) ToAclOutput added in v2.25.1

func (i Acl) ToAclOutput() AclOutput

func (Acl) ToAclOutputWithContext added in v2.25.1

func (i Acl) ToAclOutputWithContext(ctx context.Context) AclOutput

type AclArgs

type AclArgs struct {
	// The name of the ACL instance. The name can contain 2 to 128 characters including a-z, A-Z, 0-9, periods, underlines, and hyphens. The name must start with an English letter, but cannot start with http:// or https://.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a Acl resource.

func (AclArgs) ElementType

func (AclArgs) ElementType() reflect.Type

type AclInput added in v2.25.1

type AclInput interface {
	pulumi.Input

	ToAclOutput() AclOutput
	ToAclOutputWithContext(ctx context.Context) AclOutput
}

type AclOutput added in v2.25.1

type AclOutput struct {
	*pulumi.OutputState
}

func (AclOutput) ElementType added in v2.25.1

func (AclOutput) ElementType() reflect.Type

func (AclOutput) ToAclOutput added in v2.25.1

func (o AclOutput) ToAclOutput() AclOutput

func (AclOutput) ToAclOutputWithContext added in v2.25.1

func (o AclOutput) ToAclOutputWithContext(ctx context.Context) AclOutput

type AclRule

type AclRule struct {
	pulumi.CustomResourceState

	// The ID of the ACL.
	AclId pulumi.StringOutput `pulumi:"aclId"`
	// The description of the ACL rule. It must be 1 to 512 characters in length.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The destination address. It is an IPv4 address range in CIDR format. Default value: 0.0.0.0/0.
	DestCidr pulumi.StringOutput `pulumi:"destCidr"`
	// The range of the destination port. Valid value: 80/80.
	DestPortRange pulumi.StringOutput `pulumi:"destPortRange"`
	// The direction of the ACL rule. Valid values: in|out.
	Direction pulumi.StringOutput `pulumi:"direction"`
	// The protocol used by the ACL rule. The value is not case sensitive.
	IpProtocol pulumi.StringOutput `pulumi:"ipProtocol"`
	// The policy used by the ACL rule. Valid values: accept|drop.
	Policy pulumi.StringOutput `pulumi:"policy"`
	// The priority of the ACL rule. Value range: 1 to 100.
	Priority pulumi.IntPtrOutput `pulumi:"priority"`
	// The source address. It is an IPv4 address range in the CIDR format. Default value: 0.0.0.0/0.
	SourceCidr pulumi.StringOutput `pulumi:"sourceCidr"`
	// The range of the source port. Valid value: 80/80.
	SourcePortRange pulumi.StringOutput `pulumi:"sourcePortRange"`
}

Provides a Sag Acl Rule resource. This topic describes how to configure an access control list (ACL) rule for a target Smart Access Gateway instance to permit or deny access to or from specified IP addresses in the ACL rule.

For information about Sag Acl Rule and how to use it, see [What is access control list (ACL) rule](https://www.alibabacloud.com/help/doc-detail/111483.htm).

> **NOTE:** Available in 1.60.0+

> **NOTE:** Only the following regions support create Cloud Connect Network. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-2`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]

## Import

The Sag Acl Rule can be imported using the id, e.g.

```sh

$ pulumi import alicloud:rocketmq/aclRule:AclRule example acr-abc123456

```

func GetAclRule

func GetAclRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AclRuleState, opts ...pulumi.ResourceOption) (*AclRule, error)

GetAclRule gets an existing AclRule 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 NewAclRule

func NewAclRule(ctx *pulumi.Context,
	name string, args *AclRuleArgs, opts ...pulumi.ResourceOption) (*AclRule, error)

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

func (AclRule) ElementType added in v2.25.1

func (AclRule) ElementType() reflect.Type

func (AclRule) ToAclRuleOutput added in v2.25.1

func (i AclRule) ToAclRuleOutput() AclRuleOutput

func (AclRule) ToAclRuleOutputWithContext added in v2.25.1

func (i AclRule) ToAclRuleOutputWithContext(ctx context.Context) AclRuleOutput

type AclRuleArgs

type AclRuleArgs struct {
	// The ID of the ACL.
	AclId pulumi.StringInput
	// The description of the ACL rule. It must be 1 to 512 characters in length.
	Description pulumi.StringPtrInput
	// The destination address. It is an IPv4 address range in CIDR format. Default value: 0.0.0.0/0.
	DestCidr pulumi.StringInput
	// The range of the destination port. Valid value: 80/80.
	DestPortRange pulumi.StringInput
	// The direction of the ACL rule. Valid values: in|out.
	Direction pulumi.StringInput
	// The protocol used by the ACL rule. The value is not case sensitive.
	IpProtocol pulumi.StringInput
	// The policy used by the ACL rule. Valid values: accept|drop.
	Policy pulumi.StringInput
	// The priority of the ACL rule. Value range: 1 to 100.
	Priority pulumi.IntPtrInput
	// The source address. It is an IPv4 address range in the CIDR format. Default value: 0.0.0.0/0.
	SourceCidr pulumi.StringInput
	// The range of the source port. Valid value: 80/80.
	SourcePortRange pulumi.StringInput
}

The set of arguments for constructing a AclRule resource.

func (AclRuleArgs) ElementType

func (AclRuleArgs) ElementType() reflect.Type

type AclRuleInput added in v2.25.1

type AclRuleInput interface {
	pulumi.Input

	ToAclRuleOutput() AclRuleOutput
	ToAclRuleOutputWithContext(ctx context.Context) AclRuleOutput
}

type AclRuleOutput added in v2.25.1

type AclRuleOutput struct {
	*pulumi.OutputState
}

func (AclRuleOutput) ElementType added in v2.25.1

func (AclRuleOutput) ElementType() reflect.Type

func (AclRuleOutput) ToAclRuleOutput added in v2.25.1

func (o AclRuleOutput) ToAclRuleOutput() AclRuleOutput

func (AclRuleOutput) ToAclRuleOutputWithContext added in v2.25.1

func (o AclRuleOutput) ToAclRuleOutputWithContext(ctx context.Context) AclRuleOutput

type AclRuleState

type AclRuleState struct {
	// The ID of the ACL.
	AclId pulumi.StringPtrInput
	// The description of the ACL rule. It must be 1 to 512 characters in length.
	Description pulumi.StringPtrInput
	// The destination address. It is an IPv4 address range in CIDR format. Default value: 0.0.0.0/0.
	DestCidr pulumi.StringPtrInput
	// The range of the destination port. Valid value: 80/80.
	DestPortRange pulumi.StringPtrInput
	// The direction of the ACL rule. Valid values: in|out.
	Direction pulumi.StringPtrInput
	// The protocol used by the ACL rule. The value is not case sensitive.
	IpProtocol pulumi.StringPtrInput
	// The policy used by the ACL rule. Valid values: accept|drop.
	Policy pulumi.StringPtrInput
	// The priority of the ACL rule. Value range: 1 to 100.
	Priority pulumi.IntPtrInput
	// The source address. It is an IPv4 address range in the CIDR format. Default value: 0.0.0.0/0.
	SourceCidr pulumi.StringPtrInput
	// The range of the source port. Valid value: 80/80.
	SourcePortRange pulumi.StringPtrInput
}

func (AclRuleState) ElementType

func (AclRuleState) ElementType() reflect.Type

type AclState

type AclState struct {
	// The name of the ACL instance. The name can contain 2 to 128 characters including a-z, A-Z, 0-9, periods, underlines, and hyphens. The name must start with an English letter, but cannot start with http:// or https://.
	Name pulumi.StringPtrInput
}

func (AclState) ElementType

func (AclState) ElementType() reflect.Type

type ClientUser

type ClientUser struct {
	pulumi.CustomResourceState

	// The SAG APP bandwidth that the user can use. Unit: Kbit/s. Maximum value: 2000 Kbit/s.
	Bandwidth pulumi.IntOutput `pulumi:"bandwidth"`
	// The IP address of the SAG APP. If you specify this parameter, the current account always uses the specified IP address.Note The IP address must be in the private CIDR block of the SAG client.If you do not specify this parameter, the system automatically allocates an IP address from the private CIDR block of the SAG client. In this case, each re-connection uses a different IP address.
	ClientIp             pulumi.StringPtrOutput `pulumi:"clientIp"`
	KmsEncryptedPassword pulumi.StringPtrOutput `pulumi:"kmsEncryptedPassword"`
	KmsEncryptionContext pulumi.MapOutput       `pulumi:"kmsEncryptionContext"`
	// The password used to log on to the SAG APP.Both the user name and the password must be specified. If you specify the user name, the password must be specified, too.
	Password pulumi.StringOutput `pulumi:"password"`
	// The ID of the SAG instance created for the SAG APP.
	SagId pulumi.StringOutput `pulumi:"sagId"`
	// The email address of the user. The administrator uses this address to send the account information for logging on to the APP to the user.
	UserMail pulumi.StringOutput `pulumi:"userMail"`
	// The user name. User names in the same SAG APP must be unique.Both the user name and the password must be specified. If you specify the user name, the password must be specified, too.
	UserName pulumi.StringOutput `pulumi:"userName"`
}

Provides a Sag ClientUser resource. This topic describes how to manage accounts as an administrator. After you configure the network, you can create multiple accounts and distribute them to end users so that clients can access Alibaba Cloud.

For information about Sag ClientUser and how to use it, see [What is Sag ClientUser](https://www.alibabacloud.com/help/doc-detail/108326.htm).

> **NOTE:** Available in 1.65.0+

> **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-2`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/rocketmq"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rocketmq.NewClientUser(ctx, "_default", &rocketmq.ClientUserArgs{
			Bandwidth: pulumi.Int(20),
			ClientIp:  pulumi.String("192.1.10.0"),
			Password:  pulumi.String("xxxxxxx"),
			SagId:     pulumi.String("sag-xxxxx"),
			UserMail:  pulumi.String("tftest-xxxxx@test.com"),
			UserName:  pulumi.String("th-username-xxxxx"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The Sag ClientUser can be imported using the name, e.g.

```sh

$ pulumi import alicloud:rocketmq/clientUser:ClientUser example sag-abc123456:tf-username-abc123456

```

func GetClientUser

func GetClientUser(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientUserState, opts ...pulumi.ResourceOption) (*ClientUser, error)

GetClientUser gets an existing ClientUser 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 NewClientUser

func NewClientUser(ctx *pulumi.Context,
	name string, args *ClientUserArgs, opts ...pulumi.ResourceOption) (*ClientUser, error)

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

func (ClientUser) ElementType added in v2.25.1

func (ClientUser) ElementType() reflect.Type

func (ClientUser) ToClientUserOutput added in v2.25.1

func (i ClientUser) ToClientUserOutput() ClientUserOutput

func (ClientUser) ToClientUserOutputWithContext added in v2.25.1

func (i ClientUser) ToClientUserOutputWithContext(ctx context.Context) ClientUserOutput

type ClientUserArgs

type ClientUserArgs struct {
	// The SAG APP bandwidth that the user can use. Unit: Kbit/s. Maximum value: 2000 Kbit/s.
	Bandwidth pulumi.IntInput
	// The IP address of the SAG APP. If you specify this parameter, the current account always uses the specified IP address.Note The IP address must be in the private CIDR block of the SAG client.If you do not specify this parameter, the system automatically allocates an IP address from the private CIDR block of the SAG client. In this case, each re-connection uses a different IP address.
	ClientIp             pulumi.StringPtrInput
	KmsEncryptedPassword pulumi.StringPtrInput
	KmsEncryptionContext pulumi.MapInput
	// The password used to log on to the SAG APP.Both the user name and the password must be specified. If you specify the user name, the password must be specified, too.
	Password pulumi.StringPtrInput
	// The ID of the SAG instance created for the SAG APP.
	SagId pulumi.StringInput
	// The email address of the user. The administrator uses this address to send the account information for logging on to the APP to the user.
	UserMail pulumi.StringInput
	// The user name. User names in the same SAG APP must be unique.Both the user name and the password must be specified. If you specify the user name, the password must be specified, too.
	UserName pulumi.StringPtrInput
}

The set of arguments for constructing a ClientUser resource.

func (ClientUserArgs) ElementType

func (ClientUserArgs) ElementType() reflect.Type

type ClientUserInput added in v2.25.1

type ClientUserInput interface {
	pulumi.Input

	ToClientUserOutput() ClientUserOutput
	ToClientUserOutputWithContext(ctx context.Context) ClientUserOutput
}

type ClientUserOutput added in v2.25.1

type ClientUserOutput struct {
	*pulumi.OutputState
}

func (ClientUserOutput) ElementType added in v2.25.1

func (ClientUserOutput) ElementType() reflect.Type

func (ClientUserOutput) ToClientUserOutput added in v2.25.1

func (o ClientUserOutput) ToClientUserOutput() ClientUserOutput

func (ClientUserOutput) ToClientUserOutputWithContext added in v2.25.1

func (o ClientUserOutput) ToClientUserOutputWithContext(ctx context.Context) ClientUserOutput

type ClientUserState

type ClientUserState struct {
	// The SAG APP bandwidth that the user can use. Unit: Kbit/s. Maximum value: 2000 Kbit/s.
	Bandwidth pulumi.IntPtrInput
	// The IP address of the SAG APP. If you specify this parameter, the current account always uses the specified IP address.Note The IP address must be in the private CIDR block of the SAG client.If you do not specify this parameter, the system automatically allocates an IP address from the private CIDR block of the SAG client. In this case, each re-connection uses a different IP address.
	ClientIp             pulumi.StringPtrInput
	KmsEncryptedPassword pulumi.StringPtrInput
	KmsEncryptionContext pulumi.MapInput
	// The password used to log on to the SAG APP.Both the user name and the password must be specified. If you specify the user name, the password must be specified, too.
	Password pulumi.StringPtrInput
	// The ID of the SAG instance created for the SAG APP.
	SagId pulumi.StringPtrInput
	// The email address of the user. The administrator uses this address to send the account information for logging on to the APP to the user.
	UserMail pulumi.StringPtrInput
	// The user name. User names in the same SAG APP must be unique.Both the user name and the password must be specified. If you specify the user name, the password must be specified, too.
	UserName pulumi.StringPtrInput
}

func (ClientUserState) ElementType

func (ClientUserState) ElementType() reflect.Type

type DnatEntry

type DnatEntry struct {
	pulumi.CustomResourceState

	// The external public IP address.when "type" is "Internet",automatically identify the external ip.
	ExternalIp pulumi.StringPtrOutput `pulumi:"externalIp"`
	// The public port.Value range: 1 to 65535 or "any".
	ExternalPort pulumi.StringOutput `pulumi:"externalPort"`
	// The destination private IP address.
	InternalIp pulumi.StringOutput `pulumi:"internalIp"`
	// The destination private port.Value range: 1 to 65535 or "any".
	InternalPort pulumi.StringOutput `pulumi:"internalPort"`
	// The protocol type. Valid values: TCP: Forwards packets of the TCP protocol. UDP: Forwards packets of the UDP protocol. Any: Forwards packets of all protocols.
	IpProtocol pulumi.StringOutput `pulumi:"ipProtocol"`
	// The ID of the SAG instance.
	SagId pulumi.StringOutput `pulumi:"sagId"`
	// The DNAT type. Valid values: Intranet: DNAT of private IP addresses. Internet: DNAT of public IP addresses
	Type pulumi.StringOutput `pulumi:"type"`
}

Provides a Sag DnatEntry resource. This topic describes how to add a DNAT entry to a Smart Access Gateway (SAG) instance to enable the DNAT function. By using the DNAT function, you can forward requests received by public IP addresses to Alibaba Cloud instances according to custom mapping rules.

For information about Sag DnatEntry and how to use it, see [What is Sag DnatEntry](https://www.alibabacloud.com/help/doc-detail/124312.htm).

> **NOTE:** Available in 1.63.0+

> **NOTE:** Only the following regions suppor. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-2`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/rocketmq"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rocketmq.NewDnatEntry(ctx, "_default", &rocketmq.DnatEntryArgs{
			ExternalIp:   pulumi.String("1.0.0.2"),
			ExternalPort: pulumi.String("1"),
			InternalIp:   pulumi.String("10.0.0.2"),
			InternalPort: pulumi.String("20"),
			IpProtocol:   pulumi.String("tcp"),
			SagId:        pulumi.String("sag-3rb1t3iagy3w0zgwy9"),
			Type:         pulumi.String("Intranet"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The Sag DnatEntry can be imported using the id, e.g.

```sh

$ pulumi import alicloud:rocketmq/dnatEntry:DnatEntry example sag-abc123456:dnat-abc123456

```

func GetDnatEntry

func GetDnatEntry(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DnatEntryState, opts ...pulumi.ResourceOption) (*DnatEntry, error)

GetDnatEntry gets an existing DnatEntry 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 NewDnatEntry

func NewDnatEntry(ctx *pulumi.Context,
	name string, args *DnatEntryArgs, opts ...pulumi.ResourceOption) (*DnatEntry, error)

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

func (DnatEntry) ElementType added in v2.25.1

func (DnatEntry) ElementType() reflect.Type

func (DnatEntry) ToDnatEntryOutput added in v2.25.1

func (i DnatEntry) ToDnatEntryOutput() DnatEntryOutput

func (DnatEntry) ToDnatEntryOutputWithContext added in v2.25.1

func (i DnatEntry) ToDnatEntryOutputWithContext(ctx context.Context) DnatEntryOutput

type DnatEntryArgs

type DnatEntryArgs struct {
	// The external public IP address.when "type" is "Internet",automatically identify the external ip.
	ExternalIp pulumi.StringPtrInput
	// The public port.Value range: 1 to 65535 or "any".
	ExternalPort pulumi.StringInput
	// The destination private IP address.
	InternalIp pulumi.StringInput
	// The destination private port.Value range: 1 to 65535 or "any".
	InternalPort pulumi.StringInput
	// The protocol type. Valid values: TCP: Forwards packets of the TCP protocol. UDP: Forwards packets of the UDP protocol. Any: Forwards packets of all protocols.
	IpProtocol pulumi.StringInput
	// The ID of the SAG instance.
	SagId pulumi.StringInput
	// The DNAT type. Valid values: Intranet: DNAT of private IP addresses. Internet: DNAT of public IP addresses
	Type pulumi.StringInput
}

The set of arguments for constructing a DnatEntry resource.

func (DnatEntryArgs) ElementType

func (DnatEntryArgs) ElementType() reflect.Type

type DnatEntryInput added in v2.25.1

type DnatEntryInput interface {
	pulumi.Input

	ToDnatEntryOutput() DnatEntryOutput
	ToDnatEntryOutputWithContext(ctx context.Context) DnatEntryOutput
}

type DnatEntryOutput added in v2.25.1

type DnatEntryOutput struct {
	*pulumi.OutputState
}

func (DnatEntryOutput) ElementType added in v2.25.1

func (DnatEntryOutput) ElementType() reflect.Type

func (DnatEntryOutput) ToDnatEntryOutput added in v2.25.1

func (o DnatEntryOutput) ToDnatEntryOutput() DnatEntryOutput

func (DnatEntryOutput) ToDnatEntryOutputWithContext added in v2.25.1

func (o DnatEntryOutput) ToDnatEntryOutputWithContext(ctx context.Context) DnatEntryOutput

type DnatEntryState

type DnatEntryState struct {
	// The external public IP address.when "type" is "Internet",automatically identify the external ip.
	ExternalIp pulumi.StringPtrInput
	// The public port.Value range: 1 to 65535 or "any".
	ExternalPort pulumi.StringPtrInput
	// The destination private IP address.
	InternalIp pulumi.StringPtrInput
	// The destination private port.Value range: 1 to 65535 or "any".
	InternalPort pulumi.StringPtrInput
	// The protocol type. Valid values: TCP: Forwards packets of the TCP protocol. UDP: Forwards packets of the UDP protocol. Any: Forwards packets of all protocols.
	IpProtocol pulumi.StringPtrInput
	// The ID of the SAG instance.
	SagId pulumi.StringPtrInput
	// The DNAT type. Valid values: Intranet: DNAT of private IP addresses. Internet: DNAT of public IP addresses
	Type pulumi.StringPtrInput
}

func (DnatEntryState) ElementType

func (DnatEntryState) ElementType() reflect.Type

type GetGroupsArgs

type GetGroupsArgs struct {
	// A regex string to filter results by the group name.
	GroupIdRegex *string `pulumi:"groupIdRegex"`
	// Specify the protocol applicable to the created Group ID. Valid values: `tcp`, `http`. Default to `tcp`.
	GroupType *string `pulumi:"groupType"`
	// A list of group names.
	Ids []string `pulumi:"ids"`
	// ID of the ONS Instance that owns the groups.
	InstanceId string  `pulumi:"instanceId"`
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// A map of tags assigned to the Ons instance.
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of arguments for invoking getGroups.

type GetGroupsGroup

type GetGroupsGroup struct {
	// The name of the group.
	GroupName string `pulumi:"groupName"`
	// Specify the protocol applicable to the created Group ID. Valid values: `tcp`, `http`. Default to `tcp`.
	GroupType string `pulumi:"groupType"`
	// The name of the group.
	Id string `pulumi:"id"`
	// Indicates whether namespaces are available. Read [Fields in SubscribeInfoDo](https://www.alibabacloud.com/help/doc-detail/29619.html) for further details.
	IndependentNaming bool `pulumi:"independentNaming"`
	// ID of the ONS Instance that owns the groups.
	InstanceId string `pulumi:"instanceId"`
	// The ID of the group owner, which is the Alibaba Cloud UID.
	Owner string `pulumi:"owner"`
	// Remark of the group.
	Remark string `pulumi:"remark"`
	// A map of tags assigned to the Ons instance.
	Tags map[string]interface{} `pulumi:"tags"`
}

type GetGroupsGroupArgs

type GetGroupsGroupArgs struct {
	// The name of the group.
	GroupName pulumi.StringInput `pulumi:"groupName"`
	// Specify the protocol applicable to the created Group ID. Valid values: `tcp`, `http`. Default to `tcp`.
	GroupType pulumi.StringInput `pulumi:"groupType"`
	// The name of the group.
	Id pulumi.StringInput `pulumi:"id"`
	// Indicates whether namespaces are available. Read [Fields in SubscribeInfoDo](https://www.alibabacloud.com/help/doc-detail/29619.html) for further details.
	IndependentNaming pulumi.BoolInput `pulumi:"independentNaming"`
	// ID of the ONS Instance that owns the groups.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// The ID of the group owner, which is the Alibaba Cloud UID.
	Owner pulumi.StringInput `pulumi:"owner"`
	// Remark of the group.
	Remark pulumi.StringInput `pulumi:"remark"`
	// A map of tags assigned to the Ons instance.
	Tags pulumi.MapInput `pulumi:"tags"`
}

func (GetGroupsGroupArgs) ElementType

func (GetGroupsGroupArgs) ElementType() reflect.Type

func (GetGroupsGroupArgs) ToGetGroupsGroupOutput

func (i GetGroupsGroupArgs) ToGetGroupsGroupOutput() GetGroupsGroupOutput

func (GetGroupsGroupArgs) ToGetGroupsGroupOutputWithContext

func (i GetGroupsGroupArgs) ToGetGroupsGroupOutputWithContext(ctx context.Context) GetGroupsGroupOutput

type GetGroupsGroupArray

type GetGroupsGroupArray []GetGroupsGroupInput

func (GetGroupsGroupArray) ElementType

func (GetGroupsGroupArray) ElementType() reflect.Type

func (GetGroupsGroupArray) ToGetGroupsGroupArrayOutput

func (i GetGroupsGroupArray) ToGetGroupsGroupArrayOutput() GetGroupsGroupArrayOutput

func (GetGroupsGroupArray) ToGetGroupsGroupArrayOutputWithContext

func (i GetGroupsGroupArray) ToGetGroupsGroupArrayOutputWithContext(ctx context.Context) GetGroupsGroupArrayOutput

type GetGroupsGroupArrayInput

type GetGroupsGroupArrayInput interface {
	pulumi.Input

	ToGetGroupsGroupArrayOutput() GetGroupsGroupArrayOutput
	ToGetGroupsGroupArrayOutputWithContext(context.Context) GetGroupsGroupArrayOutput
}

GetGroupsGroupArrayInput is an input type that accepts GetGroupsGroupArray and GetGroupsGroupArrayOutput values. You can construct a concrete instance of `GetGroupsGroupArrayInput` via:

GetGroupsGroupArray{ GetGroupsGroupArgs{...} }

type GetGroupsGroupArrayOutput

type GetGroupsGroupArrayOutput struct{ *pulumi.OutputState }

func (GetGroupsGroupArrayOutput) ElementType

func (GetGroupsGroupArrayOutput) ElementType() reflect.Type

func (GetGroupsGroupArrayOutput) Index

func (GetGroupsGroupArrayOutput) ToGetGroupsGroupArrayOutput

func (o GetGroupsGroupArrayOutput) ToGetGroupsGroupArrayOutput() GetGroupsGroupArrayOutput

func (GetGroupsGroupArrayOutput) ToGetGroupsGroupArrayOutputWithContext

func (o GetGroupsGroupArrayOutput) ToGetGroupsGroupArrayOutputWithContext(ctx context.Context) GetGroupsGroupArrayOutput

type GetGroupsGroupInput

type GetGroupsGroupInput interface {
	pulumi.Input

	ToGetGroupsGroupOutput() GetGroupsGroupOutput
	ToGetGroupsGroupOutputWithContext(context.Context) GetGroupsGroupOutput
}

GetGroupsGroupInput is an input type that accepts GetGroupsGroupArgs and GetGroupsGroupOutput values. You can construct a concrete instance of `GetGroupsGroupInput` via:

GetGroupsGroupArgs{...}

type GetGroupsGroupOutput

type GetGroupsGroupOutput struct{ *pulumi.OutputState }

func (GetGroupsGroupOutput) ElementType

func (GetGroupsGroupOutput) ElementType() reflect.Type

func (GetGroupsGroupOutput) GroupName added in v2.19.0

The name of the group.

func (GetGroupsGroupOutput) GroupType added in v2.19.0

Specify the protocol applicable to the created Group ID. Valid values: `tcp`, `http`. Default to `tcp`.

func (GetGroupsGroupOutput) Id

The name of the group.

func (GetGroupsGroupOutput) IndependentNaming

func (o GetGroupsGroupOutput) IndependentNaming() pulumi.BoolOutput

Indicates whether namespaces are available. Read [Fields in SubscribeInfoDo](https://www.alibabacloud.com/help/doc-detail/29619.html) for further details.

func (GetGroupsGroupOutput) InstanceId added in v2.19.0

func (o GetGroupsGroupOutput) InstanceId() pulumi.StringOutput

ID of the ONS Instance that owns the groups.

func (GetGroupsGroupOutput) Owner

The ID of the group owner, which is the Alibaba Cloud UID.

func (GetGroupsGroupOutput) Remark

Remark of the group.

func (GetGroupsGroupOutput) Tags added in v2.19.0

A map of tags assigned to the Ons instance.

func (GetGroupsGroupOutput) ToGetGroupsGroupOutput

func (o GetGroupsGroupOutput) ToGetGroupsGroupOutput() GetGroupsGroupOutput

func (GetGroupsGroupOutput) ToGetGroupsGroupOutputWithContext

func (o GetGroupsGroupOutput) ToGetGroupsGroupOutputWithContext(ctx context.Context) GetGroupsGroupOutput

type GetGroupsResult

type GetGroupsResult struct {
	GroupIdRegex *string `pulumi:"groupIdRegex"`
	// Specify the protocol applicable to the created Group ID.
	GroupType *string `pulumi:"groupType"`
	// A list of groups. Each element contains the following attributes:
	Groups []GetGroupsGroup `pulumi:"groups"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of group names.
	Ids        []string `pulumi:"ids"`
	InstanceId string   `pulumi:"instanceId"`
	NameRegex  *string  `pulumi:"nameRegex"`
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// A map of tags assigned to the Ons 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)

This data source provides a list of ONS Groups in an Alibaba Cloud account according to the specified filters.

> **NOTE:** Available in 1.53.0+

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/rocketmq"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "onsInstanceName"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		groupName := "GID-onsGroupDatasourceName"
		if param := cfg.Get("groupName"); param != "" {
			groupName = param
		}
		defaultInstance, err := rocketmq.NewInstance(ctx, "defaultInstance", &rocketmq.InstanceArgs{
			InstanceName: pulumi.String(name),
			Remark:       pulumi.String("default_ons_instance_remark"),
		})
		if err != nil {
			return err
		}
		defaultGroup, err := rocketmq.NewGroup(ctx, "defaultGroup", &rocketmq.GroupArgs{
			GroupName:  pulumi.String(groupName),
			InstanceId: defaultInstance.ID(),
			Remark:     pulumi.String("dafault_ons_group_remark"),
		})
		if err != nil {
			return err
		}
		ctx.Export("firstGroupName", groupsDs.ApplyT(func(groupsDs rocketmq.GetGroupsResult) (string, error) {
			return groupsDs.Groups[0].GroupName, nil
		}).(pulumi.StringOutput))
		return nil
	})
}

```

type GetInstancesArgs

type GetInstancesArgs struct {
	// Default to `false`. Set it to true can output more details.
	EnableDetails *bool `pulumi:"enableDetails"`
	// A list of instance IDs to filter results.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by the instance name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The status of Ons instance. Valid values: `0` deploying, `2` arrears, `5` running, `7` upgrading.
	Status *int `pulumi:"status"`
	// A map of tags assigned to the Ons instance.
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of arguments for invoking getInstances.

type GetInstancesInstance

type GetInstancesInstance struct {
	// The internal HTTP endpoint for the Message Queue for Apache RocketMQ instance.
	HttpInternalEndpoint string `pulumi:"httpInternalEndpoint"`
	// The public HTTP endpoint for the Message Queue for Apache RocketMQ instance.
	HttpInternetEndpoint string `pulumi:"httpInternetEndpoint"`
	// The public HTTPS endpoint for the Message Queue for Apache RocketMQ instance.
	HttpInternetSecureEndpoint string `pulumi:"httpInternetSecureEndpoint"`
	// ID of the instance.
	Id string `pulumi:"id"`
	// Indicates whether any namespace is configured for the Message Queue for Apache RocketMQ instance.
	IndependentNaming bool `pulumi:"independentNaming"`
	// ID of the instance.
	InstanceId string `pulumi:"instanceId"`
	// Name of the instance.
	InstanceName string `pulumi:"instanceName"`
	// The status of the instance. Read [Fields in InstanceVO](https://www.alibabacloud.com/help/doc-detail/106351.html) for further details.
	InstanceStatus int `pulumi:"instanceStatus"`
	// The type of the instance. Read [Fields in InstanceVO](https://www.alibabacloud.com/help/doc-detail/106351.html) for further details.
	InstanceType int `pulumi:"instanceType"`
	// The automatic release time of an Enterprise Platinum Edition instance.
	ReleaseTime string `pulumi:"releaseTime"`
	// This attribute is a concise description of instance.
	Remark string `pulumi:"remark"`
	// The status of Ons instance. Valid values: `0` deploying, `2` arrears, `5` running, `7` upgrading.
	Status int `pulumi:"status"`
	// A map of tags assigned to the Ons instance.
	Tags map[string]interface{} `pulumi:"tags"`
	// The TCP endpoint for the Message Queue for Apache RocketMQ instance.
	TcpEndpoint string `pulumi:"tcpEndpoint"`
}

type GetInstancesInstanceArgs

type GetInstancesInstanceArgs struct {
	// The internal HTTP endpoint for the Message Queue for Apache RocketMQ instance.
	HttpInternalEndpoint pulumi.StringInput `pulumi:"httpInternalEndpoint"`
	// The public HTTP endpoint for the Message Queue for Apache RocketMQ instance.
	HttpInternetEndpoint pulumi.StringInput `pulumi:"httpInternetEndpoint"`
	// The public HTTPS endpoint for the Message Queue for Apache RocketMQ instance.
	HttpInternetSecureEndpoint pulumi.StringInput `pulumi:"httpInternetSecureEndpoint"`
	// ID of the instance.
	Id pulumi.StringInput `pulumi:"id"`
	// Indicates whether any namespace is configured for the Message Queue for Apache RocketMQ instance.
	IndependentNaming pulumi.BoolInput `pulumi:"independentNaming"`
	// ID of the instance.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// Name of the instance.
	InstanceName pulumi.StringInput `pulumi:"instanceName"`
	// The status of the instance. Read [Fields in InstanceVO](https://www.alibabacloud.com/help/doc-detail/106351.html) for further details.
	InstanceStatus pulumi.IntInput `pulumi:"instanceStatus"`
	// The type of the instance. Read [Fields in InstanceVO](https://www.alibabacloud.com/help/doc-detail/106351.html) for further details.
	InstanceType pulumi.IntInput `pulumi:"instanceType"`
	// The automatic release time of an Enterprise Platinum Edition instance.
	ReleaseTime pulumi.StringInput `pulumi:"releaseTime"`
	// This attribute is a concise description of instance.
	Remark pulumi.StringInput `pulumi:"remark"`
	// The status of Ons instance. Valid values: `0` deploying, `2` arrears, `5` running, `7` upgrading.
	Status pulumi.IntInput `pulumi:"status"`
	// A map of tags assigned to the Ons instance.
	Tags pulumi.MapInput `pulumi:"tags"`
	// The TCP endpoint for the Message Queue for Apache RocketMQ instance.
	TcpEndpoint pulumi.StringInput `pulumi:"tcpEndpoint"`
}

func (GetInstancesInstanceArgs) ElementType

func (GetInstancesInstanceArgs) ElementType() reflect.Type

func (GetInstancesInstanceArgs) ToGetInstancesInstanceOutput

func (i GetInstancesInstanceArgs) ToGetInstancesInstanceOutput() GetInstancesInstanceOutput

func (GetInstancesInstanceArgs) ToGetInstancesInstanceOutputWithContext

func (i GetInstancesInstanceArgs) ToGetInstancesInstanceOutputWithContext(ctx context.Context) GetInstancesInstanceOutput

type GetInstancesInstanceArray

type GetInstancesInstanceArray []GetInstancesInstanceInput

func (GetInstancesInstanceArray) ElementType

func (GetInstancesInstanceArray) ElementType() reflect.Type

func (GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutput

func (i GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput

func (GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutputWithContext

func (i GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutputWithContext(ctx context.Context) GetInstancesInstanceArrayOutput

type GetInstancesInstanceArrayInput

type GetInstancesInstanceArrayInput interface {
	pulumi.Input

	ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput
	ToGetInstancesInstanceArrayOutputWithContext(context.Context) GetInstancesInstanceArrayOutput
}

GetInstancesInstanceArrayInput is an input type that accepts GetInstancesInstanceArray and GetInstancesInstanceArrayOutput values. You can construct a concrete instance of `GetInstancesInstanceArrayInput` via:

GetInstancesInstanceArray{ GetInstancesInstanceArgs{...} }

type GetInstancesInstanceArrayOutput

type GetInstancesInstanceArrayOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceArrayOutput) ElementType

func (GetInstancesInstanceArrayOutput) Index

func (GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutput

func (o GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput

func (GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutputWithContext

func (o GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutputWithContext(ctx context.Context) GetInstancesInstanceArrayOutput

type GetInstancesInstanceInput

type GetInstancesInstanceInput interface {
	pulumi.Input

	ToGetInstancesInstanceOutput() GetInstancesInstanceOutput
	ToGetInstancesInstanceOutputWithContext(context.Context) GetInstancesInstanceOutput
}

GetInstancesInstanceInput is an input type that accepts GetInstancesInstanceArgs and GetInstancesInstanceOutput values. You can construct a concrete instance of `GetInstancesInstanceInput` via:

GetInstancesInstanceArgs{...}

type GetInstancesInstanceOutput

type GetInstancesInstanceOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceOutput) ElementType

func (GetInstancesInstanceOutput) ElementType() reflect.Type

func (GetInstancesInstanceOutput) HttpInternalEndpoint added in v2.18.0

func (o GetInstancesInstanceOutput) HttpInternalEndpoint() pulumi.StringOutput

The internal HTTP endpoint for the Message Queue for Apache RocketMQ instance.

func (GetInstancesInstanceOutput) HttpInternetEndpoint added in v2.18.0

func (o GetInstancesInstanceOutput) HttpInternetEndpoint() pulumi.StringOutput

The public HTTP endpoint for the Message Queue for Apache RocketMQ instance.

func (GetInstancesInstanceOutput) HttpInternetSecureEndpoint added in v2.18.0

func (o GetInstancesInstanceOutput) HttpInternetSecureEndpoint() pulumi.StringOutput

The public HTTPS endpoint for the Message Queue for Apache RocketMQ instance.

func (GetInstancesInstanceOutput) Id

ID of the instance.

func (GetInstancesInstanceOutput) IndependentNaming added in v2.18.0

func (o GetInstancesInstanceOutput) IndependentNaming() pulumi.BoolOutput

Indicates whether any namespace is configured for the Message Queue for Apache RocketMQ instance.

func (GetInstancesInstanceOutput) InstanceId

ID of the instance.

func (GetInstancesInstanceOutput) InstanceName

Name of the instance.

func (GetInstancesInstanceOutput) InstanceStatus

func (o GetInstancesInstanceOutput) InstanceStatus() pulumi.IntOutput

The status of the instance. Read [Fields in InstanceVO](https://www.alibabacloud.com/help/doc-detail/106351.html) for further details.

func (GetInstancesInstanceOutput) InstanceType

func (o GetInstancesInstanceOutput) InstanceType() pulumi.IntOutput

The type of the instance. Read [Fields in InstanceVO](https://www.alibabacloud.com/help/doc-detail/106351.html) for further details.

func (GetInstancesInstanceOutput) ReleaseTime

The automatic release time of an Enterprise Platinum Edition instance.

func (GetInstancesInstanceOutput) Remark added in v2.18.0

This attribute is a concise description of instance.

func (GetInstancesInstanceOutput) Status added in v2.18.0

The status of Ons instance. Valid values: `0` deploying, `2` arrears, `5` running, `7` upgrading.

func (GetInstancesInstanceOutput) Tags added in v2.18.0

A map of tags assigned to the Ons instance.

func (GetInstancesInstanceOutput) TcpEndpoint added in v2.18.0

The TCP endpoint for the Message Queue for Apache RocketMQ instance.

func (GetInstancesInstanceOutput) ToGetInstancesInstanceOutput

func (o GetInstancesInstanceOutput) ToGetInstancesInstanceOutput() GetInstancesInstanceOutput

func (GetInstancesInstanceOutput) ToGetInstancesInstanceOutputWithContext

func (o GetInstancesInstanceOutput) ToGetInstancesInstanceOutputWithContext(ctx context.Context) GetInstancesInstanceOutput

type GetInstancesResult

type GetInstancesResult struct {
	EnableDetails *bool `pulumi:"enableDetails"`
	// 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 instances. Each element contains the following attributes:
	Instances []GetInstancesInstance `pulumi:"instances"`
	NameRegex *string                `pulumi:"nameRegex"`
	// A list of instance names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// The status of the instance. Read [Fields in InstanceVO](https://www.alibabacloud.com/help/doc-detail/106351.html) for further details.
	Status *int `pulumi:"status"`
	// A map of tags assigned to the Ons instance.
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of values returned by getInstances.

func GetInstances

func GetInstances(ctx *pulumi.Context, args *GetInstancesArgs, opts ...pulumi.InvokeOption) (*GetInstancesResult, error)

This data source provides a list of ONS Instances in an Alibaba Cloud account according to the specified filters.

> **NOTE:** Available in 1.52.0+

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/rocketmq"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "onsInstanceDatasourceName"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_, err := rocketmq.NewInstance(ctx, "_default", &rocketmq.InstanceArgs{
			Remark: pulumi.String("default_ons_instance_remark"),
		})
		if err != nil {
			return err
		}
		ctx.Export("firstInstanceId", instancesDs.ApplyT(func(instancesDs rocketmq.GetInstancesResult) (string, error) {
			return instancesDs.Instances[0].InstanceId, nil
		}).(pulumi.StringOutput))
		return nil
	})
}

```

type GetServiceArgs added in v2.30.0

type GetServiceArgs struct {
	// Setting the value to `On` to enable the service. If has been enabled, return the result. Valid values: `On` or `Off`. Default to `Off`.
	Enable *string `pulumi:"enable"`
}

A collection of arguments for invoking getService.

type GetServiceResult added in v2.30.0

type GetServiceResult struct {
	Enable *string `pulumi:"enable"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The current service enable status.
	Status string `pulumi:"status"`
}

A collection of values returned by getService.

func GetService added in v2.30.0

func GetService(ctx *pulumi.Context, args *GetServiceArgs, opts ...pulumi.InvokeOption) (*GetServiceResult, error)

Using this data source can open ONS service automatically. If the service has been opened, it will return opened.

For information about ONS and how to use it, see [What is ONS](https://help.aliyun.com/product/29530.html).

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/rocketmq"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "On"
		_, err := rocketmq.GetService(ctx, &rocketmq.GetServiceArgs{
			Enable: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetTopicsArgs

type GetTopicsArgs struct {
	EnableDetails *bool `pulumi:"enableDetails"`
	// A list of topic IDs to filter results.
	Ids []string `pulumi:"ids"`
	// ID of the ONS Instance that owns the topics.
	InstanceId string `pulumi:"instanceId"`
	// A regex string to filter results by the topic name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// A map of tags assigned to the Ons instance.
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of arguments for invoking getTopics.

type GetTopicsResult

type GetTopicsResult struct {
	EnableDetails *bool `pulumi:"enableDetails"`
	// The provider-assigned unique ID for this managed resource.
	Id         string   `pulumi:"id"`
	Ids        []string `pulumi:"ids"`
	InstanceId string   `pulumi:"instanceId"`
	NameRegex  *string  `pulumi:"nameRegex"`
	// A list of topic names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// A map of tags assigned to the Ons instance.
	Tags map[string]interface{} `pulumi:"tags"`
	// A list of topics. Each element contains the following attributes:
	Topics []GetTopicsTopic `pulumi:"topics"`
}

A collection of values returned by getTopics.

func GetTopics

func GetTopics(ctx *pulumi.Context, args *GetTopicsArgs, opts ...pulumi.InvokeOption) (*GetTopicsResult, error)

This data source provides a list of ONS Topics in an Alibaba Cloud account according to the specified filters.

> **NOTE:** Available in 1.53.0+

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/rocketmq"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "onsInstanceName"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		topic := "onsTopicDatasourceName"
		if param := cfg.Get("topic"); param != "" {
			topic = param
		}
		defaultInstance, err := rocketmq.NewInstance(ctx, "defaultInstance", &rocketmq.InstanceArgs{
			InstanceName: pulumi.String(name),
			Remark:       pulumi.String("default_ons_instance_remark"),
		})
		if err != nil {
			return err
		}
		defaultTopic, err := rocketmq.NewTopic(ctx, "defaultTopic", &rocketmq.TopicArgs{
			TopicName:   pulumi.String(topic),
			InstanceId:  defaultInstance.ID(),
			MessageType: pulumi.Int(0),
			Remark:      pulumi.String("dafault_ons_topic_remark"),
		})
		if err != nil {
			return err
		}
		ctx.Export("firstTopicName", topicsDs.ApplyT(func(topicsDs rocketmq.GetTopicsResult) (string, error) {
			return topicsDs.Topics[0].TopicName, nil
		}).(pulumi.StringOutput))
		return nil
	})
}

```

type GetTopicsTopic

type GetTopicsTopic struct {
	// The id of the topic.
	Id string `pulumi:"id"`
	// Indicates whether namespaces are available. Read [Fields in PublishInfoDo](https://www.alibabacloud.com/help/doc-detail/29590.html) for further details.
	IndependentNaming bool `pulumi:"independentNaming"`
	// ID of the ONS Instance that owns the topics.
	InstanceId string `pulumi:"instanceId"`
	// The type of the message. Read [Fields in PublishInfoDo](https://www.alibabacloud.com/help/doc-detail/29590.html) for further details.
	MessageType int `pulumi:"messageType"`
	// The ID of the topic owner, which is the Alibaba Cloud UID.
	Owner string `pulumi:"owner"`
	// This attribute is used to set the read-write mode for the topic.
	Perm int `pulumi:"perm"`
	// The relation ID. Read [Fields in PublishInfoDo](https://www.alibabacloud.com/help/doc-detail/29590.html) for further details.
	Relation int `pulumi:"relation"`
	// The name of the relation, for example, owner, publishable, subscribable, and publishable and subscribable.
	RelationName string `pulumi:"relationName"`
	// Remark of the topic.
	Remark string `pulumi:"remark"`
	// A map of tags assigned to the Ons instance.
	Tags map[string]interface{} `pulumi:"tags"`
	// The name of the topic.
	Topic string `pulumi:"topic"`
	// The name of the topic.
	TopicName string `pulumi:"topicName"`
}

type GetTopicsTopicArgs

type GetTopicsTopicArgs struct {
	// The id of the topic.
	Id pulumi.StringInput `pulumi:"id"`
	// Indicates whether namespaces are available. Read [Fields in PublishInfoDo](https://www.alibabacloud.com/help/doc-detail/29590.html) for further details.
	IndependentNaming pulumi.BoolInput `pulumi:"independentNaming"`
	// ID of the ONS Instance that owns the topics.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// The type of the message. Read [Fields in PublishInfoDo](https://www.alibabacloud.com/help/doc-detail/29590.html) for further details.
	MessageType pulumi.IntInput `pulumi:"messageType"`
	// The ID of the topic owner, which is the Alibaba Cloud UID.
	Owner pulumi.StringInput `pulumi:"owner"`
	// This attribute is used to set the read-write mode for the topic.
	Perm pulumi.IntInput `pulumi:"perm"`
	// The relation ID. Read [Fields in PublishInfoDo](https://www.alibabacloud.com/help/doc-detail/29590.html) for further details.
	Relation pulumi.IntInput `pulumi:"relation"`
	// The name of the relation, for example, owner, publishable, subscribable, and publishable and subscribable.
	RelationName pulumi.StringInput `pulumi:"relationName"`
	// Remark of the topic.
	Remark pulumi.StringInput `pulumi:"remark"`
	// A map of tags assigned to the Ons instance.
	Tags pulumi.MapInput `pulumi:"tags"`
	// The name of the topic.
	Topic pulumi.StringInput `pulumi:"topic"`
	// The name of the topic.
	TopicName pulumi.StringInput `pulumi:"topicName"`
}

func (GetTopicsTopicArgs) ElementType

func (GetTopicsTopicArgs) ElementType() reflect.Type

func (GetTopicsTopicArgs) ToGetTopicsTopicOutput

func (i GetTopicsTopicArgs) ToGetTopicsTopicOutput() GetTopicsTopicOutput

func (GetTopicsTopicArgs) ToGetTopicsTopicOutputWithContext

func (i GetTopicsTopicArgs) ToGetTopicsTopicOutputWithContext(ctx context.Context) GetTopicsTopicOutput

type GetTopicsTopicArray

type GetTopicsTopicArray []GetTopicsTopicInput

func (GetTopicsTopicArray) ElementType

func (GetTopicsTopicArray) ElementType() reflect.Type

func (GetTopicsTopicArray) ToGetTopicsTopicArrayOutput

func (i GetTopicsTopicArray) ToGetTopicsTopicArrayOutput() GetTopicsTopicArrayOutput

func (GetTopicsTopicArray) ToGetTopicsTopicArrayOutputWithContext

func (i GetTopicsTopicArray) ToGetTopicsTopicArrayOutputWithContext(ctx context.Context) GetTopicsTopicArrayOutput

type GetTopicsTopicArrayInput

type GetTopicsTopicArrayInput interface {
	pulumi.Input

	ToGetTopicsTopicArrayOutput() GetTopicsTopicArrayOutput
	ToGetTopicsTopicArrayOutputWithContext(context.Context) GetTopicsTopicArrayOutput
}

GetTopicsTopicArrayInput is an input type that accepts GetTopicsTopicArray and GetTopicsTopicArrayOutput values. You can construct a concrete instance of `GetTopicsTopicArrayInput` via:

GetTopicsTopicArray{ GetTopicsTopicArgs{...} }

type GetTopicsTopicArrayOutput

type GetTopicsTopicArrayOutput struct{ *pulumi.OutputState }

func (GetTopicsTopicArrayOutput) ElementType

func (GetTopicsTopicArrayOutput) ElementType() reflect.Type

func (GetTopicsTopicArrayOutput) Index

func (GetTopicsTopicArrayOutput) ToGetTopicsTopicArrayOutput

func (o GetTopicsTopicArrayOutput) ToGetTopicsTopicArrayOutput() GetTopicsTopicArrayOutput

func (GetTopicsTopicArrayOutput) ToGetTopicsTopicArrayOutputWithContext

func (o GetTopicsTopicArrayOutput) ToGetTopicsTopicArrayOutputWithContext(ctx context.Context) GetTopicsTopicArrayOutput

type GetTopicsTopicInput

type GetTopicsTopicInput interface {
	pulumi.Input

	ToGetTopicsTopicOutput() GetTopicsTopicOutput
	ToGetTopicsTopicOutputWithContext(context.Context) GetTopicsTopicOutput
}

GetTopicsTopicInput is an input type that accepts GetTopicsTopicArgs and GetTopicsTopicOutput values. You can construct a concrete instance of `GetTopicsTopicInput` via:

GetTopicsTopicArgs{...}

type GetTopicsTopicOutput

type GetTopicsTopicOutput struct{ *pulumi.OutputState }

func (GetTopicsTopicOutput) ElementType

func (GetTopicsTopicOutput) ElementType() reflect.Type

func (GetTopicsTopicOutput) Id added in v2.18.0

The id of the topic.

func (GetTopicsTopicOutput) IndependentNaming

func (o GetTopicsTopicOutput) IndependentNaming() pulumi.BoolOutput

Indicates whether namespaces are available. Read [Fields in PublishInfoDo](https://www.alibabacloud.com/help/doc-detail/29590.html) for further details.

func (GetTopicsTopicOutput) InstanceId added in v2.18.0

func (o GetTopicsTopicOutput) InstanceId() pulumi.StringOutput

ID of the ONS Instance that owns the topics.

func (GetTopicsTopicOutput) MessageType

func (o GetTopicsTopicOutput) MessageType() pulumi.IntOutput

The type of the message. Read [Fields in PublishInfoDo](https://www.alibabacloud.com/help/doc-detail/29590.html) for further details.

func (GetTopicsTopicOutput) Owner

The ID of the topic owner, which is the Alibaba Cloud UID.

func (GetTopicsTopicOutput) Perm added in v2.18.0

This attribute is used to set the read-write mode for the topic.

func (GetTopicsTopicOutput) Relation

func (o GetTopicsTopicOutput) Relation() pulumi.IntOutput

The relation ID. Read [Fields in PublishInfoDo](https://www.alibabacloud.com/help/doc-detail/29590.html) for further details.

func (GetTopicsTopicOutput) RelationName

func (o GetTopicsTopicOutput) RelationName() pulumi.StringOutput

The name of the relation, for example, owner, publishable, subscribable, and publishable and subscribable.

func (GetTopicsTopicOutput) Remark

Remark of the topic.

func (GetTopicsTopicOutput) Tags added in v2.18.0

A map of tags assigned to the Ons instance.

func (GetTopicsTopicOutput) ToGetTopicsTopicOutput

func (o GetTopicsTopicOutput) ToGetTopicsTopicOutput() GetTopicsTopicOutput

func (GetTopicsTopicOutput) ToGetTopicsTopicOutputWithContext

func (o GetTopicsTopicOutput) ToGetTopicsTopicOutputWithContext(ctx context.Context) GetTopicsTopicOutput

func (GetTopicsTopicOutput) Topic

The name of the topic.

func (GetTopicsTopicOutput) TopicName added in v2.18.0

The name of the topic.

type Group

type Group struct {
	pulumi.CustomResourceState

	// Replaced by `groupName` after version 1.98.0.
	//
	// Deprecated: Field 'group_id' has been deprecated from version 1.98.0. Use 'group_name' instead.
	GroupId pulumi.StringOutput `pulumi:"groupId"`
	// Name of the group. Two groups on a single instance cannot have the same name. A `groupName` starts with "GID_" or "GID-", and contains letters, numbers, hyphens (-), and underscores (_).
	GroupName pulumi.StringOutput `pulumi:"groupName"`
	// Specify the protocol applicable to the created Group ID. Valid values: `tcp`, `http`. Default to `tcp`.
	GroupType pulumi.StringPtrOutput `pulumi:"groupType"`
	// ID of the ONS Instance that owns the groups.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// This attribute is used to set the message reading enabled or disabled. It can only be set after the group is used by the client.
	ReadEnable pulumi.BoolPtrOutput `pulumi:"readEnable"`
	// This attribute is a concise description of group. The length cannot exceed 256.
	Remark pulumi.StringPtrOutput `pulumi:"remark"`
	// A mapping of tags to assign to the resource.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
	Tags pulumi.MapOutput `pulumi:"tags"`
}

Provides an ONS group resource.

For more information about how to use it, see [RocketMQ Group Management API](https://www.alibabacloud.com/help/doc-detail/29616.html).

> **NOTE:** Available in 1.53.0+

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/rocketmq"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "onsInstanceName"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		groupName := "GID-onsGroupDatasourceName"
		if param := cfg.Get("groupName"); param != "" {
			groupName = param
		}
		defaultInstance, err := rocketmq.NewInstance(ctx, "defaultInstance", &rocketmq.InstanceArgs{
			Remark: pulumi.String("default_ons_instance_remark"),
		})
		if err != nil {
			return err
		}
		_, err = rocketmq.NewGroup(ctx, "defaultGroup", &rocketmq.GroupArgs{
			GroupName:  pulumi.String(groupName),
			InstanceId: defaultInstance.ID(),
			Remark:     pulumi.String("dafault_ons_group_remark"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ONS GROUP can be imported using the id, e.g.

```sh

$ pulumi import alicloud:rocketmq/group:Group group MQ_INST_1234567890_Baso1234567:GID-onsGroupDemo

```

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 added in v2.25.1

func (Group) ElementType() reflect.Type

func (Group) ToGroupOutput added in v2.25.1

func (i Group) ToGroupOutput() GroupOutput

func (Group) ToGroupOutputWithContext added in v2.25.1

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

type GroupArgs

type GroupArgs struct {
	// Replaced by `groupName` after version 1.98.0.
	//
	// Deprecated: Field 'group_id' has been deprecated from version 1.98.0. Use 'group_name' instead.
	GroupId pulumi.StringPtrInput
	// Name of the group. Two groups on a single instance cannot have the same name. A `groupName` starts with "GID_" or "GID-", and contains letters, numbers, hyphens (-), and underscores (_).
	GroupName pulumi.StringPtrInput
	// Specify the protocol applicable to the created Group ID. Valid values: `tcp`, `http`. Default to `tcp`.
	GroupType pulumi.StringPtrInput
	// ID of the ONS Instance that owns the groups.
	InstanceId pulumi.StringInput
	// This attribute is used to set the message reading enabled or disabled. It can only be set after the group is used by the client.
	ReadEnable pulumi.BoolPtrInput
	// This attribute is a concise description of group. The length cannot exceed 256.
	Remark pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
	Tags pulumi.MapInput
}

The set of arguments for constructing a Group resource.

func (GroupArgs) ElementType

func (GroupArgs) ElementType() reflect.Type

type GroupInput added in v2.25.1

type GroupInput interface {
	pulumi.Input

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

type GroupOutput added in v2.25.1

type GroupOutput struct {
	*pulumi.OutputState
}

func (GroupOutput) ElementType added in v2.25.1

func (GroupOutput) ElementType() reflect.Type

func (GroupOutput) ToGroupOutput added in v2.25.1

func (o GroupOutput) ToGroupOutput() GroupOutput

func (GroupOutput) ToGroupOutputWithContext added in v2.25.1

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

type GroupState

type GroupState struct {
	// Replaced by `groupName` after version 1.98.0.
	//
	// Deprecated: Field 'group_id' has been deprecated from version 1.98.0. Use 'group_name' instead.
	GroupId pulumi.StringPtrInput
	// Name of the group. Two groups on a single instance cannot have the same name. A `groupName` starts with "GID_" or "GID-", and contains letters, numbers, hyphens (-), and underscores (_).
	GroupName pulumi.StringPtrInput
	// Specify the protocol applicable to the created Group ID. Valid values: `tcp`, `http`. Default to `tcp`.
	GroupType pulumi.StringPtrInput
	// ID of the ONS Instance that owns the groups.
	InstanceId pulumi.StringPtrInput
	// This attribute is used to set the message reading enabled or disabled. It can only be set after the group is used by the client.
	ReadEnable pulumi.BoolPtrInput
	// This attribute is a concise description of group. The length cannot exceed 256.
	Remark pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
	Tags pulumi.MapInput
}

func (GroupState) ElementType

func (GroupState) ElementType() reflect.Type

type Instance

type Instance struct {
	pulumi.CustomResourceState

	// Two instances on a single account in the same region cannot have the same name. The length must be 3 to 64 characters. Chinese characters, English letters digits and hyphen are allowed.
	InstanceName pulumi.StringOutput `pulumi:"instanceName"`
	// The status of instance. 1 represents the platinum edition instance is in deployment. 2 represents the postpaid edition instance are overdue. 5 represents the postpaid or platinum edition instance is in service. 7 represents the platinum version instance is in upgrade and the service is available.
	InstanceStatus pulumi.IntOutput `pulumi:"instanceStatus"`
	// The edition of instance. 1 represents the postPaid edition, and 2 represents the platinum edition.
	InstanceType pulumi.IntOutput `pulumi:"instanceType"`
	// Replaced by `instanceName` after version 1.97.0.
	//
	// Deprecated: Field 'name' has been deprecated from version 1.97.0. Use 'instance_name' instead.
	Name pulumi.StringOutput `pulumi:"name"`
	// Platinum edition instance expiration time.
	ReleaseTime pulumi.StringOutput `pulumi:"releaseTime"`
	// This attribute is a concise description of instance. The length cannot exceed 128.
	Remark pulumi.StringPtrOutput `pulumi:"remark"`
	// The status of instance. 1 represents the platinum edition instance is in deployment. 2 represents the postpaid edition instance are overdue. 5 represents the postpaid or platinum edition instance is in service. 7 represents the platinum version instance is in upgrade and the service is available.
	Status pulumi.IntOutput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
	Tags pulumi.MapOutput `pulumi:"tags"`
}

Provides an ONS instance resource.

For more information about how to use it, see [RocketMQ Instance Management API](https://www.alibabacloud.com/help/doc-detail/106354.html).

> **NOTE:** The number of instances in the same region cannot exceed 8. At present, the resource does not support region "mq-internet-access" and "ap-southeast-5".

> **NOTE:** Available in 1.51.0+

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/rocketmq"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rocketmq.NewInstance(ctx, "example", &rocketmq.InstanceArgs{
			InstanceName: pulumi.String("tf-example-ons-instance"),
			Remark:       pulumi.String("tf-example-ons-instance-remark"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ONS INSTANCE can be imported using the id, e.g.

```sh

$ pulumi import alicloud:rocketmq/instance:Instance instance MQ_INST_1234567890_Baso1234567

```

func GetInstance

func GetInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceState, opts ...pulumi.ResourceOption) (*Instance, error)

GetInstance gets an existing Instance 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 NewInstance

func NewInstance(ctx *pulumi.Context,
	name string, args *InstanceArgs, opts ...pulumi.ResourceOption) (*Instance, error)

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

func (Instance) ElementType added in v2.25.1

func (Instance) ElementType() reflect.Type

func (Instance) ToInstanceOutput added in v2.25.1

func (i Instance) ToInstanceOutput() InstanceOutput

func (Instance) ToInstanceOutputWithContext added in v2.25.1

func (i Instance) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

type InstanceArgs

type InstanceArgs struct {
	// Two instances on a single account in the same region cannot have the same name. The length must be 3 to 64 characters. Chinese characters, English letters digits and hyphen are allowed.
	InstanceName pulumi.StringPtrInput
	// Replaced by `instanceName` after version 1.97.0.
	//
	// Deprecated: Field 'name' has been deprecated from version 1.97.0. Use 'instance_name' instead.
	Name pulumi.StringPtrInput
	// This attribute is a concise description of instance. The length cannot exceed 128.
	Remark pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
	Tags pulumi.MapInput
}

The set of arguments for constructing a Instance resource.

func (InstanceArgs) ElementType

func (InstanceArgs) ElementType() reflect.Type

type InstanceInput added in v2.25.1

type InstanceInput interface {
	pulumi.Input

	ToInstanceOutput() InstanceOutput
	ToInstanceOutputWithContext(ctx context.Context) InstanceOutput
}

type InstanceOutput added in v2.25.1

type InstanceOutput struct {
	*pulumi.OutputState
}

func (InstanceOutput) ElementType added in v2.25.1

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) ToInstanceOutput added in v2.25.1

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext added in v2.25.1

func (o InstanceOutput) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

type InstanceState

type InstanceState struct {
	// Two instances on a single account in the same region cannot have the same name. The length must be 3 to 64 characters. Chinese characters, English letters digits and hyphen are allowed.
	InstanceName pulumi.StringPtrInput
	// The status of instance. 1 represents the platinum edition instance is in deployment. 2 represents the postpaid edition instance are overdue. 5 represents the postpaid or platinum edition instance is in service. 7 represents the platinum version instance is in upgrade and the service is available.
	InstanceStatus pulumi.IntPtrInput
	// The edition of instance. 1 represents the postPaid edition, and 2 represents the platinum edition.
	InstanceType pulumi.IntPtrInput
	// Replaced by `instanceName` after version 1.97.0.
	//
	// Deprecated: Field 'name' has been deprecated from version 1.97.0. Use 'instance_name' instead.
	Name pulumi.StringPtrInput
	// Platinum edition instance expiration time.
	ReleaseTime pulumi.StringPtrInput
	// This attribute is a concise description of instance. The length cannot exceed 128.
	Remark pulumi.StringPtrInput
	// The status of instance. 1 represents the platinum edition instance is in deployment. 2 represents the postpaid edition instance are overdue. 5 represents the postpaid or platinum edition instance is in service. 7 represents the platinum version instance is in upgrade and the service is available.
	Status pulumi.IntPtrInput
	// A mapping of tags to assign to the resource.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
	Tags pulumi.MapInput
}

func (InstanceState) ElementType

func (InstanceState) ElementType() reflect.Type

type Qos

type Qos struct {
	pulumi.CustomResourceState

	// The name of the QoS policy to be created. The name can contain 2 to 128 characters including a-z, A-Z, 0-9, periods, underlines, and hyphens. The name must start with an English letter, but cannot start with http:// or https://.
	Name pulumi.StringOutput `pulumi:"name"`
}

Provides a Sag Qos resource. Smart Access Gateway (SAG) supports quintuple-based QoS functions to differentiate traffic of different services and ensure high-priority traffic bandwidth.

For information about Sag Qos and how to use it, see [What is Qos](https://www.alibabacloud.com/help/doc-detail/131306.htm).

> **NOTE:** Available in 1.60.0+

> **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-2`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/rocketmq"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rocketmq.NewQos(ctx, "_default", nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The Sag Qos can be imported using the id, e.g.

```sh

$ pulumi import alicloud:rocketmq/qos:Qos example qos-abc123456

```

func GetQos

func GetQos(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QosState, opts ...pulumi.ResourceOption) (*Qos, error)

GetQos gets an existing Qos 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 NewQos

func NewQos(ctx *pulumi.Context,
	name string, args *QosArgs, opts ...pulumi.ResourceOption) (*Qos, error)

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

func (Qos) ElementType added in v2.25.1

func (Qos) ElementType() reflect.Type

func (Qos) ToQosOutput added in v2.25.1

func (i Qos) ToQosOutput() QosOutput

func (Qos) ToQosOutputWithContext added in v2.25.1

func (i Qos) ToQosOutputWithContext(ctx context.Context) QosOutput

type QosArgs

type QosArgs struct {
	// The name of the QoS policy to be created. The name can contain 2 to 128 characters including a-z, A-Z, 0-9, periods, underlines, and hyphens. The name must start with an English letter, but cannot start with http:// or https://.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a Qos resource.

func (QosArgs) ElementType

func (QosArgs) ElementType() reflect.Type

type QosCar

type QosCar struct {
	pulumi.CustomResourceState

	// The description of the QoS speed limiting rule.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The speed limiting method. Valid values: Absolute, Percent.
	LimitType pulumi.StringOutput `pulumi:"limitType"`
	// The maximum bandwidth allowed for the stream specified in the quintuple rule. This parameter is required when the value of the LimitType is Absolute.
	MaxBandwidthAbs pulumi.IntPtrOutput `pulumi:"maxBandwidthAbs"`
	// The maximum bandwidth percentage allowed for the stream specified in the quintuple rule. It is based on the maximum upstream bandwidth you set for the associated Smart Access Gateway (SAG) instance.This parameter is required when the value of the LimitType parameter is Percent.
	MaxBandwidthPercent pulumi.IntPtrOutput `pulumi:"maxBandwidthPercent"`
	// The minimum bandwidth allowed for the stream specified in the quintuple rule. This parameter is required when the value of the LimitType parameter is Absolute.
	MinBandwidthAbs pulumi.IntPtrOutput `pulumi:"minBandwidthAbs"`
	// The minimum bandwidth percentage allowed for the stream specified in the quintuple rule. It is based on the maximum upstream bandwidth you set for the associated SAG instance.This parameter is required when the value of the LimitType parameter is Percent.
	MinBandwidthPercent pulumi.IntPtrOutput `pulumi:"minBandwidthPercent"`
	// The name of the QoS speed limiting rule..
	Name pulumi.StringOutput `pulumi:"name"`
	// The bandwidth type when the speed is limited based on percentage. Valid values: CcnBandwidth, InternetUpBandwidth.The default value is InternetUpBandwidth.
	PercentSourceType pulumi.StringPtrOutput `pulumi:"percentSourceType"`
	// The priority of the specified stream.
	Priority pulumi.IntOutput `pulumi:"priority"`
	// The instance ID of the QoS.
	QosId pulumi.StringOutput `pulumi:"qosId"`
}

Provides a Sag qos car resource. You need to create a QoS car to set priorities, rate limits, and quintuple rules for different messages.

For information about Sag Qos Car and how to use it, see [What is Qos Car](https://www.alibabacloud.com/help/doc-detail/140065.htm).

> **NOTE:** Available in 1.60.0+

> **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-2`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/rocketmq"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultQos, err := rocketmq.NewQos(ctx, "defaultQos", nil)
		if err != nil {
			return err
		}
		_, err = rocketmq.NewQosCar(ctx, "defaultQosCar", &rocketmq.QosCarArgs{
			QosId:               defaultQos.ID(),
			Description:         pulumi.String("tf-testSagQosCarDescription"),
			Priority:            pulumi.Int(1),
			LimitType:           pulumi.String("Absolute"),
			MinBandwidthAbs:     pulumi.Int(10),
			MaxBandwidthAbs:     pulumi.Int(20),
			MinBandwidthPercent: pulumi.Int(10),
			MaxBandwidthPercent: pulumi.Int(20),
			PercentSourceType:   pulumi.String("InternetUpBandwidth"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The Sag Qos Car can be imported using the id, e.g.

```sh

$ pulumi import alicloud:rocketmq/qosCar:QosCar example qos-abc123456:qoscar-abc123456

```

func GetQosCar

func GetQosCar(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QosCarState, opts ...pulumi.ResourceOption) (*QosCar, error)

GetQosCar gets an existing QosCar 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 NewQosCar

func NewQosCar(ctx *pulumi.Context,
	name string, args *QosCarArgs, opts ...pulumi.ResourceOption) (*QosCar, error)

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

func (QosCar) ElementType added in v2.25.1

func (QosCar) ElementType() reflect.Type

func (QosCar) ToQosCarOutput added in v2.25.1

func (i QosCar) ToQosCarOutput() QosCarOutput

func (QosCar) ToQosCarOutputWithContext added in v2.25.1

func (i QosCar) ToQosCarOutputWithContext(ctx context.Context) QosCarOutput

type QosCarArgs

type QosCarArgs struct {
	// The description of the QoS speed limiting rule.
	Description pulumi.StringPtrInput
	// The speed limiting method. Valid values: Absolute, Percent.
	LimitType pulumi.StringInput
	// The maximum bandwidth allowed for the stream specified in the quintuple rule. This parameter is required when the value of the LimitType is Absolute.
	MaxBandwidthAbs pulumi.IntPtrInput
	// The maximum bandwidth percentage allowed for the stream specified in the quintuple rule. It is based on the maximum upstream bandwidth you set for the associated Smart Access Gateway (SAG) instance.This parameter is required when the value of the LimitType parameter is Percent.
	MaxBandwidthPercent pulumi.IntPtrInput
	// The minimum bandwidth allowed for the stream specified in the quintuple rule. This parameter is required when the value of the LimitType parameter is Absolute.
	MinBandwidthAbs pulumi.IntPtrInput
	// The minimum bandwidth percentage allowed for the stream specified in the quintuple rule. It is based on the maximum upstream bandwidth you set for the associated SAG instance.This parameter is required when the value of the LimitType parameter is Percent.
	MinBandwidthPercent pulumi.IntPtrInput
	// The name of the QoS speed limiting rule..
	Name pulumi.StringPtrInput
	// The bandwidth type when the speed is limited based on percentage. Valid values: CcnBandwidth, InternetUpBandwidth.The default value is InternetUpBandwidth.
	PercentSourceType pulumi.StringPtrInput
	// The priority of the specified stream.
	Priority pulumi.IntInput
	// The instance ID of the QoS.
	QosId pulumi.StringInput
}

The set of arguments for constructing a QosCar resource.

func (QosCarArgs) ElementType

func (QosCarArgs) ElementType() reflect.Type

type QosCarInput added in v2.25.1

type QosCarInput interface {
	pulumi.Input

	ToQosCarOutput() QosCarOutput
	ToQosCarOutputWithContext(ctx context.Context) QosCarOutput
}

type QosCarOutput added in v2.25.1

type QosCarOutput struct {
	*pulumi.OutputState
}

func (QosCarOutput) ElementType added in v2.25.1

func (QosCarOutput) ElementType() reflect.Type

func (QosCarOutput) ToQosCarOutput added in v2.25.1

func (o QosCarOutput) ToQosCarOutput() QosCarOutput

func (QosCarOutput) ToQosCarOutputWithContext added in v2.25.1

func (o QosCarOutput) ToQosCarOutputWithContext(ctx context.Context) QosCarOutput

type QosCarState

type QosCarState struct {
	// The description of the QoS speed limiting rule.
	Description pulumi.StringPtrInput
	// The speed limiting method. Valid values: Absolute, Percent.
	LimitType pulumi.StringPtrInput
	// The maximum bandwidth allowed for the stream specified in the quintuple rule. This parameter is required when the value of the LimitType is Absolute.
	MaxBandwidthAbs pulumi.IntPtrInput
	// The maximum bandwidth percentage allowed for the stream specified in the quintuple rule. It is based on the maximum upstream bandwidth you set for the associated Smart Access Gateway (SAG) instance.This parameter is required when the value of the LimitType parameter is Percent.
	MaxBandwidthPercent pulumi.IntPtrInput
	// The minimum bandwidth allowed for the stream specified in the quintuple rule. This parameter is required when the value of the LimitType parameter is Absolute.
	MinBandwidthAbs pulumi.IntPtrInput
	// The minimum bandwidth percentage allowed for the stream specified in the quintuple rule. It is based on the maximum upstream bandwidth you set for the associated SAG instance.This parameter is required when the value of the LimitType parameter is Percent.
	MinBandwidthPercent pulumi.IntPtrInput
	// The name of the QoS speed limiting rule..
	Name pulumi.StringPtrInput
	// The bandwidth type when the speed is limited based on percentage. Valid values: CcnBandwidth, InternetUpBandwidth.The default value is InternetUpBandwidth.
	PercentSourceType pulumi.StringPtrInput
	// The priority of the specified stream.
	Priority pulumi.IntPtrInput
	// The instance ID of the QoS.
	QosId pulumi.StringPtrInput
}

func (QosCarState) ElementType

func (QosCarState) ElementType() reflect.Type

type QosInput added in v2.25.1

type QosInput interface {
	pulumi.Input

	ToQosOutput() QosOutput
	ToQosOutputWithContext(ctx context.Context) QosOutput
}

type QosOutput added in v2.25.1

type QosOutput struct {
	*pulumi.OutputState
}

func (QosOutput) ElementType added in v2.25.1

func (QosOutput) ElementType() reflect.Type

func (QosOutput) ToQosOutput added in v2.25.1

func (o QosOutput) ToQosOutput() QosOutput

func (QosOutput) ToQosOutputWithContext added in v2.25.1

func (o QosOutput) ToQosOutputWithContext(ctx context.Context) QosOutput

type QosPolicy

type QosPolicy struct {
	pulumi.CustomResourceState

	// The description of the QoS policy.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The destination CIDR block.
	DestCidr pulumi.StringOutput `pulumi:"destCidr"`
	// The destination port range.
	DestPortRange pulumi.StringOutput `pulumi:"destPortRange"`
	// The expiration time of the quintuple rule.
	EndTime pulumi.StringPtrOutput `pulumi:"endTime"`
	// The transport layer protocol.
	IpProtocol pulumi.StringOutput `pulumi:"ipProtocol"`
	// The name of the QoS policy.
	Name pulumi.StringOutput `pulumi:"name"`
	// The priority of the quintuple rule. A smaller value indicates a higher priority. If the priorities of two quintuple rules are the same, the rule created earlier is applied first.Value range: 1 to 7.
	Priority pulumi.IntOutput `pulumi:"priority"`
	// The instance ID of the QoS policy to which the quintuple rule is created.
	QosId pulumi.StringOutput `pulumi:"qosId"`
	// The source CIDR block.
	SourceCidr pulumi.StringOutput `pulumi:"sourceCidr"`
	// The source port range of the transport layer.
	SourcePortRange pulumi.StringOutput `pulumi:"sourcePortRange"`
	// The time when the quintuple rule takes effect.
	StartTime pulumi.StringPtrOutput `pulumi:"startTime"`
}

Provides a Sag qos policy resource. You need to create a QoS policy to set priorities, rate limits, and quintuple rules for different messages.

For information about Sag Qos Policy and how to use it, see [What is Qos Policy](https://www.alibabacloud.com/help/doc-detail/140065.htm).

> **NOTE:** Available in 1.60.0+

> **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-2`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/rocketmq"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultQos, err := rocketmq.NewQos(ctx, "defaultQos", nil)
		if err != nil {
			return err
		}
		_, err = rocketmq.NewQosPolicy(ctx, "defaultQosPolicy", &rocketmq.QosPolicyArgs{
			QosId:           defaultQos.ID(),
			Description:     pulumi.String("tf-testSagQosPolicyDescription"),
			Priority:        pulumi.Int(1),
			IpProtocol:      pulumi.String("ALL"),
			SourceCidr:      pulumi.String("192.168.0.0/24"),
			SourcePortRange: pulumi.String("-1/-1"),
			DestCidr:        pulumi.String("10.10.0.0/24"),
			DestPortRange:   pulumi.String("-1/-1"),
			StartTime:       pulumi.String("2019-10-25T16:41:33+0800"),
			EndTime:         pulumi.String("2019-10-26T16:41:33+0800"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The Sag Qos Policy can be imported using the id, e.g.

```sh

$ pulumi import alicloud:rocketmq/qosPolicy:QosPolicy example qos-abc123456:qospy-abc123456

```

func GetQosPolicy

func GetQosPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *QosPolicyState, opts ...pulumi.ResourceOption) (*QosPolicy, error)

GetQosPolicy gets an existing QosPolicy 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 NewQosPolicy

func NewQosPolicy(ctx *pulumi.Context,
	name string, args *QosPolicyArgs, opts ...pulumi.ResourceOption) (*QosPolicy, error)

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

func (QosPolicy) ElementType added in v2.25.1

func (QosPolicy) ElementType() reflect.Type

func (QosPolicy) ToQosPolicyOutput added in v2.25.1

func (i QosPolicy) ToQosPolicyOutput() QosPolicyOutput

func (QosPolicy) ToQosPolicyOutputWithContext added in v2.25.1

func (i QosPolicy) ToQosPolicyOutputWithContext(ctx context.Context) QosPolicyOutput

type QosPolicyArgs

type QosPolicyArgs struct {
	// The description of the QoS policy.
	Description pulumi.StringPtrInput
	// The destination CIDR block.
	DestCidr pulumi.StringInput
	// The destination port range.
	DestPortRange pulumi.StringInput
	// The expiration time of the quintuple rule.
	EndTime pulumi.StringPtrInput
	// The transport layer protocol.
	IpProtocol pulumi.StringInput
	// The name of the QoS policy.
	Name pulumi.StringPtrInput
	// The priority of the quintuple rule. A smaller value indicates a higher priority. If the priorities of two quintuple rules are the same, the rule created earlier is applied first.Value range: 1 to 7.
	Priority pulumi.IntInput
	// The instance ID of the QoS policy to which the quintuple rule is created.
	QosId pulumi.StringInput
	// The source CIDR block.
	SourceCidr pulumi.StringInput
	// The source port range of the transport layer.
	SourcePortRange pulumi.StringInput
	// The time when the quintuple rule takes effect.
	StartTime pulumi.StringPtrInput
}

The set of arguments for constructing a QosPolicy resource.

func (QosPolicyArgs) ElementType

func (QosPolicyArgs) ElementType() reflect.Type

type QosPolicyInput added in v2.25.1

type QosPolicyInput interface {
	pulumi.Input

	ToQosPolicyOutput() QosPolicyOutput
	ToQosPolicyOutputWithContext(ctx context.Context) QosPolicyOutput
}

type QosPolicyOutput added in v2.25.1

type QosPolicyOutput struct {
	*pulumi.OutputState
}

func (QosPolicyOutput) ElementType added in v2.25.1

func (QosPolicyOutput) ElementType() reflect.Type

func (QosPolicyOutput) ToQosPolicyOutput added in v2.25.1

func (o QosPolicyOutput) ToQosPolicyOutput() QosPolicyOutput

func (QosPolicyOutput) ToQosPolicyOutputWithContext added in v2.25.1

func (o QosPolicyOutput) ToQosPolicyOutputWithContext(ctx context.Context) QosPolicyOutput

type QosPolicyState

type QosPolicyState struct {
	// The description of the QoS policy.
	Description pulumi.StringPtrInput
	// The destination CIDR block.
	DestCidr pulumi.StringPtrInput
	// The destination port range.
	DestPortRange pulumi.StringPtrInput
	// The expiration time of the quintuple rule.
	EndTime pulumi.StringPtrInput
	// The transport layer protocol.
	IpProtocol pulumi.StringPtrInput
	// The name of the QoS policy.
	Name pulumi.StringPtrInput
	// The priority of the quintuple rule. A smaller value indicates a higher priority. If the priorities of two quintuple rules are the same, the rule created earlier is applied first.Value range: 1 to 7.
	Priority pulumi.IntPtrInput
	// The instance ID of the QoS policy to which the quintuple rule is created.
	QosId pulumi.StringPtrInput
	// The source CIDR block.
	SourceCidr pulumi.StringPtrInput
	// The source port range of the transport layer.
	SourcePortRange pulumi.StringPtrInput
	// The time when the quintuple rule takes effect.
	StartTime pulumi.StringPtrInput
}

func (QosPolicyState) ElementType

func (QosPolicyState) ElementType() reflect.Type

type QosState

type QosState struct {
	// The name of the QoS policy to be created. The name can contain 2 to 128 characters including a-z, A-Z, 0-9, periods, underlines, and hyphens. The name must start with an English letter, but cannot start with http:// or https://.
	Name pulumi.StringPtrInput
}

func (QosState) ElementType

func (QosState) ElementType() reflect.Type

type SnatEntry

type SnatEntry struct {
	pulumi.CustomResourceState

	// The destination CIDR block.
	CidrBlock pulumi.StringOutput `pulumi:"cidrBlock"`
	// The ID of the SAG instance.
	SagId pulumi.StringOutput `pulumi:"sagId"`
	// The public IP address.
	SnatIp pulumi.StringOutput `pulumi:"snatIp"`
}

Provides a Sag SnatEntry resource. This topic describes how to add a SNAT entry to enable the SNAT function. The SNAT function can hide internal IP addresses and resolve private IP address conflicts. With this function, on-premises sites can access internal IP addresses, but cannot be accessed by internal IP addresses. If you do not add a SNAT entry, on-premises sites can access each other only when all related IP addresses do not conflict.

For information about Sag SnatEntry and how to use it, see [What is Sag SnatEntry](https://www.alibabacloud.com/help/doc-detail/124231.htm).

> **NOTE:** Available in 1.61.0+

> **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-2`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/rocketmq"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rocketmq.NewSnatEntry(ctx, "_default", &rocketmq.SnatEntryArgs{
			CidrBlock: pulumi.String("192.168.7.0/24"),
			SagId:     pulumi.String("sag-3rb1t3iagy3w0zgwy9"),
			SnatIp:    pulumi.String("192.0.0.2"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The Sag SnatEntry can be imported using the id, e.g.

```sh

$ pulumi import alicloud:rocketmq/snatEntry:SnatEntry example sag-abc123456:snat-abc123456

```

func GetSnatEntry

func GetSnatEntry(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SnatEntryState, opts ...pulumi.ResourceOption) (*SnatEntry, error)

GetSnatEntry gets an existing SnatEntry 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 NewSnatEntry

func NewSnatEntry(ctx *pulumi.Context,
	name string, args *SnatEntryArgs, opts ...pulumi.ResourceOption) (*SnatEntry, error)

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

func (SnatEntry) ElementType added in v2.25.1

func (SnatEntry) ElementType() reflect.Type

func (SnatEntry) ToSnatEntryOutput added in v2.25.1

func (i SnatEntry) ToSnatEntryOutput() SnatEntryOutput

func (SnatEntry) ToSnatEntryOutputWithContext added in v2.25.1

func (i SnatEntry) ToSnatEntryOutputWithContext(ctx context.Context) SnatEntryOutput

type SnatEntryArgs

type SnatEntryArgs struct {
	// The destination CIDR block.
	CidrBlock pulumi.StringInput
	// The ID of the SAG instance.
	SagId pulumi.StringInput
	// The public IP address.
	SnatIp pulumi.StringInput
}

The set of arguments for constructing a SnatEntry resource.

func (SnatEntryArgs) ElementType

func (SnatEntryArgs) ElementType() reflect.Type

type SnatEntryInput added in v2.25.1

type SnatEntryInput interface {
	pulumi.Input

	ToSnatEntryOutput() SnatEntryOutput
	ToSnatEntryOutputWithContext(ctx context.Context) SnatEntryOutput
}

type SnatEntryOutput added in v2.25.1

type SnatEntryOutput struct {
	*pulumi.OutputState
}

func (SnatEntryOutput) ElementType added in v2.25.1

func (SnatEntryOutput) ElementType() reflect.Type

func (SnatEntryOutput) ToSnatEntryOutput added in v2.25.1

func (o SnatEntryOutput) ToSnatEntryOutput() SnatEntryOutput

func (SnatEntryOutput) ToSnatEntryOutputWithContext added in v2.25.1

func (o SnatEntryOutput) ToSnatEntryOutputWithContext(ctx context.Context) SnatEntryOutput

type SnatEntryState

type SnatEntryState struct {
	// The destination CIDR block.
	CidrBlock pulumi.StringPtrInput
	// The ID of the SAG instance.
	SagId pulumi.StringPtrInput
	// The public IP address.
	SnatIp pulumi.StringPtrInput
}

func (SnatEntryState) ElementType

func (SnatEntryState) ElementType() reflect.Type

type Topic

type Topic struct {
	pulumi.CustomResourceState

	// ID of the ONS Instance that owns the topics.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The type of the message. Read [Ons Topic Create](https://www.alibabacloud.com/help/doc-detail/29591.html) for further details.
	MessageType pulumi.IntOutput `pulumi:"messageType"`
	// This attribute is used to set the read-write mode for the topic. Read [Request parameters](https://www.alibabacloud.com/help/doc-detail/56880.html) for further details.
	Perm pulumi.IntPtrOutput `pulumi:"perm"`
	// This attribute is a concise description of topic. The length cannot exceed 128.
	Remark pulumi.StringPtrOutput `pulumi:"remark"`
	// A mapping of tags to assign to the resource.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// Replaced by `topicName` after version 1.97.0.
	//
	// Deprecated: Field 'topic' has been deprecated from version 1.97.0. Use 'topic_name' instead.
	Topic pulumi.StringOutput `pulumi:"topic"`
	// Name of the topic. Two topics on a single instance cannot have the same name and the name cannot start with 'GID' or 'CID'. The length cannot exceed 64 characters.
	TopicName pulumi.StringOutput `pulumi:"topicName"`
}

Provides an ONS topic resource.

For more information about how to use it, see [RocketMQ Topic Management API](https://www.alibabacloud.com/help/doc-detail/29591.html).

> **NOTE:** Available in 1.53.0+

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/rocketmq"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "onsInstanceName"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		topic := "onsTopicName"
		if param := cfg.Get("topic"); param != "" {
			topic = param
		}
		defaultInstance, err := rocketmq.NewInstance(ctx, "defaultInstance", &rocketmq.InstanceArgs{
			Remark: pulumi.String("default_ons_instance_remark"),
		})
		if err != nil {
			return err
		}
		_, err = rocketmq.NewTopic(ctx, "defaultTopic", &rocketmq.TopicArgs{
			TopicName:   pulumi.String(topic),
			InstanceId:  defaultInstance.ID(),
			MessageType: pulumi.Int(0),
			Remark:      pulumi.String("dafault_ons_topic_remark"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ONS TOPIC can be imported using the id, e.g.

```sh

$ pulumi import alicloud:rocketmq/topic:Topic topic MQ_INST_1234567890_Baso1234567:onsTopicDemo

```

func GetTopic

func GetTopic(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TopicState, opts ...pulumi.ResourceOption) (*Topic, error)

GetTopic gets an existing Topic 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 NewTopic

func NewTopic(ctx *pulumi.Context,
	name string, args *TopicArgs, opts ...pulumi.ResourceOption) (*Topic, error)

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

func (Topic) ElementType added in v2.25.1

func (Topic) ElementType() reflect.Type

func (Topic) ToTopicOutput added in v2.25.1

func (i Topic) ToTopicOutput() TopicOutput

func (Topic) ToTopicOutputWithContext added in v2.25.1

func (i Topic) ToTopicOutputWithContext(ctx context.Context) TopicOutput

type TopicArgs

type TopicArgs struct {
	// ID of the ONS Instance that owns the topics.
	InstanceId pulumi.StringInput
	// The type of the message. Read [Ons Topic Create](https://www.alibabacloud.com/help/doc-detail/29591.html) for further details.
	MessageType pulumi.IntInput
	// This attribute is used to set the read-write mode for the topic. Read [Request parameters](https://www.alibabacloud.com/help/doc-detail/56880.html) for further details.
	Perm pulumi.IntPtrInput
	// This attribute is a concise description of topic. The length cannot exceed 128.
	Remark pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
	Tags pulumi.MapInput
	// Replaced by `topicName` after version 1.97.0.
	//
	// Deprecated: Field 'topic' has been deprecated from version 1.97.0. Use 'topic_name' instead.
	Topic pulumi.StringPtrInput
	// Name of the topic. Two topics on a single instance cannot have the same name and the name cannot start with 'GID' or 'CID'. The length cannot exceed 64 characters.
	TopicName pulumi.StringPtrInput
}

The set of arguments for constructing a Topic resource.

func (TopicArgs) ElementType

func (TopicArgs) ElementType() reflect.Type

type TopicInput added in v2.25.1

type TopicInput interface {
	pulumi.Input

	ToTopicOutput() TopicOutput
	ToTopicOutputWithContext(ctx context.Context) TopicOutput
}

type TopicOutput added in v2.25.1

type TopicOutput struct {
	*pulumi.OutputState
}

func (TopicOutput) ElementType added in v2.25.1

func (TopicOutput) ElementType() reflect.Type

func (TopicOutput) ToTopicOutput added in v2.25.1

func (o TopicOutput) ToTopicOutput() TopicOutput

func (TopicOutput) ToTopicOutputWithContext added in v2.25.1

func (o TopicOutput) ToTopicOutputWithContext(ctx context.Context) TopicOutput

type TopicState

type TopicState struct {
	// ID of the ONS Instance that owns the topics.
	InstanceId pulumi.StringPtrInput
	// The type of the message. Read [Ons Topic Create](https://www.alibabacloud.com/help/doc-detail/29591.html) for further details.
	MessageType pulumi.IntPtrInput
	// This attribute is used to set the read-write mode for the topic. Read [Request parameters](https://www.alibabacloud.com/help/doc-detail/56880.html) for further details.
	Perm pulumi.IntPtrInput
	// This attribute is a concise description of topic. The length cannot exceed 128.
	Remark pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
	Tags pulumi.MapInput
	// Replaced by `topicName` after version 1.97.0.
	//
	// Deprecated: Field 'topic' has been deprecated from version 1.97.0. Use 'topic_name' instead.
	Topic pulumi.StringPtrInput
	// Name of the topic. Two topics on a single instance cannot have the same name and the name cannot start with 'GID' or 'CID'. The length cannot exceed 64 characters.
	TopicName pulumi.StringPtrInput
}

func (TopicState) ElementType

func (TopicState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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