rocketmq

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 21, 2022 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PkgVersion added in v0.0.1

func PkgVersion() (semver.Version, error)

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

Types

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

)

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

func (*Acl) ElementType() reflect.Type

func (*Acl) ToAclOutput

func (i *Acl) ToAclOutput() AclOutput

func (*Acl) ToAclOutputWithContext

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 AclArray

type AclArray []AclInput

func (AclArray) ElementType

func (AclArray) ElementType() reflect.Type

func (AclArray) ToAclArrayOutput

func (i AclArray) ToAclArrayOutput() AclArrayOutput

func (AclArray) ToAclArrayOutputWithContext

func (i AclArray) ToAclArrayOutputWithContext(ctx context.Context) AclArrayOutput

type AclArrayInput

type AclArrayInput interface {
	pulumi.Input

	ToAclArrayOutput() AclArrayOutput
	ToAclArrayOutputWithContext(context.Context) AclArrayOutput
}

AclArrayInput is an input type that accepts AclArray and AclArrayOutput values. You can construct a concrete instance of `AclArrayInput` via:

AclArray{ AclArgs{...} }

type AclArrayOutput

type AclArrayOutput struct{ *pulumi.OutputState }

func (AclArrayOutput) ElementType

func (AclArrayOutput) ElementType() reflect.Type

func (AclArrayOutput) Index

func (AclArrayOutput) ToAclArrayOutput

func (o AclArrayOutput) ToAclArrayOutput() AclArrayOutput

func (AclArrayOutput) ToAclArrayOutputWithContext

func (o AclArrayOutput) ToAclArrayOutputWithContext(ctx context.Context) AclArrayOutput

type AclInput

