polardb

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 Account

type Account struct {
	pulumi.CustomResourceState

	// Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.
	AccountDescription pulumi.StringPtrOutput `pulumi:"accountDescription"`
	// Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.
	AccountName pulumi.StringOutput `pulumi:"accountName"`
	// Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters.
	AccountPassword pulumi.StringOutput `pulumi:"accountPassword"`
	// Account type, Valid values are `Normal`, `Super`, Default to `Normal`.
	AccountType pulumi.StringPtrOutput `pulumi:"accountType"`
	// The Id of cluster in which account belongs.
	DbClusterId pulumi.StringOutput `pulumi:"dbClusterId"`
	// An KMS encrypts password used to a db account. If the `accountPassword` is filled in, this field will be ignored.
	KmsEncryptedPassword pulumi.StringPtrOutput `pulumi:"kmsEncryptedPassword"`
	// An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a db account with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set.
	KmsEncryptionContext pulumi.MapOutput `pulumi:"kmsEncryptionContext"`
}

Provides a PolarDB account resource and used to manage databases.

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		creation := "PolarDB"
		if param := cfg.Get("creation"); param != "" {
			creation = param
		}
		name := "polardbaccountmysql"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef(creation),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/24"),
			ZoneId:      pulumi.String(defaultZones.Zones[0].Id),
			VswitchName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		cluster, err := polardb.NewCluster(ctx, "cluster", &polardb.ClusterArgs{
			DbType:      pulumi.String("MySQL"),
			DbVersion:   pulumi.String("8.0"),
			DbNodeClass: pulumi.String("polar.mysql.x4.large"),
			PayType:     pulumi.String("PostPaid"),
			VswitchId:   defaultSwitch.ID(),
			Description: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = polardb.NewAccount(ctx, "account", &polardb.AccountArgs{
			DbClusterId:        cluster.ID(),
			AccountName:        pulumi.String("tftestnormal"),
			AccountPassword:    pulumi.String("Test12345"),
			AccountDescription: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

PolarDB account can be imported using the id, e.g.

```sh

$ pulumi import alicloud:polardb/account:Account example "pc-12345:tf_account"

```

func GetAccount

func GetAccount(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccountState, opts ...pulumi.ResourceOption) (*Account, error)

GetAccount gets an existing Account 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 NewAccount

func NewAccount(ctx *pulumi.Context,
	name string, args *AccountArgs, opts ...pulumi.ResourceOption) (*Account, error)

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

func (*Account) ElementType

func (*Account) ElementType() reflect.Type

func (*Account) ToAccountOutput

func (i *Account) ToAccountOutput() AccountOutput

func (*Account) ToAccountOutputWithContext

func (i *Account) ToAccountOutputWithContext(ctx context.Context) AccountOutput

type AccountArgs

type AccountArgs struct {
	// Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.
	AccountDescription pulumi.StringPtrInput
	// Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.
	AccountName pulumi.StringInput
	// Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters.
	AccountPassword pulumi.StringInput
	// Account type, Valid values are `Normal`, `Super`, Default to `Normal`.
	AccountType pulumi.StringPtrInput
	// The Id of cluster in which account belongs.
	DbClusterId pulumi.StringInput
	// An KMS encrypts password used to a db account. If the `accountPassword` is filled in, this field will be ignored.
	KmsEncryptedPassword pulumi.StringPtrInput
	// An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a db account with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set.
	KmsEncryptionContext pulumi.MapInput
}

The set of arguments for constructing a Account resource.

func (AccountArgs) ElementType

func (AccountArgs) ElementType() reflect.Type

type AccountArray

type AccountArray []AccountInput

func (AccountArray) ElementType

func (AccountArray) ElementType() reflect.Type

func (AccountArray) ToAccountArrayOutput

func (i AccountArray) ToAccountArrayOutput() AccountArrayOutput

func (AccountArray) ToAccountArrayOutputWithContext

func (i AccountArray) ToAccountArrayOutputWithContext(ctx context.Context) AccountArrayOutput

type AccountArrayInput

type AccountArrayInput interface {
	pulumi.Input

	ToAccountArrayOutput() AccountArrayOutput
	ToAccountArrayOutputWithContext(context.Context) AccountArrayOutput
}

AccountArrayInput is an input type that accepts AccountArray and AccountArrayOutput values. You can construct a concrete instance of `AccountArrayInput` via:

AccountArray{ AccountArgs{...} }

type AccountArrayOutput

type AccountArrayOutput struct{ *pulumi.OutputState }

func (AccountArrayOutput) ElementType

func (AccountArrayOutput) ElementType() reflect.Type

func (AccountArrayOutput) Index

func (AccountArrayOutput) ToAccountArrayOutput

func (o AccountArrayOutput) ToAccountArrayOutput() AccountArrayOutput

func (AccountArrayOutput) ToAccountArrayOutputWithContext

func (o AccountArrayOutput) ToAccountArrayOutputWithContext(ctx context.Context) AccountArrayOutput

type AccountInput

type AccountInput interface {
	pulumi.Input

	ToAccountOutput() AccountOutput
	ToAccountOutputWithContext(ctx context.Context) AccountOutput
}

type AccountMap

type AccountMap map[string]AccountInput

func (AccountMap) ElementType

func (AccountMap) ElementType() reflect.Type

func (AccountMap) ToAccountMapOutput

func (i AccountMap) ToAccountMapOutput() AccountMapOutput

func (AccountMap) ToAccountMapOutputWithContext

func (i AccountMap) ToAccountMapOutputWithContext(ctx context.Context) AccountMapOutput

type AccountMapInput

type AccountMapInput interface {
	pulumi.Input

	ToAccountMapOutput() AccountMapOutput
	ToAccountMapOutputWithContext(context.Context) AccountMapOutput
}

AccountMapInput is an input type that accepts AccountMap and AccountMapOutput values. You can construct a concrete instance of `AccountMapInput` via:

AccountMap{ "key": AccountArgs{...} }

type AccountMapOutput

type AccountMapOutput struct{ *pulumi.OutputState }

func (AccountMapOutput) ElementType

func (AccountMapOutput) ElementType() reflect.Type

func (AccountMapOutput) MapIndex

func (AccountMapOutput) ToAccountMapOutput

func (o AccountMapOutput) ToAccountMapOutput() AccountMapOutput

func (AccountMapOutput) ToAccountMapOutputWithContext

func (o AccountMapOutput) ToAccountMapOutputWithContext(ctx context.Context) AccountMapOutput

type AccountOutput

type AccountOutput struct{ *pulumi.OutputState }

func (AccountOutput) AccountDescription

func (o AccountOutput) AccountDescription() pulumi.StringPtrOutput

Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.

func (AccountOutput) AccountName

func (o AccountOutput) AccountName() pulumi.StringOutput

Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.

func (AccountOutput) AccountPassword

func (o AccountOutput) AccountPassword() pulumi.StringOutput

Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters.

func (AccountOutput) AccountType

func (o AccountOutput) AccountType() pulumi.StringPtrOutput

Account type, Valid values are `Normal`, `Super`, Default to `Normal`.

func (AccountOutput) DbClusterId

func (o AccountOutput) DbClusterId() pulumi.StringOutput

The Id of cluster in which account belongs.

func (AccountOutput) ElementType

func (AccountOutput) ElementType() reflect.Type

func (AccountOutput) KmsEncryptedPassword

func (o AccountOutput) KmsEncryptedPassword() pulumi.StringPtrOutput

An KMS encrypts password used to a db account. If the `accountPassword` is filled in, this field will be ignored.

func (AccountOutput) KmsEncryptionContext

func (o AccountOutput) KmsEncryptionContext() pulumi.MapOutput

An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a db account with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set.

func (AccountOutput) ToAccountOutput

func (o AccountOutput) ToAccountOutput() AccountOutput

func (AccountOutput) ToAccountOutputWithContext

func (o AccountOutput) ToAccountOutputWithContext(ctx context.Context) AccountOutput

type AccountPrivilege

type AccountPrivilege struct {
	pulumi.CustomResourceState

	// A specified account name.
	AccountName pulumi.StringOutput `pulumi:"accountName"`
	// The privilege of one account access database. Valid values: ["ReadOnly", "ReadWrite"], ["DMLOnly", "DDLOnly"] added since version v1.101.0. Default to "ReadOnly".
	AccountPrivilege pulumi.StringPtrOutput `pulumi:"accountPrivilege"`
	// The Id of cluster in which account belongs.
	DbClusterId pulumi.StringOutput `pulumi:"dbClusterId"`
	// List of specified database name.
	DbNames pulumi.StringArrayOutput `pulumi:"dbNames"`
}

Provides a PolarDB account privilege resource and used to grant several database some access privilege. A database can be granted by multiple account.

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		creation := "PolarDB"
		if param := cfg.Get("creation"); param != "" {
			creation = param
		}
		name := "dbaccountprivilegebasic"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef(creation),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VpcId:     defaultNetwork.ID(),
			CidrBlock: pulumi.String("172.16.0.0/24"),
			ZoneId:    pulumi.String(defaultZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		cluster, err := polardb.NewCluster(ctx, "cluster", &polardb.ClusterArgs{
			DbType:      pulumi.String("MySQL"),
			DbVersion:   pulumi.String("8.0"),
			PayType:     pulumi.String("PostPaid"),
			DbNodeClass: pulumi.String("polar.mysql.x4.large"),
			VswitchId:   defaultSwitch.ID(),
			Description: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		db, err := polardb.NewDatabase(ctx, "db", &polardb.DatabaseArgs{
			DbClusterId: cluster.ID(),
			DbName:      pulumi.String("tftestdatabase"),
		})
		if err != nil {
			return err
		}
		account, err := polardb.NewAccount(ctx, "account", &polardb.AccountArgs{
			DbClusterId:        cluster.ID(),
			AccountName:        pulumi.String("tftestnormal"),
			AccountPassword:    pulumi.String("Test12345"),
			AccountDescription: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = polardb.NewAccountPrivilege(ctx, "privilege", &polardb.AccountPrivilegeArgs{
			DbClusterId:      cluster.ID(),
			AccountName:      account.AccountName,
			AccountPrivilege: pulumi.String("ReadOnly"),
			DbNames: pulumi.StringArray{
				db.DbName,
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

PolarDB account privilege can be imported using the id, e.g.

```sh

$ pulumi import alicloud:polardb/accountPrivilege:AccountPrivilege example "pc-12345:tf_account:ReadOnly"

```

func GetAccountPrivilege

func GetAccountPrivilege(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccountPrivilegeState, opts ...pulumi.ResourceOption) (*AccountPrivilege, error)

GetAccountPrivilege gets an existing AccountPrivilege 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 NewAccountPrivilege

func NewAccountPrivilege(ctx *pulumi.Context,
	name string, args *AccountPrivilegeArgs, opts ...pulumi.ResourceOption) (*AccountPrivilege, error)

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

func (*AccountPrivilege) ElementType

func (*AccountPrivilege) ElementType() reflect.Type

func (*AccountPrivilege) ToAccountPrivilegeOutput

func (i *AccountPrivilege) ToAccountPrivilegeOutput() AccountPrivilegeOutput

func (*AccountPrivilege) ToAccountPrivilegeOutputWithContext

func (i *AccountPrivilege) ToAccountPrivilegeOutputWithContext(ctx context.Context) AccountPrivilegeOutput

type AccountPrivilegeArgs

type AccountPrivilegeArgs struct {
	// A specified account name.
	AccountName pulumi.StringInput
	// The privilege of one account access database. Valid values: ["ReadOnly", "ReadWrite"], ["DMLOnly", "DDLOnly"] added since version v1.101.0. Default to "ReadOnly".
	AccountPrivilege pulumi.StringPtrInput
	// The Id of cluster in which account belongs.
	DbClusterId pulumi.StringInput
	// List of specified database name.
	DbNames pulumi.StringArrayInput
}

The set of arguments for constructing a AccountPrivilege resource.

func (AccountPrivilegeArgs) ElementType

func (AccountPrivilegeArgs) ElementType() reflect.Type

type AccountPrivilegeArray

type AccountPrivilegeArray []AccountPrivilegeInput

func (AccountPrivilegeArray) ElementType

func (AccountPrivilegeArray) ElementType() reflect.Type

func (AccountPrivilegeArray) ToAccountPrivilegeArrayOutput

func (i AccountPrivilegeArray) ToAccountPrivilegeArrayOutput() AccountPrivilegeArrayOutput

func (AccountPrivilegeArray) ToAccountPrivilegeArrayOutputWithContext

func (i AccountPrivilegeArray) ToAccountPrivilegeArrayOutputWithContext(ctx context.Context) AccountPrivilegeArrayOutput

type AccountPrivilegeArrayInput

type AccountPrivilegeArrayInput interface {
	pulumi.Input

	ToAccountPrivilegeArrayOutput() AccountPrivilegeArrayOutput
	ToAccountPrivilegeArrayOutputWithContext(context.Context) AccountPrivilegeArrayOutput
}

AccountPrivilegeArrayInput is an input type that accepts AccountPrivilegeArray and AccountPrivilegeArrayOutput values. You can construct a concrete instance of `AccountPrivilegeArrayInput` via:

AccountPrivilegeArray{ AccountPrivilegeArgs{...} }

type AccountPrivilegeArrayOutput

type AccountPrivilegeArrayOutput struct{ *pulumi.OutputState }

func (AccountPrivilegeArrayOutput) ElementType

func (AccountPrivilegeArrayOutput) Index

func (AccountPrivilegeArrayOutput) ToAccountPrivilegeArrayOutput

func (o AccountPrivilegeArrayOutput) ToAccountPrivilegeArrayOutput() AccountPrivilegeArrayOutput

func (AccountPrivilegeArrayOutput) ToAccountPrivilegeArrayOutputWithContext

func (o AccountPrivilegeArrayOutput) ToAccountPrivilegeArrayOutputWithContext(ctx context.Context) AccountPrivilegeArrayOutput

type AccountPrivilegeInput

type AccountPrivilegeInput interface {
	pulumi.Input

	ToAccountPrivilegeOutput() AccountPrivilegeOutput
	ToAccountPrivilegeOutputWithContext(ctx context.Context) AccountPrivilegeOutput
}

type AccountPrivilegeMap

type AccountPrivilegeMap map[string]AccountPrivilegeInput

func (AccountPrivilegeMap) ElementType

func (AccountPrivilegeMap) ElementType() reflect.Type

func (AccountPrivilegeMap) ToAccountPrivilegeMapOutput

func (i AccountPrivilegeMap) ToAccountPrivilegeMapOutput() AccountPrivilegeMapOutput

func (AccountPrivilegeMap) ToAccountPrivilegeMapOutputWithContext

func (i AccountPrivilegeMap) ToAccountPrivilegeMapOutputWithContext(ctx context.Context) AccountPrivilegeMapOutput

type AccountPrivilegeMapInput

type AccountPrivilegeMapInput interface {
	pulumi.Input

	ToAccountPrivilegeMapOutput() AccountPrivilegeMapOutput
	ToAccountPrivilegeMapOutputWithContext(context.Context) AccountPrivilegeMapOutput
}

AccountPrivilegeMapInput is an input type that accepts AccountPrivilegeMap and AccountPrivilegeMapOutput values. You can construct a concrete instance of `AccountPrivilegeMapInput` via:

AccountPrivilegeMap{ "key": AccountPrivilegeArgs{...} }

type AccountPrivilegeMapOutput

type AccountPrivilegeMapOutput struct{ *pulumi.OutputState }

func (AccountPrivilegeMapOutput) ElementType

func (AccountPrivilegeMapOutput) ElementType() reflect.Type

func (AccountPrivilegeMapOutput) MapIndex

func (AccountPrivilegeMapOutput) ToAccountPrivilegeMapOutput

func (o AccountPrivilegeMapOutput) ToAccountPrivilegeMapOutput() AccountPrivilegeMapOutput

func (AccountPrivilegeMapOutput) ToAccountPrivilegeMapOutputWithContext

func (o AccountPrivilegeMapOutput) ToAccountPrivilegeMapOutputWithContext(ctx context.Context) AccountPrivilegeMapOutput

type AccountPrivilegeOutput

type AccountPrivilegeOutput struct{ *pulumi.OutputState }

func (AccountPrivilegeOutput) AccountName

func (o AccountPrivilegeOutput) AccountName() pulumi.StringOutput

A specified account name.

func (AccountPrivilegeOutput) AccountPrivilege

func (o AccountPrivilegeOutput) AccountPrivilege() pulumi.StringPtrOutput

The privilege of one account access database. Valid values: ["ReadOnly", "ReadWrite"], ["DMLOnly", "DDLOnly"] added since version v1.101.0. Default to "ReadOnly".

func (AccountPrivilegeOutput) DbClusterId

func (o AccountPrivilegeOutput) DbClusterId() pulumi.StringOutput

The Id of cluster in which account belongs.

func (AccountPrivilegeOutput) DbNames

List of specified database name.

func (AccountPrivilegeOutput) ElementType

func (AccountPrivilegeOutput) ElementType() reflect.Type

func (AccountPrivilegeOutput) ToAccountPrivilegeOutput

func (o AccountPrivilegeOutput) ToAccountPrivilegeOutput() AccountPrivilegeOutput

func (AccountPrivilegeOutput) ToAccountPrivilegeOutputWithContext

func (o AccountPrivilegeOutput) ToAccountPrivilegeOutputWithContext(ctx context.Context) AccountPrivilegeOutput

type AccountPrivilegeState

type AccountPrivilegeState struct {
	// A specified account name.
	AccountName pulumi.StringPtrInput
	// The privilege of one account access database. Valid values: ["ReadOnly", "ReadWrite"], ["DMLOnly", "DDLOnly"] added since version v1.101.0. Default to "ReadOnly".
	AccountPrivilege pulumi.StringPtrInput
	// The Id of cluster in which account belongs.
	DbClusterId pulumi.StringPtrInput
	// List of specified database name.
	DbNames pulumi.StringArrayInput
}

func (AccountPrivilegeState) ElementType

func (AccountPrivilegeState) ElementType() reflect.Type

type AccountState

type AccountState struct {
	// Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.
	AccountDescription pulumi.StringPtrInput
	// Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.
	AccountName pulumi.StringPtrInput
	// Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters.
	AccountPassword pulumi.StringPtrInput
	// Account type, Valid values are `Normal`, `Super`, Default to `Normal`.
	AccountType pulumi.StringPtrInput
	// The Id of cluster in which account belongs.
	DbClusterId pulumi.StringPtrInput
	// An KMS encrypts password used to a db account. If the `accountPassword` is filled in, this field will be ignored.
	KmsEncryptedPassword pulumi.StringPtrInput
	// An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a db account with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set.
	KmsEncryptionContext pulumi.MapInput
}

func (AccountState) ElementType

func (AccountState) ElementType() reflect.Type

type BackupPolicy

type BackupPolicy struct {
	pulumi.CustomResourceState

	// Cluster backup retention days, Fixed for 7 days, not modified.
	BackupRetentionPeriod pulumi.StringOutput `pulumi:"backupRetentionPeriod"`
	// Specifies whether to retain backups when you delete a cluster. Valid values are `ALL`, `LATEST`, `NONE`. Default to `NONE`. Value options can refer to the latest docs [ModifyBackupPolicy](https://help.aliyun.com/document_detail/98103.html)
	BackupRetentionPolicyOnClusterDeletion pulumi.StringOutput `pulumi:"backupRetentionPolicyOnClusterDeletion"`
	// The Id of cluster that can run database.
	DbClusterId pulumi.StringOutput `pulumi:"dbClusterId"`
	// PolarDB Cluster backup period. Valid values: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]. Default to ["Tuesday", "Thursday", "Saturday"].
	PreferredBackupPeriods pulumi.StringArrayOutput `pulumi:"preferredBackupPeriods"`
	// PolarDB Cluster backup time, in the format of HH:mmZ- HH:mmZ. Time setting interval is one hour. Default to "02:00Z-03:00Z". China time is 8 hours behind it.
	PreferredBackupTime pulumi.StringPtrOutput `pulumi:"preferredBackupTime"`
}

## Import

PolarDB backup policy can be imported using the id or cluster id, e.g.

```sh

$ pulumi import alicloud:polardb/backupPolicy:BackupPolicy example "rm-12345678"

```

func GetBackupPolicy

func GetBackupPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BackupPolicyState, opts ...pulumi.ResourceOption) (*BackupPolicy, error)

GetBackupPolicy gets an existing BackupPolicy 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 NewBackupPolicy

func NewBackupPolicy(ctx *pulumi.Context,
	name string, args *BackupPolicyArgs, opts ...pulumi.ResourceOption) (*BackupPolicy, error)

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

func (*BackupPolicy) ElementType

func (*BackupPolicy) ElementType() reflect.Type

func (*BackupPolicy) ToBackupPolicyOutput

func (i *BackupPolicy) ToBackupPolicyOutput() BackupPolicyOutput

func (*BackupPolicy) ToBackupPolicyOutputWithContext

func (i *BackupPolicy) ToBackupPolicyOutputWithContext(ctx context.Context) BackupPolicyOutput

type BackupPolicyArgs

type BackupPolicyArgs struct {
	// Specifies whether to retain backups when you delete a cluster. Valid values are `ALL`, `LATEST`, `NONE`. Default to `NONE`. Value options can refer to the latest docs [ModifyBackupPolicy](https://help.aliyun.com/document_detail/98103.html)
	BackupRetentionPolicyOnClusterDeletion pulumi.StringPtrInput
	// The Id of cluster that can run database.
	DbClusterId pulumi.StringInput
	// PolarDB Cluster backup period. Valid values: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]. Default to ["Tuesday", "Thursday", "Saturday"].
	PreferredBackupPeriods pulumi.StringArrayInput
	// PolarDB Cluster backup time, in the format of HH:mmZ- HH:mmZ. Time setting interval is one hour. Default to "02:00Z-03:00Z". China time is 8 hours behind it.
	PreferredBackupTime pulumi.StringPtrInput
}

The set of arguments for constructing a BackupPolicy resource.

func (BackupPolicyArgs) ElementType

func (BackupPolicyArgs) ElementType() reflect.Type

type BackupPolicyArray

type BackupPolicyArray []BackupPolicyInput

func (BackupPolicyArray) ElementType

func (BackupPolicyArray) ElementType() reflect.Type

func (BackupPolicyArray) ToBackupPolicyArrayOutput

func (i BackupPolicyArray) ToBackupPolicyArrayOutput() BackupPolicyArrayOutput

func (BackupPolicyArray) ToBackupPolicyArrayOutputWithContext

func (i BackupPolicyArray) ToBackupPolicyArrayOutputWithContext(ctx context.Context) BackupPolicyArrayOutput

type BackupPolicyArrayInput

type BackupPolicyArrayInput interface {
	pulumi.Input

	ToBackupPolicyArrayOutput() BackupPolicyArrayOutput
	ToBackupPolicyArrayOutputWithContext(context.Context) BackupPolicyArrayOutput
}

BackupPolicyArrayInput is an input type that accepts BackupPolicyArray and BackupPolicyArrayOutput values. You can construct a concrete instance of `BackupPolicyArrayInput` via:

BackupPolicyArray{ BackupPolicyArgs{...} }

type BackupPolicyArrayOutput

type BackupPolicyArrayOutput struct{ *pulumi.OutputState }

func (BackupPolicyArrayOutput) ElementType

func (BackupPolicyArrayOutput) ElementType() reflect.Type

func (BackupPolicyArrayOutput) Index

func (BackupPolicyArrayOutput) ToBackupPolicyArrayOutput

func (o BackupPolicyArrayOutput) ToBackupPolicyArrayOutput() BackupPolicyArrayOutput

func (BackupPolicyArrayOutput) ToBackupPolicyArrayOutputWithContext

func (o BackupPolicyArrayOutput) ToBackupPolicyArrayOutputWithContext(ctx context.Context) BackupPolicyArrayOutput

type BackupPolicyInput

type BackupPolicyInput interface {
	pulumi.Input

	ToBackupPolicyOutput() BackupPolicyOutput
	ToBackupPolicyOutputWithContext(ctx context.Context) BackupPolicyOutput
}

type BackupPolicyMap

type BackupPolicyMap map[string]BackupPolicyInput

func (BackupPolicyMap) ElementType

func (BackupPolicyMap) ElementType() reflect.Type

func (BackupPolicyMap) ToBackupPolicyMapOutput

func (i BackupPolicyMap) ToBackupPolicyMapOutput() BackupPolicyMapOutput

func (BackupPolicyMap) ToBackupPolicyMapOutputWithContext

func (i BackupPolicyMap) ToBackupPolicyMapOutputWithContext(ctx context.Context) BackupPolicyMapOutput

type BackupPolicyMapInput

type BackupPolicyMapInput interface {
	pulumi.Input

	ToBackupPolicyMapOutput() BackupPolicyMapOutput
	ToBackupPolicyMapOutputWithContext(context.Context) BackupPolicyMapOutput
}

BackupPolicyMapInput is an input type that accepts BackupPolicyMap and BackupPolicyMapOutput values. You can construct a concrete instance of `BackupPolicyMapInput` via:

BackupPolicyMap{ "key": BackupPolicyArgs{...} }

type BackupPolicyMapOutput

type BackupPolicyMapOutput struct{ *pulumi.OutputState }

func (BackupPolicyMapOutput) ElementType

func (BackupPolicyMapOutput) ElementType() reflect.Type

func (BackupPolicyMapOutput) MapIndex

func (BackupPolicyMapOutput) ToBackupPolicyMapOutput

func (o BackupPolicyMapOutput) ToBackupPolicyMapOutput() BackupPolicyMapOutput

func (BackupPolicyMapOutput) ToBackupPolicyMapOutputWithContext

func (o BackupPolicyMapOutput) ToBackupPolicyMapOutputWithContext(ctx context.Context) BackupPolicyMapOutput

type BackupPolicyOutput

type BackupPolicyOutput struct{ *pulumi.OutputState }

func (BackupPolicyOutput) BackupRetentionPeriod

func (o BackupPolicyOutput) BackupRetentionPeriod() pulumi.StringOutput

Cluster backup retention days, Fixed for 7 days, not modified.

func (BackupPolicyOutput) BackupRetentionPolicyOnClusterDeletion

func (o BackupPolicyOutput) BackupRetentionPolicyOnClusterDeletion() pulumi.StringOutput

Specifies whether to retain backups when you delete a cluster. Valid values are `ALL`, `LATEST`, `NONE`. Default to `NONE`. Value options can refer to the latest docs [ModifyBackupPolicy](https://help.aliyun.com/document_detail/98103.html)

func (BackupPolicyOutput) DbClusterId

func (o BackupPolicyOutput) DbClusterId() pulumi.StringOutput

The Id of cluster that can run database.

func (BackupPolicyOutput) ElementType

func (BackupPolicyOutput) ElementType() reflect.Type

func (BackupPolicyOutput) PreferredBackupPeriods

func (o BackupPolicyOutput) PreferredBackupPeriods() pulumi.StringArrayOutput

PolarDB Cluster backup period. Valid values: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]. Default to ["Tuesday", "Thursday", "Saturday"].

func (BackupPolicyOutput) PreferredBackupTime

func (o BackupPolicyOutput) PreferredBackupTime() pulumi.StringPtrOutput

PolarDB Cluster backup time, in the format of HH:mmZ- HH:mmZ. Time setting interval is one hour. Default to "02:00Z-03:00Z". China time is 8 hours behind it.

func (BackupPolicyOutput) ToBackupPolicyOutput

func (o BackupPolicyOutput) ToBackupPolicyOutput() BackupPolicyOutput

func (BackupPolicyOutput) ToBackupPolicyOutputWithContext

func (o BackupPolicyOutput) ToBackupPolicyOutputWithContext(ctx context.Context) BackupPolicyOutput

type BackupPolicyState

type BackupPolicyState struct {
	// Cluster backup retention days, Fixed for 7 days, not modified.
	BackupRetentionPeriod pulumi.StringPtrInput
	// Specifies whether to retain backups when you delete a cluster. Valid values are `ALL`, `LATEST`, `NONE`. Default to `NONE`. Value options can refer to the latest docs [ModifyBackupPolicy](https://help.aliyun.com/document_detail/98103.html)
	BackupRetentionPolicyOnClusterDeletion pulumi.StringPtrInput
	// The Id of cluster that can run database.
	DbClusterId pulumi.StringPtrInput
	// PolarDB Cluster backup period. Valid values: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]. Default to ["Tuesday", "Thursday", "Saturday"].
	PreferredBackupPeriods pulumi.StringArrayInput
	// PolarDB Cluster backup time, in the format of HH:mmZ- HH:mmZ. Time setting interval is one hour. Default to "02:00Z-03:00Z". China time is 8 hours behind it.
	PreferredBackupTime pulumi.StringPtrInput
}

func (BackupPolicyState) ElementType

func (BackupPolicyState) ElementType() reflect.Type

type Cluster

type Cluster struct {
	pulumi.CustomResourceState

	// Auto-renewal period of an cluster, in the unit of the month. It is valid when payType is `PrePaid`. Valid value:1, 2, 3, 6, 12, 24, 36, Default to 1.
	AutoRenewPeriod pulumi.IntPtrOutput `pulumi:"autoRenewPeriod"`
	// The retention policy for the backup sets when you delete the cluster.  Valid values are `ALL`, `LATEST`, `NONE`. Value options can refer to the latest docs [DeleteDBCluster](https://help.aliyun.com/document_detail/98170.html)
	BackupRetentionPolicyOnClusterDeletion pulumi.StringOutput `pulumi:"backupRetentionPolicyOnClusterDeletion"`
	// The time point of data to be cloned. Valid values are `LATEST`,`BackupID`,`Timestamp`.Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `CloneDataPoint`.
	// > **NOTE:** If CreationOption is set to CloneFromRDS, the value of this parameter must be LATEST.
	CloneDataPoint pulumi.StringPtrOutput `pulumi:"cloneDataPoint"`
	// Specifies whether to enable or disable SQL data collector. Valid values are `Enable`, `Disabled`.
	CollectorStatus pulumi.StringOutput `pulumi:"collectorStatus"`
	// (Available in 1.81.0+) PolarDB cluster connection string. When securityIps is configured, the address of cluster type endpoint will be returned, and if only "127.0.0.1" is configured, it will also be an empty string.
	ConnectionString pulumi.StringOutput `pulumi:"connectionString"`
	// The edition of the PolarDB service. Valid values are `Normal`,`Basic`,`ArchiveNormal`,`NormalMultimaster`.Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `CreationCategory`.
	// > **NOTE:** You can set this parameter to Basic only when DBType is set to MySQL and DBVersion is set to 5.6, 5.7, or 8.0. You can set this parameter to Archive only when DBType is set to MySQL and DBVersion is set to 8.0. From version 1.188.0, `creationCategory` can be set to `NormalMultimaster`.
	CreationCategory pulumi.StringOutput `pulumi:"creationCategory"`
	// The method that is used to create a cluster. Valid values are `Normal`,`CloneFromPolarDB`,`CloneFromRDS`,`MigrationFromRDS`,`CreateGdnStandby`.Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `CreationOption`.
	// > **NOTE:** The default value is Normal. If DBType is set to MySQL and DBVersion is set to 5.6 or 5.7, this parameter can be set to CloneFromRDS or MigrationFromRDS. If DBType is set to MySQL and DBVersion is set to 8.0, this parameter can be set to CreateGdnStandby.
	CreationOption pulumi.StringOutput `pulumi:"creationOption"`
	// db_cluster_ip_array defines how users can send requests to your API.
	DbClusterIpArrays ClusterDbClusterIpArrayArrayOutput `pulumi:"dbClusterIpArrays"`
	// The dbNodeClass of cluster node.
	// > **NOTE:** Node specifications are divided into cluster version, single node version and History Library version. They can't change each other, but the general specification and exclusive specification of cluster version can be changed.
	DbNodeClass pulumi.StringOutput `pulumi:"dbNodeClass"`
	// Number of the PolarDB cluster nodes, default is 2(Each cluster must contain at least a primary node and a read-only node). Add/remove nodes by modifying this parameter, valid values: [2~16].
	// > **NOTE:** To avoid adding or removing multiple read-only nodes by mistake, the system allows you to add or remove one read-only node at a time.
	DbNodeCount pulumi.IntOutput `pulumi:"dbNodeCount"`
	// Database type. Value options: MySQL, Oracle, PostgreSQL.
	DbType pulumi.StringOutput `pulumi:"dbType"`
	// Database version. Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `DBVersion`.
	DbVersion pulumi.StringOutput `pulumi:"dbVersion"`
	// turn on table deletion_lock. Valid values are 0, 1. 1 means to open the cluster protection lock, 0 means to close the cluster protection lock
	// > **NOTE:**  Cannot modify after created when `payType` is `Prepaid` .`deletionLock` the cluster protection lock can be turned on or off when `payType` is `Postpaid`.
	DeletionLock pulumi.IntPtrOutput `pulumi:"deletionLock"`
	// The description of cluster.
	Description pulumi.StringOutput `pulumi:"description"`
	// turn on table auto encryption. Valid values are `ON`, `OFF`. Only MySQL 8.0 supports.
	// > **NOTE:** `encryptNewTables` Polardb MySQL 8.0 cluster, after TDE and Automatic Encryption are enabled, all newly created tables are automatically encrypted in the cluster.
	EncryptNewTables pulumi.StringPtrOutput `pulumi:"encryptNewTables"`
	// The ID of the global database network (GDN).
	// > **NOTE:** This parameter is required if CreationOption is set to CreateGdnStandby.
	GdnId pulumi.StringPtrOutput `pulumi:"gdnId"`
	// Specifies whether to enable the In-Memory Column Index (IMCI) feature. Valid values are `ON`, `OFF`.
	// > **NOTE:**  Only polardb MySQL Cluster version is available. The cluster with minor version number of 8.0.1 supports the column index feature, and the specific kernel version must be 8.0.1.1.22 or above.
	// **NOTE:**  The single node, the single node version of the history library, and the cluster version of the history library do not support column save indexes.
	ImciSwitch pulumi.StringOutput `pulumi:"imciSwitch"`
	// Maintainable time period format of the instance: HH:MMZ-HH:MMZ (UTC time)
	MaintainTime pulumi.StringOutput `pulumi:"maintainTime"`
	// Use as `dbNodeClass` change class, define upgrade or downgrade. Valid values are `Upgrade`, `Downgrade`, Default to `Upgrade`.
	ModifyType pulumi.StringPtrOutput `pulumi:"modifyType"`
	// Set of parameters needs to be set after DB cluster was launched. Available parameters can refer to the latest docs [View database parameter templates](https://www.alibabacloud.com/help/doc-detail/98122.htm) .
	Parameters ClusterParameterArrayOutput `pulumi:"parameters"`
	// Valid values are `PrePaid`, `PostPaid`, Default to `PostPaid`.
	PayType pulumi.StringPtrOutput `pulumi:"payType"`
	Period  pulumi.IntPtrOutput    `pulumi:"period"`
	// Valid values are `AutoRenewal`, `Normal`, `NotRenewal`, Default to `NotRenewal`.
	RenewalStatus pulumi.StringPtrOutput `pulumi:"renewalStatus"`
	// The ID of resource group which the PolarDB cluster belongs. If not specified, then it belongs to the default resource group.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The ID of the security group. Separate multiple security groups with commas (,). You can add a maximum of three security groups to a cluster.
	// > **NOTE:** Because of data backup and migration, change DB cluster type and storage would cost 15~20 minutes. Please make full preparation before changing them.
	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	// List of IP addresses allowed to access all databases of a cluster. The list contains up to 1,000 IP addresses, separated by commas. Supported formats include 0.0.0.0/0, 10.23.12.24 (IP), and 10.23.12.24/24 (Classless Inter-Domain Routing (CIDR) mode. /24 represents the length of the prefix in an IP address. The range of the prefix length is [1,32]).
	SecurityIps pulumi.StringArrayOutput `pulumi:"securityIps"`
	// The ID of the source RDS instance or the ID of the source PolarDB cluster. This parameter is required only when CreationOption is set to MigrationFromRDS, CloneFromRDS, or CloneFromPolarDB.Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `SourceResourceId`.
	SourceResourceId pulumi.StringPtrOutput `pulumi:"sourceResourceId"`
	// The category of the cluster. Valid values are `Exclusive`, `General`. Only MySQL supports.
	SubCategory pulumi.StringOutput `pulumi:"subCategory"`
	// 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"`
	// turn on TDE encryption. Valid values are `Enabled`, `Disabled`. Default to `Disabled`. TDE cannot be closed after it is turned on.
	// > **NOTE:** `tdeStatus` Cannot modify after created when `dbType` is `PostgreSQL` or `Oracle`.`tdeStatus` only support modification from `Disabled` to `Enabled` when `dbType` is `MySQL`.
	TdeStatus pulumi.StringPtrOutput `pulumi:"tdeStatus"`
	// The id of the VPC.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
	// The virtual switch ID to launch DB instances in one VPC.
	// > **NOTE:** If vswitchId is not specified, system will get a vswitch belongs to the user automatically.
	VswitchId pulumi.StringPtrOutput `pulumi:"vswitchId"`
	// The Zone to launch the DB cluster. it supports multiple zone.
	ZoneId pulumi.StringOutput `pulumi:"zoneId"`
}

Provides a PolarDB cluster resource. A PolarDB cluster is an isolated database environment in the cloud. A PolarDB cluster can contain multiple user-created databases.

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

## Example Usage ### Create a PolarDB MySQL cluster

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "polardbClusterconfig"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		creation := "PolarDB"
		if param := cfg.Get("creation"); param != "" {
			creation = param
		}
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef(creation),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/24"),
			ZoneId:      pulumi.String(defaultZones.Zones[0].Id),
			VswitchName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = polardb.NewCluster(ctx, "defaultCluster", &polardb.ClusterArgs{
			DbType:      pulumi.String("MySQL"),
			DbVersion:   pulumi.String("5.6"),
			DbNodeClass: pulumi.String("polar.mysql.x4.medium"),
			PayType:     pulumi.String("PostPaid"),
			Description: pulumi.String(name),
			VswitchId:   defaultSwitch.ID(),
			DbClusterIpArrays: polardb.ClusterDbClusterIpArrayArray{
				&polardb.ClusterDbClusterIpArrayArgs{
					DbClusterIpArrayName: pulumi.String("default"),
					SecurityIps: pulumi.StringArray{
						pulumi.String("1.2.3.4"),
						pulumi.String("1.2.3.5"),
					},
				},
				&polardb.ClusterDbClusterIpArrayArgs{
					DbClusterIpArrayName: pulumi.String("test_ips1"),
					SecurityIps: pulumi.StringArray{
						pulumi.String("1.2.3.6"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

PolarDB cluster can be imported using the id, e.g.

```sh

$ pulumi import alicloud:polardb/cluster:Cluster example pc-abc12345678

```

func GetCluster

func GetCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterState, opts ...pulumi.ResourceOption) (*Cluster, error)

GetCluster gets an existing Cluster 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 NewCluster

func NewCluster(ctx *pulumi.Context,
	name string, args *ClusterArgs, opts ...pulumi.ResourceOption) (*Cluster, error)

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

func (*Cluster) ElementType

func (*Cluster) ElementType() reflect.Type

func (*Cluster) ToClusterOutput

func (i *Cluster) ToClusterOutput() ClusterOutput

func (*Cluster) ToClusterOutputWithContext

func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

type ClusterArgs

type ClusterArgs struct {
	// Auto-renewal period of an cluster, in the unit of the month. It is valid when payType is `PrePaid`. Valid value:1, 2, 3, 6, 12, 24, 36, Default to 1.
	AutoRenewPeriod pulumi.IntPtrInput
	// The retention policy for the backup sets when you delete the cluster.  Valid values are `ALL`, `LATEST`, `NONE`. Value options can refer to the latest docs [DeleteDBCluster](https://help.aliyun.com/document_detail/98170.html)
	BackupRetentionPolicyOnClusterDeletion pulumi.StringPtrInput
	// The time point of data to be cloned. Valid values are `LATEST`,`BackupID`,`Timestamp`.Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `CloneDataPoint`.
	// > **NOTE:** If CreationOption is set to CloneFromRDS, the value of this parameter must be LATEST.
	CloneDataPoint pulumi.StringPtrInput
	// Specifies whether to enable or disable SQL data collector. Valid values are `Enable`, `Disabled`.
	CollectorStatus pulumi.StringPtrInput
	// The edition of the PolarDB service. Valid values are `Normal`,`Basic`,`ArchiveNormal`,`NormalMultimaster`.Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `CreationCategory`.
	// > **NOTE:** You can set this parameter to Basic only when DBType is set to MySQL and DBVersion is set to 5.6, 5.7, or 8.0. You can set this parameter to Archive only when DBType is set to MySQL and DBVersion is set to 8.0. From version 1.188.0, `creationCategory` can be set to `NormalMultimaster`.
	CreationCategory pulumi.StringPtrInput
	// The method that is used to create a cluster. Valid values are `Normal`,`CloneFromPolarDB`,`CloneFromRDS`,`MigrationFromRDS`,`CreateGdnStandby`.Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `CreationOption`.
	// > **NOTE:** The default value is Normal. If DBType is set to MySQL and DBVersion is set to 5.6 or 5.7, this parameter can be set to CloneFromRDS or MigrationFromRDS. If DBType is set to MySQL and DBVersion is set to 8.0, this parameter can be set to CreateGdnStandby.
	CreationOption pulumi.StringPtrInput
	// db_cluster_ip_array defines how users can send requests to your API.
	DbClusterIpArrays ClusterDbClusterIpArrayArrayInput
	// The dbNodeClass of cluster node.
	// > **NOTE:** Node specifications are divided into cluster version, single node version and History Library version. They can't change each other, but the general specification and exclusive specification of cluster version can be changed.
	DbNodeClass pulumi.StringInput
	// Number of the PolarDB cluster nodes, default is 2(Each cluster must contain at least a primary node and a read-only node). Add/remove nodes by modifying this parameter, valid values: [2~16].
	// > **NOTE:** To avoid adding or removing multiple read-only nodes by mistake, the system allows you to add or remove one read-only node at a time.
	DbNodeCount pulumi.IntPtrInput
	// Database type. Value options: MySQL, Oracle, PostgreSQL.
	DbType pulumi.StringInput
	// Database version. Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `DBVersion`.
	DbVersion pulumi.StringInput
	// turn on table deletion_lock. Valid values are 0, 1. 1 means to open the cluster protection lock, 0 means to close the cluster protection lock
	// > **NOTE:**  Cannot modify after created when `payType` is `Prepaid` .`deletionLock` the cluster protection lock can be turned on or off when `payType` is `Postpaid`.
	DeletionLock pulumi.IntPtrInput
	// The description of cluster.
	Description pulumi.StringPtrInput
	// turn on table auto encryption. Valid values are `ON`, `OFF`. Only MySQL 8.0 supports.
	// > **NOTE:** `encryptNewTables` Polardb MySQL 8.0 cluster, after TDE and Automatic Encryption are enabled, all newly created tables are automatically encrypted in the cluster.
	EncryptNewTables pulumi.StringPtrInput
	// The ID of the global database network (GDN).
	// > **NOTE:** This parameter is required if CreationOption is set to CreateGdnStandby.
	GdnId pulumi.StringPtrInput
	// Specifies whether to enable the In-Memory Column Index (IMCI) feature. Valid values are `ON`, `OFF`.
	// > **NOTE:**  Only polardb MySQL Cluster version is available. The cluster with minor version number of 8.0.1 supports the column index feature, and the specific kernel version must be 8.0.1.1.22 or above.
	// **NOTE:**  The single node, the single node version of the history library, and the cluster version of the history library do not support column save indexes.
	ImciSwitch pulumi.StringPtrInput
	// Maintainable time period format of the instance: HH:MMZ-HH:MMZ (UTC time)
	MaintainTime pulumi.StringPtrInput
	// Use as `dbNodeClass` change class, define upgrade or downgrade. Valid values are `Upgrade`, `Downgrade`, Default to `Upgrade`.
	ModifyType pulumi.StringPtrInput
	// Set of parameters needs to be set after DB cluster was launched. Available parameters can refer to the latest docs [View database parameter templates](https://www.alibabacloud.com/help/doc-detail/98122.htm) .
	Parameters ClusterParameterArrayInput
	// Valid values are `PrePaid`, `PostPaid`, Default to `PostPaid`.
	PayType pulumi.StringPtrInput
	Period  pulumi.IntPtrInput
	// Valid values are `AutoRenewal`, `Normal`, `NotRenewal`, Default to `NotRenewal`.
	RenewalStatus pulumi.StringPtrInput
	// The ID of resource group which the PolarDB cluster belongs. If not specified, then it belongs to the default resource group.
	ResourceGroupId pulumi.StringPtrInput
	// The ID of the security group. Separate multiple security groups with commas (,). You can add a maximum of three security groups to a cluster.
	// > **NOTE:** Because of data backup and migration, change DB cluster type and storage would cost 15~20 minutes. Please make full preparation before changing them.
	SecurityGroupIds pulumi.StringArrayInput
	// List of IP addresses allowed to access all databases of a cluster. The list contains up to 1,000 IP addresses, separated by commas. Supported formats include 0.0.0.0/0, 10.23.12.24 (IP), and 10.23.12.24/24 (Classless Inter-Domain Routing (CIDR) mode. /24 represents the length of the prefix in an IP address. The range of the prefix length is [1,32]).
	SecurityIps pulumi.StringArrayInput
	// The ID of the source RDS instance or the ID of the source PolarDB cluster. This parameter is required only when CreationOption is set to MigrationFromRDS, CloneFromRDS, or CloneFromPolarDB.Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `SourceResourceId`.
	SourceResourceId pulumi.StringPtrInput
	// The category of the cluster. Valid values are `Exclusive`, `General`. Only MySQL supports.
	SubCategory 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
	// turn on TDE encryption. Valid values are `Enabled`, `Disabled`. Default to `Disabled`. TDE cannot be closed after it is turned on.
	// > **NOTE:** `tdeStatus` Cannot modify after created when `dbType` is `PostgreSQL` or `Oracle`.`tdeStatus` only support modification from `Disabled` to `Enabled` when `dbType` is `MySQL`.
	TdeStatus pulumi.StringPtrInput
	// The id of the VPC.
	VpcId pulumi.StringPtrInput
	// The virtual switch ID to launch DB instances in one VPC.
	// > **NOTE:** If vswitchId is not specified, system will get a vswitch belongs to the user automatically.
	VswitchId pulumi.StringPtrInput
	// The Zone to launch the DB cluster. it supports multiple zone.
	ZoneId pulumi.StringPtrInput
}

The set of arguments for constructing a Cluster resource.

func (ClusterArgs) ElementType

func (ClusterArgs) ElementType() reflect.Type

type ClusterArray

type ClusterArray []ClusterInput

func (ClusterArray) ElementType

func (ClusterArray) ElementType() reflect.Type

func (ClusterArray) ToClusterArrayOutput

func (i ClusterArray) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArray) ToClusterArrayOutputWithContext

func (i ClusterArray) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterArrayInput

type ClusterArrayInput interface {
	pulumi.Input

	ToClusterArrayOutput() ClusterArrayOutput
	ToClusterArrayOutputWithContext(context.Context) ClusterArrayOutput
}

ClusterArrayInput is an input type that accepts ClusterArray and ClusterArrayOutput values. You can construct a concrete instance of `ClusterArrayInput` via:

ClusterArray{ ClusterArgs{...} }

type ClusterArrayOutput

type ClusterArrayOutput struct{ *pulumi.OutputState }

func (ClusterArrayOutput) ElementType

func (ClusterArrayOutput) ElementType() reflect.Type

func (ClusterArrayOutput) Index

func (ClusterArrayOutput) ToClusterArrayOutput

func (o ClusterArrayOutput) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArrayOutput) ToClusterArrayOutputWithContext

func (o ClusterArrayOutput) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterDbClusterIpArray

type ClusterDbClusterIpArray struct {
	// The name of the IP whitelist group. The group name must be 2 to 120 characters in length and consists of lowercase letters and digits. It must start with a letter, and end with a letter or a digit.
	// **NOTE:** If the specified whitelist group name does not exist, the whitelist group is created. If the specified whitelist group name exists, the whitelist group is modified. If you do not specify this parameter, the default group is modified. You can create a maximum of 50 IP whitelist groups for a cluster.
	DbClusterIpArrayName *string `pulumi:"dbClusterIpArrayName"`
	// The method for modifying the IP whitelist. Valid values are `Cover`, `Append`, `Delete`.
	// **NOTE:** There does not recommend setting modifyMode to `Append` or `Delete` and it will bring a potential diff error.
	ModifyMode *string `pulumi:"modifyMode"`
	// List of IP addresses allowed to access all databases of a cluster. The list contains up to 1,000 IP addresses, separated by commas. Supported formats include 0.0.0.0/0, 10.23.12.24 (IP), and 10.23.12.24/24 (Classless Inter-Domain Routing (CIDR) mode. /24 represents the length of the prefix in an IP address. The range of the prefix length is [1,32]).
	SecurityIps []string `pulumi:"securityIps"`
}

type ClusterDbClusterIpArrayArgs

type ClusterDbClusterIpArrayArgs struct {
	// The name of the IP whitelist group. The group name must be 2 to 120 characters in length and consists of lowercase letters and digits. It must start with a letter, and end with a letter or a digit.
	// **NOTE:** If the specified whitelist group name does not exist, the whitelist group is created. If the specified whitelist group name exists, the whitelist group is modified. If you do not specify this parameter, the default group is modified. You can create a maximum of 50 IP whitelist groups for a cluster.
	DbClusterIpArrayName pulumi.StringPtrInput `pulumi:"dbClusterIpArrayName"`
	// The method for modifying the IP whitelist. Valid values are `Cover`, `Append`, `Delete`.
	// **NOTE:** There does not recommend setting modifyMode to `Append` or `Delete` and it will bring a potential diff error.
	ModifyMode pulumi.StringPtrInput `pulumi:"modifyMode"`
	// List of IP addresses allowed to access all databases of a cluster. The list contains up to 1,000 IP addresses, separated by commas. Supported formats include 0.0.0.0/0, 10.23.12.24 (IP), and 10.23.12.24/24 (Classless Inter-Domain Routing (CIDR) mode. /24 represents the length of the prefix in an IP address. The range of the prefix length is [1,32]).
	SecurityIps pulumi.StringArrayInput `pulumi:"securityIps"`
}

func (ClusterDbClusterIpArrayArgs) ElementType

func (ClusterDbClusterIpArrayArgs) ToClusterDbClusterIpArrayOutput

func (i ClusterDbClusterIpArrayArgs) ToClusterDbClusterIpArrayOutput() ClusterDbClusterIpArrayOutput

func (ClusterDbClusterIpArrayArgs) ToClusterDbClusterIpArrayOutputWithContext

func (i ClusterDbClusterIpArrayArgs) ToClusterDbClusterIpArrayOutputWithContext(ctx context.Context) ClusterDbClusterIpArrayOutput

type ClusterDbClusterIpArrayArray

type ClusterDbClusterIpArrayArray []ClusterDbClusterIpArrayInput

func (ClusterDbClusterIpArrayArray) ElementType

func (ClusterDbClusterIpArrayArray) ToClusterDbClusterIpArrayArrayOutput

func (i ClusterDbClusterIpArrayArray) ToClusterDbClusterIpArrayArrayOutput() ClusterDbClusterIpArrayArrayOutput

func (ClusterDbClusterIpArrayArray) ToClusterDbClusterIpArrayArrayOutputWithContext

func (i ClusterDbClusterIpArrayArray) ToClusterDbClusterIpArrayArrayOutputWithContext(ctx context.Context) ClusterDbClusterIpArrayArrayOutput

type ClusterDbClusterIpArrayArrayInput

type ClusterDbClusterIpArrayArrayInput interface {
	pulumi.Input

	ToClusterDbClusterIpArrayArrayOutput() ClusterDbClusterIpArrayArrayOutput
	ToClusterDbClusterIpArrayArrayOutputWithContext(context.Context) ClusterDbClusterIpArrayArrayOutput
}

ClusterDbClusterIpArrayArrayInput is an input type that accepts ClusterDbClusterIpArrayArray and ClusterDbClusterIpArrayArrayOutput values. You can construct a concrete instance of `ClusterDbClusterIpArrayArrayInput` via:

ClusterDbClusterIpArrayArray{ ClusterDbClusterIpArrayArgs{...} }

type ClusterDbClusterIpArrayArrayOutput

type ClusterDbClusterIpArrayArrayOutput struct{ *pulumi.OutputState }

func (ClusterDbClusterIpArrayArrayOutput) ElementType

func (ClusterDbClusterIpArrayArrayOutput) Index

func (ClusterDbClusterIpArrayArrayOutput) ToClusterDbClusterIpArrayArrayOutput

func (o ClusterDbClusterIpArrayArrayOutput) ToClusterDbClusterIpArrayArrayOutput() ClusterDbClusterIpArrayArrayOutput

func (ClusterDbClusterIpArrayArrayOutput) ToClusterDbClusterIpArrayArrayOutputWithContext

func (o ClusterDbClusterIpArrayArrayOutput) ToClusterDbClusterIpArrayArrayOutputWithContext(ctx context.Context) ClusterDbClusterIpArrayArrayOutput

type ClusterDbClusterIpArrayInput

type ClusterDbClusterIpArrayInput interface {
	pulumi.Input

	ToClusterDbClusterIpArrayOutput() ClusterDbClusterIpArrayOutput
	ToClusterDbClusterIpArrayOutputWithContext(context.Context) ClusterDbClusterIpArrayOutput
}

ClusterDbClusterIpArrayInput is an input type that accepts ClusterDbClusterIpArray and ClusterDbClusterIpArrayOutput values. You can construct a concrete instance of `ClusterDbClusterIpArrayInput` via:

ClusterDbClusterIpArray{ ClusterDbClusterIpArgs{...} }

type ClusterDbClusterIpArrayOutput

type ClusterDbClusterIpArrayOutput struct{ *pulumi.OutputState }

func (ClusterDbClusterIpArrayOutput) DbClusterIpArrayName

func (o ClusterDbClusterIpArrayOutput) DbClusterIpArrayName() pulumi.StringPtrOutput

The name of the IP whitelist group. The group name must be 2 to 120 characters in length and consists of lowercase letters and digits. It must start with a letter, and end with a letter or a digit. **NOTE:** If the specified whitelist group name does not exist, the whitelist group is created. If the specified whitelist group name exists, the whitelist group is modified. If you do not specify this parameter, the default group is modified. You can create a maximum of 50 IP whitelist groups for a cluster.

func (ClusterDbClusterIpArrayOutput) ElementType

func (ClusterDbClusterIpArrayOutput) ModifyMode

The method for modifying the IP whitelist. Valid values are `Cover`, `Append`, `Delete`. **NOTE:** There does not recommend setting modifyMode to `Append` or `Delete` and it will bring a potential diff error.

func (ClusterDbClusterIpArrayOutput) SecurityIps

List of IP addresses allowed to access all databases of a cluster. The list contains up to 1,000 IP addresses, separated by commas. Supported formats include 0.0.0.0/0, 10.23.12.24 (IP), and 10.23.12.24/24 (Classless Inter-Domain Routing (CIDR) mode. /24 represents the length of the prefix in an IP address. The range of the prefix length is [1,32]).

func (ClusterDbClusterIpArrayOutput) ToClusterDbClusterIpArrayOutput

func (o ClusterDbClusterIpArrayOutput) ToClusterDbClusterIpArrayOutput() ClusterDbClusterIpArrayOutput

func (ClusterDbClusterIpArrayOutput) ToClusterDbClusterIpArrayOutputWithContext

func (o ClusterDbClusterIpArrayOutput) ToClusterDbClusterIpArrayOutputWithContext(ctx context.Context) ClusterDbClusterIpArrayOutput

type ClusterInput

type ClusterInput interface {
	pulumi.Input

	ToClusterOutput() ClusterOutput
	ToClusterOutputWithContext(ctx context.Context) ClusterOutput
}

type ClusterMap

type ClusterMap map[string]ClusterInput

func (ClusterMap) ElementType

func (ClusterMap) ElementType() reflect.Type

func (ClusterMap) ToClusterMapOutput

func (i ClusterMap) ToClusterMapOutput() ClusterMapOutput

func (ClusterMap) ToClusterMapOutputWithContext

func (i ClusterMap) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterMapInput

type ClusterMapInput interface {
	pulumi.Input

	ToClusterMapOutput() ClusterMapOutput
	ToClusterMapOutputWithContext(context.Context) ClusterMapOutput
}

ClusterMapInput is an input type that accepts ClusterMap and ClusterMapOutput values. You can construct a concrete instance of `ClusterMapInput` via:

ClusterMap{ "key": ClusterArgs{...} }

type ClusterMapOutput

type ClusterMapOutput struct{ *pulumi.OutputState }

func (ClusterMapOutput) ElementType

func (ClusterMapOutput) ElementType() reflect.Type

func (ClusterMapOutput) MapIndex

func (ClusterMapOutput) ToClusterMapOutput

func (o ClusterMapOutput) ToClusterMapOutput() ClusterMapOutput

func (ClusterMapOutput) ToClusterMapOutputWithContext

func (o ClusterMapOutput) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterOutput

type ClusterOutput struct{ *pulumi.OutputState }

func (ClusterOutput) AutoRenewPeriod

func (o ClusterOutput) AutoRenewPeriod() pulumi.IntPtrOutput

Auto-renewal period of an cluster, in the unit of the month. It is valid when payType is `PrePaid`. Valid value:1, 2, 3, 6, 12, 24, 36, Default to 1.

func (ClusterOutput) BackupRetentionPolicyOnClusterDeletion

func (o ClusterOutput) BackupRetentionPolicyOnClusterDeletion() pulumi.StringOutput

The retention policy for the backup sets when you delete the cluster. Valid values are `ALL`, `LATEST`, `NONE`. Value options can refer to the latest docs [DeleteDBCluster](https://help.aliyun.com/document_detail/98170.html)

func (ClusterOutput) CloneDataPoint

func (o ClusterOutput) CloneDataPoint() pulumi.StringPtrOutput

The time point of data to be cloned. Valid values are `LATEST`,`BackupID`,`Timestamp`.Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `CloneDataPoint`. > **NOTE:** If CreationOption is set to CloneFromRDS, the value of this parameter must be LATEST.

func (ClusterOutput) CollectorStatus

func (o ClusterOutput) CollectorStatus() pulumi.StringOutput

Specifies whether to enable or disable SQL data collector. Valid values are `Enable`, `Disabled`.

func (ClusterOutput) ConnectionString

func (o ClusterOutput) ConnectionString() pulumi.StringOutput

(Available in 1.81.0+) PolarDB cluster connection string. When securityIps is configured, the address of cluster type endpoint will be returned, and if only "127.0.0.1" is configured, it will also be an empty string.

func (ClusterOutput) CreationCategory

func (o ClusterOutput) CreationCategory() pulumi.StringOutput

The edition of the PolarDB service. Valid values are `Normal`,`Basic`,`ArchiveNormal`,`NormalMultimaster`.Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `CreationCategory`. > **NOTE:** You can set this parameter to Basic only when DBType is set to MySQL and DBVersion is set to 5.6, 5.7, or 8.0. You can set this parameter to Archive only when DBType is set to MySQL and DBVersion is set to 8.0. From version 1.188.0, `creationCategory` can be set to `NormalMultimaster`.

func (ClusterOutput) CreationOption

func (o ClusterOutput) CreationOption() pulumi.StringOutput

The method that is used to create a cluster. Valid values are `Normal`,`CloneFromPolarDB`,`CloneFromRDS`,`MigrationFromRDS`,`CreateGdnStandby`.Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `CreationOption`. > **NOTE:** The default value is Normal. If DBType is set to MySQL and DBVersion is set to 5.6 or 5.7, this parameter can be set to CloneFromRDS or MigrationFromRDS. If DBType is set to MySQL and DBVersion is set to 8.0, this parameter can be set to CreateGdnStandby.

func (ClusterOutput) DbClusterIpArrays

func (o ClusterOutput) DbClusterIpArrays() ClusterDbClusterIpArrayArrayOutput

db_cluster_ip_array defines how users can send requests to your API.

func (ClusterOutput) DbNodeClass

func (o ClusterOutput) DbNodeClass() pulumi.StringOutput

The dbNodeClass of cluster node. > **NOTE:** Node specifications are divided into cluster version, single node version and History Library version. They can't change each other, but the general specification and exclusive specification of cluster version can be changed.

func (ClusterOutput) DbNodeCount

func (o ClusterOutput) DbNodeCount() pulumi.IntOutput

Number of the PolarDB cluster nodes, default is 2(Each cluster must contain at least a primary node and a read-only node). Add/remove nodes by modifying this parameter, valid values: [2~16]. > **NOTE:** To avoid adding or removing multiple read-only nodes by mistake, the system allows you to add or remove one read-only node at a time.

func (ClusterOutput) DbType

func (o ClusterOutput) DbType() pulumi.StringOutput

Database type. Value options: MySQL, Oracle, PostgreSQL.

func (ClusterOutput) DbVersion

func (o ClusterOutput) DbVersion() pulumi.StringOutput

Database version. Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `DBVersion`.

func (ClusterOutput) DeletionLock

func (o ClusterOutput) DeletionLock() pulumi.IntPtrOutput

turn on table deletion_lock. Valid values are 0, 1. 1 means to open the cluster protection lock, 0 means to close the cluster protection lock > **NOTE:** Cannot modify after created when `payType` is `Prepaid` .`deletionLock` the cluster protection lock can be turned on or off when `payType` is `Postpaid`.

func (ClusterOutput) Description

func (o ClusterOutput) Description() pulumi.StringOutput

The description of cluster.

func (ClusterOutput) ElementType

func (ClusterOutput) ElementType() reflect.Type

func (ClusterOutput) EncryptNewTables

func (o ClusterOutput) EncryptNewTables() pulumi.StringPtrOutput

turn on table auto encryption. Valid values are `ON`, `OFF`. Only MySQL 8.0 supports. > **NOTE:** `encryptNewTables` Polardb MySQL 8.0 cluster, after TDE and Automatic Encryption are enabled, all newly created tables are automatically encrypted in the cluster.

func (ClusterOutput) GdnId

The ID of the global database network (GDN). > **NOTE:** This parameter is required if CreationOption is set to CreateGdnStandby.

func (ClusterOutput) ImciSwitch

func (o ClusterOutput) ImciSwitch() pulumi.StringOutput

Specifies whether to enable the In-Memory Column Index (IMCI) feature. Valid values are `ON`, `OFF`. > **NOTE:** Only polardb MySQL Cluster version is available. The cluster with minor version number of 8.0.1 supports the column index feature, and the specific kernel version must be 8.0.1.1.22 or above. **NOTE:** The single node, the single node version of the history library, and the cluster version of the history library do not support column save indexes.

func (ClusterOutput) MaintainTime

func (o ClusterOutput) MaintainTime() pulumi.StringOutput

Maintainable time period format of the instance: HH:MMZ-HH:MMZ (UTC time)

func (ClusterOutput) ModifyType

func (o ClusterOutput) ModifyType() pulumi.StringPtrOutput

Use as `dbNodeClass` change class, define upgrade or downgrade. Valid values are `Upgrade`, `Downgrade`, Default to `Upgrade`.

func (ClusterOutput) Parameters

Set of parameters needs to be set after DB cluster was launched. Available parameters can refer to the latest docs [View database parameter templates](https://www.alibabacloud.com/help/doc-detail/98122.htm) .

func (ClusterOutput) PayType

func (o ClusterOutput) PayType() pulumi.StringPtrOutput

Valid values are `PrePaid`, `PostPaid`, Default to `PostPaid`.

func (ClusterOutput) Period

func (o ClusterOutput) Period() pulumi.IntPtrOutput

func (ClusterOutput) RenewalStatus

func (o ClusterOutput) RenewalStatus() pulumi.StringPtrOutput

Valid values are `AutoRenewal`, `Normal`, `NotRenewal`, Default to `NotRenewal`.

func (ClusterOutput) ResourceGroupId

func (o ClusterOutput) ResourceGroupId() pulumi.StringOutput

The ID of resource group which the PolarDB cluster belongs. If not specified, then it belongs to the default resource group.

func (ClusterOutput) SecurityGroupIds

func (o ClusterOutput) SecurityGroupIds() pulumi.StringArrayOutput

The ID of the security group. Separate multiple security groups with commas (,). You can add a maximum of three security groups to a cluster. > **NOTE:** Because of data backup and migration, change DB cluster type and storage would cost 15~20 minutes. Please make full preparation before changing them.

func (ClusterOutput) SecurityIps

func (o ClusterOutput) SecurityIps() pulumi.StringArrayOutput

List of IP addresses allowed to access all databases of a cluster. The list contains up to 1,000 IP addresses, separated by commas. Supported formats include 0.0.0.0/0, 10.23.12.24 (IP), and 10.23.12.24/24 (Classless Inter-Domain Routing (CIDR) mode. /24 represents the length of the prefix in an IP address. The range of the prefix length is [1,32]).

func (ClusterOutput) SourceResourceId

func (o ClusterOutput) SourceResourceId() pulumi.StringPtrOutput

The ID of the source RDS instance or the ID of the source PolarDB cluster. This parameter is required only when CreationOption is set to MigrationFromRDS, CloneFromRDS, or CloneFromPolarDB.Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `SourceResourceId`.

func (ClusterOutput) SubCategory

func (o ClusterOutput) SubCategory() pulumi.StringOutput

The category of the cluster. Valid values are `Exclusive`, `General`. Only MySQL supports.

func (ClusterOutput) Tags

func (o ClusterOutput) 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 (ClusterOutput) TdeStatus

func (o ClusterOutput) TdeStatus() pulumi.StringPtrOutput

turn on TDE encryption. Valid values are `Enabled`, `Disabled`. Default to `Disabled`. TDE cannot be closed after it is turned on. > **NOTE:** `tdeStatus` Cannot modify after created when `dbType` is `PostgreSQL` or `Oracle`.`tdeStatus` only support modification from `Disabled` to `Enabled` when `dbType` is `MySQL`.

func (ClusterOutput) ToClusterOutput

func (o ClusterOutput) ToClusterOutput() ClusterOutput

func (ClusterOutput) ToClusterOutputWithContext

func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

func (ClusterOutput) VpcId

func (o ClusterOutput) VpcId() pulumi.StringOutput

The id of the VPC.

func (ClusterOutput) VswitchId

func (o ClusterOutput) VswitchId() pulumi.StringPtrOutput

The virtual switch ID to launch DB instances in one VPC. > **NOTE:** If vswitchId is not specified, system will get a vswitch belongs to the user automatically.

func (ClusterOutput) ZoneId

func (o ClusterOutput) ZoneId() pulumi.StringOutput

The Zone to launch the DB cluster. it supports multiple zone.

type ClusterParameter

type ClusterParameter struct {
	Name  string `pulumi:"name"`
	Value string `pulumi:"value"`
}

type ClusterParameterArgs

type ClusterParameterArgs struct {
	Name  pulumi.StringInput `pulumi:"name"`
	Value pulumi.StringInput `pulumi:"value"`
}

func (ClusterParameterArgs) ElementType

func (ClusterParameterArgs) ElementType() reflect.Type

func (ClusterParameterArgs) ToClusterParameterOutput

func (i ClusterParameterArgs) ToClusterParameterOutput() ClusterParameterOutput

func (ClusterParameterArgs) ToClusterParameterOutputWithContext

func (i ClusterParameterArgs) ToClusterParameterOutputWithContext(ctx context.Context) ClusterParameterOutput

type ClusterParameterArray

type ClusterParameterArray []ClusterParameterInput

func (ClusterParameterArray) ElementType

func (ClusterParameterArray) ElementType() reflect.Type

func (ClusterParameterArray) ToClusterParameterArrayOutput

func (i ClusterParameterArray) ToClusterParameterArrayOutput() ClusterParameterArrayOutput

func (ClusterParameterArray) ToClusterParameterArrayOutputWithContext

func (i ClusterParameterArray) ToClusterParameterArrayOutputWithContext(ctx context.Context) ClusterParameterArrayOutput

type ClusterParameterArrayInput

type ClusterParameterArrayInput interface {
	pulumi.Input

	ToClusterParameterArrayOutput() ClusterParameterArrayOutput
	ToClusterParameterArrayOutputWithContext(context.Context) ClusterParameterArrayOutput
}

ClusterParameterArrayInput is an input type that accepts ClusterParameterArray and ClusterParameterArrayOutput values. You can construct a concrete instance of `ClusterParameterArrayInput` via:

ClusterParameterArray{ ClusterParameterArgs{...} }

type ClusterParameterArrayOutput

type ClusterParameterArrayOutput struct{ *pulumi.OutputState }

func (ClusterParameterArrayOutput) ElementType

func (ClusterParameterArrayOutput) Index

func (ClusterParameterArrayOutput) ToClusterParameterArrayOutput

func (o ClusterParameterArrayOutput) ToClusterParameterArrayOutput() ClusterParameterArrayOutput

func (ClusterParameterArrayOutput) ToClusterParameterArrayOutputWithContext

func (o ClusterParameterArrayOutput) ToClusterParameterArrayOutputWithContext(ctx context.Context) ClusterParameterArrayOutput

type ClusterParameterInput

type ClusterParameterInput interface {
	pulumi.Input

	ToClusterParameterOutput() ClusterParameterOutput
	ToClusterParameterOutputWithContext(context.Context) ClusterParameterOutput
}

ClusterParameterInput is an input type that accepts ClusterParameterArgs and ClusterParameterOutput values. You can construct a concrete instance of `ClusterParameterInput` via:

ClusterParameterArgs{...}

type ClusterParameterOutput

type ClusterParameterOutput struct{ *pulumi.OutputState }

func (ClusterParameterOutput) ElementType

func (ClusterParameterOutput) ElementType() reflect.Type

func (ClusterParameterOutput) Name

func (ClusterParameterOutput) ToClusterParameterOutput

func (o ClusterParameterOutput) ToClusterParameterOutput() ClusterParameterOutput

func (ClusterParameterOutput) ToClusterParameterOutputWithContext

func (o ClusterParameterOutput) ToClusterParameterOutputWithContext(ctx context.Context) ClusterParameterOutput

func (ClusterParameterOutput) Value

type ClusterState

type ClusterState struct {
	// Auto-renewal period of an cluster, in the unit of the month. It is valid when payType is `PrePaid`. Valid value:1, 2, 3, 6, 12, 24, 36, Default to 1.
	AutoRenewPeriod pulumi.IntPtrInput
	// The retention policy for the backup sets when you delete the cluster.  Valid values are `ALL`, `LATEST`, `NONE`. Value options can refer to the latest docs [DeleteDBCluster](https://help.aliyun.com/document_detail/98170.html)
	BackupRetentionPolicyOnClusterDeletion pulumi.StringPtrInput
	// The time point of data to be cloned. Valid values are `LATEST`,`BackupID`,`Timestamp`.Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `CloneDataPoint`.
	// > **NOTE:** If CreationOption is set to CloneFromRDS, the value of this parameter must be LATEST.
	CloneDataPoint pulumi.StringPtrInput
	// Specifies whether to enable or disable SQL data collector. Valid values are `Enable`, `Disabled`.
	CollectorStatus pulumi.StringPtrInput
	// (Available in 1.81.0+) PolarDB cluster connection string. When securityIps is configured, the address of cluster type endpoint will be returned, and if only "127.0.0.1" is configured, it will also be an empty string.
	ConnectionString pulumi.StringPtrInput
	// The edition of the PolarDB service. Valid values are `Normal`,`Basic`,`ArchiveNormal`,`NormalMultimaster`.Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `CreationCategory`.
	// > **NOTE:** You can set this parameter to Basic only when DBType is set to MySQL and DBVersion is set to 5.6, 5.7, or 8.0. You can set this parameter to Archive only when DBType is set to MySQL and DBVersion is set to 8.0. From version 1.188.0, `creationCategory` can be set to `NormalMultimaster`.
	CreationCategory pulumi.StringPtrInput
	// The method that is used to create a cluster. Valid values are `Normal`,`CloneFromPolarDB`,`CloneFromRDS`,`MigrationFromRDS`,`CreateGdnStandby`.Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `CreationOption`.
	// > **NOTE:** The default value is Normal. If DBType is set to MySQL and DBVersion is set to 5.6 or 5.7, this parameter can be set to CloneFromRDS or MigrationFromRDS. If DBType is set to MySQL and DBVersion is set to 8.0, this parameter can be set to CreateGdnStandby.
	CreationOption pulumi.StringPtrInput
	// db_cluster_ip_array defines how users can send requests to your API.
	DbClusterIpArrays ClusterDbClusterIpArrayArrayInput
	// The dbNodeClass of cluster node.
	// > **NOTE:** Node specifications are divided into cluster version, single node version and History Library version. They can't change each other, but the general specification and exclusive specification of cluster version can be changed.
	DbNodeClass pulumi.StringPtrInput
	// Number of the PolarDB cluster nodes, default is 2(Each cluster must contain at least a primary node and a read-only node). Add/remove nodes by modifying this parameter, valid values: [2~16].
	// > **NOTE:** To avoid adding or removing multiple read-only nodes by mistake, the system allows you to add or remove one read-only node at a time.
	DbNodeCount pulumi.IntPtrInput
	// Database type. Value options: MySQL, Oracle, PostgreSQL.
	DbType pulumi.StringPtrInput
	// Database version. Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `DBVersion`.
	DbVersion pulumi.StringPtrInput
	// turn on table deletion_lock. Valid values are 0, 1. 1 means to open the cluster protection lock, 0 means to close the cluster protection lock
	// > **NOTE:**  Cannot modify after created when `payType` is `Prepaid` .`deletionLock` the cluster protection lock can be turned on or off when `payType` is `Postpaid`.
	DeletionLock pulumi.IntPtrInput
	// The description of cluster.
	Description pulumi.StringPtrInput
	// turn on table auto encryption. Valid values are `ON`, `OFF`. Only MySQL 8.0 supports.
	// > **NOTE:** `encryptNewTables` Polardb MySQL 8.0 cluster, after TDE and Automatic Encryption are enabled, all newly created tables are automatically encrypted in the cluster.
	EncryptNewTables pulumi.StringPtrInput
	// The ID of the global database network (GDN).
	// > **NOTE:** This parameter is required if CreationOption is set to CreateGdnStandby.
	GdnId pulumi.StringPtrInput
	// Specifies whether to enable the In-Memory Column Index (IMCI) feature. Valid values are `ON`, `OFF`.
	// > **NOTE:**  Only polardb MySQL Cluster version is available. The cluster with minor version number of 8.0.1 supports the column index feature, and the specific kernel version must be 8.0.1.1.22 or above.
	// **NOTE:**  The single node, the single node version of the history library, and the cluster version of the history library do not support column save indexes.
	ImciSwitch pulumi.StringPtrInput
	// Maintainable time period format of the instance: HH:MMZ-HH:MMZ (UTC time)
	MaintainTime pulumi.StringPtrInput
	// Use as `dbNodeClass` change class, define upgrade or downgrade. Valid values are `Upgrade`, `Downgrade`, Default to `Upgrade`.
	ModifyType pulumi.StringPtrInput
	// Set of parameters needs to be set after DB cluster was launched. Available parameters can refer to the latest docs [View database parameter templates](https://www.alibabacloud.com/help/doc-detail/98122.htm) .
	Parameters ClusterParameterArrayInput
	// Valid values are `PrePaid`, `PostPaid`, Default to `PostPaid`.
	PayType pulumi.StringPtrInput
	Period  pulumi.IntPtrInput
	// Valid values are `AutoRenewal`, `Normal`, `NotRenewal`, Default to `NotRenewal`.
	RenewalStatus pulumi.StringPtrInput
	// The ID of resource group which the PolarDB cluster belongs. If not specified, then it belongs to the default resource group.
	ResourceGroupId pulumi.StringPtrInput
	// The ID of the security group. Separate multiple security groups with commas (,). You can add a maximum of three security groups to a cluster.
	// > **NOTE:** Because of data backup and migration, change DB cluster type and storage would cost 15~20 minutes. Please make full preparation before changing them.
	SecurityGroupIds pulumi.StringArrayInput
	// List of IP addresses allowed to access all databases of a cluster. The list contains up to 1,000 IP addresses, separated by commas. Supported formats include 0.0.0.0/0, 10.23.12.24 (IP), and 10.23.12.24/24 (Classless Inter-Domain Routing (CIDR) mode. /24 represents the length of the prefix in an IP address. The range of the prefix length is [1,32]).
	SecurityIps pulumi.StringArrayInput
	// The ID of the source RDS instance or the ID of the source PolarDB cluster. This parameter is required only when CreationOption is set to MigrationFromRDS, CloneFromRDS, or CloneFromPolarDB.Value options can refer to the latest docs [CreateDBCluster](https://help.aliyun.com/document_detail/98169.html) `SourceResourceId`.
	SourceResourceId pulumi.StringPtrInput
	// The category of the cluster. Valid values are `Exclusive`, `General`. Only MySQL supports.
	SubCategory 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
	// turn on TDE encryption. Valid values are `Enabled`, `Disabled`. Default to `Disabled`. TDE cannot be closed after it is turned on.
	// > **NOTE:** `tdeStatus` Cannot modify after created when `dbType` is `PostgreSQL` or `Oracle`.`tdeStatus` only support modification from `Disabled` to `Enabled` when `dbType` is `MySQL`.
	TdeStatus pulumi.StringPtrInput
	// The id of the VPC.
	VpcId pulumi.StringPtrInput
	// The virtual switch ID to launch DB instances in one VPC.
	// > **NOTE:** If vswitchId is not specified, system will get a vswitch belongs to the user automatically.
	VswitchId pulumi.StringPtrInput
	// The Zone to launch the DB cluster. it supports multiple zone.
	ZoneId pulumi.StringPtrInput
}

func (ClusterState) ElementType

func (ClusterState) ElementType() reflect.Type

type Database

type Database struct {
	pulumi.CustomResourceState

	// Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\).
	CharacterSetName pulumi.StringPtrOutput `pulumi:"characterSetName"`
	// The Id of cluster that can run database.
	DbClusterId pulumi.StringOutput `pulumi:"dbClusterId"`
	// Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters.
	DbDescription pulumi.StringPtrOutput `pulumi:"dbDescription"`
	// Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters.
	DbName pulumi.StringOutput `pulumi:"dbName"`
}

Provides a PolarDB database resource. A database deployed in a PolarDB cluster. A PolarDB cluster can own multiple databases.

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "polardbClusterconfig"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		creation := "PolarDB"
		if param := cfg.Get("creation"); param != "" {
			creation = param
		}
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef(creation),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VpcId:     defaultNetwork.ID(),
			CidrBlock: pulumi.String("172.16.0.0/24"),
			ZoneId:    pulumi.String(defaultZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		cluster, err := polardb.NewCluster(ctx, "cluster", &polardb.ClusterArgs{
			DbType:      pulumi.String("MySQL"),
			DbVersion:   pulumi.String("8.0"),
			PayType:     pulumi.String("PostPaid"),
			DbNodeClass: pulumi.String("polar.mysql.x4.large"),
			VswitchId:   defaultSwitch.ID(),
			Description: pulumi.String("testDB"),
		})
		if err != nil {
			return err
		}
		_, err = polardb.NewDatabase(ctx, "defaultDatabase", &polardb.DatabaseArgs{
			DbClusterId: cluster.ID(),
			DbName:      pulumi.String("tftestdatabase"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

PolarDB database can be imported using the id, e.g.

```sh

$ pulumi import alicloud:polardb/database:Database example "pc-12345:tf_database"

```

func GetDatabase

func GetDatabase(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatabaseState, opts ...pulumi.ResourceOption) (*Database, error)

GetDatabase gets an existing Database 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 NewDatabase

func NewDatabase(ctx *pulumi.Context,
	name string, args *DatabaseArgs, opts ...pulumi.ResourceOption) (*Database, error)

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

func (*Database) ElementType

func (*Database) ElementType() reflect.Type

func (*Database) ToDatabaseOutput

func (i *Database) ToDatabaseOutput() DatabaseOutput

func (*Database) ToDatabaseOutputWithContext

func (i *Database) ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput

type DatabaseArgs

type DatabaseArgs struct {
	// Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\).
	CharacterSetName pulumi.StringPtrInput
	// The Id of cluster that can run database.
	DbClusterId pulumi.StringInput
	// Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters.
	DbDescription pulumi.StringPtrInput
	// Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters.
	DbName pulumi.StringInput
}

The set of arguments for constructing a Database resource.

func (DatabaseArgs) ElementType

func (DatabaseArgs) ElementType() reflect.Type

type DatabaseArray

type DatabaseArray []DatabaseInput

func (DatabaseArray) ElementType

func (DatabaseArray) ElementType() reflect.Type

func (DatabaseArray) ToDatabaseArrayOutput

func (i DatabaseArray) ToDatabaseArrayOutput() DatabaseArrayOutput

func (DatabaseArray) ToDatabaseArrayOutputWithContext

func (i DatabaseArray) ToDatabaseArrayOutputWithContext(ctx context.Context) DatabaseArrayOutput

type DatabaseArrayInput

type DatabaseArrayInput interface {
	pulumi.Input

	ToDatabaseArrayOutput() DatabaseArrayOutput
	ToDatabaseArrayOutputWithContext(context.Context) DatabaseArrayOutput
}

DatabaseArrayInput is an input type that accepts DatabaseArray and DatabaseArrayOutput values. You can construct a concrete instance of `DatabaseArrayInput` via:

DatabaseArray{ DatabaseArgs{...} }

type DatabaseArrayOutput

type DatabaseArrayOutput struct{ *pulumi.OutputState }

func (DatabaseArrayOutput) ElementType

func (DatabaseArrayOutput) ElementType() reflect.Type

func (DatabaseArrayOutput) Index

func (DatabaseArrayOutput) ToDatabaseArrayOutput

func (o DatabaseArrayOutput) ToDatabaseArrayOutput() DatabaseArrayOutput

func (DatabaseArrayOutput) ToDatabaseArrayOutputWithContext

func (o DatabaseArrayOutput) ToDatabaseArrayOutputWithContext(ctx context.Context) DatabaseArrayOutput

type DatabaseInput

type DatabaseInput interface {
	pulumi.Input

	ToDatabaseOutput() DatabaseOutput
	ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput
}

type DatabaseMap

type DatabaseMap map[string]DatabaseInput

func (DatabaseMap) ElementType

func (DatabaseMap) ElementType() reflect.Type

func (DatabaseMap) ToDatabaseMapOutput

func (i DatabaseMap) ToDatabaseMapOutput() DatabaseMapOutput

func (DatabaseMap) ToDatabaseMapOutputWithContext

func (i DatabaseMap) ToDatabaseMapOutputWithContext(ctx context.Context) DatabaseMapOutput

type DatabaseMapInput

type DatabaseMapInput interface {
	pulumi.Input

	ToDatabaseMapOutput() DatabaseMapOutput
	ToDatabaseMapOutputWithContext(context.Context) DatabaseMapOutput
}

DatabaseMapInput is an input type that accepts DatabaseMap and DatabaseMapOutput values. You can construct a concrete instance of `DatabaseMapInput` via:

DatabaseMap{ "key": DatabaseArgs{...} }

type DatabaseMapOutput

type DatabaseMapOutput struct{ *pulumi.OutputState }

func (DatabaseMapOutput) ElementType

func (DatabaseMapOutput) ElementType() reflect.Type

func (DatabaseMapOutput) MapIndex

func (DatabaseMapOutput) ToDatabaseMapOutput

func (o DatabaseMapOutput) ToDatabaseMapOutput() DatabaseMapOutput

func (DatabaseMapOutput) ToDatabaseMapOutputWithContext

func (o DatabaseMapOutput) ToDatabaseMapOutputWithContext(ctx context.Context) DatabaseMapOutput

type DatabaseOutput

type DatabaseOutput struct{ *pulumi.OutputState }

func (DatabaseOutput) CharacterSetName

func (o DatabaseOutput) CharacterSetName() pulumi.StringPtrOutput

Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\).

func (DatabaseOutput) DbClusterId

func (o DatabaseOutput) DbClusterId() pulumi.StringOutput

The Id of cluster that can run database.

func (DatabaseOutput) DbDescription

func (o DatabaseOutput) DbDescription() pulumi.StringPtrOutput

Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters.

func (DatabaseOutput) DbName

func (o DatabaseOutput) DbName() pulumi.StringOutput

Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters.

func (DatabaseOutput) ElementType

func (DatabaseOutput) ElementType() reflect.Type

func (DatabaseOutput) ToDatabaseOutput

func (o DatabaseOutput) ToDatabaseOutput() DatabaseOutput

func (DatabaseOutput) ToDatabaseOutputWithContext

func (o DatabaseOutput) ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput

type DatabaseState

type DatabaseState struct {
	// Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\).
	CharacterSetName pulumi.StringPtrInput
	// The Id of cluster that can run database.
	DbClusterId pulumi.StringPtrInput
	// Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters.
	DbDescription pulumi.StringPtrInput
	// Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters.
	DbName pulumi.StringPtrInput
}

func (DatabaseState) ElementType

func (DatabaseState) ElementType() reflect.Type

type Endpoint

type Endpoint struct {
	pulumi.CustomResourceState

	AutoAddNewNodes pulumi.StringOutput `pulumi:"autoAddNewNodes"`
	DbClusterId     pulumi.StringOutput `pulumi:"dbClusterId"`
	// (Available in v1.161.0+) The ID of the cluster endpoint.
	DbEndpointId   pulumi.StringOutput `pulumi:"dbEndpointId"`
	EndpointConfig pulumi.MapOutput    `pulumi:"endpointConfig"`
	// Type of endpoint.
	EndpointType      pulumi.StringPtrOutput   `pulumi:"endpointType"`
	NetType           pulumi.StringPtrOutput   `pulumi:"netType"`
	Nodes             pulumi.StringArrayOutput `pulumi:"nodes"`
	ReadWriteMode     pulumi.StringOutput      `pulumi:"readWriteMode"`
	SslAutoRotate     pulumi.StringPtrOutput   `pulumi:"sslAutoRotate"`
	SslCertificateUrl pulumi.StringOutput      `pulumi:"sslCertificateUrl"`
	// (Available in v1.121.0+) The SSL connection string.
	SslConnectionString pulumi.StringOutput    `pulumi:"sslConnectionString"`
	SslEnabled          pulumi.StringPtrOutput `pulumi:"sslEnabled"`
	// (Available in v1.121.0+) The time when the SSL certificate expires. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.
	SslExpireTime pulumi.StringOutput `pulumi:"sslExpireTime"`
}

Provides a PolarDB endpoint resource to manage endpoint of PolarDB cluster.

> **NOTE:** After v1.80.0 and before v1.121.0, you can only use this resource to manage the custom endpoint. Since v1.121.0, you also can import the primary endpoint and the cluster endpoint, to modify their ssl status and so on.

> **NOTE:** The primary endpoint and the default cluster endpoint can not be created or deleted manually.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		creation := "PolarDB"
		if param := cfg.Get("creation"); param != "" {
			creation = param
		}
		name := "polardbconnectionbasic"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef(creation),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/24"),
			ZoneId:      pulumi.String(defaultZones.Zones[0].Id),
			VswitchName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		defaultCluster, err := polardb.NewCluster(ctx, "defaultCluster", &polardb.ClusterArgs{
			DbType:      pulumi.String("MySQL"),
			DbVersion:   pulumi.String("8.0"),
			PayType:     pulumi.String("PostPaid"),
			DbNodeClass: pulumi.String("polar.mysql.x4.large"),
			VswitchId:   defaultSwitch.ID(),
			Description: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = polardb.NewEndpoint(ctx, "endpoint", &polardb.EndpointArgs{
			DbClusterId:  defaultCluster.ID(),
			EndpointType: pulumi.String("Custom"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Argument Reference

The following arguments are supported:

  • `dbClusterId` - (Required, ForceNew) The Id of cluster that can run database.
  • `endpointType` - (Optional, ForceNew) Type of the endpoint. Before v1.121.0, it only can be `Custom`. since v1.121.0, `Custom`, `Cluster`, `Primary` are valid, default to `Custom`. However when creating a new endpoint, it also only can be `Custom`.
  • `readWriteMode` - (Optional) Read or write mode. Valid values are `ReadWrite`, `ReadOnly`. When creating a new custom endpoint, default to `ReadOnly`.
  • `nodes` - (Optional) Node id list for endpoint configuration. At least 2 nodes if specified, or if the cluster has more than 3 nodes, read-only endpoint is allowed to mount only one node. Default is all nodes.
  • `autoAddNewNodes` - (Optional) Whether the new node automatically joins the default cluster address. Valid values are `Enable`, `Disable`. When creating a new custom endpoint, default to `Disable`.
  • `endpointConfig` - (Optional) The advanced settings of the endpoint of Apsara PolarDB clusters are in JSON format. Including the settings of consistency level, transaction splitting, connection pool, and offload reads from primary node. For more details, see the [description of EndpointConfig in the Request parameters table for details](https://www.alibabacloud.com/help/doc-detail/116593.htm).
  • `sslEnabled` - (Optional, Available in v1.121.0+) Specifies how to modify the SSL encryption status. Valid values: `Disable`, `Enable`, `Update`.
  • `netType` - (Optional, Available in v1.121.0+) The network type of the endpoint address.
  • `sslAutoRotate` - (Available in v1.132.0+) Specifies whether automatic rotation of SSL certificates is enabled. Valid values: `Enable`,`Disable`.
  • `sslCertificateUrl` - (Available in v1.132.0+) Specifies SSL certificate download link.\ **NOTE:** For a PolarDB for MySQL cluster, this parameter is required, and only one connection string in each endpoint can enable the ssl, for other notes, see [Configure SSL encryption](https://www.alibabacloud.com/help/doc-detail/153182.htm).\ For a PolarDB for PostgreSQL cluster or a PolarDB-O cluster, this parameter is not required, by default, SSL encryption is enabled for all endpoints.

## Import

PolarDB endpoint can be imported using the id, e.g.

```sh

$ pulumi import alicloud:polardb/endpoint:Endpoint example pc-abc123456:pe-abc123456

```

func GetEndpoint

func GetEndpoint(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EndpointState, opts ...pulumi.ResourceOption) (*Endpoint, error)

GetEndpoint gets an existing Endpoint 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 NewEndpoint

func NewEndpoint(ctx *pulumi.Context,
	name string, args *EndpointArgs, opts ...pulumi.ResourceOption) (*Endpoint, error)

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

func (*Endpoint) ElementType

func (*Endpoint) ElementType() reflect.Type

func (*Endpoint) ToEndpointOutput

func (i *Endpoint) ToEndpointOutput() EndpointOutput

func (*Endpoint) ToEndpointOutputWithContext

func (i *Endpoint) ToEndpointOutputWithContext(ctx context.Context) EndpointOutput

type EndpointAddress

type EndpointAddress struct {
	pulumi.CustomResourceState

	// Prefix of the specified endpoint. The prefix must be 6 to 30 characters in length, and can contain lowercase letters, digits, and hyphens (-), must start with a letter and end with a digit or letter.
	ConnectionPrefix pulumi.StringOutput `pulumi:"connectionPrefix"`
	// Connection cluster or endpoint string.
	ConnectionString pulumi.StringOutput `pulumi:"connectionString"`
	// The Id of cluster that can run database.
	DbClusterId pulumi.StringOutput `pulumi:"dbClusterId"`
	// The Id of endpoint that can run database.
	DbEndpointId pulumi.StringOutput `pulumi:"dbEndpointId"`
	// The ip address of connection string.
	IpAddress pulumi.StringOutput `pulumi:"ipAddress"`
	// Internet connection net type. Valid value: `Public`. Default to `Public`. Currently supported only `Public`.
	NetType pulumi.StringPtrOutput `pulumi:"netType"`
	// Connection cluster or endpoint port.
	Port pulumi.StringOutput `pulumi:"port"`
}

Provides a PolarDB endpoint address resource to allocate an Internet endpoint address string for PolarDB instance.

> **NOTE:** Available in v1.68.0+. Each PolarDB instance will allocate a intranet connection string automatically and its prefix is Cluster ID.

To avoid unnecessary conflict, please specified a internet connection prefix before applying the resource.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		creation := "PolarDB"
		if param := cfg.Get("creation"); param != "" {
			creation = param
		}
		name := "polardbconnectionbasic"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef(creation),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/24"),
			ZoneId:      pulumi.String(defaultZones.Zones[0].Id),
			VswitchName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		defaultCluster, err := polardb.NewCluster(ctx, "defaultCluster", &polardb.ClusterArgs{
			DbType:      pulumi.String("MySQL"),
			DbVersion:   pulumi.String("8.0"),
			PayType:     pulumi.String("PostPaid"),
			DbNodeClass: pulumi.String("polar.mysql.x4.large"),
			VswitchId:   defaultSwitch.ID(),
			Description: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		defaultEndpoints := polardb.GetEndpointsOutput(ctx, polardb.GetEndpointsOutputArgs{
			DbClusterId: defaultCluster.ID(),
		}, nil)
		_, err = polardb.NewEndpointAddress(ctx, "endpoint", &polardb.EndpointAddressArgs{
			DbClusterId: defaultCluster.ID(),
			DbEndpointId: defaultEndpoints.ApplyT(func(defaultEndpoints polardb.GetEndpointsResult) (string, error) {
				return defaultEndpoints.Endpoints[0].DbEndpointId, nil
			}).(pulumi.StringOutput),
			ConnectionPrefix: pulumi.String("testpolardbconn"),
			NetType:          pulumi.String("Public"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

PolarDB endpoint address can be imported using the id, e.g.

```sh

$ pulumi import alicloud:polardb/endpointAddress:EndpointAddress example pc-abc123456:pe-abc123456

```

func GetEndpointAddress

func GetEndpointAddress(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EndpointAddressState, opts ...pulumi.ResourceOption) (*EndpointAddress, error)

GetEndpointAddress gets an existing EndpointAddress 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 NewEndpointAddress

func NewEndpointAddress(ctx *pulumi.Context,
	name string, args *EndpointAddressArgs, opts ...pulumi.ResourceOption) (*EndpointAddress, error)

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

func (*EndpointAddress) ElementType

func (*EndpointAddress) ElementType() reflect.Type

func (*EndpointAddress) ToEndpointAddressOutput

func (i *EndpointAddress) ToEndpointAddressOutput() EndpointAddressOutput

func (*EndpointAddress) ToEndpointAddressOutputWithContext

func (i *EndpointAddress) ToEndpointAddressOutputWithContext(ctx context.Context) EndpointAddressOutput

type EndpointAddressArgs

type EndpointAddressArgs struct {
	// Prefix of the specified endpoint. The prefix must be 6 to 30 characters in length, and can contain lowercase letters, digits, and hyphens (-), must start with a letter and end with a digit or letter.
	ConnectionPrefix pulumi.StringPtrInput
	// The Id of cluster that can run database.
	DbClusterId pulumi.StringInput
	// The Id of endpoint that can run database.
	DbEndpointId pulumi.StringInput
	// Internet connection net type. Valid value: `Public`. Default to `Public`. Currently supported only `Public`.
	NetType pulumi.StringPtrInput
}

The set of arguments for constructing a EndpointAddress resource.

func (EndpointAddressArgs) ElementType

func (EndpointAddressArgs) ElementType() reflect.Type

type EndpointAddressArray

type EndpointAddressArray []EndpointAddressInput

func (EndpointAddressArray) ElementType

func (EndpointAddressArray) ElementType() reflect.Type

func (EndpointAddressArray) ToEndpointAddressArrayOutput

func (i EndpointAddressArray) ToEndpointAddressArrayOutput() EndpointAddressArrayOutput

func (EndpointAddressArray) ToEndpointAddressArrayOutputWithContext

func (i EndpointAddressArray) ToEndpointAddressArrayOutputWithContext(ctx context.Context) EndpointAddressArrayOutput

type EndpointAddressArrayInput

type EndpointAddressArrayInput interface {
	pulumi.Input

	ToEndpointAddressArrayOutput() EndpointAddressArrayOutput
	ToEndpointAddressArrayOutputWithContext(context.Context) EndpointAddressArrayOutput
}

EndpointAddressArrayInput is an input type that accepts EndpointAddressArray and EndpointAddressArrayOutput values. You can construct a concrete instance of `EndpointAddressArrayInput` via:

EndpointAddressArray{ EndpointAddressArgs{...} }

type EndpointAddressArrayOutput

type EndpointAddressArrayOutput struct{ *pulumi.OutputState }

func (EndpointAddressArrayOutput) ElementType

func (EndpointAddressArrayOutput) ElementType() reflect.Type

func (EndpointAddressArrayOutput) Index

func (EndpointAddressArrayOutput) ToEndpointAddressArrayOutput

func (o EndpointAddressArrayOutput) ToEndpointAddressArrayOutput() EndpointAddressArrayOutput

func (EndpointAddressArrayOutput) ToEndpointAddressArrayOutputWithContext

func (o EndpointAddressArrayOutput) ToEndpointAddressArrayOutputWithContext(ctx context.Context) EndpointAddressArrayOutput

type EndpointAddressInput

type EndpointAddressInput interface {
	pulumi.Input

	ToEndpointAddressOutput() EndpointAddressOutput
	ToEndpointAddressOutputWithContext(ctx context.Context) EndpointAddressOutput
}

type EndpointAddressMap

type EndpointAddressMap map[string]EndpointAddressInput

func (EndpointAddressMap) ElementType

func (EndpointAddressMap) ElementType() reflect.Type

func (EndpointAddressMap) ToEndpointAddressMapOutput

func (i EndpointAddressMap) ToEndpointAddressMapOutput() EndpointAddressMapOutput

func (EndpointAddressMap) ToEndpointAddressMapOutputWithContext

func (i EndpointAddressMap) ToEndpointAddressMapOutputWithContext(ctx context.Context) EndpointAddressMapOutput

type EndpointAddressMapInput

type EndpointAddressMapInput interface {
	pulumi.Input

	ToEndpointAddressMapOutput() EndpointAddressMapOutput
	ToEndpointAddressMapOutputWithContext(context.Context) EndpointAddressMapOutput
}

EndpointAddressMapInput is an input type that accepts EndpointAddressMap and EndpointAddressMapOutput values. You can construct a concrete instance of `EndpointAddressMapInput` via:

EndpointAddressMap{ "key": EndpointAddressArgs{...} }

type EndpointAddressMapOutput

type EndpointAddressMapOutput struct{ *pulumi.OutputState }

func (EndpointAddressMapOutput) ElementType

func (EndpointAddressMapOutput) ElementType() reflect.Type

func (EndpointAddressMapOutput) MapIndex

func (EndpointAddressMapOutput) ToEndpointAddressMapOutput

func (o EndpointAddressMapOutput) ToEndpointAddressMapOutput() EndpointAddressMapOutput

func (EndpointAddressMapOutput) ToEndpointAddressMapOutputWithContext

func (o EndpointAddressMapOutput) ToEndpointAddressMapOutputWithContext(ctx context.Context) EndpointAddressMapOutput

type EndpointAddressOutput

type EndpointAddressOutput struct{ *pulumi.OutputState }

func (EndpointAddressOutput) ConnectionPrefix

func (o EndpointAddressOutput) ConnectionPrefix() pulumi.StringOutput

Prefix of the specified endpoint. The prefix must be 6 to 30 characters in length, and can contain lowercase letters, digits, and hyphens (-), must start with a letter and end with a digit or letter.

func (EndpointAddressOutput) ConnectionString

func (o EndpointAddressOutput) ConnectionString() pulumi.StringOutput

Connection cluster or endpoint string.

func (EndpointAddressOutput) DbClusterId

func (o EndpointAddressOutput) DbClusterId() pulumi.StringOutput

The Id of cluster that can run database.

func (EndpointAddressOutput) DbEndpointId

func (o EndpointAddressOutput) DbEndpointId() pulumi.StringOutput

The Id of endpoint that can run database.

func (EndpointAddressOutput) ElementType

func (EndpointAddressOutput) ElementType() reflect.Type

func (EndpointAddressOutput) IpAddress

The ip address of connection string.

func (EndpointAddressOutput) NetType

Internet connection net type. Valid value: `Public`. Default to `Public`. Currently supported only `Public`.

func (EndpointAddressOutput) Port

Connection cluster or endpoint port.

func (EndpointAddressOutput) ToEndpointAddressOutput

func (o EndpointAddressOutput) ToEndpointAddressOutput() EndpointAddressOutput

func (EndpointAddressOutput) ToEndpointAddressOutputWithContext

func (o EndpointAddressOutput) ToEndpointAddressOutputWithContext(ctx context.Context) EndpointAddressOutput

type EndpointAddressState

type EndpointAddressState struct {
	// Prefix of the specified endpoint. The prefix must be 6 to 30 characters in length, and can contain lowercase letters, digits, and hyphens (-), must start with a letter and end with a digit or letter.
	ConnectionPrefix pulumi.StringPtrInput
	// Connection cluster or endpoint string.
	ConnectionString pulumi.StringPtrInput
	// The Id of cluster that can run database.
	DbClusterId pulumi.StringPtrInput
	// The Id of endpoint that can run database.
	DbEndpointId pulumi.StringPtrInput
	// The ip address of connection string.
	IpAddress pulumi.StringPtrInput
	// Internet connection net type. Valid value: `Public`. Default to `Public`. Currently supported only `Public`.
	NetType pulumi.StringPtrInput
	// Connection cluster or endpoint port.
	Port pulumi.StringPtrInput
}

func (EndpointAddressState) ElementType

func (EndpointAddressState) ElementType() reflect.Type

type EndpointArgs

type EndpointArgs struct {
	AutoAddNewNodes pulumi.StringPtrInput
	DbClusterId     pulumi.StringInput
	EndpointConfig  pulumi.MapInput
	// Type of endpoint.
	EndpointType  pulumi.StringPtrInput
	NetType       pulumi.StringPtrInput
	Nodes         pulumi.StringArrayInput
	ReadWriteMode pulumi.StringPtrInput
	SslAutoRotate pulumi.StringPtrInput
	SslEnabled    pulumi.StringPtrInput
}

The set of arguments for constructing a Endpoint resource.

func (EndpointArgs) ElementType

func (EndpointArgs) ElementType() reflect.Type

type EndpointArray

type EndpointArray []EndpointInput

func (EndpointArray) ElementType

func (EndpointArray) ElementType() reflect.Type

func (EndpointArray) ToEndpointArrayOutput

func (i EndpointArray) ToEndpointArrayOutput() EndpointArrayOutput

func (EndpointArray) ToEndpointArrayOutputWithContext

func (i EndpointArray) ToEndpointArrayOutputWithContext(ctx context.Context) EndpointArrayOutput

type EndpointArrayInput

type EndpointArrayInput interface {
	pulumi.Input

	ToEndpointArrayOutput() EndpointArrayOutput
	ToEndpointArrayOutputWithContext(context.Context) EndpointArrayOutput
}

EndpointArrayInput is an input type that accepts EndpointArray and EndpointArrayOutput values. You can construct a concrete instance of `EndpointArrayInput` via:

EndpointArray{ EndpointArgs{...} }

type EndpointArrayOutput

type EndpointArrayOutput struct{ *pulumi.OutputState }

func (EndpointArrayOutput) ElementType

func (EndpointArrayOutput) ElementType() reflect.Type

func (EndpointArrayOutput) Index

func (EndpointArrayOutput) ToEndpointArrayOutput

func (o EndpointArrayOutput) ToEndpointArrayOutput() EndpointArrayOutput

func (EndpointArrayOutput) ToEndpointArrayOutputWithContext

func (o EndpointArrayOutput) ToEndpointArrayOutputWithContext(ctx context.Context) EndpointArrayOutput

type EndpointInput

type EndpointInput interface {
	pulumi.Input

	ToEndpointOutput() EndpointOutput
	ToEndpointOutputWithContext(ctx context.Context) EndpointOutput
}

type EndpointMap

type EndpointMap map[string]EndpointInput

func (EndpointMap) ElementType

func (EndpointMap) ElementType() reflect.Type

func (EndpointMap) ToEndpointMapOutput

func (i EndpointMap) ToEndpointMapOutput() EndpointMapOutput

func (EndpointMap) ToEndpointMapOutputWithContext

func (i EndpointMap) ToEndpointMapOutputWithContext(ctx context.Context) EndpointMapOutput

type EndpointMapInput

type EndpointMapInput interface {
	pulumi.Input

	ToEndpointMapOutput() EndpointMapOutput
	ToEndpointMapOutputWithContext(context.Context) EndpointMapOutput
}

EndpointMapInput is an input type that accepts EndpointMap and EndpointMapOutput values. You can construct a concrete instance of `EndpointMapInput` via:

EndpointMap{ "key": EndpointArgs{...} }

type EndpointMapOutput

type EndpointMapOutput struct{ *pulumi.OutputState }

func (EndpointMapOutput) ElementType

func (EndpointMapOutput) ElementType() reflect.Type

func (EndpointMapOutput) MapIndex

func (EndpointMapOutput) ToEndpointMapOutput

func (o EndpointMapOutput) ToEndpointMapOutput() EndpointMapOutput

func (EndpointMapOutput) ToEndpointMapOutputWithContext

func (o EndpointMapOutput) ToEndpointMapOutputWithContext(ctx context.Context) EndpointMapOutput

type EndpointOutput

type EndpointOutput struct{ *pulumi.OutputState }

func (EndpointOutput) AutoAddNewNodes

func (o EndpointOutput) AutoAddNewNodes() pulumi.StringOutput

func (EndpointOutput) DbClusterId

func (o EndpointOutput) DbClusterId() pulumi.StringOutput

func (EndpointOutput) DbEndpointId

func (o EndpointOutput) DbEndpointId() pulumi.StringOutput

(Available in v1.161.0+) The ID of the cluster endpoint.

func (EndpointOutput) ElementType

func (EndpointOutput) ElementType() reflect.Type

func (EndpointOutput) EndpointConfig

func (o EndpointOutput) EndpointConfig() pulumi.MapOutput

func (EndpointOutput) EndpointType

func (o EndpointOutput) EndpointType() pulumi.StringPtrOutput

Type of endpoint.

func (EndpointOutput) NetType

func (EndpointOutput) Nodes

func (EndpointOutput) ReadWriteMode

func (o EndpointOutput) ReadWriteMode() pulumi.StringOutput

func (EndpointOutput) SslAutoRotate

func (o EndpointOutput) SslAutoRotate() pulumi.StringPtrOutput

func (EndpointOutput) SslCertificateUrl

func (o EndpointOutput) SslCertificateUrl() pulumi.StringOutput

func (EndpointOutput) SslConnectionString

func (o EndpointOutput) SslConnectionString() pulumi.StringOutput

(Available in v1.121.0+) The SSL connection string.

func (EndpointOutput) SslEnabled

func (o EndpointOutput) SslEnabled() pulumi.StringPtrOutput

func (EndpointOutput) SslExpireTime

func (o EndpointOutput) SslExpireTime() pulumi.StringOutput

(Available in v1.121.0+) The time when the SSL certificate expires. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.

func (EndpointOutput) ToEndpointOutput

func (o EndpointOutput) ToEndpointOutput() EndpointOutput

func (EndpointOutput) ToEndpointOutputWithContext

func (o EndpointOutput) ToEndpointOutputWithContext(ctx context.Context) EndpointOutput

type EndpointState

type EndpointState struct {
	AutoAddNewNodes pulumi.StringPtrInput
	DbClusterId     pulumi.StringPtrInput
	// (Available in v1.161.0+) The ID of the cluster endpoint.
	DbEndpointId   pulumi.StringPtrInput
	EndpointConfig pulumi.MapInput
	// Type of endpoint.
	EndpointType      pulumi.StringPtrInput
	NetType           pulumi.StringPtrInput
	Nodes             pulumi.StringArrayInput
	ReadWriteMode     pulumi.StringPtrInput
	SslAutoRotate     pulumi.StringPtrInput
	SslCertificateUrl pulumi.StringPtrInput
	// (Available in v1.121.0+) The SSL connection string.
	SslConnectionString pulumi.StringPtrInput
	SslEnabled          pulumi.StringPtrInput
	// (Available in v1.121.0+) The time when the SSL certificate expires. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.
	SslExpireTime pulumi.StringPtrInput
}

func (EndpointState) ElementType

func (EndpointState) ElementType() reflect.Type

type GetAccountsAccount

type GetAccountsAccount struct {
	// Account description.
	AccountDescription string `pulumi:"accountDescription"`
	// Account lock state, Valid values are `Lock`, `UnLock`.
	AccountLockState string `pulumi:"accountLockState"`
	// Account name.
	AccountName string `pulumi:"accountName"`
	// Cluster address type.`Cluster`: the default address of the Cluster.`Primary`: Primary address.`Custom`: Custom cluster addresses.
	AccountStatus string `pulumi:"accountStatus"`
	// Account type, Valid values are `Normal`, `Super`.
	AccountType string `pulumi:"accountType"`
	// A list of database privilege. Each element contains the following attributes.
	DatabasePrivileges []GetAccountsAccountDatabasePrivilege `pulumi:"databasePrivileges"`
}

type GetAccountsAccountArgs

type GetAccountsAccountArgs struct {
	// Account description.
	AccountDescription pulumi.StringInput `pulumi:"accountDescription"`
	// Account lock state, Valid values are `Lock`, `UnLock`.
	AccountLockState pulumi.StringInput `pulumi:"accountLockState"`
	// Account name.
	AccountName pulumi.StringInput `pulumi:"accountName"`
	// Cluster address type.`Cluster`: the default address of the Cluster.`Primary`: Primary address.`Custom`: Custom cluster addresses.
	AccountStatus pulumi.StringInput `pulumi:"accountStatus"`
	// Account type, Valid values are `Normal`, `Super`.
	AccountType pulumi.StringInput `pulumi:"accountType"`
	// A list of database privilege. Each element contains the following attributes.
	DatabasePrivileges GetAccountsAccountDatabasePrivilegeArrayInput `pulumi:"databasePrivileges"`
}

func (GetAccountsAccountArgs) ElementType

func (GetAccountsAccountArgs) ElementType() reflect.Type

func (GetAccountsAccountArgs) ToGetAccountsAccountOutput

func (i GetAccountsAccountArgs) ToGetAccountsAccountOutput() GetAccountsAccountOutput

func (GetAccountsAccountArgs) ToGetAccountsAccountOutputWithContext

func (i GetAccountsAccountArgs) ToGetAccountsAccountOutputWithContext(ctx context.Context) GetAccountsAccountOutput

type GetAccountsAccountArray

type GetAccountsAccountArray []GetAccountsAccountInput

func (GetAccountsAccountArray) ElementType

func (GetAccountsAccountArray) ElementType() reflect.Type

func (GetAccountsAccountArray) ToGetAccountsAccountArrayOutput

func (i GetAccountsAccountArray) ToGetAccountsAccountArrayOutput() GetAccountsAccountArrayOutput

func (GetAccountsAccountArray) ToGetAccountsAccountArrayOutputWithContext

func (i GetAccountsAccountArray) ToGetAccountsAccountArrayOutputWithContext(ctx context.Context) GetAccountsAccountArrayOutput

type GetAccountsAccountArrayInput

type GetAccountsAccountArrayInput interface {
	pulumi.Input

	ToGetAccountsAccountArrayOutput() GetAccountsAccountArrayOutput
	ToGetAccountsAccountArrayOutputWithContext(context.Context) GetAccountsAccountArrayOutput
}

GetAccountsAccountArrayInput is an input type that accepts GetAccountsAccountArray and GetAccountsAccountArrayOutput values. You can construct a concrete instance of `GetAccountsAccountArrayInput` via:

GetAccountsAccountArray{ GetAccountsAccountArgs{...} }

type GetAccountsAccountArrayOutput

type GetAccountsAccountArrayOutput struct{ *pulumi.OutputState }

func (GetAccountsAccountArrayOutput) ElementType

func (GetAccountsAccountArrayOutput) Index

func (GetAccountsAccountArrayOutput) ToGetAccountsAccountArrayOutput

func (o GetAccountsAccountArrayOutput) ToGetAccountsAccountArrayOutput() GetAccountsAccountArrayOutput

func (GetAccountsAccountArrayOutput) ToGetAccountsAccountArrayOutputWithContext

func (o GetAccountsAccountArrayOutput) ToGetAccountsAccountArrayOutputWithContext(ctx context.Context) GetAccountsAccountArrayOutput

type GetAccountsAccountDatabasePrivilege

type GetAccountsAccountDatabasePrivilege struct {
	// Account privilege of database
	AccountPrivilege string `pulumi:"accountPrivilege"`
	// The account owned database name
	DbName string `pulumi:"dbName"`
}

type GetAccountsAccountDatabasePrivilegeArgs

type GetAccountsAccountDatabasePrivilegeArgs struct {
	// Account privilege of database
	AccountPrivilege pulumi.StringInput `pulumi:"accountPrivilege"`
	// The account owned database name
	DbName pulumi.StringInput `pulumi:"dbName"`
}

func (GetAccountsAccountDatabasePrivilegeArgs) ElementType

func (GetAccountsAccountDatabasePrivilegeArgs) ToGetAccountsAccountDatabasePrivilegeOutput

func (i GetAccountsAccountDatabasePrivilegeArgs) ToGetAccountsAccountDatabasePrivilegeOutput() GetAccountsAccountDatabasePrivilegeOutput

func (GetAccountsAccountDatabasePrivilegeArgs) ToGetAccountsAccountDatabasePrivilegeOutputWithContext

func (i GetAccountsAccountDatabasePrivilegeArgs) ToGetAccountsAccountDatabasePrivilegeOutputWithContext(ctx context.Context) GetAccountsAccountDatabasePrivilegeOutput

type GetAccountsAccountDatabasePrivilegeArray

type GetAccountsAccountDatabasePrivilegeArray []GetAccountsAccountDatabasePrivilegeInput

func (GetAccountsAccountDatabasePrivilegeArray) ElementType

func (GetAccountsAccountDatabasePrivilegeArray) ToGetAccountsAccountDatabasePrivilegeArrayOutput

func (i GetAccountsAccountDatabasePrivilegeArray) ToGetAccountsAccountDatabasePrivilegeArrayOutput() GetAccountsAccountDatabasePrivilegeArrayOutput

func (GetAccountsAccountDatabasePrivilegeArray) ToGetAccountsAccountDatabasePrivilegeArrayOutputWithContext

func (i GetAccountsAccountDatabasePrivilegeArray) ToGetAccountsAccountDatabasePrivilegeArrayOutputWithContext(ctx context.Context) GetAccountsAccountDatabasePrivilegeArrayOutput

type GetAccountsAccountDatabasePrivilegeArrayInput

type GetAccountsAccountDatabasePrivilegeArrayInput interface {
	pulumi.Input

	ToGetAccountsAccountDatabasePrivilegeArrayOutput() GetAccountsAccountDatabasePrivilegeArrayOutput
	ToGetAccountsAccountDatabasePrivilegeArrayOutputWithContext(context.Context) GetAccountsAccountDatabasePrivilegeArrayOutput
}

GetAccountsAccountDatabasePrivilegeArrayInput is an input type that accepts GetAccountsAccountDatabasePrivilegeArray and GetAccountsAccountDatabasePrivilegeArrayOutput values. You can construct a concrete instance of `GetAccountsAccountDatabasePrivilegeArrayInput` via:

GetAccountsAccountDatabasePrivilegeArray{ GetAccountsAccountDatabasePrivilegeArgs{...} }

type GetAccountsAccountDatabasePrivilegeArrayOutput

type GetAccountsAccountDatabasePrivilegeArrayOutput struct{ *pulumi.OutputState }

func (GetAccountsAccountDatabasePrivilegeArrayOutput) ElementType

func (GetAccountsAccountDatabasePrivilegeArrayOutput) Index

func (GetAccountsAccountDatabasePrivilegeArrayOutput) ToGetAccountsAccountDatabasePrivilegeArrayOutput

func (o GetAccountsAccountDatabasePrivilegeArrayOutput) ToGetAccountsAccountDatabasePrivilegeArrayOutput() GetAccountsAccountDatabasePrivilegeArrayOutput

func (GetAccountsAccountDatabasePrivilegeArrayOutput) ToGetAccountsAccountDatabasePrivilegeArrayOutputWithContext

func (o GetAccountsAccountDatabasePrivilegeArrayOutput) ToGetAccountsAccountDatabasePrivilegeArrayOutputWithContext(ctx context.Context) GetAccountsAccountDatabasePrivilegeArrayOutput

type GetAccountsAccountDatabasePrivilegeInput

type GetAccountsAccountDatabasePrivilegeInput interface {
	pulumi.Input

	ToGetAccountsAccountDatabasePrivilegeOutput() GetAccountsAccountDatabasePrivilegeOutput
	ToGetAccountsAccountDatabasePrivilegeOutputWithContext(context.Context) GetAccountsAccountDatabasePrivilegeOutput
}

GetAccountsAccountDatabasePrivilegeInput is an input type that accepts GetAccountsAccountDatabasePrivilegeArgs and GetAccountsAccountDatabasePrivilegeOutput values. You can construct a concrete instance of `GetAccountsAccountDatabasePrivilegeInput` via:

GetAccountsAccountDatabasePrivilegeArgs{...}

type GetAccountsAccountDatabasePrivilegeOutput

type GetAccountsAccountDatabasePrivilegeOutput struct{ *pulumi.OutputState }

func (GetAccountsAccountDatabasePrivilegeOutput) AccountPrivilege

Account privilege of database

func (GetAccountsAccountDatabasePrivilegeOutput) DbName

The account owned database name

func (GetAccountsAccountDatabasePrivilegeOutput) ElementType

func (GetAccountsAccountDatabasePrivilegeOutput) ToGetAccountsAccountDatabasePrivilegeOutput

func (o GetAccountsAccountDatabasePrivilegeOutput) ToGetAccountsAccountDatabasePrivilegeOutput() GetAccountsAccountDatabasePrivilegeOutput

func (GetAccountsAccountDatabasePrivilegeOutput) ToGetAccountsAccountDatabasePrivilegeOutputWithContext

func (o GetAccountsAccountDatabasePrivilegeOutput) ToGetAccountsAccountDatabasePrivilegeOutputWithContext(ctx context.Context) GetAccountsAccountDatabasePrivilegeOutput

type GetAccountsAccountInput

type GetAccountsAccountInput interface {
	pulumi.Input

	ToGetAccountsAccountOutput() GetAccountsAccountOutput
	ToGetAccountsAccountOutputWithContext(context.Context) GetAccountsAccountOutput
}

GetAccountsAccountInput is an input type that accepts GetAccountsAccountArgs and GetAccountsAccountOutput values. You can construct a concrete instance of `GetAccountsAccountInput` via:

GetAccountsAccountArgs{...}

type GetAccountsAccountOutput

type GetAccountsAccountOutput struct{ *pulumi.OutputState }

func (GetAccountsAccountOutput) AccountDescription

func (o GetAccountsAccountOutput) AccountDescription() pulumi.StringOutput

Account description.

func (GetAccountsAccountOutput) AccountLockState

func (o GetAccountsAccountOutput) AccountLockState() pulumi.StringOutput

Account lock state, Valid values are `Lock`, `UnLock`.

func (GetAccountsAccountOutput) AccountName

Account name.

func (GetAccountsAccountOutput) AccountStatus

func (o GetAccountsAccountOutput) AccountStatus() pulumi.StringOutput

Cluster address type.`Cluster`: the default address of the Cluster.`Primary`: Primary address.`Custom`: Custom cluster addresses.

func (GetAccountsAccountOutput) AccountType

Account type, Valid values are `Normal`, `Super`.

func (GetAccountsAccountOutput) DatabasePrivileges

A list of database privilege. Each element contains the following attributes.

func (GetAccountsAccountOutput) ElementType

func (GetAccountsAccountOutput) ElementType() reflect.Type

func (GetAccountsAccountOutput) ToGetAccountsAccountOutput

func (o GetAccountsAccountOutput) ToGetAccountsAccountOutput() GetAccountsAccountOutput

func (GetAccountsAccountOutput) ToGetAccountsAccountOutputWithContext

func (o GetAccountsAccountOutput) ToGetAccountsAccountOutputWithContext(ctx context.Context) GetAccountsAccountOutput

type GetAccountsArgs

type GetAccountsArgs struct {
	// The polarDB cluster ID.
	DbClusterId string `pulumi:"dbClusterId"`
	// A regex string to filter results by account name.
	NameRegex *string `pulumi:"nameRegex"`
}

A collection of arguments for invoking getAccounts.

type GetAccountsOutputArgs

type GetAccountsOutputArgs struct {
	// The polarDB cluster ID.
	DbClusterId pulumi.StringInput `pulumi:"dbClusterId"`
	// A regex string to filter results by account name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
}

A collection of arguments for invoking getAccounts.

func (GetAccountsOutputArgs) ElementType

func (GetAccountsOutputArgs) ElementType() reflect.Type

type GetAccountsResult

type GetAccountsResult struct {
	// A list of PolarDB cluster accounts. Each element contains the following attributes:
	Accounts    []GetAccountsAccount `pulumi:"accounts"`
	DbClusterId string               `pulumi:"dbClusterId"`
	// The provider-assigned unique ID for this managed resource.
	Id        string  `pulumi:"id"`
	NameRegex *string `pulumi:"nameRegex"`
	// Account name of the cluster.
	Names []string `pulumi:"names"`
}

A collection of values returned by getAccounts.

func GetAccounts

func GetAccounts(ctx *pulumi.Context, args *GetAccountsArgs, opts ...pulumi.InvokeOption) (*GetAccountsResult, error)

The `polardb.getAccounts` data source provides a collection of PolarDB cluster database account available in Alibaba Cloud account. Filters support regular expression for the account name, searches by clusterId.

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		polardbClustersDs, err := polardb.GetClusters(ctx, &polardb.GetClustersArgs{
			DescriptionRegex: pulumi.StringRef("pc-\\w+"),
			Status:           pulumi.StringRef("Running"),
		}, nil)
		if err != nil {
			return err
		}
		_default, err := polardb.GetAccounts(ctx, &polardb.GetAccountsArgs{
			DbClusterId: polardbClustersDs.Clusters[0].Id,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("account", _default.Accounts[0].AccountName)
		return nil
	})
}

```

type GetAccountsResultOutput

type GetAccountsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAccounts.

func (GetAccountsResultOutput) Accounts

A list of PolarDB cluster accounts. Each element contains the following attributes:

func (GetAccountsResultOutput) DbClusterId

func (GetAccountsResultOutput) ElementType

func (GetAccountsResultOutput) ElementType() reflect.Type

func (GetAccountsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetAccountsResultOutput) NameRegex

func (GetAccountsResultOutput) Names

Account name of the cluster.

func (GetAccountsResultOutput) ToGetAccountsResultOutput

func (o GetAccountsResultOutput) ToGetAccountsResultOutput() GetAccountsResultOutput

func (GetAccountsResultOutput) ToGetAccountsResultOutputWithContext

func (o GetAccountsResultOutput) ToGetAccountsResultOutputWithContext(ctx context.Context) GetAccountsResultOutput

type GetClustersArgs

type GetClustersArgs struct {
	// Database type. Options are `MySQL`, `Oracle` and `PostgreSQL`. If no value is specified, all types are returned.
	DbType *string `pulumi:"dbType"`
	// A regex string to filter results by cluster description.
	DescriptionRegex *string `pulumi:"descriptionRegex"`
	// A list of PolarDB cluster IDs.
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	// status of the cluster.
	Status *string `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 map[string]interface{} `pulumi:"tags"`
}

A collection of arguments for invoking getClusters.

type GetClustersCluster

type GetClustersCluster struct {
	// Billing method. Value options: `PostPaid` for Pay-As-You-Go and `PrePaid` for subscription.
	ChargeType string `pulumi:"chargeType"`
	// The createTime of the db_nodes.
	CreateTime string `pulumi:"createTime"`
	// The dbNodeClass of the db_nodes.
	DbNodeClass string `pulumi:"dbNodeClass"`
	// The DBNodeNumber of the PolarDB cluster.
	DbNodeNumber int `pulumi:"dbNodeNumber"`
	// The DBNodes of the PolarDB cluster.
	DbNodes []GetClustersClusterDbNode `pulumi:"dbNodes"`
	// Database type. Options are `MySQL`, `Oracle` and `PostgreSQL`. If no value is specified, all types are returned.
	DbType string `pulumi:"dbType"`
	// The DBVersion of the PolarDB cluster.
	DbVersion string `pulumi:"dbVersion"`
	// The DeleteLock of the PolarDB cluster.
	DeleteLock int `pulumi:"deleteLock"`
	// The description of the PolarDB cluster.
	Description string `pulumi:"description"`
	// Database type. Options are `MySQL`, `Oracle` and `PostgreSQL`. If no value is specified, all types are returned.
	Engine string `pulumi:"engine"`
	// Expiration time. Pay-As-You-Go clusters never expire.
	ExpireTime string `pulumi:"expireTime"`
	// The expired of the PolarDB cluster.
	Expired string `pulumi:"expired"`
	// The ID of the PolarDB cluster.
	Id string `pulumi:"id"`
	// The LockMode of the PolarDB cluster.
	LockMode string `pulumi:"lockMode"`
	// The DBClusterNetworkType of the PolarDB cluster.
	NetworkType string `pulumi:"networkType"`
	// The regionId of the db_nodes.
	RegionId string `pulumi:"regionId"`
	// status of the cluster.
	Status string `pulumi:"status"`
	// The StorageUsed of the PolarDB cluster.
	StorageUsed int `pulumi:"storageUsed"`
	// ID of the VPC the cluster belongs to.
	VpcId string `pulumi:"vpcId"`
	// The zoneId of the db_nodes.
	ZoneId string `pulumi:"zoneId"`
}

type GetClustersClusterArgs

type GetClustersClusterArgs struct {
	// Billing method. Value options: `PostPaid` for Pay-As-You-Go and `PrePaid` for subscription.
	ChargeType pulumi.StringInput `pulumi:"chargeType"`
	// The createTime of the db_nodes.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The dbNodeClass of the db_nodes.
	DbNodeClass pulumi.StringInput `pulumi:"dbNodeClass"`
	// The DBNodeNumber of the PolarDB cluster.
	DbNodeNumber pulumi.IntInput `pulumi:"dbNodeNumber"`
	// The DBNodes of the PolarDB cluster.
	DbNodes GetClustersClusterDbNodeArrayInput `pulumi:"dbNodes"`
	// Database type. Options are `MySQL`, `Oracle` and `PostgreSQL`. If no value is specified, all types are returned.
	DbType pulumi.StringInput `pulumi:"dbType"`
	// The DBVersion of the PolarDB cluster.
	DbVersion pulumi.StringInput `pulumi:"dbVersion"`
	// The DeleteLock of the PolarDB cluster.
	DeleteLock pulumi.IntInput `pulumi:"deleteLock"`
	// The description of the PolarDB cluster.
	Description pulumi.StringInput `pulumi:"description"`
	// Database type. Options are `MySQL`, `Oracle` and `PostgreSQL`. If no value is specified, all types are returned.
	Engine pulumi.StringInput `pulumi:"engine"`
	// Expiration time. Pay-As-You-Go clusters never expire.
	ExpireTime pulumi.StringInput `pulumi:"expireTime"`
	// The expired of the PolarDB cluster.
	Expired pulumi.StringInput `pulumi:"expired"`
	// The ID of the PolarDB cluster.
	Id pulumi.StringInput `pulumi:"id"`
	// The LockMode of the PolarDB cluster.
	LockMode pulumi.StringInput `pulumi:"lockMode"`
	// The DBClusterNetworkType of the PolarDB cluster.
	NetworkType pulumi.StringInput `pulumi:"networkType"`
	// The regionId of the db_nodes.
	RegionId pulumi.StringInput `pulumi:"regionId"`
	// status of the cluster.
	Status pulumi.StringInput `pulumi:"status"`
	// The StorageUsed of the PolarDB cluster.
	StorageUsed pulumi.IntInput `pulumi:"storageUsed"`
	// ID of the VPC the cluster belongs to.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
	// The zoneId of the db_nodes.
	ZoneId pulumi.StringInput `pulumi:"zoneId"`
}

func (GetClustersClusterArgs) ElementType

func (GetClustersClusterArgs) ElementType() reflect.Type

func (GetClustersClusterArgs) ToGetClustersClusterOutput

func (i GetClustersClusterArgs) ToGetClustersClusterOutput() GetClustersClusterOutput

func (GetClustersClusterArgs) ToGetClustersClusterOutputWithContext

func (i GetClustersClusterArgs) ToGetClustersClusterOutputWithContext(ctx context.Context) GetClustersClusterOutput

type GetClustersClusterArray

type GetClustersClusterArray []GetClustersClusterInput

func (GetClustersClusterArray) ElementType

func (GetClustersClusterArray) ElementType() reflect.Type

func (GetClustersClusterArray) ToGetClustersClusterArrayOutput

func (i GetClustersClusterArray) ToGetClustersClusterArrayOutput() GetClustersClusterArrayOutput

func (GetClustersClusterArray) ToGetClustersClusterArrayOutputWithContext

func (i GetClustersClusterArray) ToGetClustersClusterArrayOutputWithContext(ctx context.Context) GetClustersClusterArrayOutput

type GetClustersClusterArrayInput

type GetClustersClusterArrayInput interface {
	pulumi.Input

	ToGetClustersClusterArrayOutput() GetClustersClusterArrayOutput
	ToGetClustersClusterArrayOutputWithContext(context.Context) GetClustersClusterArrayOutput
}

GetClustersClusterArrayInput is an input type that accepts GetClustersClusterArray and GetClustersClusterArrayOutput values. You can construct a concrete instance of `GetClustersClusterArrayInput` via:

GetClustersClusterArray{ GetClustersClusterArgs{...} }

type GetClustersClusterArrayOutput

type GetClustersClusterArrayOutput struct{ *pulumi.OutputState }

func (GetClustersClusterArrayOutput) ElementType

func (GetClustersClusterArrayOutput) Index

func (GetClustersClusterArrayOutput) ToGetClustersClusterArrayOutput

func (o GetClustersClusterArrayOutput) ToGetClustersClusterArrayOutput() GetClustersClusterArrayOutput

func (GetClustersClusterArrayOutput) ToGetClustersClusterArrayOutputWithContext

func (o GetClustersClusterArrayOutput) ToGetClustersClusterArrayOutputWithContext(ctx context.Context) GetClustersClusterArrayOutput

type GetClustersClusterDbNode

type GetClustersClusterDbNode struct {
	// The createTime of the db_nodes.
	CreateTime string `pulumi:"createTime"`
	// The dbNodeClass of the db_nodes.
	DbNodeClass string `pulumi:"dbNodeClass"`
	// The dbNodeId of the db_nodes.
	DbNodeId string `pulumi:"dbNodeId"`
	// The dbNodeRole of the db_nodes.
	DbNodeRole string `pulumi:"dbNodeRole"`
	// The dbNodeStatus of the db_nodes.
	DbNodeStatus string `pulumi:"dbNodeStatus"`
	// The maxConnections of the db_nodes.
	MaxConnections int `pulumi:"maxConnections"`
	// The maxIops of the db_nodes.
	MaxIops int `pulumi:"maxIops"`
	// The regionId of the db_nodes.
	RegionId string `pulumi:"regionId"`
	// The zoneId of the db_nodes.
	ZoneId string `pulumi:"zoneId"`
}

type GetClustersClusterDbNodeArgs

type GetClustersClusterDbNodeArgs struct {
	// The createTime of the db_nodes.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The dbNodeClass of the db_nodes.
	DbNodeClass pulumi.StringInput `pulumi:"dbNodeClass"`
	// The dbNodeId of the db_nodes.
	DbNodeId pulumi.StringInput `pulumi:"dbNodeId"`
	// The dbNodeRole of the db_nodes.
	DbNodeRole pulumi.StringInput `pulumi:"dbNodeRole"`
	// The dbNodeStatus of the db_nodes.
	DbNodeStatus pulumi.StringInput `pulumi:"dbNodeStatus"`
	// The maxConnections of the db_nodes.
	MaxConnections pulumi.IntInput `pulumi:"maxConnections"`
	// The maxIops of the db_nodes.
	MaxIops pulumi.IntInput `pulumi:"maxIops"`
	// The regionId of the db_nodes.
	RegionId pulumi.StringInput `pulumi:"regionId"`
	// The zoneId of the db_nodes.
	ZoneId pulumi.StringInput `pulumi:"zoneId"`
}

func (GetClustersClusterDbNodeArgs) ElementType

func (GetClustersClusterDbNodeArgs) ToGetClustersClusterDbNodeOutput

func (i GetClustersClusterDbNodeArgs) ToGetClustersClusterDbNodeOutput() GetClustersClusterDbNodeOutput

func (GetClustersClusterDbNodeArgs) ToGetClustersClusterDbNodeOutputWithContext

func (i GetClustersClusterDbNodeArgs) ToGetClustersClusterDbNodeOutputWithContext(ctx context.Context) GetClustersClusterDbNodeOutput

type GetClustersClusterDbNodeArray

type GetClustersClusterDbNodeArray []GetClustersClusterDbNodeInput

func (GetClustersClusterDbNodeArray) ElementType

func (GetClustersClusterDbNodeArray) ToGetClustersClusterDbNodeArrayOutput

func (i GetClustersClusterDbNodeArray) ToGetClustersClusterDbNodeArrayOutput() GetClustersClusterDbNodeArrayOutput

func (GetClustersClusterDbNodeArray) ToGetClustersClusterDbNodeArrayOutputWithContext

func (i GetClustersClusterDbNodeArray) ToGetClustersClusterDbNodeArrayOutputWithContext(ctx context.Context) GetClustersClusterDbNodeArrayOutput

type GetClustersClusterDbNodeArrayInput

type GetClustersClusterDbNodeArrayInput interface {
	pulumi.Input

	ToGetClustersClusterDbNodeArrayOutput() GetClustersClusterDbNodeArrayOutput
	ToGetClustersClusterDbNodeArrayOutputWithContext(context.Context) GetClustersClusterDbNodeArrayOutput
}

GetClustersClusterDbNodeArrayInput is an input type that accepts GetClustersClusterDbNodeArray and GetClustersClusterDbNodeArrayOutput values. You can construct a concrete instance of `GetClustersClusterDbNodeArrayInput` via:

GetClustersClusterDbNodeArray{ GetClustersClusterDbNodeArgs{...} }

type GetClustersClusterDbNodeArrayOutput

type GetClustersClusterDbNodeArrayOutput struct{ *pulumi.OutputState }

func (GetClustersClusterDbNodeArrayOutput) ElementType

func (GetClustersClusterDbNodeArrayOutput) Index

func (GetClustersClusterDbNodeArrayOutput) ToGetClustersClusterDbNodeArrayOutput

func (o GetClustersClusterDbNodeArrayOutput) ToGetClustersClusterDbNodeArrayOutput() GetClustersClusterDbNodeArrayOutput

func (GetClustersClusterDbNodeArrayOutput) ToGetClustersClusterDbNodeArrayOutputWithContext

func (o GetClustersClusterDbNodeArrayOutput) ToGetClustersClusterDbNodeArrayOutputWithContext(ctx context.Context) GetClustersClusterDbNodeArrayOutput

type GetClustersClusterDbNodeInput

type GetClustersClusterDbNodeInput interface {
	pulumi.Input

	ToGetClustersClusterDbNodeOutput() GetClustersClusterDbNodeOutput
	ToGetClustersClusterDbNodeOutputWithContext(context.Context) GetClustersClusterDbNodeOutput
}

GetClustersClusterDbNodeInput is an input type that accepts GetClustersClusterDbNodeArgs and GetClustersClusterDbNodeOutput values. You can construct a concrete instance of `GetClustersClusterDbNodeInput` via:

GetClustersClusterDbNodeArgs{...}

type GetClustersClusterDbNodeOutput

type GetClustersClusterDbNodeOutput struct{ *pulumi.OutputState }

func (GetClustersClusterDbNodeOutput) CreateTime

The createTime of the db_nodes.

func (GetClustersClusterDbNodeOutput) DbNodeClass

The dbNodeClass of the db_nodes.

func (GetClustersClusterDbNodeOutput) DbNodeId

The dbNodeId of the db_nodes.

func (GetClustersClusterDbNodeOutput) DbNodeRole

The dbNodeRole of the db_nodes.

func (GetClustersClusterDbNodeOutput) DbNodeStatus

The dbNodeStatus of the db_nodes.

func (GetClustersClusterDbNodeOutput) ElementType

func (GetClustersClusterDbNodeOutput) MaxConnections

func (o GetClustersClusterDbNodeOutput) MaxConnections() pulumi.IntOutput

The maxConnections of the db_nodes.

func (GetClustersClusterDbNodeOutput) MaxIops

The maxIops of the db_nodes.

func (GetClustersClusterDbNodeOutput) RegionId

The regionId of the db_nodes.

func (GetClustersClusterDbNodeOutput) ToGetClustersClusterDbNodeOutput

func (o GetClustersClusterDbNodeOutput) ToGetClustersClusterDbNodeOutput() GetClustersClusterDbNodeOutput

func (GetClustersClusterDbNodeOutput) ToGetClustersClusterDbNodeOutputWithContext

func (o GetClustersClusterDbNodeOutput) ToGetClustersClusterDbNodeOutputWithContext(ctx context.Context) GetClustersClusterDbNodeOutput

func (GetClustersClusterDbNodeOutput) ZoneId

The zoneId of the db_nodes.

type GetClustersClusterInput

type GetClustersClusterInput interface {
	pulumi.Input

	ToGetClustersClusterOutput() GetClustersClusterOutput
	ToGetClustersClusterOutputWithContext(context.Context) GetClustersClusterOutput
}

GetClustersClusterInput is an input type that accepts GetClustersClusterArgs and GetClustersClusterOutput values. You can construct a concrete instance of `GetClustersClusterInput` via:

GetClustersClusterArgs{...}

type GetClustersClusterOutput

type GetClustersClusterOutput struct{ *pulumi.OutputState }

func (GetClustersClusterOutput) ChargeType

Billing method. Value options: `PostPaid` for Pay-As-You-Go and `PrePaid` for subscription.

func (GetClustersClusterOutput) CreateTime

The createTime of the db_nodes.

func (GetClustersClusterOutput) DbNodeClass

The dbNodeClass of the db_nodes.

func (GetClustersClusterOutput) DbNodeNumber

func (o GetClustersClusterOutput) DbNodeNumber() pulumi.IntOutput

The DBNodeNumber of the PolarDB cluster.

func (GetClustersClusterOutput) DbNodes

The DBNodes of the PolarDB cluster.

func (GetClustersClusterOutput) DbType

Database type. Options are `MySQL`, `Oracle` and `PostgreSQL`. If no value is specified, all types are returned.

func (GetClustersClusterOutput) DbVersion

The DBVersion of the PolarDB cluster.

func (GetClustersClusterOutput) DeleteLock

func (o GetClustersClusterOutput) DeleteLock() pulumi.IntOutput

The DeleteLock of the PolarDB cluster.

func (GetClustersClusterOutput) Description

The description of the PolarDB cluster.

func (GetClustersClusterOutput) ElementType

func (GetClustersClusterOutput) ElementType() reflect.Type

func (GetClustersClusterOutput) Engine

Database type. Options are `MySQL`, `Oracle` and `PostgreSQL`. If no value is specified, all types are returned.

func (GetClustersClusterOutput) ExpireTime

Expiration time. Pay-As-You-Go clusters never expire.

func (GetClustersClusterOutput) Expired

The expired of the PolarDB cluster.

func (GetClustersClusterOutput) Id

The ID of the PolarDB cluster.

func (GetClustersClusterOutput) LockMode

The LockMode of the PolarDB cluster.

func (GetClustersClusterOutput) NetworkType

The DBClusterNetworkType of the PolarDB cluster.

func (GetClustersClusterOutput) RegionId

The regionId of the db_nodes.

func (GetClustersClusterOutput) Status

status of the cluster.

func (GetClustersClusterOutput) StorageUsed

func (o GetClustersClusterOutput) StorageUsed() pulumi.IntOutput

The StorageUsed of the PolarDB cluster.

func (GetClustersClusterOutput) ToGetClustersClusterOutput

func (o GetClustersClusterOutput) ToGetClustersClusterOutput() GetClustersClusterOutput

func (GetClustersClusterOutput) ToGetClustersClusterOutputWithContext

func (o GetClustersClusterOutput) ToGetClustersClusterOutputWithContext(ctx context.Context) GetClustersClusterOutput

func (GetClustersClusterOutput) VpcId

ID of the VPC the cluster belongs to.

func (GetClustersClusterOutput) ZoneId

The zoneId of the db_nodes.

type GetClustersOutputArgs

type GetClustersOutputArgs struct {
	// Database type. Options are `MySQL`, `Oracle` and `PostgreSQL`. If no value is specified, all types are returned.
	DbType pulumi.StringPtrInput `pulumi:"dbType"`
	// A regex string to filter results by cluster description.
	DescriptionRegex pulumi.StringPtrInput `pulumi:"descriptionRegex"`
	// A list of PolarDB cluster IDs.
	Ids        pulumi.StringArrayInput `pulumi:"ids"`
	OutputFile pulumi.StringPtrInput   `pulumi:"outputFile"`
	// status of the cluster.
	Status pulumi.StringPtrInput `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.MapInput `pulumi:"tags"`
}

A collection of arguments for invoking getClusters.

func (GetClustersOutputArgs) ElementType

func (GetClustersOutputArgs) ElementType() reflect.Type

type GetClustersResult

type GetClustersResult struct {
	// A list of PolarDB clusters. Each element contains the following attributes:
	Clusters []GetClustersCluster `pulumi:"clusters"`
	// `Primary` for primary cluster, `ReadOnly` for read-only cluster, `Guard` for disaster recovery cluster, and `Temp` for temporary cluster.
	DbType           *string `pulumi:"dbType"`
	DescriptionRegex *string `pulumi:"descriptionRegex"`
	// A list of RDS cluster descriptions.
	Descriptions []string `pulumi:"descriptions"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of RDS cluster IDs.
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	// Status of the cluster.
	Status *string                `pulumi:"status"`
	Tags   map[string]interface{} `pulumi:"tags"`
}

A collection of values returned by getClusters.

func GetClusters

func GetClusters(ctx *pulumi.Context, args *GetClustersArgs, opts ...pulumi.InvokeOption) (*GetClustersResult, error)

The `polardb.getClusters` data source provides a collection of PolarDB clusters available in Alibaba Cloud account. Filters support regular expression for the cluster description, searches by tags, and other filters which are listed below.

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		polardbClustersDs, err := polardb.GetClusters(ctx, &polardb.GetClustersArgs{
			DescriptionRegex: pulumi.StringRef("pc-\\w+"),
			Status:           pulumi.StringRef("Running"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstPolardbClusterId", polardbClustersDs.Clusters[0].Id)
		return nil
	})
}

```

type GetClustersResultOutput

type GetClustersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getClusters.

func (GetClustersResultOutput) Clusters

A list of PolarDB clusters. Each element contains the following attributes:

func (GetClustersResultOutput) DbType

`Primary` for primary cluster, `ReadOnly` for read-only cluster, `Guard` for disaster recovery cluster, and `Temp` for temporary cluster.

func (GetClustersResultOutput) DescriptionRegex

func (o GetClustersResultOutput) DescriptionRegex() pulumi.StringPtrOutput

func (GetClustersResultOutput) Descriptions

A list of RDS cluster descriptions.

func (GetClustersResultOutput) ElementType

func (GetClustersResultOutput) ElementType() reflect.Type

func (GetClustersResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetClustersResultOutput) Ids

A list of RDS cluster IDs.

func (GetClustersResultOutput) OutputFile

func (GetClustersResultOutput) Status

Status of the cluster.

func (GetClustersResultOutput) Tags

func (GetClustersResultOutput) ToGetClustersResultOutput

func (o GetClustersResultOutput) ToGetClustersResultOutput() GetClustersResultOutput

func (GetClustersResultOutput) ToGetClustersResultOutputWithContext

func (o GetClustersResultOutput) ToGetClustersResultOutputWithContext(ctx context.Context) GetClustersResultOutput

type GetDatabasesArgs

type GetDatabasesArgs struct {
	// The polarDB cluster ID.
	DbClusterId string `pulumi:"dbClusterId"`
	// A regex string to filter results by database name.
	NameRegex *string `pulumi:"nameRegex"`
}

A collection of arguments for invoking getDatabases.

type GetDatabasesDatabase

type GetDatabasesDatabase struct {
	// A list of accounts of database. Each element contains the following attributes.
	Accounts []GetDatabasesDatabaseAccount `pulumi:"accounts"`
	// The character set name of database.
	CharacterSetName string `pulumi:"characterSetName"`
	// Database description.
	DbDescription string `pulumi:"dbDescription"`
	// Database name.
	DbName string `pulumi:"dbName"`
	// The status of database.
	DbStatus string `pulumi:"dbStatus"`
	// The engine of database.
	Engine string `pulumi:"engine"`
}

type GetDatabasesDatabaseAccount

type GetDatabasesDatabaseAccount struct {
	// Account name.
	AccountName string `pulumi:"accountName"`
	// Account status.
	AccountStatus string `pulumi:"accountStatus"`
	// The privilege status of account.
	PrivilegeStatus string `pulumi:"privilegeStatus"`
}

type GetDatabasesDatabaseAccountArgs

type GetDatabasesDatabaseAccountArgs struct {
	// Account name.
	AccountName pulumi.StringInput `pulumi:"accountName"`
	// Account status.
	AccountStatus pulumi.StringInput `pulumi:"accountStatus"`
	// The privilege status of account.
	PrivilegeStatus pulumi.StringInput `pulumi:"privilegeStatus"`
}

func (GetDatabasesDatabaseAccountArgs) ElementType

func (GetDatabasesDatabaseAccountArgs) ToGetDatabasesDatabaseAccountOutput

func (i GetDatabasesDatabaseAccountArgs) ToGetDatabasesDatabaseAccountOutput() GetDatabasesDatabaseAccountOutput

func (GetDatabasesDatabaseAccountArgs) ToGetDatabasesDatabaseAccountOutputWithContext

func (i GetDatabasesDatabaseAccountArgs) ToGetDatabasesDatabaseAccountOutputWithContext(ctx context.Context) GetDatabasesDatabaseAccountOutput

type GetDatabasesDatabaseAccountArray

type GetDatabasesDatabaseAccountArray []GetDatabasesDatabaseAccountInput

func (GetDatabasesDatabaseAccountArray) ElementType

func (GetDatabasesDatabaseAccountArray) ToGetDatabasesDatabaseAccountArrayOutput

func (i GetDatabasesDatabaseAccountArray) ToGetDatabasesDatabaseAccountArrayOutput() GetDatabasesDatabaseAccountArrayOutput

func (GetDatabasesDatabaseAccountArray) ToGetDatabasesDatabaseAccountArrayOutputWithContext

func (i GetDatabasesDatabaseAccountArray) ToGetDatabasesDatabaseAccountArrayOutputWithContext(ctx context.Context) GetDatabasesDatabaseAccountArrayOutput

type GetDatabasesDatabaseAccountArrayInput

type GetDatabasesDatabaseAccountArrayInput interface {
	pulumi.Input

	ToGetDatabasesDatabaseAccountArrayOutput() GetDatabasesDatabaseAccountArrayOutput
	ToGetDatabasesDatabaseAccountArrayOutputWithContext(context.Context) GetDatabasesDatabaseAccountArrayOutput
}

GetDatabasesDatabaseAccountArrayInput is an input type that accepts GetDatabasesDatabaseAccountArray and GetDatabasesDatabaseAccountArrayOutput values. You can construct a concrete instance of `GetDatabasesDatabaseAccountArrayInput` via:

GetDatabasesDatabaseAccountArray{ GetDatabasesDatabaseAccountArgs{...} }

type GetDatabasesDatabaseAccountArrayOutput

type GetDatabasesDatabaseAccountArrayOutput struct{ *pulumi.OutputState }

func (GetDatabasesDatabaseAccountArrayOutput) ElementType

func (GetDatabasesDatabaseAccountArrayOutput) Index

func (GetDatabasesDatabaseAccountArrayOutput) ToGetDatabasesDatabaseAccountArrayOutput

func (o GetDatabasesDatabaseAccountArrayOutput) ToGetDatabasesDatabaseAccountArrayOutput() GetDatabasesDatabaseAccountArrayOutput

func (GetDatabasesDatabaseAccountArrayOutput) ToGetDatabasesDatabaseAccountArrayOutputWithContext

func (o GetDatabasesDatabaseAccountArrayOutput) ToGetDatabasesDatabaseAccountArrayOutputWithContext(ctx context.Context) GetDatabasesDatabaseAccountArrayOutput

type GetDatabasesDatabaseAccountInput

type GetDatabasesDatabaseAccountInput interface {
	pulumi.Input

	ToGetDatabasesDatabaseAccountOutput() GetDatabasesDatabaseAccountOutput
	ToGetDatabasesDatabaseAccountOutputWithContext(context.Context) GetDatabasesDatabaseAccountOutput
}

GetDatabasesDatabaseAccountInput is an input type that accepts GetDatabasesDatabaseAccountArgs and GetDatabasesDatabaseAccountOutput values. You can construct a concrete instance of `GetDatabasesDatabaseAccountInput` via:

GetDatabasesDatabaseAccountArgs{...}

type GetDatabasesDatabaseAccountOutput

type GetDatabasesDatabaseAccountOutput struct{ *pulumi.OutputState }

func (GetDatabasesDatabaseAccountOutput) AccountName

Account name.

func (GetDatabasesDatabaseAccountOutput) AccountStatus

Account status.

func (GetDatabasesDatabaseAccountOutput) ElementType

func (GetDatabasesDatabaseAccountOutput) PrivilegeStatus

The privilege status of account.

func (GetDatabasesDatabaseAccountOutput) ToGetDatabasesDatabaseAccountOutput

func (o GetDatabasesDatabaseAccountOutput) ToGetDatabasesDatabaseAccountOutput() GetDatabasesDatabaseAccountOutput

func (GetDatabasesDatabaseAccountOutput) ToGetDatabasesDatabaseAccountOutputWithContext

func (o GetDatabasesDatabaseAccountOutput) ToGetDatabasesDatabaseAccountOutputWithContext(ctx context.Context) GetDatabasesDatabaseAccountOutput

type GetDatabasesDatabaseArgs

type GetDatabasesDatabaseArgs struct {
	// A list of accounts of database. Each element contains the following attributes.
	Accounts GetDatabasesDatabaseAccountArrayInput `pulumi:"accounts"`
	// The character set name of database.
	CharacterSetName pulumi.StringInput `pulumi:"characterSetName"`
	// Database description.
	DbDescription pulumi.StringInput `pulumi:"dbDescription"`
	// Database name.
	DbName pulumi.StringInput `pulumi:"dbName"`
	// The status of database.
	DbStatus pulumi.StringInput `pulumi:"dbStatus"`
	// The engine of database.
	Engine pulumi.StringInput `pulumi:"engine"`
}

func (GetDatabasesDatabaseArgs) ElementType

func (GetDatabasesDatabaseArgs) ElementType() reflect.Type

func (GetDatabasesDatabaseArgs) ToGetDatabasesDatabaseOutput

func (i GetDatabasesDatabaseArgs) ToGetDatabasesDatabaseOutput() GetDatabasesDatabaseOutput

func (GetDatabasesDatabaseArgs) ToGetDatabasesDatabaseOutputWithContext

func (i GetDatabasesDatabaseArgs) ToGetDatabasesDatabaseOutputWithContext(ctx context.Context) GetDatabasesDatabaseOutput

type GetDatabasesDatabaseArray

type GetDatabasesDatabaseArray []GetDatabasesDatabaseInput

func (GetDatabasesDatabaseArray) ElementType

func (GetDatabasesDatabaseArray) ElementType() reflect.Type

func (GetDatabasesDatabaseArray) ToGetDatabasesDatabaseArrayOutput

func (i GetDatabasesDatabaseArray) ToGetDatabasesDatabaseArrayOutput() GetDatabasesDatabaseArrayOutput

func (GetDatabasesDatabaseArray) ToGetDatabasesDatabaseArrayOutputWithContext

func (i GetDatabasesDatabaseArray) ToGetDatabasesDatabaseArrayOutputWithContext(ctx context.Context) GetDatabasesDatabaseArrayOutput

type GetDatabasesDatabaseArrayInput

type GetDatabasesDatabaseArrayInput interface {
	pulumi.Input

	ToGetDatabasesDatabaseArrayOutput() GetDatabasesDatabaseArrayOutput
	ToGetDatabasesDatabaseArrayOutputWithContext(context.Context) GetDatabasesDatabaseArrayOutput
}

GetDatabasesDatabaseArrayInput is an input type that accepts GetDatabasesDatabaseArray and GetDatabasesDatabaseArrayOutput values. You can construct a concrete instance of `GetDatabasesDatabaseArrayInput` via:

GetDatabasesDatabaseArray{ GetDatabasesDatabaseArgs{...} }

type GetDatabasesDatabaseArrayOutput

type GetDatabasesDatabaseArrayOutput struct{ *pulumi.OutputState }

func (GetDatabasesDatabaseArrayOutput) ElementType

func (GetDatabasesDatabaseArrayOutput) Index

func (GetDatabasesDatabaseArrayOutput) ToGetDatabasesDatabaseArrayOutput

func (o GetDatabasesDatabaseArrayOutput) ToGetDatabasesDatabaseArrayOutput() GetDatabasesDatabaseArrayOutput

func (GetDatabasesDatabaseArrayOutput) ToGetDatabasesDatabaseArrayOutputWithContext

func (o GetDatabasesDatabaseArrayOutput) ToGetDatabasesDatabaseArrayOutputWithContext(ctx context.Context) GetDatabasesDatabaseArrayOutput

type GetDatabasesDatabaseInput

type GetDatabasesDatabaseInput interface {
	pulumi.Input

	ToGetDatabasesDatabaseOutput() GetDatabasesDatabaseOutput
	ToGetDatabasesDatabaseOutputWithContext(context.Context) GetDatabasesDatabaseOutput
}

GetDatabasesDatabaseInput is an input type that accepts GetDatabasesDatabaseArgs and GetDatabasesDatabaseOutput values. You can construct a concrete instance of `GetDatabasesDatabaseInput` via:

GetDatabasesDatabaseArgs{...}

type GetDatabasesDatabaseOutput

type GetDatabasesDatabaseOutput struct{ *pulumi.OutputState }

func (GetDatabasesDatabaseOutput) Accounts

A list of accounts of database. Each element contains the following attributes.

func (GetDatabasesDatabaseOutput) CharacterSetName

func (o GetDatabasesDatabaseOutput) CharacterSetName() pulumi.StringOutput

The character set name of database.

func (GetDatabasesDatabaseOutput) DbDescription

Database description.

func (GetDatabasesDatabaseOutput) DbName

Database name.

func (GetDatabasesDatabaseOutput) DbStatus

The status of database.

func (GetDatabasesDatabaseOutput) ElementType

func (GetDatabasesDatabaseOutput) ElementType() reflect.Type

func (GetDatabasesDatabaseOutput) Engine

The engine of database.

func (GetDatabasesDatabaseOutput) ToGetDatabasesDatabaseOutput

func (o GetDatabasesDatabaseOutput) ToGetDatabasesDatabaseOutput() GetDatabasesDatabaseOutput

func (GetDatabasesDatabaseOutput) ToGetDatabasesDatabaseOutputWithContext

func (o GetDatabasesDatabaseOutput) ToGetDatabasesDatabaseOutputWithContext(ctx context.Context) GetDatabasesDatabaseOutput

type GetDatabasesOutputArgs

type GetDatabasesOutputArgs struct {
	// The polarDB cluster ID.
	DbClusterId pulumi.StringInput `pulumi:"dbClusterId"`
	// A regex string to filter results by database name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
}

A collection of arguments for invoking getDatabases.

func (GetDatabasesOutputArgs) ElementType

func (GetDatabasesOutputArgs) ElementType() reflect.Type

type GetDatabasesResult

type GetDatabasesResult struct {
	// A list of PolarDB cluster databases. Each element contains the following attributes:
	Databases   []GetDatabasesDatabase `pulumi:"databases"`
	DbClusterId string                 `pulumi:"dbClusterId"`
	// The provider-assigned unique ID for this managed resource.
	Id        string  `pulumi:"id"`
	NameRegex *string `pulumi:"nameRegex"`
	// database name of the cluster.
	Names []string `pulumi:"names"`
}

A collection of values returned by getDatabases.

func GetDatabases

func GetDatabases(ctx *pulumi.Context, args *GetDatabasesArgs, opts ...pulumi.InvokeOption) (*GetDatabasesResult, error)

The `polardb.getDatabases` data source provides a collection of PolarDB cluster database available in Alibaba Cloud account. Filters support regular expression for the database name, searches by clusterId.

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		polardbClustersDs, err := polardb.GetClusters(ctx, &polardb.GetClustersArgs{
			DescriptionRegex: pulumi.StringRef("pc-\\w+"),
			Status:           pulumi.StringRef("Running"),
		}, nil)
		if err != nil {
			return err
		}
		_default, err := polardb.GetDatabases(ctx, &polardb.GetDatabasesArgs{
			DbClusterId: polardbClustersDs.Clusters[0].Id,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("database", _default.Databases[0].DbName)
		return nil
	})
}

```

type GetDatabasesResultOutput

type GetDatabasesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDatabases.

func (GetDatabasesResultOutput) Databases

A list of PolarDB cluster databases. Each element contains the following attributes:

func (GetDatabasesResultOutput) DbClusterId

func (GetDatabasesResultOutput) ElementType

func (GetDatabasesResultOutput) ElementType() reflect.Type

func (GetDatabasesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetDatabasesResultOutput) NameRegex

func (GetDatabasesResultOutput) Names

database name of the cluster.

func (GetDatabasesResultOutput) ToGetDatabasesResultOutput

func (o GetDatabasesResultOutput) ToGetDatabasesResultOutput() GetDatabasesResultOutput

func (GetDatabasesResultOutput) ToGetDatabasesResultOutputWithContext

func (o GetDatabasesResultOutput) ToGetDatabasesResultOutputWithContext(ctx context.Context) GetDatabasesResultOutput

type GetEndpointsArgs

type GetEndpointsArgs struct {
	// PolarDB cluster ID.
	DbClusterId string `pulumi:"dbClusterId"`
	// endpoint of the cluster.
	DbEndpointId *string `pulumi:"dbEndpointId"`
}

A collection of arguments for invoking getEndpoints.

type GetEndpointsEndpoint

type GetEndpointsEndpoint struct {
	// A list of endpoint addresses. Each element contains the following attributes.
	AddressItems []GetEndpointsEndpointAddressItem `pulumi:"addressItems"`
	// Whether the new node is automatically added to the default cluster address.Options are `Enable` and `Disable`.
	AutoAddNewNodes string `pulumi:"autoAddNewNodes"`
	// endpoint of the cluster.
	DbEndpointId string `pulumi:"dbEndpointId"`
	// The Endpoint configuration. `ConsistLevel`: session consistency level, value:`0`: final consistency,`1`: session consistency;`LoadBalanceStrategy`: load balancing strategy. Based on the automatic scheduling of load, the value is: `load`.
	EndpointConfig string `pulumi:"endpointConfig"`
	// Cluster address type.`Cluster`: the default address of the Cluster.`Primary`: Primary address.`Custom`: Custom cluster addresses.
	EndpointType string `pulumi:"endpointType"`
	// A list of nodes that connect to the address configuration.
	Nodes string `pulumi:"nodes"`
	// Read-write mode:`ReadWrite`: readable and writable (automatic read-write separation).`ReadOnly`: ReadOnly.
	ReadWriteMode string `pulumi:"readWriteMode"`
}

type GetEndpointsEndpointAddressItem

type GetEndpointsEndpointAddressItem struct {
	// Connection instance string.
	ConnectionString string `pulumi:"connectionString"`
	// The ip address of connection string.
	IpAddress string `pulumi:"ipAddress"`
	// IP network type:`Public` or `Private`.
	NetType string `pulumi:"netType"`
	// Intranet connection port.
	Port string `pulumi:"port"`
	// ID of the VPC the instance belongs to.
	VpcId string `pulumi:"vpcId"`
	// ID of the VSwitch the cluster belongs to.
	VswitchId string `pulumi:"vswitchId"`
}

type GetEndpointsEndpointAddressItemArgs

type GetEndpointsEndpointAddressItemArgs struct {
	// Connection instance string.
	ConnectionString pulumi.StringInput `pulumi:"connectionString"`
	// The ip address of connection string.
	IpAddress pulumi.StringInput `pulumi:"ipAddress"`
	// IP network type:`Public` or `Private`.
	NetType pulumi.StringInput `pulumi:"netType"`
	// Intranet connection port.
	Port pulumi.StringInput `pulumi:"port"`
	// ID of the VPC the instance belongs to.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
	// ID of the VSwitch the cluster belongs to.
	VswitchId pulumi.StringInput `pulumi:"vswitchId"`
}

func (GetEndpointsEndpointAddressItemArgs) ElementType

func (GetEndpointsEndpointAddressItemArgs) ToGetEndpointsEndpointAddressItemOutput

func (i GetEndpointsEndpointAddressItemArgs) ToGetEndpointsEndpointAddressItemOutput() GetEndpointsEndpointAddressItemOutput

func (GetEndpointsEndpointAddressItemArgs) ToGetEndpointsEndpointAddressItemOutputWithContext

func (i GetEndpointsEndpointAddressItemArgs) ToGetEndpointsEndpointAddressItemOutputWithContext(ctx context.Context) GetEndpointsEndpointAddressItemOutput

type GetEndpointsEndpointAddressItemArray

type GetEndpointsEndpointAddressItemArray []GetEndpointsEndpointAddressItemInput

func (GetEndpointsEndpointAddressItemArray) ElementType

func (GetEndpointsEndpointAddressItemArray) ToGetEndpointsEndpointAddressItemArrayOutput

func (i GetEndpointsEndpointAddressItemArray) ToGetEndpointsEndpointAddressItemArrayOutput() GetEndpointsEndpointAddressItemArrayOutput

func (GetEndpointsEndpointAddressItemArray) ToGetEndpointsEndpointAddressItemArrayOutputWithContext

func (i GetEndpointsEndpointAddressItemArray) ToGetEndpointsEndpointAddressItemArrayOutputWithContext(ctx context.Context) GetEndpointsEndpointAddressItemArrayOutput

type GetEndpointsEndpointAddressItemArrayInput

type GetEndpointsEndpointAddressItemArrayInput interface {
	pulumi.Input

	ToGetEndpointsEndpointAddressItemArrayOutput() GetEndpointsEndpointAddressItemArrayOutput
	ToGetEndpointsEndpointAddressItemArrayOutputWithContext(context.Context) GetEndpointsEndpointAddressItemArrayOutput
}

GetEndpointsEndpointAddressItemArrayInput is an input type that accepts GetEndpointsEndpointAddressItemArray and GetEndpointsEndpointAddressItemArrayOutput values. You can construct a concrete instance of `GetEndpointsEndpointAddressItemArrayInput` via:

GetEndpointsEndpointAddressItemArray{ GetEndpointsEndpointAddressItemArgs{...} }

type GetEndpointsEndpointAddressItemArrayOutput

type GetEndpointsEndpointAddressItemArrayOutput struct{ *pulumi.OutputState }

func (GetEndpointsEndpointAddressItemArrayOutput) ElementType

func (GetEndpointsEndpointAddressItemArrayOutput) Index

func (GetEndpointsEndpointAddressItemArrayOutput) ToGetEndpointsEndpointAddressItemArrayOutput

func (o GetEndpointsEndpointAddressItemArrayOutput) ToGetEndpointsEndpointAddressItemArrayOutput() GetEndpointsEndpointAddressItemArrayOutput

func (GetEndpointsEndpointAddressItemArrayOutput) ToGetEndpointsEndpointAddressItemArrayOutputWithContext

func (o GetEndpointsEndpointAddressItemArrayOutput) ToGetEndpointsEndpointAddressItemArrayOutputWithContext(ctx context.Context) GetEndpointsEndpointAddressItemArrayOutput

type GetEndpointsEndpointAddressItemInput

type GetEndpointsEndpointAddressItemInput interface {
	pulumi.Input

	ToGetEndpointsEndpointAddressItemOutput() GetEndpointsEndpointAddressItemOutput
	ToGetEndpointsEndpointAddressItemOutputWithContext(context.Context) GetEndpointsEndpointAddressItemOutput
}

GetEndpointsEndpointAddressItemInput is an input type that accepts GetEndpointsEndpointAddressItemArgs and GetEndpointsEndpointAddressItemOutput values. You can construct a concrete instance of `GetEndpointsEndpointAddressItemInput` via:

GetEndpointsEndpointAddressItemArgs{...}

type GetEndpointsEndpointAddressItemOutput

type GetEndpointsEndpointAddressItemOutput struct{ *pulumi.OutputState }

func (GetEndpointsEndpointAddressItemOutput) ConnectionString

Connection instance string.

func (GetEndpointsEndpointAddressItemOutput) ElementType

func (GetEndpointsEndpointAddressItemOutput) IpAddress

The ip address of connection string.

func (GetEndpointsEndpointAddressItemOutput) NetType

IP network type:`Public` or `Private`.

func (GetEndpointsEndpointAddressItemOutput) Port

Intranet connection port.

func (GetEndpointsEndpointAddressItemOutput) ToGetEndpointsEndpointAddressItemOutput

func (o GetEndpointsEndpointAddressItemOutput) ToGetEndpointsEndpointAddressItemOutput() GetEndpointsEndpointAddressItemOutput

func (GetEndpointsEndpointAddressItemOutput) ToGetEndpointsEndpointAddressItemOutputWithContext

func (o GetEndpointsEndpointAddressItemOutput) ToGetEndpointsEndpointAddressItemOutputWithContext(ctx context.Context) GetEndpointsEndpointAddressItemOutput

func (GetEndpointsEndpointAddressItemOutput) VpcId

ID of the VPC the instance belongs to.

func (GetEndpointsEndpointAddressItemOutput) VswitchId

ID of the VSwitch the cluster belongs to.

type GetEndpointsEndpointArgs

type GetEndpointsEndpointArgs struct {
	// A list of endpoint addresses. Each element contains the following attributes.
	AddressItems GetEndpointsEndpointAddressItemArrayInput `pulumi:"addressItems"`
	// Whether the new node is automatically added to the default cluster address.Options are `Enable` and `Disable`.
	AutoAddNewNodes pulumi.StringInput `pulumi:"autoAddNewNodes"`
	// endpoint of the cluster.
	DbEndpointId pulumi.StringInput `pulumi:"dbEndpointId"`
	// The Endpoint configuration. `ConsistLevel`: session consistency level, value:`0`: final consistency,`1`: session consistency;`LoadBalanceStrategy`: load balancing strategy. Based on the automatic scheduling of load, the value is: `load`.
	EndpointConfig pulumi.StringInput `pulumi:"endpointConfig"`
	// Cluster address type.`Cluster`: the default address of the Cluster.`Primary`: Primary address.`Custom`: Custom cluster addresses.
	EndpointType pulumi.StringInput `pulumi:"endpointType"`
	// A list of nodes that connect to the address configuration.
	Nodes pulumi.StringInput `pulumi:"nodes"`
	// Read-write mode:`ReadWrite`: readable and writable (automatic read-write separation).`ReadOnly`: ReadOnly.
	ReadWriteMode pulumi.StringInput `pulumi:"readWriteMode"`
}

func (GetEndpointsEndpointArgs) ElementType

func (GetEndpointsEndpointArgs) ElementType() reflect.Type

func (GetEndpointsEndpointArgs) ToGetEndpointsEndpointOutput

func (i GetEndpointsEndpointArgs) ToGetEndpointsEndpointOutput() GetEndpointsEndpointOutput

func (GetEndpointsEndpointArgs) ToGetEndpointsEndpointOutputWithContext

func (i GetEndpointsEndpointArgs) ToGetEndpointsEndpointOutputWithContext(ctx context.Context) GetEndpointsEndpointOutput

type GetEndpointsEndpointArray

type GetEndpointsEndpointArray []GetEndpointsEndpointInput

func (GetEndpointsEndpointArray) ElementType

func (GetEndpointsEndpointArray) ElementType() reflect.Type

func (GetEndpointsEndpointArray) ToGetEndpointsEndpointArrayOutput

func (i GetEndpointsEndpointArray) ToGetEndpointsEndpointArrayOutput() GetEndpointsEndpointArrayOutput

func (GetEndpointsEndpointArray) ToGetEndpointsEndpointArrayOutputWithContext

func (i GetEndpointsEndpointArray) ToGetEndpointsEndpointArrayOutputWithContext(ctx context.Context) GetEndpointsEndpointArrayOutput

type GetEndpointsEndpointArrayInput

type GetEndpointsEndpointArrayInput interface {
	pulumi.Input

	ToGetEndpointsEndpointArrayOutput() GetEndpointsEndpointArrayOutput
	ToGetEndpointsEndpointArrayOutputWithContext(context.Context) GetEndpointsEndpointArrayOutput
}

GetEndpointsEndpointArrayInput is an input type that accepts GetEndpointsEndpointArray and GetEndpointsEndpointArrayOutput values. You can construct a concrete instance of `GetEndpointsEndpointArrayInput` via:

GetEndpointsEndpointArray{ GetEndpointsEndpointArgs{...} }

type GetEndpointsEndpointArrayOutput

type GetEndpointsEndpointArrayOutput struct{ *pulumi.OutputState }

func (GetEndpointsEndpointArrayOutput) ElementType

func (GetEndpointsEndpointArrayOutput) Index

func (GetEndpointsEndpointArrayOutput) ToGetEndpointsEndpointArrayOutput

func (o GetEndpointsEndpointArrayOutput) ToGetEndpointsEndpointArrayOutput() GetEndpointsEndpointArrayOutput

func (GetEndpointsEndpointArrayOutput) ToGetEndpointsEndpointArrayOutputWithContext

func (o GetEndpointsEndpointArrayOutput) ToGetEndpointsEndpointArrayOutputWithContext(ctx context.Context) GetEndpointsEndpointArrayOutput

type GetEndpointsEndpointInput

type GetEndpointsEndpointInput interface {
	pulumi.Input

	ToGetEndpointsEndpointOutput() GetEndpointsEndpointOutput
	ToGetEndpointsEndpointOutputWithContext(context.Context) GetEndpointsEndpointOutput
}

GetEndpointsEndpointInput is an input type that accepts GetEndpointsEndpointArgs and GetEndpointsEndpointOutput values. You can construct a concrete instance of `GetEndpointsEndpointInput` via:

GetEndpointsEndpointArgs{...}

type GetEndpointsEndpointOutput

type GetEndpointsEndpointOutput struct{ *pulumi.OutputState }

func (GetEndpointsEndpointOutput) AddressItems

A list of endpoint addresses. Each element contains the following attributes.

func (GetEndpointsEndpointOutput) AutoAddNewNodes

func (o GetEndpointsEndpointOutput) AutoAddNewNodes() pulumi.StringOutput

Whether the new node is automatically added to the default cluster address.Options are `Enable` and `Disable`.

func (GetEndpointsEndpointOutput) DbEndpointId

endpoint of the cluster.

func (GetEndpointsEndpointOutput) ElementType

func (GetEndpointsEndpointOutput) ElementType() reflect.Type

func (GetEndpointsEndpointOutput) EndpointConfig

func (o GetEndpointsEndpointOutput) EndpointConfig() pulumi.StringOutput

The Endpoint configuration. `ConsistLevel`: session consistency level, value:`0`: final consistency,`1`: session consistency;`LoadBalanceStrategy`: load balancing strategy. Based on the automatic scheduling of load, the value is: `load`.

func (GetEndpointsEndpointOutput) EndpointType

Cluster address type.`Cluster`: the default address of the Cluster.`Primary`: Primary address.`Custom`: Custom cluster addresses.

func (GetEndpointsEndpointOutput) Nodes

A list of nodes that connect to the address configuration.

func (GetEndpointsEndpointOutput) ReadWriteMode

Read-write mode:`ReadWrite`: readable and writable (automatic read-write separation).`ReadOnly`: ReadOnly.

func (GetEndpointsEndpointOutput) ToGetEndpointsEndpointOutput

func (o GetEndpointsEndpointOutput) ToGetEndpointsEndpointOutput() GetEndpointsEndpointOutput

func (GetEndpointsEndpointOutput) ToGetEndpointsEndpointOutputWithContext

func (o GetEndpointsEndpointOutput) ToGetEndpointsEndpointOutputWithContext(ctx context.Context) GetEndpointsEndpointOutput

type GetEndpointsOutputArgs

type GetEndpointsOutputArgs struct {
	// PolarDB cluster ID.
	DbClusterId pulumi.StringInput `pulumi:"dbClusterId"`
	// endpoint of the cluster.
	DbEndpointId pulumi.StringPtrInput `pulumi:"dbEndpointId"`
}

A collection of arguments for invoking getEndpoints.

func (GetEndpointsOutputArgs) ElementType

func (GetEndpointsOutputArgs) ElementType() reflect.Type

type GetEndpointsResult

type GetEndpointsResult struct {
	DbClusterId string `pulumi:"dbClusterId"`
	// The endpoint ID.
	DbEndpointId *string `pulumi:"dbEndpointId"`
	// A list of PolarDB cluster endpoints. Each element contains the following attributes:
	Endpoints []GetEndpointsEndpoint `pulumi:"endpoints"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
}

A collection of values returned by getEndpoints.

func GetEndpoints

func GetEndpoints(ctx *pulumi.Context, args *GetEndpointsArgs, opts ...pulumi.InvokeOption) (*GetEndpointsResult, error)

The `polardb.getEndpoints` data source provides a collection of PolarDB endpoints available in Alibaba Cloud account. Filters support regular expression for the cluster name, searches by clusterId, and other filters which are listed below.

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		polardbClustersDs, err := polardb.GetClusters(ctx, &polardb.GetClustersArgs{
			DescriptionRegex: pulumi.StringRef("pc-\\w+"),
			Status:           pulumi.StringRef("Running"),
		}, nil)
		if err != nil {
			return err
		}
		_default, err := polardb.GetEndpoints(ctx, &polardb.GetEndpointsArgs{
			DbClusterId: polardbClustersDs.Clusters[0].Id,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("endpoint", _default.Endpoints[0].DbEndpointId)
		return nil
	})
}

```

type GetEndpointsResultOutput

type GetEndpointsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getEndpoints.

func (GetEndpointsResultOutput) DbClusterId

func (GetEndpointsResultOutput) DbEndpointId

The endpoint ID.

func (GetEndpointsResultOutput) ElementType

func (GetEndpointsResultOutput) ElementType() reflect.Type

func (GetEndpointsResultOutput) Endpoints

A list of PolarDB cluster endpoints. Each element contains the following attributes:

func (GetEndpointsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetEndpointsResultOutput) ToGetEndpointsResultOutput

func (o GetEndpointsResultOutput) ToGetEndpointsResultOutput() GetEndpointsResultOutput

func (GetEndpointsResultOutput) ToGetEndpointsResultOutputWithContext

func (o GetEndpointsResultOutput) ToGetEndpointsResultOutputWithContext(ctx context.Context) GetEndpointsResultOutput

type GetGlobalDatabaseNetworksArgs

type GetGlobalDatabaseNetworksArgs struct {
	// The ID of the PolarDB cluster.
	DbClusterId *string `pulumi:"dbClusterId"`
	// The description of the Global Database Network.
	Description *string `pulumi:"description"`
	// The ID of the Global Database Network.
	GdnId *string `pulumi:"gdnId"`
	// A list of Global Database Network IDs.
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	PageNumber *int     `pulumi:"pageNumber"`
	PageSize   *int     `pulumi:"pageSize"`
	// The status of the Global Database Network.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getGlobalDatabaseNetworks.

type GetGlobalDatabaseNetworksNetwork

type GetGlobalDatabaseNetworksNetwork struct {
	// The time when the Global Database Network was created. The time is in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.
	CreateTime string `pulumi:"createTime"`
	// The details of each cluster in the Global Database Network.
	DbClusters []GetGlobalDatabaseNetworksNetworkDbCluster `pulumi:"dbClusters"`
	// The type of the database engine. Only MySQL is supported.
	DbType string `pulumi:"dbType"`
	// The version number of the database engine. Only the 8.0 version is supported.
	DbVersion string `pulumi:"dbVersion"`
	// The description of the Global Database Network.
	Description string `pulumi:"description"`
	// The ID of the Global Database Network.
	GdnId string `pulumi:"gdnId"`
	// The ID of the Global Database Network.
	Id string `pulumi:"id"`
	// The status of the Global Database Network.
	Status string `pulumi:"status"`
}

type GetGlobalDatabaseNetworksNetworkArgs

type GetGlobalDatabaseNetworksNetworkArgs struct {
	// The time when the Global Database Network was created. The time is in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The details of each cluster in the Global Database Network.
	DbClusters GetGlobalDatabaseNetworksNetworkDbClusterArrayInput `pulumi:"dbClusters"`
	// The type of the database engine. Only MySQL is supported.
	DbType pulumi.StringInput `pulumi:"dbType"`
	// The version number of the database engine. Only the 8.0 version is supported.
	DbVersion pulumi.StringInput `pulumi:"dbVersion"`
	// The description of the Global Database Network.
	Description pulumi.StringInput `pulumi:"description"`
	// The ID of the Global Database Network.
	GdnId pulumi.StringInput `pulumi:"gdnId"`
	// The ID of the Global Database Network.
	Id pulumi.StringInput `pulumi:"id"`
	// The status of the Global Database Network.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetGlobalDatabaseNetworksNetworkArgs) ElementType

func (GetGlobalDatabaseNetworksNetworkArgs) ToGetGlobalDatabaseNetworksNetworkOutput

func (i GetGlobalDatabaseNetworksNetworkArgs) ToGetGlobalDatabaseNetworksNetworkOutput() GetGlobalDatabaseNetworksNetworkOutput

func (GetGlobalDatabaseNetworksNetworkArgs) ToGetGlobalDatabaseNetworksNetworkOutputWithContext

func (i GetGlobalDatabaseNetworksNetworkArgs) ToGetGlobalDatabaseNetworksNetworkOutputWithContext(ctx context.Context) GetGlobalDatabaseNetworksNetworkOutput

type GetGlobalDatabaseNetworksNetworkArray

type GetGlobalDatabaseNetworksNetworkArray []GetGlobalDatabaseNetworksNetworkInput

func (GetGlobalDatabaseNetworksNetworkArray) ElementType

func (GetGlobalDatabaseNetworksNetworkArray) ToGetGlobalDatabaseNetworksNetworkArrayOutput

func (i GetGlobalDatabaseNetworksNetworkArray) ToGetGlobalDatabaseNetworksNetworkArrayOutput() GetGlobalDatabaseNetworksNetworkArrayOutput

func (GetGlobalDatabaseNetworksNetworkArray) ToGetGlobalDatabaseNetworksNetworkArrayOutputWithContext

func (i GetGlobalDatabaseNetworksNetworkArray) ToGetGlobalDatabaseNetworksNetworkArrayOutputWithContext(ctx context.Context) GetGlobalDatabaseNetworksNetworkArrayOutput

type GetGlobalDatabaseNetworksNetworkArrayInput

type GetGlobalDatabaseNetworksNetworkArrayInput interface {
	pulumi.Input

	ToGetGlobalDatabaseNetworksNetworkArrayOutput() GetGlobalDatabaseNetworksNetworkArrayOutput
	ToGetGlobalDatabaseNetworksNetworkArrayOutputWithContext(context.Context) GetGlobalDatabaseNetworksNetworkArrayOutput
}

GetGlobalDatabaseNetworksNetworkArrayInput is an input type that accepts GetGlobalDatabaseNetworksNetworkArray and GetGlobalDatabaseNetworksNetworkArrayOutput values. You can construct a concrete instance of `GetGlobalDatabaseNetworksNetworkArrayInput` via:

GetGlobalDatabaseNetworksNetworkArray{ GetGlobalDatabaseNetworksNetworkArgs{...} }

type GetGlobalDatabaseNetworksNetworkArrayOutput

type GetGlobalDatabaseNetworksNetworkArrayOutput struct{ *pulumi.OutputState }

func (GetGlobalDatabaseNetworksNetworkArrayOutput) ElementType

func (GetGlobalDatabaseNetworksNetworkArrayOutput) Index

func (GetGlobalDatabaseNetworksNetworkArrayOutput) ToGetGlobalDatabaseNetworksNetworkArrayOutput

func (o GetGlobalDatabaseNetworksNetworkArrayOutput) ToGetGlobalDatabaseNetworksNetworkArrayOutput() GetGlobalDatabaseNetworksNetworkArrayOutput

func (GetGlobalDatabaseNetworksNetworkArrayOutput) ToGetGlobalDatabaseNetworksNetworkArrayOutputWithContext

func (o GetGlobalDatabaseNetworksNetworkArrayOutput) ToGetGlobalDatabaseNetworksNetworkArrayOutputWithContext(ctx context.Context) GetGlobalDatabaseNetworksNetworkArrayOutput

type GetGlobalDatabaseNetworksNetworkDbCluster

type GetGlobalDatabaseNetworksNetworkDbCluster struct {
	// The ID of the PolarDB cluster.
	DbClusterId string `pulumi:"dbClusterId"`
	// The region ID of the cluster.
	RegionId string `pulumi:"regionId"`
	// The role of the cluster.
	Role string `pulumi:"role"`
}

type GetGlobalDatabaseNetworksNetworkDbClusterArgs

type GetGlobalDatabaseNetworksNetworkDbClusterArgs struct {
	// The ID of the PolarDB cluster.
	DbClusterId pulumi.StringInput `pulumi:"dbClusterId"`
	// The region ID of the cluster.
	RegionId pulumi.StringInput `pulumi:"regionId"`
	// The role of the cluster.
	Role pulumi.StringInput `pulumi:"role"`
}

func (GetGlobalDatabaseNetworksNetworkDbClusterArgs) ElementType

func (GetGlobalDatabaseNetworksNetworkDbClusterArgs) ToGetGlobalDatabaseNetworksNetworkDbClusterOutput

func (i GetGlobalDatabaseNetworksNetworkDbClusterArgs) ToGetGlobalDatabaseNetworksNetworkDbClusterOutput() GetGlobalDatabaseNetworksNetworkDbClusterOutput

func (GetGlobalDatabaseNetworksNetworkDbClusterArgs) ToGetGlobalDatabaseNetworksNetworkDbClusterOutputWithContext

func (i GetGlobalDatabaseNetworksNetworkDbClusterArgs) ToGetGlobalDatabaseNetworksNetworkDbClusterOutputWithContext(ctx context.Context) GetGlobalDatabaseNetworksNetworkDbClusterOutput

type GetGlobalDatabaseNetworksNetworkDbClusterArray

type GetGlobalDatabaseNetworksNetworkDbClusterArray []GetGlobalDatabaseNetworksNetworkDbClusterInput

func (GetGlobalDatabaseNetworksNetworkDbClusterArray) ElementType

func (GetGlobalDatabaseNetworksNetworkDbClusterArray) ToGetGlobalDatabaseNetworksNetworkDbClusterArrayOutput

func (i GetGlobalDatabaseNetworksNetworkDbClusterArray) ToGetGlobalDatabaseNetworksNetworkDbClusterArrayOutput() GetGlobalDatabaseNetworksNetworkDbClusterArrayOutput

func (GetGlobalDatabaseNetworksNetworkDbClusterArray) ToGetGlobalDatabaseNetworksNetworkDbClusterArrayOutputWithContext

func (i GetGlobalDatabaseNetworksNetworkDbClusterArray) ToGetGlobalDatabaseNetworksNetworkDbClusterArrayOutputWithContext(ctx context.Context) GetGlobalDatabaseNetworksNetworkDbClusterArrayOutput

type GetGlobalDatabaseNetworksNetworkDbClusterArrayInput

type GetGlobalDatabaseNetworksNetworkDbClusterArrayInput interface {
	pulumi.Input

	ToGetGlobalDatabaseNetworksNetworkDbClusterArrayOutput() GetGlobalDatabaseNetworksNetworkDbClusterArrayOutput
	ToGetGlobalDatabaseNetworksNetworkDbClusterArrayOutputWithContext(context.Context) GetGlobalDatabaseNetworksNetworkDbClusterArrayOutput
}

GetGlobalDatabaseNetworksNetworkDbClusterArrayInput is an input type that accepts GetGlobalDatabaseNetworksNetworkDbClusterArray and GetGlobalDatabaseNetworksNetworkDbClusterArrayOutput values. You can construct a concrete instance of `GetGlobalDatabaseNetworksNetworkDbClusterArrayInput` via:

GetGlobalDatabaseNetworksNetworkDbClusterArray{ GetGlobalDatabaseNetworksNetworkDbClusterArgs{...} }

type GetGlobalDatabaseNetworksNetworkDbClusterArrayOutput

type GetGlobalDatabaseNetworksNetworkDbClusterArrayOutput struct{ *pulumi.OutputState }

func (GetGlobalDatabaseNetworksNetworkDbClusterArrayOutput) ElementType

func (GetGlobalDatabaseNetworksNetworkDbClusterArrayOutput) Index

func (GetGlobalDatabaseNetworksNetworkDbClusterArrayOutput) ToGetGlobalDatabaseNetworksNetworkDbClusterArrayOutput

func (GetGlobalDatabaseNetworksNetworkDbClusterArrayOutput) ToGetGlobalDatabaseNetworksNetworkDbClusterArrayOutputWithContext

func (o GetGlobalDatabaseNetworksNetworkDbClusterArrayOutput) ToGetGlobalDatabaseNetworksNetworkDbClusterArrayOutputWithContext(ctx context.Context) GetGlobalDatabaseNetworksNetworkDbClusterArrayOutput

type GetGlobalDatabaseNetworksNetworkDbClusterInput

type GetGlobalDatabaseNetworksNetworkDbClusterInput interface {
	pulumi.Input

	ToGetGlobalDatabaseNetworksNetworkDbClusterOutput() GetGlobalDatabaseNetworksNetworkDbClusterOutput
	ToGetGlobalDatabaseNetworksNetworkDbClusterOutputWithContext(context.Context) GetGlobalDatabaseNetworksNetworkDbClusterOutput
}

GetGlobalDatabaseNetworksNetworkDbClusterInput is an input type that accepts GetGlobalDatabaseNetworksNetworkDbClusterArgs and GetGlobalDatabaseNetworksNetworkDbClusterOutput values. You can construct a concrete instance of `GetGlobalDatabaseNetworksNetworkDbClusterInput` via:

GetGlobalDatabaseNetworksNetworkDbClusterArgs{...}

type GetGlobalDatabaseNetworksNetworkDbClusterOutput

type GetGlobalDatabaseNetworksNetworkDbClusterOutput struct{ *pulumi.OutputState }

func (GetGlobalDatabaseNetworksNetworkDbClusterOutput) DbClusterId

The ID of the PolarDB cluster.

func (GetGlobalDatabaseNetworksNetworkDbClusterOutput) ElementType

func (GetGlobalDatabaseNetworksNetworkDbClusterOutput) RegionId

The region ID of the cluster.

func (GetGlobalDatabaseNetworksNetworkDbClusterOutput) Role

The role of the cluster.

func (GetGlobalDatabaseNetworksNetworkDbClusterOutput) ToGetGlobalDatabaseNetworksNetworkDbClusterOutput

func (o GetGlobalDatabaseNetworksNetworkDbClusterOutput) ToGetGlobalDatabaseNetworksNetworkDbClusterOutput() GetGlobalDatabaseNetworksNetworkDbClusterOutput

func (GetGlobalDatabaseNetworksNetworkDbClusterOutput) ToGetGlobalDatabaseNetworksNetworkDbClusterOutputWithContext

func (o GetGlobalDatabaseNetworksNetworkDbClusterOutput) ToGetGlobalDatabaseNetworksNetworkDbClusterOutputWithContext(ctx context.Context) GetGlobalDatabaseNetworksNetworkDbClusterOutput

type GetGlobalDatabaseNetworksNetworkInput

type GetGlobalDatabaseNetworksNetworkInput interface {
	pulumi.Input

	ToGetGlobalDatabaseNetworksNetworkOutput() GetGlobalDatabaseNetworksNetworkOutput
	ToGetGlobalDatabaseNetworksNetworkOutputWithContext(context.Context) GetGlobalDatabaseNetworksNetworkOutput
}

GetGlobalDatabaseNetworksNetworkInput is an input type that accepts GetGlobalDatabaseNetworksNetworkArgs and GetGlobalDatabaseNetworksNetworkOutput values. You can construct a concrete instance of `GetGlobalDatabaseNetworksNetworkInput` via:

GetGlobalDatabaseNetworksNetworkArgs{...}

type GetGlobalDatabaseNetworksNetworkOutput

type GetGlobalDatabaseNetworksNetworkOutput struct{ *pulumi.OutputState }

func (GetGlobalDatabaseNetworksNetworkOutput) CreateTime

The time when the Global Database Network was created. The time is in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.

func (GetGlobalDatabaseNetworksNetworkOutput) DbClusters

The details of each cluster in the Global Database Network.

func (GetGlobalDatabaseNetworksNetworkOutput) DbType

The type of the database engine. Only MySQL is supported.

func (GetGlobalDatabaseNetworksNetworkOutput) DbVersion

The version number of the database engine. Only the 8.0 version is supported.

func (GetGlobalDatabaseNetworksNetworkOutput) Description

The description of the Global Database Network.

func (GetGlobalDatabaseNetworksNetworkOutput) ElementType

func (GetGlobalDatabaseNetworksNetworkOutput) GdnId

The ID of the Global Database Network.

func (GetGlobalDatabaseNetworksNetworkOutput) Id

The ID of the Global Database Network.

func (GetGlobalDatabaseNetworksNetworkOutput) Status

The status of the Global Database Network.

func (GetGlobalDatabaseNetworksNetworkOutput) ToGetGlobalDatabaseNetworksNetworkOutput

func (o GetGlobalDatabaseNetworksNetworkOutput) ToGetGlobalDatabaseNetworksNetworkOutput() GetGlobalDatabaseNetworksNetworkOutput

func (GetGlobalDatabaseNetworksNetworkOutput) ToGetGlobalDatabaseNetworksNetworkOutputWithContext

func (o GetGlobalDatabaseNetworksNetworkOutput) ToGetGlobalDatabaseNetworksNetworkOutputWithContext(ctx context.Context) GetGlobalDatabaseNetworksNetworkOutput

type GetGlobalDatabaseNetworksOutputArgs

type GetGlobalDatabaseNetworksOutputArgs struct {
	// The ID of the PolarDB cluster.
	DbClusterId pulumi.StringPtrInput `pulumi:"dbClusterId"`
	// The description of the Global Database Network.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The ID of the Global Database Network.
	GdnId pulumi.StringPtrInput `pulumi:"gdnId"`
	// A list of Global Database Network IDs.
	Ids        pulumi.StringArrayInput `pulumi:"ids"`
	OutputFile pulumi.StringPtrInput   `pulumi:"outputFile"`
	PageNumber pulumi.IntPtrInput      `pulumi:"pageNumber"`
	PageSize   pulumi.IntPtrInput      `pulumi:"pageSize"`
	// The status of the Global Database Network.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getGlobalDatabaseNetworks.

func (GetGlobalDatabaseNetworksOutputArgs) ElementType

type GetGlobalDatabaseNetworksResult

type GetGlobalDatabaseNetworksResult struct {
	DbClusterId *string `pulumi:"dbClusterId"`
	Description *string `pulumi:"description"`
	GdnId       *string `pulumi:"gdnId"`
	// The provider-assigned unique ID for this managed resource.
	Id         string                             `pulumi:"id"`
	Ids        []string                           `pulumi:"ids"`
	Networks   []GetGlobalDatabaseNetworksNetwork `pulumi:"networks"`
	OutputFile *string                            `pulumi:"outputFile"`
	PageNumber *int                               `pulumi:"pageNumber"`
	PageSize   *int                               `pulumi:"pageSize"`
	Status     *string                            `pulumi:"status"`
}

A collection of values returned by getGlobalDatabaseNetworks.

func GetGlobalDatabaseNetworks

func GetGlobalDatabaseNetworks(ctx *pulumi.Context, args *GetGlobalDatabaseNetworksArgs, opts ...pulumi.InvokeOption) (*GetGlobalDatabaseNetworksResult, error)

This data source provides the PolarDB Global Database Networks of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := polardb.GetGlobalDatabaseNetworks(ctx, &polardb.GetGlobalDatabaseNetworksArgs{
			Ids: []string{
				"example_id",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("polardbGlobalDatabaseNetworkId1", ids.Networks[0].Id)
		description, err := polardb.GetGlobalDatabaseNetworks(ctx, &polardb.GetGlobalDatabaseNetworksArgs{
			Description: pulumi.StringRef("example_description"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("polardbGlobalDatabaseNetworkId2", description.Networks[0].Id)
		return nil
	})
}

```

type GetGlobalDatabaseNetworksResultOutput

type GetGlobalDatabaseNetworksResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGlobalDatabaseNetworks.

func (GetGlobalDatabaseNetworksResultOutput) DbClusterId

func (GetGlobalDatabaseNetworksResultOutput) Description

func (GetGlobalDatabaseNetworksResultOutput) ElementType

func (GetGlobalDatabaseNetworksResultOutput) GdnId

func (GetGlobalDatabaseNetworksResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetGlobalDatabaseNetworksResultOutput) Ids

func (GetGlobalDatabaseNetworksResultOutput) Networks

func (GetGlobalDatabaseNetworksResultOutput) OutputFile

func (GetGlobalDatabaseNetworksResultOutput) PageNumber

func (GetGlobalDatabaseNetworksResultOutput) PageSize

func (GetGlobalDatabaseNetworksResultOutput) Status

func (GetGlobalDatabaseNetworksResultOutput) ToGetGlobalDatabaseNetworksResultOutput

func (o GetGlobalDatabaseNetworksResultOutput) ToGetGlobalDatabaseNetworksResultOutput() GetGlobalDatabaseNetworksResultOutput

func (GetGlobalDatabaseNetworksResultOutput) ToGetGlobalDatabaseNetworksResultOutputWithContext

func (o GetGlobalDatabaseNetworksResultOutput) ToGetGlobalDatabaseNetworksResultOutputWithContext(ctx context.Context) GetGlobalDatabaseNetworksResultOutput

type GetNodeClassesArgs

type GetNodeClassesArgs struct {
	// The PolarDB node class type by the user.
	DbNodeClass *string `pulumi:"dbNodeClass"`
	// Database type. Options are `MySQL`, `PostgreSQL`, `Oracle`. If dbType is set, dbVersion also needs to be set.
	DbType *string `pulumi:"dbType"`
	// Database version required by the user. Value options can refer to the latest docs [detail info](https://www.alibabacloud.com/help/doc-detail/98169.htm) `DBVersion`. If dbVersion is set, dbType also needs to be set.
	DbVersion  *string `pulumi:"dbVersion"`
	OutputFile *string `pulumi:"outputFile"`
	// Filter the results by charge type. Valid values: `PrePaid` and `PostPaid`.
	PayType string `pulumi:"payType"`
	// The Region to launch the PolarDB cluster.
	RegionId *string `pulumi:"regionId"`
	// The Zone to launch the PolarDB cluster.
	ZoneId *string `pulumi:"zoneId"`
}

A collection of arguments for invoking getNodeClasses.

type GetNodeClassesClass

type GetNodeClassesClass struct {
	// A list of PolarDB node classes in the zone.
	SupportedEngines []GetNodeClassesClassSupportedEngine `pulumi:"supportedEngines"`
	// The Zone to launch the PolarDB cluster.
	ZoneId string `pulumi:"zoneId"`
}

type GetNodeClassesClassArgs

type GetNodeClassesClassArgs struct {
	// A list of PolarDB node classes in the zone.
	SupportedEngines GetNodeClassesClassSupportedEngineArrayInput `pulumi:"supportedEngines"`
	// The Zone to launch the PolarDB cluster.
	ZoneId pulumi.StringInput `pulumi:"zoneId"`
}

func (GetNodeClassesClassArgs) ElementType

func (GetNodeClassesClassArgs) ElementType() reflect.Type

func (GetNodeClassesClassArgs) ToGetNodeClassesClassOutput

func (i GetNodeClassesClassArgs) ToGetNodeClassesClassOutput() GetNodeClassesClassOutput

func (GetNodeClassesClassArgs) ToGetNodeClassesClassOutputWithContext

func (i GetNodeClassesClassArgs) ToGetNodeClassesClassOutputWithContext(ctx context.Context) GetNodeClassesClassOutput

type GetNodeClassesClassArray

type GetNodeClassesClassArray []GetNodeClassesClassInput

func (GetNodeClassesClassArray) ElementType

func (GetNodeClassesClassArray) ElementType() reflect.Type

func (GetNodeClassesClassArray) ToGetNodeClassesClassArrayOutput

func (i GetNodeClassesClassArray) ToGetNodeClassesClassArrayOutput() GetNodeClassesClassArrayOutput

func (GetNodeClassesClassArray) ToGetNodeClassesClassArrayOutputWithContext

func (i GetNodeClassesClassArray) ToGetNodeClassesClassArrayOutputWithContext(ctx context.Context) GetNodeClassesClassArrayOutput

type GetNodeClassesClassArrayInput

type GetNodeClassesClassArrayInput interface {
	pulumi.Input

	ToGetNodeClassesClassArrayOutput() GetNodeClassesClassArrayOutput
	ToGetNodeClassesClassArrayOutputWithContext(context.Context) GetNodeClassesClassArrayOutput
}

GetNodeClassesClassArrayInput is an input type that accepts GetNodeClassesClassArray and GetNodeClassesClassArrayOutput values. You can construct a concrete instance of `GetNodeClassesClassArrayInput` via:

GetNodeClassesClassArray{ GetNodeClassesClassArgs{...} }

type GetNodeClassesClassArrayOutput

type GetNodeClassesClassArrayOutput struct{ *pulumi.OutputState }

func (GetNodeClassesClassArrayOutput) ElementType

func (GetNodeClassesClassArrayOutput) Index

func (GetNodeClassesClassArrayOutput) ToGetNodeClassesClassArrayOutput

func (o GetNodeClassesClassArrayOutput) ToGetNodeClassesClassArrayOutput() GetNodeClassesClassArrayOutput

func (GetNodeClassesClassArrayOutput) ToGetNodeClassesClassArrayOutputWithContext

func (o GetNodeClassesClassArrayOutput) ToGetNodeClassesClassArrayOutputWithContext(ctx context.Context) GetNodeClassesClassArrayOutput

type GetNodeClassesClassInput

type GetNodeClassesClassInput interface {
	pulumi.Input

	ToGetNodeClassesClassOutput() GetNodeClassesClassOutput
	ToGetNodeClassesClassOutputWithContext(context.Context) GetNodeClassesClassOutput
}

GetNodeClassesClassInput is an input type that accepts GetNodeClassesClassArgs and GetNodeClassesClassOutput values. You can construct a concrete instance of `GetNodeClassesClassInput` via:

GetNodeClassesClassArgs{...}

type GetNodeClassesClassOutput

type GetNodeClassesClassOutput struct{ *pulumi.OutputState }

func (GetNodeClassesClassOutput) ElementType

func (GetNodeClassesClassOutput) ElementType() reflect.Type

func (GetNodeClassesClassOutput) SupportedEngines

A list of PolarDB node classes in the zone.

func (GetNodeClassesClassOutput) ToGetNodeClassesClassOutput

func (o GetNodeClassesClassOutput) ToGetNodeClassesClassOutput() GetNodeClassesClassOutput

func (GetNodeClassesClassOutput) ToGetNodeClassesClassOutputWithContext

func (o GetNodeClassesClassOutput) ToGetNodeClassesClassOutputWithContext(ctx context.Context) GetNodeClassesClassOutput

func (GetNodeClassesClassOutput) ZoneId

The Zone to launch the PolarDB cluster.

type GetNodeClassesClassSupportedEngine

type GetNodeClassesClassSupportedEngine struct {
	// A list of PolarDB node available classes.
	AvailableResources []GetNodeClassesClassSupportedEngineAvailableResource `pulumi:"availableResources"`
	// In the zone, the database type supports classes in the following available_resources.
	Engine string `pulumi:"engine"`
}

type GetNodeClassesClassSupportedEngineArgs

type GetNodeClassesClassSupportedEngineArgs struct {
	// A list of PolarDB node available classes.
	AvailableResources GetNodeClassesClassSupportedEngineAvailableResourceArrayInput `pulumi:"availableResources"`
	// In the zone, the database type supports classes in the following available_resources.
	Engine pulumi.StringInput `pulumi:"engine"`
}

func (GetNodeClassesClassSupportedEngineArgs) ElementType

func (GetNodeClassesClassSupportedEngineArgs) ToGetNodeClassesClassSupportedEngineOutput

func (i GetNodeClassesClassSupportedEngineArgs) ToGetNodeClassesClassSupportedEngineOutput() GetNodeClassesClassSupportedEngineOutput

func (GetNodeClassesClassSupportedEngineArgs) ToGetNodeClassesClassSupportedEngineOutputWithContext

func (i GetNodeClassesClassSupportedEngineArgs) ToGetNodeClassesClassSupportedEngineOutputWithContext(ctx context.Context) GetNodeClassesClassSupportedEngineOutput

type GetNodeClassesClassSupportedEngineArray

type GetNodeClassesClassSupportedEngineArray []GetNodeClassesClassSupportedEngineInput

func (GetNodeClassesClassSupportedEngineArray) ElementType

func (GetNodeClassesClassSupportedEngineArray) ToGetNodeClassesClassSupportedEngineArrayOutput

func (i GetNodeClassesClassSupportedEngineArray) ToGetNodeClassesClassSupportedEngineArrayOutput() GetNodeClassesClassSupportedEngineArrayOutput

func (GetNodeClassesClassSupportedEngineArray) ToGetNodeClassesClassSupportedEngineArrayOutputWithContext

func (i GetNodeClassesClassSupportedEngineArray) ToGetNodeClassesClassSupportedEngineArrayOutputWithContext(ctx context.Context) GetNodeClassesClassSupportedEngineArrayOutput

type GetNodeClassesClassSupportedEngineArrayInput

type GetNodeClassesClassSupportedEngineArrayInput interface {
	pulumi.Input

	ToGetNodeClassesClassSupportedEngineArrayOutput() GetNodeClassesClassSupportedEngineArrayOutput
	ToGetNodeClassesClassSupportedEngineArrayOutputWithContext(context.Context) GetNodeClassesClassSupportedEngineArrayOutput
}

GetNodeClassesClassSupportedEngineArrayInput is an input type that accepts GetNodeClassesClassSupportedEngineArray and GetNodeClassesClassSupportedEngineArrayOutput values. You can construct a concrete instance of `GetNodeClassesClassSupportedEngineArrayInput` via:

GetNodeClassesClassSupportedEngineArray{ GetNodeClassesClassSupportedEngineArgs{...} }

type GetNodeClassesClassSupportedEngineArrayOutput

type GetNodeClassesClassSupportedEngineArrayOutput struct{ *pulumi.OutputState }

func (GetNodeClassesClassSupportedEngineArrayOutput) ElementType

func (GetNodeClassesClassSupportedEngineArrayOutput) Index

func (GetNodeClassesClassSupportedEngineArrayOutput) ToGetNodeClassesClassSupportedEngineArrayOutput

func (o GetNodeClassesClassSupportedEngineArrayOutput) ToGetNodeClassesClassSupportedEngineArrayOutput() GetNodeClassesClassSupportedEngineArrayOutput

func (GetNodeClassesClassSupportedEngineArrayOutput) ToGetNodeClassesClassSupportedEngineArrayOutputWithContext

func (o GetNodeClassesClassSupportedEngineArrayOutput) ToGetNodeClassesClassSupportedEngineArrayOutputWithContext(ctx context.Context) GetNodeClassesClassSupportedEngineArrayOutput

type GetNodeClassesClassSupportedEngineAvailableResource

type GetNodeClassesClassSupportedEngineAvailableResource struct {
	// The PolarDB node class type by the user.
	DbNodeClass string `pulumi:"dbNodeClass"`
}

type GetNodeClassesClassSupportedEngineAvailableResourceArgs

type GetNodeClassesClassSupportedEngineAvailableResourceArgs struct {
	// The PolarDB node class type by the user.
	DbNodeClass pulumi.StringInput `pulumi:"dbNodeClass"`
}

func (GetNodeClassesClassSupportedEngineAvailableResourceArgs) ElementType

func (GetNodeClassesClassSupportedEngineAvailableResourceArgs) ToGetNodeClassesClassSupportedEngineAvailableResourceOutput

func (GetNodeClassesClassSupportedEngineAvailableResourceArgs) ToGetNodeClassesClassSupportedEngineAvailableResourceOutputWithContext

func (i GetNodeClassesClassSupportedEngineAvailableResourceArgs) ToGetNodeClassesClassSupportedEngineAvailableResourceOutputWithContext(ctx context.Context) GetNodeClassesClassSupportedEngineAvailableResourceOutput

type GetNodeClassesClassSupportedEngineAvailableResourceArray

type GetNodeClassesClassSupportedEngineAvailableResourceArray []GetNodeClassesClassSupportedEngineAvailableResourceInput

func (GetNodeClassesClassSupportedEngineAvailableResourceArray) ElementType

func (GetNodeClassesClassSupportedEngineAvailableResourceArray) ToGetNodeClassesClassSupportedEngineAvailableResourceArrayOutput

func (i GetNodeClassesClassSupportedEngineAvailableResourceArray) ToGetNodeClassesClassSupportedEngineAvailableResourceArrayOutput() GetNodeClassesClassSupportedEngineAvailableResourceArrayOutput

func (GetNodeClassesClassSupportedEngineAvailableResourceArray) ToGetNodeClassesClassSupportedEngineAvailableResourceArrayOutputWithContext

func (i GetNodeClassesClassSupportedEngineAvailableResourceArray) ToGetNodeClassesClassSupportedEngineAvailableResourceArrayOutputWithContext(ctx context.Context) GetNodeClassesClassSupportedEngineAvailableResourceArrayOutput

type GetNodeClassesClassSupportedEngineAvailableResourceArrayInput

type GetNodeClassesClassSupportedEngineAvailableResourceArrayInput interface {
	pulumi.Input

	ToGetNodeClassesClassSupportedEngineAvailableResourceArrayOutput() GetNodeClassesClassSupportedEngineAvailableResourceArrayOutput
	ToGetNodeClassesClassSupportedEngineAvailableResourceArrayOutputWithContext(context.Context) GetNodeClassesClassSupportedEngineAvailableResourceArrayOutput
}

GetNodeClassesClassSupportedEngineAvailableResourceArrayInput is an input type that accepts GetNodeClassesClassSupportedEngineAvailableResourceArray and GetNodeClassesClassSupportedEngineAvailableResourceArrayOutput values. You can construct a concrete instance of `GetNodeClassesClassSupportedEngineAvailableResourceArrayInput` via:

GetNodeClassesClassSupportedEngineAvailableResourceArray{ GetNodeClassesClassSupportedEngineAvailableResourceArgs{...} }

type GetNodeClassesClassSupportedEngineAvailableResourceArrayOutput

type GetNodeClassesClassSupportedEngineAvailableResourceArrayOutput struct{ *pulumi.OutputState }

func (GetNodeClassesClassSupportedEngineAvailableResourceArrayOutput) ElementType

func (GetNodeClassesClassSupportedEngineAvailableResourceArrayOutput) Index

func (GetNodeClassesClassSupportedEngineAvailableResourceArrayOutput) ToGetNodeClassesClassSupportedEngineAvailableResourceArrayOutput

func (GetNodeClassesClassSupportedEngineAvailableResourceArrayOutput) ToGetNodeClassesClassSupportedEngineAvailableResourceArrayOutputWithContext

func (o GetNodeClassesClassSupportedEngineAvailableResourceArrayOutput) ToGetNodeClassesClassSupportedEngineAvailableResourceArrayOutputWithContext(ctx context.Context) GetNodeClassesClassSupportedEngineAvailableResourceArrayOutput

type GetNodeClassesClassSupportedEngineAvailableResourceInput

type GetNodeClassesClassSupportedEngineAvailableResourceInput interface {
	pulumi.Input

	ToGetNodeClassesClassSupportedEngineAvailableResourceOutput() GetNodeClassesClassSupportedEngineAvailableResourceOutput
	ToGetNodeClassesClassSupportedEngineAvailableResourceOutputWithContext(context.Context) GetNodeClassesClassSupportedEngineAvailableResourceOutput
}

GetNodeClassesClassSupportedEngineAvailableResourceInput is an input type that accepts GetNodeClassesClassSupportedEngineAvailableResourceArgs and GetNodeClassesClassSupportedEngineAvailableResourceOutput values. You can construct a concrete instance of `GetNodeClassesClassSupportedEngineAvailableResourceInput` via:

GetNodeClassesClassSupportedEngineAvailableResourceArgs{...}

type GetNodeClassesClassSupportedEngineAvailableResourceOutput

type GetNodeClassesClassSupportedEngineAvailableResourceOutput struct{ *pulumi.OutputState }

func (GetNodeClassesClassSupportedEngineAvailableResourceOutput) DbNodeClass

The PolarDB node class type by the user.

func (GetNodeClassesClassSupportedEngineAvailableResourceOutput) ElementType

func (GetNodeClassesClassSupportedEngineAvailableResourceOutput) ToGetNodeClassesClassSupportedEngineAvailableResourceOutput

func (GetNodeClassesClassSupportedEngineAvailableResourceOutput) ToGetNodeClassesClassSupportedEngineAvailableResourceOutputWithContext

func (o GetNodeClassesClassSupportedEngineAvailableResourceOutput) ToGetNodeClassesClassSupportedEngineAvailableResourceOutputWithContext(ctx context.Context) GetNodeClassesClassSupportedEngineAvailableResourceOutput

type GetNodeClassesClassSupportedEngineInput

type GetNodeClassesClassSupportedEngineInput interface {
	pulumi.Input

	ToGetNodeClassesClassSupportedEngineOutput() GetNodeClassesClassSupportedEngineOutput
	ToGetNodeClassesClassSupportedEngineOutputWithContext(context.Context) GetNodeClassesClassSupportedEngineOutput
}

GetNodeClassesClassSupportedEngineInput is an input type that accepts GetNodeClassesClassSupportedEngineArgs and GetNodeClassesClassSupportedEngineOutput values. You can construct a concrete instance of `GetNodeClassesClassSupportedEngineInput` via:

GetNodeClassesClassSupportedEngineArgs{...}

type GetNodeClassesClassSupportedEngineOutput

type GetNodeClassesClassSupportedEngineOutput struct{ *pulumi.OutputState }

func (GetNodeClassesClassSupportedEngineOutput) AvailableResources

A list of PolarDB node available classes.

func (GetNodeClassesClassSupportedEngineOutput) ElementType

func (GetNodeClassesClassSupportedEngineOutput) Engine

In the zone, the database type supports classes in the following available_resources.

func (GetNodeClassesClassSupportedEngineOutput) ToGetNodeClassesClassSupportedEngineOutput

func (o GetNodeClassesClassSupportedEngineOutput) ToGetNodeClassesClassSupportedEngineOutput() GetNodeClassesClassSupportedEngineOutput

func (GetNodeClassesClassSupportedEngineOutput) ToGetNodeClassesClassSupportedEngineOutputWithContext

func (o GetNodeClassesClassSupportedEngineOutput) ToGetNodeClassesClassSupportedEngineOutputWithContext(ctx context.Context) GetNodeClassesClassSupportedEngineOutput

type GetNodeClassesOutputArgs

type GetNodeClassesOutputArgs struct {
	// The PolarDB node class type by the user.
	DbNodeClass pulumi.StringPtrInput `pulumi:"dbNodeClass"`
	// Database type. Options are `MySQL`, `PostgreSQL`, `Oracle`. If dbType is set, dbVersion also needs to be set.
	DbType pulumi.StringPtrInput `pulumi:"dbType"`
	// Database version required by the user. Value options can refer to the latest docs [detail info](https://www.alibabacloud.com/help/doc-detail/98169.htm) `DBVersion`. If dbVersion is set, dbType also needs to be set.
	DbVersion  pulumi.StringPtrInput `pulumi:"dbVersion"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// Filter the results by charge type. Valid values: `PrePaid` and `PostPaid`.
	PayType pulumi.StringInput `pulumi:"payType"`
	// The Region to launch the PolarDB cluster.
	RegionId pulumi.StringPtrInput `pulumi:"regionId"`
	// The Zone to launch the PolarDB cluster.
	ZoneId pulumi.StringPtrInput `pulumi:"zoneId"`
}

A collection of arguments for invoking getNodeClasses.

func (GetNodeClassesOutputArgs) ElementType

func (GetNodeClassesOutputArgs) ElementType() reflect.Type

type GetNodeClassesResult

type GetNodeClassesResult struct {
	// A list of PolarDB node classes. Each element contains the following attributes:
	Classes []GetNodeClassesClass `pulumi:"classes"`
	// PolarDB node available class.
	DbNodeClass *string `pulumi:"dbNodeClass"`
	DbType      *string `pulumi:"dbType"`
	DbVersion   *string `pulumi:"dbVersion"`
	// The provider-assigned unique ID for this managed resource.
	Id         string  `pulumi:"id"`
	OutputFile *string `pulumi:"outputFile"`
	PayType    string  `pulumi:"payType"`
	RegionId   *string `pulumi:"regionId"`
	// The Zone to launch the PolarDB cluster.
	ZoneId *string `pulumi:"zoneId"`
}

A collection of values returned by getNodeClasses.

func GetNodeClasses

func GetNodeClasses(ctx *pulumi.Context, args *GetNodeClassesArgs, opts ...pulumi.InvokeOption) (*GetNodeClassesResult, error)

This data source provides the PolarDB node classes resource available info of Alibaba Cloud.

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		resources, err := polardb.GetNodeClasses(ctx, &polardb.GetNodeClassesArgs{
			PayType:   "PostPaid",
			DbType:    pulumi.StringRef("MySQL"),
			DbVersion: pulumi.StringRef("5.6"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("polardbNodeClasses", resources.Classes)
		ctx.Export("polardbAvailableZoneId", resources.Classes[0].ZoneId)
		return nil
	})
}

```

type GetNodeClassesResultOutput

type GetNodeClassesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNodeClasses.

func (GetNodeClassesResultOutput) Classes

A list of PolarDB node classes. Each element contains the following attributes:

func (GetNodeClassesResultOutput) DbNodeClass

PolarDB node available class.

func (GetNodeClassesResultOutput) DbType

func (GetNodeClassesResultOutput) DbVersion

func (GetNodeClassesResultOutput) ElementType

func (GetNodeClassesResultOutput) ElementType() reflect.Type

func (GetNodeClassesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetNodeClassesResultOutput) OutputFile

func (GetNodeClassesResultOutput) PayType

func (GetNodeClassesResultOutput) RegionId

func (GetNodeClassesResultOutput) ToGetNodeClassesResultOutput

func (o GetNodeClassesResultOutput) ToGetNodeClassesResultOutput() GetNodeClassesResultOutput

func (GetNodeClassesResultOutput) ToGetNodeClassesResultOutputWithContext

func (o GetNodeClassesResultOutput) ToGetNodeClassesResultOutputWithContext(ctx context.Context) GetNodeClassesResultOutput

func (GetNodeClassesResultOutput) ZoneId

The Zone to launch the PolarDB cluster.

type GetZonesArgs

type GetZonesArgs struct {
	// Indicate whether the zones can be used in a multi AZ configuration. Default to `false`. Multi AZ is usually used to launch PolarDB instances.
	Multi      *bool   `pulumi:"multi"`
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getZones.

type GetZonesOutputArgs

type GetZonesOutputArgs struct {
	// Indicate whether the zones can be used in a multi AZ configuration. Default to `false`. Multi AZ is usually used to launch PolarDB instances.
	Multi      pulumi.BoolPtrInput   `pulumi:"multi"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getZones.

func (GetZonesOutputArgs) ElementType

func (GetZonesOutputArgs) ElementType() reflect.Type

type GetZonesResult

type GetZonesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of zone IDs.
	Ids        []string `pulumi:"ids"`
	Multi      *bool    `pulumi:"multi"`
	OutputFile *string  `pulumi:"outputFile"`
	// A list of availability zones. Each element contains the following attributes:
	Zones []GetZonesZone `pulumi:"zones"`
}

A collection of values returned by getZones.

func GetZones

func GetZones(ctx *pulumi.Context, args *GetZonesArgs, opts ...pulumi.InvokeOption) (*GetZonesResult, error)

This data source provides availability zones for PolarDB that can be accessed by an Alibaba Cloud account within the region configured in the provider.

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := polardb.GetZones(ctx, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetZonesResultOutput

type GetZonesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getZones.

func (GetZonesResultOutput) ElementType

func (GetZonesResultOutput) ElementType() reflect.Type

func (GetZonesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetZonesResultOutput) Ids

A list of zone IDs.

func (GetZonesResultOutput) Multi

func (GetZonesResultOutput) OutputFile

func (GetZonesResultOutput) ToGetZonesResultOutput

func (o GetZonesResultOutput) ToGetZonesResultOutput() GetZonesResultOutput

func (GetZonesResultOutput) ToGetZonesResultOutputWithContext

func (o GetZonesResultOutput) ToGetZonesResultOutputWithContext(ctx context.Context) GetZonesResultOutput

func (GetZonesResultOutput) Zones

A list of availability zones. Each element contains the following attributes:

type GetZonesZone

type GetZonesZone struct {
	// ID of the zone.
	Id string `pulumi:"id"`
	// A list of zone ids in which the multi zone.
	MultiZoneIds []string `pulumi:"multiZoneIds"`
}

type GetZonesZoneArgs

type GetZonesZoneArgs struct {
	// ID of the zone.
	Id pulumi.StringInput `pulumi:"id"`
	// A list of zone ids in which the multi zone.
	MultiZoneIds pulumi.StringArrayInput `pulumi:"multiZoneIds"`
}

func (GetZonesZoneArgs) ElementType

func (GetZonesZoneArgs) ElementType() reflect.Type

func (GetZonesZoneArgs) ToGetZonesZoneOutput

func (i GetZonesZoneArgs) ToGetZonesZoneOutput() GetZonesZoneOutput

func (GetZonesZoneArgs) ToGetZonesZoneOutputWithContext

func (i GetZonesZoneArgs) ToGetZonesZoneOutputWithContext(ctx context.Context) GetZonesZoneOutput

type GetZonesZoneArray

type GetZonesZoneArray []GetZonesZoneInput

func (GetZonesZoneArray) ElementType

func (GetZonesZoneArray) ElementType() reflect.Type

func (GetZonesZoneArray) ToGetZonesZoneArrayOutput

func (i GetZonesZoneArray) ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput

func (GetZonesZoneArray) ToGetZonesZoneArrayOutputWithContext

func (i GetZonesZoneArray) ToGetZonesZoneArrayOutputWithContext(ctx context.Context) GetZonesZoneArrayOutput

type GetZonesZoneArrayInput

type GetZonesZoneArrayInput interface {
	pulumi.Input

	ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput
	ToGetZonesZoneArrayOutputWithContext(context.Context) GetZonesZoneArrayOutput
}

GetZonesZoneArrayInput is an input type that accepts GetZonesZoneArray and GetZonesZoneArrayOutput values. You can construct a concrete instance of `GetZonesZoneArrayInput` via:

GetZonesZoneArray{ GetZonesZoneArgs{...} }

type GetZonesZoneArrayOutput

type GetZonesZoneArrayOutput struct{ *pulumi.OutputState }

func (GetZonesZoneArrayOutput) ElementType

func (GetZonesZoneArrayOutput) ElementType() reflect.Type

func (GetZonesZoneArrayOutput) Index

func (GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutput

func (o GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput

func (GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutputWithContext

func (o GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutputWithContext(ctx context.Context) GetZonesZoneArrayOutput

type GetZonesZoneInput

type GetZonesZoneInput interface {
	pulumi.Input

	ToGetZonesZoneOutput() GetZonesZoneOutput
	ToGetZonesZoneOutputWithContext(context.Context) GetZonesZoneOutput
}

GetZonesZoneInput is an input type that accepts GetZonesZoneArgs and GetZonesZoneOutput values. You can construct a concrete instance of `GetZonesZoneInput` via:

GetZonesZoneArgs{...}

type GetZonesZoneOutput

type GetZonesZoneOutput struct{ *pulumi.OutputState }

func (GetZonesZoneOutput) ElementType

func (GetZonesZoneOutput) ElementType() reflect.Type

func (GetZonesZoneOutput) Id

ID of the zone.

func (GetZonesZoneOutput) MultiZoneIds

func (o GetZonesZoneOutput) MultiZoneIds() pulumi.StringArrayOutput

A list of zone ids in which the multi zone.

func (GetZonesZoneOutput) ToGetZonesZoneOutput

func (o GetZonesZoneOutput) ToGetZonesZoneOutput() GetZonesZoneOutput

func (GetZonesZoneOutput) ToGetZonesZoneOutputWithContext

func (o GetZonesZoneOutput) ToGetZonesZoneOutputWithContext(ctx context.Context) GetZonesZoneOutput

type GlobalDatabaseNetwork

type GlobalDatabaseNetwork struct {
	pulumi.CustomResourceState

	// The ID of the primary cluster.
	DbClusterId pulumi.StringOutput `pulumi:"dbClusterId"`
	// The description of the Global Database Network.
	Description pulumi.StringOutput `pulumi:"description"`
	// The status of the Global Database Network.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a PolarDB Global Database Network resource.

For information about PolarDB Global Database Network and how to use it, see [What is Global Database Network](https://www.alibabacloud.com/help/en/polardb-for-mysql/latest/createglobaldatabasenetwork).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("default-NODELETING"),
		}, nil)
		if err != nil {
			return err
		}
		defaultSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			VpcId: pulumi.StringRef(defaultNetworks.Ids[0]),
		}, nil)
		if err != nil {
			return err
		}
		defaultNodeClasses, err := polardb.GetNodeClasses(ctx, &polardb.GetNodeClassesArgs{
			ZoneId:    pulumi.StringRef(defaultSwitches.Vswitches[0].ZoneId),
			PayType:   "PostPaid",
			DbType:    pulumi.StringRef("MySQL"),
			DbVersion: pulumi.StringRef("8.0"),
		}, nil)
		if err != nil {
			return err
		}
		defaultCluster, err := polardb.NewCluster(ctx, "defaultCluster", &polardb.ClusterArgs{
			DbType:      pulumi.String("MySQL"),
			DbVersion:   pulumi.String("8.0"),
			PayType:     pulumi.String("PostPaid"),
			DbNodeClass: pulumi.String(defaultNodeClasses.Classes[0].SupportedEngines[0].AvailableResources[0].DbNodeClass),
			VswitchId:   pulumi.String(defaultSwitches.Ids[0]),
			Description: pulumi.String("example_value"),
		})
		if err != nil {
			return err
		}
		_, err = polardb.NewGlobalDatabaseNetwork(ctx, "defaultGlobalDatabaseNetwork", &polardb.GlobalDatabaseNetworkArgs{
			DbClusterId: defaultCluster.ID(),
			Description: pulumi.String("example_value"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

PolarDB Global Database Network can be imported using the id, e.g.

```sh

$ pulumi import alicloud:polardb/globalDatabaseNetwork:GlobalDatabaseNetwork example <id>

```

func GetGlobalDatabaseNetwork

func GetGlobalDatabaseNetwork(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GlobalDatabaseNetworkState, opts ...pulumi.ResourceOption) (*GlobalDatabaseNetwork, error)

GetGlobalDatabaseNetwork gets an existing GlobalDatabaseNetwork 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 NewGlobalDatabaseNetwork

func NewGlobalDatabaseNetwork(ctx *pulumi.Context,
	name string, args *GlobalDatabaseNetworkArgs, opts ...pulumi.ResourceOption) (*GlobalDatabaseNetwork, error)

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

func (*GlobalDatabaseNetwork) ElementType

func (*GlobalDatabaseNetwork) ElementType() reflect.Type

func (*GlobalDatabaseNetwork) ToGlobalDatabaseNetworkOutput

func (i *GlobalDatabaseNetwork) ToGlobalDatabaseNetworkOutput() GlobalDatabaseNetworkOutput

func (*GlobalDatabaseNetwork) ToGlobalDatabaseNetworkOutputWithContext

func (i *GlobalDatabaseNetwork) ToGlobalDatabaseNetworkOutputWithContext(ctx context.Context) GlobalDatabaseNetworkOutput

type GlobalDatabaseNetworkArgs

type GlobalDatabaseNetworkArgs struct {
	// The ID of the primary cluster.
	DbClusterId pulumi.StringInput
	// The description of the Global Database Network.
	Description pulumi.StringPtrInput
}

The set of arguments for constructing a GlobalDatabaseNetwork resource.

func (GlobalDatabaseNetworkArgs) ElementType

func (GlobalDatabaseNetworkArgs) ElementType() reflect.Type

type GlobalDatabaseNetworkArray

type GlobalDatabaseNetworkArray []GlobalDatabaseNetworkInput

func (GlobalDatabaseNetworkArray) ElementType

func (GlobalDatabaseNetworkArray) ElementType() reflect.Type

func (GlobalDatabaseNetworkArray) ToGlobalDatabaseNetworkArrayOutput

func (i GlobalDatabaseNetworkArray) ToGlobalDatabaseNetworkArrayOutput() GlobalDatabaseNetworkArrayOutput

func (GlobalDatabaseNetworkArray) ToGlobalDatabaseNetworkArrayOutputWithContext

func (i GlobalDatabaseNetworkArray) ToGlobalDatabaseNetworkArrayOutputWithContext(ctx context.Context) GlobalDatabaseNetworkArrayOutput

type GlobalDatabaseNetworkArrayInput

type GlobalDatabaseNetworkArrayInput interface {
	pulumi.Input

	ToGlobalDatabaseNetworkArrayOutput() GlobalDatabaseNetworkArrayOutput
	ToGlobalDatabaseNetworkArrayOutputWithContext(context.Context) GlobalDatabaseNetworkArrayOutput
}

GlobalDatabaseNetworkArrayInput is an input type that accepts GlobalDatabaseNetworkArray and GlobalDatabaseNetworkArrayOutput values. You can construct a concrete instance of `GlobalDatabaseNetworkArrayInput` via:

GlobalDatabaseNetworkArray{ GlobalDatabaseNetworkArgs{...} }

type GlobalDatabaseNetworkArrayOutput

type GlobalDatabaseNetworkArrayOutput struct{ *pulumi.OutputState }

func (GlobalDatabaseNetworkArrayOutput) ElementType

func (GlobalDatabaseNetworkArrayOutput) Index

func (GlobalDatabaseNetworkArrayOutput) ToGlobalDatabaseNetworkArrayOutput

func (o GlobalDatabaseNetworkArrayOutput) ToGlobalDatabaseNetworkArrayOutput() GlobalDatabaseNetworkArrayOutput

func (GlobalDatabaseNetworkArrayOutput) ToGlobalDatabaseNetworkArrayOutputWithContext

func (o GlobalDatabaseNetworkArrayOutput) ToGlobalDatabaseNetworkArrayOutputWithContext(ctx context.Context) GlobalDatabaseNetworkArrayOutput

type GlobalDatabaseNetworkInput

type GlobalDatabaseNetworkInput interface {
	pulumi.Input

	ToGlobalDatabaseNetworkOutput() GlobalDatabaseNetworkOutput
	ToGlobalDatabaseNetworkOutputWithContext(ctx context.Context) GlobalDatabaseNetworkOutput
}

type GlobalDatabaseNetworkMap

type GlobalDatabaseNetworkMap map[string]GlobalDatabaseNetworkInput

func (GlobalDatabaseNetworkMap) ElementType

func (GlobalDatabaseNetworkMap) ElementType() reflect.Type

func (GlobalDatabaseNetworkMap) ToGlobalDatabaseNetworkMapOutput

func (i GlobalDatabaseNetworkMap) ToGlobalDatabaseNetworkMapOutput() GlobalDatabaseNetworkMapOutput

func (GlobalDatabaseNetworkMap) ToGlobalDatabaseNetworkMapOutputWithContext

func (i GlobalDatabaseNetworkMap) ToGlobalDatabaseNetworkMapOutputWithContext(ctx context.Context) GlobalDatabaseNetworkMapOutput

type GlobalDatabaseNetworkMapInput

type GlobalDatabaseNetworkMapInput interface {
	pulumi.Input

	ToGlobalDatabaseNetworkMapOutput() GlobalDatabaseNetworkMapOutput
	ToGlobalDatabaseNetworkMapOutputWithContext(context.Context) GlobalDatabaseNetworkMapOutput
}

GlobalDatabaseNetworkMapInput is an input type that accepts GlobalDatabaseNetworkMap and GlobalDatabaseNetworkMapOutput values. You can construct a concrete instance of `GlobalDatabaseNetworkMapInput` via:

GlobalDatabaseNetworkMap{ "key": GlobalDatabaseNetworkArgs{...} }

type GlobalDatabaseNetworkMapOutput

type GlobalDatabaseNetworkMapOutput struct{ *pulumi.OutputState }

func (GlobalDatabaseNetworkMapOutput) ElementType

func (GlobalDatabaseNetworkMapOutput) MapIndex

func (GlobalDatabaseNetworkMapOutput) ToGlobalDatabaseNetworkMapOutput

func (o GlobalDatabaseNetworkMapOutput) ToGlobalDatabaseNetworkMapOutput() GlobalDatabaseNetworkMapOutput

func (GlobalDatabaseNetworkMapOutput) ToGlobalDatabaseNetworkMapOutputWithContext

func (o GlobalDatabaseNetworkMapOutput) ToGlobalDatabaseNetworkMapOutputWithContext(ctx context.Context) GlobalDatabaseNetworkMapOutput

type GlobalDatabaseNetworkOutput

type GlobalDatabaseNetworkOutput struct{ *pulumi.OutputState }

func (GlobalDatabaseNetworkOutput) DbClusterId

The ID of the primary cluster.

func (GlobalDatabaseNetworkOutput) Description

The description of the Global Database Network.

func (GlobalDatabaseNetworkOutput) ElementType

func (GlobalDatabaseNetworkOutput) Status

The status of the Global Database Network.

func (GlobalDatabaseNetworkOutput) ToGlobalDatabaseNetworkOutput

func (o GlobalDatabaseNetworkOutput) ToGlobalDatabaseNetworkOutput() GlobalDatabaseNetworkOutput

func (GlobalDatabaseNetworkOutput) ToGlobalDatabaseNetworkOutputWithContext

func (o GlobalDatabaseNetworkOutput) ToGlobalDatabaseNetworkOutputWithContext(ctx context.Context) GlobalDatabaseNetworkOutput

type GlobalDatabaseNetworkState

type GlobalDatabaseNetworkState struct {
	// The ID of the primary cluster.
	DbClusterId pulumi.StringPtrInput
	// The description of the Global Database Network.
	Description pulumi.StringPtrInput
	// The status of the Global Database Network.
	Status pulumi.StringPtrInput
}

func (GlobalDatabaseNetworkState) ElementType

func (GlobalDatabaseNetworkState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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