type AclInput interface {
	pulumi.Input

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

type AclMap

type AclMap map[string]AclInput

func (AclMap) ElementType

func (AclMap) ElementType() reflect.Type

func (AclMap) ToAclMapOutput

func (i AclMap) ToAclMapOutput() AclMapOutput

func (AclMap) ToAclMapOutputWithContext

func (i AclMap) ToAclMapOutputWithContext(ctx context.Context) AclMapOutput

type AclMapInput

type AclMapInput interface {
	pulumi.Input

	ToAclMapOutput() AclMapOutput
	ToAclMapOutputWithContext(context.Context) AclMapOutput
}

AclMapInput is an input type that accepts AclMap and AclMapOutput values. You can construct a concrete instance of `AclMapInput` via:

AclMap{ "key": AclArgs{...} }

type AclMapOutput

type AclMapOutput struct{ *pulumi.OutputState }

func (AclMapOutput) ElementType

func (AclMapOutput) ElementType() reflect.Type

func (AclMapOutput) MapIndex

func (o AclMapOutput) MapIndex(k pulumi.StringInput) AclOutput

func (AclMapOutput) ToAclMapOutput

func (o AclMapOutput) ToAclMapOutput() AclMapOutput

func (AclMapOutput) ToAclMapOutputWithContext

func (o AclMapOutput) ToAclMapOutputWithContext(ctx context.Context) AclMapOutput

type AclOutput

type AclOutput struct{ *pulumi.OutputState }

func (AclOutput) ElementType

func (AclOutput) ElementType() reflect.Type

func (AclOutput) Name

func (o AclOutput) Name() pulumi.StringOutput

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://.

func (AclOutput) ToAclOutput

func (o AclOutput) ToAclOutput() AclOutput

func (AclOutput) ToAclOutputWithContext

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

func (*AclRule) ElementType() reflect.Type

func (*AclRule) ToAclRuleOutput

func (i *AclRule) ToAclRuleOutput() AclRuleOutput

func (*AclRule) ToAclRuleOutputWithContext

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 AclRuleArray

type AclRuleArray []AclRuleInput

func (AclRuleArray) ElementType

func (AclRuleArray) ElementType() reflect.Type

func (AclRuleArray) ToAclRuleArrayOutput

func (i AclRuleArray) ToAclRuleArrayOutput() AclRuleArrayOutput

func (AclRuleArray) ToAclRuleArrayOutputWithContext

func (i AclRuleArray) ToAclRuleArrayOutputWithContext(ctx context.Context) AclRuleArrayOutput

type AclRuleArrayInput

type AclRuleArrayInput interface {
	pulumi.Input

	ToAclRuleArrayOutput() AclRuleArrayOutput
	ToAclRuleArrayOutputWithContext(context.Context) AclRuleArrayOutput
}

AclRuleArrayInput is an input type that accepts AclRuleArray and AclRuleArrayOutput values. You can construct a concrete instance of `AclRuleArrayInput` via:

AclRuleArray{ AclRuleArgs{...} }

type AclRuleArrayOutput

type AclRuleArrayOutput struct{ *pulumi.OutputState }

func (AclRuleArrayOutput) ElementType

func (AclRuleArrayOutput) ElementType() reflect.Type

func (AclRuleArrayOutput) Index

func (AclRuleArrayOutput) ToAclRuleArrayOutput

func (o AclRuleArrayOutput) ToAclRuleArrayOutput() AclRuleArrayOutput

func (AclRuleArrayOutput) ToAclRuleArrayOutputWithContext

func (o AclRuleArrayOutput) ToAclRuleArrayOutputWithContext(ctx context.Context) AclRuleArrayOutput

type AclRuleInput

type AclRuleInput interface {
	pulumi.Input

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

type AclRuleMap

type AclRuleMap map[string]AclRuleInput

func (AclRuleMap) ElementType

func (AclRuleMap) ElementType() reflect.Type

func (AclRuleMap) ToAclRuleMapOutput

func (i AclRuleMap) ToAclRuleMapOutput() AclRuleMapOutput

func (AclRuleMap) ToAclRuleMapOutputWithContext

func (i AclRuleMap) ToAclRuleMapOutputWithContext(ctx context.Context) AclRuleMapOutput

type AclRuleMapInput

type AclRuleMapInput interface {
	pulumi.Input

	ToAclRuleMapOutput() AclRuleMapOutput
	ToAclRuleMapOutputWithContext(context.Context) AclRuleMapOutput
}

AclRuleMapInput is an input type that accepts AclRuleMap and AclRuleMapOutput values. You can construct a concrete instance of `AclRuleMapInput` via:

AclRuleMap{ "key": AclRuleArgs{...} }

type AclRuleMapOutput

type AclRuleMapOutput struct{ *pulumi.OutputState }

func (AclRuleMapOutput) ElementType

func (AclRuleMapOutput) ElementType() reflect.Type

func (AclRuleMapOutput) MapIndex

func (AclRuleMapOutput) ToAclRuleMapOutput

func (o AclRuleMapOutput) ToAclRuleMapOutput() AclRuleMapOutput

func (AclRuleMapOutput) ToAclRuleMapOutputWithContext

func (o AclRuleMapOutput) ToAclRuleMapOutputWithContext(ctx context.Context) AclRuleMapOutput

type AclRuleOutput

type AclRuleOutput struct{ *pulumi.OutputState }

func (AclRuleOutput) AclId

func (o AclRuleOutput) AclId() pulumi.StringOutput

The ID of the ACL.

func (AclRuleOutput) Description

func (o AclRuleOutput) Description() pulumi.StringPtrOutput

The description of the ACL rule. It must be 1 to 512 characters in length.

func (AclRuleOutput) DestCidr

func (o AclRuleOutput) DestCidr() pulumi.StringOutput

The destination address. It is an IPv4 address range in CIDR format. Default value: 0.0.0.0/0.

func (AclRuleOutput) DestPortRange

func (o AclRuleOutput) DestPortRange() pulumi.StringOutput

The range of the destination port. Valid value: 80/80.

func (AclRuleOutput) Direction

func (o AclRuleOutput) Direction() pulumi.StringOutput

The direction of the ACL rule. Valid values: in|out.

func (AclRuleOutput) ElementType

func (AclRuleOutput) ElementType() reflect.Type

func (AclRuleOutput) IpProtocol

func (o AclRuleOutput) IpProtocol() pulumi.StringOutput

The protocol used by the ACL rule. The value is not case sensitive.

func (AclRuleOutput) Policy

func (o AclRuleOutput) Policy() pulumi.StringOutput

The policy used by the ACL rule. Valid values: accept|drop.

func (AclRuleOutput) Priority

func (o AclRuleOutput) Priority() pulumi.IntPtrOutput

The priority of the ACL rule. Value range: 1 to 100.

func (AclRuleOutput) SourceCidr

func (o AclRuleOutput) SourceCidr() pulumi.StringOutput

The source address. It is an IPv4 address range in the CIDR format. Default value: 0.0.0.0/0.

func (AclRuleOutput) SourcePortRange

func (o AclRuleOutput) SourcePortRange() pulumi.StringOutput

The range of the source port. Valid value: 80/80.

func (AclRuleOutput) ToAclRuleOutput

func (o AclRuleOutput) ToAclRuleOutput() AclRuleOutput

func (AclRuleOutput) ToAclRuleOutputWithContext

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

)

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

func (*ClientUser) ElementType() reflect.Type

func (*ClientUser) ToClientUserOutput

func (i *ClientUser) ToClientUserOutput() ClientUserOutput

func (*ClientUser) ToClientUserOutputWithContext

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 ClientUserArray

type ClientUserArray []ClientUserInput

func (ClientUserArray) ElementType

func (ClientUserArray) ElementType() reflect.Type

func (ClientUserArray) ToClientUserArrayOutput

func (i ClientUserArray) ToClientUserArrayOutput() ClientUserArrayOutput

func (ClientUserArray) ToClientUserArrayOutputWithContext

func (i ClientUserArray) ToClientUserArrayOutputWithContext(ctx context.Context) ClientUserArrayOutput

type ClientUserArrayInput

type ClientUserArrayInput interface {
	pulumi.Input

	ToClientUserArrayOutput() ClientUserArrayOutput
	ToClientUserArrayOutputWithContext(context.Context) ClientUserArrayOutput
}

ClientUserArrayInput is an input type that accepts ClientUserArray and ClientUserArrayOutput values. You can construct a concrete instance of `ClientUserArrayInput` via:

ClientUserArray{ ClientUserArgs{...} }

type ClientUserArrayOutput

type ClientUserArrayOutput struct{ *pulumi.OutputState }

func (ClientUserArrayOutput) ElementType

func (ClientUserArrayOutput) ElementType() reflect.Type

func (ClientUserArrayOutput) Index

func (ClientUserArrayOutput) ToClientUserArrayOutput

func (o ClientUserArrayOutput) ToClientUserArrayOutput() ClientUserArrayOutput

func (ClientUserArrayOutput) ToClientUserArrayOutputWithContext

func (o ClientUserArrayOutput) ToClientUserArrayOutputWithContext(ctx context.Context) ClientUserArrayOutput

type ClientUserInput

type ClientUserInput interface {
	pulumi.Input

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

type ClientUserMap

type ClientUserMap map[string]ClientUserInput

func (ClientUserMap) ElementType

func (ClientUserMap) ElementType() reflect.Type

func (ClientUserMap) ToClientUserMapOutput

func (i ClientUserMap) ToClientUserMapOutput() ClientUserMapOutput

func (ClientUserMap) ToClientUserMapOutputWithContext

func (i ClientUserMap) ToClientUserMapOutputWithContext(ctx context.Context) ClientUserMapOutput

type ClientUserMapInput

type ClientUserMapInput interface {
	pulumi.Input

	ToClientUserMapOutput() ClientUserMapOutput
	ToClientUserMapOutputWithContext(context.Context) ClientUserMapOutput
}

ClientUserMapInput is an input type that accepts ClientUserMap and ClientUserMapOutput values. You can construct a concrete instance of `ClientUserMapInput` via:

ClientUserMap{ "key": ClientUserArgs{...} }

type ClientUserMapOutput

type ClientUserMapOutput struct{ *pulumi.OutputState }

func (ClientUserMapOutput) ElementType

func (ClientUserMapOutput) ElementType() reflect.Type

func (ClientUserMapOutput) MapIndex

func (ClientUserMapOutput) ToClientUserMapOutput

func (o ClientUserMapOutput) ToClientUserMapOutput() ClientUserMapOutput

func (ClientUserMapOutput) ToClientUserMapOutputWithContext

func (o ClientUserMapOutput) ToClientUserMapOutputWithContext(ctx context.Context) ClientUserMapOutput

type ClientUserOutput

type ClientUserOutput struct{ *pulumi.OutputState }

func (ClientUserOutput) Bandwidth

func (o ClientUserOutput) Bandwidth() pulumi.IntOutput

The SAG APP bandwidth that the user can use. Unit: Kbit/s. Maximum value: 2000 Kbit/s.

func (ClientUserOutput) ClientIp

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.

func (ClientUserOutput) ElementType

func (ClientUserOutput) ElementType() reflect.Type

func (ClientUserOutput) KmsEncryptedPassword

func (o ClientUserOutput) KmsEncryptedPassword() pulumi.StringPtrOutput

func (ClientUserOutput) KmsEncryptionContext

func (o ClientUserOutput) KmsEncryptionContext() pulumi.MapOutput

func (ClientUserOutput) Password

func (o ClientUserOutput) Password() pulumi.StringOutput

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.

func (ClientUserOutput) SagId

The ID of the SAG instance created for the SAG APP.

func (ClientUserOutput) ToClientUserOutput

func (o ClientUserOutput) ToClientUserOutput() ClientUserOutput

func (ClientUserOutput) ToClientUserOutputWithContext

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

func (ClientUserOutput) UserMail

func (o ClientUserOutput) UserMail() pulumi.StringOutput

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.

func (ClientUserOutput) UserName

func (o ClientUserOutput) UserName() pulumi.StringOutput

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.

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

)

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

func (*DnatEntry) ElementType() reflect.Type

func (*DnatEntry) ToDnatEntryOutput

func (i *DnatEntry) ToDnatEntryOutput() DnatEntryOutput

func (*DnatEntry) ToDnatEntryOutputWithContext

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 DnatEntryArray

type DnatEntryArray []DnatEntryInput

func (DnatEntryArray) ElementType

func (DnatEntryArray) ElementType() reflect.Type

func (DnatEntryArray) ToDnatEntryArrayOutput

func (i DnatEntryArray) ToDnatEntryArrayOutput() DnatEntryArrayOutput

func (DnatEntryArray) ToDnatEntryArrayOutputWithContext

func (i DnatEntryArray) ToDnatEntryArrayOutputWithContext(ctx context.Context) DnatEntryArrayOutput

type DnatEntryArrayInput

type DnatEntryArrayInput interface {
	pulumi.Input

	ToDnatEntryArrayOutput() DnatEntryArrayOutput
	ToDnatEntryArrayOutputWithContext(context.Context) DnatEntryArrayOutput
}

DnatEntryArrayInput is an input type that accepts DnatEntryArray and DnatEntryArrayOutput values. You can construct a concrete instance of `DnatEntryArrayInput` via:

DnatEntryArray{ DnatEntryArgs{...} }

type DnatEntryArrayOutput

type DnatEntryArrayOutput struct{ *pulumi.OutputState }

func (DnatEntryArrayOutput) ElementType

func (DnatEntryArrayOutput) ElementType() reflect.Type

func (DnatEntryArrayOutput) Index

func (DnatEntryArrayOutput) ToDnatEntryArrayOutput

func (o DnatEntryArrayOutput) ToDnatEntryArrayOutput() DnatEntryArrayOutput

func (DnatEntryArrayOutput) ToDnatEntryArrayOutputWithContext

func (o DnatEntryArrayOutput) ToDnatEntryArrayOutputWithContext(ctx context.Context) DnatEntryArrayOutput

type DnatEntryInput

type DnatEntryInput interface {
	pulumi.Input

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

type DnatEntryMap

type DnatEntryMap map[string]DnatEntryInput

func (DnatEntryMap) ElementType

func (DnatEntryMap) ElementType() reflect.Type

func (DnatEntryMap) ToDnatEntryMapOutput

func (i DnatEntryMap) ToDnatEntryMapOutput() DnatEntryMapOutput

func (DnatEntryMap) ToDnatEntryMapOutputWithContext

func (i DnatEntryMap) ToDnatEntryMapOutputWithContext(ctx context.Context) DnatEntryMapOutput

type DnatEntryMapInput

type DnatEntryMapInput interface {
	pulumi.Input

	ToDnatEntryMapOutput() DnatEntryMapOutput
	ToDnatEntryMapOutputWithContext(context.Context) DnatEntryMapOutput
}

DnatEntryMapInput is an input type that accepts DnatEntryMap and DnatEntryMapOutput values. You can construct a concrete instance of `DnatEntryMapInput` via:

DnatEntryMap{ "key": DnatEntryArgs{...} }

type DnatEntryMapOutput

type DnatEntryMapOutput struct{ *pulumi.OutputState }

func (DnatEntryMapOutput) ElementType

func (DnatEntryMapOutput) ElementType() reflect.Type

func (DnatEntryMapOutput) MapIndex

func (DnatEntryMapOutput) ToDnatEntryMapOutput

func (o DnatEntryMapOutput) ToDnatEntryMapOutput() DnatEntryMapOutput

func (DnatEntryMapOutput) ToDnatEntryMapOutputWithContext

func (o DnatEntryMapOutput) ToDnatEntryMapOutputWithContext(ctx context.Context) DnatEntryMapOutput

type DnatEntryOutput

type DnatEntryOutput struct{ *pulumi.OutputState }

func (DnatEntryOutput) ElementType

func (DnatEntryOutput) ElementType() reflect.Type

func (DnatEntryOutput) ExternalIp

func (o DnatEntryOutput) ExternalIp() pulumi.StringPtrOutput

The external public IP address.when "type" is "Internet",automatically identify the external ip.

func (DnatEntryOutput) ExternalPort

func (o DnatEntryOutput) ExternalPort() pulumi.StringOutput

The public port.Value range: 1 to 65535 or "any".

func (DnatEntryOutput) InternalIp

func (o DnatEntryOutput) InternalIp() pulumi.StringOutput

The destination private IP address.

func (DnatEntryOutput) InternalPort

func (o DnatEntryOutput) InternalPort() pulumi.StringOutput

The destination private port.Value range: 1 to 65535 or "any".

func (DnatEntryOutput) IpProtocol

func (o DnatEntryOutput) IpProtocol() pulumi.StringOutput

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.

func (DnatEntryOutput) SagId

The ID of the SAG instance.

func (DnatEntryOutput) ToDnatEntryOutput

func (o DnatEntryOutput) ToDnatEntryOutput() DnatEntryOutput

func (DnatEntryOutput) ToDnatEntryOutputWithContext

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

func (DnatEntryOutput) Type

The DNAT type. Valid values: Intranet: DNAT of private IP addresses. Internet: DNAT of public IP addresses

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

The name of the group.

func (GetGroupsGroupOutput) GroupType

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

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

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 GetGroupsOutputArgs

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

A collection of arguments for invoking getGroups.

func (GetGroupsOutputArgs) ElementType

func (GetGroupsOutputArgs) ElementType() reflect.Type

type GetGroupsResult

type GetGroupsResult struct {
	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/go/alicloud/rocketmq"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/rocketmq"

)

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 GetGroupsResultOutput

type GetGroupsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGroups.

func (GetGroupsResultOutput) ElementType

func (GetGroupsResultOutput) ElementType() reflect.Type

func (GetGroupsResultOutput) GroupIdRegex

func (o GetGroupsResultOutput) GroupIdRegex() pulumi.StringPtrOutput

func (GetGroupsResultOutput) GroupType

Specify the protocol applicable to the created Group ID.

func (GetGroupsResultOutput) Groups

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

func (GetGroupsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetGroupsResultOutput) Ids

A list of group names.

func (GetGroupsResultOutput) InstanceId

func (o GetGroupsResultOutput) InstanceId() pulumi.StringOutput

func (GetGroupsResultOutput) NameRegex

func (GetGroupsResultOutput) Names

func (GetGroupsResultOutput) OutputFile

func (GetGroupsResultOutput) Tags

A map of tags assigned to the Ons group.

func (GetGroupsResultOutput) ToGetGroupsResultOutput

func (o GetGroupsResultOutput) ToGetGroupsResultOutput() GetGroupsResultOutput

func (GetGroupsResultOutput) ToGetGroupsResultOutputWithContext

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

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

func (o GetInstancesInstanceOutput) HttpInternalEndpoint() pulumi.StringOutput

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

func (GetInstancesInstanceOutput) HttpInternetEndpoint

func (o GetInstancesInstanceOutput) HttpInternetEndpoint() pulumi.StringOutput

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

func (GetInstancesInstanceOutput) HttpInternetSecureEndpoint

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

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

This attribute is a concise description of instance.

func (GetInstancesInstanceOutput) Status

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

func (GetInstancesInstanceOutput) Tags

A map of tags assigned to the Ons instance.

func (GetInstancesInstanceOutput) TcpEndpoint

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 GetInstancesOutputArgs

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

A collection of arguments for invoking getInstances.

func (GetInstancesOutputArgs) ElementType

func (GetInstancesOutputArgs) ElementType() reflect.Type

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

)

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
		}
		instancesDs := rocketmq.GetInstancesOutput(ctx, rocketmq.GetInstancesOutputArgs{
			Ids: pulumi.StringArray{
				_default.ID(),
			},
			NameRegex:  _default.Name,
			OutputFile: pulumi.String("instances.txt"),
		}, nil)
		ctx.Export("firstInstanceId", instancesDs.ApplyT(func(instancesDs rocketmq.GetInstancesResult) (string, error) {
			return instancesDs.Instances[0].InstanceId, nil
		}).(pulumi.StringOutput))
		return nil
	})
}

```

type GetInstancesResultOutput

type GetInstancesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getInstances.

func (GetInstancesResultOutput) ElementType

func (GetInstancesResultOutput) ElementType() reflect.Type

func (GetInstancesResultOutput) EnableDetails

func (o GetInstancesResultOutput) EnableDetails() pulumi.BoolPtrOutput

func (GetInstancesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetInstancesResultOutput) Ids

A list of instance IDs.

func (GetInstancesResultOutput) Instances

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

func (GetInstancesResultOutput) NameRegex

func (GetInstancesResultOutput) Names

A list of instance names.

func (GetInstancesResultOutput) OutputFile

func (GetInstancesResultOutput) Status

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

func (GetInstancesResultOutput) Tags

A map of tags assigned to the Ons instance.

func (GetInstancesResultOutput) ToGetInstancesResultOutput

func (o GetInstancesResultOutput) ToGetInstancesResultOutput() GetInstancesResultOutput

func (GetInstancesResultOutput) ToGetInstancesResultOutputWithContext

func (o GetInstancesResultOutput) ToGetInstancesResultOutputWithContext(ctx context.Context) GetInstancesResultOutput

type GetServiceArgs

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 GetServiceOutputArgs

type GetServiceOutputArgs 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 pulumi.StringPtrInput `pulumi:"enable"`
}

A collection of arguments for invoking getService.

func (GetServiceOutputArgs) ElementType

func (GetServiceOutputArgs) ElementType() reflect.Type

type GetServiceResult

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

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

)

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

```

type GetServiceResultOutput

type GetServiceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getService.

func (GetServiceResultOutput) ElementType

func (GetServiceResultOutput) ElementType() reflect.Type

func (GetServiceResultOutput) Enable

func (GetServiceResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetServiceResultOutput) Status

The current service enable status.

func (GetServiceResultOutput) ToGetServiceResultOutput

func (o GetServiceResultOutput) ToGetServiceResultOutput() GetServiceResultOutput

func (GetServiceResultOutput) ToGetServiceResultOutputWithContext

func (o GetServiceResultOutput) ToGetServiceResultOutputWithContext(ctx context.Context) GetServiceResultOutput

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 GetTopicsOutputArgs

type GetTopicsOutputArgs struct {
	EnableDetails pulumi.BoolPtrInput `pulumi:"enableDetails"`
	// A list of topic IDs to filter results.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// ID of the ONS Instance that owns the topics.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// A regex string to filter results by the topic name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// A map of tags assigned to the Ons instance.
	Tags pulumi.MapInput `pulumi:"tags"`
}

A collection of arguments for invoking getTopics.

func (GetTopicsOutputArgs) ElementType

func (GetTopicsOutputArgs) ElementType() reflect.Type

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

)

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
		}
		topicsDs := rocketmq.GetTopicsOutput(ctx, rocketmq.GetTopicsOutputArgs{
			InstanceId: defaultTopic.InstanceId,
			NameRegex:  pulumi.String(topic),
			OutputFile: pulumi.String("topics.txt"),
		}, nil)
		ctx.Export("firstTopicName", topicsDs.ApplyT(func(topicsDs rocketmq.GetTopicsResult) (string, error) {
			return topicsDs.Topics[0].TopicName, nil
		}).(pulumi.StringOutput))
		return nil
	})
}

```

type GetTopicsResultOutput

type GetTopicsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTopics.

func (GetTopicsResultOutput) ElementType

func (GetTopicsResultOutput) ElementType() reflect.Type

func (GetTopicsResultOutput) EnableDetails

func (o GetTopicsResultOutput) EnableDetails() pulumi.BoolPtrOutput

func (GetTopicsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetTopicsResultOutput) Ids

func (GetTopicsResultOutput) InstanceId

func (o GetTopicsResultOutput) InstanceId() pulumi.StringOutput

func (GetTopicsResultOutput) NameRegex

func (GetTopicsResultOutput) Names

A list of topic names.

func (GetTopicsResultOutput) OutputFile

func (GetTopicsResultOutput) Tags

A map of tags assigned to the Ons instance.

func (GetTopicsResultOutput) ToGetTopicsResultOutput

func (o GetTopicsResultOutput) ToGetTopicsResultOutput() GetTopicsResultOutput

func (GetTopicsResultOutput) ToGetTopicsResultOutputWithContext

func (o GetTopicsResultOutput) ToGetTopicsResultOutputWithContext(ctx context.Context) GetTopicsResultOutput

func (GetTopicsResultOutput) Topics

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

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

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

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

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

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

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

)

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

func (*Group) ElementType() reflect.Type

func (*Group) ToGroupOutput

func (i *Group) ToGroupOutput() GroupOutput

func (*Group) ToGroupOutputWithContext

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

type GroupArgs

type GroupArgs struct {
	// 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 GroupArray

type GroupArray []GroupInput

func (GroupArray) ElementType

func (GroupArray) ElementType() reflect.Type

func (GroupArray) ToGroupArrayOutput

func (i GroupArray) ToGroupArrayOutput() GroupArrayOutput

func (GroupArray) ToGroupArrayOutputWithContext

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

type GroupArrayInput

type GroupArrayInput interface {
	pulumi.Input

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

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

GroupArray{ GroupArgs{...} }

type GroupArrayOutput

type GroupArrayOutput struct{ *pulumi.OutputState }

func (GroupArrayOutput) ElementType

func (GroupArrayOutput) ElementType() reflect.Type

func (GroupArrayOutput) Index

func (GroupArrayOutput) ToGroupArrayOutput

func (o GroupArrayOutput) ToGroupArrayOutput() GroupArrayOutput

func (GroupArrayOutput) ToGroupArrayOutputWithContext

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

type GroupInput

type GroupInput interface {
	pulumi.Input

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

type GroupMap

type GroupMap map[string]GroupInput

func (GroupMap) ElementType

func (GroupMap) ElementType() reflect.Type

func (GroupMap) ToGroupMapOutput

func (i GroupMap) ToGroupMapOutput() GroupMapOutput

func (GroupMap) ToGroupMapOutputWithContext

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

type GroupMapInput

type GroupMapInput interface {
	pulumi.Input

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

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

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

type GroupMapOutput

type GroupMapOutput struct{ *pulumi.OutputState }

func (GroupMapOutput) ElementType

func (GroupMapOutput) ElementType() reflect.Type

func (GroupMapOutput) MapIndex

func (GroupMapOutput) ToGroupMapOutput

func (o GroupMapOutput) ToGroupMapOutput() GroupMapOutput

func (GroupMapOutput) ToGroupMapOutputWithContext

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

type GroupOutput

type GroupOutput struct{ *pulumi.OutputState }

func (GroupOutput) ElementType

func (GroupOutput) ElementType() reflect.Type

func (GroupOutput) GroupId deprecated

func (o GroupOutput) GroupId() pulumi.StringOutput

Replaced by `groupName` after version 1.98.0.

Deprecated: Field 'group_id' has been deprecated from version 1.98.0. Use 'group_name' instead.

func (GroupOutput) GroupName

func (o GroupOutput) GroupName() pulumi.StringOutput

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 (_).

func (GroupOutput) GroupType

func (o GroupOutput) GroupType() pulumi.StringPtrOutput

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

func (GroupOutput) InstanceId

func (o GroupOutput) InstanceId() pulumi.StringOutput

ID of the ONS Instance that owns the groups.

func (GroupOutput) ReadEnable

func (o GroupOutput) ReadEnable() pulumi.BoolPtrOutput

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.

func (GroupOutput) Remark

func (o GroupOutput) Remark() pulumi.StringPtrOutput

This attribute is a concise description of group. The length cannot exceed 256.

func (GroupOutput) Tags

func (o GroupOutput) Tags() pulumi.MapOutput

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.

func (GroupOutput) ToGroupOutput

func (o GroupOutput) ToGroupOutput() GroupOutput

func (GroupOutput) ToGroupOutputWithContext

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

)

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

func (*Instance) ElementType() reflect.Type

func (*Instance) ToInstanceOutput

func (i *Instance) ToInstanceOutput() InstanceOutput

func (*Instance) ToInstanceOutputWithContext

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 InstanceArray

type InstanceArray []InstanceInput

func (InstanceArray) ElementType

func (InstanceArray) ElementType() reflect.Type

func (InstanceArray) ToInstanceArrayOutput

func (i InstanceArray) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArray) ToInstanceArrayOutputWithContext

func (i InstanceArray) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

type InstanceArrayInput

type InstanceArrayInput interface {
	pulumi.Input

	ToInstanceArrayOutput() InstanceArrayOutput
	ToInstanceArrayOutputWithContext(context.Context) InstanceArrayOutput
}

InstanceArrayInput is an input type that accepts InstanceArray and InstanceArrayOutput values. You can construct a concrete instance of `InstanceArrayInput` via:

InstanceArray{ InstanceArgs{...} }

type InstanceArrayOutput

type InstanceArrayOutput struct{ *pulumi.OutputState }

func (InstanceArrayOutput) ElementType

func (InstanceArrayOutput) ElementType() reflect.Type

func (InstanceArrayOutput) Index

func (InstanceArrayOutput) ToInstanceArrayOutput

func (o InstanceArrayOutput) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArrayOutput) ToInstanceArrayOutputWithContext

func (o InstanceArrayOutput) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

type InstanceInput

type InstanceInput interface {
	pulumi.Input

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

type InstanceMap

type InstanceMap map[string]InstanceInput

func (InstanceMap) ElementType

func (InstanceMap) ElementType() reflect.Type

func (InstanceMap) ToInstanceMapOutput

func (i InstanceMap) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMap) ToInstanceMapOutputWithContext

func (i InstanceMap) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

type InstanceMapInput

type InstanceMapInput interface {
	pulumi.Input

	ToInstanceMapOutput() InstanceMapOutput
	ToInstanceMapOutputWithContext(context.Context) InstanceMapOutput
}

InstanceMapInput is an input type that accepts InstanceMap and InstanceMapOutput values. You can construct a concrete instance of `InstanceMapInput` via:

InstanceMap{ "key": InstanceArgs{...} }

type InstanceMapOutput

type InstanceMapOutput struct{ *pulumi.OutputState }

func (InstanceMapOutput) ElementType

func (InstanceMapOutput) ElementType() reflect.Type

func (InstanceMapOutput) MapIndex

func (InstanceMapOutput) ToInstanceMapOutput

func (o InstanceMapOutput) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMapOutput) ToInstanceMapOutputWithContext

func (o InstanceMapOutput) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

type InstanceOutput

type InstanceOutput struct{ *pulumi.OutputState }

func (InstanceOutput) ElementType

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) InstanceName

func (o InstanceOutput) InstanceName() pulumi.StringOutput

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.

func (InstanceOutput) InstanceStatus

func (o InstanceOutput) InstanceStatus() pulumi.IntOutput

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.

func (InstanceOutput) InstanceType

func (o InstanceOutput) InstanceType() pulumi.IntOutput

The edition of instance. 1 represents the postPaid edition, and 2 represents the platinum edition.

func (InstanceOutput) Name deprecated

Replaced by `instanceName` after version 1.97.0.

Deprecated: Field 'name' has been deprecated from version 1.97.0. Use 'instance_name' instead.

func (InstanceOutput) ReleaseTime

func (o InstanceOutput) ReleaseTime() pulumi.StringOutput

Platinum edition instance expiration time.

func (InstanceOutput) Remark

This attribute is a concise description of instance. The length cannot exceed 128.

func (InstanceOutput) Status

func (o InstanceOutput) Status() pulumi.IntOutput

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.

func (InstanceOutput) Tags

func (o InstanceOutput) Tags() pulumi.MapOutput

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.

func (InstanceOutput) ToInstanceOutput

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext

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

)

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

func (*Qos) ElementType() reflect.Type

func (*Qos) ToQosOutput

func (i *Qos) ToQosOutput() QosOutput

func (*Qos) ToQosOutputWithContext

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 QosArray

type QosArray []QosInput

func (QosArray) ElementType

func (QosArray) ElementType() reflect.Type

func (QosArray) ToQosArrayOutput

func (i QosArray) ToQosArrayOutput() QosArrayOutput

func (QosArray) ToQosArrayOutputWithContext

func (i QosArray) ToQosArrayOutputWithContext(ctx context.Context) QosArrayOutput

type QosArrayInput

type QosArrayInput interface {
	pulumi.Input

	ToQosArrayOutput() QosArrayOutput
	ToQosArrayOutputWithContext(context.Context) QosArrayOutput
}

QosArrayInput is an input type that accepts QosArray and QosArrayOutput values. You can construct a concrete instance of `QosArrayInput` via:

QosArray{ QosArgs{...} }

type QosArrayOutput

type QosArrayOutput struct{ *pulumi.OutputState }

func (QosArrayOutput) ElementType

func (QosArrayOutput) ElementType() reflect.Type

func (QosArrayOutput) Index

func (QosArrayOutput) ToQosArrayOutput

func (o QosArrayOutput) ToQosArrayOutput() QosArrayOutput

func (QosArrayOutput) ToQosArrayOutputWithContext

func (o QosArrayOutput) ToQosArrayOutputWithContext(ctx context.Context) QosArrayOutput

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

)

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

func (*QosCar) ElementType() reflect.Type

func (*QosCar) ToQosCarOutput

func (i *QosCar) ToQosCarOutput() QosCarOutput

func (*QosCar) ToQosCarOutputWithContext

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 QosCarArray

type QosCarArray []QosCarInput

func (QosCarArray) ElementType

func (QosCarArray) ElementType() reflect.Type

func (QosCarArray) ToQosCarArrayOutput

func (i QosCarArray) ToQosCarArrayOutput() QosCarArrayOutput

func (QosCarArray) ToQosCarArrayOutputWithContext

func (i QosCarArray) ToQosCarArrayOutputWithContext(ctx context.Context) QosCarArrayOutput

type QosCarArrayInput

type QosCarArrayInput interface {
	pulumi.Input

	ToQosCarArrayOutput() QosCarArrayOutput
	ToQosCarArrayOutputWithContext(context.Context) QosCarArrayOutput
}

QosCarArrayInput is an input type that accepts QosCarArray and QosCarArrayOutput values. You can construct a concrete instance of `QosCarArrayInput` via:

QosCarArray{ QosCarArgs{...} }

type QosCarArrayOutput

type QosCarArrayOutput struct{ *pulumi.OutputState }

func (QosCarArrayOutput) ElementType

func (QosCarArrayOutput) ElementType() reflect.Type

func (QosCarArrayOutput) Index

func (QosCarArrayOutput) ToQosCarArrayOutput

func (o QosCarArrayOutput) ToQosCarArrayOutput() QosCarArrayOutput

func (QosCarArrayOutput) ToQosCarArrayOutputWithContext

func (o QosCarArrayOutput) ToQosCarArrayOutputWithContext(ctx context.Context) QosCarArrayOutput

type QosCarInput

type QosCarInput interface {
	pulumi.Input

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

type QosCarMap

type QosCarMap map[string]QosCarInput

func (QosCarMap) ElementType

func (QosCarMap) ElementType() reflect.Type

func (QosCarMap) ToQosCarMapOutput

func (i QosCarMap) ToQosCarMapOutput() QosCarMapOutput

func (QosCarMap) ToQosCarMapOutputWithContext

func (i QosCarMap) ToQosCarMapOutputWithContext(ctx context.Context) QosCarMapOutput

type QosCarMapInput

type QosCarMapInput interface {
	pulumi.Input

	ToQosCarMapOutput() QosCarMapOutput
	ToQosCarMapOutputWithContext(context.Context) QosCarMapOutput
}

QosCarMapInput is an input type that accepts QosCarMap and QosCarMapOutput values. You can construct a concrete instance of `QosCarMapInput` via:

QosCarMap{ "key": QosCarArgs{...} }

type QosCarMapOutput

type QosCarMapOutput struct{ *pulumi.OutputState }

func (QosCarMapOutput) ElementType

func (QosCarMapOutput) ElementType() reflect.Type

func (QosCarMapOutput) MapIndex

func (QosCarMapOutput) ToQosCarMapOutput

func (o QosCarMapOutput) ToQosCarMapOutput() QosCarMapOutput

func (QosCarMapOutput) ToQosCarMapOutputWithContext

func (o QosCarMapOutput) ToQosCarMapOutputWithContext(ctx context.Context) QosCarMapOutput

type QosCarOutput

type QosCarOutput struct{ *pulumi.OutputState }

func (QosCarOutput) Description

func (o QosCarOutput) Description() pulumi.StringPtrOutput

The description of the QoS speed limiting rule.

func (QosCarOutput) ElementType

func (QosCarOutput) ElementType() reflect.Type

func (QosCarOutput) LimitType

func (o QosCarOutput) LimitType() pulumi.StringOutput

The speed limiting method. Valid values: Absolute, Percent.

func (QosCarOutput) MaxBandwidthAbs

func (o QosCarOutput) MaxBandwidthAbs() pulumi.IntPtrOutput

The maximum bandwidth allowed for the stream specified in the quintuple rule. This parameter is required when the value of the LimitType is Absolute.

func (QosCarOutput) MaxBandwidthPercent

func (o QosCarOutput) MaxBandwidthPercent() pulumi.IntPtrOutput

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.

func (QosCarOutput) MinBandwidthAbs

func (o QosCarOutput) MinBandwidthAbs() pulumi.IntPtrOutput

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.

func (QosCarOutput) MinBandwidthPercent

func (o QosCarOutput) MinBandwidthPercent() pulumi.IntPtrOutput

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.

func (QosCarOutput) Name

func (o QosCarOutput) Name() pulumi.StringOutput

The name of the QoS speed limiting rule..

func (QosCarOutput) PercentSourceType

func (o QosCarOutput) PercentSourceType() pulumi.StringPtrOutput

The bandwidth type when the speed is limited based on percentage. Valid values: CcnBandwidth, InternetUpBandwidth.The default value is InternetUpBandwidth.

func (QosCarOutput) Priority

func (o QosCarOutput) Priority() pulumi.IntOutput

The priority of the specified stream.

func (QosCarOutput) QosId

func (o QosCarOutput) QosId() pulumi.StringOutput

The instance ID of the QoS.

func (QosCarOutput) ToQosCarOutput

func (o QosCarOutput) ToQosCarOutput() QosCarOutput

func (QosCarOutput) ToQosCarOutputWithContext

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

type QosInput interface {
	pulumi.Input

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

type QosMap

type QosMap map[string]QosInput

func (QosMap) ElementType

func (QosMap) ElementType() reflect.Type

func (QosMap) ToQosMapOutput

func (i QosMap) ToQosMapOutput() QosMapOutput

func (QosMap) ToQosMapOutputWithContext

func (i QosMap) ToQosMapOutputWithContext(ctx context.Context) QosMapOutput

type QosMapInput

type QosMapInput interface {
	pulumi.Input

	ToQosMapOutput() QosMapOutput
	ToQosMapOutputWithContext(context.Context) QosMapOutput
}

QosMapInput is an input type that accepts QosMap and QosMapOutput values. You can construct a concrete instance of `QosMapInput` via:

QosMap{ "key": QosArgs{...} }

type QosMapOutput

type QosMapOutput struct{ *pulumi.OutputState }

func (QosMapOutput) ElementType

func (QosMapOutput) ElementType() reflect.Type

func (QosMapOutput) MapIndex

func (o QosMapOutput) MapIndex(k pulumi.StringInput) QosOutput

func (QosMapOutput) ToQosMapOutput

func (o QosMapOutput) ToQosMapOutput() QosMapOutput

func (QosMapOutput) ToQosMapOutputWithContext

func (o QosMapOutput) ToQosMapOutputWithContext(ctx context.Context) QosMapOutput

type QosOutput

type QosOutput struct{ *pulumi.OutputState }

func (QosOutput) ElementType

func (QosOutput) ElementType() reflect.Type

func (QosOutput) Name

func (o QosOutput) Name() pulumi.StringOutput

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://.

func (QosOutput) ToQosOutput

func (o QosOutput) ToQosOutput() QosOutput

func (QosOutput) ToQosOutputWithContext

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

)

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

func (*QosPolicy) ElementType() reflect.Type

func (*QosPolicy) ToQosPolicyOutput

func (i *QosPolicy) ToQosPolicyOutput() QosPolicyOutput

func (*QosPolicy) ToQosPolicyOutputWithContext

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 QosPolicyArray

type QosPolicyArray []QosPolicyInput

func (QosPolicyArray) ElementType

func (QosPolicyArray) ElementType() reflect.Type

func (QosPolicyArray) ToQosPolicyArrayOutput

func (i QosPolicyArray) ToQosPolicyArrayOutput() QosPolicyArrayOutput

func (QosPolicyArray) ToQosPolicyArrayOutputWithContext

func (i QosPolicyArray) ToQosPolicyArrayOutputWithContext(ctx context.Context) QosPolicyArrayOutput

type QosPolicyArrayInput

type QosPolicyArrayInput interface {
	pulumi.Input

	ToQosPolicyArrayOutput() QosPolicyArrayOutput
	ToQosPolicyArrayOutputWithContext(context.Context) QosPolicyArrayOutput
}

QosPolicyArrayInput is an input type that accepts QosPolicyArray and QosPolicyArrayOutput values. You can construct a concrete instance of `QosPolicyArrayInput` via:

QosPolicyArray{ QosPolicyArgs{...} }

type QosPolicyArrayOutput

type QosPolicyArrayOutput struct{ *pulumi.OutputState }

func (QosPolicyArrayOutput) ElementType

func (QosPolicyArrayOutput) ElementType() reflect.Type

func (QosPolicyArrayOutput) Index

func (QosPolicyArrayOutput) ToQosPolicyArrayOutput

func (o QosPolicyArrayOutput) ToQosPolicyArrayOutput() QosPolicyArrayOutput

func (QosPolicyArrayOutput) ToQosPolicyArrayOutputWithContext

func (o QosPolicyArrayOutput) ToQosPolicyArrayOutputWithContext(ctx context.Context) QosPolicyArrayOutput

type QosPolicyInput

type QosPolicyInput interface {
	pulumi.Input

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

type QosPolicyMap

type QosPolicyMap map[string]QosPolicyInput

func (QosPolicyMap) ElementType

func (QosPolicyMap) ElementType() reflect.Type

func (QosPolicyMap) ToQosPolicyMapOutput

func (i QosPolicyMap) ToQosPolicyMapOutput() QosPolicyMapOutput

func (QosPolicyMap) ToQosPolicyMapOutputWithContext

func (i QosPolicyMap) ToQosPolicyMapOutputWithContext(ctx context.Context) QosPolicyMapOutput

type QosPolicyMapInput

type QosPolicyMapInput interface {
	pulumi.Input

	ToQosPolicyMapOutput() QosPolicyMapOutput
	ToQosPolicyMapOutputWithContext(context.Context) QosPolicyMapOutput
}

QosPolicyMapInput is an input type that accepts QosPolicyMap and QosPolicyMapOutput values. You can construct a concrete instance of `QosPolicyMapInput` via:

QosPolicyMap{ "key": QosPolicyArgs{...} }

type QosPolicyMapOutput

type QosPolicyMapOutput struct{ *pulumi.OutputState }

func (QosPolicyMapOutput) ElementType

func (QosPolicyMapOutput) ElementType() reflect.Type

func (QosPolicyMapOutput) MapIndex

func (QosPolicyMapOutput) ToQosPolicyMapOutput

func (o QosPolicyMapOutput) ToQosPolicyMapOutput() QosPolicyMapOutput

func (QosPolicyMapOutput) ToQosPolicyMapOutputWithContext

func (o QosPolicyMapOutput) ToQosPolicyMapOutputWithContext(ctx context.Context) QosPolicyMapOutput

type QosPolicyOutput

type QosPolicyOutput struct{ *pulumi.OutputState }

func (QosPolicyOutput) Description

func (o QosPolicyOutput) Description() pulumi.StringPtrOutput

The description of the QoS policy.

func (QosPolicyOutput) DestCidr

func (o QosPolicyOutput) DestCidr() pulumi.StringOutput

The destination CIDR block.

func (QosPolicyOutput) DestPortRange

func (o QosPolicyOutput) DestPortRange() pulumi.StringOutput

The destination port range.

func (QosPolicyOutput) ElementType

func (QosPolicyOutput) ElementType() reflect.Type

func (QosPolicyOutput) EndTime

The expiration time of the quintuple rule.

func (QosPolicyOutput) IpProtocol

func (o QosPolicyOutput) IpProtocol() pulumi.StringOutput

The transport layer protocol.

func (QosPolicyOutput) Name

The name of the QoS policy.

func (QosPolicyOutput) Priority

func (o QosPolicyOutput) Priority() pulumi.IntOutput

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.

func (QosPolicyOutput) QosId

The instance ID of the QoS policy to which the quintuple rule is created.

func (QosPolicyOutput) SourceCidr

func (o QosPolicyOutput) SourceCidr() pulumi.StringOutput

The source CIDR block.

func (QosPolicyOutput) SourcePortRange

func (o QosPolicyOutput) SourcePortRange() pulumi.StringOutput

The source port range of the transport layer.

func (QosPolicyOutput) StartTime

func (o QosPolicyOutput) StartTime() pulumi.StringPtrOutput

The time when the quintuple rule takes effect.

func (QosPolicyOutput) ToQosPolicyOutput

func (o QosPolicyOutput) ToQosPolicyOutput() QosPolicyOutput

func (QosPolicyOutput) ToQosPolicyOutputWithContext

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

)

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

func (*SnatEntry) ElementType() reflect.Type

func (*SnatEntry) ToSnatEntryOutput

func (i *SnatEntry) ToSnatEntryOutput() SnatEntryOutput

func (*SnatEntry) ToSnatEntryOutputWithContext

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 SnatEntryArray

type SnatEntryArray []SnatEntryInput

func (SnatEntryArray) ElementType

func (SnatEntryArray) ElementType() reflect.Type

func (SnatEntryArray) ToSnatEntryArrayOutput

func (i SnatEntryArray) ToSnatEntryArrayOutput() SnatEntryArrayOutput

func (SnatEntryArray) ToSnatEntryArrayOutputWithContext

func (i SnatEntryArray) ToSnatEntryArrayOutputWithContext(ctx context.Context) SnatEntryArrayOutput

type SnatEntryArrayInput

type SnatEntryArrayInput interface {
	pulumi.Input

	ToSnatEntryArrayOutput() SnatEntryArrayOutput
	ToSnatEntryArrayOutputWithContext(context.Context) SnatEntryArrayOutput
}

SnatEntryArrayInput is an input type that accepts SnatEntryArray and SnatEntryArrayOutput values. You can construct a concrete instance of `SnatEntryArrayInput` via:

SnatEntryArray{ SnatEntryArgs{...} }

type SnatEntryArrayOutput

type SnatEntryArrayOutput struct{ *pulumi.OutputState }

func (SnatEntryArrayOutput) ElementType

func (SnatEntryArrayOutput) ElementType() reflect.Type

func (SnatEntryArrayOutput) Index

func (SnatEntryArrayOutput) ToSnatEntryArrayOutput

func (o SnatEntryArrayOutput) ToSnatEntryArrayOutput() SnatEntryArrayOutput

func (SnatEntryArrayOutput) ToSnatEntryArrayOutputWithContext

func (o SnatEntryArrayOutput) ToSnatEntryArrayOutputWithContext(ctx context.Context) SnatEntryArrayOutput

type SnatEntryInput

type SnatEntryInput interface {
	pulumi.Input

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

type SnatEntryMap

type SnatEntryMap map[string]SnatEntryInput

func (SnatEntryMap) ElementType

func (SnatEntryMap) ElementType() reflect.Type

func (SnatEntryMap) ToSnatEntryMapOutput

func (i SnatEntryMap) ToSnatEntryMapOutput() SnatEntryMapOutput

func (SnatEntryMap) ToSnatEntryMapOutputWithContext

func (i SnatEntryMap) ToSnatEntryMapOutputWithContext(ctx context.Context) SnatEntryMapOutput

type SnatEntryMapInput

type SnatEntryMapInput interface {
	pulumi.Input

	ToSnatEntryMapOutput() SnatEntryMapOutput
	ToSnatEntryMapOutputWithContext(context.Context) SnatEntryMapOutput
}

SnatEntryMapInput is an input type that accepts SnatEntryMap and SnatEntryMapOutput values. You can construct a concrete instance of `SnatEntryMapInput` via:

SnatEntryMap{ "key": SnatEntryArgs{...} }

type SnatEntryMapOutput

type SnatEntryMapOutput struct{ *pulumi.OutputState }

func (SnatEntryMapOutput) ElementType

func (SnatEntryMapOutput) ElementType() reflect.Type

func (SnatEntryMapOutput) MapIndex

func (SnatEntryMapOutput) ToSnatEntryMapOutput

func (o SnatEntryMapOutput) ToSnatEntryMapOutput() SnatEntryMapOutput

func (SnatEntryMapOutput) ToSnatEntryMapOutputWithContext

func (o SnatEntryMapOutput) ToSnatEntryMapOutputWithContext(ctx context.Context) SnatEntryMapOutput

type SnatEntryOutput

type SnatEntryOutput struct{ *pulumi.OutputState }

func (SnatEntryOutput) CidrBlock

func (o SnatEntryOutput) CidrBlock() pulumi.StringOutput

The destination CIDR block.

func (SnatEntryOutput) ElementType

func (SnatEntryOutput) ElementType() reflect.Type

func (SnatEntryOutput) SagId

The ID of the SAG instance.

func (SnatEntryOutput) SnatIp

func (o SnatEntryOutput) SnatIp() pulumi.StringOutput

The public IP address.

func (SnatEntryOutput) ToSnatEntryOutput

func (o SnatEntryOutput) ToSnatEntryOutput() SnatEntryOutput

func (SnatEntryOutput) ToSnatEntryOutputWithContext

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 has been deprecated.
	//
	// Deprecated: Attribute perm has been deprecated and suggest removing it from your template.
	Perm pulumi.IntOutput `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/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/rocketmq"

)

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

func (*Topic) ElementType() reflect.Type

func (*Topic) ToTopicOutput

func (i *Topic) ToTopicOutput() TopicOutput

func (*Topic) ToTopicOutputWithContext

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 has been deprecated.
	//
	// Deprecated: Attribute perm has been deprecated and suggest removing it from your template.
	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 TopicArray

type TopicArray []TopicInput

func (TopicArray) ElementType

func (TopicArray) ElementType() reflect.Type

func (TopicArray) ToTopicArrayOutput

func (i TopicArray) ToTopicArrayOutput() TopicArrayOutput

func (TopicArray) ToTopicArrayOutputWithContext

func (i TopicArray) ToTopicArrayOutputWithContext(ctx context.Context) TopicArrayOutput

type TopicArrayInput

type TopicArrayInput interface {
	pulumi.Input

	ToTopicArrayOutput() TopicArrayOutput
	ToTopicArrayOutputWithContext(context.Context) TopicArrayOutput
}

TopicArrayInput is an input type that accepts TopicArray and TopicArrayOutput values. You can construct a concrete instance of `TopicArrayInput` via:

TopicArray{ TopicArgs{...} }

type TopicArrayOutput

type TopicArrayOutput struct{ *pulumi.OutputState }

func (TopicArrayOutput) ElementType

func (TopicArrayOutput) ElementType() reflect.Type

func (TopicArrayOutput) Index

func (TopicArrayOutput) ToTopicArrayOutput

func (o TopicArrayOutput) ToTopicArrayOutput() TopicArrayOutput

func (TopicArrayOutput) ToTopicArrayOutputWithContext

func (o TopicArrayOutput) ToTopicArrayOutputWithContext(ctx context.Context) TopicArrayOutput

type TopicInput

type TopicInput interface {
	pulumi.Input

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

type TopicMap

type TopicMap map[string]TopicInput

func (TopicMap) ElementType

func (TopicMap) ElementType() reflect.Type

func (TopicMap) ToTopicMapOutput

func (i TopicMap) ToTopicMapOutput() TopicMapOutput

func (TopicMap) ToTopicMapOutputWithContext

func (i TopicMap) ToTopicMapOutputWithContext(ctx context.Context) TopicMapOutput

type TopicMapInput

type TopicMapInput interface {
	pulumi.Input

	ToTopicMapOutput() TopicMapOutput
	ToTopicMapOutputWithContext(context.Context) TopicMapOutput
}

TopicMapInput is an input type that accepts TopicMap and TopicMapOutput values. You can construct a concrete instance of `TopicMapInput` via:

TopicMap{ "key": TopicArgs{...} }

type TopicMapOutput

type TopicMapOutput struct{ *pulumi.OutputState }

func (TopicMapOutput) ElementType

func (TopicMapOutput) ElementType() reflect.Type

func (TopicMapOutput) MapIndex

func (TopicMapOutput) ToTopicMapOutput

func (o TopicMapOutput) ToTopicMapOutput() TopicMapOutput

func (TopicMapOutput) ToTopicMapOutputWithContext

func (o TopicMapOutput) ToTopicMapOutputWithContext(ctx context.Context) TopicMapOutput

type TopicOutput

type TopicOutput struct{ *pulumi.OutputState }

func (TopicOutput) ElementType

func (TopicOutput) ElementType() reflect.Type

func (TopicOutput) InstanceId

func (o TopicOutput) InstanceId() pulumi.StringOutput

ID of the ONS Instance that owns the topics.

func (TopicOutput) MessageType

func (o TopicOutput) MessageType() pulumi.IntOutput

The type of the message. Read [Ons Topic Create](https://www.alibabacloud.com/help/doc-detail/29591.html) for further details.

func (TopicOutput) Perm deprecated

func (o TopicOutput) Perm() pulumi.IntOutput

This attribute has been deprecated.

Deprecated: Attribute perm has been deprecated and suggest removing it from your template.

func (TopicOutput) Remark

func (o TopicOutput) Remark() pulumi.StringPtrOutput

This attribute is a concise description of topic. The length cannot exceed 128.

func (TopicOutput) Tags

func (o TopicOutput) Tags() pulumi.MapOutput

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.

func (TopicOutput) ToTopicOutput

func (o TopicOutput) ToTopicOutput() TopicOutput

func (TopicOutput) ToTopicOutputWithContext

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

func (TopicOutput) Topic deprecated

func (o TopicOutput) Topic() pulumi.StringOutput

Replaced by `topicName` after version 1.97.0.

Deprecated: Field 'topic' has been deprecated from version 1.97.0. Use 'topic_name' instead.

func (TopicOutput) TopicName

func (o TopicOutput) TopicName() pulumi.StringOutput

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.

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 has been deprecated.
	//
	// Deprecated: Attribute perm has been deprecated and suggest removing it from your template.
	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